@envive-ai/react-hooks 0.1.3 → 0.1.4

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 (428) 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 +37 -757
  36. package/dist/application/service/index.d.cts +14 -22
  37. package/dist/application/service/index.d.ts +14 -22
  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 +13 -13
  41. package/dist/application/utils/index.d.ts +12 -12
  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/atoms/app/index.cjs +16 -16
  46. package/dist/atoms/app/index.d.cts +11 -11
  47. package/dist/atoms/app/index.d.ts +12 -12
  48. package/dist/atoms/app/index.js +10 -10
  49. package/dist/atoms/atomStore/index.cjs +1 -2
  50. package/dist/atoms/atomStore/index.d.cts +2 -1
  51. package/dist/atoms/atomStore/index.d.ts +2 -1
  52. package/dist/atoms/atomStore/index.js +1 -2
  53. package/dist/atoms/chat/index.cjs +40 -40
  54. package/dist/atoms/chat/index.d.cts +37 -37
  55. package/dist/atoms/chat/index.d.ts +38 -38
  56. package/dist/atoms/chat/index.js +10 -10
  57. package/dist/atoms/globalSearch/index.cjs +1 -1
  58. package/dist/atoms/globalSearch/index.d.cts +7 -6
  59. package/dist/atoms/globalSearch/index.d.ts +7 -6
  60. package/dist/atoms/globalSearch/index.js +1 -1
  61. package/dist/atoms/org/index.cjs +37 -40
  62. package/dist/atoms/org/index.d.cts +32 -53
  63. package/dist/atoms/org/index.d.ts +31 -52
  64. package/dist/atoms/org/index.js +11 -12
  65. package/dist/atoms/search/index.cjs +41 -43
  66. package/dist/atoms/search/index.d.cts +9 -10
  67. package/dist/atoms/search/index.d.ts +9 -10
  68. package/dist/atoms/search/index.js +10 -12
  69. package/dist/bandolier-B76-OE75.cjs +1230 -0
  70. package/dist/bandolier-DRn_x1g1.js +1230 -0
  71. package/dist/carpe-kHi4RLB5.cjs +608 -0
  72. package/dist/carpe-qrSU99gq.js +606 -0
  73. package/dist/{chat-CCgyDehy.cjs → chat-BgONoYU7.cjs} +2 -1
  74. package/dist/chat-CLJ4NWcN.js +26 -0
  75. package/dist/{components-CScS7Ii-.cjs → components-BKZbet67.cjs} +2 -1
  76. package/dist/components-CV1fhAkj.js +11 -0
  77. package/dist/config/locators/components/chat/index.cjs +1 -1
  78. package/dist/config/locators/components/chat/index.d.cts +1 -1
  79. package/dist/config/locators/components/chat/index.d.ts +1 -1
  80. package/dist/config/locators/components/chat/index.js +1 -1
  81. package/dist/config/locators/components/chat/variants/index.cjs +2 -1
  82. package/dist/config/locators/components/chat/variants/index.d.cts +2 -1
  83. package/dist/config/locators/components/chat/variants/index.d.ts +2 -1
  84. package/dist/config/locators/components/chat/variants/index.js +2 -1
  85. package/dist/config/locators/components/index.cjs +1 -1
  86. package/dist/config/locators/components/index.d.cts +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 +4 -3
  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 +38 -19
  99. package/dist/contexts/index.d.ts +41 -22
  100. package/dist/contexts/index.js +11 -17
  101. package/dist/contexts-CQDwe3rK.cjs +14333 -0
  102. package/dist/contexts-e2sM-B9g.js +12919 -0
  103. package/dist/coterie-mMirPcHP.js +240 -0
  104. package/dist/coterie-yQ-_JXSw.cjs +240 -0
  105. package/dist/customerService-BG1uNZZ1.cjs +36 -0
  106. package/dist/customerService-BHQRnLhC.js +23 -0
  107. package/dist/custservice-types-C83itZmy.cjs +35 -0
  108. package/dist/custservice-types-DPQ-4TI6.js +23 -0
  109. package/dist/default-8Jfv8ehQ.cjs +199 -0
  110. package/dist/default-C8PQf-38.js +176 -0
  111. package/dist/default-LukSiCz1.js +4 -0
  112. package/dist/default-rJSJ887P.cjs +4 -0
  113. package/dist/divIds-CWkntTsx.js +23 -0
  114. package/dist/{divIds-CFyAjjp3.cjs → divIds-DEL_-qU0.cjs} +2 -1
  115. package/dist/dreamlandBaby-DHltv12Z.cjs +347 -0
  116. package/dist/dreamlandBaby-cG0HM9bt.js +347 -0
  117. package/dist/{embedded-BlXJUbik.cjs → embedded--2L0F4b5.cjs} +2 -1
  118. package/dist/embedded-C5uJqmuD.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-Cvnwh03g.cjs +614 -0
  130. package/dist/fiveCbd-DhYMlsf9.js +614 -0
  131. package/dist/forLoveAndLemons-C8DuUexW.js +666 -0
  132. package/dist/forLoveAndLemons-DR6a1zjJ.cjs +668 -0
  133. package/dist/{globalSearch-hxbXekus.cjs → globalSearch-BTeZxvk1.cjs} +2 -1
  134. package/dist/globalSearch-b0wC7ZEO.js +14 -0
  135. package/dist/greenpan-B4Pu65kV.js +398 -0
  136. package/dist/greenpan-BL5p6j7f.cjs +398 -0
  137. package/dist/grooveLife-DjKWHoN3.cjs +343 -0
  138. package/dist/grooveLife-JK0TyaPz.js +343 -0
  139. package/dist/homegrownCannabis-DxqSDkmS.js +411 -0
  140. package/dist/homegrownCannabis-ZnfCqW-m.cjs +411 -0
  141. package/dist/hooks/index.cjs +38 -38
  142. package/dist/hooks/index.d.cts +25 -16
  143. package/dist/hooks/index.d.ts +30 -21
  144. package/dist/hooks/index.js +11 -17
  145. package/dist/index-BTK5uzs6.d.cts +98 -0
  146. package/dist/index-BfuO9b0Q.d.ts +749 -0
  147. package/dist/index-BzgkfbNO.d.cts +228 -0
  148. package/dist/index-C62lPpy4.d.cts +25 -0
  149. package/dist/index-CExtydIH.d.ts +9 -0
  150. package/dist/index-CKKkTsms.d.ts +39 -0
  151. package/dist/index-CNsGWfS6.d.cts +749 -0
  152. package/dist/index-CYtsPztZ.d.cts +203 -0
  153. package/dist/index-C_C0tLeD.d.ts +203 -0
  154. package/dist/index-ClJ0nMsR.d.cts +184 -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-DPx8s5YH.d.ts +25 -0
  160. package/dist/index-Dxpscrvz.d.ts +228 -0
  161. package/dist/index-MFbPQ8Ji.d.ts +95 -0
  162. package/dist/index-VSFakgAI.d.cts +95 -0
  163. package/dist/index-jBATkcc_.d.cts +9 -0
  164. package/dist/index-zZjcds15.d.cts +7 -0
  165. package/dist/interceptors/index.cjs +12 -13
  166. package/dist/interceptors/index.d.cts +10 -10
  167. package/dist/interceptors/index.d.ts +10 -10
  168. package/dist/interceptors/index.js +10 -11
  169. package/dist/jackArcher-CXf_IAmC.js +728 -0
  170. package/dist/jackArcher-mGkojXek.cjs +728 -0
  171. package/dist/jordanCraig-BvCvPRoR.js +1787 -0
  172. package/dist/jordanCraig-Dv8pVCiS.cjs +1787 -0
  173. package/dist/kindredBravely-UQP7wiNu.cjs +491 -0
  174. package/dist/kindredBravely-X8F_LNph.js +491 -0
  175. package/dist/kutFromTheKloth-BhYKk3CN.cjs +370 -0
  176. package/dist/kutFromTheKloth-D1xsTSJr.js +370 -0
  177. package/dist/larryAndSerges-1411NuZa.cjs +262 -0
  178. package/dist/larryAndSerges-DVIRLItu.js +262 -0
  179. package/dist/leapsAndRebounds-BJ8mwr33.js +361 -0
  180. package/dist/leapsAndRebounds-UcP9EJVO.cjs +361 -0
  181. package/dist/logger-Dln20ans.cjs +26 -0
  182. package/dist/logger-pdEEY8T2.js +20 -0
  183. package/dist/longevityrx-BFSv9GF5.cjs +321 -0
  184. package/dist/longevityrx-Cp6wleWr.js +321 -0
  185. package/dist/lookOptic-BGhU4910.js +283 -0
  186. package/dist/lookOptic-KieSqskd.cjs +283 -0
  187. package/dist/mantraBrand-CHQw-0nw.cjs +751 -0
  188. package/dist/mantraBrand-DrqG9uqO.js +751 -0
  189. package/dist/medterra-CLG6Co1C.cjs +584 -0
  190. package/dist/medterra-D8ZX9NZC.js +584 -0
  191. package/dist/modells-BzyPwN2m.cjs +485 -0
  192. package/dist/modells-CAfqOCW4.js +485 -0
  193. package/dist/nodeSelector-B3bPtEjX.d.cts +31 -0
  194. package/dist/nodeSelector-BiCDowlK.d.ts +31 -0
  195. package/dist/orgConfigResults--dAwtw3W.d.ts +881 -0
  196. package/dist/orgConfigResults-BL0XBA6x.d.cts +881 -0
  197. package/dist/pressedFloral-DULBuQwR.cjs +662 -0
  198. package/dist/pressedFloral-Dp-7Fk3S.js +662 -0
  199. package/dist/search-filter-types-BNTLVXqQ.d.cts +102 -0
  200. package/dist/search-filter-types-DkmH1TxJ.d.ts +102 -0
  201. package/dist/skinPerfection-BxuYCeJX.js +335 -0
  202. package/dist/skinPerfection-Cd3XZ6By.cjs +335 -0
  203. package/dist/snapSupplements-Bf6htPM0.js +286 -0
  204. package/dist/snapSupplements-ZFnXyMuZ.cjs +286 -0
  205. package/dist/socialProofClasses-DdzG1tZy.js +10 -0
  206. package/dist/socialProofClasses-ky69yppk.cjs +40 -0
  207. package/dist/spanx-CwDPQaGj.js +662 -0
  208. package/dist/spanx-Cyd4qDlK.cjs +664 -0
  209. package/dist/spanxStaging-D43nyAGy.js +846 -0
  210. package/dist/spanxStaging-ijbYnHzr.cjs +849 -0
  211. package/dist/suggestionBarV2-types-CwOXzIKq.js +10 -0
  212. package/dist/{suggestionBarV2-types-DG3Ekk44.cjs → suggestionBarV2-types-Dc4-zJlV.cjs} +2 -1
  213. package/dist/supergoop-BnbFG7hm.cjs +338 -0
  214. package/dist/supergoop-CY043wIg.js +336 -0
  215. package/dist/test-types-CXVJxTeu.d.ts +40 -0
  216. package/dist/test-types-CuOq25VT.d.cts +40 -0
  217. package/dist/types/index.cjs +2 -2
  218. package/dist/types/index.d.cts +2 -2
  219. package/dist/types/index.d.ts +2 -2
  220. package/dist/types/index.js +2 -2
  221. package/dist/types-BF_CJeck.js +177 -0
  222. package/dist/types-CD4LFta-.d.cts +33 -0
  223. package/dist/types-CNH4sfF-.cjs +231 -0
  224. package/dist/types-DBdI0j89.d.ts +33 -0
  225. package/dist/uniqueVintage-Cui74mlJ.js +1212 -0
  226. package/dist/uniqueVintage-R2Jcu1y1.cjs +1214 -0
  227. package/dist/variant-CKVRF2-W.d.ts +13 -0
  228. package/dist/variant-raYuOP4L.d.cts +13 -0
  229. package/dist/venaCbd-o5_vOp4e.js +366 -0
  230. package/dist/venaCbd-r-IxEVc1.cjs +366 -0
  231. package/dist/westonJonBoucher-C95EuCl-.js +423 -0
  232. package/dist/westonJonBoucher-DjGEW3ZB.cjs +423 -0
  233. package/dist/wineEnthusiast-DeTFY8Gm.js +941 -0
  234. package/dist/wineEnthusiast-DvfcV5B3.cjs +941 -0
  235. package/dist/wolfMattress-6xPfOJt3.js +373 -0
  236. package/dist/wolfMattress-BjGnGKjP.cjs +373 -0
  237. package/dist/wolfTactical-Bi3WZu0m.cjs +350 -0
  238. package/dist/wolfTactical-C_F9-oPX.js +350 -0
  239. package/package.json +1 -1
  240. package/src/adapters/amplitude/amplitudeAdapter.ts +32 -9
  241. package/src/adapters/spiffy/commerce/api.ts +17 -8
  242. package/src/adapters/spiffy/commerce/graphql.ts +16 -5
  243. package/src/application/config/generalStaticConfig.ts +5 -2
  244. package/src/application/models/api/orgConfigResults.ts +6 -2
  245. package/src/application/models/validators/validateGraphQLColorsConfig.ts +23 -21
  246. package/src/application/service/cdnService.ts +4 -2
  247. package/src/application/service/index.ts +0 -1
  248. package/src/application/service/pageVariantService.ts +5 -5
  249. package/src/application/service/searchService.ts +9 -2
  250. package/src/application/service/windowChatToggleService.ts +28 -19
  251. package/src/application/service/windowFrontendConfigService.ts +7 -4
  252. package/src/atoms/app/index.ts +26 -17
  253. package/src/atoms/app/variant.ts +1 -0
  254. package/src/atoms/chat/messageQueue.ts +1 -1
  255. package/src/atoms/envive/enviveConfig.ts +81 -0
  256. package/src/atoms/org/graphqlConfig.ts +29 -11
  257. package/src/atoms/org/merchantCss.ts +114 -0
  258. package/src/atoms/org/org.ts +101 -64
  259. package/src/atoms/org/orgPageConfig.ts +9 -6
  260. package/src/atoms/org/orgUIConfig.ts +22 -9
  261. package/src/atoms/search/chatSearch.ts +85 -67
  262. package/src/contexts/chatContext.tsx +4 -1
  263. package/src/contexts/enviveConfigContext.tsx +37 -26
  264. package/src/contexts/enviveCssContext.tsx +20 -0
  265. package/src/contexts/index.ts +2 -0
  266. package/src/contexts/orgConfigContext.tsx +106 -0
  267. package/src/contexts/systemSettingsContext.tsx +2 -2
  268. package/src/contexts/types.ts +12 -9
  269. package/src/hooks/index.ts +1 -0
  270. package/src/hooks/useSearch.tsx +10 -6
  271. package/src/hooks/utils.ts +1 -1
  272. package/src/interceptors/useFormEscalation.ts +26 -9
  273. package/src/types.ts +0 -2
  274. package/dist/api-BtzLHcfU.cjs +0 -268
  275. package/dist/api-kpPTZhV9.js +0 -189
  276. package/dist/atomStore-BNQyGmU_.cjs +0 -57
  277. package/dist/atomStore-TnLPtYns.js +0 -31
  278. package/dist/bandolier-CQrxBHsk.cjs +0 -1230
  279. package/dist/bandolier-Di9DpZ8e.js +0 -1230
  280. package/dist/carpe-3NJOR-Rj.cjs +0 -608
  281. package/dist/carpe-DmWKaIQq.js +0 -606
  282. package/dist/cdnService-BNreZjqy.js +0 -18
  283. package/dist/cdnService-vLxePdrU.cjs +0 -23
  284. package/dist/chat-CCQMmhc1.cjs +0 -5057
  285. package/dist/chat-Dk6KPb1K.js +0 -25
  286. package/dist/chat-H6YcCS4I.js +0 -4113
  287. package/dist/components-DAQxVIn9.js +0 -10
  288. package/dist/coterie-D0UFsFC5.cjs +0 -240
  289. package/dist/coterie-JblRmIZL.js +0 -240
  290. package/dist/customerService-C4wc0glQ.js +0 -22
  291. package/dist/customerService-zsDlp7g2.cjs +0 -35
  292. package/dist/custservice-types-D8Npo-5Z.js +0 -22
  293. package/dist/custservice-types-E9_OSaZ7.cjs +0 -34
  294. package/dist/default-C5ZTV8HA.cjs +0 -4
  295. package/dist/default-DPv8m-eQ.js +0 -175
  296. package/dist/default-DRKBosow.cjs +0 -198
  297. package/dist/default-ao0vRl0W.js +0 -4
  298. package/dist/divIds-BWvq-i6I.js +0 -22
  299. package/dist/dreamlandBaby-CyS8oW8X.js +0 -347
  300. package/dist/dreamlandBaby-y7kSvwH2.cjs +0 -347
  301. package/dist/embedded-C1jvFj3v.js +0 -22
  302. package/dist/entrypoints-CmmOszXO.js +0 -6
  303. package/dist/entrypoints-fowCLUT2.cjs +0 -18
  304. package/dist/enviveConfigContext-Bs8kepnO.cjs +0 -48
  305. package/dist/enviveConfigContext-CWVdVWKW.js +0 -34
  306. package/dist/events-DgFzlVJR.js +0 -77
  307. package/dist/events-bH-24eRW.cjs +0 -89
  308. package/dist/featureFlagService-CroFRxvD.d.cts +0 -17
  309. package/dist/featureFlagService-NkJ2fuEj.d.ts +0 -17
  310. package/dist/featureGates-BMWXU0dS.d.ts +0 -90
  311. package/dist/featureGates-N_gyHCTn.d.cts +0 -90
  312. package/dist/fiveCbd-CXVuIBiZ.cjs +0 -614
  313. package/dist/fiveCbd-Cyc3-Ab9.js +0 -614
  314. package/dist/forLoveAndLemons-CxQS0USq.cjs +0 -668
  315. package/dist/forLoveAndLemons-D8mcgmdk.js +0 -666
  316. package/dist/frontendConfig-KeNqU1wa.d.cts +0 -790
  317. package/dist/frontendConfig-cPvCTWm6.d.ts +0 -790
  318. package/dist/globalSearch-BC0rOX3E.js +0 -13
  319. package/dist/greenpan-JM6SHcqO.js +0 -398
  320. package/dist/greenpan-eIzyxVsn.cjs +0 -398
  321. package/dist/grooveLife-BmsUc2cD.js +0 -343
  322. package/dist/grooveLife-KdTizVUn.cjs +0 -343
  323. package/dist/homegrownCannabis-C0GDai4r.cjs +0 -411
  324. package/dist/homegrownCannabis-a9udocBT.js +0 -411
  325. package/dist/hooks-DjOa7ihH.cjs +0 -7331
  326. package/dist/hooks-fneW8SWw.js +0 -7152
  327. package/dist/index-BQErGgfM.d.cts +0 -202
  328. package/dist/index-BdNKc2ix.d.cts +0 -8
  329. package/dist/index-BrXuc_Ck.d.cts +0 -24
  330. package/dist/index-C4zjAR1c.d.cts +0 -227
  331. package/dist/index-CGB6CAmr.d.ts +0 -6
  332. package/dist/index-CIco0cCQ.d.ts +0 -183
  333. package/dist/index-COG1kOZG.d.ts +0 -749
  334. package/dist/index-CVxe7FpL.d.cts +0 -6
  335. package/dist/index-Cn1SeI5y.d.cts +0 -183
  336. package/dist/index-CnqHN_jz.d.ts +0 -202
  337. package/dist/index-Cqg6ltII.d.ts +0 -38
  338. package/dist/index-DE_7Q8qK.d.ts +0 -94
  339. package/dist/index-Da0UzyI9.d.ts +0 -24
  340. package/dist/index-DbWWcYax.d.cts +0 -749
  341. package/dist/index-DtoVXd6O.d.cts +0 -97
  342. package/dist/index-JClBRnSX.d.cts +0 -94
  343. package/dist/index-ghzD_356.d.ts +0 -8
  344. package/dist/index-hdbCEjYy.d.cts +0 -38
  345. package/dist/index-luJrHgPN.d.ts +0 -97
  346. package/dist/index-tfRj22E1.d.ts +0 -227
  347. package/dist/jackArcher-B6OJ0N3a.cjs +0 -728
  348. package/dist/jackArcher-B9fe4Hv8.js +0 -728
  349. package/dist/jordanCraig-0CB_m_ts.cjs +0 -1787
  350. package/dist/jordanCraig-DNm1iw1L.js +0 -1787
  351. package/dist/kindredBravely-CZgt7DJA.js +0 -491
  352. package/dist/kindredBravely-KvYPbckZ.cjs +0 -491
  353. package/dist/kutFromTheKloth-BxgtWZs9.cjs +0 -370
  354. package/dist/kutFromTheKloth-SmteSZjk.js +0 -370
  355. package/dist/larryAndSerges-6O_u3L90.cjs +0 -261
  356. package/dist/larryAndSerges-DO-zG8ES.js +0 -261
  357. package/dist/leapsAndRebounds-BK62AmXw.js +0 -361
  358. package/dist/leapsAndRebounds-gPsWVUmQ.cjs +0 -361
  359. package/dist/logger-Be0NyKaY.cjs +0 -25
  360. package/dist/logger-BexDfK3W.js +0 -19
  361. package/dist/longevityrx-DjKbwJo3.cjs +0 -321
  362. package/dist/longevityrx-eq5TeUcy.js +0 -321
  363. package/dist/lookOptic-BPPqms_j.cjs +0 -283
  364. package/dist/lookOptic-jRpBXQCN.js +0 -283
  365. package/dist/mantraBrand-BZOZfkUK.js +0 -751
  366. package/dist/mantraBrand-Cp8zptkj.cjs +0 -751
  367. package/dist/medterra-BHYCBgvQ.cjs +0 -584
  368. package/dist/medterra-CShe6CLY.js +0 -584
  369. package/dist/modells-DE7-gmjK.cjs +0 -485
  370. package/dist/modells-DFyJxNwT.js +0 -485
  371. package/dist/nodeSelector-DpKXszfU.d.ts +0 -30
  372. package/dist/nodeSelector-vKB44CDB.d.cts +0 -30
  373. package/dist/org-Bkn6fl6I.cjs +0 -106
  374. package/dist/org-CX8HFbc9.js +0 -63
  375. package/dist/pressedFloral-BMkCVs8c.cjs +0 -662
  376. package/dist/pressedFloral-aK9br-LF.js +0 -662
  377. package/dist/search-DtIFZeMA.cjs +0 -743
  378. package/dist/search-eWwg8pNn.js +0 -542
  379. package/dist/search-filter-types-ByJnFPc4.d.cts +0 -101
  380. package/dist/search-filter-types-DPgeG8FS.d.ts +0 -101
  381. package/dist/skinPerfection-B9G6yLM2.js +0 -335
  382. package/dist/skinPerfection-BBC1q65Z.cjs +0 -335
  383. package/dist/snapSupplements-D7hx6Kgj.cjs +0 -286
  384. package/dist/snapSupplements-DKvJl__T.js +0 -286
  385. package/dist/socialProofClasses-BYLiEXpU.cjs +0 -39
  386. package/dist/socialProofClasses-CkJufEGb.js +0 -9
  387. package/dist/spanx-D-ZKkxjM.cjs +0 -664
  388. package/dist/spanx-yl7YfVrf.js +0 -662
  389. package/dist/spanxStaging-CXeIg6zI.cjs +0 -849
  390. package/dist/spanxStaging-DzGXL9wD.js +0 -846
  391. package/dist/suggestionBarV2-types-B0RbMStE.js +0 -9
  392. package/dist/supergoop-CSpDPOpl.cjs +0 -337
  393. package/dist/supergoop-D0UkuRiA.js +0 -335
  394. package/dist/test-types-C9b_OdfO.d.ts +0 -39
  395. package/dist/test-types-CpKCxk8U.d.cts +0 -39
  396. package/dist/types-BE4faOO_.d.cts +0 -32
  397. package/dist/types-C3S1H4hl.js +0 -176
  398. package/dist/types-TD8g7LnH.d.ts +0 -32
  399. package/dist/types-lcjuhDBt.cjs +0 -230
  400. package/dist/uniqueVintage-DygVpCqU.cjs +0 -1214
  401. package/dist/uniqueVintage-_n0FZFVj.js +0 -1212
  402. package/dist/useMessageInterceptor-BP6gzo8a.js +0 -57
  403. package/dist/useMessageInterceptor-BnUG2Pzt.cjs +0 -72
  404. package/dist/variant-DH4zusMi.d.cts +0 -12
  405. package/dist/variant-DTEqSBHd.d.ts +0 -12
  406. package/dist/variantInfo-BTvC6CQh.js +0 -1
  407. package/dist/variantInfo-Cz2YXraO.cjs +0 -0
  408. package/dist/venaCbd-BS0dvdBm.js +0 -366
  409. package/dist/venaCbd-Pqg0bj-P.cjs +0 -366
  410. package/dist/westonJonBoucher-CLw8Hy6u.js +0 -423
  411. package/dist/westonJonBoucher-CeA0jwxe.cjs +0 -423
  412. package/dist/wineEnthusiast-M9P18d1w.js +0 -941
  413. package/dist/wineEnthusiast-gHBaQMbe.cjs +0 -941
  414. package/dist/wolfMattress-BQHjoQYu.js +0 -373
  415. package/dist/wolfMattress-CdmN-Evm.cjs +0 -373
  416. package/dist/wolfTactical-Cc2ZLBRh.js +0 -350
  417. package/dist/wolfTactical-dObnPgAG.cjs +0 -350
  418. package/src/application/service/environmentService.ts +0 -51
  419. package/src/extension.ts +0 -63
  420. package/src/initialize.ts +0 -163
  421. package/src/main.tsx +0 -108
  422. package/src/merchants/uniqueVintage/views/useUniqueVintageChatSearch.ts +0 -147
  423. /package/dist/{atomStore-FSZd_20F.js → locators-Dc5ZT0aF.js} +0 -0
  424. /package/dist/{atomStore-B3tsg6mF.cjs → locators-lQMJj830.cjs} +0 -0
  425. /package/dist/{locators-C2DX_nX6.js → utilityTypes-BVikejDo.js} +0 -0
  426. /package/dist/{locators-CUpyd9Wt.cjs → utilityTypes-C4h2wgAK.cjs} +0 -0
  427. /package/dist/{utilityTypes-DMdsI0DG.cjs → variantInfo-CNRTY0gH.cjs} +0 -0
  428. /package/dist/{utilityTypes-UWdNHElu.js → variantInfo-CzhR5W6h.js} +0 -0
@@ -0,0 +1,1230 @@
1
+ import "./logger-pdEEY8T2.js";
2
+ import "./api-XRr_lAG6.js";
3
+ import { CdnService, ChatElementDisplayLocation, DOMInsertionType, FeatureGates, GridInsertionType } from "./contexts-e2sM-B9g.js";
4
+ import { ColorNames, CustomerServiceIntegrationMode, CustomerServiceType, OrgShortName, PageVariantTestType, WidgetType, colorVar } from "./types-BF_CJeck.js";
5
+ import "./atomStore-B1cgmbP0.js";
6
+ import "./customerService-BHQRnLhC.js";
7
+ import "./globalSearch-b0wC7ZEO.js";
8
+ import "./utilityTypes-BVikejDo.js";
9
+ import "./variantInfo-CzhR5W6h.js";
10
+ import "./events-ClCDFK7t.js";
11
+ import { SuggestionBarLocationForMetrics } from "./suggestionBarV2-types-CwOXzIKq.js";
12
+ import { BOTTOM_REVIEWS_BAR_ID, CHAT_PREVIEW_CONTAINER_ID, GLOBAL_SEARCH_ENTRYPOINT_ID, HOMEPAGE_DESKTOP_GLOBAL_SEARCH_ENTRYPOINT_ID, HOMEPAGE_MOBILE_GLOBAL_SEARCH_ENTRYPOINT_ID, HOMEPAGE_TABLET_GLOBAL_SEARCH_ENTRYPOINT_ID, MOBILE_GLOBAL_SEARCH_ENTRYPOINT_ID, MOBILE_ICON_ONLY_GLOBAL_SEARCH_ENTRYPOINT_ID, PROMPT_CARD_ID, SEARCH_OVERLAY_ENTRYPOINT_ID, SEARCH_RESULTS_ENTRYPOINT_ID, TABLET_GLOBAL_SEARCH_ENTYPOINT_ID, TOP_SUGGESTION_BAR_PDP_ID } from "./divIds-CWkntTsx.js";
13
+ import "./chat-CLJ4NWcN.js";
14
+ import "./components-CV1fhAkj.js";
15
+ import { BOTTOM_SUGGESTION_BAR_TESTID, CHAT_PREVIEW_TESTID, GLOBAL_SEARCH_ENTRYPOINT_TESTID, PROMPT_CARD_TESTID, SEARCH_OVERLAY_HOST_TESTID, SEARCH_RESULTS_ENTRYPOINT_TESTID, TOP_SUGGESTION_BAR_TESTID } from "./embedded-C5uJqmuD.js";
16
+ import "./locators-Dc5ZT0aF.js";
17
+ import { defaultOrgUIConfig } from "./default-C8PQf-38.js";
18
+
19
+ //#region src/merchants/bandolier/bandolier.ts
20
+ const bandolierColors = {
21
+ [ColorNames.TextPrimary]: "#000000",
22
+ [ColorNames.TextSecondary]: "#6C6C6C",
23
+ [ColorNames.TextAccent]: "#AF986E",
24
+ [ColorNames.TextLink]: "#000000",
25
+ [ColorNames.TextLight]: "#FFFFFF",
26
+ [ColorNames.BackgroundPrimary]: "#000000",
27
+ [ColorNames.BackgroundSecondary]: "#ECECEC",
28
+ [ColorNames.BackgroundSecondaryDark]: "#E2E2E2",
29
+ [ColorNames.BackgroundTertiary]: "#ECECEC",
30
+ [ColorNames.BackgroundDark]: "#000000",
31
+ [ColorNames.BackgroundLight]: "#FFFFFF",
32
+ [ColorNames.BackgroundSaturated]: "#CCCCCC",
33
+ [ColorNames.BorderLight]: "#ECECEC",
34
+ [ColorNames.BorderMedium]: "#EAEAEA",
35
+ [ColorNames.BorderDark]: "#6C6C6C",
36
+ [ColorNames.BorderOutline]: "#000000",
37
+ [ColorNames.AccentPrimary]: "#AF986E",
38
+ [ColorNames.AccentSecondary]: "#DCB4AE"
39
+ };
40
+ const bandolierOrgUIConfig = () => {
41
+ const defaultBandolierOrgConfig = defaultOrgUIConfig(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: CdnService.getAssetURL("bandolier-logo.svg", OrgShortName.Bandolier)
56
+ },
57
+ chatPreviewConfig: {
58
+ ...defaultBandolierOrgConfig.chatPreviewConfig,
59
+ buttonTextColor: colorVar(ColorNames.TextLink),
60
+ buttonBackgroundColor: colorVar(ColorNames.BackgroundSecondary),
61
+ buttonBackgroundHoverColor: colorVar(ColorNames.BackgroundSecondaryDark),
62
+ buttonTextHoverColor: colorVar(ColorNames.TextLink),
63
+ iconFillColor: colorVar(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: colorVar(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: CustomerServiceIntegrationMode.simple,
102
+ provider: 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: PageVariantTestType.UrlResolver },
298
+ {
299
+ testType: PageVariantTestType.FeatureGate,
300
+ featureGate: FeatureGates.IsGlobalSearchEnabled
301
+ },
302
+ {
303
+ testType: 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: PageVariantTestType.UrlResolver }, {
338
+ testType: PageVariantTestType.FeatureGate,
339
+ featureGate: 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: PageVariantTestType.UrlResolver },
378
+ {
379
+ testType: PageVariantTestType.FeatureGate,
380
+ featureGate: FeatureGates.IsGlobalSearchEnabled
381
+ },
382
+ {
383
+ testType: 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: PageVariantTestType.UrlResolver }, {
431
+ testType: PageVariantTestType.FeatureGate,
432
+ featureGate: 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: PageVariantTestType.UrlResolver }, {
478
+ testType: PageVariantTestType.FeatureGate,
479
+ featureGate: 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: PageVariantTestType.FeatureGate,
505
+ featureGate: FeatureGates.IsGlobalSearchEnabled
506
+ }, { testType: 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: PageVariantTestType.ShopifyPLP }, {
530
+ testType: 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: PageVariantTestType.ShopifyPLP }, {
548
+ testType: 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: PageVariantTestType.ShopifyPLP }, {
562
+ testType: 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: PageVariantTestType.ShopifyPDP }, {
576
+ testType: 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: PageVariantTestType.ShopifyPDP }, {
599
+ testType: 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: PageVariantTestType.ShopifyPLP }, {
622
+ testType: 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: 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: 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: PROMPT_CARD_ID,
667
+ testId: PROMPT_CARD_TESTID,
668
+ insertionPoint: {
669
+ selector: "#AjaxinateLoop",
670
+ insertionType: DOMInsertionType.AFTER
671
+ },
672
+ gridInsertionType: 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: CHAT_PREVIEW_CONTAINER_ID,
682
+ testId: CHAT_PREVIEW_TESTID,
683
+ insertionPoint: {
684
+ selector: ".product-single div",
685
+ insertionType: DOMInsertionType.APPEND_CHILD
686
+ }
687
+ },
688
+ topSuggestionBarPDP: {
689
+ mountingConfigId: "topSuggestionBarPDP",
690
+ containerId: TOP_SUGGESTION_BAR_PDP_ID,
691
+ testId: TOP_SUGGESTION_BAR_TESTID,
692
+ insertionPoint: {
693
+ selector: ".product__price-and-rating",
694
+ insertionType: DOMInsertionType.AFTER
695
+ },
696
+ style: { marginBottom: "16px" }
697
+ },
698
+ bottomSuggestionBarPDP: {
699
+ mountingConfigId: "bottomSuggestionBarPDP",
700
+ containerId: BOTTOM_REVIEWS_BAR_ID,
701
+ testId: BOTTOM_SUGGESTION_BAR_TESTID,
702
+ insertionPoint: {
703
+ selector: ".yotpo-smart-topics-panel",
704
+ insertionType: DOMInsertionType.AFTER
705
+ },
706
+ style: { width: "100%" }
707
+ },
708
+ searchOverlayHost: {
709
+ mountingConfigId: "searchOverlayHost",
710
+ containerId: SEARCH_OVERLAY_ENTRYPOINT_ID,
711
+ testId: SEARCH_OVERLAY_HOST_TESTID,
712
+ insertionPoint: {
713
+ selector: "body",
714
+ insertionType: DOMInsertionType.APPEND_CHILD
715
+ },
716
+ className: "spiffy-overlay-host"
717
+ },
718
+ searchResultsEntryPointPLP: {
719
+ mountingConfigId: "searchResultsEntryPointPLP",
720
+ containerId: SEARCH_RESULTS_ENTRYPOINT_ID,
721
+ testId: SEARCH_RESULTS_ENTRYPOINT_TESTID,
722
+ insertionPoint: {
723
+ selector: ".main-content",
724
+ insertionType: DOMInsertionType.BEFORE
725
+ },
726
+ suppressionSelector: "#MainContent",
727
+ className: "search-results-entry-point",
728
+ style: { marginBottom: "60px" }
729
+ },
730
+ searchResultsEntryPointPDP: {
731
+ mountingConfigId: "searchResultsEntryPointPDP",
732
+ containerId: SEARCH_RESULTS_ENTRYPOINT_ID,
733
+ testId: SEARCH_RESULTS_ENTRYPOINT_TESTID,
734
+ insertionPoint: {
735
+ selector: ".main-content",
736
+ insertionType: DOMInsertionType.BEFORE
737
+ },
738
+ suppressionSelector: "#MainContent",
739
+ className: "search-results-entry-point",
740
+ style: { marginBottom: "60px" }
741
+ },
742
+ globalSearchEntryPointDesktopHomepage: {
743
+ mountingConfigId: "globalSearchEntryPointDesktopHomepage",
744
+ containerId: HOMEPAGE_DESKTOP_GLOBAL_SEARCH_ENTRYPOINT_ID,
745
+ testId: GLOBAL_SEARCH_ENTRYPOINT_TESTID,
746
+ insertionPoint: {
747
+ selector: ".menu__item.menu__item--icons .search-popdown.menu__item.menu__item--icon",
748
+ insertionType: 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: HOMEPAGE_TABLET_GLOBAL_SEARCH_ENTRYPOINT_ID,
757
+ testId: GLOBAL_SEARCH_ENTRYPOINT_TESTID,
758
+ insertionPoint: {
759
+ selector: "#NavStandard .menu__item.menu__item--icon.menu__item-wishlist",
760
+ insertionType: 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: HOMEPAGE_MOBILE_GLOBAL_SEARCH_ENTRYPOINT_ID,
769
+ testId: GLOBAL_SEARCH_ENTRYPOINT_TESTID,
770
+ insertionPoint: {
771
+ selector: ".search-popdown.mobile-menu__button",
772
+ insertionType: DOMInsertionType.BEFORE
773
+ },
774
+ className: "global-entry-mobile-homepage",
775
+ style: { margin: "6px" }
776
+ },
777
+ globalSearchEntryPointDesktop: {
778
+ mountingConfigId: "globalSearchEntryPointDesktop",
779
+ containerId: GLOBAL_SEARCH_ENTRYPOINT_ID,
780
+ testId: GLOBAL_SEARCH_ENTRYPOINT_TESTID,
781
+ insertionPoint: {
782
+ selector: ".menu__item.menu__item--icons .search-popdown.menu__item.menu__item--icon",
783
+ insertionType: DOMInsertionType.BEFORE
784
+ },
785
+ className: "global-entry-desktop",
786
+ style: { margin: "0 5px 0 7px" }
787
+ },
788
+ globalSearchEntryPointSmallDesktop: {
789
+ mountingConfigId: "globalSearchEntryPointSmallDesktop",
790
+ containerId: TABLET_GLOBAL_SEARCH_ENTYPOINT_ID,
791
+ testId: GLOBAL_SEARCH_ENTRYPOINT_TESTID,
792
+ insertionPoint: {
793
+ selector: "#NavStandard .menu__item.menu__item--icon.menu__item-wishlist",
794
+ insertionType: 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: MOBILE_GLOBAL_SEARCH_ENTRYPOINT_ID,
802
+ testId: GLOBAL_SEARCH_ENTRYPOINT_TESTID,
803
+ insertionPoint: {
804
+ selector: ".main-content",
805
+ insertionType: DOMInsertionType.BEFORE
806
+ },
807
+ className: "global-entry-mobile",
808
+ style: { margin: "8px" }
809
+ },
810
+ globalSearchEntryPointOnlyIconMobile: {
811
+ mountingConfigId: "globalSearchEntryPointOnlyIconMobile",
812
+ containerId: MOBILE_ICON_ONLY_GLOBAL_SEARCH_ENTRYPOINT_ID,
813
+ testId: GLOBAL_SEARCH_ENTRYPOINT_TESTID,
814
+ insertionPoint: {
815
+ selector: ".search-popdown.mobile-menu__button",
816
+ insertionType: 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: WidgetType.ImagePromptCard,
826
+ url: CdnService.getAssetURL("image-prompt-card-2.png", 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: WidgetType.ImagePromptCard,
855
+ url: CdnService.getAssetURL("image-prompt-card-2.png", 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: WidgetType.ImagePromptCard,
879
+ url: CdnService.getAssetURL("image-prompt-card-2.png", 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: WidgetType.ImagePromptCard,
905
+ url: CdnService.getAssetURL("image-prompt-card-2.png", 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: WidgetType.ImagePromptCard,
929
+ url: CdnService.getAssetURL("image-prompt-card-2.png", 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: ChatElementDisplayLocation.TOP_REVIEWS_SNIPPET,
954
+ location: SuggestionBarLocationForMetrics.SUGGESTION_BAR_TOP,
955
+ type: 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: ChatElementDisplayLocation.TOP_REVIEWS_SNIPPET,
1005
+ location: SuggestionBarLocationForMetrics.SUGGESTION_BAR_TOP,
1006
+ type: 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: ChatElementDisplayLocation.TOP_REVIEWS_SNIPPET,
1022
+ location: SuggestionBarLocationForMetrics.SUGGESTION_BAR_TOP,
1023
+ type: 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: WidgetType.ChatPreview,
1039
+ variant: "filled",
1040
+ addSeparators: false
1041
+ },
1042
+ bottomSuggestionsBar: {
1043
+ widgetConfigId: "bottomSuggestionsBar",
1044
+ contentId: "spiffy-bottom-suggestion-bar-contents",
1045
+ metricDisplayLocation: ChatElementDisplayLocation.BOTTOM_REVIEWS_SNIPPET,
1046
+ location: SuggestionBarLocationForMetrics.SUGGESTION_BAR_BOTTOM,
1047
+ type: 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: 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: 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: 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: 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: 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: 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: 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: WidgetType.SearchOverlayHost
1214
+ }
1215
+ }
1216
+ });
1217
+ const bandolierOrgInfo = {
1218
+ shortName: 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
+ export { bandolierOrgInfo };
1230
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFuZG9saWVyLURSbl94MWcxLmpzIiwibmFtZXMiOlsiYmFuZG9saWVyQ29sb3JzOiBDb2xvck1hcHBpbmciXSwic291cmNlcyI6WyIuLi9zcmMvbWVyY2hhbnRzL2JhbmRvbGllci9iYW5kb2xpZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQk9UVE9NX1NVR0dFU1RJT05fQkFSX1RFU1RJRCxcbiAgQ0hBVF9QUkVWSUVXX1RFU1RJRCxcbiAgR0xPQkFMX1NFQVJDSF9FTlRSWVBPSU5UX1RFU1RJRCxcbiAgUFJPTVBUX0NBUkRfVEVTVElELFxuICBTRUFSQ0hfT1ZFUkxBWV9IT1NUX1RFU1RJRCxcbiAgU0VBUkNIX1JFU1VMVFNfRU5UUllQT0lOVF9URVNUSUQsXG4gIFRPUF9TVUdHRVNUSU9OX0JBUl9URVNUSUQsXG59IGZyb20gXCJzcmMvY29uZmlnL2xvY2F0b3JzXCI7XG5pbXBvcnQge1xuICBCYXNpY09yZ0luZm9UeXBlLFxuICBGZWF0dXJlR2F0ZXMsXG4gIE9yZ1Nob3J0TmFtZSxcbn0gZnJvbSBcInNyYy9hcHBsaWNhdGlvbi9tb2RlbHNcIjtcbmltcG9ydCB7IENoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uIH0gZnJvbSBcInNyYy9hcHBsaWNhdGlvbi9tb2RlbHMvY2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb25cIjtcbmltcG9ydCB7IENkblNlcnZpY2UgfSBmcm9tIFwic3JjL2FwcGxpY2F0aW9uL3NlcnZpY2UvY2RuU2VydmljZVwiO1xuaW1wb3J0IHtcbiAgQ3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb25Nb2RlLFxuICBDdXN0b21lclNlcnZpY2VUeXBlLFxufSBmcm9tIFwic3JjL2FwcGxpY2F0aW9uL3NlcnZpY2UvY3VzdG9tZXJTZXJ2aWNlL3R5cGVzXCI7XG5pbXBvcnQgeyBET01JbnNlcnRpb25UeXBlIH0gZnJvbSBcInNyYy9hcHBsaWNhdGlvbi9zZXJ2aWNlL2RvbU11dGF0aW9ucy9kb21JbnNlcnRpb25TZXJ2aWNlXCI7XG5pbXBvcnQgeyBHcmlkSW5zZXJ0aW9uVHlwZSB9IGZyb20gXCJzcmMvYXBwbGljYXRpb24vc2VydmljZS9kb21NdXRhdGlvbnMvR3JpZEluc2VydGlvblNlcnZpY2VcIjtcbmltcG9ydCB7XG4gIEJPVFRPTV9SRVZJRVdTX0JBUl9JRCxcbiAgQ0hBVF9QUkVWSUVXX0NPTlRBSU5FUl9JRCxcbiAgR0xPQkFMX1NFQVJDSF9FTlRSWVBPSU5UX0lELFxuICBIT01FUEFHRV9ERVNLVE9QX0dMT0JBTF9TRUFSQ0hfRU5UUllQT0lOVF9JRCxcbiAgSE9NRVBBR0VfTU9CSUxFX0dMT0JBTF9TRUFSQ0hfRU5UUllQT0lOVF9JRCxcbiAgSE9NRVBBR0VfVEFCTEVUX0dMT0JBTF9TRUFSQ0hfRU5UUllQT0lOVF9JRCxcbiAgTU9CSUxFX0dMT0JBTF9TRUFSQ0hfRU5UUllQT0lOVF9JRCxcbiAgTU9CSUxFX0lDT05fT05MWV9HTE9CQUxfU0VBUkNIX0VOVFJZUE9JTlRfSUQsXG4gIFBST01QVF9DQVJEX0lELFxuICBTRUFSQ0hfT1ZFUkxBWV9FTlRSWVBPSU5UX0lELFxuICBTRUFSQ0hfUkVTVUxUU19FTlRSWVBPSU5UX0lELFxuICBUQUJMRVRfR0xPQkFMX1NFQVJDSF9FTlRZUE9JTlRfSUQsXG4gIFRPUF9TVUdHRVNUSU9OX0JBUl9QRFBfSUQsXG59IGZyb20gXCJzcmMvY29uZmlnL2Rpdklkc1wiO1xuaW1wb3J0IHsgZGVmYXVsdE9yZ1VJQ29uZmlnIH0gZnJvbSBcInNyYy9tZXJjaGFudHMvZGVmYXVsdFwiO1xuaW1wb3J0IHtcbiAgQ2hhdFByZXZpZXdXaWRnZXRDb25maWcsXG4gIENvbG9yTWFwcGluZyxcbiAgQ29sb3JOYW1lcyxcbiAgY29sb3JWYXIsXG4gIFNlYXJjaEVudHJ5UG9pbnRXaWRnZXRDb25maWcsXG4gIEltYWdlUHJvbXB0V2lkZ2V0Q29uZmlnLFxuICBPcmdQYWdlQ29uZmlnLFxuICBPcmdVSUNvbmZpZyxcbiAgUGFnZVZhcmlhbnRUZXN0VHlwZSxcbiAgU2VhcmNoUmVzdWx0c0VudHJ5UG9pbnRXaWRnZXRDb25maWcsXG4gIFN1Z2dlc3Rpb25CYXJXaWRnZXRWMkNvbmZpZyxcbiAgV2lkZ2V0VHlwZSxcbiAgU2VhcmNoT3ZlcmxheUhvc3RXaWRnZXRDb25maWcsXG59IGZyb20gXCJzcmMvY29udGV4dHMvdHlwZXNcIjtcbmltcG9ydCB7IFN1Z2dlc3Rpb25CYXJMb2NhdGlvbkZvck1ldHJpY3MgfSBmcm9tIFwic3JjL3R5cGVzL3N1Z2dlc3Rpb25CYXJWMi10eXBlc1wiO1xuXG5jb25zdCBiYW5kb2xpZXJDb2xvcnM6IENvbG9yTWFwcGluZyA9IHtcbiAgW0NvbG9yTmFtZXMuVGV4dFByaW1hcnldOiBcIiMwMDAwMDBcIixcbiAgW0NvbG9yTmFtZXMuVGV4dFNlY29uZGFyeV06IFwiIzZDNkM2Q1wiLFxuICBbQ29sb3JOYW1lcy5UZXh0QWNjZW50XTogXCIjQUY5ODZFXCIsXG4gIFtDb2xvck5hbWVzLlRleHRMaW5rXTogXCIjMDAwMDAwXCIsXG4gIFtDb2xvck5hbWVzLlRleHRMaWdodF06IFwiI0ZGRkZGRlwiLFxuICBbQ29sb3JOYW1lcy5CYWNrZ3JvdW5kUHJpbWFyeV06IFwiIzAwMDAwMFwiLFxuICBbQ29sb3JOYW1lcy5CYWNrZ3JvdW5kU2Vjb25kYXJ5XTogXCIjRUNFQ0VDXCIsXG4gIFtDb2xvck5hbWVzLkJhY2tncm91bmRTZWNvbmRhcnlEYXJrXTogXCIjRTJFMkUyXCIsXG4gIFtDb2xvck5hbWVzLkJhY2tncm91bmRUZXJ0aWFyeV06IFwiI0VDRUNFQ1wiLFxuICBbQ29sb3JOYW1lcy5CYWNrZ3JvdW5kRGFya106IFwiIzAwMDAwMFwiLFxuICBbQ29sb3JOYW1lcy5CYWNrZ3JvdW5kTGlnaHRdOiBcIiNGRkZGRkZcIixcbiAgW0NvbG9yTmFtZXMuQmFja2dyb3VuZFNhdHVyYXRlZF06IFwiI0NDQ0NDQ1wiLFxuICBbQ29sb3JOYW1lcy5Cb3JkZXJMaWdodF06IFwiI0VDRUNFQ1wiLFxuICBbQ29sb3JOYW1lcy5Cb3JkZXJNZWRpdW1dOiBcIiNFQUVBRUFcIixcbiAgW0NvbG9yTmFtZXMuQm9yZGVyRGFya106IFwiIzZDNkM2Q1wiLFxuICBbQ29sb3JOYW1lcy5Cb3JkZXJPdXRsaW5lXTogXCIjMDAwMDAwXCIsXG4gIFtDb2xvck5hbWVzLkFjY2VudFByaW1hcnldOiBcIiNBRjk4NkVcIixcbiAgW0NvbG9yTmFtZXMuQWNjZW50U2Vjb25kYXJ5XTogXCIjRENCNEFFXCIsXG59O1xuXG5jb25zdCBiYW5kb2xpZXJPcmdVSUNvbmZpZyA9ICgpOiBPcmdVSUNvbmZpZyA9PiB7XG4gIGNvbnN0IGRlZmF1bHRCYW5kb2xpZXJPcmdDb25maWcgPSBkZWZhdWx0T3JnVUlDb25maWcoT3JnU2hvcnROYW1lLkJhbmRvbGllcik7XG5cbiAgcmV0dXJuIHtcbiAgICAuLi5kZWZhdWx0QmFuZG9saWVyT3JnQ29uZmlnLFxuICAgIG1lcmNoYW50VmFyaWFudFNldHRpbmdzOiB7XG4gICAgICBkeW5hbWljVmFyaWFudHM6IHtcbiAgICAgICAgZW5hYmxlZDogZmFsc2UsXG4gICAgICAgIHJlZnJlc2hJbnRlcnZhbDogNDAwLFxuICAgICAgfSxcbiAgICB9LFxuICAgIGNoYXRNZXNzYWdlQ29uZmlnOiB7XG4gICAgICAuLi5kZWZhdWx0QmFuZG9saWVyT3JnQ29uZmlnLmNoYXRNZXNzYWdlQ29uZmlnLFxuICAgICAgYXNzaXN0YW50Q2hhdFRpdGxlOiBcIkFzayBNYWdnaWVcIixcbiAgICAgIHZhcmlhbnQ6IFwiYWNjZW50XCIsXG4gICAgfSxcbiAgICBjaGF0SGVhZGVyOiB7XG4gICAgICAuLi5kZWZhdWx0QmFuZG9saWVyT3JnQ29uZmlnLmNoYXRIZWFkZXIsXG4gICAgICBpbWFnZVNyYzogQ2RuU2VydmljZS5nZXRBc3NldFVSTChcbiAgICAgICAgXCJiYW5kb2xpZXItbG9nby5zdmdcIixcbiAgICAgICAgT3JnU2hvcnROYW1lLkJhbmRvbGllclxuICAgICAgKSxcbiAgICB9LFxuICAgIGNoYXRQcmV2aWV3Q29uZmlnOiB7XG4gICAgICAuLi5kZWZhdWx0QmFuZG9saWVyT3JnQ29uZmlnLmNoYXRQcmV2aWV3Q29uZmlnISxcbiAgICAgIGJ1dHRvblRleHRDb2xvcjogY29sb3JWYXIoQ29sb3JOYW1lcy5UZXh0TGluayksXG4gICAgICBidXR0b25CYWNrZ3JvdW5kQ29sb3I6IGNvbG9yVmFyKENvbG9yTmFtZXMuQmFja2dyb3VuZFNlY29uZGFyeSksXG4gICAgICBidXR0b25CYWNrZ3JvdW5kSG92ZXJDb2xvcjogY29sb3JWYXIoQ29sb3JOYW1lcy5CYWNrZ3JvdW5kU2Vjb25kYXJ5RGFyayksXG4gICAgICBidXR0b25UZXh0SG92ZXJDb2xvcjogY29sb3JWYXIoQ29sb3JOYW1lcy5UZXh0TGluayksXG4gICAgICBpY29uRmlsbENvbG9yOiBjb2xvclZhcihDb2xvck5hbWVzLlRleHRBY2NlbnQpLFxuICAgICAgY29waWVzOiB7XG4gICAgICAgIHBkcDogW1xuICAgICAgICAgIFwiZG9lcyB0aGlzIGZpdCBteSBkZXZpY2UgbW9kZWw/XCIsXG4gICAgICAgICAgXCJpcyB0aGlzIGFkanVzdGFibGU/XCIsXG4gICAgICAgICAgXCJ3aHkgY2hvb3NlIHRoaXMgb3ZlciBhIGJ1bGt5IGJhZz9cIixcbiAgICAgICAgICBcIndoYXQgZG8gcmV2aWV3ZXJzIGxvdmUgbW9zdD9cIixcbiAgICAgICAgICBcImNhbiBJIHVzZSB0aGlzIGV2ZXJ5IGRheT9cIixcbiAgICAgICAgXSxcbiAgICAgICAgcGxwOiBbXSxcbiAgICAgIH0sXG4gICAgICBoZWFkZXJDb25maWc6IHtcbiAgICAgICAgLi4uZGVmYXVsdEJhbmRvbGllck9yZ0NvbmZpZy5jaGF0UHJldmlld0NvbmZpZyEuaGVhZGVyQ29uZmlnLFxuICAgICAgfSxcbiAgICAgIGZvb3RlckNvbmZpZzoge1xuICAgICAgICAuLi5kZWZhdWx0QmFuZG9saWVyT3JnQ29uZmlnLmNoYXRQcmV2aWV3Q29uZmlnIS5mb290ZXJDb25maWcsXG4gICAgICB9LFxuICAgIH0sXG4gICAgZmxvYXRpbmdFbnRyeXBvaW50Q29uZmlnOiB7XG4gICAgICAuLi5kZWZhdWx0QmFuZG9saWVyT3JnQ29uZmlnLmZsb2F0aW5nRW50cnlwb2ludENvbmZpZyEsXG4gICAgICBzaG93T3B0aW9uOiBcImFsd2F5c1wiLFxuICAgICAgZXhwYW5kZWRDb2xvcjogY29sb3JWYXIoQ29sb3JOYW1lcy5CYWNrZ3JvdW5kRGFyayksXG4gICAgICBleHBhbnNpb25UZXh0OiB7XG4gICAgICAgIHBkcDogXCJDb3VsZCB0aGlzIGJlIHlvdXIgcGVyZmVjdCBldmVyeWRheSBlc3NlbnRpYWw/XCIsXG4gICAgICAgIHBscDogXCJXaGF0IGNhbiB3ZSBoZWxwIHlvdSBmaW5kIHRvZGF5P1wiLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHByb2R1Y3RDYXJkQ29uZmlnOiB7XG4gICAgICAuLi5kZWZhdWx0QmFuZG9saWVyT3JnQ29uZmlnLnByb2R1Y3RDYXJkQ29uZmlnISxcbiAgICB9LFxuICAgIHBhZ2VDYXJkQ29uZmlnOiB7XG4gICAgICAuLi5kZWZhdWx0QmFuZG9saWVyT3JnQ29uZmlnLnBhZ2VDYXJkQ29uZmlnISxcbiAgICAgIHZhcmlhbnQ6IFwiZmlsbGVkXCIsXG4gICAgICBob3ZlclZhcmlhbnQ6IFwibGlmdFwiLFxuICAgICAgaWNvblZhcmlhbnQ6IFwicHJpbWFyeVwiLFxuICAgIH0sXG4gICAgcHJvZHVjdFJldmlld0NvbmZpZzoge1xuICAgICAgLi4uZGVmYXVsdEJhbmRvbGllck9yZ0NvbmZpZy5wcm9kdWN0UmV2aWV3Q29uZmlnISxcbiAgICB9LFxuICAgIHdlbGNvbWVTZWN0aW9uQ29uZmlnOiB7XG4gICAgICAuLi5kZWZhdWx0QmFuZG9saWVyT3JnQ29uZmlnLndlbGNvbWVTZWN0aW9uQ29uZmlnISxcbiAgICAgIHRpdGxlOiBcIldlbGNvbWUgdG8gQmFuZG9saWVyIEFJIVwiLFxuICAgICAgY29sb3JWYXJpYW50OiBcImFjY2VudFwiLFxuICAgICAgc3VidGl0bGU6XG4gICAgICAgIFwiSGV5IHRoZXJlLiBJ4oCZbSBNYWdnaWUsIHlvdXIgQmFuZG9saWVyIHNob3BwaW5nIGFzc2lzdGFudC4gSeKAmW0gaGVyZSB0byBoZWxwIHlvdSBmaW5kIHlvdXIgcGVyZmVjdCBCYW5kb2xpZXLigJRlZmZvcnRsZXNzbHkgc3R5bGlzaCwgaGFuZHMtZnJlZSwgYW5kIHJlYWR5IGZvciB3aGVyZXZlciBsaWZlIHRha2VzIHlvdS5cIixcbiAgICB9LFxuICAgIGN1c3RvbWVyU2VydmljZUludGVncmF0aW9uOiB7XG4gICAgICBpbnRlZ3JhdGlvbk1vZGU6IEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uTW9kZS5zaW1wbGUsXG4gICAgICBwcm92aWRlcjogQ3VzdG9tZXJTZXJ2aWNlVHlwZS5nb3JnaWFzLFxuICAgICAgdXNlVW5pZmllZEJ1dHRvbjogdHJ1ZSxcbiAgICB9LFxuICAgIHNlYXJjaENvbmZpZzoge1xuICAgICAgZW5hYmxlR2xvYmFsU2VhcmNoOiB0cnVlLFxuICAgICAgcmVkaXJlY3RTZWFyY2hSZXN1bHRzVXJsOlxuICAgICAgICBcImh0dHBzOi8vd3d3LmJhbmRvbGllcnN0eWxlLmNvbS9wYWdlcy9zZWFyY2gtcGFnZVwiLFxuICAgICAgc2VhcmNoRmlsdGVyQ29uZmlnOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBmaWx0ZXJJZDogXCJwcmljZVwiLFxuICAgICAgICAgIGRpc3BsYXlOYW1lOiBcIlByaWNlXCIsXG4gICAgICAgICAgdHlwZTogXCJwcmljZVwiLFxuICAgICAgICAgIGJ1Y2tldFNpemU6IDEwMCxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGZpbHRlcklkOiBcIm1hdGVyaWFsXCIsXG4gICAgICAgICAgZGlzcGxheU5hbWU6IFwiTWF0ZXJpYWxzXCIsXG4gICAgICAgICAgYXR0cmlidXRlOiBcIm1hdGVyaWFsc1wiLFxuICAgICAgICAgIHR5cGU6IFwiZHluYW1pY1wiLFxuICAgICAgICAgIHNvcnRpbmc6IHtcbiAgICAgICAgICAgIHR5cGU6IFwicHJvZHVjdENvdW50XCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGZpbHRlcklkOiBcImRldmljZXNcIixcbiAgICAgICAgICBkaXNwbGF5TmFtZTogXCJQaG9uZSBzaXplXCIsXG4gICAgICAgICAgdHlwZTogXCJkeW5hbWljXCIsXG4gICAgICAgICAgYXR0cmlidXRlOiBcImRldmljZXNcIixcbiAgICAgICAgICBzb3J0aW5nOiB7XG4gICAgICAgICAgICB0eXBlOiBcInByb2R1Y3RDb3VudFwiLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBmaWx0ZXJJZDogXCJjb2xvcnNcIixcbiAgICAgICAgICBkaXNwbGF5TmFtZTogXCJDb2xvclwiLFxuICAgICAgICAgIHR5cGU6IFwiZHluYW1pY1wiLFxuICAgICAgICAgIGF0dHJpYnV0ZTogXCJjb2xvcnNcIixcbiAgICAgICAgICBzb3J0aW5nOiB7XG4gICAgICAgICAgICB0eXBlOiBcInByb2R1Y3RDb3VudFwiLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBmaWx0ZXJJZDogXCJkeW5hbWljXCIsXG4gICAgICAgICAgZGlzcGxheU5hbWU6IFwiXCIsXG4gICAgICAgICAgdHlwZTogXCJkeW5hbWljXCIsXG4gICAgICAgICAgYXR0cmlidXRlOiBcImR5bmFtaWNcIixcbiAgICAgICAgICBzb3J0aW5nOiB7XG4gICAgICAgICAgICB0eXBlOiBcInByb2R1Y3RDb3VudFwiLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAgbWVyY2hhbnRPdmVycmlkZUNzczogYFxuICAgICAgLnNwaWZmeS1oZWFkbGluZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnRE0gU2FucycsICdQb3BwaW5zJywgc2Fucy1zZXJpZjtcbiAgICAgIH1cbiAgICAgIC5zcGlmZnktaGVhZGxpbmUtcGxhY2Vob2xkZXI6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdETSBTYW5zJywgJ1BvcHBpbnMnLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICB9XG4gICAgICAuc3BpZmZ5LXN0YXItcmF0aW5nLWNvbnRhaW5lciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXNwaWZmeS1jb2xvcnMtYmFja2dyb3VuZC1saWdodCkgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgIC5zcGlmZnktc3Rhci1yYXRpbmctc3RhciB7XG4gICAgICAgIGZpbGw6IHZhcigtLXNwaWZmeS1jb2xvcnMtYWNjZW50LXByaW1hcnkpICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICAuc3BpZmZ5LXByb2R1Y3QtY2FyZC10ZXh0LWNvbG9yIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXNwaWZmeS1jb2xvcnMtdGV4dC1zZWNvbmRhcnkpO1xuICAgICAgfVxuICAgICAgLnNwaWZmeS12aWV3LXNvdXJjZS1pY29uLXdyYXBwZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zcGlmZnktY29sb3JzLWFjY2VudC1wcmltYXJ5KSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgLnNwaWZmeS12aWV3LXNvdXJjZS1pY29uLXdyYXBwZXIgc3ZnIHtcbiAgICAgICAgZmlsbDogdmFyKC0tc3BpZmZ5LWNvbG9ycy1iYWNrZ3JvdW5kLWxpZ2h0KTtcbiAgICAgIH1cbiAgICAgIC5zcGlmZnktZmxvYXRpbmctYnV0dG9uLXBvc2l0aW9uIHtcbiAgICAgICAgdG9wOiAxNTBweCAhaW1wb3J0YW50O1xuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjBweCkge1xuICAgICAgICAgIHRvcDogMTAwcHggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgW2RhdGEtdGVzdGlkPVwiZmxvYXRpbmctY2hhdC1zaGFkb3ctZG9tLWNvbnRhaW5lclwiXSB7XG4gICAgICAgIHotaW5kZXg6IDIxNDc0ODM2NDcgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgIC5zcGlmZnktY2hhdC1oZWFkZXItY2xvc2UtYnV0dG9uICB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1zcGlmZnktY29sb3JzLWJhY2tncm91bmQtcHJpbWFyeSk7XG4gICAgICB9XG4gICAgICAuc3BpZmZ5LW1vZGFsLXNoZWV0LWZvb3RlciAuc3BpZmZ5LXN1Z2dlc3Rpb24tYnV0dG9uLXF1ZXN0aW9uLWNsYXNzIHN2ZyB7XG4gICAgICAgIGZpbGw6IHZhcigtLXNwaWZmeS1jb2xvcnMtdGV4dC1saW5rKSAhaW1wb3J0YW50O1xuICAgICAgICBzdHJva2U6IHZhcigtLXNwaWZmeS1jb2xvcnMtdGV4dC1saW5rKSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgLnNwaWZmeS1jaGF0LWhlYWRlci1jb250YWluZXIgaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxNTBweDtcbiAgICAgIH1cbiAgICAgIC5zcGlmZnktaW1hZ2UtcHJvbXB0LWNhcmQtY29udGFpbmVyIC5zcGlmZnktc3VnZ2VzdGlvbi1iYXItcm93IGJ1dHRvbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNwaWZmeS1jb2xvcnMtYmFja2dyb3VuZC1zZWNvbmRhcnkpICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1zcGlmZnktY29sb3JzLXRleHQtbGluaykgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgfVxuICAgICAgLnNwaWZmeS1pbWFnZS1wcm9tcHQtY2FyZC1jb250YWluZXIgLnNwaWZmeS1zdWdnZXN0aW9uLWJhci1yb3cgYnV0dG9uIHN2ZyB7XG4gICAgICAgIGZpbGw6IHZhcigtLXNwaWZmeS1jb2xvcnMtYWNjZW50LXByaW1hcnkpICFpbXBvcnRhbnQ7ICBcbiAgICAgICAgc3Ryb2tlOiB2YXIoLS1zcGlmZnktY29sb3JzLWFjY2VudC1wcmltYXJ5KSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgLnNwaWZmeS1pbWFnZS1wcm9tcHQtY2FyZC1jb250YWluZXIgLnNwaWZmeS1zdWdnZXN0aW9uLWJhci1yb3cgYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3BpZmZ5LWNvbG9ycy1iYWNrZ3JvdW5kLXNlY29uZGFyeS1kYXJrKSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgLnNwaWZmeS1jaGF0LXByZXZpZXctZm9vdGVyLWNvbnRhaW5lciBidXR0b24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zcGlmZnktY29sb3JzLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgLnNwaWZmeS1jaGF0LXByZXZpZXctZm9vdGVyLWNvbnRhaW5lciBidXR0b24gc3BhbiB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1zcGlmZnktY29sb3JzLXRleHQtbGluaykgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgIC5zcGlmZnktY2hhdC1wcmV2aWV3LWZvb3Rlci1jb250YWluZXIgYnV0dG9uOmhvdmVyIHNwYW4ge1xuICAgICAgICBjb2xvcjogdmFyKC0tc3BpZmZ5LWNvbG9ycy10ZXh0LWxpbmspICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICAuc3BpZmZ5LWNoYXQtcHJldmlldy1mb290ZXItY29udGFpbmVyIGJ1dHRvbiBzdmcge1xuICAgICAgICBmaWxsOiB2YXIoLS1zcGlmZnktY29sb3JzLWFjY2VudC1wcmltYXJ5KTtcbiAgICAgICAgc3Ryb2tlOiB2YXIoLS1zcGlmZnktY29sb3JzLWFjY2VudC1wcmltYXJ5KTtcbiAgICAgIH1cbiAgICAgIC5zcGlmZnktY2hhdC1wcmV2aWV3LWZvb3Rlci1jb250YWluZXIgYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3BpZmZ5LWNvbG9ycy1iYWNrZ3JvdW5kLXNlY29uZGFyeS1kYXJrKTtcbiAgICAgIH1cbiAgICAgIC5zcGlmZnktY2hhdC1wcmV2aWV3LWZvb3Rlci1jb250YWluZXIgYnV0dG9uOmhvdmVyIHN2ZyB7XG4gICAgICAgIGZpbGw6IHZhcigtLXNwaWZmeS1jb2xvcnMtYWNjZW50LXByaW1hcnkpICFpbXBvcnRhbnQ7XG4gICAgICAgIHN0cm9rZTogdmFyKC0tc3BpZmZ5LWNvbG9ycy1hY2NlbnQtcHJpbWFyeSkgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgIC5zcGlmZnktYmFjay10by1yZXN1bHRzLWJ1dHRvbiB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1zcGlmZnktY29sb3JzLXRleHQtbGlnaHQpO1xuICAgICAgfVxuICAgICAgLnNwaWZmeS1iYWNrLXRvLXJlc3VsdHMtYnV0dG9uIHN2ZyB7XG4gICAgICAgIGZpbGw6IHZhcigtLXNwaWZmeS1jb2xvcnMtYWNjZW50LXByaW1hcnkpICFpbXBvcnRhbnQ7XG4gICAgICAgIHN0cm9rZTogdmFyKC0tc3BpZmZ5LWNvbG9ycy1hY2NlbnQtcHJpbWFyeSkgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0NzlweCkge1xuICAgICAgICAjc3BpZmZ5LWFpLXByb21wdC1jYXJkIHtcbiAgICAgICAgICBncmlkLWFyZWE6IDIgLyAxIC8gMiAvIC0xICFpbXBvcnRhbnQ7XG4gICAgICAgICAgbWluLWhlaWdodDogMzUwcHggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAuc3BpZmZ5LWltYWdlLXByb21wdC1jYXJkLWNvbnRhaW5lciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiAwJSwgMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgICAgICBTZWFyY2ggTGF5b3V0ICYgVmlzaWJpbGl0eSBSdWxlc1xuICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiAgICAgIFxuICAgICAgLnNlYXJjaC1yZXN1bHRzLWVudHJ5LXBvaW50IH4gLnNlY3Rpb24tcGFkZGluZy50ZXh0LXNlY3Rpb24udGV4dC1kYXJrIHtcbiAgICAgICAgY29sb3I6IHJlZDtcbiAgICAgIH1cblxuICAgICAgLyogLS0gUnVsZXMgdG8gaGlkZSBvcmlnaW5hbCBzaXRlIGVsZW1lbnRzIC0tICovXG4gICAgICAuZ2xvYmFsLWVudHJ5LWRlc2t0b3AgKyAuanMtc2VhcmNoLXRyaWdnZXIuc2VhcmNoLFxuICAgICAgLmdsb2JhbC1lbnRyeS1zbWFsbC1kZXNrdG9wICsgLmpzLXNlYXJjaC10cmlnZ2VyLnNlYXJjaCxcbiAgICAgIC5nbG9iYWwtZW50cnktZGVza3RvcCArIC5zZWFyY2gtcG9wZG93bixcbiAgICAgIC5nbG9iYWwtZW50cnktc21hbGwtZGVza3RvcCArIC5zZWFyY2gtcG9wZG93bixcbiAgICAgICNzcGlmZnktYWktZ2xvYmFsLXNlYXJjaC1lbnRyeXBvaW50LW1vYmlsZS1pY29uLW9ubHkgKyAuc2VhcmNoLXBvcGRvd24sXG4gICAgICAjc3BpZmZ5LWFpLWdsb2JhbC1zZWFyY2gtZW50cnlwb2ludC1tb2JpbGUtaG9tZXBhZ2UgKyAuc2VhcmNoLXBvcGRvd24sXG4gICAgICAuZ2xvYmFsLWVudHJ5LWRlc2t0b3AgKyAubWFpbi1jb250ZW50LFxuICAgICAgLmdsb2JhbC1lbnRyeS1zbWFsbC1kZXNrdG9wICsgLm1haW4tY29udGVudCxcbiAgICAgIC5zZWFyY2gtcmVzdWx0cy1lbnRyeS1wb2ludCArIC5zaG9waWZ5LXNlY3Rpb24geyBcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICAvLyAuc2VhcmNoLXJlc3VsdHMtbm8tb3AgfiAqIHtcbiAgICAgIC8vICAgei1pbmRleDogMDtcbiAgICAgIC8vIH1cblxuICAgICAgI3NwaWZmeS1haS1nbG9iYWwtc2VhcmNoLWVudHJ5cG9pbnQtbW9iaWxlLmdsb2JhbC1lbnRyeS1tb2JpbGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICAgIFxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgICAgICNzcGlmZnktYWktZ2xvYmFsLXNlYXJjaC1lbnRyeXBvaW50LW1vYmlsZS5nbG9iYWwtZW50cnktbW9iaWxlIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgI3NwaWZmeS1haS1nbG9iYWwtc2VhcmNoLWVudHJ5cG9pbnQtbW9iaWxlLWljb24tb25seSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH0gXG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgI3NwaWZmeS1haS1nbG9iYWwtc2VhcmNoLWVudHJ5cG9pbnQuZ2xvYmFsLWVudHJ5LWRlc2t0b3Age1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgICAgICNzcGlmZnktYWktZ2xvYmFsLXNlYXJjaC1lbnRyeXBvaW50LXRhYmxldC5nbG9iYWwtZW50cnktc21hbGwtZGVza3RvcCB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAjc3BpZmZ5LWFpLWdsb2JhbC1zZWFyY2gtZW50cnlwb2ludC1tb2JpbGUuZ2xvYmFsLWVudHJ5LW1vYmlsZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIGAsXG4gIH07XG59O1xuXG5jb25zdCBiYW5kb2xpZXJQYWdlQ29uZmlnID0gKCk6IE9yZ1BhZ2VDb25maWcgPT4gKHtcbiAgcGFnZVZhcmlhbnRzOiBbXG4gICAge1xuICAgICAgdmFyaWFudElkOiBcInNlYXJjaC1yZXN1bHRzXCIsXG4gICAgICB2YXJpYW50VHlwZTogXCJzZWFyY2hcIixcbiAgICAgIHZhcmlhbnRUZXN0czogW1xuICAgICAgICB7IHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlVybFJlc29sdmVyIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5GZWF0dXJlR2F0ZSxcbiAgICAgICAgICBmZWF0dXJlR2F0ZTogRmVhdHVyZUdhdGVzLklzR2xvYmFsU2VhcmNoRW5hYmxlZCxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlF1ZXJ5UGFyYW0sXG4gICAgICAgICAgcXVlcnlQYXJhbTogXCJlc3FcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICB3aWRnZXRNb3VudGluZzogW1xuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50RGVza3RvcFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnREZXNrdG9wXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnRTbWFsbERlc2t0b3BcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50RGVza3RvcFwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJjaGF0UHJldmlld1BMUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UExQXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcInNlYXJjaFJlc3VsdHNFbnRyeVBvaW50UExQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwic2VhcmNoUmVzdWx0c0VudHJ5UG9pbnRcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludE9ubHlJY29uTW9iaWxlXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludE9ubHlJY29uTW9iaWxlXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcInNlYXJjaE92ZXJsYXlIb3N0XCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwic2VhcmNoT3ZlcmxheUhvc3RcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICB7XG4gICAgICB2YXJpYW50SWQ6IFwicGxwLXdpdGgtc2VhcmNoXCIsXG4gICAgICB2YXJpYW50VHlwZTogXCJwbHBcIixcbiAgICAgIHZhcmlhbnRUZXN0czogW1xuICAgICAgICB7IHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlVybFJlc29sdmVyIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5GZWF0dXJlR2F0ZSxcbiAgICAgICAgICBmZWF0dXJlR2F0ZTogRmVhdHVyZUdhdGVzLklzR2xvYmFsU2VhcmNoRW5hYmxlZCxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBwbHBJZEV4dHJhY3RvcjogXCJ1cmwtcmVzb2x2ZXItcGxwLWlkXCIsXG4gICAgICB3aWRnZXRNb3VudGluZzogW1xuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50RGVza3RvcFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnREZXNrdG9wXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnRTbWFsbERlc2t0b3BcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50RGVza3RvcFwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50TW9iaWxlXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludE1vYmlsZVwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50TW9iaWxlU2VhcmNoSWNvblwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnRNb2JpbGVTZWFyY2hJY29uXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UExQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQTFBcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludE9ubHlJY29uTW9iaWxlXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludE9ubHlJY29uTW9iaWxlXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcInNlYXJjaE92ZXJsYXlIb3N0XCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwic2VhcmNoT3ZlcmxheUhvc3RcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICB7XG4gICAgICB2YXJpYW50SWQ6IFwicGRwLXdpdGgtc2VhcmNoLWJhZ3NcIixcbiAgICAgIHZhcmlhbnRUeXBlOiBcInBkcFwiLFxuICAgICAgdmFyaWFudFRlc3RzOiBbXG4gICAgICAgIHsgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuVXJsUmVzb2x2ZXIgfSxcbiAgICAgICAge1xuICAgICAgICAgIHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLkZlYXR1cmVHYXRlLFxuICAgICAgICAgIGZlYXR1cmVHYXRlOiBGZWF0dXJlR2F0ZXMuSXNHbG9iYWxTZWFyY2hFbmFibGVkLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuSW5Db2xsZWN0aW9uLFxuICAgICAgICAgIGNvbGxlY3Rpb25zOiBbXCJiYWdzXCJdLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHByb2R1Y3RJZEV4dHJhY3RvcjogXCJ1cmwtcmVzb2x2ZXItcHJvZHVjdC1pZFwiLFxuICAgICAgd2lkZ2V0TW91bnRpbmc6IFtcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludERlc2t0b3BcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50RGVza3RvcFwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50U21hbGxEZXNrdG9wXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludERlc2t0b3BcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludE1vYmlsZVwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnRNb2JpbGVcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludE1vYmlsZVNlYXJjaEljb25cIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50TW9iaWxlU2VhcmNoSWNvblwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJ0b3BTdWdnZXN0aW9uQmFyUERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwidG9wU3VnZ2VzdGlvbnNCYXJCYWdzXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImJvdHRvbVN1Z2dlc3Rpb25CYXJQRFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJib3R0b21TdWdnZXN0aW9uc0JhclwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJjaGF0UHJldmlld1BEUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UERQXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnRPbmx5SWNvbk1vYmlsZVwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnRPbmx5SWNvbk1vYmlsZVwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJzZWFyY2hPdmVybGF5SG9zdFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcInNlYXJjaE92ZXJsYXlIb3N0XCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAge1xuICAgICAgdmFyaWFudElkOiBcInBkcC13aXRoLXNlYXJjaFwiLFxuICAgICAgdmFyaWFudFR5cGU6IFwicGRwXCIsXG4gICAgICB2YXJpYW50VGVzdHM6IFtcbiAgICAgICAgeyB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5VcmxSZXNvbHZlciB9LFxuICAgICAgICB7XG4gICAgICAgICAgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuRmVhdHVyZUdhdGUsXG4gICAgICAgICAgZmVhdHVyZUdhdGU6IEZlYXR1cmVHYXRlcy5Jc0dsb2JhbFNlYXJjaEVuYWJsZWQsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgcHJvZHVjdElkRXh0cmFjdG9yOiBcInVybC1yZXNvbHZlci1wcm9kdWN0LWlkXCIsXG4gICAgICB3aWRnZXRNb3VudGluZzogW1xuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50RGVza3RvcFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnREZXNrdG9wXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnRTbWFsbERlc2t0b3BcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50RGVza3RvcFwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50TW9iaWxlXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludE1vYmlsZVwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50TW9iaWxlU2VhcmNoSWNvblwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnRNb2JpbGVTZWFyY2hJY29uXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcInRvcFN1Z2dlc3Rpb25CYXJQRFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJ0b3BTdWdnZXN0aW9uc0JhclwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJib3R0b21TdWdnZXN0aW9uQmFyUERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiYm90dG9tU3VnZ2VzdGlvbnNCYXJcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQRFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJjaGF0UHJldmlld1BEUFwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50T25seUljb25Nb2JpbGVcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50T25seUljb25Nb2JpbGVcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwic2VhcmNoT3ZlcmxheUhvc3RcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJzZWFyY2hPdmVybGF5SG9zdFwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHZhcmlhbnRJZDogXCJob21lLXdpdGgtc2VhcmNoXCIsXG4gICAgICB2YXJpYW50VHlwZTogXCJob21lcGFnZVwiLFxuICAgICAgdmFyaWFudFRlc3RzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5VcmxSZXNvbHZlcixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLkZlYXR1cmVHYXRlLFxuICAgICAgICAgIGZlYXR1cmVHYXRlOiBGZWF0dXJlR2F0ZXMuSXNHbG9iYWxTZWFyY2hFbmFibGVkLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHdpZGdldE1vdW50aW5nOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnREZXNrdG9wSG9tZXBhZ2VcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50RGVza3RvcEhvbWVwYWdlXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnRTbWFsbERlc2t0b3BIb21lcGFnZVwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnREZXNrdG9wSG9tZXBhZ2VcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludE1vYmlsZUhvbWVwYWdlXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludE9ubHlJY29uTW9iaWxlXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcInNlYXJjaE92ZXJsYXlIb3N0XCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwic2VhcmNoT3ZlcmxheUhvc3RcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICB7XG4gICAgICB2YXJpYW50SWQ6IFwib3RoZXItd2l0aC1zZWFyY2hcIixcbiAgICAgIHZhcmlhbnRUeXBlOiBcIm90aGVyXCIsXG4gICAgICB2YXJpYW50VGVzdHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLkZlYXR1cmVHYXRlLFxuICAgICAgICAgIGZlYXR1cmVHYXRlOiBGZWF0dXJlR2F0ZXMuSXNHbG9iYWxTZWFyY2hFbmFibGVkLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuVXJsUmVzb2x2ZXIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgd2lkZ2V0TW91bnRpbmc6IFtcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludERlc2t0b3BcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50RGVza3RvcFwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50U21hbGxEZXNrdG9wXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludERlc2t0b3BcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludE9ubHlJY29uTW9iaWxlXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludE9ubHlJY29uTW9iaWxlXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcInNlYXJjaE92ZXJsYXlIb3N0XCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwic2VhcmNoT3ZlcmxheUhvc3RcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICB7XG4gICAgICB2YXJpYW50SWQ6IFwicGxwUGhvbmVDYXNlc1wiLFxuICAgICAgdmFyaWFudFR5cGU6IFwicGxwXCIsXG4gICAgICB2YXJpYW50VGVzdHM6IFtcbiAgICAgICAgeyB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5TaG9waWZ5UExQIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5QbHBJZCxcbiAgICAgICAgICBwbHBJZHM6IFtcImJhbmRvbGllci1jcm9zc2JvZHlcIiwgXCJ3cmlzdGxldC1waG9uZS1jYXNlc1wiLCBcImNhc2Utb25seVwiXSxcbiAgICAgICAgICBwbHBJZEV4dHJhY3RvcjogXCJzaG9waWZ5LWNvbGxlY3Rpb24taWRcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBwbHBJZEV4dHJhY3RvcjogXCJzaG9waWZ5LWNvbGxlY3Rpb24taWRcIixcbiAgICAgIHdpZGdldE1vdW50aW5nOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImltYWdlUHJvbXB0Q2FyZFBMUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImltYWdlUHJvbXB0Q2FyZFBMUFBob25lQ2FzZXNcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICB7XG4gICAgICB2YXJpYW50SWQ6IFwicGxwQWNjZXNzb3JpZXNcIixcbiAgICAgIHZhcmlhbnRUeXBlOiBcInBscFwiLFxuICAgICAgdmFyaWFudFRlc3RzOiBbXG4gICAgICAgIHsgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuU2hvcGlmeVBMUCB9LFxuICAgICAgICB7XG4gICAgICAgICAgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuUGxwSWQsXG4gICAgICAgICAgcGxwSWRzOiBbXCJzaG9wLWFsbC1hY2Nlc3Nvcmllc1wiXSxcbiAgICAgICAgICBwbHBJZEV4dHJhY3RvcjogXCJzaG9waWZ5LWNvbGxlY3Rpb24taWRcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBwbHBJZEV4dHJhY3RvcjogXCJzaG9waWZ5LWNvbGxlY3Rpb24taWRcIixcbiAgICAgIHdpZGdldE1vdW50aW5nOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImltYWdlUHJvbXB0Q2FyZFBMUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImltYWdlUHJvbXB0Q2FyZFBMUEFjY2Vzc29yaWVzXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAge1xuICAgICAgdmFyaWFudElkOiBcInBscEJhZ3NcIixcbiAgICAgIHZhcmlhbnRUeXBlOiBcInBscFwiLFxuICAgICAgdmFyaWFudFRlc3RzOiBbXG4gICAgICAgIHsgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuU2hvcGlmeVBMUCB9LFxuICAgICAgICB7XG4gICAgICAgICAgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuUGxwSWQsXG4gICAgICAgICAgcGxwSWRzOiBbXCJiYWdzXCJdLFxuICAgICAgICAgIHBscElkRXh0cmFjdG9yOiBcInNob3BpZnktY29sbGVjdGlvbi1pZFwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHBscElkRXh0cmFjdG9yOiBcInNob3BpZnktY29sbGVjdGlvbi1pZFwiLFxuICAgICAgd2lkZ2V0TW91bnRpbmc6IFtcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiaW1hZ2VQcm9tcHRDYXJkUExQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiaW1hZ2VQcm9tcHRDYXJkUExQQmFnc1wiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHZhcmlhbnRJZDogXCJwZHBQb3VjaGVzXCIsXG4gICAgICB2YXJpYW50VHlwZTogXCJwZHBcIixcbiAgICAgIHZhcmlhbnRUZXN0czogW1xuICAgICAgICB7IHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlNob3BpZnlQRFAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLkluQ29sbGVjdGlvbixcbiAgICAgICAgICBjb2xsZWN0aW9uczogW1wic2hvcC1hbGwtYmFncy1wb3VjaGVzXCJdLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHByb2R1Y3RJZEV4dHJhY3RvcjogXCJzaG9waWZ5LXByb2R1Y3QtdmFyaWFudC1pZFwiLFxuICAgICAgd2lkZ2V0TW91bnRpbmc6IFtcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwidG9wU3VnZ2VzdGlvbkJhclBEUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcInRvcFN1Z2dlc3Rpb25zQmFyUG91Y2hlc1wiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJjaGF0UHJldmlld1BEUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UERQXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImJvdHRvbVN1Z2dlc3Rpb25CYXJQRFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJib3R0b21TdWdnZXN0aW9uc0JhclwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHZhcmlhbnRJZDogXCJwZHBCYWdzXCIsXG4gICAgICB2YXJpYW50VHlwZTogXCJwZHBcIixcbiAgICAgIHZhcmlhbnRUZXN0czogW1xuICAgICAgICB7IHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlNob3BpZnlQRFAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLkluQ29sbGVjdGlvbixcbiAgICAgICAgICBjb2xsZWN0aW9uczogW1wiYmFnc1wiXSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBwcm9kdWN0SWRFeHRyYWN0b3I6IFwic2hvcGlmeS1wcm9kdWN0LXZhcmlhbnQtaWRcIixcbiAgICAgIHdpZGdldE1vdW50aW5nOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcInRvcFN1Z2dlc3Rpb25CYXJQRFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJ0b3BTdWdnZXN0aW9uc0JhckJhZ3NcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQRFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJjaGF0UHJldmlld1BEUFwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJib3R0b21TdWdnZXN0aW9uQmFyUERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiYm90dG9tU3VnZ2VzdGlvbnNCYXJcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICB7XG4gICAgICB2YXJpYW50SWQ6IFwicGxwU2hvcEFsbFwiLFxuICAgICAgdmFyaWFudFR5cGU6IFwicGxwXCIsXG4gICAgICB2YXJpYW50VGVzdHM6IFtcbiAgICAgICAgeyB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5TaG9waWZ5UExQIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5QbHBJZCxcbiAgICAgICAgICBwbHBJZHM6IFtcImFsbFwiXSxcbiAgICAgICAgICBwbHBJZEV4dHJhY3RvcjogXCJzaG9waWZ5LWNvbGxlY3Rpb24taWRcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBwbHBJZEV4dHJhY3RvcjogXCJzaG9waWZ5LWNvbGxlY3Rpb24taWRcIixcbiAgICAgIHdpZGdldE1vdW50aW5nOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImltYWdlUHJvbXB0Q2FyZFBMUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImltYWdlUHJvbXB0Q2FyZFBMUFNob3BBbGxcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICB7XG4gICAgICB2YXJpYW50SWQ6IFwicGxwXCIsXG4gICAgICB2YXJpYW50VHlwZTogXCJwbHBcIixcbiAgICAgIHZhcmlhbnRUZXN0czogW3sgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuU2hvcGlmeVBMUCB9XSxcbiAgICAgIHBscElkRXh0cmFjdG9yOiBcInNob3BpZnktY29sbGVjdGlvbi1pZFwiLFxuICAgICAgd2lkZ2V0TW91bnRpbmc6IFtcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiaW1hZ2VQcm9tcHRDYXJkUExQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiaW1hZ2VQcm9tcHRDYXJkUExQXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAge1xuICAgICAgdmFyaWFudElkOiBcInBkcFwiLFxuICAgICAgdmFyaWFudFR5cGU6IFwicGRwXCIsXG4gICAgICB2YXJpYW50VGVzdHM6IFt7IHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlNob3BpZnlQRFAgfV0sXG4gICAgICBwcm9kdWN0SWRFeHRyYWN0b3I6IFwic2hvcGlmeS1wcm9kdWN0LXZhcmlhbnQtaWRcIixcbiAgICAgIHdpZGdldE1vdW50aW5nOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcInRvcFN1Z2dlc3Rpb25CYXJQRFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJ0b3BTdWdnZXN0aW9uc0JhclwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJjaGF0UHJldmlld1BEUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UERQXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImJvdHRvbVN1Z2dlc3Rpb25CYXJQRFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJib3R0b21TdWdnZXN0aW9uc0JhclwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICBdLFxuICBtb3VudGluZ0NvbmZpZ3M6IHtcbiAgICBpbWFnZVByb21wdENhcmRQTFA6IHtcbiAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiaW1hZ2VQcm9tcHRDYXJkUExQXCIsXG4gICAgICBjb250YWluZXJJZDogUFJPTVBUX0NBUkRfSUQsXG4gICAgICB0ZXN0SWQ6IFBST01QVF9DQVJEX1RFU1RJRCxcbiAgICAgIGluc2VydGlvblBvaW50OiB7XG4gICAgICAgIHNlbGVjdG9yOiBcIiNBamF4aW5hdGVMb29wXCIsXG4gICAgICAgIGluc2VydGlvblR5cGU6IERPTUluc2VydGlvblR5cGUuQUZURVIsXG4gICAgICB9LFxuICAgICAgZ3JpZEluc2VydGlvblR5cGU6IEdyaWRJbnNlcnRpb25UeXBlLkZJWEVEXzEsXG4gICAgICBkaXZDaGVja1NlbGVjdG9yOiBcInRlc3RcIixcbiAgICAgIHN0eWxlOiB7XG4gICAgICAgIGdyaWRSb3c6IFwiMiAvIDJcIixcbiAgICAgICAgZ3JpZENvbHVtbjogXCIxIC8gMVwiLFxuICAgICAgfSxcbiAgICB9LFxuXG4gICAgY2hhdFByZXZpZXdQRFA6IHtcbiAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQRFBcIixcbiAgICAgIGNvbnRhaW5lcklkOiBDSEFUX1BSRVZJRVdfQ09OVEFJTkVSX0lELFxuICAgICAgdGVzdElkOiBDSEFUX1BSRVZJRVdfVEVTVElELFxuICAgICAgaW5zZXJ0aW9uUG9pbnQ6IHtcbiAgICAgICAgc2VsZWN0b3I6IFwiLnByb2R1Y3Qtc2luZ2xlIGRpdlwiLFxuICAgICAgICBpbnNlcnRpb25UeXBlOiBET01JbnNlcnRpb25UeXBlLkFQUEVORF9DSElMRCxcbiAgICAgIH0sXG4gICAgfSxcblxuICAgIHRvcFN1Z2dlc3Rpb25CYXJQRFA6IHtcbiAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwidG9wU3VnZ2VzdGlvbkJhclBEUFwiLFxuICAgICAgY29udGFpbmVySWQ6IFRPUF9TVUdHRVNUSU9OX0JBUl9QRFBfSUQsXG4gICAgICB0ZXN0SWQ6IFRPUF9TVUdHRVNUSU9OX0JBUl9URVNUSUQsXG4gICAgICBpbnNlcnRpb25Qb2ludDoge1xuICAgICAgICBzZWxlY3RvcjogXCIucHJvZHVjdF9fcHJpY2UtYW5kLXJhdGluZ1wiLFxuICAgICAgICBpbnNlcnRpb25UeXBlOiBET01JbnNlcnRpb25UeXBlLkFGVEVSLFxuICAgICAgfSxcbiAgICAgIHN0eWxlOiB7XG4gICAgICAgIG1hcmdpbkJvdHRvbTogXCIxNnB4XCIsXG4gICAgICB9LFxuICAgIH0sXG5cbiAgICBib3R0b21TdWdnZXN0aW9uQmFyUERQOiB7XG4gICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImJvdHRvbVN1Z2dlc3Rpb25CYXJQRFBcIixcbiAgICAgIGNvbnRhaW5lcklkOiBCT1RUT01fUkVWSUVXU19CQVJfSUQsXG4gICAgICB0ZXN0SWQ6IEJPVFRPTV9TVUdHRVNUSU9OX0JBUl9URVNUSUQsXG4gICAgICBpbnNlcnRpb25Qb2ludDoge1xuICAgICAgICBzZWxlY3RvcjogXCIueW90cG8tc21hcnQtdG9waWNzLXBhbmVsXCIsXG4gICAgICAgIGluc2VydGlvblR5cGU6IERPTUluc2VydGlvblR5cGUuQUZURVIsXG4gICAgICB9LFxuICAgICAgc3R5bGU6IHtcbiAgICAgICAgd2lkdGg6IFwiMTAwJVwiLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHNlYXJjaE92ZXJsYXlIb3N0OiB7XG4gICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcInNlYXJjaE92ZXJsYXlIb3N0XCIsXG4gICAgICBjb250YWluZXJJZDogU0VBUkNIX09WRVJMQVlfRU5UUllQT0lOVF9JRCxcbiAgICAgIHRlc3RJZDogU0VBUkNIX09WRVJMQVlfSE9TVF9URVNUSUQsXG4gICAgICBpbnNlcnRpb25Qb2ludDoge1xuICAgICAgICBzZWxlY3RvcjogXCJib2R5XCIsXG4gICAgICAgIGluc2VydGlvblR5cGU6IERPTUluc2VydGlvblR5cGUuQVBQRU5EX0NISUxELFxuICAgICAgfSxcbiAgICAgIGNsYXNzTmFtZTogXCJzcGlmZnktb3ZlcmxheS1ob3N0XCIsXG4gICAgfSxcbiAgICBzZWFyY2hSZXN1bHRzRW50cnlQb2ludFBMUDoge1xuICAgICAgbW91bnRpbmdDb25maWdJZDogXCJzZWFyY2hSZXN1bHRzRW50cnlQb2ludFBMUFwiLFxuICAgICAgY29udGFpbmVySWQ6IFNFQVJDSF9SRVNVTFRTX0VOVFJZUE9JTlRfSUQsXG4gICAgICB0ZXN0SWQ6IFNFQVJDSF9SRVNVTFRTX0VOVFJZUE9JTlRfVEVTVElELFxuICAgICAgaW5zZXJ0aW9uUG9pbnQ6IHtcbiAgICAgICAgc2VsZWN0b3I6IFwiLm1haW4tY29udGVudFwiLFxuICAgICAgICBpbnNlcnRpb25UeXBlOiBET01JbnNlcnRpb25UeXBlLkJFRk9SRSxcbiAgICAgIH0sXG4gICAgICBzdXBwcmVzc2lvblNlbGVjdG9yOiBcIiNNYWluQ29udGVudFwiLFxuICAgICAgY2xhc3NOYW1lOiBcInNlYXJjaC1yZXN1bHRzLWVudHJ5LXBvaW50XCIsXG4gICAgICBzdHlsZToge1xuICAgICAgICBtYXJnaW5Cb3R0b206IFwiNjBweFwiLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHNlYXJjaFJlc3VsdHNFbnRyeVBvaW50UERQOiB7XG4gICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcInNlYXJjaFJlc3VsdHNFbnRyeVBvaW50UERQXCIsXG4gICAgICBjb250YWluZXJJZDogU0VBUkNIX1JFU1VMVFNfRU5UUllQT0lOVF9JRCxcbiAgICAgIHRlc3RJZDogU0VBUkNIX1JFU1VMVFNfRU5UUllQT0lOVF9URVNUSUQsXG4gICAgICBpbnNlcnRpb25Qb2ludDoge1xuICAgICAgICBzZWxlY3RvcjogXCIubWFpbi1jb250ZW50XCIsXG4gICAgICAgIGluc2VydGlvblR5cGU6IERPTUluc2VydGlvblR5cGUuQkVGT1JFLFxuICAgICAgfSxcbiAgICAgIHN1cHByZXNzaW9uU2VsZWN0b3I6IFwiI01haW5Db250ZW50XCIsXG4gICAgICBjbGFzc05hbWU6IFwic2VhcmNoLXJlc3VsdHMtZW50cnktcG9pbnRcIixcbiAgICAgIHN0eWxlOiB7XG4gICAgICAgIG1hcmdpbkJvdHRvbTogXCI2MHB4XCIsXG4gICAgICB9LFxuICAgIH0sXG4gICAgZ2xvYmFsU2VhcmNoRW50cnlQb2ludERlc2t0b3BIb21lcGFnZToge1xuICAgICAgbW91bnRpbmdDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50RGVza3RvcEhvbWVwYWdlXCIsXG4gICAgICBjb250YWluZXJJZDogSE9NRVBBR0VfREVTS1RPUF9HTE9CQUxfU0VBUkNIX0VOVFJZUE9JTlRfSUQsXG4gICAgICB0ZXN0SWQ6IEdMT0JBTF9TRUFSQ0hfRU5UUllQT0lOVF9URVNUSUQsXG4gICAgICBpbnNlcnRpb25Qb2ludDoge1xuICAgICAgICBzZWxlY3RvcjpcbiAgICAgICAgICBcIi5tZW51X19pdGVtLm1lbnVfX2l0ZW0tLWljb25zIC5zZWFyY2gtcG9wZG93bi5tZW51X19pdGVtLm1lbnVfX2l0ZW0tLWljb25cIixcbiAgICAgICAgaW5zZXJ0aW9uVHlwZTogRE9NSW5zZXJ0aW9uVHlwZS5CRUZPUkUsXG4gICAgICB9LFxuICAgICAgc3VwcHJlc3Npb25TZWxlY3RvcjogXCIubWVudV9faXRlbS5tZW51X19pdGVtLS1pY29ucyAuc2VhcmNoLXBvcGRvd25cIixcbiAgICAgIGNsYXNzTmFtZTogXCJnbG9iYWwtZW50cnktZGVza3RvcC1ob21lcGFnZVwiLFxuICAgICAgc3R5bGU6IHtcbiAgICAgICAgbWFyZ2luOiBcIjAgNXB4IDAgN3B4XCIsXG4gICAgICB9LFxuICAgIH0sXG4gICAgZ2xvYmFsU2VhcmNoRW50cnlQb2ludFNtYWxsRGVza3RvcEhvbWVwYWdlOiB7XG4gICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnRTbWFsbERlc2t0b3BIb21lcGFnZVwiLFxuICAgICAgY29udGFpbmVySWQ6IEhPTUVQQUdFX1RBQkxFVF9HTE9CQUxfU0VBUkNIX0VOVFJZUE9JTlRfSUQsXG4gICAgICB0ZXN0SWQ6IEdMT0JBTF9TRUFSQ0hfRU5UUllQT0lOVF9URVNUSUQsXG4gICAgICBpbnNlcnRpb25Qb2ludDoge1xuICAgICAgICBzZWxlY3RvcjpcbiAgICAgICAgICBcIiNOYXZTdGFuZGFyZCAubWVudV9faXRlbS5tZW51X19pdGVtLS1pY29uLm1lbnVfX2l0ZW0td2lzaGxpc3RcIixcbiAgICAgICAgaW5zZXJ0aW9uVHlwZTogRE9NSW5zZXJ0aW9uVHlwZS5BREpBQ0VOVF9BRlRFUl9FTkQsXG4gICAgICB9LFxuICAgICAgc3VwcHJlc3Npb25TZWxlY3RvcjogXCIuc2VhcmNoLXBvcGRvd25cIixcbiAgICAgIGNsYXNzTmFtZTogXCJnbG9iYWwtZW50cnktc21hbGwtZGVza3RvcC1ob21lcGFnZVwiLFxuICAgICAgc3R5bGU6IHtcbiAgICAgICAgbWFyZ2luOiBcIjAgNXB4IDAgN3B4XCIsXG4gICAgICB9LFxuICAgIH0sXG4gICAgZ2xvYmFsU2VhcmNoRW50cnlQb2ludE1vYmlsZUhvbWVwYWdlOiB7XG4gICAgICAvLyBUaGlzIGlzIHRoZSBzYW1lIGFzIGdsb2JhbFNlYXJjaEVudHJ5UG9pbnRPbmx5SWNvbk1vYmlsZSBleGNlcHQgdGhlIGNsYXNzIGlzIGRpZmZlcmVudCBhbGxvd2luZyB1cyB0byBub3QgaGlkZSBpdCB3aGVuIHRoZSBzY3JlZW5zaXplIGlzIHNtYWxsLiBJdCdzIHVzZWQgb24gaG9tZXBhZ2UgYW5kICdvdGhlcicgcGFnZXNcbiAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludE1vYmlsZUhvbWVwYWdlXCIsXG4gICAgICBjb250YWluZXJJZDogSE9NRVBBR0VfTU9CSUxFX0dMT0JBTF9TRUFSQ0hfRU5UUllQT0lOVF9JRCxcbiAgICAgIHRlc3RJZDogR0xPQkFMX1NFQVJDSF9FTlRSWVBPSU5UX1RFU1RJRCxcbiAgICAgIGluc2VydGlvblBvaW50OiB7XG4gICAgICAgIHNlbGVjdG9yOiBcIi5zZWFyY2gtcG9wZG93bi5tb2JpbGUtbWVudV9fYnV0dG9uXCIsXG4gICAgICAgIGluc2VydGlvblR5cGU6IERPTUluc2VydGlvblR5cGUuQkVGT1JFLFxuICAgICAgfSxcbiAgICAgIGNsYXNzTmFtZTogXCJnbG9iYWwtZW50cnktbW9iaWxlLWhvbWVwYWdlXCIsXG4gICAgICBzdHlsZToge1xuICAgICAgICBtYXJnaW46IFwiNnB4XCIsXG4gICAgICB9LFxuICAgIH0sXG4gICAgZ2xvYmFsU2VhcmNoRW50cnlQb2ludERlc2t0b3A6IHtcbiAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludERlc2t0b3BcIixcbiAgICAgIGNvbnRhaW5lcklkOiBHTE9CQUxfU0VBUkNIX0VOVFJZUE9JTlRfSUQsXG4gICAgICB0ZXN0SWQ6IEdMT0JBTF9TRUFSQ0hfRU5UUllQT0lOVF9URVNUSUQsXG4gICAgICBpbnNlcnRpb25Qb2ludDoge1xuICAgICAgICBzZWxlY3RvcjpcbiAgICAgICAgICBcIi5tZW51X19pdGVtLm1lbnVfX2l0ZW0tLWljb25zIC5zZWFyY2gtcG9wZG93bi5tZW51X19pdGVtLm1lbnVfX2l0ZW0tLWljb25cIixcbiAgICAgICAgaW5zZXJ0aW9uVHlwZTogRE9NSW5zZXJ0aW9uVHlwZS5CRUZPUkUsXG4gICAgICB9LFxuICAgICAgY2xhc3NOYW1lOiBcImdsb2JhbC1lbnRyeS1kZXNrdG9wXCIsXG4gICAgICBzdHlsZToge1xuICAgICAgICBtYXJnaW46IFwiMCA1cHggMCA3cHhcIixcbiAgICAgIH0sXG4gICAgfSxcbiAgICBnbG9iYWxTZWFyY2hFbnRyeVBvaW50U21hbGxEZXNrdG9wOiB7XG4gICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnRTbWFsbERlc2t0b3BcIixcbiAgICAgIGNvbnRhaW5lcklkOiBUQUJMRVRfR0xPQkFMX1NFQVJDSF9FTlRZUE9JTlRfSUQsXG4gICAgICB0ZXN0SWQ6IEdMT0JBTF9TRUFSQ0hfRU5UUllQT0lOVF9URVNUSUQsXG4gICAgICBpbnNlcnRpb25Qb2ludDoge1xuICAgICAgICBzZWxlY3RvcjpcbiAgICAgICAgICBcIiNOYXZTdGFuZGFyZCAubWVudV9faXRlbS5tZW51X19pdGVtLS1pY29uLm1lbnVfX2l0ZW0td2lzaGxpc3RcIixcbiAgICAgICAgaW5zZXJ0aW9uVHlwZTogRE9NSW5zZXJ0aW9uVHlwZS5BREpBQ0VOVF9BRlRFUl9FTkQsXG4gICAgICB9LFxuICAgICAgY2xhc3NOYW1lOiBcImdsb2JhbC1lbnRyeS1zbWFsbC1kZXNrdG9wXCIsXG4gICAgICBzdHlsZToge1xuICAgICAgICBtYXJnaW46IFwiMCA1cHggMCA3cHhcIixcbiAgICAgIH0sXG4gICAgfSxcbiAgICBnbG9iYWxTZWFyY2hFbnRyeVBvaW50TW9iaWxlOiB7XG4gICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnRNb2JpbGVcIixcbiAgICAgIGNvbnRhaW5lcklkOiBNT0JJTEVfR0xPQkFMX1NFQVJDSF9FTlRSWVBPSU5UX0lELFxuICAgICAgdGVzdElkOiBHTE9CQUxfU0VBUkNIX0VOVFJZUE9JTlRfVEVTVElELFxuICAgICAgaW5zZXJ0aW9uUG9pbnQ6IHtcbiAgICAgICAgc2VsZWN0b3I6IFwiLm1haW4tY29udGVudFwiLFxuICAgICAgICBpbnNlcnRpb25UeXBlOiBET01JbnNlcnRpb25UeXBlLkJFRk9SRSxcbiAgICAgIH0sXG4gICAgICBjbGFzc05hbWU6IFwiZ2xvYmFsLWVudHJ5LW1vYmlsZVwiLFxuICAgICAgc3R5bGU6IHtcbiAgICAgICAgbWFyZ2luOiBcIjhweFwiLFxuICAgICAgfSxcbiAgICB9LFxuICAgIGdsb2JhbFNlYXJjaEVudHJ5UG9pbnRPbmx5SWNvbk1vYmlsZToge1xuICAgICAgbW91bnRpbmdDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50T25seUljb25Nb2JpbGVcIixcbiAgICAgIGNvbnRhaW5lcklkOiBNT0JJTEVfSUNPTl9PTkxZX0dMT0JBTF9TRUFSQ0hfRU5UUllQT0lOVF9JRCxcbiAgICAgIHRlc3RJZDogR0xPQkFMX1NFQVJDSF9FTlRSWVBPSU5UX1RFU1RJRCxcbiAgICAgIGluc2VydGlvblBvaW50OiB7XG4gICAgICAgIHNlbGVjdG9yOiBcIi5zZWFyY2gtcG9wZG93bi5tb2JpbGUtbWVudV9fYnV0dG9uXCIsXG4gICAgICAgIGluc2VydGlvblR5cGU6IERPTUluc2VydGlvblR5cGUuQURKQUNFTlRfQkVGT1JFX0JFR0lOLFxuICAgICAgfSxcbiAgICAgIGNsYXNzTmFtZTogXCJnbG9iYWwtZW50cnktbW9iaWxlLW1lbnUtaWNvblwiLFxuICAgICAgc3R5bGU6IHtcbiAgICAgICAgbWFyZ2luOiBcIjZweFwiLFxuICAgICAgfSxcbiAgICB9LFxuICB9LFxuICB3aWRnZXRDb25maWdzOiB7XG4gICAgaW1hZ2VQcm9tcHRDYXJkUExQUGhvbmVDYXNlczoge1xuICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiaW1hZ2VQcm9tcHRDYXJkXCIsXG4gICAgICB0eXBlOiBXaWRnZXRUeXBlLkltYWdlUHJvbXB0Q2FyZCxcbiAgICAgIHVybDogQ2RuU2VydmljZS5nZXRBc3NldFVSTChcbiAgICAgICAgXCJpbWFnZS1wcm9tcHQtY2FyZC0yLnBuZ1wiLFxuICAgICAgICBPcmdTaG9ydE5hbWUuQmFuZG9saWVyXG4gICAgICApLFxuICAgICAgbGlnaHRUZXh0OiB0cnVlLFxuICAgICAgdGl0bGU6IFwiV2hhdCBjYW4gd2UgaGVscCB5b3UgZmluZCB0b2RheT9cIixcbiAgICAgIHN1YnRpdGxlOiBbXG4gICAgICAgIFwiQ3Jvc3Nib2R5IHZzLiB3cmlzdGxldOKAlHdoYXTigJlzIHRoZSBkaWZmZXJlbmNlP1wiLFxuICAgICAgICBcIkNhbiBJIG1peCBhbmQgbWF0Y2ggc3RyYXBzIGFuZCB3cmlzdGxldHM/XCIsXG4gICAgICAgIFwiRG9lcyBpdCBmaXQgY2FyZHMgb3IgZXNzZW50aWFscz9cIixcbiAgICAgICAgXCJIb3cgcHJvdGVjdGVkIHdpbGwgbXkgcGhvbmUgYmU/XCIsXG4gICAgICAgIFwiRG8geW91IG9mZmVyIGJ1bmRsZXMgb3Igc2V0cz9cIixcbiAgICAgICAgXCJDYW4gSSB1c2UgdGhpcyBjYXNlIHdpdGhvdXQgYSBzdHJhcD9cIixcbiAgICAgIF0sXG4gICAgICBzdGF0aWNTdWdnZXN0aW9uQ29waWVzOiBbXG4gICAgICAgIFwiV2lsbCB0aGlzIGZpdCBteSBwaG9uZT9cIixcbiAgICAgICAgXCJDcm9zc2JvZHkgdnMuIHdyaXN0bGV04oCUd2hhdOKAmXMgdGhlIGRpZmZlcmVuY2U/XCIsXG4gICAgICAgIFwiQ2FuIEkgbWl4IGFuZCBtYXRjaCBzdHJhcHMgYW5kIHdyaXN0bGV0cz9cIixcbiAgICAgICAgXCJEb2VzIGl0IGZpdCBjYXJkcyBvciBlc3NlbnRpYWxzP1wiLFxuICAgICAgICBcIkhvdyBwcm90ZWN0ZWQgd2lsbCBteSBwaG9uZSBiZT9cIixcbiAgICAgICAgXCJEbyB5b3Ugb2ZmZXIgYnVuZGxlcyBvciBzZXRzP1wiLFxuICAgICAgICBcIkNhbiBJIHVzZSB0aGlzIGNhc2Ugd2l0aG91dCBhIHN0cmFwP1wiLFxuICAgICAgXSxcbiAgICAgIHVzZXJRdWVyeUJ1dHRvbkNvbmZpZzoge1xuICAgICAgICB2YXJpYW50OiBcInVuZGVybGluZUxpZ2h0XCIsXG4gICAgICAgIHBsYWNlaG9sZGVyVGV4dDogXCJOZWVkIHNvbWV0aGluZyBzcGVjaWFsP1wiLFxuICAgICAgICBpY29uOiBcInNlbmRBcnJvd1wiLFxuICAgICAgfSxcbiAgICB9IHNhdGlzZmllcyBJbWFnZVByb21wdFdpZGdldENvbmZpZyxcbiAgICBpbWFnZVByb21wdENhcmRQTFBBY2Nlc3Nvcmllczoge1xuICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiaW1hZ2VQcm9tcHRDYXJkXCIsXG4gICAgICB0eXBlOiBXaWRnZXRUeXBlLkltYWdlUHJvbXB0Q2FyZCxcbiAgICAgIHVybDogQ2RuU2VydmljZS5nZXRBc3NldFVSTChcbiAgICAgICAgXCJpbWFnZS1wcm9tcHQtY2FyZC0yLnBuZ1wiLFxuICAgICAgICBPcmdTaG9ydE5hbWUuQmFuZG9saWVyXG4gICAgICApLFxuICAgICAgbGlnaHRUZXh0OiB0cnVlLFxuICAgICAgdGl0bGU6IFwiV2hhdCBjYW4gd2UgaGVscCB5b3UgZmluZCB0b2RheT9cIixcbiAgICAgIHN1YnRpdGxlOiBbXG4gICAgICAgIFwiQ2FuIEkgbWl4IGFuZCBtYXRjaCBjb2xvcnMgb3Igc3R5bGVzP1wiLFxuICAgICAgICBcIkhvdyBkbyB0aGVzZSBhdHRhY2ggdG8gY2FzZXMgYW5kIGJhZ3M/XCIsXG4gICAgICAgIFwiQXJlIGFjY2Vzc29yaWVzIGN1c3RvbWl6YWJsZT9cIixcbiAgICAgICAgXCJDYW4gSSBjdXN0b21pemUgbXkgQmFuZG9saWVyP1wiLFxuICAgICAgXSxcbiAgICAgIHN0YXRpY1N1Z2dlc3Rpb25Db3BpZXM6IFtcbiAgICAgICAgXCJDYW4gSSBtaXggYW5kIG1hdGNoIGNvbG9ycyBvciBzdHlsZXM/XCIsXG4gICAgICAgIFwiSG93IGRvIHRoZXNlIGF0dGFjaCB0byBjYXNlcyBhbmQgYmFncz9cIixcbiAgICAgICAgXCJBcmUgYWNjZXNzb3JpZXMgY3VzdG9taXphYmxlP1wiLFxuICAgICAgICBcIkNhbiBJIGN1c3RvbWl6ZSBteSBCYW5kb2xpZXI/XCIsXG4gICAgICBdLFxuICAgICAgdXNlclF1ZXJ5QnV0dG9uQ29uZmlnOiB7XG4gICAgICAgIHZhcmlhbnQ6IFwidW5kZXJsaW5lTGlnaHRcIixcbiAgICAgICAgcGxhY2Vob2xkZXJUZXh0OiBcIk5lZWQgc29tZXRoaW5nIHNwZWNpYWw/XCIsXG4gICAgICAgIGljb246IFwic2VuZEFycm93XCIsXG4gICAgICB9LFxuICAgIH0gc2F0aXNmaWVzIEltYWdlUHJvbXB0V2lkZ2V0Q29uZmlnLFxuICAgIGltYWdlUHJvbXB0Q2FyZFBMUEJhZ3M6IHtcbiAgICAgIHdpZGdldENvbmZpZ0lkOiBcImltYWdlUHJvbXB0Q2FyZFwiLFxuICAgICAgdHlwZTogV2lkZ2V0VHlwZS5JbWFnZVByb21wdENhcmQsXG4gICAgICB1cmw6IENkblNlcnZpY2UuZ2V0QXNzZXRVUkwoXG4gICAgICAgIFwiaW1hZ2UtcHJvbXB0LWNhcmQtMi5wbmdcIixcbiAgICAgICAgT3JnU2hvcnROYW1lLkJhbmRvbGllclxuICAgICAgKSxcbiAgICAgIGxpZ2h0VGV4dDogdHJ1ZSxcbiAgICAgIHRpdGxlOiBcIldoYXQgY2FuIHdlIGhlbHAgeW91IGZpbmQgdG9kYXk/XCIsXG4gICAgICBzdWJ0aXRsZTogW1xuICAgICAgICBcIkFyZSB0aGUgYmFncyBkZXNpZ25lZCB0byBob2xkIHBob25lcz9cIixcbiAgICAgICAgXCJDYW4gSSBhdHRhY2ggYSBCYW5kb2xpZXIgc3RyYXAgdG8gdGhpcyBiYWc/XCIsXG4gICAgICAgIFwiRG9lcyBpdCBoYXZlIGludGVyaW9yIHBvY2tldHM/XCIsXG4gICAgICAgIFwiSXMgaXQgbWFkZSBvZiByZWFsIGxlYXRoZXI/XCIsXG4gICAgICAgIFwiQ2FuIHRoZSBzdHJhcCBiZSByZW1vdmVkP1wiLFxuICAgICAgXSxcbiAgICAgIHN0YXRpY1N1Z2dlc3Rpb25Db3BpZXM6IFtcbiAgICAgICAgXCJBcmUgdGhlIGJhZ3MgZGVzaWduZWQgdG8gaG9sZCBwaG9uZXM/XCIsXG4gICAgICAgIFwiQ2FuIEkgYXR0YWNoIGEgQmFuZG9saWVyIHN0cmFwIHRvIHRoaXMgYmFnP1wiLFxuICAgICAgICBcIkRvZXMgaXQgaGF2ZSBpbnRlcmlvciBwb2NrZXRzP1wiLFxuICAgICAgICBcIklzIGl0IG1hZGUgb2YgcmVhbCBsZWF0aGVyP1wiLFxuICAgICAgICBcIkNhbiB0aGUgc3RyYXAgYmUgcmVtb3ZlZD9cIixcbiAgICAgIF0sXG4gICAgICB1c2VyUXVlcnlCdXR0b25Db25maWc6IHtcbiAgICAgICAgdmFyaWFudDogXCJ1bmRlcmxpbmVMaWdodFwiLFxuICAgICAgICBwbGFjZWhvbGRlclRleHQ6IFwiTmVlZCBzb21ldGhpbmcgc3BlY2lhbD9cIixcbiAgICAgICAgaWNvbjogXCJzZW5kQXJyb3dcIixcbiAgICAgIH0sXG4gICAgfSBzYXRpc2ZpZXMgSW1hZ2VQcm9tcHRXaWRnZXRDb25maWcsXG4gICAgaW1hZ2VQcm9tcHRDYXJkUExQU2hvcEFsbDoge1xuICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiaW1hZ2VQcm9tcHRDYXJkXCIsXG4gICAgICB0eXBlOiBXaWRnZXRUeXBlLkltYWdlUHJvbXB0Q2FyZCxcbiAgICAgIHVybDogQ2RuU2VydmljZS5nZXRBc3NldFVSTChcbiAgICAgICAgXCJpbWFnZS1wcm9tcHQtY2FyZC0yLnBuZ1wiLFxuICAgICAgICBPcmdTaG9ydE5hbWUuQmFuZG9saWVyXG4gICAgICApLFxuICAgICAgbGlnaHRUZXh0OiB0cnVlLFxuICAgICAgdGl0bGU6IFwiV2hhdCBjYW4gd2UgaGVscCB5b3UgZmluZCB0b2RheT9cIixcbiAgICAgIHN1YnRpdGxlOiBbXG4gICAgICAgIFwiV2lsbCB0aGlzIGZpdCBteSBwaG9uZT9cIixcbiAgICAgICAgXCJIb3cgaXMgQmFuZG9saWVyIGRpZmZlcmVudCBmcm9tIG90aGVyIHBob25lIGNhc2VzP1wiLFxuICAgICAgICBcIldoYXTigJlzIHlvdXIgbW9zdCBwb3B1bGFyIHN0eWxlP1wiLFxuICAgICAgICBcIldoYXQncyB0cmVuZGluZyByaWdodCBub3c/XCIsXG4gICAgICBdLFxuICAgICAgc3RhdGljU3VnZ2VzdGlvbkNvcGllczogW1xuICAgICAgICBcIldpbGwgdGhpcyBmaXQgbXkgcGhvbmU/XCIsXG4gICAgICAgIFwiSG93IGlzIEJhbmRvbGllciBkaWZmZXJlbnQgZnJvbSBvdGhlciBwaG9uZSBjYXNlcz9cIixcbiAgICAgICAgXCJXaGF04oCZcyB5b3VyIG1vc3QgcG9wdWxhciBzdHlsZT9cIixcbiAgICAgICAgXCJXaGF0J3MgdHJlbmRpbmcgcmlnaHQgbm93P1wiLFxuICAgICAgXSxcbiAgICAgIHVzZXJRdWVyeUJ1dHRvbkNvbmZpZzoge1xuICAgICAgICB2YXJpYW50OiBcInVuZGVybGluZUxpZ2h0XCIsXG4gICAgICAgIHBsYWNlaG9sZGVyVGV4dDogXCJOZWVkIHNvbWV0aGluZyBzcGVjaWFsP1wiLFxuICAgICAgICBpY29uOiBcInNlbmRBcnJvd1wiLFxuICAgICAgfSxcbiAgICB9IHNhdGlzZmllcyBJbWFnZVByb21wdFdpZGdldENvbmZpZyxcbiAgICBpbWFnZVByb21wdENhcmRQTFA6IHtcbiAgICAgIHdpZGdldENvbmZpZ0lkOiBcImltYWdlUHJvbXB0Q2FyZFwiLFxuICAgICAgdHlwZTogV2lkZ2V0VHlwZS5JbWFnZVByb21wdENhcmQsXG4gICAgICB1cmw6IENkblNlcnZpY2UuZ2V0QXNzZXRVUkwoXG4gICAgICAgIFwiaW1hZ2UtcHJvbXB0LWNhcmQtMi5wbmdcIixcbiAgICAgICAgT3JnU2hvcnROYW1lLkJhbmRvbGllclxuICAgICAgKSxcbiAgICAgIGxpZ2h0VGV4dDogdHJ1ZSxcbiAgICAgIHRpdGxlOiBcIldoYXQgY2FuIHdlIGhlbHAgeW91IGZpbmQgdG9kYXk/XCIsXG4gICAgICBzdWJ0aXRsZTogW1xuICAgICAgICBcIldoaWNoIHBob25lIGNhc2UgZml0cyB5b3VyIHN0eWxlP1wiLFxuICAgICAgICBcIk5lZWQgYSBiYWcgZm9yIG5pZ2h0cyBvdXQ/XCIsXG4gICAgICAgIFwiV2hhdOKAmXMgYSBjaGljIGdpZnQgaWRlYT9cIixcbiAgICAgICAgXCJMb29raW5nIGZvciBhIHRyYXZlbC1yZWFkeSBzZXQ/XCIsXG4gICAgICBdLFxuICAgICAgc3RhdGljU3VnZ2VzdGlvbkNvcGllczogW1xuICAgICAgICBcIldoaWNoIHBob25lIGNhc2UgZml0cyB5b3VyIHN0eWxlP1wiLFxuICAgICAgICBcIk5lZWQgYSBiYWcgZm9yIG5pZ2h0cyBvdXQ/XCIsXG4gICAgICAgIFwiV2hhdOKAmXMgYSBjaGljIGdpZnQgaWRlYT9cIixcbiAgICAgICAgXCJMb29raW5nIGZvciBhIHRyYXZlbC1yZWFkeSBzZXQ/XCIsXG4gICAgICBdLFxuICAgICAgdXNlclF1ZXJ5QnV0dG9uQ29uZmlnOiB7XG4gICAgICAgIHZhcmlhbnQ6IFwidW5kZXJsaW5lTGlnaHRcIixcbiAgICAgICAgcGxhY2Vob2xkZXJUZXh0OiBcIk5lZWQgc29tZXRoaW5nIHNwZWNpYWw/XCIsXG4gICAgICAgIGljb246IFwic2VuZEFycm93XCIsXG4gICAgICB9LFxuICAgIH0gc2F0aXNmaWVzIEltYWdlUHJvbXB0V2lkZ2V0Q29uZmlnLFxuXG4gICAgdG9wU3VnZ2VzdGlvbnNCYXI6IHtcbiAgICAgIHdpZGdldENvbmZpZ0lkOiBcInRvcFN1Z2dlc3Rpb25zQmFyXCIsXG4gICAgICBjb250ZW50SWQ6IFwic3BpZmZ5LXRvcC1zdWdnZXN0aW9uLWJhci1jb250ZW50c1wiLFxuICAgICAgbWV0cmljRGlzcGxheUxvY2F0aW9uOiBDaGF0RWxlbWVudERpc3BsYXlMb2NhdGlvbi5UT1BfUkVWSUVXU19TTklQUEVULFxuICAgICAgbG9jYXRpb246IFN1Z2dlc3Rpb25CYXJMb2NhdGlvbkZvck1ldHJpY3MuU1VHR0VTVElPTl9CQVJfVE9QLFxuICAgICAgdHlwZTogV2lkZ2V0VHlwZS5TdWdnZXN0aW9uQmFyVjIsXG4gICAgICB2YXJpYW50OiBcInNlY29uZGFyeVwiLFxuICAgICAgaG92ZXJWYXJpYW50OiBcInNlY29uZGFyeUFjY2VudFwiLFxuICAgICAgYnV0dG9uQm9yZGVyUmFkaXVzOiBcInNtXCIsXG4gICAgICBhbmltYXRpb25TcGVlZDogXCJzdGFuZGFyZFwiLFxuICAgICAgYnV0dG9uVGV4dHM6IHtcbiAgICAgICAgZGVmYXVsdDogW1xuICAgICAgICAgIFwiQ2FuIEkgdXNlIHRoaXMgY2FzZSB3aXRob3V0IGEgc3RyYXA/IFwiLFxuICAgICAgICAgIFwiSG93IG1hbnkgY2FyZHMgZml0IGluIHRoZSB3YWxsZXQ/XCIsXG4gICAgICAgICAgXCJTdW1tYXJpemUgUmV2aWV3c1wiLFxuICAgICAgICAgIFwiV2hhdCBtYWtlcyB0aGlzIHNvIHZlcnNhdGlsZT9cIixcbiAgICAgICAgICBcIldoeSBhcmUgc2hvcHBlcnMgb2JzZXNzZWQgd2l0aCB0aGlzP1wiLFxuICAgICAgICBdLFxuICAgICAgICBwcm9kdWN0U3BlY2lmaWM6IHtcbiAgICAgICAgICAvLyBIYWlsZXlcbiAgICAgICAgICBcImhhaWxleS1zaWRlLXNsb3QtbGVhdGhlci1jcm9zc2JvZHktYmFuZG9saWVyLWJsYWNrLWdvbGRcIjogW1xuICAgICAgICAgICAgXCJTdW1tYXJpemUgdGhlIHJldmlld3NcIixcbiAgICAgICAgICAgIFwiV2h5IGlzIHRoaXMgeW91ciBiZXN0IHNlbGxlcj9cIixcbiAgICAgICAgICAgIFwiQ2FuIHlvdSB1c2UgdGhpcyBjYXNlIHdpdGhvdXQgYSBzdHJhcD9cIixcbiAgICAgICAgICAgIFwiSG93IG1hbnkgY2FyZHMgZml0IGluIHRoZSB3YWxsZXQ/XCIsXG4gICAgICAgICAgICBcIldoYXQgbWFrZXMgdGhpcyBzbyB2ZXJzYXRpbGU/XCIsXG4gICAgICAgICAgXSxcbiAgICAgICAgICAvLyBNaWxhXG4gICAgICAgICAgXCJtaWxhLW1hZ3NhZmUtY2hhcmdpbmctY3Jvc3Nib2R5LWJhbmRvbGllci1ibGFjay1nb2xkXCI6IFtcbiAgICAgICAgICAgIFwiU3VtbWFyaXplIHRoZSByZXZpZXdzXCIsXG4gICAgICAgICAgICBcIklzIHRoaXMgTWFnU2FmZSBDb21wYXRpYmxlP1wiLFxuICAgICAgICAgICAgXCJEb2VzIHRoZSB3YWxsZXQgY29tZSBvZmY/XCIsXG4gICAgICAgICAgICBcIldoeSBpcyB0aGlzIHlvdXIgYmVzdCBzZWxsZXI/XCIsXG4gICAgICAgICAgICBcIkNhbiB5b3UgdXNlIHRoaXMgY2FzZSB3aXRob3V0IGEgc3RyYXA/XCIsXG4gICAgICAgICAgICBcIkhvdyBtYW55IGNhcmRzIGZpdCBpbiB0aGUgd2FsbGV0P1wiLFxuICAgICAgICAgIF0sXG4gICAgICAgICAgLy8gUmVtaVxuICAgICAgICAgIFwicmVtaS1tYWduZXQtd2FsbGV0LWNyb3NzYm9keS1waG9uZS1jYXNlLWJsYWNrLWdvbGRcIjogW1xuICAgICAgICAgICAgXCJTdW1tYXJpemUgdGhlIHJldmlld3NcIixcbiAgICAgICAgICAgIFwiSXMgdGhpcyBNYWdTYWZlIENvbXBhdGlibGU/XCIsXG4gICAgICAgICAgICBcIklzIHRoZSB3YWxsZXQgcmVtb3ZhYmxlP1wiLFxuICAgICAgICAgICAgXCJXaHkgaXMgdGhpcyB5b3VyIGJlc3Qgc2VsbGVyP1wiLFxuICAgICAgICAgICAgXCJDYW4geW91IHVzZSB0aGlzIGNhc2Ugd2l0aG91dCBhIHN0cmFwP1wiLFxuICAgICAgICAgICAgXCJIb3cgbWFueSBjYXJkcyBmaXQgaW4gdGhlIHdhbGxldD9cIixcbiAgICAgICAgICBdLFxuICAgICAgICAgIC8vIExpbHlcbiAgICAgICAgICBcImxpbHktc2V0LWJhbmRvbGllci1ibGFjay1nb2xkXCI6IFtcbiAgICAgICAgICAgIFwiU3VtbWFyaXplIHRoZSByZXZpZXdzXCIsXG4gICAgICAgICAgICBcIldoeSBpcyB0aGlzIHlvdXIgYmVzdCBzZWxsZXI/XCIsXG4gICAgICAgICAgICBcIkNhbiB5b3UgdXNlIHRoaXMgY2FzZSB3aXRob3V0IGEgc3RyYXA/XCIsXG4gICAgICAgICAgICBcIkhvdyBtYW55IGNhcmRzIGZpdCBpbiB0aGUgd2FsbGV0P1wiLFxuICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0gc2F0aXNmaWVzIFN1Z2dlc3Rpb25CYXJXaWRnZXRWMkNvbmZpZyxcbiAgICB0b3BTdWdnZXN0aW9uc0JhclBvdWNoZXM6IHtcbiAgICAgIHdpZGdldENvbmZpZ0lkOiBcInRvcFN1Z2dlc3Rpb25zQmFyUG91Y2hlc1wiLFxuICAgICAgY29udGVudElkOiBcInNwaWZmeS10b3Atc3VnZ2VzdGlvbi1iYXItY29udGVudHNcIixcbiAgICAgIG1ldHJpY0Rpc3BsYXlMb2NhdGlvbjogQ2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb24uVE9QX1JFVklFV1NfU05JUFBFVCxcbiAgICAgIGxvY2F0aW9uOiBTdWdnZXN0aW9uQmFyTG9jYXRpb25Gb3JNZXRyaWNzLlNVR0dFU1RJT05fQkFSX1RPUCxcbiAgICAgIHR5cGU6IFdpZGdldFR5cGUuU3VnZ2VzdGlvbkJhclYyLFxuICAgICAgdmFyaWFudDogXCJzZWNvbmRhcnlcIixcbiAgICAgIGhvdmVyVmFyaWFudDogXCJzZWNvbmRhcnlBY2NlbnRcIixcbiAgICAgIGJ1dHRvbkJvcmRlclJhZGl1czogXCJzbVwiLFxuICAgICAgYW5pbWF0aW9uU3BlZWQ6IFwic3RhbmRhcmRcIixcbiAgICAgIGJ1dHRvblRleHRzOiB7XG4gICAgICAgIGRlZmF1bHQ6IFtcbiAgICAgICAgICBcIkhvdyB3aWxsIHRoaXMgd29yayB3aXRoIG15IGJhbmRvbGllciBjYXNlP1wiLFxuICAgICAgICAgIFwiQ2FuIEkgYXR0YWNoIGEgQmFuZG9saWVyIHN0cmFwIHRvIHRoaXMgcG91Y2g/XCIsXG4gICAgICAgICAgXCJEb2VzIGl0IGhhdmUgaW50ZXJpb3IgcG9ja2V0cz9cIixcbiAgICAgICAgICBcIklzIGl0IG1hZGUgb2YgcmVhbCBsZWF0aGVyP1wiLFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICB9IHNhdGlzZmllcyBTdWdnZXN0aW9uQmFyV2lkZ2V0VjJDb25maWcsXG4gICAgdG9wU3VnZ2VzdGlvbnNCYXJCYWdzOiB7XG4gICAgICB3aWRnZXRDb25maWdJZDogXCJ0b3BTdWdnZXN0aW9uc0JhckJhZ3NcIixcbiAgICAgIGNvbnRlbnRJZDogXCJzcGlmZnktdG9wLXN1Z2dlc3Rpb24tYmFyLWNvbnRlbnRzXCIsXG4gICAgICBtZXRyaWNEaXNwbGF5TG9jYXRpb246IENoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uLlRPUF9SRVZJRVdTX1NOSVBQRVQsXG4gICAgICBsb2NhdGlvbjogU3VnZ2VzdGlvbkJhckxvY2F0aW9uRm9yTWV0cmljcy5TVUdHRVNUSU9OX0JBUl9UT1AsXG4gICAgICB0eXBlOiBXaWRnZXRUeXBlLlN1Z2dlc3Rpb25CYXJWMixcbiAgICAgIHZhcmlhbnQ6IFwic2Vjb25kYXJ5XCIsXG4gICAgICBob3ZlclZhcmlhbnQ6IFwic2Vjb25kYXJ5QWNjZW50XCIsXG4gICAgICBidXR0b25Cb3JkZXJSYWRpdXM6IFwic21cIixcbiAgICAgIGFuaW1hdGlvblNwZWVkOiBcInN0YW5kYXJkXCIsXG4gICAgICBidXR0b25UZXh0czoge1xuICAgICAgICBkZWZhdWx0OiBbXG4gICAgICAgICAgXCJBcmUgdGhlIGJhZ3MgZGVzaWduZWQgdG8gaG9sZCBwaG9uZXM/XCIsXG4gICAgICAgICAgXCJDYW4gSSBhdHRhY2ggYSBCYW5kb2xpZXIgc3RyYXAgdG8gdGhpcyBiYWc/XCIsXG4gICAgICAgICAgXCJEb2VzIGl0IGhhdmUgaW50ZXJpb3IgcG9ja2V0cz9cIixcbiAgICAgICAgICBcIklzIGl0IG1hZGUgb2YgcmVhbCBsZWF0aGVyP1wiLFxuICAgICAgICAgIFwiQ2FuIHRoZSBzdHJhcCBiZSByZW1vdmVkP1wiLFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICB9IHNhdGlzZmllcyBTdWdnZXN0aW9uQmFyV2lkZ2V0VjJDb25maWcsXG4gICAgY2hhdFByZXZpZXdQRFA6IHtcbiAgICAgIHdpZGdldENvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UERQXCIsXG4gICAgICB0eXBlOiBXaWRnZXRUeXBlLkNoYXRQcmV2aWV3LFxuICAgICAgdmFyaWFudDogXCJmaWxsZWRcIixcbiAgICAgIGFkZFNlcGFyYXRvcnM6IGZhbHNlLFxuICAgIH0gc2F0aXNmaWVzIENoYXRQcmV2aWV3V2lkZ2V0Q29uZmlnLFxuXG4gICAgYm90dG9tU3VnZ2VzdGlvbnNCYXI6IHtcbiAgICAgIHdpZGdldENvbmZpZ0lkOiBcImJvdHRvbVN1Z2dlc3Rpb25zQmFyXCIsXG4gICAgICBjb250ZW50SWQ6IFwic3BpZmZ5LWJvdHRvbS1zdWdnZXN0aW9uLWJhci1jb250ZW50c1wiLFxuICAgICAgbWV0cmljRGlzcGxheUxvY2F0aW9uOiBDaGF0RWxlbWVudERpc3BsYXlMb2NhdGlvbi5CT1RUT01fUkVWSUVXU19TTklQUEVULFxuICAgICAgbG9jYXRpb246IFN1Z2dlc3Rpb25CYXJMb2NhdGlvbkZvck1ldHJpY3MuU1VHR0VTVElPTl9CQVJfQk9UVE9NLFxuICAgICAgdHlwZTogV2lkZ2V0VHlwZS5TdWdnZXN0aW9uQmFyVjIsXG4gICAgICB2YXJpYW50OiBcImRhcmtBY2NlbnRcIixcbiAgICAgIGhvdmVyVmFyaWFudDogXCJzZWNvbmRhcnlBY2NlbnRcIixcbiAgICAgIGJ1dHRvbkJvcmRlclJhZGl1czogXCJzbVwiLFxuICAgICAgYW5pbWF0aW9uU3BlZWQ6IFwibm9uZVwiLFxuICAgICAgdHdvUm93c09uTW9iaWxlOiB0cnVlLFxuICAgICAgYnV0dG9uVGV4dHM6IHtcbiAgICAgICAgZGVmYXVsdDogW1xuICAgICAgICAgIFwiRG9lcyB0aGlzIGZpdCBteSBkZXZpY2UgbW9kZWw/XCIsXG4gICAgICAgICAgXCJJcyB0aGlzIGFkanVzdGFibGU/XCIsXG4gICAgICAgICAgXCJXaHkgY2hvb3NlIHRoaXMgb3ZlciBhIGJ1bGt5IGJhZz9cIixcbiAgICAgICAgICBcIldoYXQgZG8gcmV2aWV3ZXJzIGxvdmUgbW9zdD9cIixcbiAgICAgICAgICBcIkNhbiBJIHVzZSB0aGlzIGV2ZXJ5IGRheT9cIixcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgfSBzYXRpc2ZpZXMgU3VnZ2VzdGlvbkJhcldpZGdldFYyQ29uZmlnLFxuICAgIGdsb2JhbFNlYXJjaEVudHJ5UG9pbnRNb2JpbGU6IHtcbiAgICAgIHdpZGdldENvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnRNb2JpbGVcIixcbiAgICAgIHR5cGU6IFdpZGdldFR5cGUuU2VhcmNoWmVyb1N0YXRlRW50cnlQb2ludCxcbiAgICAgIHNlYXJjaFplcm9TdGF0ZVZhcmlhbnQ6IFwiYmFja2dyb3VuZFRlcnRpYXJ5XCIsXG4gICAgICBzZWFyY2hJbnB1dFZhcmlhbnQ6IFwic3RhbmRhcmRcIixcbiAgICAgIHN1Z2dlc3Rpb25CdXR0b25Db25maWc6IHtcbiAgICAgICAgdmFyaWFudDogXCJkYXJrQWNjZW50XCIsXG4gICAgICAgIGhvdmVyVmFyaWFudDogXCJzZWNvbmRhcnlBY2NlbnRcIixcbiAgICAgICAgYm9yZGVyUmFkaXVzOiBcInNtXCIsXG4gICAgICB9LFxuICAgICAgbGF5b3V0OiBcImlucHV0XCIsXG4gICAgICBzZWFyY2hCb3hQbGFjZWhvbGRlcjogXCJXaGF0IGNhbiBJIGhlbHAgeW91IGZpbmQ/XCIsXG4gICAgICBpbml0aWFsU3VnZ2VzdGlvbnM6IFtcbiAgICAgICAgXCJNYWdTYWZlIGNvbXBhdGlibGUgY2FzZXNcIixcbiAgICAgICAgXCJNb3N0IHBvcHVsYXIgc3R5bGVzXCIsXG4gICAgICAgIFwiUmVtaSByZW1vdmFibGUgd2FsbGV0XCIsXG4gICAgICAgIFwiTWl4IGFuZCBtYXRjaCBzdHJhcHMgYW5kIHdyaXN0bGV0c1wiLFxuICAgICAgICBcIkFkZC1vbiBwb3VjaGVzXCIsXG4gICAgICAgIFwiQmVzdCBwaG9uZSBjYXNlcyBmb3IgdHJhdmVsXCIsXG4gICAgICBdLFxuICAgICAgdXNpbmdQb3J0YWw6IHRydWUsXG4gICAgfSBzYXRpc2ZpZXMgU2VhcmNoRW50cnlQb2ludFdpZGdldENvbmZpZyxcbiAgICBnbG9iYWxTZWFyY2hFbnRyeVBvaW50TW9iaWxlU2VhcmNoSWNvbjoge1xuICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludE1vYmlsZVNlYXJjaEljb25cIixcbiAgICAgIHR5cGU6IFdpZGdldFR5cGUuU2VhcmNoWmVyb1N0YXRlRW50cnlQb2ludCxcbiAgICAgIHNlYXJjaFplcm9TdGF0ZVZhcmlhbnQ6IFwiYmFja2dyb3VuZFRlcnRpYXJ5XCIsXG4gICAgICBzZWFyY2hJbnB1dFZhcmlhbnQ6IFwic3RhbmRhcmRcIixcbiAgICAgIHN1Z2dlc3Rpb25CdXR0b25Db25maWc6IHtcbiAgICAgICAgdmFyaWFudDogXCJkYXJrQWNjZW50XCIsXG4gICAgICAgIGhvdmVyVmFyaWFudDogXCJzZWNvbmRhcnlBY2NlbnRcIixcbiAgICAgICAgYm9yZGVyUmFkaXVzOiBcInNtXCIsXG4gICAgICB9LFxuICAgICAgbGF5b3V0OiBcImljb25cIixcbiAgICAgIHNlYXJjaEljb25WYXJpYW50OiBcInRoaW5cIixcbiAgICAgIHNlYXJjaEljb25TaXplOiAyNCxcbiAgICAgIHNlYXJjaEJveFBsYWNlaG9sZGVyOiBcIldoYXQgY2FuIEkgaGVscCB5b3UgZmluZD9cIixcbiAgICAgIGluaXRpYWxTdWdnZXN0aW9uczogW1xuICAgICAgICBcIk1hZ1NhZmUgY29tcGF0aWJsZSBjYXNlc1wiLFxuICAgICAgICBcIk1vc3QgcG9wdWxhciBzdHlsZXNcIixcbiAgICAgICAgXCJSZW1pIHJlbW92YWJsZSB3YWxsZXRcIixcbiAgICAgICAgXCJNaXggYW5kIG1hdGNoIHN0cmFwcyBhbmQgd3Jpc3RsZXRzXCIsXG4gICAgICAgIFwiQWRkLW9uIHBvdWNoZXNcIixcbiAgICAgICAgXCJCZXN0IHBob25lIGNhc2VzIGZvciB0cmF2ZWxcIixcbiAgICAgIF0sXG4gICAgICB1c2luZ1BvcnRhbDogdHJ1ZSxcbiAgICB9IHNhdGlzZmllcyBTZWFyY2hFbnRyeVBvaW50V2lkZ2V0Q29uZmlnLFxuICAgIGdsb2JhbFNlYXJjaEVudHJ5UG9pbnREZXNrdG9wOiB7XG4gICAgICB3aWRnZXRDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50RGVza3RvcFwiLFxuICAgICAgdHlwZTogV2lkZ2V0VHlwZS5TZWFyY2haZXJvU3RhdGVFbnRyeVBvaW50LFxuICAgICAgc2VhcmNoWmVyb1N0YXRlVmFyaWFudDogXCJiYWNrZ3JvdW5kVGVydGlhcnlcIixcbiAgICAgIHNlYXJjaElucHV0VmFyaWFudDogXCJzdGFuZGFyZFwiLFxuICAgICAgc3VnZ2VzdGlvbkJ1dHRvbkNvbmZpZzoge1xuICAgICAgICB2YXJpYW50OiBcImRhcmtBY2NlbnRcIixcbiAgICAgICAgaG92ZXJWYXJpYW50OiBcInNlY29uZGFyeUFjY2VudFwiLFxuICAgICAgICBib3JkZXJSYWRpdXM6IFwic21cIixcbiAgICAgIH0sXG4gICAgICBsYXlvdXQ6IFwiaWNvblwiLFxuICAgICAgc2VhcmNoSWNvblZhcmlhbnQ6IFwidGhpblwiLFxuICAgICAgc2VhcmNoSWNvblNpemU6IDIyLFxuICAgICAgc2VhcmNoQm94UGxhY2Vob2xkZXI6IFwiV2hhdCBjYW4gSSBoZWxwIHlvdSBmaW5kP1wiLFxuICAgICAgaW5pdGlhbFN1Z2dlc3Rpb25zOiBbXG4gICAgICAgIFwiTWFnU2FmZSBjb21wYXRpYmxlIGNhc2VzXCIsXG4gICAgICAgIFwiTW9zdCBwb3B1bGFyIHN0eWxlc1wiLFxuICAgICAgICBcIlJlbWkgcmVtb3ZhYmxlIHdhbGxldFwiLFxuICAgICAgICBcIk1peCBhbmQgbWF0Y2ggc3RyYXBzIGFuZCB3cmlzdGxldHNcIixcbiAgICAgICAgXCJBZGQtb24gcG91Y2hlc1wiLFxuICAgICAgICBcIkJlc3QgcGhvbmUgY2FzZXMgZm9yIHRyYXZlbFwiLFxuICAgICAgXSxcbiAgICAgIHVzaW5nUG9ydGFsOiB0cnVlLFxuICAgIH0gc2F0aXNmaWVzIFNlYXJjaEVudHJ5UG9pbnRXaWRnZXRDb25maWcsXG4gICAgZ2xvYmFsU2VhcmNoRW50cnlQb2ludERlc2t0b3BIb21lcGFnZToge1xuICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludERlc2t0b3BIb21lcGFnZVwiLFxuICAgICAgdHlwZTogV2lkZ2V0VHlwZS5TZWFyY2haZXJvU3RhdGVFbnRyeVBvaW50LFxuICAgICAgc2VhcmNoWmVyb1N0YXRlVmFyaWFudDogXCJiYWNrZ3JvdW5kVGVydGlhcnlcIixcbiAgICAgIHNlYXJjaElucHV0VmFyaWFudDogXCJzdGFuZGFyZFwiLFxuICAgICAgc3VnZ2VzdGlvbkJ1dHRvbkNvbmZpZzoge1xuICAgICAgICB2YXJpYW50OiBcImRhcmtBY2NlbnRcIixcbiAgICAgICAgaG92ZXJWYXJpYW50OiBcInNlY29uZGFyeUFjY2VudFwiLFxuICAgICAgICBib3JkZXJSYWRpdXM6IFwic21cIixcbiAgICAgIH0sXG4gICAgICBsYXlvdXQ6IFwiaWNvblwiLFxuICAgICAgc2VhcmNoSWNvblZhcmlhbnQ6IFwidGhpblwiLFxuICAgICAgc2VhcmNoSWNvblNpemU6IDIyLFxuICAgICAgc2VhcmNoQm94UGxhY2Vob2xkZXI6IFwiV2hhdCBjYW4gSSBoZWxwIHlvdSBmaW5kP1wiLFxuICAgICAgaW5pdGlhbFN1Z2dlc3Rpb25zOiBbXG4gICAgICAgIFwiTWFnU2FmZSBjb21wYXRpYmxlIGNhc2VzXCIsXG4gICAgICAgIFwiTW9zdCBwb3B1bGFyIHN0eWxlc1wiLFxuICAgICAgICBcIlJlbWkgcmVtb3ZhYmxlIHdhbGxldFwiLFxuICAgICAgICBcIk1peCBhbmQgbWF0Y2ggc3RyYXBzIGFuZCB3cmlzdGxldHNcIixcbiAgICAgICAgXCJBZGQtb24gcG91Y2hlc1wiLFxuICAgICAgICBcIkJlc3QgcGhvbmUgY2FzZXMgZm9yIHRyYXZlbFwiLFxuICAgICAgXSxcbiAgICAgIHVzaW5nUG9ydGFsOiB0cnVlLFxuICAgIH0gc2F0aXNmaWVzIFNlYXJjaEVudHJ5UG9pbnRXaWRnZXRDb25maWcsXG4gICAgZ2xvYmFsU2VhcmNoRW50cnlQb2ludFNtYWxsRGVza3RvcEhvbWVwYWdlOiB7XG4gICAgICB3aWRnZXRDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50U21hbGxEZXNrdG9wSG9tZXBhZ2VcIixcbiAgICAgIHR5cGU6IFdpZGdldFR5cGUuU2VhcmNoWmVyb1N0YXRlRW50cnlQb2ludCxcbiAgICAgIHNlYXJjaFplcm9TdGF0ZVZhcmlhbnQ6IFwiYmFja2dyb3VuZFRlcnRpYXJ5XCIsXG4gICAgICBzZWFyY2hJbnB1dFZhcmlhbnQ6IFwic3RhbmRhcmRcIixcbiAgICAgIHN1Z2dlc3Rpb25CdXR0b25Db25maWc6IHtcbiAgICAgICAgdmFyaWFudDogXCJkYXJrQWNjZW50XCIsXG4gICAgICAgIGhvdmVyVmFyaWFudDogXCJzZWNvbmRhcnlBY2NlbnRcIixcbiAgICAgICAgYm9yZGVyUmFkaXVzOiBcInNtXCIsXG4gICAgICB9LFxuICAgICAgbGF5b3V0OiBcImljb25cIixcbiAgICAgIHNlYXJjaEljb25WYXJpYW50OiBcInRoaW5cIixcbiAgICAgIHNlYXJjaEljb25TaXplOiAyMixcbiAgICAgIHNlYXJjaEJveFBsYWNlaG9sZGVyOiBcIldoYXQgY2FuIEkgaGVscCB5b3UgZmluZD9cIixcbiAgICAgIGluaXRpYWxTdWdnZXN0aW9uczogW1xuICAgICAgICBcIk1hZ1NhZmUgY29tcGF0aWJsZSBjYXNlc1wiLFxuICAgICAgICBcIk1vc3QgcG9wdWxhciBzdHlsZXNcIixcbiAgICAgICAgXCJSZW1pIHJlbW92YWJsZSB3YWxsZXRcIixcbiAgICAgICAgXCJNaXggYW5kIG1hdGNoIHN0cmFwcyBhbmQgd3Jpc3RsZXRzXCIsXG4gICAgICAgIFwiQWRkLW9uIHBvdWNoZXNcIixcbiAgICAgICAgXCJCZXN0IHBob25lIGNhc2VzIGZvciB0cmF2ZWxcIixcbiAgICAgIF0sXG4gICAgICB1c2luZ1BvcnRhbDogdHJ1ZSxcbiAgICB9IHNhdGlzZmllcyBTZWFyY2hFbnRyeVBvaW50V2lkZ2V0Q29uZmlnLFxuICAgIGdsb2JhbFNlYXJjaEVudHJ5UG9pbnRPbmx5SWNvbk1vYmlsZToge1xuICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludE9ubHlJY29uTW9iaWxlXCIsXG4gICAgICB0eXBlOiBXaWRnZXRUeXBlLlNlYXJjaFplcm9TdGF0ZUVudHJ5UG9pbnQsXG4gICAgICBzZWFyY2haZXJvU3RhdGVWYXJpYW50OiBcImJhY2tncm91bmRUZXJ0aWFyeVwiLFxuICAgICAgc2VhcmNoSW5wdXRWYXJpYW50OiBcInN0YW5kYXJkXCIsXG4gICAgICBzdWdnZXN0aW9uQnV0dG9uQ29uZmlnOiB7XG4gICAgICAgIHZhcmlhbnQ6IFwiZGFya0FjY2VudFwiLFxuICAgICAgICBob3ZlclZhcmlhbnQ6IFwic2Vjb25kYXJ5QWNjZW50XCIsXG4gICAgICAgIGJvcmRlclJhZGl1czogXCJzbVwiLFxuICAgICAgfSxcbiAgICAgIGxheW91dDogXCJpY29uXCIsXG4gICAgICBzZWFyY2hJY29uVmFyaWFudDogXCJ0aGluXCIsXG4gICAgICBzZWFyY2hJY29uU2l6ZTogMjYsXG4gICAgICBzZWFyY2hCb3hQbGFjZWhvbGRlcjogXCJXaGF0IGNhbiBJIGhlbHAgeW91IGZpbmQ/XCIsXG4gICAgICBpbml0aWFsU3VnZ2VzdGlvbnM6IFtcbiAgICAgICAgXCJNYWdTYWZlIGNvbXBhdGlibGUgY2FzZXNcIixcbiAgICAgICAgXCJNb3N0IHBvcHVsYXIgc3R5bGVzXCIsXG4gICAgICAgIFwiUmVtaSByZW1vdmFibGUgd2FsbGV0XCIsXG4gICAgICAgIFwiTWl4IGFuZCBtYXRjaCBzdHJhcHMgYW5kIHdyaXN0bGV0c1wiLFxuICAgICAgICBcIkFkZC1vbiBwb3VjaGVzXCIsXG4gICAgICAgIFwiQmVzdCBwaG9uZSBjYXNlcyBmb3IgdHJhdmVsXCIsXG4gICAgICBdLFxuICAgICAgdXNpbmdQb3J0YWw6IHRydWUsXG4gICAgfSBzYXRpc2ZpZXMgU2VhcmNoRW50cnlQb2ludFdpZGdldENvbmZpZyxcbiAgICBzZWFyY2hSZXN1bHRzRW50cnlQb2ludDoge1xuICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwic2VhcmNoUmVzdWx0c0VudHJ5UG9pbnRcIixcbiAgICAgIHR5cGU6IFdpZGdldFR5cGUuU2VhcmNoUmVzdWx0c0VudHJ5UG9pbnQsXG4gICAgICBzZWFyY2hCb3hQbGFjZWhvbGRlcjogXCJXaGF0IGNhbiBJIGhlbHAgeW91IGZpbmQ/XCIsXG4gICAgICBzZWFyY2hJbnB1dFZhcmlhbnQ6IFwic3RhbmRhcmRcIixcbiAgICAgIHNlYXJjaEZpbHRlclNpZGViYXJWYXJpYW50OiBcImRhcmtCdXR0b25cIixcbiAgICAgIHByb2R1Y3RHcmlkVmFyaWFudDogXCJzcXVhcmVcIixcbiAgICB9IHNhdGlzZmllcyBTZWFyY2hSZXN1bHRzRW50cnlQb2ludFdpZGdldENvbmZpZyxcbiAgICBzZWFyY2hPdmVybGF5SG9zdDoge1xuICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwic2VhcmNoT3ZlcmxheUhvc3RcIixcbiAgICAgIHR5cGU6IFdpZGdldFR5cGUuU2VhcmNoT3ZlcmxheUhvc3QsXG4gICAgfSBzYXRpc2ZpZXMgU2VhcmNoT3ZlcmxheUhvc3RXaWRnZXRDb25maWcsXG4gIH0sXG59KTtcblxuY29uc3QgYmFuZG9saWVyT3JnSW5mbyA9IHtcbiAgc2hvcnROYW1lOiBPcmdTaG9ydE5hbWUuQmFuZG9saWVyLFxuICBuYW1lOiBcIkJhbmRvbGllclwiLFxuICBkb21haW46IFwiYmFuZG9saWVyc3R5bGUuY29tXCIsXG4gIGRlZmF1bHRQcm9kdWN0SWQ6XG4gICAgXCJsaWx5LXNpZGUtc2xvdC1sZWF0aGVyLWNyb3NzYm9keS1iYW5kb2xpZXItY2VjaS1pdm9yeS1mbG9yYWwtZ29sZFwiLFxuICBhbHdheXNFbmFibGVkTWVyY2hhbnRzOiB0cnVlLFxuICBvcmdVSUNvbmZpZzogYmFuZG9saWVyT3JnVUlDb25maWcsXG4gIG9yZ0NvbG9yczogKCkgPT4gYmFuZG9saWVyQ29sb3JzLFxuICBvcmdQYWdlQ29uZmlnOiBiYW5kb2xpZXJQYWdlQ29uZmlnLFxufSBzYXRpc2ZpZXMgQmFzaWNPcmdJbmZvVHlwZTtcblxuZXhwb3J0IHsgYmFuZG9saWVyT3JnSW5mbyB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7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