@drip-apex/sdk 0.1.0

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 (227) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +46 -0
  3. package/dist/_headers +3 -0
  4. package/dist/bundle-report.json +564 -0
  5. package/dist/drip.debug.js +2 -0
  6. package/dist/drip.debug.js.map +1 -0
  7. package/dist/drip.heatmap.js +2 -0
  8. package/dist/drip.heatmap.js.map +1 -0
  9. package/dist/drip.js +2 -0
  10. package/dist/drip.js.map +1 -0
  11. package/dist/drip.live.js +2 -0
  12. package/dist/drip.live.js.map +1 -0
  13. package/dist/editor.js +480 -0
  14. package/dist/editor.js.map +7 -0
  15. package/dist/index.mjs +645 -0
  16. package/dist/index.mjs.map +7 -0
  17. package/dist/metafiles/drip.debug.meta.json +973 -0
  18. package/dist/metafiles/drip.heatmap.meta.json +918 -0
  19. package/dist/metafiles/drip.live.meta.json +918 -0
  20. package/dist/metafiles/drip.meta.json +973 -0
  21. package/dist/metafiles/editor.meta.json +321 -0
  22. package/dist/metafiles/index.meta.json +1039 -0
  23. package/dist/metafiles/index.mjs.meta.json +78 -0
  24. package/dist/react/index.js +16973 -0
  25. package/dist/react/index.js.map +7 -0
  26. package/dist/sri.json +27 -0
  27. package/dist/types/analytics.d.ts +15 -0
  28. package/dist/types/antiflicker.d.ts +14 -0
  29. package/dist/types/assignment-store.d.ts +30 -0
  30. package/dist/types/audit.d.ts +9 -0
  31. package/dist/types/bucket.d.ts +2 -0
  32. package/dist/types/bucketing-cleanup.d.ts +5 -0
  33. package/dist/types/commerce-gift.d.ts +41 -0
  34. package/dist/types/commerce-price.d.ts +22 -0
  35. package/dist/types/commerce-shipping.d.ts +28 -0
  36. package/dist/types/css.d.ts +5 -0
  37. package/dist/types/cwv.d.ts +10 -0
  38. package/dist/types/data-layer-normalize.d.ts +1 -0
  39. package/dist/types/debug.d.ts +23 -0
  40. package/dist/types/define.d.ts +87 -0
  41. package/dist/types/devtools.d.ts +32 -0
  42. package/dist/types/dom-trigger.d.ts +3 -0
  43. package/dist/types/editor/api.d.ts +37 -0
  44. package/dist/types/editor/artifacts.d.ts +15 -0
  45. package/dist/types/editor/command-runtime.d.ts +48 -0
  46. package/dist/types/editor/controller.d.ts +97 -0
  47. package/dist/types/editor/device-preview.d.ts +23 -0
  48. package/dist/types/editor/index.d.ts +9 -0
  49. package/dist/types/editor/operator.d.ts +39 -0
  50. package/dist/types/editor/picker.d.ts +23 -0
  51. package/dist/types/editor/selector.d.ts +2 -0
  52. package/dist/types/editor/types.d.ts +55 -0
  53. package/dist/types/editor/view-kit.d.ts +33 -0
  54. package/dist/types/editor/view.d.ts +5 -0
  55. package/dist/types/editor-bootstrap.d.ts +37 -0
  56. package/dist/types/exclusion-groups.d.ts +59 -0
  57. package/dist/types/exposure-signals.d.ts +7 -0
  58. package/dist/types/flags.d.ts +65 -0
  59. package/dist/types/goals.d.ts +16 -0
  60. package/dist/types/guards.d.ts +39 -0
  61. package/dist/types/handover.d.ts +10 -0
  62. package/dist/types/hash.d.ts +19 -0
  63. package/dist/types/heatmap.d.ts +8 -0
  64. package/dist/types/hideflicker.d.ts +15 -0
  65. package/dist/types/hydration.d.ts +11 -0
  66. package/dist/types/index.d.ts +144 -0
  67. package/dist/types/js.d.ts +6 -0
  68. package/dist/types/module.d.ts +4 -0
  69. package/dist/types/money.d.ts +14 -0
  70. package/dist/types/mutate.d.ts +34 -0
  71. package/dist/types/observer-mute.d.ts +3 -0
  72. package/dist/types/pii-keys.d.ts +1 -0
  73. package/dist/types/prerequisites.d.ts +12 -0
  74. package/dist/types/qa-assistant-state.d.ts +68 -0
  75. package/dist/types/qa-assistant-view.d.ts +6 -0
  76. package/dist/types/qa-assistant.d.ts +9 -0
  77. package/dist/types/qa-toolbar.d.ts +19 -0
  78. package/dist/types/react/index.d.ts +84 -0
  79. package/dist/types/reassert-sentinel.d.ts +6 -0
  80. package/dist/types/router.d.ts +9 -0
  81. package/dist/types/runtime-tools.d.ts +50 -0
  82. package/dist/types/runtime.d.ts +22 -0
  83. package/dist/types/safe-regex.d.ts +6 -0
  84. package/dist/types/sanitize.d.ts +5 -0
  85. package/dist/types/semantic.d.ts +7 -0
  86. package/dist/types/shopify-cart-events.d.ts +7 -0
  87. package/dist/types/shopify-cart.d.ts +62 -0
  88. package/dist/types/signals.d.ts +31 -0
  89. package/dist/types/surface-signals.d.ts +6 -0
  90. package/dist/types/targeting-diagnostics.d.ts +5 -0
  91. package/dist/types/targeting.d.ts +50 -0
  92. package/dist/types/test-fixtures/commerce.d.ts +12 -0
  93. package/dist/types/track.d.ts +79 -0
  94. package/dist/types/types.d.ts +859 -0
  95. package/dist/types/wait.d.ts +7 -0
  96. package/package.json +74 -0
  97. package/src/analytics.ts +146 -0
  98. package/src/antiflicker.test.ts +127 -0
  99. package/src/antiflicker.ts +147 -0
  100. package/src/assignment-store.test.ts +171 -0
  101. package/src/assignment-store.ts +208 -0
  102. package/src/audit.test.ts +17 -0
  103. package/src/audit.ts +362 -0
  104. package/src/bucket.test.ts +65 -0
  105. package/src/bucket.ts +18 -0
  106. package/src/bucketing-cleanup.test.ts +30 -0
  107. package/src/bucketing-cleanup.ts +72 -0
  108. package/src/bucketing-parity.test.ts +41 -0
  109. package/src/commerce-analytics-lifecycle.test.ts +1416 -0
  110. package/src/commerce-config-lifecycle.test.ts +274 -0
  111. package/src/commerce-epoch-lifecycle.test.ts +62 -0
  112. package/src/commerce-gift.test.ts +1293 -0
  113. package/src/commerce-gift.ts +979 -0
  114. package/src/commerce-offers-display.test.ts +154 -0
  115. package/src/commerce-price.test.ts +1145 -0
  116. package/src/commerce-price.ts +941 -0
  117. package/src/commerce-revocation-lifecycle.test.ts +78 -0
  118. package/src/commerce-shipping.test.ts +630 -0
  119. package/src/commerce-shipping.ts +447 -0
  120. package/src/config-fetch.test.ts +325 -0
  121. package/src/css.ts +54 -0
  122. package/src/cwv.test.ts +95 -0
  123. package/src/cwv.ts +129 -0
  124. package/src/data-layer-normalize.ts +21 -0
  125. package/src/debug.test.ts +83 -0
  126. package/src/debug.ts +138 -0
  127. package/src/define.test.ts +327 -0
  128. package/src/define.ts +208 -0
  129. package/src/devtools.ts +582 -0
  130. package/src/dom-trigger.test.ts +70 -0
  131. package/src/dom-trigger.ts +55 -0
  132. package/src/editor/api.test.ts +154 -0
  133. package/src/editor/api.ts +185 -0
  134. package/src/editor/artifacts.test.ts +57 -0
  135. package/src/editor/artifacts.ts +115 -0
  136. package/src/editor/command-runtime.test.ts +225 -0
  137. package/src/editor/command-runtime.ts +572 -0
  138. package/src/editor/controller.test.ts +371 -0
  139. package/src/editor/controller.ts +596 -0
  140. package/src/editor/device-preview.test.ts +60 -0
  141. package/src/editor/device-preview.ts +120 -0
  142. package/src/editor/index.test.ts +161 -0
  143. package/src/editor/index.ts +169 -0
  144. package/src/editor/operator.test.ts +148 -0
  145. package/src/editor/operator.ts +256 -0
  146. package/src/editor/picker.test.ts +58 -0
  147. package/src/editor/picker.ts +152 -0
  148. package/src/editor/selector.test.ts +44 -0
  149. package/src/editor/selector.ts +110 -0
  150. package/src/editor/types.ts +92 -0
  151. package/src/editor/view-kit.ts +162 -0
  152. package/src/editor/view.test.ts +535 -0
  153. package/src/editor/view.ts +1395 -0
  154. package/src/editor-bootstrap.test.ts +116 -0
  155. package/src/editor-bootstrap.ts +213 -0
  156. package/src/event-schema-contract.test.ts +35 -0
  157. package/src/exclusion-groups.test.ts +383 -0
  158. package/src/exclusion-groups.ts +270 -0
  159. package/src/exposure-signals.test.ts +182 -0
  160. package/src/exposure-signals.ts +110 -0
  161. package/src/flags.test.ts +322 -0
  162. package/src/flags.ts +201 -0
  163. package/src/goals.test.ts +42 -0
  164. package/src/goals.ts +200 -0
  165. package/src/guards.test.ts +249 -0
  166. package/src/guards.ts +250 -0
  167. package/src/handover-cache-order.test.ts +32 -0
  168. package/src/handover.test.ts +349 -0
  169. package/src/handover.ts +309 -0
  170. package/src/hash.ts +214 -0
  171. package/src/heatmap.test.ts +305 -0
  172. package/src/heatmap.ts +373 -0
  173. package/src/hideflicker.ts +21 -0
  174. package/src/hydration.test.ts +252 -0
  175. package/src/hydration.ts +203 -0
  176. package/src/index.ts +7513 -0
  177. package/src/init-empty.test.ts +5572 -0
  178. package/src/js.test.ts +26 -0
  179. package/src/js.ts +61 -0
  180. package/src/module.ts +50 -0
  181. package/src/money.test.ts +35 -0
  182. package/src/money.ts +53 -0
  183. package/src/mutate.test.ts +304 -0
  184. package/src/mutate.ts +469 -0
  185. package/src/observer-mute.test.ts +88 -0
  186. package/src/observer-mute.ts +45 -0
  187. package/src/page-trigger.test.ts +84 -0
  188. package/src/personalization.test.ts +68 -0
  189. package/src/pii-keys.ts +17 -0
  190. package/src/prerequisites.test.ts +39 -0
  191. package/src/prerequisites.ts +94 -0
  192. package/src/qa-assistant-state.test.ts +471 -0
  193. package/src/qa-assistant-state.ts +505 -0
  194. package/src/qa-assistant-view.test.ts +185 -0
  195. package/src/qa-assistant-view.ts +768 -0
  196. package/src/qa-assistant.ts +40 -0
  197. package/src/qa-toolbar.ts +444 -0
  198. package/src/react/index.test.tsx +177 -0
  199. package/src/react/index.tsx +252 -0
  200. package/src/reassert-sentinel.test.ts +314 -0
  201. package/src/reassert-sentinel.ts +191 -0
  202. package/src/router.test.ts +78 -0
  203. package/src/router.ts +92 -0
  204. package/src/runtime-tools.test.ts +112 -0
  205. package/src/runtime-tools.ts +403 -0
  206. package/src/runtime.test.ts +217 -0
  207. package/src/runtime.ts +268 -0
  208. package/src/safe-regex.ts +35 -0
  209. package/src/sanitize.ts +34 -0
  210. package/src/semantic.ts +245 -0
  211. package/src/shopify-cart-events.test.ts +76 -0
  212. package/src/shopify-cart-events.ts +115 -0
  213. package/src/shopify-cart.test.ts +2823 -0
  214. package/src/shopify-cart.ts +1256 -0
  215. package/src/signals.ts +226 -0
  216. package/src/surface-signals.test.ts +83 -0
  217. package/src/surface-signals.ts +165 -0
  218. package/src/targeting-diagnostics.ts +560 -0
  219. package/src/targeting.detailed.test.ts +443 -0
  220. package/src/targeting.test.ts +1054 -0
  221. package/src/targeting.ts +1024 -0
  222. package/src/test-fixtures/commerce.ts +65 -0
  223. package/src/track.test.ts +817 -0
  224. package/src/track.ts +519 -0
  225. package/src/types.ts +991 -0
  226. package/src/wait.test.ts +96 -0
  227. package/src/wait.ts +238 -0
@@ -0,0 +1,2 @@
1
+ "use strict";var Drip=(()=>{var e=Object.defineProperty,t=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,r=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(e){throw n=[e],e}},a=(t,n)=>{for(var i in n)e(t,i,{get:n[i],enumerable:!0})};function o(){return location.origin+location.pathname}function s(e){c=Date.now(),u=0,m||(p=function(){let e=document.referrer;if(!e)return"(direct)";try{let t=new URL(e).hostname;return t===location.hostname?"(internal)":t}catch{return"(direct)"}}(),f=function(){let e="drip_utm";try{let t=sessionStorage.getItem(e);if(t)return JSON.parse(t)}catch{}let t=new URLSearchParams(location.search),n={};for(let e of["utm_source","utm_medium","utm_campaign","utm_term","utm_content"]){let i=t.get(e);i&&(n[e]=i)}if(Object.keys(n).length)try{sessionStorage.setItem(e,JSON.stringify(n))}catch{}return n}(),m=!0),d&&(d(),d=null),d=function(){let e=()=>{if(!document.body)return;let e=Math.max(document.body.scrollHeight,document.documentElement.scrollHeight),t=window.innerHeight;if(e<=t)return void(u=100);let n=Math.round((window.scrollY+t)/e*100);n>u&&(u=n)};window.addEventListener("scroll",e,{passive:!0});let t=null;return document.body?e():(t=()=>e(),document.addEventListener("DOMContentLoaded",t,{once:!0})),()=>{window.removeEventListener("scroll",e),t&&document.removeEventListener("DOMContentLoaded",t)}}();let t={referrer:p,path:location.pathname,title:document.title};for(let[e,n]of Object.entries(f))n&&(t[e]=n);e("pageview",t)}function l(e){if(!c)return;let t=Math.round((Date.now()-c)/1e3);d&&(d(),d=null),e("page_exit",{duration:t,scroll_depth:u,path:location.pathname}),c=0,u=0}var c,u,d,p,f,m,g=r(()=>{c=0,u=0,d=null,p="",f={},m=!1});function h(){return typeof document>"u"||!document.documentElement?null:document}function v(){null!==S&&(clearTimeout(S),S=null),null!==I&&(clearTimeout(I),I=null),null!==k&&(clearTimeout(k),k=null)}function y(e="scoped",t=1200,n,i){let r=h();if(!r)return;let a=r.getElementById(w);if(a&&null===k)return;let o=function(e="scoped",t,n){if("off"===e)return null;if("custom"===e)return n&&n.trim()?n:null;if("scoped"===e){if(!t||0===t.length)return null;let e=t.join(",");return e+" { visibility: hidden !important; } .drip-af-reveal "+e+" { visibility: visible !important; transition: visibility 0s, opacity 0.05s ease-in !important; }"}return _}(e,n,i);if(!o)return;v(),A&&A!==r&&function(e){e.documentElement?.classList.remove("drip-af","drip-af-reveal"),e.getElementById(w)?.remove(),A===e&&(A=null)}(A),A=r;let s=r.documentElement,l=a??r.createElement("style");l.id=w,l.textContent=o,s.classList.remove("drip-af-reveal"),"full"===e?s.classList.add("drip-af"):s.classList.remove("drip-af"),l.isConnected||(r.head||s).appendChild(l);let c=Math.round(.8*t);S=setTimeout(()=>{S=null,s.classList.add("drip-af-reveal")},c),I=setTimeout(()=>{I=null,x(r)},t)}function x(e){if(v(),!e?.documentElement)return;let t=e.documentElement;t.classList.remove("drip-af"),t.classList.add("drip-af-reveal");let n=e.getElementById(w);k=setTimeout(()=>{k=null,n?.remove(),t.classList.remove("drip-af-reveal"),A===e&&(A=null)},80)}function b(){x(A??h())}var w,_,S,I,k,A,M=r(()=>{w="drip-antiflicker",_="html.drip-af { opacity: 0 !important; } html.drip-af-reveal { transition: opacity 0.05s ease-in !important; }",S=null,I=null,k=null,A=null});function C(e){return Number.isFinite(e.assignmentEpoch)?Math.max(1,Math.floor(e.assignmentEpoch)):1}function E(){try{return globalThis.localStorage?.getItem(D)??null}catch{return null}}function $(){try{let e=(globalThis.document?.cookie??"").match(new RegExp("(^| )"+N+"=([^;]+)"));return e?decodeURIComponent(e[2]):null}catch{return null}}function T(e){if(!e)return{};try{let t=JSON.parse(e);if(!t||"object"!=typeof t||Array.isArray(t))return{};let n={};for(let[e,i]of Object.entries(t))"string"!=typeof e||!Array.isArray(i)||"string"!=typeof i[0]||"number"!=typeof i[1]||"number"!=typeof i[2]||(n[e]=[i[0],i[1],i[2]]);return n}catch{return{}}}function P(e,t=80){let n=Object.entries(e).sort(([,e],[,t])=>t[2]-e[2]).slice(0,t),i={};for(let[e,t]of n)i[e]=t;return JSON.stringify(i)}function z(){let e={...T($()),...T(E())},t={};for(let[n,[i,r,a]]of Object.entries(e))t[n]={variationId:i,epoch:r,assignedAt:a};return t}function j(e){let t={};for(let[n,i]of Object.entries(e))t[n]=[i.variationId,i.epoch,i.assignedAt];(function(e){try{globalThis.localStorage?.setItem(D,e)}catch{}})(P(t,80)),function(e){try{if(!globalThis.document)return;globalThis.document.cookie=N+"="+encodeURIComponent(e)+"; Max-Age=31536000; Path=/; SameSite=Lax"}catch{}}(P(t,20))}function L(e,t,n=Date.now()){let i=z(),r={variationId:t,epoch:C(e),assignedAt:n};return i[e.id]=r,j(i),r}function q(e){let t=z(),n=!1;for(let i of e)i in t&&(delete t[i],n=!0);n&&j(t)}var D,N,R,F=r(()=>{R={STORAGE_KEY:D="drip_assignments_v1",COOKIE_NAME:N="drip_assignments_v1",assignmentEpoch:C,parseStore:T,serializeStore:P}});function O(e){try{let t=globalThis.localStorage;if(!t)return null;let n=t.getItem(e);return n?JSON.parse(n):null}catch{return null}}var U,J,B=r(()=>{U="drip_goals",J="drip_cfg:"});function G(e,t=1){return!(t<=0)&&(t>=1||e<t)}function H(e,t){if(!t.length)return-1;let n=t.reduce((e,t)=>e+(t>0?t:0),0);if(n<=0)return 0;let i=e*n,r=0;for(let e=0;e<t.length;e++)if(r+=t[e]>0?t[e]:0,i<r)return e;return t.length-1}var V=r(()=>{});function W(e){return{cls_total:Math.round(1e5*e.total)/1e5,cls_after_reveal:Math.round(1e5*e.afterReveal)/1e5}}function K(e,t){for(let n of t){let t=n;t.hadRecentInput||"number"!=typeof t.value||(e.total+=t.value,null!==e.revealAt&&t.startTime>e.revealAt&&(e.afterReveal+=t.value))}}function Q(e=Z){if(!e||e.finalized)return;e.finalized=!0,null!==e.disconnectTimer&&(clearTimeout(e.disconnectTimer),e.disconnectTimer=null);try{K(e,e.observer.takeRecords())}catch{}e.observer.disconnect();let t=W(e);ee=t,e.resolve(t),Z===e&&(Z=null)}function X(e){if(Q(Z),ee={cls_total:0,cls_after_reveal:0},e||typeof PerformanceObserver>"u")te=Promise.resolve(null);else try{let e,t,n=new Promise(t=>{e=t}),i=new PerformanceObserver(e=>{t.finalized||K(t,e.getEntries())});t={observer:i,revealAt:null,disconnectTimer:null,total:0,afterReveal:0,promise:n,resolve:e,finalized:!1},Z=t,te=n,i.observe({type:"layout-shift",buffered:!ne}),ne=!0,t.disconnectTimer=setTimeout(()=>Q(t),5e3)}catch{Z?.observer.disconnect(),Z?.resolve(null),Z=null,te=Promise.resolve(null)}}function Y(){if(!Z||null!==Z.revealAt)return;Z.revealAt=typeof performance<"u"&&"function"==typeof performance.now?performance.now():0,null!==Z.disconnectTimer&&clearTimeout(Z.disconnectTimer);let e=Z;e.disconnectTimer=setTimeout(()=>Q(e),5e3)}var Z,ee,te,ne,ie=r(()=>{Z=null,ee={cls_total:0,cls_after_reveal:0},te=Promise.resolve(null),ne=!1});function re(e,t){return function(e,t=0){let n=3&e.length,i=e.length-n,r=t,a=3432918353,o=461845907,s=0;for(;s<i;){let t=255&e.charCodeAt(s)|(255&e.charCodeAt(++s))<<8|(255&e.charCodeAt(++s))<<16|(255&e.charCodeAt(++s))<<24;++s,t=Math.imul(t,a),t=t<<15|t>>>17,t=Math.imul(t,o),r^=t,r=r<<13|r>>>19,r=Math.imul(r,5)+3864292196}let l=0;switch(n){case 3:l^=(255&e.charCodeAt(s+2))<<16;case 2:l^=(255&e.charCodeAt(s+1))<<8;case 1:l^=255&e.charCodeAt(s),l=Math.imul(l,a),l=l<<15|l>>>17,l=Math.imul(l,o),r^=l}return r^=e.length,r^=r>>>16,r=Math.imul(r,2246822507),r^=r>>>13,r=Math.imul(r,3266489909),r^=r>>>16,r>>>0}(e+t,1)%1e4/1e4}function ae(e,t){return re(`${e}:variation`,t)}function oe(){if(globalThis.crypto&&globalThis.crypto.getRandomValues){let e=new Uint8Array(16);return globalThis.crypto.getRandomValues(e),function(e){let t="";for(let n=0;n<e.length;n++)t+=e[n].toString(16).padStart(2,"0");return t}(e)}return Math.random().toString(36).slice(2)+Date.now().toString(36)}function se(e){he=e?.storageMode??"localStorage",ve=!0===e?.encodeStorageValues,ye=function(e){let t=(e??"").trim().replace(/^https?:\/\//i,"").replace(/\/.*$/,"").replace(/[?#].*$/,"").replace(/:\d+$/,"").toLowerCase();if(!t||"localhost"===t||t.includes(":"))return"";let n=t.replace(/^\.+/,"."),i=n.replace(/^\./,"").split(".");return i.length>1&&i.every(e=>/^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$/.test(e))?n:""}(e?.cookieDomain)}function le(e){if(!ve)return e;try{return"b64:"+btoa(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}catch{return e}}function ce(e){if(!e)return null;if(!e.startsWith("b64:"))return e;try{let t=e.slice(4).replace(/-/g,"+").replace(/_/g,"/"),n=t+"=".repeat((4-t.length%4)%4);return atob(n)}catch{return null}}function ue(){try{return"sessionStorage"===he?globalThis.sessionStorage??null:"localStorage"===he?globalThis.localStorage??null:null}catch{return null}}function de(e){if("memory"!==he){if("cookie"!==he)try{ue()?.setItem(ge,le(e))}catch{}}else xe=e}function pe(e){if(!globalThis.document)return;let t=new Date(Date.now()+31536e6).toUTCString(),n=ye?"; domain="+ye:"";globalThis.document.cookie=ge+"="+encodeURIComponent(le(e))+"; expires="+t+"; path=/"+n}function fe(e){if(e)return e;let t=function(){if("memory"===he)return xe;if("cookie"===he)return null;try{return ce(ue()?.getItem(ge)||null)}catch{return null}}()||function(){if(!globalThis.document?.cookie)return null;let e=globalThis.document.cookie.match(new RegExp("(^| )"+ge+"=([^;]+)"));return e?ce(decodeURIComponent(e[2])):null}();if(t)return t;let n=oe();return de(n),"memory"!==he&&pe(n),n}function me(e){e&&(de(e),"memory"!==he&&pe(e))}var ge,he,ve,ye,xe,be=r(()=>{ge="drip_uid",he="localStorage",ve=!1,ye="",xe=null});function we(){let e=new URLSearchParams(location.search).get("drip_screenshot");return"1"===e||"true"===e}function _e(e,t){for(let n of t){let t=e.get(n)?.trim();if(t)return t}return null}function Se(e){let t=e.get("drip_force");if(t){let e=ke(t);if(e)return e}let n=_e(e,je),i=_e(e,Le);return n&&i?{[n]:i}:null}function Ie(e){let t=Se(new URLSearchParams(location.search));if(t)return t;if(!1!==e?.cookieFallback){let e=$e("drip_qa_force");if(e){let t=ke(e);if(t)return t}}return null}function ke(e){let t={};for(let n of e.split(",")){let[e,i]=n.split(":");e&&i&&(t[e]=i)}return Object.keys(t).length?t:null}function Ae(e){if(we())return!1;let t=new URLSearchParams(location.search);return!!("1"===t.get("drip_qa")||function(e){return"1"===e.get("drip_debug")||"1"===e.get("apex_debug")||"1"===e.get("drip_devtools")}(t)&&Se(t))||!1!==e?.cookieFallback&&!!$e(qe)}function Me(e){let t=Object.entries(e).map(([e,t])=>`${e}:${t}`).join(",");Te(qe,t,Ne)}function Ce(e){if(!e)return null;let t=e.trim();return/^[a-zA-Z0-9_-]{3,120}$/.test(t)?t:null}function Ee(){Pe(qe);try{sessionStorage.removeItem(De)}catch{}try{let e=new URL(location.href);e.searchParams.delete("drip_qa"),e.searchParams.delete("drip_force"),e.searchParams.delete("drip_experiment_id"),e.searchParams.delete("drip_experiment"),e.searchParams.delete("experiment_id"),e.searchParams.delete("experimentId"),e.searchParams.delete("expId"),e.searchParams.delete("drip_variation_id"),e.searchParams.delete("drip_variation"),e.searchParams.delete("variation_id"),e.searchParams.delete("variationId"),e.searchParams.delete("varId"),e.searchParams.delete("drip_qa_session"),e.searchParams.delete("drip_harness"),e.searchParams.delete("drip_debug"),e.searchParams.delete("apex_debug"),history.replaceState(null,"",e.toString())}catch{}}function $e(e){try{let t=document.cookie.match(new RegExp("(?:^|; )"+e+"=([^;]*)"));return t?decodeURIComponent(t[1]):null}catch{return null}}function Te(e,t,n){try{document.cookie=`${e}=${encodeURIComponent(t)};path=/;max-age=${n};samesite=lax`}catch{}}function Pe(e){try{document.cookie=`${e}=;path=/;max-age=0;samesite=lax`}catch{}}var ze,je,Le,qe,De,Ne,Re=r(()=>{ze=/bot|google|crawler|spider|robot|crawling|facebookexternalhit|bingpreview|slurp/i,je=["drip_experiment_id","drip_experiment","experiment_id","experimentId","expId"],Le=["drip_variation_id","drip_variation","variation_id","variationId","varId"],qe="drip_qa_force",De="drip_qa_session",Ne=1800});function Fe(e){return Number.isFinite(e)?Math.max(1,Math.floor(e)):1}function Oe(e){if(!e)return{};try{let t=JSON.parse(e);return t&&"object"==typeof t&&!Array.isArray(t)?t:{}}catch{return{}}}function Ue(){try{return globalThis.localStorage?.getItem(Be)??null}catch{return null}}function Je(){return{...Oe(Ue()),...Oe($e(Ge))}}var Be,Ge,He,Ve=r(()=>{be(),V(),Re(),Be="drip_xgroups_v1",Ge="drip_xgroups_v1",He={read(e){let t=Je()[e];return Array.isArray(t)&&"string"==typeof t[0]&&"number"==typeof t[1]?{experimentId:t[0],epoch:t[1]}:null},write(e,t){let n=Je();n[e]=[t.experimentId,Fe(t.epoch)],function(e){let t=JSON.stringify(e);try{globalThis.localStorage?.setItem(Be,t)}catch{}Te(Ge,t,31536e3)}(n)}}});function We(e,t=2){let n=/\d(?:[\d.,\u00a0 ]*\d)?/g,i=n.exec(e);if(!i||n.exec(e))return null;let r=i[0],a=r.replace(/[ \u00a0]/g,""),o=Math.max(a.lastIndexOf("."),a.lastIndexOf(",")),s=o<0?0:a.length-o-1,l=s&&s<=t?s:0,c=l?a[o]:null,u=r.slice(0,c?r.lastIndexOf(c):r.length).match(/[.,\u00a0 ]/)?.[0]??"",d=c??("."===u?",":"."),p=(l?a.slice(0,o):a).replace(/[.,]/g,""),f=l?a.slice(o+1):"",m=10**t;return{cents:Number(p)*m+Number((f+"0".repeat(t)).slice(0,t)||0),convention:{decimal:d,group:u,decimals:l,minorUnits:t},start:i.index,end:i.index+r.length}}function Ke(e,t){let n=10**t.minorUnits,i=String(Math.floor(e/n));t.group&&(i=i.replace(/\B(?=(\d{3})+(?!\d))/g,t.group));let r=e%n,a=t.decimals||(r?t.minorUnits:0);return a?i+t.decimal+String(r).padStart(t.minorUnits,"0").slice(0,a):i}var Qe=r(()=>{});function Xe(){if(typeof window>"u")return!1;let e=window.ShopifyAnalytics?.meta;return!(!window.Shopify||!Array.isArray(e?.product?.variants))}function Ye(){null!=zt&&clearTimeout(zt),zt=null}function Ze(){null!=jt&&clearTimeout(jt),jt=null,Lt=0}function et(){null==jt&&(0===Lt&&(Lt=Date.now()+Dt),jt=setTimeout(()=>{if(jt=null,!Tt)return;let e=Tt.isCohortStampedOnCart();if(!1!==e){if("pending"===e){if(Date.now()>=Lt)return void vt();et()}}else vt()},25))}function tt(e,t,n=()=>!0){if(typeof window>"u")return[];let i=window,r=i.ShopifyAnalytics?.meta;if(!i.Shopify||"product"!==r?.page?.pageType||!Array.isArray(r.product?.variants))return[];let a=i.Shopify.currency?.active,o=new Set(r.product.variants.filter(e=>null!=e.id).map(e=>String(e.id))),s=[];for(let i of e.experiments){let e=t.find(e=>e.experimentId===i.experiment_id),r=e?i.variants[e.variationId]:void 0,l=r?.some(e=>{let t=e.variant_gid.split("/").pop();return null!=t&&o.has(t)}),c=null==i.assignment_epoch||i.assignment_epoch===e?.assignmentEpoch;e&&n(e)&&c&&!e.isControl&&a===i.currency&&r&&l&&s.push({experiment:i,assignment:e,currency:a})}return s}function nt(e,t,n){let i=tt(e,t,n);return i.length>0?i.some(({experiment:e,assignment:t})=>e.variants[t.variationId]?.some(e=>"string"==typeof e.fixedPricePerUnit)):e.experiments.some(e=>{let n=t.find(t=>t.experimentId===e.experiment_id&&!t.isControl);return!(!n||null!=e.assignment_epoch&&e.assignment_epoch!==n.assignmentEpoch||!e.variants[n.variationId]?.some(e=>"string"==typeof e.fixedPricePerUnit))})}function it(e,t,n=()=>!0){return!!e&&(!!rt(e,t,n)||!Xe()&&e.experiments.some(e=>t.some(t=>t.experimentId===e.experiment_id&&n(t)&&!t.isControl&&(null==e.assignment_epoch||e.assignment_epoch===t.assignmentEpoch))))}function rt(e,t,n=()=>!0){try{return!(!e||!tt(e,t,n).length)}catch{return!1}}function at(e,t){return Number(e)<Number(t)}function ot(e,t){let n=e.match(/^(\d+)(?:\.(\d+))?$/);if(!n)return null;let i=n[2]??"",r=i.slice(t);if(/[^0]/.test(r))return null;let a=Number(n[1]+(i+"0".repeat(t)).slice(0,t));return Number.isSafeInteger(a)?a:null}function st(e,t,n){let i=We(e,n);if(!i)return null;let r=t.get(i.cents);return null==r||Number.isNaN(r)?null:e.slice(0,i.start)+Ke(r,i.convention)+e.slice(i.end)}function lt(e,t,n,i){let r=e.parentElement?.closest("[aria-label]");if(!r||!t.contains(r))return;let a=r.getAttribute("aria-label");if(null==a)return;let o=st(a,n,i);if(null==o||o===a)return;let s=At.get(r);At.set(r,{original:s&&a===s.applied?s.original:a,applied:o}),r.setAttribute("aria-label",o)}function ct(){try{mt()}catch{vt()}}function ut(e){try{let t=new URL(e,location.href).pathname.match(/\/products\/([^/]+)/i);return t?.[1]?decodeURIComponent(t[1]).toLowerCase():null}catch{return null}}function dt(){let e=window.ShopifyAnalytics?.meta,t=e?.page?.handle??e?.product?.handle;if("string"==typeof t&&t.trim())return t.trim().toLowerCase();let n=document.querySelector('link[rel="canonical"][href]');return n?ut(n.href):null}function pt(e,t){let n=e.closest('a[href*="/products/"]'),i=e.closest("li,article,[data-product-id],[class*='product-card'],[class*='product-item'],[class*='card']"),r=e.parentElement&&e.parentElement!==document.body?e.parentElement:null,a=i??r,o=a?Array.from(a.querySelectorAll('a[href*="/products/"]')).filter(e=>null!=i||e.parentElement===a):[],s=new Set(o.map(e=>ut(e.href)).filter(e=>null!=e)),l=n??(1===s.size?o[0]??null:null);if(!l)return!1;let c=ut(l.href);return!!c&&(null==t||c!==t)}function ft(e,t){return e.parentElement?pt(e.parentElement,t):null==t}function mt(){if(!Tt||Pt)return;let e=!nt(Tt.settings,Tt.assignments,Tt.isAssignmentAuthorized)||Tt.isCohortStampedOnCart();if(!1!==e){"pending"===e&&et(),Pt=!0;try{let e=tt(Tt.settings,Tt.assignments,Tt.isAssignmentAuthorized),t=window.ShopifyAnalytics?.meta?.product?.variants;if(!e.length||!Array.isArray(t))return;let n=e[0].currency,i=bt.test(n)?0:2,r=i?1:100,a=new Map;for(let e of t){let t=Number(e.price);null!=e.id&&Number.isSafeInteger(t)&&t>=0&&a.set(String(e.id),t)}let o=new Map;for(let t of e)for(let e of t.experiment.variants[t.assignment.variationId]){if("string"!=typeof e.fixedPricePerUnit)continue;let t=e.variant_gid.split("/").pop();if(!t||!a.has(t))continue;let n=o.get(t);(null==n||at(e.fixedPricePerUnit,n))&&o.set(t,e.fixedPricePerUnit)}let s=new Map,l=[...e].sort((e,t)=>e.experiment.experiment_id<t.experiment.experiment_id?-1:1);for(let e of l)for(let t of e.experiment.variants[e.assignment.variationId]){let n=t.variant_gid.split("/").pop();n&&a.has(n)&&t.compareAt&&!s.has(n)&&s.set(n,{compare:t.compareAt,assignment:e.assignment})}let c=new Map;for(let[e,t]of o){let n=a.get(e),o=ot(t,i);if(null==n||null==o||o*r>=n||n%r)continue;let s=n/r,l=c.get(s);c.set(s,null==l||l===o?o:NaN)}for(let[e,{compare:t}]of s){if("set"!==t.mode)continue;let n=a.get(e),o=ot(t.amount,i),l=null!=n&&n%r===0?n/r:null,u=null==l?null:c.get(l)||l;(null==o||null==u||o<=u)&&s.delete(e)}if(!c.size&&!s.size&&null===Et)return;let u=dt(),d=xt.join(","),p=Array.from(document.querySelectorAll(yt.join(","))),f=function(e){let t=dt(),n=Array.from(document.querySelectorAll('form[action*="/cart/add"]')).find(e=>!pt(e,t))?.querySelector("[name=id][type=radio]:checked,select[name=id],input[name=id]:not([type=radio])")?.value;if(n&&e.some(e=>String(e.id)===n))return n;let i=new URL(location.href).searchParams.get("variant");return i&&e.some(e=>String(e.id)===i)?i:1===e.length&&null!=e[0]?.id?String(e[0].id):null}(t),m=f?s.get(f):void 0,g=m?.compare,h=null;Mt=Mt.filter(e=>e.isConnected);let v=()=>{for(let e of Mt)e.remove();Mt=[]},y=()=>{v();for(let[e,t]of Ct)e.style.display=t;Ct=new Map};if(g){let e=new Set;for(let t of p){if(pt(t,u))continue;let n=t.parentElement??t;for(let t of Array.from(n.querySelectorAll(d)))t.hasAttribute("data-apex-compare-at")||pt(t,u)||e.add(t)}for(let t of e)Ct.has(t)||Ct.set(t,t.style.display),t.style.display="none";if("set"===g.mode){let e=ot(g.amount,i),t=f?a.get(f):void 0;if(null!=e&&null!=t){let n=p.filter(e=>!pt(e,u)),a=yt.join(","),o=n.filter(e=>!e.querySelector(a));for(let a of o.length>0?o:n){let n=a.parentElement?.querySelector("[data-apex-compare-at]")??null;n||(n=document.createElement("s"),n.dataset.apexCompareAt="true",n.className="apex-compare-at",a.parentElement?.insertBefore(n,a),Mt.push(n));let o=t/r,s=a.textContent??"",l=We(s,i),c=l&&null===We(s.slice(0,l.start)+s.slice(l.end),i)?st(s,new Map([[o,e]]),i)??(l?s.slice(0,l.start)+Ke(e,l.convention)+s.slice(l.end):g.amount):l?Ke(e,l.convention):g.amount;n.textContent!==c&&(n.textContent=c)}Mt.some(e=>e.isConnected)&&(h=m.assignment),0===n.length&&y()}else y()}"clear"===g.mode&&(v(),Ct.size>0&&(h=m.assignment))}else y();for(let e of p){if(e.matches(d)||e.closest(d))continue;let t,n=document.createTreeWalker(e,NodeFilter.SHOW_TEXT);for(;t=n.nextNode();){if(t.parentElement?.closest(d)||ft(t,u))continue;let n=st(t.data,c,i);if(null==n||n===t.data)continue;lt(t,e,c,i);let r=kt.get(t);kt.set(t,{original:r&&t.data===r.applied?r.original:t.data,applied:n}),t.data=n}}wt?.disconnect(),_t?.disconnect(),wt=new MutationObserver(ct),p.forEach(e=>wt.observe(e,{childList:!0,characterData:!0,subtree:!0})),(_t=new MutationObserver(e=>{let t=yt.join(",");e.some(e=>Array.from(e.addedNodes).some(e=>e instanceof Element&&(e.matches(t)||!!e.querySelector(t))))&&ct()})).observe(document.body,{childList:!0,subtree:!0});let x=h!==Et;Et=h,x&&$t?.();let b=Array.from(document.querySelectorAll('form[action*="/cart/add"]')).find(e=>!pt(e,u))??null;St!==b&&(St?.removeEventListener("change",It),St?.removeEventListener("input",It),St=b,St?.addEventListener("change",It),St?.addEventListener("input",It))}finally{Pt=!1}}else vt()}function gt(e,t,n,i,r,a=()=>!0){let o=!nt(e,t,a)||n();if("pending"!==o){if(Ze(),!1===o)return qt=null,Ye(),void r?.();if(!rt(e,t,a))return!Xe()&&Date.now()<i?void(zt=setTimeout(()=>gt(e,t,n,i,r,a),Nt)):(Ye(),qt=null,void r?.());Ye(),qt=null,Tt={settings:e,assignments:t,isCohortStampedOnCart:n,isAssignmentAuthorized:a};try{mt()}catch{vt()}r?.()}else{if(0===Lt&&(Lt=Date.now()+Dt),Date.now()>=Lt){Ze();let e=qt?.onResolved??r;return qt&&(qt.onResolved=void 0),void e?.()}null==jt&&(jt=setTimeout(()=>{jt=null,gt(e,t,n,i,r,a)},25))}}function ht(e,t,n=()=>!1,i,r=()=>!0){if(vt(),!e)return void i?.();let a=Date.now()+Rt;qt={settings:e,assignments:t,isCohortStampedOnCart:n,deadline:a,onResolved:i,isAssignmentAuthorized:r},gt(e,t,n,a,i,r)}function vt(){wt?.disconnect(),wt=null,_t?.disconnect(),_t=null,St?.removeEventListener("change",It),St?.removeEventListener("input",It),St=null;for(let[e,t]of kt)e.data=t.original;kt=new Map;for(let[e,t]of At)e.setAttribute("aria-label",t.original);At=new Map;for(let e of Mt)e.remove();Mt=[];for(let[e,t]of Ct)e.style.display=t;Ct=new Map,Et=null,Tt=null,qt=null,Pt=!1,Ye(),Ze()}var yt,xt,bt,wt,_t,St,It,kt,At,Mt,Ct,Et,$t,Tt,Pt,zt,jt,Lt,qt,Dt,Nt,Rt,Ft,Ot=r(()=>{Qe(),yt='.price,.price__regular,.price-item,.price-item--regular,.product__price,.product-price,[data-price],[itemprop="price"]'.split(","),xt='s,del,.price__compare,.price-item--compare,[class*="compare-at"]'.split(","),bt=/^(BIF|CLP|DJF|GNF|ISK|JPY|KMF|KRW|PYG|RWF|UGX|VND|VUV|XAF|XOF|XPF)$/,wt=null,_t=null,St=null,It=()=>ct(),kt=new Map,At=new Map,Mt=[],Ct=new Map,Et=null,Tt=null,Pt=!1,zt=null,jt=null,Lt=0,qt=null,Dt=8e3,Nt=60,Rt=5e3,Ft=e=>{$t=e}});function Ut(e){let t=function(e){try{let t="string"==typeof e||e instanceof URL?String(e):e.url;return new URL(t,location.href)}catch{return null}}(e);if(!t||t.origin!==location.origin)return!1;let n=window.Shopify?.routes?.root,i="";if("string"==typeof n)try{let e=new URL(n,location.origin);e.origin===location.origin&&!e.search&&!e.hash&&(i=e.pathname.replace(/\/$/,""))}catch{i=""}let r=t.pathname.replace(/\/$/,"");return["add","change","update","clear"].some(e=>r===`${i}/cart/${e}`||r===`${i}/cart/${e}.js`)}function Jt(){for(let e of Vt)try{e()}catch{}}function Bt(e){let t=e.target;!(t instanceof HTMLFormElement)||!Ut(t.action)||queueMicrotask(Jt)}function Gt(e){return Vt.add(e),function(){if(Wt||"function"!=typeof window.fetch)return;let e=(Wt=window.fetch).bind(window);Kt=function(...t){let n=0===Qt&&Ut(t[0]),i=e(...t);return n&&i.then(e=>{e.ok&&Jt()},()=>{}),i},window.fetch=Kt,document.addEventListener("submit",Bt,!0),Xt=!0}(),()=>{Vt.delete(e),0===Vt.size&&(Xt&&(document.removeEventListener("submit",Bt,!0),Xt=!1),Wt&&window.fetch===Kt&&(window.fetch=Wt),Kt=null,Wt=null)}}function Ht(...e){Qt+=1;try{return("function"==typeof window.fetch?window.fetch:globalThis.fetch).call(window,...e)}finally{Qt-=1}}var Vt,Wt,Kt,Qt,Xt,Yt=r(()=>{Vt=new Set,Wt=null,Kt=null,Qt=0,Xt=!1});function Zt(){return Date.now()}function en(e){return 86400*Math.max(1,e)*1e3}function tn(){if(!nn())return!1;try{if(typeof localStorage>"u")return!1;let e="__drip_signal_test__";return localStorage.setItem(e,"1"),localStorage.removeItem(e),!0}catch{return!1}}function nn(){try{return!0===wn()}catch{return!1}}function rn(){if(!tn())return{};try{let e=JSON.parse(localStorage.getItem(vn)||"{}");return e&&"object"==typeof e?e:{}}catch{return{}}}function an(e){if(tn())try{localStorage.setItem(vn,JSON.stringify(e))}catch{}}function on(e){if(null===e)return null;if("string"==typeof e)return e.slice(0,1e3);if("number"==typeof e)return Number.isFinite(e)?e:void 0;if("boolean"==typeof e)return e;if(Array.isArray(e))return e.map(e=>String(e).trim()).filter(Boolean).slice(0,24);if(e&&"object"==typeof e)try{let t=JSON.stringify(e);return t.length>4096?void 0:JSON.parse(t)}catch{return}}function sn(e){let t=Zt(),n={};for(let[i,r]of Object.entries(e))!r||"object"!=typeof r||r.expiresAt&&r.expiresAt<=t||(n[i]=r);return n}function ln(e,t,n=30,i="manual"){if(!nn())return;let r=on(t);if(void 0===r)return;let a=sn(rn());a[e]={value:r,updatedAt:Zt(),expiresAt:Zt()+en(n)},an(a),bn[e]=i}function cn(e={}){let t=sn(rn());!1!==e.markVisitorSeen&&an(t);let n={};for(let[e,i]of Object.entries(t))n[e]=i.value;if(Object.assign(n,xn),!1!==e.markVisitorSeen&&nn())try{let e="1"===localStorage.getItem(yn);n["visitor.returning"]=e,localStorage.setItem(yn,"1")}catch{}return n}function un(e,t,n="runtime"){let i=on(t);void 0!==i&&(xn[e]=i,bn[e]=n)}function dn(e){delete xn[e],delete bn[e]}function pn(e,t){let n=t.trim();return n?[n,...e.filter(e=>e!==n)].slice(0,24):e}function fn(e){let t=cn({markVisitorSeen:!1})[e];return Array.isArray(t)?t.map(e=>String(e)):[]}function mn(e,t=30){let n=null==e.id?"":String(e.id),i=e.handle?String(e.handle):"",r=e.type?String(e.type):"";if(n&&ln("recently_viewed.product_ids",pn(fn("recently_viewed.product_ids"),n),t),i&&ln("recently_viewed.product_handles",pn(fn("recently_viewed.product_handles"),i),t),r&&ln("recently_viewed.product_types",pn(fn("recently_viewed.product_types"),r),t),e.tags?.length){let n=fn("recently_viewed.product_tags");ln("recently_viewed.product_tags",e.tags.reduce((e,t)=>pn(e,String(t)),n),t)}ln("recently_viewed.last_product",{id:n||void 0,handle:i||void 0,title:e.title||void 0,type:r||void 0,vendor:e.vendor||void 0,price:e.price??void 0},t)}function gn(e,t=14){"number"==typeof e.itemCount&&ln("cart.item_count",e.itemCount,t),e.productIds&&ln("cart.product_ids",e.productIds,t)}function hn(e,t=7){let n=e.trim();n&&ln("search.last_query",n,t)}var vn,yn,xn,bn,wn,_n=r(()=>{vn="drip_signals_v1",yn="drip_visitor_seen_v1",xn={},bn={},wn=()=>!0});function Sn(e=document){if(typeof document>"u")return null;for(let t of Pn){let n=e.querySelector(t);if(n)return n}return null}function In(e){let t=e.getAttribute("class");return"string"==typeof t?t:""}function kn(e){let t=In(e),n=e.getAttribute("data-state")??"";return e.hasAttribute("open")||"false"===e.getAttribute("aria-hidden")||"true"===e.getAttribute("aria-expanded")||/^(open|opened|active|visible|shown)$/i.test(n)||/\b(is-|has-)?(open|opened|active|visible|shown)\b/i.test(t)}function An(e){let t=In(e);return e.hasAttribute("hidden")||"true"===e.getAttribute("aria-hidden")||"closed"===e.getAttribute("data-state")||/\b(is-)?(closed|closing|hidden)\b/i.test(t)}function Mn(e){if(typeof window>"u")return!1;let t=e,n=window.getComputedStyle?window.getComputedStyle(t):null;if(n&&("none"===n.display||"hidden"===n.visibility||"0"===n.opacity||"none"===n.pointerEvents))return!1;let i=t.getBoundingClientRect?.();return!!(i&&i.width>0&&i.height>0)}function Cn(e=document){if(typeof document>"u")return!1;let t=document.body?In(document.body):"";if(Tn.test(t))return!0;for(let t of Pn){let n=Array.from(e.querySelectorAll(t));for(let e of n)if(!An(e)&&kn(e)&&Mn(e))return!0}return!1}function En(e){if(typeof document>"u"||typeof window>"u"||typeof MutationObserver>"u"||!document.documentElement)return()=>{};let t=Cn(),n=null,i=()=>{n=null;let i=Cn();i!==t&&(t=i,e(i))},r=()=>{null===n&&(n=window.setTimeout(i,80))},a=new MutationObserver(r);return a.observe(document.documentElement,{attributes:!0,attributeFilter:["aria-expanded","aria-hidden","class","data-state","hidden","open","style"],childList:!0,subtree:!0}),document.addEventListener("click",r,!0),document.addEventListener("keyup",r,!0),()=>{a.disconnect(),document.removeEventListener("click",r,!0),document.removeEventListener("keyup",r,!0),null!==n&&window.clearTimeout(n)}}var $n,Tn,Pn,zn=r(()=>{_n(),$n="surface.cart_drawer.open",Tn=/\b(cart|mini-cart|side-cart|cart-drawer|drawer)[-_ ]?(open|opened|active|visible|shown)\b|\b(open|active|visible|shown)[-_ ]?(cart|mini-cart|side-cart|cart-drawer|drawer)\b/i,Pn=["cart-drawer","mini-cart","side-cart","[data-cart-drawer]","[data-cart-drawer-open]","[data-side-cart]","[data-mini-cart]","[data-state='open'][class*='cart' i]","[data-state='open'][id*='cart' i]","[aria-hidden='false'][class*='cart' i][class*='drawer' i]","[aria-hidden='false'][id*='cart' i][id*='drawer' i]","[class*='cart-drawer' i]","[class*='mini-cart' i]","[class*='side-cart' i]","[id*='cart-drawer' i]","[id*='mini-cart' i]","[id*='side-cart' i]"]});function jn(){Vn?.remove(),Vn=null}function Ln(e,t,n){let i={productGids:[],variantGids:[]},r=e=>(e?.target?.productGids.length??0)>0||(e?.target?.variantGids.length??0)>0,a=e=>null!=e&&"none"!==e.treatment&&(null!==e.threshold||"percent_off"!==e.treatment),o=Object.values(e).filter(e=>"none"!==e.treatment);return t?{eligibilityTarget:o.some(e=>!r(e))?i:o.reduce((e,t)=>({productGids:[...e.productGids,...t.target?.productGids??[]],variantGids:[...e.variantGids,...t.target?.variantGids??[]]}),i),needsTargetProof:o.some(r),isCurrencyBound:o.length>0&&o.every(a)}:{eligibilityTarget:n?.target??i,needsTargetProof:r(n),isCurrencyBound:a(n)}}function qn(e,t){let n=new RegExp(`^(\\d+)${0===t?"":`(?:\\.(\\d{1,${t}}))?`}$`).exec(e);if(!n)return null;let i=Number(n[1]+(n[2]??"").padEnd(t,"0"));return Number.isSafeInteger(i)&&i>0?i:null}function Dn(e,t,n){return new Intl.NumberFormat(void 0,{style:"currency",currency:t}).format(e/10**n)}function Nn(e,t){jn();let n=null!==t.thresholdCents&&e>=t.thresholdCents,i=function(e,t,n){return e.split("{remaining}").join(Dn(Math.max(0,(n.thresholdCents??0)-t),n.currency,n.minorUnits)).split("{threshold}").join(Dn(n.thresholdCents??0,n.currency,n.minorUnits))}(null===t.thresholdCents?t.variant.bannerCopy:n?t.variant.reachedCopy:t.variant.progressCopy,e,t);if(!i.trim())return!1;let r=document.createElement("div");r.dataset.apexShipping="",r.setAttribute("role","status"),r.setAttribute("aria-live","polite"),r.setAttribute("aria-atomic","true"),r.style.cssText="box-sizing:border-box;padding:10px 12px;background:#f4f4f0;color:#1a1a1a;font:500 13px/1.4 system-ui,sans-serif;z-index:2147483646";let a=document.createElement("div");if(a.textContent=i,r.appendChild(a),"progress_bar"===t.variant.treatment&&null!==t.thresholdCents){let n=document.createElement("div"),i=Math.min(100,Math.max(0,e/t.thresholdCents*100));n.setAttribute("role","progressbar"),n.setAttribute("aria-label","Free shipping progress"),n.setAttribute("aria-valuemin","0"),n.setAttribute("aria-valuemax","100"),n.setAttribute("aria-valuenow",String(Math.round(i))),n.style.cssText="height:6px;margin-top:8px;overflow:hidden;border-radius:999px;background:#d9d9d2";let a=document.createElement("div");a.style.cssText=`height:100%;width:${i}%;border-radius:inherit;background:#1a1a1a`,n.appendChild(a),r.appendChild(n)}let o=Sn();return o?o.prepend(r):(r.style.position="fixed",r.style.inset="0 0 auto",document.body.prepend(r)),Vn=r,!0}async function Rn(e,t){let n=++Kn;Qn?.abort();let i="function"==typeof AbortController?new AbortController:null;Qn=i;let r=i?window.setTimeout(()=>i.abort(),5e3):null;Wn=null,Vn?.remove(),Vn=null;try{let r=await window.fetch(`${function(){let e=window.Shopify?.routes?.root;if("string"!=typeof e)return"/";try{let t=new URL(e,location.origin);return t.origin!==location.origin||t.search||t.hash?"/":t.pathname.endsWith("/")?t.pathname:`${t.pathname}/`}catch{return"/"}}()}cart.js`,{headers:{Accept:"application/json"},...i?{signal:i.signal}:{}});if(!r.ok)return;let a=await r.json(),o=a.items_subtotal_price,s=function(e,t){if(0===t.productGids.length&&0===t.variantGids.length)return!0;if(!Array.isArray(e))return!1;let n=new Set(t.productGids),i=new Set(t.variantGids);return e.some(e=>{if(!e||"object"!=typeof e)return!1;let t=e,r="number"==typeof t.product_id||"string"==typeof t.product_id?`gid://shopify/Product/${t.product_id}`:null,a="number"==typeof t.variant_id||"string"==typeof t.variant_id?`gid://shopify/ProductVariant/${t.variant_id}`:null;return null!==r&&n.has(r)||null!==a&&i.has(a)})}(a.items,e.eligibilityTarget);if(n!==Kn||Un!==e)return;let l=a.currency===e.currency;if(Xn.set(e.experimentId,s&&l),(!s||!l)&&(Wn=null,jn()),!l||"number"!=typeof o||!Number.isSafeInteger(o)||o<0||!s)return;Wn=o,t?.(),e.renderEnabled&&Nn(o,e)}catch{}finally{null!==r&&window.clearTimeout(r),Qn===i&&(Qn=null)}}function Fn(e,t,n){if(On(),!e)return;let i=function(e,t){if(typeof window>"u")return null;let n=window.Shopify;if(!n)return null;let i=n.currency?.active;if("string"!=typeof i||!/^[A-Z]{3}$/.test(i))return null;let r=function(e){try{let t=new Intl.NumberFormat("en",{style:"currency",currency:e}).resolvedOptions().maximumFractionDigits;return"number"==typeof t&&Number.isInteger(t)&&t>=0&&t<=4?t:null}catch{return null}}(i);if(null===r)return null;let a=[];for(let n of e.experiments){let e=t.find(e=>e.experimentId===n.experiment_id),o=e?n.variants[e.variationId]:void 0,s=Ln(n.variants,!!e?.isControl,o),l=s.eligibilityTarget,c=(s.needsTargetProof,s.isCurrencyBound);if(!o||null!=n.assignment_epoch&&n.assignment_epoch!==e?.assignmentEpoch||c&&i!==n.currency||"none"===o.treatment&&!e?.isControl)continue;let u=null===o.threshold?null:qn(o.threshold,r);null!==o.threshold&&null===u||(Xn.set(n.experiment_id,!1),a.push({experimentId:n.experiment_id,currency:i,variant:o,eligibilityTarget:l,renderEnabled:!e?.isControl&&"none"!==o.treatment,thresholdCents:u,minorUnits:r}))}return 1===a.length?a[0]:null}(e,t);i&&(Un=i,Jn=Gt(()=>{Un===i&&Rn(i,n)}),function(e){(Gn=new MutationObserver(()=>{null===Hn&&(Hn=window.setTimeout(()=>{if(Hn=null,Un!==e||null===Wn||!0!==Xn.get(e.experimentId))return;let t=Sn()??document.body;(!Vn?.isConnected||Vn.parentElement!==t)&&Nn(Wn,e)},80))})).observe(document.documentElement,{childList:!0,subtree:!0})}(i),Bn=En(e=>{e&&Rn(i,n)}),Rn(i,n))}function On(){Kn+=1,Qn?.abort(),Qn=null,Un=null,Xn.clear(),Wn=null,Vn?.remove(),Vn=null,Bn?.(),Bn=null,Gn?.disconnect(),Gn=null,null!==Hn&&window.clearTimeout(Hn),Hn=null,Jn?.(),Jn=null}var Un,Jn,Bn,Gn,Hn,Vn,Wn,Kn,Qn,Xn,Yn,Zn,ei=r(()=>{Yt(),zn(),Un=null,Jn=null,Bn=null,Gn=null,Hn=null,Vn=null,Wn=null,Kn=0,Qn=null,Xn=new Map}),ti=r(()=>{Yn="drip-css",Zn="drip-css-link"});function ni(e){if(!e)return!1;let t=Date.parse(e);return Number.isFinite(t)&&t<=Date.now()}function ii(e,t,n){let i=!1!==n?.storageAllowed;if(li=i?e??{enabled:!1,restrictMode:"off"}:{...e??{enabled:!1,restrictMode:"off"},persist:!1},si=!1,!li.enabled||"off"===li.restrictMode||ni(li.expiresAt)){if(i)try{localStorage.removeItem("drip_debug")}catch{}return!1}if(!0===li.active||"always"===li.restrictMode)si=!0;else if("user_ids"===li.restrictMode)si=!(!t||!li.allowedUserIds?.includes(t));else{let e=function(e){try{return new URLSearchParams(location.search).get(e)}catch{return null}}(li.queryParam||"drip_debug");if("0"===e||"false"===e){if(i)try{localStorage.removeItem("drip_debug")}catch{}si=!1}else si=function(e,t){return!!e&&(t?e===t:"1"===e||"true"===e)}(e,li.token)}if(li.persist&&i)try{si?localStorage.setItem("drip_debug","1"):"1"===localStorage.getItem("drip_debug")&&(si=!0)}catch{}return si}function ri(){if(si)return!0;if(ni(li.expiresAt))return!1;try{si=!0===li.enabled&&!0===li.persist&&"1"===localStorage.getItem("drip_debug")}catch{si=!1}return si}function ai(e,t,n){if(!ri()||typeof console>"u")return;let i=(new Date).toISOString().slice(11,23);void 0!==n?console.log(`${ci} %c${i} %c[${e}] ${t}`,ui,di,"",n):console.log(`${ci} %c${i} %c[${e}] ${t}`,ui,di,"")}function oi(e,t,n){if(!ri()||typeof console>"u")return;let i=(new Date).toISOString().slice(11,23);void 0!==n?console.warn(`${ci} %c${i} %c[${e}] ${t}`,ui,di,"",n):console.warn(`${ci} %c${i} %c[${e}] ${t}`,ui,di,"")}var si,li,ci,ui,di,pi=r(()=>{si=!1,li={enabled:!1,restrictMode:"off"},ci="%c[drip]",ui="color: #8b5cf6; font-weight: bold;",di="color: #6b6f7b;"});function fi(e,t){hi.set(e,t)}function mi(e){hi.delete(e)}function gi(e){if(0===vi)for(let[e,t]of hi)try{let n=e.takeRecords();n.length&&t&&t(n,e)}catch{}vi+=1;try{return e()}finally{if(0==(vi-=1))for(let e of hi.keys())try{e.takeRecords()}catch{}}}var hi,vi,yi=r(()=>{hi=new Map,vi=0});function xi(e){return e instanceof Element&&((e.getAttribute("id")||"").startsWith("drip-")||null!=e.closest?.(wi))}var bi,wi,_i=r(()=>{yi(),bi="#"+["drip","qa","assistant","host"].join("-"),wi=["#drip-qa-toolbar",bi,"#drip-devtools-host"].join(",")});function Si(e){if(!e||"object"!=typeof e||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||null===t}function Ii(e){if(!e||"object"!=typeof e||Array.isArray(e))return null;let t=e;return"string"==typeof t.event?e:"event"!==t[0]||"string"!=typeof t[1]?null:{...Si(t[2])?t[2]:{},event:t[1]}}var ki=r(()=>{});var Ai,Mi,Ci,Ei,$i,Ti=r(()=>{Ai="apex-editor",Mi="editor.js",Ci="apex-editor-device-preview",Ei="drip-editor-bundle",$i="idle"});function Pi(e,t){if(!ji.has(e)&&ji.size>=256){let e=ji.keys().next().value;e&&ji.delete(e)}ji.set(e,t)}function zi(e,t){if(!e||e.length>1024)return!1;if(ji.has(e)){let n=ji.get(e);return!!n&&n.test(t)}try{let n=new RegExp(e);return Pi(e,n),n.test(t)}catch{return Pi(e,null),!1}}var ji,Li=r(()=>{ji=new Map});function qi(e){return e.replace(/([a-z0-9])([A-Z])/g,"$1 $2").toLowerCase().split(/[^a-z0-9]+/).some(e=>Di.has(e))}var Di,Ni=r(()=>{Di=new Set(["email","mail","phone","tel","mobile","fax","address","street","zip","postal","postcode","firstname","lastname","fullname","surname","username","name","birth","birthday","birthdate","dob","gender","ssn","vat","iban","bic","card","cvv","cvc","password","passwd","secret","token","auth","session","ip","latitude","longitude","lat","lng","lon"])});function Ri(){return"strict"===Oi}function Fi(e,t){if(Ri())typeof console<"u"&&console.warn("[drip] Custom JS blocked by strict policy for "+(t||"unknown"));else try{new Function(e+(t?"\n//# sourceURL=drip-"+t+".js":""))()}catch(e){typeof console<"u"&&console.error("[drip] JS error in "+(t||"unknown")+":",e)}}var Oi,Ui,Ji=r(()=>{Oi="hybrid",Ui="drip-external-js"});function Bi(){try{return JSON.parse(localStorage.getItem(Xi)||"{}")}catch{return{}}}function Gi(e,t,n){e.countOnce&&function(e,t){return(Bi()[e]||[]).includes(t)}(e.id,t.variationId)||(e.countOnce&&function(e,t){let n=Bi(),i=n[e]||[];if(!i.includes(t)){i.push(t),n[e]=i;try{localStorage.setItem(Xi,JSON.stringify(n))}catch{}}}(e.id,t.variationId),Yi&&Yi(e.id,t,n))}function Hi(e,t){if(!t?.length)return{};let n={};for(let i of t)if(!Ri()||!(qi(i.property)||i.attribute&&qi(i.attribute)))if("attribute"===i.source&&i.attribute)n[i.property]=e.getAttribute(i.attribute);else if("textContent"===i.source)n[i.property]=(e.textContent||"").trim().slice(0,500);else if("dataset"===i.source&&i.attribute){let t=i.attribute.replace(/^data-/,"").replace(/-([a-z])/g,(e,t)=>t.toUpperCase());n[i.property]=e.dataset?.[t]??null}return n}function Vi(e,t){return(e.textContent||"").trim().toLowerCase().includes(t.trim().toLowerCase())}function Wi(e,t){let n=e,i=t.trim().toLowerCase();for(;n&&n!==document.documentElement;){if((n.textContent||"").trim().toLowerCase().includes(i))return n;n=n.parentElement}return null}function Ki(e){let t=e.target;if(t?.closest)for(let e of er){let{selector:n,textMatch:i}=e.goal;if(!n&&!i)continue;let r=null;if(n){if(r=t.closest(n),!r||i&&!Vi(r,i))continue}else if(i&&(r=Wi(t,i),!r))continue;let a=Hi(r,e.goal.capture);Gi(e.goal,e.assignment,a)}}function Qi(){er=[],Zi&&(document.removeEventListener("click",Zi,!0),Zi=null)}var Xi,Yi,Zi,er,tr=r(()=>{Li(),Ni(),Ji(),Xi="drip_goals",Yi=null,Zi=null,er=[]});function nr(e){return e?.handoverQueryParam||"drip_bucket"}function ir(e){let t=Number(e?.handoverTtlSeconds??120);return Number.isFinite(t)?Math.max(30,Math.min(600,Math.floor(t))):120}function rr(e){let t=Number(e?.handoverMintTimeoutMs??250);return Number.isFinite(t)?Math.max(50,Math.min(2e3,Math.floor(t))):250}function ar(e){return(e?.domains??[]).map(e=>e.trim().replace(/^https?:\/\//i,"").replace(/\/.*$/,"").toLowerCase()).filter(Boolean)}function or(e,t){let n=e.toLowerCase();return t.some(e=>n===e||n.endsWith(`.${e}`))}async function sr(e,t,n){if(!globalThis.location||!ar(e).length||!t)return null;let i=new URL(globalThis.location.href).searchParams.get(nr(e));if(!i)return null;try{let e=await n(i);return e&&"object"==typeof e?function(e,t){try{let n="number"==typeof e.exp?e.exp:0;if(!n||Math.floor(Date.now()/1e3)>n||e.shop!==t)return null;let i="string"==typeof e.visitorId?e.visitorId:void 0,r="string"==typeof e.vid?e.vid:void 0,a={},o=Array.isArray(e.assignments)?e.assignments:Array.isArray(e.asg)?e.asg:[];if(Array.isArray(o))for(let e of o){if(!e||"object"!=typeof e)continue;let t=e;"string"==typeof t.experimentId&&"string"==typeof t.variationId?a[t.experimentId]=t.variationId:"string"==typeof t.e&&"string"==typeof t.x&&(a[t.e]=t.x)}return{visitorId:r??i,forceMap:a}}catch{return null}}(e,t):null}catch{return null}}var lr=r(()=>{});function cr(){let e=document.getElementById(ur);e&&e.remove()}var ur,dr=r(()=>{ur="drip-hide"}),pr=r(()=>{});function fr(e){if("html"===e.mutation.action)e.appliedNodes=Array.from(e.el.childNodes);else if("style"===e.mutation.action||"setStyle"===e.mutation.action){let t=e.el.style;e.appliedStyles=Object.keys(e.mutation.styles??{}).map(e=>[e=Ar(e),t.getPropertyValue(e)])}}function mr(e,t){return!!(e.appliedNodes??[]).some(t=>t.isConnected&&e.el.contains(t))&&(Date.now()-e.appliedAt>yr||!t||!function(e,t){for(let n of qr)if("content"===n.kind&&n.element===e&&"innerHTML"===n.property&&"string"==typeof n.value&&n.value===t)return!0;return!1}(e.el,e.el.innerHTML))}function gr(){if(typeof window>"u")return null;let e=window;return e.__dripPerf=e.__dripPerf??{}}function hr(e,t){if(!e.el.isConnected)return!1;let n=e.mutation.action;if("style"===n||"setStyle"===n){if("attributes"!==t.type||t.target!==e.el||"style"!==t.attributeName)return!1;let n=e.el.style;return e.appliedStyles.some(([e,t])=>n.getPropertyValue(e)!==t)}if("attribute"===n){if("attributes"!==t.type||t.target!==e.el||!t.attributeName)return!1;let n=t.attributeName===e.mutation.attribute?.name?e.mutation.attribute.value:e.mutation.attributes?.[t.attributeName];return void 0!==n&&e.el.getAttribute(t.attributeName)!==n}return"html"===n||"attributes"!==t.type&&e.el.textContent!==e.mutation.text}function vr(e){xr.add(e),"html"===e.mutation.action&&br.add(e)}var yr,xr,br,wr,_r,Sr=r(()=>{Rr(),yi(),yr=1e4,xr=new Set,br=new Set,wr=new Map,_r=null});function Ir(e,t){let n=e.trim().toLowerCase();if(!n||n.startsWith("on")||"srcdoc"===n)return!1;if(null===t||!Dr.has(n))return!0;let i=t.replace(/[\u0000-\u0020]+/g,"").toLowerCase();if(i.startsWith("javascript:"))return!1;if(!i.startsWith("data:"))return!0;let r=i.slice(5).split(/[;,]/,1)[0];return Nr.has(r)}function kr(e){let t=function(e){let t=(new DOMParser).parseFromString(e,"text/html");for(let e of Array.from(t.querySelectorAll("script")))e.remove();for(let e of Array.from(t.body.querySelectorAll("*")))for(let t of Array.from(e.attributes))(t.name.toLowerCase().startsWith("on")||["href","src","action","formaction","xlink:href"].includes(t.name.toLowerCase())&&t.value.replace(/\s+/g,"").toLowerCase().startsWith("javascript:"))&&e.removeAttribute(t.name);return t.body.innerHTML}(e);if(!Ri())return t;let n=document.createElement("template");n.innerHTML=t;for(let e of Array.from(n.content.querySelectorAll("*")))for(let t of Array.from(e.attributes))Ir(t.name,t.value)||e.removeAttribute(t.name);return n.innerHTML}function Ar(e){if(!e||e.startsWith("--")||e.includes("-"))return e;let t=e.replace(/[A-Z]/g,e=>"-"+e.toLowerCase());return t.startsWith("ms-")&&(t="-"+t),t}function Mr(e,t){return e.action+":"+t+":"+(e.selector||"")+":"+(e.html||e.text||"")}function Cr(e){return"insertBefore"===e||"insertAfter"===e}function Er(e){switch(e.kind){case"content":"innerHTML"===e.property?e.element.innerHTML=e.value??"":e.element.textContent=e.value;break;case"attribute":for(let{name:t,value:n}of e.values)null===n?e.element.removeAttribute(t):e.element.setAttribute(t,n);break;case"style":for(let{name:t,value:n,priority:i}of e.values)n?e.element.style.setProperty(t,n,i):e.element.style.removeProperty(t);break;case"remove":if(!e.parent||e.element.parentNode)return;try{e.parent.insertBefore(e.element,e.nextSibling)}catch{e.parent.appendChild(e.element)}break;case"insert":for(let t of e.nodes)t.parentNode?.removeChild(t)}}function $r(e,t){switch(e.action){case"html":"string"==typeof e.html&&(t.innerHTML=kr(e.html));break;case"text":case"setText":"string"==typeof e.text&&(t.textContent=e.text);break;case"attribute":if(e.attribute&&(!Ri()||Ir(e.attribute.name,e.attribute.value))&&(null===e.attribute.value?t.removeAttribute(e.attribute.name):t.setAttribute(e.attribute.name,e.attribute.value)),e.attributes)for(let[n,i]of Object.entries(e.attributes))Ri()&&!Ir(n,i)||(null===i?t.removeAttribute(n):t.setAttribute(n,i));break;case"style":case"setStyle":if(e.styles)for(let[n,i]of Object.entries(e.styles))t.style.setProperty(Ar(n),i);break;case"remove":t.remove();break;case"insertBefore":"string"==typeof e.html&&t.insertAdjacentHTML("beforebegin",kr(e.html));break;case"insertAfter":"string"==typeof e.html&&t.insertAdjacentHTML("afterend",kr(e.html))}}function Tr(e,t){let n=e.parentElement;return!!n&&Array.from(n.querySelectorAll("["+Lr+"]")).some(e=>e.getAttribute(Lr)===t)}function Pr(e,t,n,i){return gi(()=>{if(Cr(e.action)){let r=t.parentNode;if(!r||"string"!=typeof e.html)return null;let a=t.previousSibling,o=t.nextSibling;$r(e,t);let s=[],l="insertBefore"===e.action?a?a.nextSibling:r.firstChild:t.nextSibling,c="insertBefore"===e.action?t:o;for(;l&&l!==c;)s.push(l),l=l.nextSibling;let u=s.filter(e=>e instanceof Element);return i&&u.forEach(e=>function(e,t){e.setAttribute(Lr,t)}(e,i)),s.length&&n.push({kind:"insert",nodes:s}),u[0]??null}return function(e,t,n=qr){switch(e.action){case"html":n.push({kind:"content",element:t,property:"innerHTML",value:t.innerHTML});break;case"text":case"setText":n.push({kind:"content",element:t,property:"textContent",value:t.textContent});break;case"attribute":{let i=new Set;e.attribute&&i.add(e.attribute.name),e.attributes&&Object.keys(e.attributes).forEach(e=>i.add(e)),n.push({kind:"attribute",element:t,values:Array.from(i).map(e=>({name:e,value:t.getAttribute(e)}))});break}case"style":case"setStyle":{let i=t.style,r=Object.keys(e.styles??{}).map(Ar);n.push({kind:"style",element:t,values:r.map(e=>({name:e,value:i.getPropertyValue(e),priority:i.getPropertyPriority(e)}))});break}case"remove":n.push({kind:"remove",element:t,parent:t.parentNode,nextSibling:t.nextSibling})}}(e,t,n),$r(e,t),null})}function zr(e,t,n){return Pr(e,t,qr,n)}function jr(e,t={}){!function(e,t,n){let i=t.root||document;e.forEach((e,r)=>{let a;try{a=i.querySelectorAll(e.selector)}catch{return void t.onMiss?.(e,r)}0!==a.length?a.forEach(i=>{let a=Mr(e,r);if(Cr(e.action)){if(Tr(i,a))return;return Pr(e,i,n,a),void t.onApplied?.(e,i,r)}Pr(e,i,n,a),t.onApplied?.(e,i,r)}):t.onMiss?.(e,r)})}(e,t,qr)}var Lr,qr,Dr,Nr,Rr=r(()=>{pr(),yi(),Sr(),Ji(),Lr="data-drip-inserted",qr=[],Dr=new Set(["href","src","action","formaction","xlink:href"]),Nr=new Set(["image/png","image/jpeg","image/gif","image/webp","image/avif"])});function Fr(){if(typeof window>"u"||typeof document>"u")return null;let e=window;return void 0!==e.__NUXT__||document.querySelector("#__nuxt")?"nuxt":void 0!==e.__NEXT_DATA__||void 0!==e.__next_f||document.querySelector("#__next")||document.querySelector('script[src*="/_next/static/"]')?"next":document.querySelector("[data-server-rendered]")?"server-rendered":null}function Or(){return Br>0}function Ur(){Gr||=Date.now(),Hr.forEach(e=>e())}function Jr(e,t={}){let n=Date.now(),i=Number.isFinite(e)?Math.max(0,Math.min(1e4,e)):3e3;if(i>0&&!1!==t.waitForHydration&&!Gr&&typeof document<"u"&&"loading"===document.readyState&&null===Fr())return new Promise(e=>{let r=!1,a=()=>{r||(r=!0,clearTimeout(o),document.removeEventListener("DOMContentLoaded",a),Hr.delete(a),Jr(Math.max(0,i-(Date.now()-n)),t).then(e))};document.addEventListener("DOMContentLoaded",a,{once:!0}),Hr.add(a);let o=setTimeout(a,i)});let r=null!==Fr(),a=!0===t.waitForHydration,o=!1!==t.waitForHydration&&!Gr&&(a||r);return o||Br?new Promise(e=>{let t=!o,a=!1,s=null,l=0,c=0,u=Date.now(),d=(i=!1)=>{if(a)return;a=!0;let r=i&&!t,c=i&&Br>0;r&&(Gr=Date.now()),c&&(Br=0,console.warn("[drip] Mutation hold timed out; applying fail-open"));let u=function(){if(typeof window>"u")return null;let e=window;return e.__dripPerf=e.__dripPerf??{}}();u&&((o||Gr)&&(u.hydration_detected_at=Gr||Date.now()),u.apply_delayed_ms=Math.max(0,Date.now()-n),r&&(u.hydration_timeout=!0),c&&(u.hold_timeout=!0)),Hr.delete(p),clearTimeout(g),l&&cancelAnimationFrame(l),s&&(s.disconnect(),mi(s)),e()};function p(){Gr&&(t=!0),t&&!Br&&d()}let f=()=>{c=Date.now()-u>=50?c+1:0,2===c?(Gr=Date.now(),t=!0,p()):a||(l=requestAnimationFrame(f))},m=()=>{if(!o||t||a)return;if(typeof MutationObserver>"u"||!document.documentElement)return t=!0,void p();let e=()=>{u=Date.now(),c=0};s=new MutationObserver(e),fi(s,e),s.observe(document.documentElement,{attributes:!0,characterData:!0,childList:!0,subtree:!0}),l=requestAnimationFrame(f)};Hr.add(p);let g=setTimeout(()=>d(!0),i);o&&r&&("loading"===document.readyState?document.addEventListener("DOMContentLoaded",m,{once:!0}):m()),p()}):Promise.resolve()}var Br,Gr,Hr,Vr=r(()=>{yi(),Ot(),Br=0,Gr=0,Hr=new Set,typeof document<"u"&&"function"==typeof document.addEventListener&&document.addEventListener("drip:hydrated",Ur)});function Wr(e,t,n){let i=location.href;if(i===e.value)return;let r=e.value;e.value=i,n({previousUrl:r,nextUrl:i,reason:t})}var Kr=r(()=>{});function Qr(e){if(null!=e){if("boolean"==typeof e)return e;if("number"==typeof e)return Number.isFinite(e)?e:void 0;if("string"==typeof e){let t=e.trim();return t?t.slice(0,ra):void 0}}}function Xr(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,"_").replace(/^_+|_+$/g,"")}function Yr(e){if(!e)return!0;for(let t of ta)if(e===t||e.startsWith(`${t}_`))return!0;return!1}function Zr(e){let t=e.trim().toLowerCase();return!(!aa.has(t)&&!oa.some(e=>t.startsWith(e)))||qi(e)}var ea,ta,na,ia,ra,aa,oa,sa=r(()=>{Ni(),ea=[["traffic.source","traffic_source"],["visitor.returning","visitor_returning"],["shopify.page_type","page_type"],["shopify.product_type","product_type"],["cart.item_count","cart_item_count"],["navigator.language","language"]],ta=new Set(ea.map(([,e])=>e)),na=24,ia=2e3,ra=120,aa=new Set(["cookie.value","referrer","search.last_query","shopify.customer_tag"]),oa=["url.","utm.","device.","geo.","recently_viewed."]});function la(e){return{get:t=>"trackingConsentEnabled"===t?!e.consentRequired||e.consentGranted:"consentGranted"===t?e.consentGranted:"url"===t?e.url:"userId"===t?e.userId:function(e){let t=globalThis;return t[e]??t.__drip?.[e]}(t),context:e}}function ca(e,t,n){let i=(e??"").trim();if(!i)return n;let r=function(e,t){let n=function(e){return e.trim().replace(/\s+/g," ").replace(/;+$/,"")}(e);if("return true"===n)return!0;if("return false"===n)return!1;if("return context.consentGranted"===n)return t.consentGranted;if("return !context.consentRequired || context.consentGranted"===n)return!t.consentRequired||t.consentGranted;let i=n.match(/^return\s+(?:drip|Drip)\.get\(['"]([a-zA-Z0-9_.-]+)['"]\)$/);return i?!0===la(t).get(i[1]):null}(i,t);if(null!=r)return r;try{let e=la(t);return!0===new Function("context","drip","Drip",i).call(globalThis,t,e,e)}catch(e){return oi("prerequisite",`${t.type} rule failed; failing closed`,{error:e instanceof Error?e.message:String(e)}),!1}}function ua(e,t,n,i,r){return{type:r,url:e.url??location.href,attributes:e.attributes??{},userId:t,consentRequired:n,consentGranted:i}}var da=r(()=>{pi()});function pa(){return Ua??={price:new Map,shipping:new Map,offers:new Map}}function fa(e){return!!e.requiredAssignments?.length||null!=e.offersAuthorizationRevision||null!=e.shippingAuthorizationRevision||null!=e.priceAuthorizationRevision}function ma(e){return null!=e.priceAuthorizationRevision&&!!e.priceExperimentIds?.length}function ga(e){return null!=e.offersAuthorizationRevision&&!!e.offersExperimentIds?.length}function ha(e){return new Set(e.offersExperimentIds??[])}function va(e){if(e.shippingExperimentIds?.length)return new Set(e.shippingExperimentIds);let t=new Set(e.priceExperimentIds??[]);return new Set(e.requiredAssignments?.filter(e=>!t.has(e.experimentId)).map(e=>e.experimentId)??[])}function ya(e){return null!=e.shippingAuthorizationRevision&&va(e).size>0}function xa(e){return null==e.priceAuthorizationRevision&&(null!=e.shippingAuthorizationRevision||null!=e.offersAuthorizationRevision)&&!e.requiredAssignments?.length}function ba(e){return(!!e.assignments[0]||null!=e.shippingAuthorizationRevision||null!=e.offersAuthorizationRevision||ma(e))&&fa(e)&&(!e.shopId||!e.endpoint||!e.ingestSignature)}function wa(){return typeof window<"u"&&!!window.Shopify}function _a(e){if("string"!=typeof e)return null;let t=e.trim();if(!t)return null;try{return new URL(t,"https://_").href}catch{return t}}function Sa(e){return JSON.stringify({assignments:e.assignments.map(e=>[e.experimentId,e.variationId,e.assignmentEpoch??null]).sort((e,t)=>JSON.stringify(e).localeCompare(JSON.stringify(t))),requiredAssignments:e.requiredAssignments?.map(e=>[e.experimentId,e.variationId,e.assignmentEpoch??null]).sort((e,t)=>JSON.stringify(e).localeCompare(JSON.stringify(t))),visitorId:e.visitorId,sessionId:e.sessionId,url:fa(e)?_a(e.url):void 0,cartToken:Aa(e.cartToken),...null!=e.offersAuthorizationRevision||e.offersExperimentIds?.length?{offersAuthorizationRevision:e.offersAuthorizationRevision??null,offersExperimentIds:e.offersExperimentIds?.slice().sort()}:{},shippingAuthorizationRevision:e.shippingAuthorizationRevision??null,shippingExperimentIds:e.shippingExperimentIds?.slice().sort(),priceAuthorizationRevision:e.priceAuthorizationRevision??null,exclusionGroupSelections:e.exclusionGroupSelections?.map(e=>[e.groupId,e.experimentId,e.epoch]).sort((e,t)=>JSON.stringify(e).localeCompare(JSON.stringify(t)))})}function Ia(){let e=window.Shopify?.routes?.root;if("string"!=typeof e)return"/";try{let t=window.location?.origin;if(!t)return"/";let n=new URL(e,t);return n.origin!==t||n.search||n.hash?"/":n.pathname.endsWith("/")?n.pathname:`${n.pathname}/`}catch{return"/"}}function ka(){return`${Ia()}cart.js`}function Aa(e){if("string"!=typeof e)return null;let t=e.trim().split("?",1)[0]??"",n=t.startsWith("gid://shopify/Cart/")?t.slice(19):t;return n.length>0&&n.length<=4096?n:null}function Ma(e){return"string"==typeof e&&Aa(e)?e.trim():null}function Ca(e,t={}){try{if(!wa())return Promise.resolve({status:"skipped",reason:"not_shopify"});if("function"!=typeof fetch)return Promise.resolve({status:"skipped",reason:"fetch_missing"});if(!e.assignments[0]&&!fa(e))return Promise.resolve({status:"skipped",reason:"no_assignments"});if(ba(e))return Promise.resolve({status:"failed",reason:"authorization_failed"});let n=Sa(e),i=Fa.get(n);if(i)return t.force?(Ja+=1,i.then(()=>Ca(e,t))):i;let r=++Ja,a=fa(e);if(!t.force&&function(){try{return sessionStorage.getItem(Ra)}catch{return null}}()===n&&(!a||Oa.has(n)))return ma(e)&&e.authorizePriceDisplayAssignments?.(Ua?.price.get(n)??[]),ya(e)&&e.authorizeShippingDisplayAssignments?.(Ua?.shipping.get(n)??[]),ga(e)&&e.authorizeOffersDisplayAssignments?.(Ua?.offers.get(n)??[]),Promise.resolve({status:"sent",reason:"already_stamped"});a&&Oa.delete(n);let o=n,s=Ea(e,r).then(async({completed:t,cartWriteAllowed:n,token:i,assignments:a,offersAdoptionAssignments:s})=>{if(!n||r!==Ja)return{response:null,authorizationCompleted:!1,authorizedSignature:o,authorizedPriceAssignments:[],authorizedShippingAssignments:[],authorizedOffersAssignments:[]};let l={...e,assignments:a};o=Sa(l);let c=ma(e)?Pa(i,new Set(e.priceExperimentIds??[]))??[]:[],u=ya(e)?za(i,va(e))??[]:[],d=ga(e)?ja(i,ha(e))??[]:[],p=Object.fromEntries(Na(l,i).map(e=>[e.key,e.value]));return{response:await Ht("/cart/update.js",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({attributes:p}),keepalive:!0}),authorizationCompleted:t,authorizedSignature:o,authorizedPriceAssignments:c,authorizedShippingAssignments:u,authorizedOffersAssignments:d,offersAdoptionAssignments:s}}).then(({response:t,authorizationCompleted:n,authorizedSignature:i,authorizedPriceAssignments:o,authorizedShippingAssignments:s,authorizedOffersAssignments:l,offersAdoptionAssignments:c})=>{if(!n)return{status:"failed",reason:"authorization_failed"};if(!t)return{status:"failed",reason:"cart_update_missing"};if(!t.ok)return{status:"failed",reason:`cart_update_${t.status}`};if(r===Ja){if(c&&!e.adoptOffersAssignments?.(c))return{status:"failed",reason:"offers_adoption_failed"};if(e.onCartSnapshot&&t.clone().json().then(t=>e.onCartSnapshot?.(t)).catch(()=>{}),function(e){try{sessionStorage.setItem(Ra,e)}catch{}}(i),a&&(Oa.clear(),Oa.add(i)),ma(e)){let t=pa().price;t.clear(),t.set(i,o),e.authorizePriceDisplayAssignments?.(o)}if(ya(e)){let t=pa().shipping;t.clear(),t.set(i,s),e.authorizeShippingDisplayAssignments?.(s)}if(ga(e)){let t=pa().offers;t.clear(),t.set(i,l),e.authorizeOffersDisplayAssignments?.(l)}}return{status:"sent"}}).catch(e=>({status:"failed",reason:e instanceof Error?e.message:String(e)})).finally(()=>{Fa.get(n)===s&&Fa.delete(n)});return Fa.set(n,s),s}catch{return Promise.resolve({status:"failed",reason:"sync_exception"})}}async function Ea(e,t){let n=ma(e),i=ga(e),r=ha(e),a=null!=e.offersAuthorizationRevision,o=a?e.requiredAssignments?.filter(e=>r.has(e.experimentId))??[]:[],s=va(e),l=null!=e.shippingAuthorizationRevision&&(e.shippingExperimentIds?.length||ma(e))?e.requiredAssignments?.filter(e=>s.has(e.experimentId))??[]:[],c=!1;if(!e.assignments[0]&&null==e.shippingAuthorizationRevision&&null==e.offersAuthorizationRevision&&!ma(e))return{completed:!0,cartWriteAllowed:!0,token:null,assignments:e.assignments};if(!e.shopId||!e.endpoint||!e.ingestSignature)return{completed:!fa(e),cartWriteAllowed:!0,token:null,assignments:e.assignments};let u=e.endpoint.replace(/\/+$/,"").replace(/\/events$/,"");try{let d=await async function(e){let t=Ma(e.cartToken);if(t)return t;if(null==e.priceAuthorizationRevision&&null==e.offersAuthorizationRevision||!wa())return null;try{let e=await Ht(ka(),{method:"GET",headers:{Accept:"application/json"},cache:"no-store"});return e.ok?Ma((await e.json()).token):null}catch{return null}}(e);if((null!=e.priceAuthorizationRevision||null!=e.offersAuthorizationRevision)&&!d)return{completed:!1,cartWriteAllowed:!n&&!i,token:null,assignments:e.assignments};let p=[...new Set([...e.assignments.map(e=>e.experimentId),...ma(e)?e.priceExperimentIds??[]:[],...ga(e)?e.offersExperimentIds??[]:[]])],f=await fetch(`${u}/v1/assign`,{method:"POST",headers:{"Content-Type":"application/json","X-Drip-Shop":e.shopId,"X-Drip-Signature":e.ingestSignature},body:JSON.stringify({shop_id:e.shopId,user_id:e.visitorId,url:e.url,environment:e.environment,...d?{cart_token:d}:{},experiments:p,exclusion_group_selections:e.exclusionGroupSelections?.map(e=>({group_id:e.groupId,experiment_id:e.experimentId,epoch:e.epoch}))}),keepalive:!0});if(!f.ok)return{completed:!fa(e),cartWriteAllowed:!n&&!i&&!xa(e),token:null,assignments:e.assignments};let m=await f.json(),g="string"==typeof m.commerce_authorization&&m.commerce_authorization?m.commerce_authorization:null;if(!e.assignments[0]&&xa(e)&&!e.offersExperimentIds?.length&&(!Array.isArray(m.assignments)||0!==m.assignments.length))return{completed:!1,cartWriteAllowed:!1,token:null,assignments:e.assignments};let h,v=e.assignments,y=e.requiredAssignments,x=null,b=null;if(null!=e.priceAuthorizationRevision){let t=new Set(e.priceExperimentIds??[]),r=function(e,t){let n=()=>new Set(t);if(!e)return n();try{let i=JSON.parse(e);if(!i||"object"!=typeof i||2!==i.v||!Object.prototype.hasOwnProperty.call(i,"e"))return n();if(!Array.isArray(i.e))return null;let r=new Set;for(let e of i.e){if("string"!=typeof e||!e||!t.has(e)||r.has(e))return null;r.add(e)}return r}catch{return n()}}(g,t);if(!r)return{completed:!1,cartWriteAllowed:!n&&!i,token:null,assignments:e.assignments};if(t.size>0){if(x=Da(m.assignments,e.assignments,r),!x)return{completed:!1,cartWriteAllowed:!n&&!i,token:null,assignments:e.assignments};v=x.assignments,y=e.requiredAssignments?.flatMap(e=>{if(!t.has(e.experimentId))return[e];if(!r.has(e.experimentId))return[];let n=x?.priceAssignments.find(t=>t.experimentId===e.experimentId);return n?[n]:[]})}let a=y?.filter(e=>t.has(e.experimentId))??[],o=y?.some(e=>!t.has(e.experimentId)),s=$a(g);if(c=0===x?.priceAssignments.length?function(e){if(!e)return!1;try{let t=JSON.parse(e);if(!t||"object"!=typeof t||2!==t.v||!t.p||"object"!=typeof t.p)return!1;let n=t.p.price;if(!n||"object"!=typeof n)return!1;let i=n;return 1===i.v&&Number.isSafeInteger(i.r)&&i.r>0&&"string"==typeof i.c&&/^[a-f0-9]{64}$/.test(i.c)&&"string"==typeof i.x&&/^\d{4}-\d{2}-\d{2}$/.test(i.x)&&Array.isArray(i.a)&&0===i.a.length&&"string"==typeof i.cartHash&&/^[a-f0-9]{64}$/.test(i.cartHash)&&"string"==typeof i.s&&/^[a-f0-9]{64}$/.test(i.s)}catch{return!1}}(g):!!s&&La(s.a,x?.priceAssignments??[]),n&&!c||a.length>0&&(!s||!La(s.a,a))||x?.adoptionRequired&&!c||!g&&o)return{completed:!1,cartWriteAllowed:!n&&!i,token:null,assignments:e.assignments}}else if(fa(e)&&!g&&(!xa(e)||!Array.isArray(m.assignments)||!e.assignments[0]&&0!==m.assignments.length))return{completed:!1,cartWriteAllowed:!n&&!i,token:null,assignments:e.assignments};if(a&&r.size>0){if(b=function(e,t,n){let i=qa(e,n);if(!i)return null;let r=Da(e,t,n);return r&&{assignments:r.assignments,offersAssignments:i,adoptionRequired:r.adoptionRequired}}(m.assignments,v,r),!b)return{completed:!1,cartWriteAllowed:!1,token:null,assignments:e.assignments};v=b.assignments,o=b.offersAssignments,y=y?.flatMap(e=>{if(!r.has(e.experimentId))return[e];let t=b?.offersAssignments.find(t=>t.experimentId===e.experimentId);return t?[t]:[]})}if(o.length>0){let t=Ta(g,"offers");if(!t||!La(t.a,o)){if(!n||!c)return{completed:!1,cartWriteAllowed:!1,token:null,assignments:e.assignments};let t=new Set(e.priceExperimentIds??[]);v=v.filter(e=>!r.has(e.experimentId)||t.has(e.experimentId))}}if(l.length>0){let t=Ta(g,"shipping");if(!t||!La(t.a,l)){if(!n||!c)return{completed:!1,cartWriteAllowed:!1,token:null,assignments:e.assignments};let t=new Set(e.priceExperimentIds??[]);v=v.filter(e=>!s.has(e.experimentId)||t.has(e.experimentId))}}if(!function(e,t){return!t?.length||!!Array.isArray(e)&&t.every(t=>!(!Number.isInteger(t.assignmentEpoch)||(t.assignmentEpoch??0)<1)&&e.some(e=>{if(!e||"object"!=typeof e)return!1;let n=e;return n.experiment_id===t.experimentId&&n.variation_id===t.variationId&&n.assignment_epoch===t.assignmentEpoch}))}(m.assignments,y))return{completed:!1,cartWriteAllowed:!n&&!i,token:null,assignments:e.assignments};if(x?.adoptionRequired&&(void 0!==t&&t!==Ja||!e.adoptPriceAssignments?.(v.filter(t=>e.priceExperimentIds?.includes(t.experimentId)))))return{completed:!1,cartWriteAllowed:!n&&!i,token:null,assignments:e.assignments};if(b?.adoptionRequired){let n=v.filter(e=>r.has(e.experimentId));if(void 0!==t&&t!==Ja||!e.canAdoptOffersAssignments?.(n))return{completed:!1,cartWriteAllowed:!1,token:null,assignments:e.assignments};h=n}return{completed:!0,cartWriteAllowed:!0,token:g,assignments:v,offersAdoptionAssignments:h}}catch{return{completed:!fa(e),cartWriteAllowed:!n&&!i&&!xa(e),token:null,assignments:e.assignments}}}function $a(e){if(!e)return null;try{let t=JSON.parse(e);if(!t||"object"!=typeof t)return null;if(1===t.v&&"string"==typeof t.cartHash&&t.cartHash)return t;if(2!==t.v||!t.p||"object"!=typeof t.p)return null;let n=t.p.price;return n&&"object"==typeof n?n:null}catch{return null}}function Ta(e,t){if(!e)return null;try{let n=JSON.parse(e);if(2!==n?.v||!n.p||"object"!=typeof n.p)return null;let i=n.p[t];return i&&"object"==typeof i?i:null}catch{return null}}function Pa(e,t){let n=$a(e);if(!n||!Array.isArray(n.a))return null;let i=[],r=new Set;for(let e of n.a){if(!e||"object"!=typeof e)return null;let n=e;if("string"!=typeof n.e||!t.has(n.e)||r.has(n.e)||"string"!=typeof n.v||!n.v||!Number.isSafeInteger(n.ep)||n.ep<1)return null;r.add(n.e),i.push({experimentId:n.e,variationId:n.v,assignmentEpoch:n.ep})}return i}function za(e,t){let n=Ta(e,"shipping");if(!n||!Array.isArray(n.a))return null;let i=[],r=new Set;for(let e of n.a){if(!e||"object"!=typeof e)return null;let n=e;if("string"!=typeof n.e||!t.has(n.e)||r.has(n.e)||"string"!=typeof n.v||!n.v||!Number.isSafeInteger(n.ep)||n.ep<1)return null;r.add(n.e),i.push({experimentId:n.e,variationId:n.v,assignmentEpoch:n.ep})}return i}function ja(e,t){let n=Ta(e,"offers");if(!n||!Array.isArray(n.a))return null;let i=[],r=new Set;for(let e of n.a){if(!e||"object"!=typeof e)return null;let n=e;if("string"!=typeof n.e||!t.has(n.e)||r.has(n.e)||"string"!=typeof n.v||!n.v||!Number.isSafeInteger(n.ep)||n.ep<1)return null;r.add(n.e),i.push({experimentId:n.e,variationId:n.v,assignmentEpoch:n.ep})}return i}function La(e,t){return!!Array.isArray(e)&&t.every(t=>e.some(e=>{if(!e||"object"!=typeof e)return!1;let n=e;return n.e===t.experimentId&&n.v===t.variationId&&n.ep===t.assignmentEpoch}))}function qa(e,t){if(!Array.isArray(e))return null;let n=[],i=new Set;for(let r of e){if(!r||"object"!=typeof r)continue;let e=r;if("string"==typeof e.experiment_id&&t.has(e.experiment_id)){if(i.has(e.experiment_id)||"string"!=typeof e.variation_id||!e.variation_id||!Number.isSafeInteger(e.assignment_epoch)||e.assignment_epoch<1)return null;i.add(e.experiment_id),n.push({experimentId:e.experiment_id,variationId:e.variation_id,assignmentEpoch:e.assignment_epoch,...!0===e.commerce_price_only?{commercePriceOnly:!0}:{}})}}return n}function Da(e,t,n){let i=qa(e,n);if(!i)return null;let r=t.filter(e=>n.has(e.experimentId)),a=new Map(i.map(e=>[e.experimentId,e])),o=r.some(e=>!a.has(e.experimentId))||i.some(e=>{let t=r.find(t=>t.experimentId===e.experimentId);return t?.variationId!==e.variationId||t.assignmentEpoch!==e.assignmentEpoch||t.commercePriceOnly!==e.commercePriceOnly}),s=new Map(a),l=t.map(e=>{if(!n.has(e.experimentId))return e;let t=s.get(e.experimentId);return t?(s.delete(e.experimentId),t):null}).filter(e=>null!==e);for(let e of i)s.has(e.experimentId)&&(l.push(e),s.delete(e.experimentId));return{assignments:l,priceAssignments:i,adoptionRequired:o}}function Na(e,t=null){let n=e.assignments[0],i=[{key:"apex_assignments",value:JSON.stringify(e.assignments.map(e=>({e:e.experimentId,v:e.variationId,ep:e.assignmentEpoch})))},{key:"apex_assignment_authorization",value:t??""}];return n?[...i,{key:"apex_experiment_id",value:n.experimentId},{key:"apex_variation_id",value:n.variationId},{key:"apex_assignment_epoch",value:String(n.assignmentEpoch??"")},{key:"apex_visitor_id",value:e.visitorId},{key:"apex_session_id",value:e.sessionId}]:[...i,{key:"apex_experiment_id",value:""},{key:"apex_variation_id",value:""},{key:"apex_assignment_epoch",value:""},{key:"apex_visitor_id",value:e.visitorId},{key:"apex_session_id",value:e.sessionId}]}var Ra,Fa,Oa,Ua,Ja,Ba=r(()=>{Yt(),Ra="drip_cart_attr",Fa=new Map,Oa=new Set,Ua=null,Ja=0});function Ga(e){let t=Array.isArray(e.tiers)&&e.tiers.length>0?e.tiers:[{threshold:e.threshold,gift_variant_gid:e.gift_variant_gid}],n=[];for(let e of t){if(!e||"object"!=typeof e||Array.isArray(e))return null;let t=e;if("string"!=typeof t.threshold||!/^\d+$/.test(t.threshold)||"string"!=typeof t.gift_variant_gid||null===no(t.gift_variant_gid))return null;let i=t.gift_choice_variant_gids;if(void 0!==i&&(!Array.isArray(i)||i.length<2||i.length>4||!i.every(e=>"string"==typeof e&&null!==no(e))))return null;n.push({threshold:t.threshold,gift_variant_gid:t.gift_variant_gid,...i?{gift_choice_variant_gids:i}:{}})}return n.length<1||n.length>3||n.some((e,t)=>!Number.isSafeInteger(Number(e.threshold))||t>0&&Number(e.threshold)<=Number(n[t-1].threshold))?null:n}function Ha(e){try{return"1"===sessionStorage.getItem(`${mo}${e}`)}catch{return!1}}function Va(e){try{sessionStorage.setItem(`${mo}${e}`,"1")}catch{}}function Wa(e){try{return localStorage.getItem(`${go}${e}`)??xo.get(e)??null}catch{return xo.get(e)??null}}function Ka(e){if(!e.startsWith("{"))return null;try{let t=JSON.parse(e);return"string"==typeof t.variantGid?t.variantGid:null}catch{return null}}function Qa(e){if(!e.startsWith("{"))return null;try{let t=JSON.parse(e);return"string"==typeof t.tierThreshold?t.tierThreshold:null}catch{return null}}function Xa(e,t){let n=function(e){if(!e.startsWith("{"))return e;try{let t=JSON.parse(e);return"string"==typeof t.cart?t.cart:e}catch{return e}}(e);return n===ho||null==t||n===t}function Ya(e,t,n,i){let r=t??ho,a=n||i?JSON.stringify({cart:r,variantGid:n,tierThreshold:i}):r;xo.set(e,a);try{localStorage.setItem(`${go}${e}`,a)}catch{}let o=bo.get(e);o?.pending&&o.gid===n&&bo.set(e,{gid:o.gid,tierThreshold:o.tierThreshold})}function Za(e){xo.delete(e);try{localStorage.removeItem(`${go}${e}`)}catch{}}function eo(e){wo.forEach(t=>{t.startsWith(`${e}:`)&&wo.delete(t)})}function to(){let e=new Set(xo.keys());try{for(let t=0;t<localStorage.length;t+=1){let n=localStorage.key(t);n?.startsWith(go)&&e.add(n.slice(go.length))}}catch{}return[...e]}function no(e){let t=/^gid:\/\/shopify\/ProductVariant\/(\d+)$/.exec(e);if(!t)return null;let n=Number(t[1]);return Number.isSafeInteger(n)&&n>0?n:null}function io(e){if(!e.properties||"object"!=typeof e.properties||Array.isArray(e.properties))return null;let t=e.properties[fo];return"string"==typeof t?t:null}function ro(e){return"number"==typeof e.variant_id&&Number.isSafeInteger(e.variant_id)?String(e.variant_id):"string"==typeof e.variant_id&&/^\d+$/.test(e.variant_id)?e.variant_id:null}function ao(e){let t=e.line_price;return"number"==typeof t&&Number.isSafeInteger(t)&&t>=0?t:null}async function oo(e,t){try{return(await Ht(e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})).ok}catch{return!1}}async function so(e,t,n,i){if(!wa()||"function"!=typeof fetch)return!1;let r;try{r=await Ht(ka(),{method:"GET",headers:{Accept:"application/json"},cache:"no-store"})}catch{return!1}if(!r.ok)return!1;let a=await r.json();if(!Array.isArray(a.items)||"string"!=typeof a.currency)return!1;let o=!1,s=a.items.filter(e=>!!e&&"object"==typeof e),l="string"==typeof a.token&&a.token?a.token:null,c=new Map(t.map(e=>[e.experimentId,e.variationId])),u=new Set(t.filter(e=>e.commercePriceOnly).map(e=>e.experimentId)),d=e?.experiments??[],p=new Set(e?.authorization?.experimentIds??[]),f=Ia(),m=`${f}cart/change.js`,g=new Set,h=new Set,v=async e=>!("string"!=typeof e.key||!await oo(m,{id:e.key,quantity:0})||(h.add(e.key),o=!0,0)),y=e=>"string"!=typeof e.key||!h.has(e.key),x=new Set(d.filter(e=>{let i=c.get(e.experiment_id),r=i?e.variants[i]:void 0;if(!r||"object"!=typeof r)return!1;if(n?.isArmProven){let i=t.find(t=>t.experimentId===e.experiment_id);if(!i||!n.isArmProven(i))return!1}return"control"in r&&!0===r.control||"offer_type"in r&&"gwp_threshold"===r.offer_type&&null!==Ga(r)}).map(e=>e.experiment_id));for(let e of s){let t=io(e);null==t||x.has(t)||(Ya(t,l),await v(e)&&Za(t))}for(let e of to())x.has(e)||s.some(t=>io(t)===e&&y(t))||Za(e);e&&0===d.length&&(ko=!0);for(let e of d){_o.delete(e.experiment_id);let r=c.get(e.experiment_id);if(!r)continue;let d=e.variants[r];if(!d||"object"!=typeof d)continue;let h=()=>s.filter(t=>io(t)===e.experiment_id&&y(t)),x=async()=>{let e=!0;for(let t of h())"string"==typeof t.key&&(await v(t)||(e=!1,o=!0));return e};if("control"in d&&!0===d.control){await x()&&Za(e.experiment_id);continue}if(!("offer_type"in d)||"gwp_threshold"!==d.offer_type)continue;let b=Ga(d);if(!b)continue;if(a.currency.toUpperCase()!==e.currency.toUpperCase()){await x()&&Za(e.experiment_id);continue}let w=new Set(b.flatMap(e=>e.gift_choice_variant_gids??[e.gift_variant_gid]).map(no).filter(e=>null!==e).map(String)),_=0,S=!0;for(let e of s){if(!y(e)||w.has(ro(e)??""))continue;let t=ao(e);if(null==t||!Number.isSafeInteger(_+t)){S=!1;break}_+=t}let I=S?b.reduce((e,t)=>{let n=Number(t.threshold);return Number.isSafeInteger(n)&&n>=0&&_>=n?t:e},null):null;if(!S||b.some(e=>!Number.isSafeInteger(Number(e.threshold)))){for(let e of h())"string"==typeof e.key&&await v(e);continue}if(!I){eo(e.experiment_id),_o.delete(e.experiment_id),await x()&&Za(e.experiment_id);continue}let k=I.gift_choice_variant_gids;if(i===So){let t=k?`${e.experiment_id}:${I.threshold}:${k.join(",")}`:null;wo.forEach(n=>{n.startsWith(`${e.experiment_id}:`)&&n!==t&&wo.delete(n)})}let A=()=>{if(k&&!n?.suppressInsertion&&p.has(e.experiment_id)&&!Ha(e.experiment_id)){let r=t.find(t=>t.experimentId===e.experiment_id);(!n?.isArmProven||r&&n.isArmProven(r))&&i===So&&_o.set(e.experiment_id,I.threshold)}},M=Array.isArray(d.tiers),C=Wa(e.experiment_id),E=C&&Xa(C,l)?Ka(C):null,$=e=>null==e?void 0:b.find(t=>t.gift_choice_variant_gids?.includes(e))?.threshold,T=null===C?null:Qa(C),P=e=>$(e)===I.threshold,z=bo.get(e.experiment_id),j=z?.tierThreshold===I.threshold?z.gid:void 0,L=k?.find(t=>{let n=no(t);return null!==n&&s.some(t=>y(t)&&io(t)===e.experiment_id&&ro(t)===String(n))}),q=null!==C&&(T===I.threshold||null===T&&P(E??L));if(z&&j){let t=q&&k?.includes(E??"")?E:null;z.pending&&t===j?bo.set(e.experiment_id,{gid:z.gid,tierThreshold:z.tierThreshold}):!z.pending&&t&&t!==j&&(bo.delete(e.experiment_id),j=void 0)}let D=k?.includes(j??"")?j:q&&k?.includes(E??"")?E:q?L:void 0;if(D){let t=bo.get(e.experiment_id)?.gid===D&&!0===bo.get(e.experiment_id)?.pending;bo.set(e.experiment_id,{gid:D,tierThreshold:I.threshold,...t?{pending:!0}:{}})}let N,R=k?D:I.gift_variant_gid,F=R?no(R):null,O=new Set((k??[I.gift_variant_gid]).map(no).filter(e=>null!==e).map(String)),U=!1,J=!1;for(let e of h())N||null===F||ro(e)!==String(F)?"string"==typeof e.key&&(await v(e)?J=!0:U=!0):N=e;if(U&&(o=!0),U&&!N)continue;if(!N&&J&&Za(e.experiment_id),N&&s.some(t=>t!==N&&y(t)&&io(t)!==e.experiment_id&&O.has(ro(t)??""))){"string"==typeof N.key&&await v(N)?Za(e.experiment_id):o=!0;continue}if(!R||null===F){if(Za(e.experiment_id),A(),!n?.suppressInsertion&&p.has(e.experiment_id)&&!Ha(e.experiment_id)){let r=t.find(t=>t.experimentId===e.experiment_id);if(!n?.isArmProven||r&&n.isArmProven(r)){let t=`${e.experiment_id}:${I.threshold}:${k.join(",")}`;i===So&&!wo.has(t)&&typeof window<"u"&&(wo.add(t),uo({experimentId:e.experiment_id,threshold:I.threshold,options:[...k]}))}}continue}if(N){if(A(),n?.suppressInsertion){let t=Wa(e.experiment_id);if(!t||!Xa(t,l)){await x()&&Za(e.experiment_id);continue}}else Ya(e.experiment_id,l,M?R:void 0,M?I.threshold:void 0);"string"==typeof N.key&&"number"==typeof N.quantity&&1!==N.quantity&&(o=!0,await oo(m,{id:N.key,quantity:1}));continue}if(u.has(e.experiment_id)){null!=Wa(e.experiment_id)&&s.some(e=>!y(e)&&O.has(ro(e)??""))&&Za(e.experiment_id);continue}let B=s.find(e=>y(e)&&O.has(ro(e)??"")),G=[...g].find(e=>O.has(e));if(B||G){if(A(),G||B&&null!=io(B)){let t=B?k?.find(e=>String(no(e))===ro(B)):k?.find(e=>String(no(e))===G);Ya(e.experiment_id,l,M?t??R:void 0,M?I.threshold:void 0)}continue}let H=Wa(e.experiment_id);if(null!=H&&(Za(e.experiment_id),!s.some(e=>!y(e)&&ro(e)===String(F))&&Xa(H,l))){Va(e.experiment_id);continue}if(Ha(e.experiment_id)||n?.suppressInsertion||!p.has(e.experiment_id))continue;if(n?.isArmProven){let i=t.find(t=>t.experimentId===e.experiment_id);if(!i||!n.isArmProven(i))continue}let V=await Ht(`${f}cart/add.js`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({items:[{id:F,quantity:1,properties:{[fo]:e.experiment_id}}]})}).catch(()=>null);if(!V?.ok){let t=bo.get(e.experiment_id);if(k&&t?.gid===R&&(bo.delete(e.experiment_id),eo(e.experiment_id),A(),i===So&&typeof window<"u")){let t=`${e.experiment_id}:${I.threshold}:${k.join(",")}`;wo.has(t)||(wo.add(t),uo({experimentId:e.experiment_id,threshold:I.threshold,options:[...k]}))}continue}if(V?.ok){o=!0,Ya(e.experiment_id,l,M?R:void 0,M?I.threshold:void 0),g.add(String(F));try{let t=await V.json(),n=Array.isArray(t.items)?t.items.find(t=>!!t&&"object"==typeof t&&io(t)===e.experiment_id):void 0;n&&"string"==typeof n.key&&"number"==typeof n.quantity&&n.quantity>1&&(o=!0,await oo(m,{id:n.key,quantity:1}))}catch{}}}return o}function lo(e,t,n){Io={settings:e,assignments:t,options:n},Ao||typeof window>"u"||(Ao=!0,window.addEventListener("apex:gwp:choice:request",()=>{vo&&(Mo=!0),po().forEach(uo)}));let i=So+=1;if(_o.clear(),n?.recheckTeardown&&(ko=!1),!e?.experiments.length&&!(to().length>0)&&(!e||ko))return Promise.resolve();if(vo)return yo={settings:e,assignments:t,options:n,generation:i},vo;let r=async(e,t,n,i)=>{let r=!1;for(let a=0;a<3;a+=1){let a=await so(e,t,n,i).catch(()=>!1);if(a&&(r=!0),!a)break}if(r&&typeof window<"u")try{window.dispatchEvent(new CustomEvent("apex:cart:changed",{detail:{source:"gwp_gift"}}))}catch{}},a=(async()=>{for(await r(e,t,n,i);yo;){let e=yo;yo=null,await r(e.settings,e.assignments,e.options,e.generation)}Mo&&po().forEach(uo),Mo=!1})().finally(()=>{if(vo===a&&(vo=null),!vo&&yo){let e=yo;yo=null,lo(e.settings,e.assignments,e.options)}});return vo=a,a}function co(e,t){if(!Io||null===no(t))return Promise.resolve();let n=Io.settings?.experiments.find(t=>t.experiment_id===e),i=Io.assignments.find(t=>t.experimentId===e)?.variationId,r=i?n?.variants[i]:void 0;if(!r||"object"!=typeof r)return Promise.resolve();let a=Ga(r)?.filter(e=>e.gift_choice_variant_gids?.includes(t))??[],o=_o.get(e),s=a.find(e=>e.threshold===o);return s?(bo.set(e,{gid:t,tierThreshold:s.threshold,pending:!0}),eo(e),lo(Io.settings,Io.assignments,Io.options)):Promise.resolve()}function uo(e){dispatchEvent(new CustomEvent("apex:gwp:choice",{detail:e}))}function po(e){if(!Io)return[];let t=[];for(let[n,i]of _o){if(void 0!==e&&n!==e||bo.get(n)?.tierThreshold===i)continue;let r=Io.settings?.experiments.find(e=>e.experiment_id===n),a=Io.assignments.find(e=>e.experimentId===n)?.variationId,o=a?r?.variants[a]:void 0;if(!o||"object"!=typeof o)continue;let s=Ga(o)?.find(e=>e.threshold===i);s?.gift_choice_variant_gids&&t.push({experimentId:n,threshold:i,options:[...s.gift_choice_variant_gids]})}return t}var fo,mo,go,ho,vo,yo,xo,bo,wo,_o,So,Io,ko,Ao,Mo,Co=r(()=>{Yt(),Ba(),fo="_apex_gwp",mo="drip_gwp_declined:",go="drip_gwp_inserted:",ho="*",vo=null,yo=null,xo=new Map,bo=new Map,wo=new Set,_o=new Map,So=0,Io=null,ko=!1,Ao=!1,Mo=!1});function Eo(e){return!!(e&&"object"==typeof e&&!Array.isArray(e)&&Object.keys(e).length>0)}function $o(){let e=globalThis.navigation;return!(!e||"function"!=typeof e.addEventListener)}function To(e){if(e.platformHint&&"auto"!==e.platformHint)return e.platformHint;let t=e.profile?.platform;return t&&"auto"!==t?t:function(){let e=globalThis.Shopify;return!(!e?.analytics||"function"!=typeof e.analytics.publish)}()?"shopify":function(){let e=globalThis;return!(!e.PluginManager&&!e.Shopware&&(typeof document>"u"||!document.querySelector("[data-shopware], [data-off-canvas-main-navigation], .cms-page, .is--ctl-index")))}()?"shopware":!(typeof document>"u"||!document.getElementById("__next")&&!document.querySelector("[data-reactroot], [ng-version], [data-sveltekit], [data-v-app], [data-router-view]"))||$o()?"spa":"auto"}function Po(e){return"manual"===(e.spa?.activationMode??e.activationMode??"auto")?"manual":"observer"}function zo(e){let t={...Ro},n=e.perfFlags??{};for(let e of Object.keys(t))"boolean"==typeof n[e]&&(t[e]=n[e]);return t}function jo(e){try{return new URL(e,"https://_")}catch{return null}}function Lo(e){let t=e.get("drip_force")??"";if(t)return t;let n=e.get("drip_experiment_id")??e.get("drip_experiment")??e.get("experiment_id")??e.get("experimentId")??e.get("expId")??"",i=e.get("drip_variation_id")??e.get("drip_variation")??e.get("variation_id")??e.get("variationId")??e.get("varId")??"";return n&&i?`${n}:${i}`:""}function qo(e,t,n){if("regex"===n)return e.path=!0,e.search=!0,void(e.hash=!0);e.path=!0,t.includes("?")&&(e.search=!0),t.includes("#")&&(e.hash=!0)}function Do(e){return e.length?e.map(e=>e.experimentId+":"+e.variationId).sort().join("|"):"none"}function No(){try{if(typeof performance>"u")return 0;let e=performance.timing;if(e&&e.navigationStart>0&&e.domContentLoadedEventStart>0)return Math.max(0,e.domContentLoadedEventStart-e.navigationStart);let t=performance.getEntriesByType?.("navigation")?.[0];if(t&&"number"==typeof t.domContentLoadedEventStart)return Math.max(0,Math.round(t.domContentLoadedEventStart))}catch{}return 0}var Ro,Fo=r(()=>{Ro={perf_platform_router_v1:!0,perf_shopify_pixel_buffer_v1:!0,perf_spa_incremental_reapply_v1:!0,perf_empty_project_v1:!1}});function Oo(e){return e.document??(typeof document<"u"?document:void 0)}function Uo(e){return e.window??(typeof window<"u"?window:void 0)}function Jo(e,t){try{e(t)}catch{}}function Bo(e){return typeof Element<"u"&&e instanceof Element}function Go(e){return typeof Document<"u"&&e instanceof Document}function Ho(e={}){let t={waitForElement(t,n,i={}){let r=Oo(e);if(!r||!t.trim())return()=>{};let a=i.root??r,o=new WeakSet,s=!0,l=null,c=null,u=()=>{s=!1,l?.disconnect(),l=null,null!==c&&(Uo(e)?.clearTimeout(c),c=null)},d=e=>{if(s)for(let r of function(e,t){let n=[];Bo(e)&&e.matches(t)&&n.push(e);try{e.querySelectorAll(t).forEach(e=>n.push(e))}catch{}return n}(e,t))if(!o.has(r)&&(o.add(r),Jo(n,r),!1!==i.once))return void u()};if(d(a),!s||typeof MutationObserver>"u")return u;let p=function(e,t){return Go(e)?e.documentElement??e.body:Bo(e)?e:t.documentElement??t.body}(a,r);return p&&(l=new MutationObserver(e=>{for(let t of e)t.addedNodes.forEach(e=>{Bo(e)&&d(e)})}),l.observe(p,{childList:!0,subtree:!0}),i.timeoutMs&&i.timeoutMs>0&&(c=Uo(e)?.setTimeout(u,i.timeoutMs)??null)),u},elementIsInView(n,i,r){let a=Oo(e),o=Uo(e);if(!a||!o||!n.trim())return()=>{};let s=function(e){return"boolean"==typeof e?{once:!e}:e??{}}(r),l=!1!==s.once,c=new WeakSet,u=[],d=null;return typeof IntersectionObserver>"u"?t.waitForElement(n,e=>{let t=e.getBoundingClientRect();t.width>0&&t.height>0&&t.bottom>=0&&t.right>=0&&t.top<=o.innerHeight&&t.left<=o.innerWidth&&Jo(i,e)},{once:l,timeoutMs:s.timeoutMs}):(d=new IntersectionObserver(e=>{for(let t of e)t.isIntersecting&&(Jo(i,t.target),l&&d?.unobserve(t.target))},{root:Go(s.root)?null:s.root??null,rootMargin:s.rootMargin,threshold:s.threshold??1}),u.push(t.waitForElement(n,e=>{c.has(e)||(c.add(e),d?.observe(e))},{once:!1,timeoutMs:s.timeoutMs})),()=>{d?.disconnect(),d=null,u.splice(0).forEach(e=>e())})},domChanged(t,n={}){let i=Oo(e),r=Uo(e);if(!i||typeof MutationObserver>"u")return()=>{};let a=n.root??i.documentElement??i.body;if(!a)return()=>{};let o=Math.max(0,n.debounceMs??50),s=[],l=null,c=()=>{l=null;let e=s;s=[],Jo(t,e)},u=new MutationObserver(e=>{s.push(...e),0!==o?null===l&&(l=r?.setTimeout(c,o)??null):c()});return u.observe(a,{childList:!0,subtree:!1!==n.subtree}),()=>{u.disconnect(),null!==l&&r?.clearTimeout(l)}},domLoaded(t){let n=Oo(e);if(!n||"loading"!==n.readyState)return Jo(t,void 0),()=>{};let i=()=>Jo(t,void 0);return n.addEventListener("DOMContentLoaded",i,{once:!0}),()=>n.removeEventListener("DOMContentLoaded",i)},waitForDataLayer(t,n,i={}){let r=Uo(e);if(!r)return()=>{};let a=i.layerName||"dataLayer",o=r,s=Array.isArray(o[a])?o[a]:[];o[a]=s;let l=s.push,c=!0,u=null,d=e=>{if(!c)return;let r=Ii(e),a=e&&"object"==typeof e&&!Array.isArray(e)?e:null,o=r??(a&&"string"!=typeof a[0]?a:null);!o||!function(e,t){if(!e||"object"!=typeof e||Array.isArray(e))return!1;let n=e;return function(e){return Array.isArray(e)?e:Object.entries(e)}(t).every(([e,t])=>t instanceof RegExp?t.test(String(n[e]??"")):n[e]===t)}(o,t)||(Jo(n,o),!1!==i.once&&p())},p=()=>{c=!1,s.push===f&&(s.push=l),null!==u&&(r.clearTimeout(u),u=null)},f=function(...e){let t=l.apply(s,e);return e.forEach(d),t};return s.slice(Math.max(0,s.length-50)).forEach(d),c&&(s.push=f),i.timeoutMs&&i.timeoutMs>0&&(u=r.setTimeout(p,i.timeoutMs)),p},track(t,n){e.track?.(t,n)},trackGoal(t,n){e.trackGoal?.(t,n)},signal(t,n,i){e.signal?.(t,n,i)},redirect(t){let n=function(e){return e.location??(typeof location<"u"?location:void 0)}(e);!n||!t.trim()||n.assign(new URL(t,n.href).toString())},reInit:t=>e.reInit?.(t),get:n=>"tools"===n?t:e.get?.(n)};return t}var Vo=r(()=>{ki()});function Wo(e){return e.matchType??e.match_type??e.type}function Ko(e){let t=[...(e.includeRules??[]).map(e=>({include:!1!==e.include,matchType:Wo(e),pattern:e.pattern})),...(e.excludeRules??[]).map(e=>({include:!1,matchType:Wo(e),pattern:e.pattern}))];return JSON.stringify(t)}function Qo(e){let t=e.advancedCondition?.code?.trim();if(t)return{source:t,sourceType:"js"};let n=e.trigger?.triggerJs?.trim();return n?{source:n,sourceType:"js"}:{source:Ko(e),sourceType:"page_rule"}}function Xo(e,t){if(e.disabled)return{matched:!1,reason:"page_rule_disabled"};if(e.trigger?.disabled)return{matched:!1,reason:"page_trigger_disabled"};let n=e.includeRules??[],i=(e.excludeRules??[]).map(e=>({...e,include:!1}));if(!ls(t.url,[...n,...i]))return{matched:!1,reason:"url_mismatch"};if(!ds(e,t))return{matched:!1,reason:"manual_trigger_mismatch"};let r=us(e,t);return r.matched?{matched:!0}:r}function Yo(e,t,n,i,r){let a=!1!==e.include,o=!(!e.includeRules?.length&&!e.excludeRules?.length),s=Qo(e);return{id:`page:${e.id||t}`,label:e.name??(a?"Page include rule":"Page exclude rule"),status:n,reason:i,operator:a?"include":"exclude",expected:"js"===s.sourceType&&o?Ko(e):void 0,actual:r,...s}}function Zo(e,t,n,i,r,a,o){let s=t.js?.code?.trim();return{id:`segment:${e.id||"rule"}:${n}`,label:e.name?`${e.name}: ${t.signal}`:`Segment condition: ${t.signal}`,status:i,reason:r,operator:t.operator,signal:t.signal,expected:o,actual:a,source:s||e.id,sourceType:s?"js":"segment"}}function es(e,t){return function(e){let t=Array.isArray(e.rules?.groups)?e.rules.groups.filter(e=>Array.isArray(e)&&e.length>0):[];return t.length?t.flat():e.rules?.conditions??[]}(e).map((n,i)=>Zo(e,n,i,"skipped",t,void 0,Cs(n)))}function ts(e,t,n,i){let r=function(e,t){if("cookie.value"===e.signal||"url.query"===e.signal)return{actual:Ms(e,t),expected:Cs(e)};if(e.js){let n=Ts(e,t);return{actual:n.actual,expected:Cs(e),jsReason:n.reason}}return{actual:Ms(e,t),expected:Cs(e)}}(t,i),a=qs(t,r.actual,r.expected);return{matched:a,diagnostic:Zo(e,t,n,a?"passed":"failed",a?void 0:r.jsReason??"segment_mismatch",r.actual,r.expected)}}function ns(e,t){let n=[],i=Array.isArray(e.rules?.groups)?e.rules.groups.filter(e=>Array.isArray(e)&&e.length>0):[];if(i.length){let r=0;for(let a=0;a<i.length;a+=1){let o=i[a],s=!1;for(let i=0;i<o.length;i+=1){let a=o[i];if(s){n.push(Zo(e,a,r,"skipped","segment_group_matched",void 0,Cs(a))),r+=1;continue}let l=ts(e,a,r,t);n.push(l.diagnostic),s=l.matched,r+=1}if(!s){for(let t of i.slice(a+1))for(let i of t)n.push(Zo(e,i,r,"skipped","segment_group_failed",void 0,Cs(i))),r+=1;return{matched:!1,conditions:n}}}return{matched:!0,conditions:n}}let r=e.rules?.conditions??[];if(!r.length)return{matched:!0,conditions:n};if("or"===e.rules.operator){let i=!1;for(let a=0;a<r.length;a+=1){let o=r[a];if(i){n.push(Zo(e,o,a,"skipped","segment_or_matched",void 0,Cs(o)));continue}let s=ts(e,o,a,t);n.push(s.diagnostic),i=s.matched}return{matched:i,conditions:n}}let a=!0;for(let i=0;i<r.length;i+=1){let o=r[i];if(!a){n.push(Zo(e,o,i,"skipped","segment_and_failed",void 0,Cs(o)));continue}let s=ts(e,o,i,t);n.push(s.diagnostic),a=s.matched}return{matched:a,conditions:n}}function is(e,t,n,i,r){return{id:`attribute:${e.attribute}:${t}`,label:`Attribute rule: ${e.attribute}`,status:n,reason:i,operator:e.operator,signal:e.attribute,expected:e.value,actual:r,source:e.attribute,sourceType:"attribute"}}var rs=r(()=>{Gs()});function as(e,t){try{let n=new URL(e,"https://_");if("contains"===(t.matchType??t.match_type)){let e=n.href.toLowerCase(),i=t.pattern.toLowerCase();return e.includes(i)||e.includes(function(e){return e.replace(/\\([.*+?^${}()|[\]\\\/])/g,"$1")}(i))}if("regex"===t.type){let e=t.pattern.replace(/([^\\])\//g,"$1\\/");return zi(e,n.href)||zi(e,n.href.substring(n.origin.length))}return function(e,t){try{let n=new URL(t.replace(/^([^:/?]*)\./i,"https://$1.").replace(/\*/g,"_____"),"https://_____"),i=[[e.host,n.host,!1],[e.pathname,n.pathname,!0]];return n.hash&&i.push([e.hash,n.hash,!1]),n.searchParams.forEach((t,n)=>{i.push([e.searchParams.get(n)||"",t,!1])}),!i.some(e=>!function(e,t,n){try{let i=t.replace(/[*.+?^${}()|[\]\\]/g,"\\$&").replace(/_____/g,".*");return n&&(i="\\/?"+i.replace(/(^\/|\/$)/g,"")+"\\/?"),new RegExp("^"+i+"$","i").test(e)}catch{return!1}}(e[0],e[1],e[2]))}catch{return!1}}(n,t.pattern)}catch{return!1}}function os(e){if("string"==typeof e){let t=e.trim();return t?{type:"simple",pattern:t,include:!0}:null}if(!e||"object"!=typeof e||Array.isArray(e))return null;let t=e,n=t.pattern??t.value??t.url??t.path,i="string"==typeof n?n.trim():"";if(!i)return null;let r="boolean"!=typeof t.include||t.include,a="exact"===t.matchType||"contains"===t.matchType||"wildcard"===t.matchType||"regex"===t.matchType?t.matchType:"exact"===t.match_type||"contains"===t.match_type||"wildcard"===t.match_type||"regex"===t.match_type?t.match_type:"url_contains"===t.type?"contains":void 0;return"url_contains"===t.type?{type:"simple",pattern:i,include:r,matchType:"contains"}:{type:"regex"===t.type||"url_regex"===t.type?"regex":"simple",pattern:i,include:r,...a?{matchType:a}:{}}}function ss(e){let t=e;if(!t||"object"!=typeof t)return[];let n=Array.isArray(t.url)?t.url:void 0===t.url||null===t.url?[]:[t.url],i=Array.isArray(t.rules)?t.rules:[];return n.concat(i).map(os).filter(e=>!!e)}function ls(e,t){if(!t.length)return!0;let n=!1,i=!1;for(let r of t){let t=as(e,r);if(!1===r.include){if(t)return!1}else n=!0,t&&(i=!0)}return i||!n}function cs(e){let t=function(e){return e instanceof Error?e.message:String(e)}(e);return t?`js_error: ${t}`:"js_error"}function us(e,t){let n=e.advancedCondition?.code?.trim();if(!n)return{matched:!0};try{let e=new URL(t.url,typeof location<"u"?location.origin:"https://_"),i=!!new Function("context",`"use strict";const attributes=context.attributes;const document=context.document;const location=context.location;const url=context.url;const window=context.window;return Boolean((function(){${/\breturn\b|;\s*$|\bthrow\b/.test(n)?n:`return (${n});`}}).call(window));`)({attributes:t.attributes,document:typeof document<"u"?document:void 0,location:typeof location<"u"?location:void 0,url:e,window:typeof window<"u"?window:void 0});return{matched:i,reason:i?void 0:"js_false"}}catch(e){return{matched:!1,reason:cs(e),error:e}}}function ds(e,t){let n=e.trigger?.mode;if("manual-callback"!==n&&"manual-api"!==n)return!0;let i=e.trigger?.signal;return!!i&&!0===t.attributes[i]}function ps(e,t){if(e.disabled||e.trigger?.disabled)return!1;let n=e.includeRules??[],i=(e.excludeRules??[]).map(e=>({...e,include:!1}));return ls(t.url,[...n,...i])&&ds(e,t)&&function(e,t){let n=us(e,t);if(!n.matched&&n.reason?.startsWith("js_error"))try{console.warn("[drip] Page trigger failed closed",{pageId:e.id,pageName:e.name,error:n.error})}catch{}return n.matched}(e,t)}function fs(e,t){let n=e[t.attribute];switch(t.operator){case"exists":return null!=n;case"equals":return n===t.value;case"contains":return"string"==typeof n&&"string"==typeof t.value&&n.includes(t.value);case"in":return!!Array.isArray(t.value)&&t.value.includes(String(n));default:return!1}}function ms(){return typeof navigator>"u"?void 0:navigator}function gs(e){return"string"==typeof e?e.toLowerCase():""}function hs(e){if("string"!=typeof e)return"";let t=e.match(/\d+(?:[._]\d+)*/);return t?t[0].replace(/_/g,"."):""}function vs(e,t){for(let n of t){let t=e.match(n),i=hs(t?.[1]);if(i)return i}return""}function ys(){return ms()?.userAgent??""}function xs(){let e=ms();return e?.userAgentData?.platform||e?.platform||""}function bs(e){if(!Array.isArray(e))return Fs;for(let t of e){if(!t||"object"!=typeof t)continue;let e=t,n=gs(e.brand),i=hs(e.version);if(n&&!n.includes("not")&&!n.includes("brand")){if(n.includes("edge"))return{name:"edge",version:i};if(n.includes("chrome")||n.includes("chromium"))return{name:"chrome",version:i};if(n.includes("firefox"))return{name:"firefox",version:i};if(n.includes("safari"))return{name:"safari",version:i}}}return Fs}function ws(e,t,n){return{name:e,version:n.name===e&&n.version?n.version:t||n.version}}function _s(e){try{return decodeURIComponent(e.replace(/\+/g," "))}catch{return e}}function Ss(e){let t=String(e??"").trim(),n=t.indexOf("=");return n<0?{name:t,expected:""}:{name:t.slice(0,n).trim(),expected:t.slice(n+1)}}function Is(e){try{let t=new URLSearchParams(location.search).get(e);if(t)return t}catch{}try{let t=sessionStorage.getItem("drip_utm");if(!t)return"";let n=JSON.parse(t);return"string"==typeof n[e]?n[e]:""}catch{return""}}function ks(e){if(typeof window>"u")return;let t=window.ShopifyAnalytics?.meta??window.Shopify?.analytics?.meta;if(t&&"object"==typeof t){if("shopify.page_type"===e)return t.page?.pageType??t.page?.page_type??t.pageType;if("shopify.product_type"===e)return t.product?.type??t.product?.product_type;if("shopify.product_tag"===e)return t.product?.tags;if("shopify.customer_tag"===e)return t.customer?.tags}}function As(e={},t,n={}){let i={...e},r=t||(typeof location<"u"?location.href:""),a=!1!==n.persistSignals;try{let e=new URL(r,typeof location<"u"?location.origin:"https://_");i["url.full"]??=e.href,i["url.path"]??=e.pathname,i["url.query"]??=e.search}catch{}i["utm.source"]??=e.utm_source??Is("utm_source"),i["utm.medium"]??=e.utm_medium??Is("utm_medium"),i["utm.campaign"]??=e.utm_campaign??Is("utm_campaign"),i.referrer??=function(){if(typeof document>"u")return"";let e=document.referrer;if(!e)return"(direct)";try{let t=new URL(e).hostname;return t===location.hostname?"(internal)":t}catch{return"(direct)"}}(),i["device.type"]??=e.device??function(){if(!0===ms()?.userAgentData?.mobile)return"mobile";let e=function(e,t){let n=e.toLowerCase(),i=t.toLowerCase();return n||i?/\bipad\b/.test(n)||"macintel"===i&&typeof navigator<"u"&&Number(navigator.maxTouchPoints||0)>1||/\btablet\b|playbook|silk|kindle|nexus 7|nexus 9|sm-t|gt-p/i.test(e)?"tablet":/\bmobi\b|iphone|ipod|android.*mobile|windows phone|blackberry|bb10/i.test(e)?"mobile":/android/i.test(e)||/android/i.test(i)?"tablet":/windows|macintosh|mac os x|linux|x11|cros/i.test(e)||i?"desktop":"":""}(ys(),xs());if(e)return e;if(typeof window>"u")return"";let t=window.innerWidth||0;return t>0&&t<768?"mobile":t>=768&&t<1024?"tablet":"desktop"}();let o=function(){let e=function(){let e=ms()?.userAgentData,t=bs(e?.fullVersionList);return t.name?t:Us?.name?Us:(function(){let e=ms()?.userAgentData;if(e?.getHighEntropyValues&&!Js){Js=!0;try{e.getHighEntropyValues(["brands","fullVersionList"]).then(e=>{if(!e||"object"!=typeof e)return;let t=e,n=bs(t.fullVersionList??t.brands);n.name&&(Us=n)}).catch(()=>{})}catch{}}}(),bs(e?.brands))}(),t=ys();return t?/Edg\//.test(t)?ws("edge",vs(t,[/Edg\/([\d.]+)/]),e):/Firefox\//.test(t)?ws("firefox",vs(t,[/Firefox\/([\d.]+)/]),e):/CriOS\//.test(t)?ws("chrome",vs(t,[/CriOS\/([\d.]+)/]),e):/Chrome\//.test(t)&&!/Chromium|OPR\/|Edg\//.test(t)?ws("chrome",vs(t,[/Chrome\/([\d.]+)/]),e):/Version\/[\d.]+.*Safari\//.test(t)&&!/Chrome|CriOS|FxiOS|Edg\//.test(t)?ws("safari",vs(t,[/Version\/([\d.]+)/]),e):e:e}();i["device.browser"]??=o.name,i["device.browser.version"]??=o.version;let s=function(){let e=ys(),t=xs(),n=`${e} ${t}`.toLowerCase();return n.trim()?/iphone|ipad|ipod/.test(n)||"MacIntel"===t&&typeof navigator<"u"&&Number(navigator.maxTouchPoints||0)>1?{name:"ios",version:vs(e,[/OS ([\d_]+)/])}:/android/.test(n)?{name:"android",version:vs(e,[/Android ([\d.]+)/])}:/windows/.test(n)?{name:"windows",version:vs(e,[/Windows NT ([\d.]+)/])}:/mac os x|macintosh|macintel/.test(n)?{name:"macos",version:vs(e,[/Mac OS X ([\d_]+)/])}:/linux|x11/.test(n)?{name:"linux",version:""}:Os:Os}();i["device.os"]??=s.name,i["device.os.version"]??=s.version,i["navigator.language"]??=function(){let e=ms()?.language;return"string"==typeof e&&e.trim()?e:typeof document<"u"&&document.documentElement.lang||""}(),i["traffic.source"]??=function(e,t){let n="string"==typeof e?e.toLowerCase():"",i="string"==typeof t?t.toLowerCase():"";return n.includes("facebook")||n.includes("instagram")||n.includes("meta")||n.includes("tiktok")?"paid-social":n.includes("google")||n.includes("bing")||i.includes("google")||i.includes("bing")?"search":n.includes("email")||n.includes("newsletter")?"email":n||(i&&"(direct)"!==i&&"(internal)"!==i?"referral":"direct")}(i["utm.source"],i.referrer);for(let e of["shopify.page_type","shopify.product_type","shopify.product_tag","shopify.customer_tag"])i[e]??=ks(e);if(a){let e=function(){if(typeof window>"u")return null;let e=(window.ShopifyAnalytics?.meta??window.Shopify?.analytics?.meta)?.product;if(!e||"object"!=typeof e)return null;let t=e.id??e.gid??e.product_id;return t||e.handle?{id:t,handle:e.handle,title:e.title,type:e.type??e.product_type,vendor:e.vendor,tags:Array.isArray(e.tags)?e.tags:void 0,price:e.price}:null}();e&&mn(e)}for(let[e,t]of Object.entries(cn({markVisitorSeen:a})))i[e]??=t;return i}function Ms(e,t){if("cookie.value"===e.signal){let{name:t}=Ss(e.value);return function(e){if(typeof document>"u")return;let t=e.trim();if(!t)return;let n=document.cookie?document.cookie.split(";"):[];for(let e of n){let n=e.indexOf("=");if(_s((n>=0?e.slice(0,n):e).trim())===t)return _s(n>=0?e.slice(n+1):"")}}(t)}return"url.query"===e.signal?Es(e)?function(e){try{return new URL(e,typeof location<"u"?location.origin:"https://_").search||""}catch{return""}}(t.url):function(e,t){let{name:n}=Ss(t);if(n)try{return new URL(e,typeof location<"u"?location.origin:"https://_").searchParams.get(n)??void 0}catch{return}}(t.url,e.value):e.js?function(e,t){return Ts(e,t).actual}(e,t):$s(t.attributes,t.url,e.signal)}function Cs(e){return"cookie.value"!==e.signal&&"url.query"!==e.signal||"is_set"===e.operator||"is_empty"===e.operator||"url.query"===e.signal&&Es(e)?e.value:Ss(e.value).expected}function Es(e){return!!Bs.has(String(e.operator))&&!String(e.value??"").includes("=")}function $s(e,t,n){if(void 0!==e[n])return e[n];try{let e=new URL(t,"https://_");if("url.full"===n)return e.href;if("url.path"===n)return e.pathname;if("url.query"===n)return e.search}catch{}}function Ts(e,t){let n=e.js?.code?.trim();if(!n||n.length>4e3)return{actual:void 0};if(function(e){let t=e.js?.code??"";return"activate"===e.js?.mode||/\bactivate\s*\(/.test(t)||/\bcallbackFn\b/.test(t)}(e))return{actual:$s(t.attributes,t.url,e.signal)};try{let i=new URL(t.url,typeof location<"u"?location.origin:"https://_"),r={apexTools:Ho(),attributes:t.attributes,document:typeof document<"u"?document:void 0,location:typeof location<"u"?location:void 0,signal:e.signal,url:i,value:e.value,window:typeof window<"u"?window:void 0},a=!!new Function("context",`"use strict";const attributes=context.attributes;const apexTools=context.apexTools;const document=context.document;const location=context.location;const signal=context.signal;const url=context.url;const value=context.value;const window=context.window;return Boolean((function(){${function(e){let t=e.trim();return t?/\breturn\b/.test(t)?t:`return (${t});`:"return false;"}(n)}}).call(window));`)(r);return{actual:a,reason:a?void 0:"js_false"}}catch(e){return{actual:!1,reason:cs(e)}}}function Ps(e){return Array.isArray(e)?e.map(e=>String(e).trim()).filter(Boolean):null==e?[]:[String(e)]}function zs(e){return null!=e&&(Array.isArray(e)?e.length>0:"string"!=typeof e||e.trim().length>0)}function js(e,t,n){let i=Number(Array.isArray(e)?e[0]:e),r=Number(Array.isArray(t)?t[0]:t);return Number.isFinite(i)&&Number.isFinite(r)&&n(i,r)}function Ls(e,t){return qs(e,Ms(e,t),Cs(e))}function qs(e,t,n){let i=Ps(t),r=Ps(n),a=r[0]??"";switch(e.operator){case"equals":return i.some(e=>e===String(n??""));case"not_equals":return!i.some(e=>e===String(n??""));case"contains":return i.some(e=>r.length>1?r.includes(e):e.includes(a));case"not_contains":return!i.some(e=>r.length>1?r.includes(e):e.includes(a));case"starts_with":return i.some(e=>e.startsWith(a));case"ends_with":return i.some(e=>e.endsWith(a));case"is_set":return zs(t);case"is_empty":return!zs(t);case"in":return i.some(e=>r.includes(e));case"not_in":return!i.some(e=>r.includes(e));case"matches_wildcard":return i.some(e=>zi(function(e){return`^${e.replace(/[.+?^${}()|[\]\\]/g,"\\$&").replace(/\*/g,".*")}$`}(a),e));case"matches_regex":return i.some(e=>zi(a,e));case"greater_than":return js(t,n,(e,t)=>e>t);case"greater_than_or_equal":return js(t,n,(e,t)=>e>=t);case"less_than":return js(t,n,(e,t)=>e<t);case"less_than_or_equal":return js(t,n,(e,t)=>e<=t);default:return!1}}function Ds(e,t){let n=Array.isArray(e.rules?.groups)?e.rules.groups.filter(e=>Array.isArray(e)&&e.length>0):[];if(n.length)return n.every(e=>e.some(e=>Ls(e,t)));let i=e.rules?.conditions??[];return!i.length||("or"===e.rules.operator?i.some(e=>Ls(e,t)):i.every(e=>Ls(e,t)))}function Ns(e,t){return function(e,t){let n=[];if(!e)return{matched:!0,gates:[{id:"page",label:"Page check",status:"skipped",reason:"no_page_rules"},{id:"audience",label:"Audience check",status:"skipped",reason:"no_audience_rules"}]};let i=ss(e),r=e.pageRules??[],a=i.length>0||r.length>0,o=!a||ls(t.url,i)&&function(e,t){if(!e.length)return!0;let n=!1,i=!1;for(let r of e){let e=ps(r,t);if(!1===r.include){if(e)return!1}else n=!0,e&&(i=!0)}return i||!n}(r,t);if(n.push({id:"page",label:"Page check",status:a?o?"passed":"failed":"skipped",reason:a?o?"url_matched":"url_mismatch":"no_page_rules",detail:a?{url:t.url,rules:i.length,pageRules:r.length}:void 0}),!o)return n.push({id:"audience",label:"Audience check",status:"skipped",reason:"page_mismatch",detail:{skipped:!0}}),{matched:!1,gates:n};let s=!0,l=e.attributes??[];for(let e of l)if(!fs(t.attributes,e)){s=!1;break}let c=e.segmentRules??[],u=function(e,t){if(!e.length)return!0;let n=!1,i=!1;for(let r of e){let e=Ds(r,t);if(!1===r.include){if(e)return!1}else n=!0,e&&(i=!0)}return i||!n}(c,t),d=l.length>0||c.length>0,p=s&&u;return n.push({id:"audience",label:"Audience check",status:d?p?"passed":"failed":"skipped",reason:d?p?"audience_matched":s?"segment_mismatch":"attribute_mismatch":"no_audience_rules",detail:d?{attributeRules:l.length,segmentRules:c.length}:void 0}),{matched:o&&p,gates:n}}(e,t).matched}function Rs(e,t){return function(e,t){let n=[];if(!e)return{matched:!0,gates:[{id:"page",label:"Page check",status:"skipped",reason:"no_page_rules"},{id:"audience",label:"Audience check",status:"skipped",reason:"no_audience_rules"}],conditions:n};let i=[],r=ss(e),a=e.pageRules??[],o=r.length>0||a.length>0,s=function(e,t){let n=[];if(!t.length)return{matched:!0,conditions:n};let i=!1,r=!1,a=!1;for(let o=0;o<t.length;o+=1){let s=t[o];if(a){n.push({id:`url:${o}`,label:!1===s.include?"URL exclude rule":"URL include rule",status:"skipped",reason:"url_exclude_matched",operator:Wo(s),expected:s.pattern,actual:e,source:s.pattern,sourceType:"url"});continue}let l=as(e,s),c=!1===s.include?!l:l;n.push({id:`url:${o}`,label:!1===s.include?"URL exclude rule":"URL include rule",status:c?"passed":"failed",reason:c?"url_matched":"url_mismatch",operator:Wo(s),expected:s.pattern,actual:e,source:s.pattern,sourceType:"url"}),!1===s.include?l&&(a=!0):(i=!0,l&&(r=!0))}return{matched:!a&&(r||!i),conditions:n}}(t.url,r);n.push(...s.conditions);let l=!0;if(s.matched){let e=function(e,t){let n=[];if(!e.length)return{matched:!0,conditions:n};let i=!1,r=!1,a=!1;for(let o=0;o<e.length;o+=1){let s=e[o];if(a){n.push(Yo(s,o,"skipped","page_rule_exclude_matched"));continue}let l=Xo(s,t),c=!1!==s.include,u=c?l.matched:!l.matched;n.push(Yo(s,o,u?"passed":"failed",u?void 0:c?l.reason??"page_rule_mismatch":"page_rule_exclude_matched","page_rule"===Qo(s).sourceType?`${t.url} — ${u?"passed":"failed"}`:l.matched)),!1===s.include?l.matched&&(a=!0):(i=!0,l.matched&&(r=!0))}return{matched:!a&&(r||!i),conditions:n}}(a,t);l=e.matched,n.push(...e.conditions)}else l=!1,n.push(...function(e){return e.map((e,t)=>Yo(e,t,"skipped","url_mismatch"))}(a));let c=!o||s.matched&&l;i.push({id:"page",label:"Page check",status:o?c?"passed":"failed":"skipped",reason:o?c?"url_matched":"url_mismatch":"no_page_rules",detail:o?{url:t.url,rules:r.length,pageRules:a.length}:void 0});let u=e.attributes??[],d=e.segmentRules??[];if(!c)return n.push(...function(e){return e.map((e,t)=>is(e,t,"skipped","page_mismatch",void 0))}(u)),n.push(...function(e){return e.flatMap(e=>es(e,"page_mismatch"))}(d)),i.push({id:"audience",label:"Audience check",status:"skipped",reason:"page_mismatch",detail:{skipped:!0}}),{matched:!1,gates:i,conditions:n};let p=function(e,t){let n=[],i=!0;for(let r=0;r<e.length;r+=1){let a=e[r],o=t[a.attribute];if(!i){n.push(is(a,r,"skipped","attribute_mismatch",o));continue}let s=fs(t,a);n.push(is(a,r,s?"passed":"failed",s?void 0:"attribute_mismatch",o)),i=s}return{matched:i,conditions:n}}(u,t.attributes);n.push(...p.conditions);let f=function(e,t){let n=[];if(!e.length)return{matched:!0,conditions:n};let i=!1,r=!1,a=!1;for(let o of e){if(a){n.push(...es(o,"segment_exclude_matched"));continue}let e=ns(o,t);n.push(...e.conditions),!1===o.include?e.matched&&(a=!0):(i=!0,e.matched&&(r=!0))}return{matched:!a&&(r||!i),conditions:n}}(d,t);n.push(...f.conditions);let m=u.length>0||d.length>0,g=p.matched&&f.matched;return i.push({id:"audience",label:"Audience check",status:m?g?"passed":"failed":"skipped",reason:m?g?"audience_matched":p.matched?"segment_mismatch":"attribute_mismatch":"no_audience_rules",detail:m?{attributeRules:u.length,segmentRules:d.length}:void 0}),{matched:c&&g,gates:i,conditions:n}}(e,t)}var Fs,Os,Us,Js,Bs,Gs=r(()=>{Vo(),Li(),_n(),rs(),Fs={name:"",version:""},Os={name:"",version:""},Us=null,Js=!1,Bs=new Set(["contains","not_contains","starts_with","ends_with"])});function Hs(){let e=globalThis.crypto;return"function"==typeof e?.randomUUID?e.randomUUID():[Date.now().toString(36),Math.random().toString(36).slice(2),Math.random().toString(36).slice(2)].join("-")}var Vs,Ws,Ks,Qs=r(()=>{g(),be(),Vs="drip_events",Ws="drip_visitor_sessions_v1",Ks=class{constructor(e){this.queue=[],this.activeBatch=null,this.timer=null,this.flushInFlight=!1,this.flushPromise=null,this.nextFlushAt=0,this.backoffMs=0,this.maxQueueSize=2e3,this.pagehideHandler=null,this.beforeUnloadHandler=null,this.pageshowHandler=null,this.beforeUnloadResetTimer=null,this.visibilityHandler=null,this.pageLifecycleFlushed=!1,this.pageTeardownStarted=!1,this.endpoint=e.endpoint,this.shopId=e.shopId??"",this.ingestShopId=e.ingestShopId??e.shopId??"",this.ingestSignature=e.ingestSignature??"",this.visitorId=e.visitorId??"",this.sessionId=this.getOrCreateSessionId(),this.visitorSessions=function(e){try{let t=function(){if("localStorage"!==he)return null;try{return globalThis.localStorage??null}catch{return null}}();if(!t)return;let n,i=t.getItem(Ws);try{n=JSON.parse(i||"0")}catch{}let r=n?.recentSessionIds,a=n?.lastSessionId,o=Array.isArray(r)?r.filter(e=>"string"==typeof e):"string"==typeof a?[a]:[],s=n?.count,l=Number.isInteger(s)&&Number(s)>0&&o.length>0?Number(s):0;if(l&&o.includes(e))return l;let c=l+1;return t.setItem(Ws,JSON.stringify({count:c,recentSessionIds:[e,...o].slice(0,8)})),c}catch{return}}(this.sessionId),this.flushIntervalMs=e.flushIntervalMs??5e3,this.maxBatchSize=e.maxBatchSize??20,this.getActiveAssignment=e.getActiveAssignment??null,this.buildPageExitEvents=e.buildPageExitEvents??null,this.qaMode=e.qaMode??!1,this.qaSessionId=e.qaSessionId??"",this.environment=e.environment||"production"}getOrCreateSessionId(){let e="drip_sid";try{let t=sessionStorage.getItem(e);if(t)return t;let n=Math.random().toString(36).slice(2)+Date.now().toString(36);return sessionStorage.setItem(e,n),n}catch{return Math.random().toString(36).slice(2)+Date.now().toString(36)}}getSessionId(){return this.sessionId}start(){null===this.timer&&(this.recoverEvents(),this.timer=window.setInterval(()=>this.flush(),this.flushIntervalMs),this.listenUnload())}stop(){null!==this.timer&&(window.clearInterval(this.timer),this.timer=null),this.pagehideHandler&&window.removeEventListener("pagehide",this.pagehideHandler),this.beforeUnloadHandler&&window.removeEventListener("beforeunload",this.beforeUnloadHandler),this.pageshowHandler&&window.removeEventListener("pageshow",this.pageshowHandler),null!==this.beforeUnloadResetTimer&&window.clearTimeout(this.beforeUnloadResetTimer),this.pagehideHandler=null,this.beforeUnloadHandler=null,this.pageshowHandler=null,this.beforeUnloadResetTimer=null,this.visibilityHandler&&typeof document<"u"&&(document.removeEventListener("visibilitychange",this.visibilityHandler),this.visibilityHandler=null)}track(e){let t=this.enrichEvent(e);this.queue.push(t),this.queue.length>this.maxQueueSize&&this.queue.splice(0,this.queue.length-this.maxQueueSize),this.queue.length>=this.maxBatchSize&&this.flush()}enrichEvent(e){let t={...e,event_id:"string"==typeof e.event_id&&e.event_id.trim()?e.event_id:Hs(),shopId:e.shopId??this.shopId,visitorId:e.visitorId??this.visitorId,sessionId:e.sessionId??this.sessionId,url:e.url??(typeof location<"u"?location.href:""),ts:e.ts??Date.now(),environment:this.environment};return this.visitorSessions&&(n=e.type,/^(experiment_viewed|personalization_rendered|goal|conversion|pageview)$/.test(n))&&!("visitor_sessions"in(e.data??{}))&&(t.data={...e.data,visitor_sessions:this.visitorSessions}),this.qaMode&&(t.qa_mode=!0,this.qaSessionId&&(t.qa_session_id=this.qaSessionId)),t;var n}scheduleBackoff(e){let t=Math.floor(250*Math.random());this.backoffMs=Math.max(this.backoffMs,e),this.nextFlushAt=Date.now()+this.backoffMs+t}resetBackoff(){this.backoffMs=0,this.nextFlushAt=0}parseRetryAfterSeconds(e){if(!e)return null;let t=Number.parseInt(e,10);return Number.isFinite(t)&&t>0?t:null}async flush(){if(this.flushPromise)return this.flushPromise;if(!this.queue.length||!this.endpoint||this.nextFlushAt&&Date.now()<this.nextFlushAt)return;let e=this.drainQueue();this.flushPromise=e;try{await e}finally{this.flushPromise===e&&(this.flushPromise=null)}}async drainQueue(){try{for(this.flushInFlight=!0;this.queue.length&&this.endpoint;){if(this.nextFlushAt&&Date.now()<this.nextFlushAt)return;let e=this.queue.splice(0,this.maxBatchSize);if(this.activeBatch=e,!e.length)return;let t=await fetch(this.endpoint,{method:"POST",headers:this.buildHeaders(),body:this.buildPayload(e),keepalive:!0});if(!t.ok){if(this.queue.unshift(...e),this.activeBatch=null,this.pageTeardownStarted&&this.saveRecovery(e),429===t.status){let e=this.parseRetryAfterSeconds(t.headers.get("Retry-After")),n=e?1e3*e:5e3;return void this.scheduleBackoff(n)}if(401===t.status||403===t.status)return void this.scheduleBackoff(3e5);if(t.status>=500){let e=this.backoffMs?Math.min(6e4,2*this.backoffMs):1e3;return void this.scheduleBackoff(e)}return void this.scheduleBackoff(3e4)}this.removeRecovery(e),this.activeBatch=null,this.resetBackoff()}}catch{this.activeBatch?.length&&(this.queue.unshift(...this.activeBatch),this.pageTeardownStarted&&this.saveRecovery(this.activeBatch),this.activeBatch=null);let e=this.backoffMs?Math.min(6e4,2*this.backoffMs):1e3;this.scheduleBackoff(e)}finally{this.flushInFlight=!1}}buildPayload(e){let t={events:e};return this.ingestShopId&&(t._shopId=this.ingestShopId),this.ingestSignature&&(t._signature=this.ingestSignature),JSON.stringify(t)}buildHeaders(){let e={"Content-Type":"application/json"};return this.ingestShopId&&(e["X-Drip-Shop"]=this.ingestShopId),this.ingestSignature&&(e["X-Drip-Signature"]=this.ingestSignature),e}recoveryEventKey(e){let t="string"==typeof e.event_id?e.event_id.trim():"";return t?JSON.stringify([t,e.type,e.experimentId??null,e.variationId??null,e.environment||"production"]):null}readRecovery(){try{let e=sessionStorage.getItem(Vs);if(!e)return[];let t=JSON.parse(e);return Array.isArray(t)?t:[]}catch{return[]}}saveRecovery(e){if(!e.length)return;let t=[...this.readRecovery(),...e],n=new Map,i=[];for(let e of t){let t=this.recoveryEventKey(e);t?n.set(t,e):i.push(e)}let r=[...n.values(),...i].slice(-this.maxQueueSize);try{sessionStorage.setItem(Vs,JSON.stringify(r))}catch{}}removeRecovery(e){let t=new Set(e.map(e=>this.recoveryEventKey(e)).filter(e=>null!==e));if(0!==t.size)try{let e=this.readRecovery().filter(e=>{let n=this.recoveryEventKey(e);return null===n||!t.has(n)});e.length?sessionStorage.setItem(Vs,JSON.stringify(e)):sessionStorage.removeItem(Vs)}catch{}}queuePageExitEvents(){let e=this.getActiveAssignment?.()??null;l((t,n)=>{let i=this.buildPageExitEvents?this.buildPageExitEvents(t,n):[{type:t,data:n,experimentId:e?.experimentId,variationId:e?.variationId,url:o()}];this.queue.push(...i.map(e=>this.enrichEvent(e)))})}flushForPageLifecycle(e=!1){let t=this.pageLifecycleFlushed;if(e&&(this.pageTeardownStarted=!0),t&&(!e||0===this.queue.length))return;t||(this.pageLifecycleFlushed=!0,this.queuePageExitEvents());let n=this.queue.splice(0);if(n.length){if(!this.endpoint)return void this.saveRecovery(n);for(;n.length;){let e=n.splice(0,this.maxBatchSize),t=this.buildPayload(e),i=!1;try{let e=typeof navigator<"u"?navigator:void 0;"function"==typeof e?.sendBeacon&&(i=e.sendBeacon(this.endpoint,new Blob([t],{type:"text/plain"})))}catch{i=!1}if(!i)try{fetch(this.endpoint,{method:"POST",headers:this.buildHeaders(),body:t,keepalive:!0}).then(t=>{t.ok||this.saveRecovery(e)}).catch(()=>{this.saveRecovery(e)})}catch{this.saveRecovery(e)}}}}recoverEvents(){try{let e=this.readRecovery().map(e=>({...e,environment:e.environment||this.environment}));e.length&&(sessionStorage.removeItem(Vs),this.queue.unshift(...e))}catch{}}resetPageLifecycle(){this.pageLifecycleFlushed=!1,this.pageTeardownStarted=!1,this.beforeUnloadResetTimer=null}listenUnload(){if(this.pagehideHandler)return;let e=e=>{this.flushForPageLifecycle(!0!==e?.persisted)},t=()=>{this.flushForPageLifecycle(!0),null===this.beforeUnloadResetTimer&&"function"==typeof window.setTimeout&&(this.beforeUnloadResetTimer=window.setTimeout(()=>this.resetPageLifecycle(),0))},n=()=>this.resetPageLifecycle();if(this.pagehideHandler=e,this.beforeUnloadHandler=t,this.pageshowHandler=n,window.addEventListener("pagehide",e),window.addEventListener("beforeunload",t),window.addEventListener("pageshow",n),typeof document<"u"){let e=()=>{"hidden"===document.visibilityState?this.flushForPageLifecycle():this.resetPageLifecycle()};this.visibilityHandler=e,document.addEventListener("visibilitychange",e)}}}});function Xs(e){let t=function(e){let t=[];if(e.slug&&"string"==typeof e.slug?!/^[a-z0-9][a-z0-9-]*[a-z0-9]$/.test(e.slug)&&e.slug.length>1&&t.push("slug must be lowercase alphanumeric with hyphens (e.g. 'hero-banner-v2')"):t.push("slug is required and must be a non-empty string"),(!e.name||"string"!=typeof e.name)&&t.push("name is required"),!Array.isArray(e.variations)||e.variations.length<2)t.push("at least 2 variations are required");else{let n=e.variations.filter(e=>e.isControl);0===n.length?t.push("exactly one variation must be marked as control (isControl: true)"):n.length>1&&t.push("only one variation can be the control");let i=e.variations.reduce((e,t)=>e+t.weight,0);Math.abs(i-1)>.01&&t.push(`variation weights should sum to 1 (got ${i.toFixed(3)})`);let r=new Set;for(let n of e.variations)n.id||t.push("every variation must have an id"),r.has(n.id)&&t.push(`duplicate variation id: "${n.id}"`),r.add(n.id),(n.weight<0||n.weight>1)&&t.push(`variation "${n.id}" weight must be between 0 and 1`)}if(void 0!==e.trafficAllocation&&(e.trafficAllocation<0||e.trafficAllocation>1)&&t.push("trafficAllocation must be between 0 and 1"),e.goals){let n=new Set;for(let i of e.goals)i.id||t.push("every goal must have an id"),n.has(i.id)&&t.push(`duplicate goal id: "${i.id}"`),n.add(i.id),"click"===i.type&&!i.selector&&t.push(`click goal "${i.id}" requires a selector`)}return t}(e);if(t.length>0)throw new Zs(e.slug??"(unnamed)",t);let n={id:e.slug,slug:e.slug,name:e.name,trafficAllocation:e.trafficAllocation??1,targeting:e.targeting,hashAttribute:e.hashAttribute,variations:e.variations.map(e=>({id:e.id,name:e.name,weight:e.weight,mutations:e.mutations??[],value:e.value,css:e.css,js:e.js,resetJs:e.resetJs,externalCssUrl:e.externalCssUrl,externalJsUrl:e.externalJsUrl,isControl:e.isControl??!1})),goals:e.goals?.map(e=>({id:e.id,type:e.type,selector:e.selector,urlPattern:e.urlPattern,countOnce:e.countOnce}))};return Object.freeze(n)}function Ys(e){return e.map(Xs)}var Zs,el=r(()=>{Zs=class extends Error{constructor(e,t){super(`Invalid experiment "${e}": ${t.join("; ")}`),this.name="ExperimentDefinitionError",this.issues=t}}});function tl(e,t,n){let i=t.find(t=>t.id===e);if(!i)return null;let r=n?.url??(typeof location<"u"?location.href:""),a=As(n?.attributes??{},r);if(!Ns(i.targeting,{url:r,attributes:a}))return null;let o=fe(n?.userId),s=re(i.id,o);if(!G(s,i.trafficAllocation??1))return null;let l=H((i.trafficAllocation??1)>=1?s:ae(i.id,o),i.variations.map(e=>e.weight));if(l<0||l>=i.variations.length)return null;let c=i.variations[l];return{experimentId:i.id,experimentName:void 0,variationId:c.id,index:l,mutations:c.mutations??[],value:c.value,featureFlag:i.featureFlag,kind:i.kind??(i.featureFlag?"feature_flag":"experiment"),css:c.css,js:c.js,resetJs:c.resetJs,externalCssUrl:c.externalCssUrl,externalJsUrl:c.externalJsUrl,harnessSession:c.harnessSession,isControl:!!c.isControl,hashValue:o}}function nl(e){let t=Math.max(0,Math.min(100,e.rolloutPercent??0))/100,n=Xs({slug:e.slug,name:e.name,trafficAllocation:1,targeting:e.targeting,variations:[{id:"control",weight:1-t,mutations:[],isControl:!0,value:e.offValue??!1},{id:"enabled",weight:t,mutations:[],value:e.onValue??!0}]});return{...n,variations:n.variations.map(e=>({...e})),featureFlag:{key:e.slug}}}var il=r(()=>{V(),el(),be(),Gs()});function rl(e){return e.nodeType===Node.ELEMENT_NODE}function al(e,t){e.expiresAt<=Date.now()||e.handled.has(t)||(e.handled.add(t),e.matched=!0,e.callback(t))}function ol(){null!==vl&&(clearTimeout(vl),vl=null)}function sl(){if(ol(),0===pl.length)return;let e=Math.min(...pl.map(e=>e.expiresAt)),t=Math.max(1,e-Date.now()+1);vl=setTimeout(()=>{vl=null,ll()},t)}function ll(){let e=Date.now();for(let t=pl.length-1;t>=0;t-=1)if(pl[t].expiresAt<=e){let[e]=pl.splice(t,1);if(!e.matched)try{e.onMiss?.()}catch{}}0===pl.length&&fl?(fl.disconnect(),fl=null,ml=!1,gl.clear(),ol()):sl()}function cl(){ll();let e=new Map;for(let t of pl){let n=e.get(t.selector);n?n.push(t):e.set(t.selector,[t])}return e}function ul(e,t){let n=[];try{rl(t)&&t.matches(e)&&n.push(t),function(e){return"function"==typeof e.querySelectorAll}(t)&&t.querySelectorAll(e).forEach(e=>n.push(e))}catch{return[]}return n}function dl(e,t,n,i){let r=Mr(e,t);!function(e,t,n={}){let i=new WeakSet,r=!1;try{document.querySelectorAll(e).forEach(e=>{i.add(e),r=!0,t(e)})}catch{return void n.onMiss?.()}let a=Math.max(1e3,Math.min(n.ttlMs??hl,12e4));pl.push({selector:e,callback:t,handled:i,matched:r,expiresAt:Date.now()+a,onMiss:n.onMiss}),sl(),fl||(fl=new MutationObserver(e=>{for(let t of e)"childList"===t.type?t.addedNodes.forEach(e=>{(rl(e)||e.nodeType===Node.DOCUMENT_FRAGMENT_NODE)&&gl.add(e)}):"attributes"===t.type&&rl(t.target)?gl.add(t.target):"characterData"===t.type&&t.target.parentElement&&gl.add(t.target.parentElement);gl.size>0&&yl()})).observe(document.documentElement,{attributes:!0,characterData:!0,childList:!0,subtree:!0})}(e.selector,i=>{if(Cr(e.action)){if(Tr(i,r))return void n?.(e,i,t);zr(e,i,r)}else zr(e,i,r);n?.(e,i,t)},{onMiss:()=>i?.(e,t)})}var pl,fl,ml,gl,hl,vl,yl,xl=r(()=>{Rr(),pl=[],fl=null,ml=!1,gl=new Set,hl=3e4,vl=null,yl=()=>{ml||(ml=!0,queueMicrotask(()=>{ml=!1,function(){if(0!==pl.length){if(gl.size>0)return void function(){if(0===gl.size)return;let e=Array.from(gl);gl.clear();let t=cl();for(let[n,i]of t)for(let t of e){let e=ul(n,t);for(let t of e)i.forEach(e=>al(e,t))}ll()}();!function(){let e=cl();for(let[t,n]of e)try{document.querySelectorAll(t).forEach(e=>{n.forEach(t=>al(t,e))})}catch{}ll()}()}}()}))}}),bl={};function wl(e,t,n){let i={ts:Date.now(),type:e,label:t,detail:n};Ml.push(i),Ml.length>200&&Ml.shift();for(let e of Cl)try{e(i)}catch{}El&&El.refresh()}function _l(e){return Cl.add(e),()=>{Cl.delete(e)}}function Sl(){try{if(typeof URLSearchParams<"u"){let e=new URLSearchParams(location.search);if("1"===e.get("drip_devtools")||"1"===e.get("drip_debug")||"1"===e.get("apex_debug"))return!0}if(typeof localStorage<"u")return"1"===localStorage.getItem("drip_devtools")}catch{}return!1}function Il(e){El?El.update(e):El=new $l(e)}function kl(){El&&(El.destroy(),El=null)}function Al(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}a(bl,{isDevtoolsEnabled:()=>Sl,logDevtoolsEvent:()=>wl,mountDevtools:()=>Il,subscribeDevtoolsEvents:()=>_l,unmountDevtools:()=>kl});var Ml,Cl,El,$l,Tl,Pl=r(()=>{Ml=[],Cl=new Set,El=null,$l=class{constructor(e){this.collapsed=!1,this.activeTab="sequence",this.dragState=null,this.opts=e,this.host=document.createElement("div"),this.host.id="drip-devtools-host",this.shadow=this.host.attachShadow({mode:"closed"}),document.body.appendChild(this.host),this.render(),this.attachDrag()}update(e){this.opts=e,this.render()}refresh(){this.render()}destroy(){this.host.remove()}render(){let{experiments:e,assignments:t,diagnostics:n,forceMap:i}=this.opts;this.shadow.innerHTML=`\n <style>${Tl}</style>\n <div class="dt-panel" id="dt-panel">\n <div class="dt-header" id="dt-header">\n <span class="dt-title">Drip Devtools</span>\n <span class="dt-badge">${t.length} active</span>\n <button class="dt-btn dt-toggle" id="dt-toggle">${this.collapsed?"+":"−"}</button>\n </div>\n ${this.collapsed?"":`\n <div class="dt-tabs">\n <button class="dt-tab ${"sequence"===this.activeTab?"active":""}" data-tab="sequence">Sequence</button>\n <button class="dt-tab ${"assignments"===this.activeTab?"active":""}" data-tab="assignments">Assignments</button>\n <button class="dt-tab ${"log"===this.activeTab?"active":""}" data-tab="log">Log (${Ml.length})</button>\n <button class="dt-tab ${"force"===this.activeTab?"active":""}" data-tab="force">Force</button>\n </div>\n <div class="dt-body">\n ${this.renderTabContent(e,t,n??null,i)}\n </div>\n `}\n </div>\n `,this.shadow.getElementById("dt-toggle")?.addEventListener("click",()=>{this.collapsed=!this.collapsed,this.render()}),this.shadow.querySelectorAll(".dt-tab").forEach(e=>{e.addEventListener("click",()=>{this.activeTab=e.dataset.tab,this.render()})}),this.shadow.querySelectorAll(".dt-force-select").forEach(e=>{e.addEventListener("change",()=>{let t=e.dataset.expId,n=e.value;n&&this.opts.onForceVariation(t,n)})})}renderTabContent(e,t,n,i){switch(this.activeTab){case"sequence":return this.renderSequence(n);case"assignments":return this.renderAssignments(t);case"log":return this.renderLog();case"force":return this.renderForce(e,i)}}renderSequence(e){if(!e)return'<div class="dt-empty">No diagnostics available</div>';let t=e.activation.project.gates,n=e.activation.experiments;return`\n <div class="dt-section-title">Project</div>\n <div class="dt-card">${t.map(e=>this.renderGate(e)).join("")}</div>\n <div class="dt-section-title">Experiments</div>\n ${0===n.length?'<div class="dt-empty compact">No experiment sequence yet</div>':n.map(e=>`\n <div class="dt-card">\n <div class="dt-card-title">${Al(e.experimentName||e.experimentId)}</div>\n <div class="dt-card-row"><span>Status:</span> <span class="dt-status dt-status-${e.status}">${Al(e.status)}</span></div>\n ${e.assignedVariationId?`<div class="dt-card-row"><span>Variation:</span> <span>${Al(e.assignedVariationId)}</span></div>`:`<div class="dt-card-row"><span>Reason:</span> <span>${Al(e.reason||"not_assigned")}</span></div>`}\n <div class="dt-gates">${e.gates.map(e=>this.renderGate(e)).join("")}</div>\n </div>\n `).join("")}\n `}renderGate(e){return`\n <div class="dt-gate">\n <span class="dt-dot dt-dot-${e.status}"></span>\n <span class="dt-gate-label">${Al(e.label)}</span>\n <span class="dt-gate-reason">${Al(e.reason||e.status)}</span>\n </div>\n `}renderAssignments(e){return 0===e.length?'<div class="dt-empty">No active assignments</div>':e.map(e=>`\n <div class="dt-card">\n <div class="dt-card-title">${Al(e.experimentId)}</div>\n <div class="dt-card-row"><span>Variation:</span> <span>${Al(e.variationId)}</span></div>\n <div class="dt-card-row"><span>Index:</span> <span>${e.index}</span></div>\n <div class="dt-card-row"><span>Control:</span> <span>${e.isControl?"Yes":"No"}</span></div>\n <div class="dt-card-row"><span>Mutations:</span> <span>${e.mutations.length}</span></div>\n <div class="dt-card-row"><span>CSS:</span> <span>${e.css?"Yes":"No"}</span></div>\n <div class="dt-card-row"><span>JS:</span> <span>${e.js?"Yes":"No"}</span></div>\n <div class="dt-card-row"><span>External CSS:</span> <span>${e.externalCssUrl?"Yes":"No"}</span></div>\n <div class="dt-card-row"><span>External JS:</span> <span>${e.externalJsUrl?"Yes":"No"}</span></div>\n <div class="dt-card-row"><span>Harness:</span> <span>${e.harnessSession?`v${e.harnessSession.version??0}`:"No"}</span></div>\n </div>\n `).join("")}renderLog(){return 0===Ml.length?'<div class="dt-empty">No events logged yet</div>':`<div class="dt-log">${[...Ml].reverse().slice(0,50).map(e=>`<div class="dt-log-entry">\n <span class="dt-log-time">${new Date(e.ts).toLocaleTimeString()}</span>\n <span class="dt-log-type dt-type-${e.type}">${Al(e.type)}</span>\n <span class="dt-log-label">${Al(e.label)}</span>\n </div>`).join("")}</div>`}renderForce(e,t){return 0===e.length?'<div class="dt-empty">No experiments available</div>':e.map(e=>`\n <div class="dt-card">\n <div class="dt-card-title">${Al(e.id)}</div>\n <select class="dt-force-select" data-exp-id="${Al(e.id)}">\n <option value="">— Natural assignment —</option>\n ${e.variations.map((n,i)=>`<option value="${Al(n.id)}" ${t?.[e.id]===n.id?"selected":""}>${Al(n.id)}${n.isControl?" (control)":""} — ${(100*n.weight).toFixed(0)}%</option>`).join("")}\n </select>\n </div>\n `).join("")}attachDrag(){let e=()=>this.shadow.getElementById("dt-header"),t=()=>this.shadow.getElementById("dt-panel"),n=e=>{let n=t();if(!n)return;let i=n.getBoundingClientRect();this.dragState={startX:e.clientX,startY:e.clientY,offsetX:i.left,offsetY:i.top},e.preventDefault()},i=()=>{let t=e();t&&t.addEventListener("mousedown",n)};i();let r=this.render.bind(this);this.render=()=>{r(),i()},document.addEventListener("mousemove",e=>{if(!this.dragState)return;let n=t();if(!n)return;let i=e.clientX-this.dragState.startX,r=e.clientY-this.dragState.startY;n.style.left=`${this.dragState.offsetX+i}px`,n.style.top=`${this.dragState.offsetY+r}px`,n.style.right="auto",n.style.bottom="auto"}),document.addEventListener("mouseup",()=>{this.dragState=null})}},Tl="\n * { box-sizing: border-box; margin: 0; padding: 0; }\n\n .dt-panel {\n position: fixed;\n bottom: 16px;\n right: 16px;\n width: 340px;\n max-height: 480px;\n background: #1a1a2e;\n border: 1px solid #333;\n border-radius: 8px;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n font-size: 12px;\n color: #e0e0e0;\n z-index: 2147483647;\n box-shadow: 0 4px 24px rgba(0,0,0,0.5);\n display: flex;\n flex-direction: column;\n overflow: hidden;\n }\n\n .dt-header {\n display: flex;\n align-items: center;\n padding: 8px 12px;\n background: #16213e;\n cursor: move;\n user-select: none;\n border-bottom: 1px solid #333;\n }\n\n .dt-title {\n font-weight: 600;\n font-size: 13px;\n color: #fff;\n flex: 1;\n }\n\n .dt-badge {\n background: #0f3460;\n color: #e0e0e0;\n padding: 2px 8px;\n border-radius: 10px;\n font-size: 10px;\n margin-right: 8px;\n }\n\n .dt-btn {\n background: none;\n border: none;\n color: #aaa;\n cursor: pointer;\n font-size: 16px;\n line-height: 1;\n padding: 2px 6px;\n }\n .dt-btn:hover { color: #fff; }\n\n .dt-tabs {\n display: flex;\n border-bottom: 1px solid #333;\n }\n\n .dt-tab {\n flex: 1;\n padding: 6px 8px;\n background: none;\n border: none;\n color: #888;\n cursor: pointer;\n font-size: 11px;\n text-align: center;\n border-bottom: 2px solid transparent;\n }\n .dt-tab:hover { color: #ccc; }\n .dt-tab.active { color: #53c1de; border-bottom-color: #53c1de; }\n\n .dt-body {\n overflow-y: auto;\n max-height: 360px;\n padding: 8px;\n }\n\n .dt-empty {\n text-align: center;\n color: #666;\n padding: 24px;\n }\n .dt-empty.compact { padding: 12px; }\n\n .dt-section-title {\n color: #888;\n font-size: 10px;\n font-weight: 700;\n letter-spacing: 0.04em;\n margin: 4px 2px 6px;\n text-transform: uppercase;\n }\n\n .dt-card {\n background: #16213e;\n border-radius: 6px;\n padding: 8px 10px;\n margin-bottom: 6px;\n }\n\n .dt-card-title {\n font-weight: 600;\n color: #fff;\n margin-bottom: 4px;\n font-size: 12px;\n }\n\n .dt-card-row {\n display: flex;\n justify-content: space-between;\n padding: 1px 0;\n color: #aaa;\n font-size: 11px;\n }\n .dt-card-row span:last-child { color: #e0e0e0; }\n\n .dt-status {\n border-radius: 3px;\n font-size: 10px;\n padding: 1px 5px;\n text-transform: uppercase;\n }\n .dt-status-passed { background: #166534; color: #dcfce7 !important; }\n .dt-status-failed { background: #7f1d1d; color: #fee2e2 !important; }\n .dt-status-skipped { background: #334155; color: #e2e8f0 !important; }\n\n .dt-gates {\n margin-top: 6px;\n border-top: 1px solid rgba(255,255,255,0.08);\n padding-top: 5px;\n }\n\n .dt-gate {\n display: grid;\n grid-template-columns: 10px minmax(86px, 1fr) minmax(0, 1fr);\n align-items: center;\n gap: 6px;\n padding: 3px 0;\n color: #b8c1d1;\n font-size: 11px;\n }\n\n .dt-dot {\n width: 7px;\n height: 7px;\n border-radius: 999px;\n display: inline-block;\n }\n .dt-dot-passed { background: #22c55e; }\n .dt-dot-failed { background: #ef4444; }\n .dt-dot-skipped { background: #64748b; }\n .dt-gate-label { color: #e5e7eb; }\n .dt-gate-reason {\n color: #8b95a7;\n overflow: hidden;\n text-align: right;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .dt-force-select {\n width: 100%;\n margin-top: 6px;\n padding: 4px 8px;\n background: #0f3460;\n border: 1px solid #444;\n color: #e0e0e0;\n border-radius: 4px;\n font-size: 11px;\n }\n\n .dt-log {\n display: flex;\n flex-direction: column;\n gap: 2px;\n }\n\n .dt-log-entry {\n display: flex;\n gap: 6px;\n padding: 3px 4px;\n border-radius: 3px;\n font-size: 11px;\n line-height: 1.4;\n }\n .dt-log-entry:hover { background: rgba(255,255,255,0.03); }\n\n .dt-log-time { color: #666; flex-shrink: 0; font-family: monospace; }\n .dt-log-type { flex-shrink: 0; font-weight: 600; text-transform: uppercase; font-size: 9px; padding: 1px 4px; border-radius: 3px; }\n .dt-log-label { color: #ccc; }\n\n .dt-type-init { background: #1a6; color: #fff; }\n .dt-type-eval { background: #36a; color: #fff; }\n .dt-type-apply { background: #a63; color: #fff; }\n .dt-type-track { background: #63a; color: #fff; }\n .dt-type-goal { background: #a36; color: #fff; }\n .dt-type-qa { background: #3aa; color: #fff; }\n .dt-type-guard { background: #666; color: #fff; }\n .dt-type-tracker { background: #636; color: #fff; }\n"}),zl={};function jl(e,t,n){return Math.max(t,Math.min(n,e))}function Ll(){return location.origin+location.pathname}function ql(e,t){if(t>=1)return!0;if(t<=0)return!1;try{let n=function(e){return`drip_hm:${e.experimentId}:${e.variationId}`}(e),i=sessionStorage.getItem(n);if("1"===i)return!0;if("0"===i)return!1;let r=Math.random()<t;return sessionStorage.setItem(n,r?"1":"0"),r}catch{return Math.random()<t}}function Dl(e){return"number"==typeof e&&Number.isFinite(e)?jl(e,0,1):.05}function Nl(e){let t=[],n=e;for(;n&&n!==document.documentElement&&t.length<4;){let e=n.tagName.toLowerCase(),i=n.id&&/^[A-Za-z][\w-]{0,80}$/.test(n.id)?`#${n.id}`:"";if(i){t.unshift(`${e}${i}`);break}let r=n.getAttribute("data-testid")||n.getAttribute("data-test")||n.getAttribute("data-drip-id");if(r&&/^[\w-]{1,80}$/.test(r)){t.unshift(`${e}[data-testid="${r}"]`);break}let a=1,o=n.previousElementSibling;for(;o;)o.tagName===n.tagName&&(a+=1),o=o.previousElementSibling;t.unshift(`${e}:nth-of-type(${a})`),n=n.parentElement}return t.join(" > ")}function Rl(e){let t=e.tagName.toLowerCase();return"input"===t||"textarea"===t||"select"===t?"":(e.textContent||"").replace(/\s+/g," ").trim().slice(0,80)}function Fl(e,t){let n=new Map(t.map(e=>[e.id,e])),i=[];for(let t of e){let e=n.get(t.experimentId)?.behaviorCapture;e?.enabled&&ql(t,Dl(e.sampleRate))&&i.push({...t,capture:e})}return i}function Ol(e,t,n){let i=Fl(e,t),r=new Set,a=0,o=[],s=null,l=new Map,c=Ll(),u=null,d=null,p=()=>i.some(e=>!1!==e.capture.moves),f=()=>{if(0===l.size)return;let e=l;l=new Map;let t=Math.round([...e.values()].reduce((e,t)=>e+t,0));if(t<Vl)return;let r=(e=>{let t=[...e.entries()].sort((e,t)=>{let n=t[1]-e[1];return 0!==n?n:e[0].localeCompare(t[0])}),n=[],i=0;for(let[e,r]of t){let t=`${e}:${Math.round(r)}`,a=i+(n.length>0?1:0)+t.length;if(a>Hl)break;n.push(t),i=a}return n.join(";")})(e);if(!r)return;let a=location.pathname;try{a=new URL(c).pathname}catch{}let o={path:a,page_url:c,viewport_width:window.innerWidth,viewport_height:window.innerHeight,document_height:Math.max(document.body.scrollHeight,document.documentElement.scrollHeight),sample_ms:t,points:r};for(let e of i)!1!==e.capture.moves&&n("heatmap_move",o,e.experimentId,e.variationId)},m=()=>{if("visible"!==document.visibilityState||!s)return;let e=Ll();if(e!==c)return f(),c=e,void(s=null);let t=Math.max(1,document.body.scrollHeight,document.documentElement.scrollHeight),n=jl(s.clientX/Math.max(1,window.innerWidth)*100,0,99.999),i=jl(s.pageY/t*100,0,99.999),r=`${Math.floor(n/Gl)*Gl}:${Math.floor(i/Gl)*Gl}`;l.set(r,(l.get(r)??0)+Jl)},g=e=>{s={clientX:e.clientX,pageY:e.pageY}},h=()=>{"hidden"===document.visibilityState&&f()},v=e=>{e&&f(),null!==u&&(window.clearInterval(u),u=null),null!==d&&(window.clearInterval(d),d=null),document.removeEventListener("pointermove",g),document.removeEventListener("visibilitychange",h),window.removeEventListener("pagehide",f),s=null},y=()=>{if(!p())return v(!1),void l.clear();null===u&&(c=Ll(),document.addEventListener("pointermove",g,{passive:!0}),document.addEventListener("visibilitychange",h),window.addEventListener("pagehide",f,{passive:!0}),u=window.setInterval(m,Jl),d=window.setInterval(f,Bl))},x=()=>{if(!i.some(e=>!1!==e.capture.scrolls))return;let e=function(){let e=Math.max(document.body.scrollHeight,document.documentElement.scrollHeight),t=window.innerHeight||1;return e<=t?100:Math.round((window.scrollY+t)/e*100)}(),t={path:location.pathname,page_url:Ll(),scroll_percent:e,viewport_width:window.innerWidth,viewport_height:window.innerHeight,document_height:Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)};for(let a of i)if(!1!==a.capture.scrolls)for(let i of Ul){if(e<i)continue;let o=`${a.experimentId}:${a.variationId}:${Ll()}:${i}`;r.has(o)||(r.add(o),n("heatmap_scroll",{...t,scroll_bucket:i},a.experimentId,a.variationId))}},b=e=>{if(!i.some(e=>!1!==e.capture.clicks))return;let t=Date.now();if(t-a<100)return;a=t;let r=e.target instanceof Element?e.target:null;if(!r)return;let s=r.getBoundingClientRect(),l=e.pageX,c=e.pageY;o=o.filter(e=>t-e.t<=Wl).slice(-(Ql-1)),o.push({x:l,y:c,t:t});let u=o.filter(e=>Math.hypot(e.x-l,e.y-c)<=Kl).length>=3,d={path:location.pathname,page_url:Ll(),x:Math.round(l),y:Math.round(c),viewport_x:Math.round(e.clientX),viewport_y:Math.round(e.clientY),x_pct:Math.round(e.clientX/Math.max(1,window.innerWidth)*1e3)/10,y_pct:Math.round(e.clientY/Math.max(1,window.innerHeight)*1e3)/10,viewport_width:window.innerWidth,viewport_height:window.innerHeight,document_height:Math.max(document.body.scrollHeight,document.documentElement.scrollHeight),selector:Nl(r),element_tag:r.tagName.toLowerCase(),element_text:Rl(r),element_x:Math.round(s.left+window.scrollX),element_y:Math.round(s.top+window.scrollY),element_width:Math.round(s.width),element_height:Math.round(s.height),...u?{rage:1}:{}};for(let e of i)!1!==e.capture.clicks&&n("heatmap_click",d,e.experimentId,e.variationId)},w=()=>{window.requestAnimationFrame(x)};return document.addEventListener("click",b,{capture:!0,passive:!0}),window.addEventListener("scroll",w,{passive:!0}),window.addEventListener("resize",x,{passive:!0}),window.setTimeout(x,500),y(),{update(e,t){p()&&f(),i=Fl(e,t),y(),x()},stop(){v(!0),document.removeEventListener("click",b,{capture:!0}),window.removeEventListener("scroll",w),window.removeEventListener("resize",x)}}}a(zl,{startHeatmapCapture:()=>Ol});var Ul,Jl,Bl,Gl,Hl,Vl,Wl,Kl,Ql,Xl=r(()=>{Ul=[25,50,75,90,100],Jl=200,Bl=6e4,Gl=5,Hl=900,Vl=1e3,Wl=1200,Kl=32,Ql=4}),Yl={};function Zl(){return location.origin+location.pathname}function ec(e){let t=e.pathPattern?.trim();if(!t)return!0;let n=`${location.pathname}${location.search}`;if(t.startsWith("regex:"))try{return new RegExp(t.slice(6)).test(n)}catch{return!1}return n.includes(t)}function tc(e){let t=e.tagName.toLowerCase();return"input"===t||"textarea"===t||"select"===t?(e.getAttribute("aria-label")||e.getAttribute("title")||e.getAttribute("value")||"").replace(/\s+/g," ").trim().slice(0,120):(e.textContent||e.getAttribute("aria-label")||e.getAttribute("title")||e.getAttribute("alt")||"").replace(/\s+/g," ").trim().slice(0,120)}function nc(e,t){return"constant"===e.labelSource?e.label||e.elementRole||e.id:"attribute"===e.labelSource&&e.attribute?(t.getAttribute(e.attribute)||e.label||tc(t)).slice(0,180):(e.label||tc(t)||e.elementRole||e.id).slice(0,180)}function ic(){let e={},t=document.querySelector("link[rel='canonical']")?.href,n=document.querySelector("[data-product-id]")?.dataset.productId,i=t?t.split("/products/")[1]?.split(/[?#/]/)[0]:void 0;return n&&(e.product_id=n),i&&(e.product_handle=i),e}function rc(e,t,n){if("none"===e.indexStrategy)return null;let i=n.indexOf(t);return i>=0?i+1:null}function ac(e,t,n){let i=t.getBoundingClientRect(),r=rc(e,t,n);return{semantic_rule_id:e.id,semantic_event:e.eventType,semantic_role:e.elementRole??"",semantic_label:nc(e,t),page_type:e.pageType??"",element_index:r,element_tag:t.tagName.toLowerCase(),element_text:tc(t),element_width:Math.round(i.width),element_height:Math.round(i.height),path:location.pathname,page_url:Zl(),...ic()}}function oc(e,t){if(!e?.enabled||!function(e){if(e>=1)return!0;if(e<=0)return!1;let t="drip_semantic_sample";try{let n=sessionStorage.getItem(t);if("1"===n)return!0;if("0"===n)return!1;let i=Math.random()<e;return sessionStorage.setItem(t,i?"1":"0"),i}catch{return Math.random()<e}}(function(e){return"number"==typeof e&&Number.isFinite(e)?function(e){return Math.max(0,Math.min(1,e))}(e):.25}(e.sampleRate)))return null;let n=function(e){return(Array.isArray(e.rules)?e.rules:[]).map(e=>{let t=e.id?.trim(),n=e.eventType?.trim(),i=e.selector?.trim();return t&&n&&i?{...e,id:t,eventType:n,selector:i,action:"visibility"===e.action?"visibility":"click",labelSource:e.labelSource??"text",indexStrategy:e.indexStrategy??"dom_order",oncePerSession:!1!==e.oncePerSession}:null}).filter(e=>!!e)}(e).filter(ec);if(!n.length)return null;let i=Math.max(1,Math.min(500,Math.round(e.maxEventsPerSession??120))),r=Math.max(100,Math.min(1e4,Math.round(e.minVisibleMs??700))),a=Math.max(.05,Math.min(1,e.visibilityThreshold??.5)),o=new Set,s=new Map,l=0;function c(e,n,r,a={}){if(l>=i)return;let s=function(e,t,n){let i=rc(e,t,n)??0;return`${e.id}:${Zl()}:${i}:${nc(e,t)}`}(e,n,r);e.oncePerSession&&o.has(s)||(o.add(s),l+=1,t(e.eventType,{...ac(e,n,r),...a}))}let u=n.filter(e=>"visibility"===e.action),d=n.filter(e=>"click"===e.action),p=[];for(let e of u){let t=[];try{t=Array.from(document.querySelectorAll(e.selector))}catch{continue}if(!t.length)continue;let n=new IntersectionObserver(n=>{for(let i of n){if(i.intersectionRatio<a||s.has(i.target))continue;let n=window.setTimeout(()=>{s.delete(i.target);let n=i.target.getBoundingClientRect();n.width<=0||n.height<=0||c(e,i.target,t,{visible_ms:r,visibility_pct:Math.round(100*i.intersectionRatio)})},r);s.set(i.target,n)}},{threshold:[a]});t.forEach(e=>n.observe(e)),p.push(n)}let f=e=>{let t=e.target instanceof Element?e.target:null;if(t)for(let n of d){if(!ec(n))continue;let i=null;try{i=t.closest(n.selector)}catch{continue}i&&c(n,i,Array.from(document.querySelectorAll(n.selector)),{viewport_x:Math.round(e.clientX),viewport_y:Math.round(e.clientY)})}};return document.addEventListener("click",f,{capture:!0,passive:!0}),{stop(){document.removeEventListener("click",f,{capture:!0}),p.forEach(e=>e.disconnect());for(let e of s.values())window.clearTimeout(e);s.clear()}}}a(Yl,{startSemanticCapture:()=>oc});var sc=r(()=>{}),lc={};function cc(e){return(e?.textContent||"").replace(/\s+/g," ").trim()}function uc(e,t){return Array.from(document.querySelectorAll(e)).map(cc).filter(Boolean).slice(0,t)}function dc(e){try{let t=new URL(e,location.href);return`${t.origin}${t.pathname}`}catch{return e.split("?")[0]?.slice(0,180)||""}}function pc(e){let t=e.match(/rgba?\((\d+),\s*(\d+),\s*(\d+)/i);if(!t)return null;let n=`#${t.slice(1,4).map(e=>Math.max(0,Math.min(255,Number.parseInt(e,10)||0)).toString(16).padStart(2,"0")).join("")}`;return"#000000"===n||"#ffffff"===n?null:n}function fc(e,t){return Array.from(new Set(e.filter(Boolean))).slice(0,t)}function mc(){let e=[],t=[],n=[],i=Array.from(document.querySelectorAll("body *")).slice(0,220);for(let r of i){let i=getComputedStyle(r),a=pc(i.color),o=pc(i.backgroundColor),s=pc(i.borderColor);a&&e.push(a),o&&e.push(o),s&&e.push(s),i.fontFamily&&t.push(i.fontFamily.split(",")[0]?.replace(/"/g,"").trim()||""),("BUTTON"===r.tagName||"button"===r.getAttribute("role")||r instanceof HTMLAnchorElement&&/button|btn|cta/i.test(r.className))&&n.push([`color ${a||i.color}`,`background ${o||i.backgroundColor}`,`radius ${i.borderRadius}`].join(", "))}return{colors:fc(e,12),fonts:fc(t,8),buttons:fc(n,8)}}function gc(e){try{return function(e){if(!e)return!1;let t="__drip_audit_test__";try{return e.setItem(t,"1"),e.removeItem(t),!0}catch{return!1}}(window[e])}catch{return!1}}function hc(){let e=window,t=document.documentElement.innerHTML.slice(0,12e4);return e.Shopify||/cdn\.shopify\.com|Shopify\.theme/i.test(t)?"shopify":e.WooCommerce||/wp-content|woocommerce/i.test(t)?"woocommerce":/__NEXT_DATA__|next\/static/i.test(t)?"nextjs":"unknown"}function vc(e){if(!e)return!1;try{let t=new URL(e,location.href),n=t.hostname.toLowerCase(),i=t.pathname.toLowerCase();return n.includes("drip-sdk")||n.includes("drip-apex")||/(^|\/)(?:drip|apex)(?:[-.]sdk)?(?:\.min)?\.js$/.test(i)||/\/(?:drip|apex)-sdk(?:\.min)?\.js$/.test(i)}catch{return/(?:^|\/)(?:drip|apex)(?:[-.]sdk)?(?:\.min)?\.js(?:$|\?)/i.test(e)}}function yc(e){let t=(typeof performance<"u"?performance.getEntriesByType("resource"):[]).slice(0,80).map(e=>({url:dc(e.name),type:e.initiatorType,durationMs:Math.round(e.duration),transferSize:Math.max(0,Math.round(e.transferSize||0))})),n=location.hostname,i=[];t.forEach(e=>{try{let t=new URL(e.url).hostname;t&&t!==n&&i.push(t)}catch{}});let r=fc(i,18),a=t.filter(e=>/drip-apex|drip-sdk|drip\.js|\/events$|\/config$/i.test(e.url)).slice(0,20);return{configuredEndpoint:e.endpoint?dc(e.endpoint):"",apexRequests:a,notableThirdParties:r,resources:t,failedResources:_c.slice(0,20)}}function xc(e,t){let n=uc("h1,h2,h3",16),i=uc("button,a[role='button'],input[type='submit'],a[href*='/cart']",16),r=fc(Array.from(document.images).map(e=>e.alt.trim()).filter(Boolean),12),a=function(){let e=[];return Array.from(document.querySelectorAll("script[type='application/ld+json']")).forEach(t=>{try{let n=JSON.parse(t.textContent||"{}");(Array.isArray(n)?n:[n]).forEach(t=>{let n=String((t&&"object"==typeof t?t:{})["@type"]||"");n&&e.push(n)})}catch{}}),fc(e,12)}(),o=document.body.innerText.replace(/\s+/g," ").trim().slice(0,3e3),s=fc((o.match(/\b(?:free shipping|discount|sale|guarantee|subscribe|bundle|save \d+%|limited time)\b/gi)||[]).map(e=>e.toLowerCase()),10),l=Array.from(document.scripts).filter(e=>vc(e.src||"")).length;return{page:{url:dc(location.href),title:document.title,referrer:document.referrer?dc(document.referrer):"",language:document.documentElement.lang||navigator.language||"",viewport:{width:window.innerWidth,height:window.innerHeight,devicePixelRatio:window.devicePixelRatio}},sdk:{installed:!0,version:"0.1.0",shopId:e.shopId||"",configSource:t.configSource,trackerStarted:t.trackerStarted,eventsEndpointReachable:t.trackerStarted||!!e.endpoint,duplicateInstalls:l>1,scriptCount:l},site:{platform:t.platform||hc(),spaDetected:!!document.querySelector("[data-reactroot], [ng-version], [data-v-app], [data-sveltekit], #__next"),consentBannerDetected:!!["[id*='consent' i]","[class*='consent' i]","[id*='cookie' i]","[class*='cookie' i]","[aria-label*='cookie' i]"].some(e=>document.querySelector(e))||/cookie|consent|gdpr|privacy preferences/i.test(document.body.innerText.slice(0,6e3)),cartDetected:!!document.querySelector("a[href*='/cart'], form[action*='/cart']"),productJsonLdDetected:a.some(e=>/product/i.test(e)),schemaTypes:a},dom:{headings:n,buttons:i,imageAlts:r,sections:uc("nav,header,main,footer,section",10),offerPhrases:s,textSample:o},styles:mc(),browserCapabilities:{cookiesAvailable:navigator.cookieEnabled,localStorageAvailable:gc("localStorage"),sessionStorageAvailable:gc("sessionStorage"),cspWarnings:[],blockedRequests:_c.map(e=>`${e.type}: ${e.url}`).slice(0,12)},network:yc(e),capturedAt:(new Date).toISOString()}}function bc(e,t){if(typeof window>"u"||typeof document>"u")return;let n=function(){try{return new URLSearchParams(location.search).get("apex_audit")}catch{return null}}();!n||!function(e){let t=`drip_audit_sent:${e}:${location.origin}${location.pathname}`;if(Sc===t)return!1;Sc=t;try{if("1"===sessionStorage.getItem(t))return!1;sessionStorage.setItem(t,"1")}catch{}return!0}(n)||function(e){let t=window;"function"!=typeof t.requestIdleCallback?window.setTimeout(e,"complete"===document.readyState?400:1200):t.requestIdleCallback(e,{timeout:1500})}(()=>{let i=e.auditEndpoint||wc,r=JSON.stringify({token:n,snapshot:xc(e,t)});fetch(i,{method:"POST",headers:{"content-type":"application/json"},body:r,keepalive:r.length<6e4}).catch(()=>{})})}a(lc,{isApexScriptSrc:()=>vc,runAuditIfRequested:()=>bc});var wc,_c,Sc,Ic=r(()=>{wc="https://app.drip-apex.com/api/shop-audits/collect",_c=[],Sc="",typeof window>"u"||(window.addEventListener("error",e=>{let t=e.target;if(!(t instanceof HTMLElement))return;let n=t instanceof HTMLScriptElement||t instanceof HTMLImageElement?t.src:t instanceof HTMLLinkElement?t.href:"";n&&(_c.push({url:dc(n),tag:t.tagName.toLowerCase(),type:"resource_error"}),_c.length>30&&_c.shift())},!0),window.addEventListener("unhandledrejection",()=>{_c.push({url:dc(location.href),tag:"window",type:"unhandled_rejection"}),_c.length>30&&_c.shift()}))}),kc={};function Ac(e,t){let n=new URL(location.href),i=Object.entries(e).filter(([e,t])=>e&&t),r={};for(let[e,t]of i)r[e]=t;let a=function(e){return Object.entries(e).map(([e,t])=>`${e}:${t}`).join(",")}(r);return a&&n.searchParams.set("drip_force",a),1===i.length?(n.searchParams.set("drip_experiment_id",i[0][0]),n.searchParams.set("drip_variation_id",i[0][1])):(n.searchParams.delete("drip_experiment_id"),n.searchParams.delete("drip_variation_id")),n.searchParams.set("drip_qa","1"),n.searchParams.set("drip_debug","1"),t&&n.searchParams.set("drip_qa_session",t),n.toString()}function Mc(e,t){try{history.replaceState(null,"",Ac(e,t))}catch{}}function Cc(e){if(document.getElementById($c))return;let t=document.createElement("div");t.id=$c;let n=t.attachShadow({mode:"closed"}),i=document.createElement("style");i.textContent=Tc,n.appendChild(i);let r=document.createElement("div");r.className="toolbar";let a=document.createElement("div");a.className="header";let o=document.createElement("span");o.className="badge",o.textContent="QA Preview";let s=document.createElement("div");s.style.cssText="display:flex;gap:6px;align-items:center;";let l=document.createElement("button");l.className="collapse-btn",l.textContent="−",l.title="Collapse";let c=!1;l.addEventListener("click",()=>{c=!c,r.classList.toggle("collapsed",c),l.textContent=c?"+":"−"});let u=document.createElement("button");u.className="exit-btn",u.textContent="Exit QA",u.addEventListener("click",e.onExitQa),s.appendChild(l),s.appendChild(u),a.appendChild(o),a.appendChild(s),r.appendChild(a);let d=document.createElement("div");d.className="body";let p=function(e){let t={...e.forceMap??{}};for(let n of e.assignments)t[n.experimentId]||(t[n.experimentId]=n.variationId);return t}(e),f=e.assignments.find(e=>e.harnessSession);if(f?.harnessSession){let t=document.createElement("div");t.className="harness";let n=document.createElement("div");n.className="harness-title",n.textContent=`Harness v${f.harnessSession.version??0}`,t.appendChild(n);let i=document.createElement("div");i.className="harness-actions";let r=document.createElement("button");r.className="tool-btn",r.textContent="Reload latest",r.addEventListener("click",()=>e.onReloadLatest?.());let a=document.createElement("button");a.className="tool-btn",a.textContent="Exit harness",a.addEventListener("click",()=>e.onExitHarness?.()),i.appendChild(r),i.appendChild(a),t.appendChild(i),d.appendChild(t)}if(0===e.experiments.length){let e=document.createElement("div");e.className="no-experiments",e.textContent="No experiments on this page",d.appendChild(e)}else{let t=document.createElement("div");t.className="debug-actions";let n=document.createElement("button");n.className="tool-btn",n.type="button",n.textContent="Copy debug link",n.title="Copy a forced QA URL with experiment and variation ids",n.addEventListener("click",()=>{let t=n.textContent;(async function(e){if(navigator.clipboard?.writeText)return void await navigator.clipboard.writeText(e);let t=document.createElement("textarea");t.value=e,t.style.position="fixed",t.style.opacity="0",document.body.appendChild(t),t.select(),document.execCommand("copy"),document.body.removeChild(t)})(Ac(p,e.qaSessionId)).then(()=>{n.textContent="Copied",window.setTimeout(()=>{n.textContent=t},1600)}).catch(()=>{n.textContent="Copy failed",window.setTimeout(()=>{n.textContent=t},1600)})});let i=document.createElement("button");if(i.className="tool-btn",i.type="button",i.textContent="Open debug panel",i.title="Enable Apex debug tools and reload this forced variation",i.addEventListener("click",()=>{try{localStorage.setItem("drip_devtools","1")}catch{}Mc(p,e.qaSessionId),location.reload()}),t.appendChild(n),t.appendChild(i),d.appendChild(t),e.qaSessionId){let t=document.createElement("div");t.className="session";let n=document.createElement("div");n.className="session-label",n.textContent="QA session";let i=document.createElement("div");i.className="session-id",i.textContent=e.qaSessionId,i.title=e.qaSessionId,t.appendChild(n),t.appendChild(i),d.appendChild(t)}for(let t of e.experiments){let n=document.createElement("div");n.className="experiment";let i=document.createElement("div");i.className="exp-name",i.textContent=t.id,i.title=t.id,n.appendChild(i);let r=document.createElement("select");r.className="var-select";let a=e.forceMap?.[t.id],o=p[t.id],s=e.assignments.find(e=>e.experimentId===t.id);for(let e of t.variations){let t=document.createElement("option");t.value=e.id;let n=e.isControl?"(Control)":"Variation";t.textContent=`${n} — ${e.id.slice(0,8)}`,(o===e.id||a===e.id||!o&&!a&&s?.variationId===e.id)&&(t.selected=!0),r.appendChild(t)}r.addEventListener("change",()=>{p[t.id]=r.value,Mc(p,e.qaSessionId),e.onSwitchVariation(t.id,r.value)}),n.appendChild(r),d.appendChild(n)}}r.appendChild(d),n.appendChild(r),document.body.appendChild(t)}function Ec(){let e=document.getElementById($c);e&&e.remove()}a(kc,{mountQaToolbar:()=>Cc,unmountQaToolbar:()=>Ec});var $c,Tc,Pc=r(()=>{$c="drip-qa-toolbar",Tc='\n :host {\n all: initial;\n position: fixed;\n bottom: 16px;\n right: 16px;\n z-index: 2147483647;\n font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;\n }\n .toolbar {\n background: #1a1a2e;\n border: 1px solid rgba(139, 92, 246, 0.4);\n border-radius: 12px;\n padding: 12px 16px;\n color: #e2e8f0;\n font-size: 13px;\n box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);\n min-width: 260px;\n max-width: 360px;\n }\n .header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: 10px;\n padding-bottom: 8px;\n border-bottom: 1px solid rgba(255, 255, 255, 0.1);\n }\n .badge {\n background: #8b5cf6;\n color: #fff;\n font-size: 10px;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n padding: 3px 8px;\n border-radius: 4px;\n }\n .exit-btn {\n background: rgba(239, 68, 68, 0.15);\n color: #ef4444;\n border: 1px solid rgba(239, 68, 68, 0.3);\n border-radius: 6px;\n padding: 4px 10px;\n font-size: 11px;\n font-weight: 600;\n cursor: pointer;\n transition: background 0.15s;\n }\n .exit-btn:hover {\n background: rgba(239, 68, 68, 0.25);\n }\n .tool-btn {\n background: rgba(83, 193, 222, 0.12);\n color: #7dd3fc;\n border: 1px solid rgba(125, 211, 252, 0.25);\n border-radius: 6px;\n padding: 4px 8px;\n font-size: 11px;\n font-weight: 600;\n cursor: pointer;\n }\n .debug-actions {\n display: flex;\n gap: 6px;\n margin-bottom: 10px;\n }\n .debug-actions .tool-btn {\n flex: 1;\n min-width: 0;\n }\n .harness {\n border: 1px solid rgba(125, 211, 252, 0.25);\n border-radius: 8px;\n padding: 8px;\n margin-bottom: 10px;\n color: #bae6fd;\n background: rgba(14, 116, 144, 0.12);\n }\n .harness-title {\n font-size: 11px;\n font-weight: 700;\n margin-bottom: 6px;\n text-transform: uppercase;\n }\n .harness-actions {\n display: flex;\n gap: 6px;\n }\n .session {\n border: 1px solid rgba(255, 255, 255, 0.1);\n border-radius: 8px;\n padding: 7px 8px;\n margin-bottom: 10px;\n background: rgba(255, 255, 255, 0.04);\n }\n .session-label {\n color: #94a3b8;\n font-size: 10px;\n font-weight: 700;\n letter-spacing: 0.04em;\n margin-bottom: 3px;\n text-transform: uppercase;\n }\n .session-id {\n color: #e2e8f0;\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;\n font-size: 11px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .experiment {\n margin-bottom: 8px;\n }\n .experiment:last-child {\n margin-bottom: 0;\n }\n .exp-name {\n font-size: 12px;\n color: #94a3b8;\n margin-bottom: 4px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n .var-select {\n width: 100%;\n background: rgba(255, 255, 255, 0.06);\n border: 1px solid rgba(255, 255, 255, 0.12);\n border-radius: 6px;\n color: #e2e8f0;\n font-size: 13px;\n padding: 6px 8px;\n cursor: pointer;\n outline: none;\n appearance: none;\n -webkit-appearance: none;\n }\n .var-select:focus {\n border-color: #8b5cf6;\n }\n .var-select option {\n background: #1a1a2e;\n color: #e2e8f0;\n }\n .no-experiments {\n color: #64748b;\n font-size: 12px;\n font-style: italic;\n }\n .collapse-btn {\n background: none;\n border: none;\n color: #94a3b8;\n cursor: pointer;\n font-size: 16px;\n padding: 0 4px;\n line-height: 1;\n }\n .collapsed .body {\n display: none;\n }\n .collapsed .toolbar {\n min-width: auto;\n }\n'});function zc(){let e=jc([],{kind:"unsupported"}),t=new Set,n=null,i=!1;function r(n){e=n,function(){for(let n of t)n(e)}()}function a(){let t=function(){let e=vf(),t=function(e,t){return t.map(t=>({experimentName:Vc(e,t.experimentId),variationName:Wc(e,t.experimentId,t.variationId)}))}(e.config?.experiments??[],e.assignments);if(e.orderIdentity)return{kind:"order",orderNumber:e.orderIdentity.orderNumber??e.orderIdentity.platformOrderId,attribution:t,serverReceipt:"unknown"};let n="shopify"===e.platform||"shopify"===e.config?.platformHint||"shopify"===e.config?.profile?.platform,i=typeof window<"u"&&!!window.Shopify;return n&&i?{kind:"shopify",cartStamped:!1,variationName:Hc(e.config?.experiments??[],e.assignments),stampedAt:null,attribution:t}:{kind:"unsupported"}}();r(jc(e.events,t)),async function(t){if("shopify"!==t.kind)return;let a=vf(),o=a.assignments.map(e=>`${e.experimentId}:${e.variationId}`).sort().join("|");if(n===o)return;n=o;let s=await async function(){if("function"!=typeof fetch)return null;try{let e=await fetch("/cart.js",{headers:{Accept:"application/json"}});if(!e.ok)return null;let t=await e.json();return t&&"object"==typeof t&&!Array.isArray(t)?t:null}catch{return null}}();i||n!==o||r(jc(e.events,{...t,cartStamped:Jc(s,a.assignments),variationName:Bc(s,a.config?.experiments??[]),stampedAt:null}))}(t)}let o=yf(a),s=_l(t=>{let n=function(e){if("track"!==e.type)return null;let t=e.detail??{},n=function(e,t){return"experiment_viewed"===e||"personalization_rendered"===e?"exposure":"pageview"===e||"experiment_pageview"===e?"pageview":"goal"===e?"__revenue__"===t.goalId||void 0!==t.revenue?"revenue":"goal":null}(e.label,t);return n?{at:e.ts,type:n,label:Xc(n,e.label,t),value:Yc(n,t)}:null}(t);if(!n)return;let i=function(e,t){let n;for(let i=e.length-1;i>=0;i-=1){let r=e[i];if(r.type===t.type&&r.label===t.label&&t.at-r.at<=1500){n=r;break}}return[...e,n?{...t,duplicateOf:n.at}:t].slice(-100)}(e.events,n);r(jc(i,e.transactions))});return a(),{getState:()=>e,subscribe:e=>(t.add(e),()=>{t.delete(e)}),forceVariation(e,t){xf(e,t)},resetForce(e){bf(e)},exitQa(){i=!0,o(),s(),Ee(),function(){if(typeof document>"u")return;let e=["#drip-qa-assistant-host","#apex-qa-assistant-host","[data-drip-qa-assistant-host]"];for(let t of e)document.querySelectorAll(t).forEach(e=>e.remove())}()}}}function jc(e,t){let n=vf();return{experiments:Lc(n.config?.experiments??[],n.assignments,n.activationDiagnostics.experiments),events:e,transactions:t,forcedSummary:Gc(n.config?.experiments??[],n.forceMap)}}function Lc(e,t,n){let i=new Map(t.map(e=>[e.experimentId,e])),r=new Map(n.map(e=>[e.experimentId,e]));return e.map(e=>{let t=i.get(e.id)??null,n=r.get(e.id)??null,a=t?e.variations.find(e=>e.id===t.variationId)??null:null,o=a?Kc(a,e.variations.indexOf(a)):null,s=!!n?.forced&&!!t,l=(n?.targetingConditions??[]).map(Dc),c=l.filter(e=>"pages"===e.group),u=l.filter(e=>"audience"===e.group);return{id:e.id,name:e.name||Qc(e.id),variationId:t?.variationId??null,variationName:o,applied:!!t,forced:s,triggerPill:Fc(c,"all pages",n?.gates.find(e=>"page"===e.id)),segmentPill:Fc(u,"all visitors",n?.gates.find(e=>"audience"===e.id)),displayFrequencyPill:Oc(n),subline:qc(!!t,s,o,l,n),conditions:l,variations:e.variations.map((e,n)=>({id:e.id,name:Kc(e,n),isControl:!!e.isControl,isCurrent:e.id===t?.variationId,isReal:!0}))}})}function qc(e,t,n,i,r){if(e)return`${t?"Forced to":"Showing"} ${n??"variation"}`;let a=i.find(e=>"fail"===e.state||"error"===e.state);return a?a.text:r?.reason||"Not applied"}function Dc(e){let t=e.reason??"",n="js"===e.sourceType&&t.startsWith("js_error");return{id:e.id,group:"attribute"===e.sourceType||"segment"===e.sourceType||e.id.startsWith("segment:")||e.id.startsWith("attribute:")?"audience":"pages",state:n?"error":"passed"===e.status?"pass":"failed"===e.status?"fail":"skip",text:Nc(e),detail:Rc(e,n),rawCode:"js"===e.sourceType?e.source??null:null}}function Nc(e){return"js"===e.sourceType?"Custom JS trigger":"attribute"!==e.sourceType&&"segment"!==e.sourceType||!e.signal?e.label||e.source||e.id:`${e.signal} ${e.operator??"matches"}`}function Rc(e,t){if(t)return(e.reason??"").replace(/^js_error:\s*/,"")||"JavaScript error";if("skipped"===e.status)return`Skipped — ${e.reason||"an earlier gate"} failed first`;let n=[];return e.signal&&n.push(`Signal: ${e.signal}`),e.operator&&n.push(`Operator: ${e.operator}`),"page_rule"===e.sourceType&&e.source&&n.push(`Rules: ${e.source}`),"js"===e.sourceType&&function(e){if("string"!=typeof e)return!1;try{let t=JSON.parse(e);return Array.isArray(t)&&t.length>0&&t.every(e=>"object"==typeof e&&null!==e&&"pattern"in e)}catch{return!1}}(e.expected)?n.push(`Rules: ${Zc(e.expected)}`):void 0!==e.expected&&n.push(`Expected: ${Zc(e.expected)}`),void 0!==e.actual&&n.push(`Actual: ${Zc(e.actual)}`),n.length?n.join(" · "):e.reason??null}function Fc(e,t,n){let i="all pages"===t?"no_page_rules":"no_audience_rules";return"skipped"===n?.status&&n.reason===i?t:"skipped"===n?.status?"not evaluated":"passed"===n?.status?"accepted":"failed"===n?.status?"rejected":0===e.length||e.every(e=>"skip"===e.state)?"not evaluated":e.some(e=>"fail"===e.state||"error"===e.state)?"rejected":"accepted"}function Oc(e){if("personalization_stopped_after_prior_match"===e?.reason)return"personalization stop";if("exclusion_group_overlap_lost"===e?.reason||"exclusion_group_sticky_other"===e?.reason)return"excluded by overlap";if(e?.forced||"forced_variation"===e?.reason)return"forced";if("outside_allocation"===e?.reason)return"outside traffic %";if(e?.reason?.startsWith("status_"))return"not running";let t=e?.gates.find(e=>"traffic"===e.id);return"passed"===t?.status?"accepted":"failed"===t?.status?"outside traffic %":"skipped"===t?.status&&"forced_variation"===t.reason?"forced":"not evaluated"}function Uc(e){let t=function(e){let t=e?.attributes;return t&&"object"==typeof t&&!Array.isArray(t)?t:{}}(e),n=t.apex_assignments;if("string"==typeof n)try{let e=JSON.parse(n);if(Array.isArray(e))return e.map(e=>({experimentId:"string"==typeof e?.e?e.e:"",variationId:"string"==typeof e?.v?e.v:""})).filter(e=>e.experimentId&&e.variationId)}catch{}let i="string"==typeof t.apex_experiment_id?t.apex_experiment_id:"",r="string"==typeof t.apex_variation_id?t.apex_variation_id:"";return i&&r?[{experimentId:i,variationId:r}]:[]}function Jc(e,t){let n=Uc(e);if(!n.length||!t.length)return!1;let i=new Set(t.map(e=>`${e.experimentId}:${e.variationId}`));return n.some(e=>i.has(`${e.experimentId}:${e.variationId}`))}function Bc(e,t){let[n]=Uc(e);return n?Wc(t,n.experimentId,n.variationId):null}function Gc(e,t){let n=Object.entries(t??{});return n.length?n.map(([t,n])=>`${Vc(e,t)}: ${Wc(e,t,n)??Qc(n)}`).join(", "):null}function Hc(e,t){let[n]=t;return n?Wc(e,n.experimentId,n.variationId):null}function Vc(e,t){return e.find(e=>e.id===t)?.name||Qc(t)}function Wc(e,t,n){let i=e.find(e=>e.id===t),r=i?.variations.findIndex(e=>e.id===n)??-1,a=r>=0?i?.variations[r]:null;return a?Kc(a,r):Qc(n)}function Kc(e,t){return e.name||(e.isControl?"Control":Qc(e.id||`variation-${t+1}`))}function Qc(e){return e.length>12?e.slice(0,8):e}function Xc(e,t,n){if("goal"===e)return"string"==typeof n.goalId?n.goalId:"Goal";if("revenue"===e)return"Revenue";if("pageview"===e)return"string"==typeof n.path?n.path:"Pageview";let i=vf(),r="string"==typeof n.experimentId?n.experimentId:"",a="string"==typeof n.variationId?n.variationId:"",o=r?Vc(i.config?.experiments??[],r):"Exposure",s=r&&a?Wc(i.config?.experiments??[],r,a):null;return s?`${o} / ${s}`:o||t}function Yc(e,t){if("revenue"!==e)return null;let n=t.revenue,i="string"==typeof t.currency?t.currency.trim().toUpperCase():"";return"number"==typeof n&&Number.isFinite(n)?i?`${eu(n)} ${i}`:eu(n):i&&null!=n?`${String(n)} ${i}`:null==n?null:String(n)}function Zc(e){if("string"==typeof e)return e;if("number"==typeof e||"boolean"==typeof e||null==e)return String(e);try{return JSON.stringify(e)}catch{return String(e)}}function eu(e){return Number.isInteger(e)?String(e):e.toFixed(2)}var tu=r(()=>{Re(),Pl(),Um()});function nu(e,t,n=1.6){return`<svg width="${t}" height="${t}" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="${n}" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink:0"><path d="${e}"/></svg>`}function iu(e){return String(e??"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}function ru(e){let t=new Date(e),n=e=>String(e).padStart(2,"0");return`${n(t.getHours())}:${n(t.getMinutes())}:${n(t.getSeconds())}`}function au(e,t){return`<span class="chip chip-${t}">${iu(e)}</span>`}function ou(e,t,n){let i={pass:{d:xu.check,cls:"var(--pos)",bg:"var(--pos-soft)",label:"Passed"},fail:{d:xu.x,cls:"var(--neg)",bg:"var(--neg-soft)",label:"Failed"},skip:{d:xu.minus,cls:"var(--t4)",bg:"rgba(255,255,255,0.05)",label:"Skipped"},error:{d:xu.alert,cls:"var(--neg)",bg:"var(--neg-soft)",label:"Error"}}[t.state],r=`${e}:${t.id}`,a="skip"===t.state?function(e){return e&&e.replace(/Skipped — (\S+) failed first/,(e,t)=>{let n=bu[t];return n?`Skipped — ${n} failed first`:"Skipped — an earlier rule failed first"})}(t.detail):t.detail,o="";if(t.rawCode){let e=n.has(r);o=`\n <div class="codeblk">\n <button class="codeblk-head" data-action="toggle-code" data-key="${iu(r)}">\n ${nu(xu.code,10.5)}<span class="t">Custom JS trigger — raw code</span>\n <span class="cv">${nu(e?xu.chevUp:xu.chevD,10)}</span>\n </button>\n ${e?`<pre>${iu(t.rawCode)}</pre>`:""}\n </div>`}return`\n <div class="cond">\n <div class="cond-row">\n <span class="cond-dot" style="background:${i.bg};color:${i.cls}">${nu(i.d,9,2.4)}</span>\n <span class="cond-text">${iu(t.text)}</span>\n <span class="cond-state" style="color:${i.cls}">${i.label}</span>\n </div>\n ${a?`<div class="cond-detail">${iu(a)}</div>`:""}\n ${o}\n </div>`}function su(e,t){let n=t.expanded.has(e.id),i=e.forced?au("Forced","forced"):e.applied?au("Applied","applied"):au("Not applied","off"),r="";if(n){let n="";n=e.forced?`\n <div class="varpick">${e.variations.map(t=>`\n <button class="varopt" data-on="${t.isCurrent}" data-action="pick-variation" data-exp="${iu(e.id)}" data-var="${iu(t.id)}">\n <span class="radio"></span>\n <span class="nm">${iu(t.name)}</span>\n <span class="note">${t.isCurrent?"Forced now":t.isReal?"Your real assignment":""}</span>\n </button>`).join("")}</div>\n <div class="note-line">Forcing only changes what you see — it never writes to results.</div>\n <button class="act-btn" data-action="reset-force" data-exp="${iu(e.id)}">Reset to real assignment</button>`:e.variations.length>1?`<button class="act-btn" data-action="open-force" data-exp="${iu(e.id)}">Force this variation</button>`:"";let i=e.conditions.filter(e=>"pages"===e.group).map(n=>ou(e.id,n,t.codeOpen)).join(""),a=e.conditions.filter(e=>"audience"===e.group).map(n=>ou(e.id,n,t.codeOpen)).join("");r=`<div class="exp-detail">\n <div class="cond-group">Pages · Trigger</div>${i||`<div class="cond-detail">${"not evaluated"===e.triggerPill?"Not evaluated":"accepted"===e.triggerPill?"Matched on this page (rule detail unavailable)":"rejected"===e.triggerPill?"Did not match this page (rule detail unavailable)":"All pages"}</div>`}\n <div class="cond-group">Audience · Segment</div>${a||`<div class="cond-detail">${"not evaluated"===e.segmentPill?"Not evaluated":"accepted"===e.segmentPill?"Matched for this visitor (rule detail unavailable)":"rejected"===e.segmentPill?"Did not match this visitor (rule detail unavailable)":"All visitors"}</div>`}\n <div class="cond-group">Display frequency</div><div class="cond-detail">${iu(e.displayFrequencyPill)}</div>\n ${n}</div>`}return`\n <div class="exp">\n <button class="exp-head" data-open="${n}" data-action="toggle-exp" data-exp="${iu(e.id)}">\n <span class="cv">${nu(n?xu.chevD:xu.chevR,11)}</span>\n <span class="exp-main">\n <span class="exp-name" style="display:block">${iu(e.name)}</span>\n <span class="exp-sub" style="display:block">${iu(e.subline)}</span>\n <span class="pills">\n <span class="rule-pill" data-state="${iu(e.triggerPill)}">Trigger: ${iu(e.triggerPill)}</span>\n <span class="rule-pill" data-state="${iu(e.segmentPill)}">Segment: ${iu(e.segmentPill)}</span>\n <span class="rule-pill" data-state="${iu(e.displayFrequencyPill)}">Display: ${iu(e.displayFrequencyPill)}</span>\n </span>\n </span>\n ${i}\n </button>\n ${r}\n </div>`}function lu(e,t){let n=t.search.trim().toLowerCase(),i=e.experiments.filter(e=>{let i="all"===t.pageFilter||("on"===t.pageFilter?"accepted"===e.triggerPill||"all pages"===e.triggerPill:"rejected"===e.triggerPill),r="all"===t.statusFilter||("forced"===t.statusFilter?e.forced:"accepted"===t.statusFilter?e.applied&&!e.forced:!e.applied&&!e.forced);return i&&r&&(!n||e.name.toLowerCase().includes(n)||e.id.toLowerCase().includes(n))}),r=i.filter(e=>e.applied||e.forced),a=i.filter(e=>!e.applied&&!e.forced),o=`<div class="filters">\n <select data-action="page-filter"><option value="all">On or off this page</option><option value="on" ${"on"===t.pageFilter?"selected":""}>On this page</option><option value="off" ${"off"===t.pageFilter?"selected":""}>Not on this page</option></select>\n <select data-action="status-filter"><option value="all">All</option><option value="accepted" ${"accepted"===t.statusFilter?"selected":""}>Applied</option><option value="rejected" ${"rejected"===t.statusFilter?"selected":""}>Not applied</option><option value="forced" ${"forced"===t.statusFilter?"selected":""}>Forced</option></select>\n <input data-action="search" aria-label="Search campaigns" placeholder="Search name or ID" value="${iu(t.search)}">\n </div>`,s=e.experiments.filter(e=>!e.applied&&!e.forced).length,l="";if(e.experiments.length>0&&0===s)l=`<div class="sumline" style="color:var(--t2)"><span style="color:var(--pos);display:inline-flex">${nu(xu.check,12,2.2)}</span>All ${e.experiments.length} experiment${1===e.experiments.length?"":"s"} apply on this page.</div>`;else if(e.experiments.length>0&&s===e.experiments.length)l=`<div class="sumline" style="color:var(--t2)"><span style="color:var(--warn);display:inline-flex">${nu(xu.alert,12)}</span>Nothing runs on this page — every experiment was rejected.</div>`;else if(0===e.experiments.length)return o+`<div class="empty">\n <div class="icon">${nu(xu.target,16)}</div>\n <div class="h">No experiments on this shop yet</div>\n <div class="s">Running and draft experiments show up here when the QA link opens a page they could target.</div>\n </div>`;return o+l+(r.length?`<div class="grp"><span class="l">Applied</span><span class="n">${r.length}</span></div>`+r.map(e=>su(e,t)).join(""):"")+(a.length?`<div class="grp"><span class="l">Not applied</span><span class="n">${a.length}</span></div>`+a.map(e=>su(e,t)).join(""):"")}function cu(e){let t={exposure:{fg:"var(--p200)",bg:"var(--p-soft)",bd:"var(--p-bd)",label:"Exposure"},goal:{fg:"var(--info)",bg:"var(--info-soft)",bd:"var(--info-bd)",label:"Goal"},revenue:{fg:"var(--pos)",bg:"var(--pos-soft)",bd:"var(--pos-bd)",label:"Revenue"},pageview:{fg:"var(--t3)",bg:"rgba(255,255,255,0.05)",bd:"var(--bd-hi)",label:"Pageview"}}[e.type],n=null!=e.duplicateOf;return`\n <div class="ev" data-dup="${n}">\n <div class="ev-row">\n <span class="ev-t">${ru(e.at)}</span>\n <span class="ev-type" style="color:${t.fg};background:${t.bg};border:1px solid ${t.bd}">${t.label}</span>\n <span class="ev-label">${iu(e.label)}</span>\n ${e.value?`<span class="ev-val">${iu(e.value)}</span>`:""}\n <span class="qatag">QA</span>\n </div>\n ${n?`<div class="ev-dup">${nu(xu.alert,11)}Fired twice within a second — likely a double-bound click handler</div>`:""}\n </div>`}function uu(e){let t='\n <div class="live">\n <span class="dot"></span>\n <span class="t">Live · this browser only · every event is QA-tagged</span>\n <button class="clear" data-action="clear-events">Clear</button>\n </div>';return 0===e.events.length?t+`<div class="empty">\n <div class="icon">${nu(xu.activity,16)}</div>\n <div class="h">No events yet</div>\n <div class="s">Click around the page — exposures, goals and revenue show up here the moment they fire.</div>\n </div>`:t+[...e.events].sort((e,t)=>t.at-e.at).slice(0,80).map(cu).join("")}function du(e){return e.length?`\n <div class="grp"><span class="l">Attribution by experiment</span></div>\n <div style="padding:0 2px">\n ${e.map(e=>`\n <div class="attr-row">\n <span class="nm">${iu(e.experimentName)}</span>\n <span class="vr" data-none="${null==e.variationName}">${iu(e.variationName??"Not in experiment")}</span>\n </div>`).join("")}\n </div>`:""}function pu(e){if("unsupported"===e.kind)return"";if("shopify"===e.kind){let t=e.cartStamped?`Your cart is stamped with <span style="color:var(--p200)">${iu(e.variationName??"your variation")}</span>`:"No cart stamp yet — add something to the cart first",n=e.stampedAt?`Cart attribute written ${ru(e.stampedAt)}`:"The stamp is written when the cart updates";return`\n <div class="tx">\n <div class="tx-card">\n <div class="row"><span style="color:var(--p200);display:inline-flex">${nu(xu.checkSquare,14)}</span><span class="h">${t}</span></div>\n <div class="meta">${iu(n)}</div>\n </div>\n ${du(e.attribution)}\n <div class="infonote">\n <span style="color:var(--p200);display:inline-flex;margin-top:1px">${nu(xu.help,13)}</span>\n <span class="t">Shopify’s checkout runs in a sandbox we can’t see into. Your final order confirmation appears in the dashboard once Shopify sends the order back.</span>\n </div>\n </div>`}let t="confirmed"===e.serverReceipt?`<div class="receipt ok">${nu(xu.check,13,2.4)}<div><div class="h">Server receipt · Confirmed</div><div class="s">Our backend received this order.</div></div></div>`:`<div class="receipt pending">${nu(xu.clock,13)}<div><div class="h">Server receipt · Pending…</div><div class="s">Waiting for our backend to receive this order.</div></div></div>`,n=e.orderNumber?`Order ${iu(e.orderNumber)}`:"Waiting for your test checkout";return`\n <div class="tx">\n <div class="tx-card">\n <div class="row"><span style="color:var(--t3);display:inline-flex">${nu(xu.store,14)}</span><span class="h">${n}</span>${e.orderNumber?au("Detected","applied"):""}</div>\n <div class="meta">${e.orderNumber?"Your test checkout on this browser":"Complete a checkout in this browser and it shows up here"}</div>\n </div>\n ${du(e.attribution)}\n ${e.orderNumber?t:""}\n </div>`}function fu(e){let t="unsupported"===e.transactions.kind;return[{id:"exp",label:"Campaigns",count:e.experiments.length},{id:"ev",label:"Events",count:e.events.length},...t?[]:[{id:"tx",label:"Transactions",count:"order"===e.transactions.kind&&e.transactions.orderNumber?1:0}]]}function mu(e,t){return e.map(e=>`<button class="tab" data-on="${e.id===t}" data-action="tab" data-tab="${e.id}">${e.label}<span class="n">${e.count}</span></button>`).join("")}function gu(e){return e.forcedSummary?`<div class="forced-bar">${nu(xu.bolt,12)}<span class="txt">${iu(e.forcedSummary)}</span><button class="reset" data-action="reset-force">Reset</button></div>`:""}function hu(e){return`<svg width="${e}" height="${e}" viewBox="0 0 120 120" fill="none" style="flex-shrink:0">\n <defs><mask id="qa-op-cut"><rect width="120" height="120" fill="#fff"/><rect x="0" y="68" width="120" height="6" fill="#000"/></mask></defs>\n <path d="M60 14 C92 14 106 36 106 60 C106 84 92 106 60 106 C28 106 14 84 14 60 C14 36 28 14 60 14 Z M60 38 C46 38 38 48 38 60 C38 72 46 82 60 82 C74 82 82 72 82 60 C82 48 74 38 60 38 Z" fill="#fff" fill-rule="evenodd" mask="url(#qa-op-cut)"/>\n <rect x="92" y="92" width="14" height="14" rx="2" fill="#5B29FF"/>\n </svg>`}var vu,yu,xu,bu,wu,_u=r(()=>{vu="drip-qa-assistant-host",yu="drip_qa_assistant_min",xu={check:"M5 13l4 4L19 7",x:"M18 6L6 18M6 6l12 12",minus:"M5 12h14",alert:"M10.3 3.9L1.8 18a2 2 0 001.7 3h17a2 2 0 001.7-3L13.7 3.9a2 2 0 00-3.4 0zM12 9v4M12 17h.01",chevR:"M9 6l6 6-6 6",chevD:"M6 9l6 6 6-6",chevUp:"M18 15l-6-6-6 6",bolt:"M13 2L3 14h7l-1 8 10-12h-7l1-8z",eyeOff:"M17.9 17.9A10 10 0 016.1 6.1M9.9 4.2A10.6 10.6 0 0122 12a17 17 0 01-3.2 3.7M3 3l18 18M14.1 14.1a3 3 0 01-4.2-4.2M2 12a17 17 0 013.8-4.3",clock:"M12 22a10 10 0 100-20 10 10 0 000 20zM12 7v5l3 2",store:"M3 9l1.5-5h15L21 9M4 9v10a1 1 0 001 1h14a1 1 0 001-1V9M3 9h18M9 20v-6h6v6",target:"M12 2a10 10 0 100 20 10 10 0 000-20zM12 7a5 5 0 100 10 5 5 0 000-10zM12 11a1 1 0 100 2 1 1 0 000-2z",checkSquare:"M9 11l3 3L20 6M21 12v7a2 2 0 01-2 2H5a2 2 0 01-2-2V5a2 2 0 012-2h11",help:"M12 22a10 10 0 100-20 10 10 0 000 20zM9.2 9.2a3 3 0 015.6 1.3c0 2-3 2.5-3 4M12 17.5h.01",activity:"M22 12h-4l-3 8L9 4l-3 8H2",code:"M16 18l6-6-6-6M8 6l-6 6 6 6"},bu={url_mismatch:"page rules",url_exclude_matched:"page rules",page_rule_failed:"page rules",segment_mismatch:"the audience rule",segment_and_failed:"the audience rule",attribute_mismatch:"the audience rule",js_false:"the custom JS trigger",js_error:"the custom JS trigger"},wu='\n:host { all: initial; }\n* { box-sizing: border-box; margin: 0; }\n.root {\n --bg1: #0A0A0C; --panel: #0C0C10; --raised: #141419; --inset: #0B0B0E;\n --bd: rgba(255,255,255,0.06); --bd-hi: rgba(255,255,255,0.10); --bd-px: rgba(255,255,255,0.14);\n --t1: #FAFAFA; --t2: rgba(255,255,255,0.66); --t3: rgba(255,255,255,0.42); --t4: rgba(255,255,255,0.26);\n --p500: #5B29FF; --p400: #7C54FF; --p200: #C8B4FF;\n --p-soft: rgba(91,41,255,0.14); --p-bd: rgba(124,84,255,0.34);\n --pos: #3DD68C; --pos-soft: rgba(61,214,140,0.14); --pos-bd: rgba(61,214,140,0.26);\n --warn: #F59E0B; --warn-soft: rgba(245,158,11,0.12); --warn-bd: rgba(245,158,11,0.26);\n --neg: #EB5252; --neg-soft: rgba(235,82,82,0.10); --neg-bd: rgba(235,82,82,0.26);\n --info: #1DDFEC; --info-soft: rgba(29,223,236,0.10); --info-bd: rgba(29,223,236,0.22);\n font-family: Inter, system-ui, sans-serif;\n position: fixed; right: 24px; bottom: 24px; z-index: 2147483000;\n color: var(--t1); font-size: 12px; line-height: 1.45; letter-spacing: -0.01em;\n -webkit-font-smoothing: antialiased;\n}\nbutton { font-family: inherit; background: none; border: 0; padding: 0; color: inherit; cursor: pointer; text-align: left; }\n.panel {\n width: 380px; max-height: min(72vh, 640px); display: flex; flex-direction: column;\n border-radius: 14px; background: var(--panel); border: 1px solid var(--bd-px);\n box-shadow: 0 32px 80px rgba(0,0,0,0.6), 0 8px 24px rgba(0,0,0,0.4); overflow: hidden;\n}\n.hdr { padding: 11px 12px 10px 14px; border-bottom: 1px solid var(--bd); flex-shrink: 0; }\n.hdr-row { display: flex; align-items: center; gap: 9px; }\n.mark { width: 24px; height: 24px; border-radius: 6px; flex-shrink: 0; background: linear-gradient(135deg,#1A1A21,#0E0E12);\n border: 1px solid var(--bd-hi); display: flex; align-items: center; justify-content: center; }\n.hdr-title { font-size: 13px; font-weight: 600; white-space: nowrap; }\n.hdr-sub { font-size: 11px; color: var(--t3); margin-top: 6px; }\n.hdr-actions { margin-left: auto; display: flex; align-items: center; gap: 4px; }\n.chip { display: inline-flex; align-items: center; gap: 5px; height: 19px; padding: 0 7px; border-radius: 6, ; border-radius: 6px;\n font-size: 10.5px; font-weight: 600; white-space: nowrap; flex-shrink: 0; }\n.chip::before { content: ""; width: 4.5px; height: 4.5px; border-radius: 50%; background: currentColor; }\n.chip-applied { background: var(--pos-soft); border: 1px solid var(--pos-bd); color: var(--pos); }\n.chip-off { background: rgba(255,255,255,0.05); border: 1px solid var(--bd-hi); color: var(--t3); }\n.chip-forced { background: var(--p-soft); border: 1px solid var(--p-bd); color: var(--p200); }\n.btn-ghost { height: 24px; padding: 0 9px; border-radius: 7px; border: 1px solid var(--bd-hi); color: var(--t2);\n font-size: 11px; font-weight: 600; white-space: nowrap; display: inline-flex; align-items: center; }\n.btn-icon { width: 24px; height: 24px; border-radius: 7px; display: inline-flex; align-items: center; justify-content: center; color: var(--t3); }\n.btn-icon:hover, .btn-ghost:hover { background: rgba(255,255,255,0.05); }\n.forced-bar { display: flex; align-items: center; gap: 8px; padding: 7px 14px; background: var(--p-soft);\n border-bottom: 1px solid var(--p-bd); flex-shrink: 0; color: var(--p200); }\n.forced-bar .txt { font-size: 11px; font-weight: 600; flex: 1; min-width: 0; }\n.forced-bar .reset { font-size: 11px; font-weight: 600; color: var(--t1); white-space: nowrap; }\n.tabs { display: flex; padding: 0 8px; border-bottom: 1px solid var(--bd); background: rgba(255,255,255,0.015); flex-shrink: 0; }\n.tab { display: inline-flex; align-items: center; gap: 6px; padding: 10px 9px 9px; font-size: 12px; font-weight: 600;\n color: var(--t3); white-space: nowrap; }\n.tab[data-on="true"] { color: var(--t1); box-shadow: inset 0 -2px 0 var(--p400); }\n.tab .n { font-size: 10px; font-weight: 600; color: var(--t4); }\n.tab[data-on="true"] .n { color: var(--p200); }\n.body { overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; }\n.ftr { display: flex; align-items: center; padding: 8px 14px; border-top: 1px solid var(--bd); background: var(--bg1); flex-shrink: 0; }\n.ftr .hide { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; color: var(--t3); font-weight: 600; }\n.ftr .reset { margin-left: auto; font-size: 11px; color: var(--p200); font-weight: 600; white-space: nowrap; }\n.grp { display: flex; align-items: baseline; gap: 6px; padding: 10px 14px 5px; }\n.grp .l { font-size: 11px; font-weight: 600; color: var(--t3); }\n.grp .n { font-size: 10.5px; color: var(--t4); }\n.exp { border-bottom: 1px solid var(--bd); }\n.exp:last-child { border-bottom: 0; }\n.exp-head { display: flex; align-items: center; gap: 8px; padding: 9px 14px; width: 100%; }\n.exp-head[data-open="true"] { background: rgba(255,255,255,0.02); }\n.exp-head .cv { color: var(--t4); display: inline-flex; }\n.exp-name { font-size: 12px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }\n.exp-sub { font-size: 10.5px; color: var(--t3); margin-top: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }\n.pills { display:flex; flex-wrap:wrap; gap:4px; margin-top:5px; }\n.rule-pill { font-size:9.5px; color:var(--t3); border:1px solid var(--bd); border-radius:999px; padding:2px 6px; }\n.rule-pill[data-state="accepted"], .rule-pill[data-state="forced"] { color:var(--pos); border-color:var(--pos-bd); }\n.rule-pill[data-state="rejected"], .rule-pill[data-state="outside traffic %"], .rule-pill[data-state="not running"], .rule-pill[data-state="excluded by overlap"] { color:var(--neg); border-color:var(--neg-bd); }\n.filters { display:flex; gap:6px; padding:8px 12px; border-bottom:1px solid var(--bd); flex-wrap:wrap; }\n.filters select,.filters input { background:var(--inset); color:var(--t2); border:1px solid var(--bd); border-radius:7px; height:28px; padding:0 8px; font-size:10.5px; }\n.filters input { flex:1; min-width:110px; }\n.cond-group { font-size:10px; text-transform:uppercase; letter-spacing:.05em; color:var(--t4); margin-top:10px; }\n.exp-main { flex: 1; min-width: 0; }\n.exp-detail { padding: 0 14px 11px 33px; }\n.cond { padding: 5px 0; }\n.cond-row { display: flex; align-items: center; gap: 8px; }\n.cond-dot { width: 16px; height: 16px; border-radius: 50%; flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; }\n.cond-text { font-size: 11.5px; flex: 1; min-width: 0; }\n.cond-state { font-size: 10.5px; font-weight: 600; flex-shrink: 0; }\n.cond-detail { font-size: 10.5px; color: var(--t3); margin: 3px 0 0 24px; }\n.codeblk { margin: 6px 0 2px 24px; border-radius: 8px; background: var(--inset); border: 1px solid var(--bd); overflow: hidden; }\n.codeblk-head { display: flex; align-items: center; gap: 6px; padding: 5px 9px; width: 100%; color: var(--t3); }\n.codeblk-head .t { font-size: 10.5px; font-weight: 600; }\n.codeblk-head .cv { margin-left: auto; color: var(--t4); display: inline-flex; }\n.codeblk pre { padding: 8px 10px; border-top: 1px solid var(--bd);\n font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace; font-size: 10.5px; line-height: 1.6;\n color: var(--t2); white-space: pre-wrap; word-break: break-word; }\n.mono { font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace; }\n.act-btn { margin-top: 8px; height: 26px; padding: 0 11px; border-radius: 7px; display: inline-flex; align-items: center;\n background: var(--p-soft); border: 1px solid var(--p-bd); color: var(--p200); font-size: 11px; font-weight: 600; white-space: nowrap; }\n.varpick { display: flex; flex-direction: column; gap: 4px; margin: 4px 0 2px; }\n.varopt { display: flex; align-items: center; gap: 9px; padding: 7px 10px; border-radius: 8px; border: 1px solid var(--bd); width: 100%; }\n.varopt[data-on="true"] { background: var(--p-soft); border-color: var(--p-bd); }\n.varopt .radio { width: 14px; height: 14px; border-radius: 50%; flex-shrink: 0; border: 1.5px solid var(--t4); }\n.varopt[data-on="true"] .radio { border: 4.5px solid var(--p400); background: #fff; }\n.varopt .nm { font-size: 11.5px; font-weight: 600; color: var(--t2); flex: 1; }\n.varopt[data-on="true"] .nm { color: var(--t1); }\n.varopt .note { font-size: 10.5px; color: var(--t4); white-space: nowrap; }\n.varopt[data-on="true"] .note { color: var(--p200); }\n.note-line { font-size: 10.5px; color: var(--t3); margin-top: 7px; line-height: 1.5; }\n.sumline { display: flex; align-items: center; gap: 7px; padding: 10px 14px 4px; font-size: 11.5px; color: var(--t2); }\n.live { display: flex; align-items: center; gap: 7px; padding: 9px 14px; border-bottom: 1px solid var(--bd); }\n.live .dot { width: 6px; height: 6px; border-radius: 50%; background: var(--pos); box-shadow: 0 0 6px var(--pos); }\n.live .t { font-size: 11px; color: var(--t3); }\n.live .clear { margin-left: auto; font-size: 11px; color: var(--t4); font-weight: 600; }\n.ev { padding: 8px 14px; border-bottom: 1px solid var(--bd); }\n.ev:last-child { border-bottom: 0; }\n.ev[data-dup="true"] { background: rgba(245,158,11,0.05); box-shadow: inset 2px 0 0 var(--warn); }\n.ev-row { display: flex; align-items: center; gap: 8px; }\n.ev-t { font-size: 10.5px; color: var(--t4); width: 48px; flex-shrink: 0; }\n.ev-type { display: inline-flex; align-items: center; height: 18px; padding: 0 7px; border-radius: 5px; flex-shrink: 0;\n font-size: 10px; font-weight: 600; white-space: nowrap; }\n.ev-label { font-size: 11.5px; flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }\n.ev-val { font-size: 11.5px; font-weight: 600; flex-shrink: 0; }\n.qatag { height: 16px; padding: 0 5px; border-radius: 5px; background: var(--p-soft); border: 1px solid var(--p-bd);\n color: var(--p200); font-size: 9.5px; font-weight: 600; display: inline-flex; align-items: center; flex-shrink: 0; }\n.ev-dup { display: flex; align-items: center; gap: 6px; margin: 5px 0 0 56px; font-size: 10.5px; color: var(--warn); }\n.empty { display: flex; flex-direction: column; align-items: center; text-align: center; padding: 36px 32px 40px; }\n.empty .icon { width: 36px; height: 36px; border-radius: 10px; background: var(--raised); border: 1px solid var(--bd);\n display: flex; align-items: center; justify-content: center; color: var(--t3); }\n.empty .h { font-size: 12.5px; font-weight: 600; margin-top: 12px; }\n.empty .s { font-size: 11px; color: var(--t3); margin-top: 5px; line-height: 1.55; max-width: 250px; }\n.tx { padding: 12px 14px; }\n.tx-card { border-radius: 10px; background: var(--raised); border: 1px solid var(--bd); padding: 11px 12px; }\n.tx-card .row { display: flex; align-items: center; gap: 8px; }\n.tx-card .h { font-size: 12.5px; font-weight: 600; flex: 1; }\n.tx-card .meta { font-size: 10.5px; color: var(--t3); margin-top: 5px; }\n.tx-card .attr { display: flex; align-items: center; gap: 7px; margin-top: 9px; padding-top: 9px; border-top: 1px solid var(--bd); font-size: 12px; }\n.attr-row { display: flex; align-items: center; gap: 10px; padding: 7px 0; border-bottom: 1px solid var(--bd); }\n.attr-row:last-child { border-bottom: 0; }\n.attr-row .nm { font-size: 11.5px; color: var(--t2); flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }\n.attr-row .vr { font-size: 11.5px; font-weight: 600; color: var(--p200); white-space: nowrap; }\n.attr-row .vr[data-none="true"] { color: var(--t4); }\n.receipt { display: flex; align-items: center; gap: 8px; padding: 9px 12px; border-radius: 9px; margin-top: 10px; }\n.receipt.ok { background: var(--pos-soft); border: 1px solid var(--pos-bd); }\n.receipt.pending { background: var(--warn-soft); border: 1px solid var(--warn-bd); }\n.receipt .h { font-size: 11.5px; font-weight: 600; }\n.receipt.ok .h { color: var(--pos); }\n.receipt.pending .h { color: var(--warn); }\n.receipt .s { font-size: 10.5px; color: var(--t3); margin-top: 2px; }\n.infonote { display: flex; gap: 8px; padding: 9px 12px; border-radius: 9px; margin-top: 10px;\n background: var(--p-soft); border: 1px solid var(--p-bd); }\n.infonote .t { font-size: 10.5px; color: var(--t2); line-height: 1.55; }\n.pill { display: inline-flex; align-items: center; gap: 8px; height: 38px; padding: 0 13px 0 9px; border-radius: 999px;\n background: rgba(10,10,14,0.85); border: 1px solid var(--bd-px); backdrop-filter: blur(14px);\n box-shadow: 0 16px 40px rgba(0,0,0,0.5); }\n.pill .t { font-size: 12px; font-weight: 600; white-space: nowrap; }\n@media (max-width: 560px) {\n .root { right: 0; bottom: 0; left: 0; }\n .panel { width: 100%; max-height: 78vh; border-radius: 18px 18px 0 0; border-bottom: 0; }\n .exp-head { padding: 13px 16px; min-height: 44px; }\n .tab { padding: 12px 10px 11px; font-size: 12.5px; }\n .root .pill-dock { position: absolute; right: 16px; bottom: 16px; }\n}\n@media (prefers-reduced-motion: no-preference) {\n .panel[data-enter="true"] { animation: qa-in 220ms cubic-bezier(0.22, 1, 0.36, 1); }\n @keyframes qa-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }\n}\n'}),Su={};function Iu(){if(typeof document>"u")return null;if(Au=Au??zc(),Mu)return Mu;let e=()=>{Au&&(Mu=function(e){let t=document.getElementById(vu);t&&t.remove();let n=document.createElement("div");n.id=vu;let i=n.attachShadow({mode:"open"}),r=document.createElement("style");r.textContent=wu;let a=document.createElement("div");a.className="root",i.append(r,a),document.body.appendChild(n);let o=!1;try{o="1"===sessionStorage.getItem(yu)}catch{}let s={tab:"exp",minimized:o,expanded:new Set,codeOpen:new Set,pageFilter:"all",statusFilter:"all",search:"",firstMount:!0},l=0,c=!1,u=null,d="",p=!1,f=(t=!1)=>{if(!t)return u&&clearTimeout(u),void(u=setTimeout(()=>f(!0),100));if(u&&clearTimeout(u),u=null,p)return void(u=setTimeout(()=>f(!0),100));let n=(()=>{let t=e.getState();return l?{...t,events:t.events.filter(e=>e.at>l)}:t})(),r=(e=>JSON.stringify({experiments:e.experiments,forcedSummary:e.forcedSummary,transactions:e.transactions,events:"ev"===s.tab?e.events:void 0,view:[s.tab,s.minimized,[...s.expanded],[...s.codeOpen],s.pageFilter,s.statusFilter,s.search]}))(n);if(c&&r===d){let e=a.querySelector('.tab[data-tab="ev"] .n');return void(e&&(e.textContent=String(n.events.length)))}if(d=r,!c||s.minimized||!a.querySelector(".panel"))return a.innerHTML=s.minimized?function(e){let t=e.experiments.length;return`\n <button class="pill" data-action="restore" aria-label="Restore Apex QA panel">\n <span class="mark" style="width:22px;height:22px">${hu(13)}</span>\n <span class="t">Apex QA · ${t} experiment${1===t?"":"s"}</span>\n ${nu(xu.chevUp,12)}\n </button>`}(n):function(e,t){let n="unsupported"===e.transactions.kind,i=fu(e),r=n&&"tx"===t.tab?"exp":t.tab,a="exp"===r?lu(e,t):"ev"===r?uu(e):pu(e.transactions);return`\n <div class="panel" data-enter="${t.firstMount}" role="dialog" aria-label="Apex QA assistant">\n <div class="hdr">\n <div class="hdr-row">\n <span class="mark">${hu(14)}</span>\n <span class="hdr-title">Apex QA</span>\n ${au("QA mode","forced")}\n <span class="hdr-actions">\n <button class="btn-ghost" data-action="exit-qa">Exit QA</button>\n <button class="btn-icon" data-action="minimize" title="Minimize" aria-label="Minimize">${nu(xu.minus,13)}</button>\n </span>\n </div>\n <div class="hdr-sub">You’re previewing as QA — nothing here counts toward results.</div>\n </div>\n <div data-region="forced">${gu(e)}</div>\n <div class="tabs" data-region="tabs">\n ${mu(i,r)}\n </div>\n <div class="body">${a}</div>\n <div class="ftr">\n <button class="hide" data-action="minimize">${nu(xu.eyeOff,12)}Hide panel</button>\n <button class="reset" data-action="reset-force">Reset to real assignment</button>\n </div>\n </div>`}(n,s),c=!0,void(s.firstMount=!1);let o=a.querySelector(".body"),m=o?.scrollTop??0,g=i.activeElement,h=g?.dataset.action,v="search"===h&&g?[g.selectionStart,g.selectionEnd]:null,y="unsupported"===n.transactions.kind&&"tx"===s.tab?"exp":s.tab;if(o&&(o.innerHTML="exp"===y?lu(n,s):"ev"===y?uu(n):pu(n.transactions),o.scrollTop=m,h)){let e=o.querySelector(`[data-action="${h}"]`);e?.focus(),e&&null!=v?.[0]&&null!=v[1]&&e.setSelectionRange(v[0],v[1])}let x=a.querySelector('[data-region="forced"]');x&&(x.innerHTML=gu(n));let b=a.querySelector('[data-region="tabs"]');b&&(b.innerHTML=mu(fu(n),y))};a.addEventListener("click",t=>{let i=t.target?.closest?.("[data-action]");if(!i)return;let r=i.dataset.action,a=i.dataset.exp;if("minimize"===r){s.minimized=!0;try{sessionStorage.setItem(yu,"1")}catch{}}else if("restore"===r){s.minimized=!1;try{sessionStorage.removeItem(yu)}catch{}}else if("tab"===r)s.tab=i.dataset.tab??"exp";else if("toggle-exp"===r&&a)s.expanded.has(a)?s.expanded.delete(a):s.expanded.add(a);else if("toggle-code"===r){let e=i.dataset.key??"";s.codeOpen.has(e)?s.codeOpen.delete(e):s.codeOpen.add(e)}else if("open-force"===r&&a){let t=e.getState().experiments.find(e=>e.id===a),n=t?.variations.find(e=>e.isCurrent)??t?.variations[0];t&&n&&e.forceVariation(t.id,n.id),s.expanded.add(a)}else if("pick-variation"===r&&a){let t=i.dataset.var;t&&e.forceVariation(a,t)}else if("reset-force"===r)e.resetForce(a||void 0);else{if("exit-qa"===r)return e.exitQa(),void n.remove();"clear-events"===r&&(l=Date.now())}f(!0)}),a.addEventListener("change",e=>{let t=e.target;if("page-filter"===t.dataset.action)s.pageFilter=t.value;else if("status-filter"===t.dataset.action)s.statusFilter=t.value;else{if("search"!==t.dataset.action)return;s.search=t.value}f(!0)}),a.addEventListener("input",e=>{let t=e.target;"search"===t.dataset?.action&&(s.search=t.value,!p&&f(!0))}),a.addEventListener("compositionstart",e=>{"search"===e.target.dataset?.action&&(p=!0)}),a.addEventListener("compositionend",e=>{let t=e.target;"search"===t.dataset?.action&&(p=!1,s.search=t.value,f(!0))});let m=e.subscribe(()=>{f()});return f(!0),{destroy(){m(),u&&clearTimeout(u),n.remove()}}}(Au))};return document.body?(e(),Mu):(document.addEventListener("DOMContentLoaded",e,{once:!0}),{destroy(){document.removeEventListener("DOMContentLoaded",e),Mu?.destroy(),Mu=null}})}function ku(){return Au=Au??zc()}a(Su,{getQaAssistantStore:()=>ku,mountQaAssistant:()=>Iu});var Au,Mu,Cu=r(()=>{tu(),_u(),Au=null,Mu=null}),Eu={};function $u(e,t){if(typeof AbortController>"u"){let n=null;return Promise.race([fetch(e),new Promise((e,i)=>{n=setTimeout(()=>i(function(){if(typeof DOMException<"u")return new DOMException("The operation was aborted.","AbortError");let e=new Error("The operation was aborted.");return e.name="AbortError",e}()),t)})]).finally(()=>{null!==n&&clearTimeout(n)})}let n=new AbortController,i=setTimeout(()=>n.abort(),t);return fetch(e,{signal:n.signal}).finally(()=>{clearTimeout(i)})}async function Tu(e,t=2,n=500,i={}){let r=qu(i.timeoutMs,tm),a=qu(i.firstAttemptTimeoutMs,r);for(let o=0;o<=t;o++){let s=Date.now(),l=null,c=!1;if(i.onAttemptStart?.(o+1),i.onSlow){let e=qu(i.slowMs,nm);l=setTimeout(()=>{c=!0,i.onSlow?.({attempt:o+1,elapsedMs:Date.now()-s})},e)}try{let n=await $u(e,0===o?a:r);if(null!==l&&clearTimeout(l),i.onAttemptEnd?.({attempt:o+1,elapsedMs:Date.now()-s,status:n.status}),n.ok||o===t)return n}catch(e){null!==l&&clearTimeout(l);let n=e instanceof Error?e.message:String(e),r=typeof DOMException<"u"&&e instanceof DOMException?"AbortError"===e.name:/abort|timeout/i.test(n);if(i.onAttemptEnd?.({attempt:o+1,elapsedMs:Date.now()-s,error:n,timedOut:r}),o===t)throw e}null!==l&&!c&&clearTimeout(l),await new Promise(e=>setTimeout(e,n*(o+1)))}throw new Error("Failed to fetch after retries")}function Pu(){let e=globalThis.performance?.now?.();return"number"==typeof e&&Number.isFinite(e)?e:Date.now()}function zu(e){return Number.isFinite(e)?Math.round(10*Math.min(gm,Math.max(0,e)))/10:0}function ju(){return{startedAt:Pu(),phases:{},includesConfigFetch:!1}}function Lu(e,t,n){let i=zu(Pu()-n);e.phases[t]=zu((e.phases[t]??0)+i)}function qu(e,t){return"number"==typeof e&&Number.isFinite(e)&&e>0?e:t}function Du(e){let t=e.executionMode??sm,n=e.antiFlickerMode??(!1===e.antiFlicker?"off":!0===e.antiFlicker?"full":"scoped"),i=qu(e.antiFlickerTimeoutMs??e.antiFlickerTimeout,am),r=e.trackingStart??("boolean"==typeof e.deferTracking?e.deferTracking?"idle":"immediate":lm),a=qu(e.trackingIdleTimeoutMs,om),o=e.customJsPolicy??cm;return{executionMode:t,antiFlickerMode:n,antiFlickerTimeoutMs:i,antiFlickerCustomCss:e.antiFlickerCustomCss,trackingStart:r,trackingIdleTimeoutMs:a,customJsPolicy:o}}function Nu(e,t){return!1!==e.spa?.domChangeTrigger&&(!0===e.spa?.domChangeTrigger||"dom_change"===t||"url_change"===t||"spa"===e.platformHint)}function Ru(e,t,n){if(Qf)try{Promise.resolve().then(()=>(Pl(),bl)).then(({logDevtoolsEvent:i})=>{i(e,t,n)}).catch(()=>{})}catch{}}function Fu(e,t){ai("trace",e,t)}function Ou(e,t){let n="passed"===t.status?"matching":"failed"===t.status?"not matching":"skipped";Fu(`${e.id}: ${t.label} is ${n}`,{reason:t.reason,...t.detail&&"object"==typeof t.detail?{detail:t.detail}:{}})}function Uu(){return bm.trackingDisabledByDnt||bm.consentRequired&&!bm.consentGranted}function Ju(e){return!0===e.dataProtection?.respectDoNotTrack&&function(){let e=globalThis.navigator,t=globalThis,n=e?.doNotTrack??e?.msDoNotTrack??t.doNotTrack??"";return"1"===n||"yes"===n.toLowerCase()}()}function Bu(e,t,n){return(!e||t)&&!n}function Gu(e,t){if(!t)return;let n=t.split(".").map(e=>e.trim()).filter(Boolean),i=e;for(let e of n){if(null==i||"object"!=typeof i)return;i=i[e]}return i}function Hu(e){if(e)return Gu(globalThis,e)}function Vu(e){let t=e.consentMode;if("usercentrics"===t?.provider)return function(e){let t,n=globalThis,i=n.UC_UI??n.window?.UC_UI;if(!i||"function"!=typeof i.getServicesBaseInfo)return null;try{t=i.getServicesBaseInfo()}catch{return null}if(!Array.isArray(t))return null;let r=e?.trim()||"Apex",a=t.find(e=>{if(!e||"object"!=typeof e)return!1;let t=e;return[t.name,t.id,t.serviceId,t.templateId,t.dataProcessor,t.dataProcessorName].some(e=>function(e,t){return null!=e&&String(e).trim().toLowerCase()===t.trim().toLowerCase()}(e,r))});return!!a&&(!0===a.consent?.status||!0===a.consentStatus||!0===a.status)}(t.requiredGroup);if("cookiebot"===t?.provider)return function(e){let t=globalThis,n=t.Cookiebot??t.window?.Cookiebot;if(!n||"object"!=typeof n)return null;let i=n.consent;if(!i||"object"!=typeof i)return null;let r=(e?.trim()||"statistics").toLowerCase(),a=i[{analytics:"statistics",stats:"statistics",statistic:"statistics",statistics:"statistics",marketing:"marketing",preference:"preferences",preferences:"preferences",necessary:"necessary"}[r]||r];return"boolean"==typeof a&&a}(t.requiredGroup);if("ccm19"===t?.provider)return function(e){let t=globalThis,n=t.CCM??t.window?.CCM;if(!n||"object"!=typeof n)return null;let i=n.acceptedEmbeddings;if(!Array.isArray(i))return null;let r=e?.trim()||"Apex",a=r.toLowerCase();return i.some(e=>{if(!e||"object"!=typeof e)return!1;let t=e,n="string"==typeof t.name?t.name.trim().toLowerCase():"",i="string"==typeof t.id?t.id:"";return n===a||i===r})}(t.requiredGroup);if("pandectes"===t?.provider)return function(e){let t=globalThis,n={analytics:"analyticsProcessingAllowed",statistics:"analyticsProcessingAllowed",statistic:"analyticsProcessingAllowed",stats:"analyticsProcessingAllowed",marketing:"marketingAllowed",preferences:"preferencesProcessingAllowed",preference:"preferencesProcessingAllowed",sale_of_data:"saleOfDataAllowed",saleofdata:"saleOfDataAllowed","sale-of-data":"saleOfDataAllowed",sale:"saleOfDataAllowed"}[(e?.trim()||"analytics").toLowerCase()];if(!n)return!1;let i=[t.Pandectes??t.window?.Pandectes,t.Shopify?.customerPrivacy??t.window?.Shopify?.customerPrivacy];for(let e of i)if(e&&"object"==typeof e&&"function"==typeof e[n])try{let t=e[n]();if("boolean"==typeof t)return t}catch{}return null}(t.requiredGroup);if(!t?.getter&&"onetrust"!==t?.provider)return null;let n=Hu(t.getter??"OnetrustActiveGroups");if("boolean"==typeof n)return n;let i=t.requiredGroup;return i?Array.isArray(n)?n.map(String).includes(i):"string"==typeof n&&n.split(",").map(e=>e.trim()).filter(Boolean).includes(i):null!=n&&""!==String(n).trim()}function Wu(e){if(!bm.consentRequired)return;let t=Vu(e);null==t||t===bm.consentGranted||Mf(t)}function Ku(e){return!0===e.requireConsent||"boolean"==typeof e.hasConsent||!0===e.consentMode?.enabled}function Qu(e,t){return!t||("boolean"==typeof e.hasConsent?e.hasConsent:Vu(e)??function(){if(!globalThis.document?.cookie)return!1;try{return new RegExp(`(?:^|;\\s*)${um}=1(?:;|$)`).test(globalThis.document.cookie)}catch{return!1}}())}function Xu(){return Bu(bm.consentRequired,bm.consentGranted,bm.trackingDisabledByDnt)}function Yu(e,t){if(null!=e){if("number"===t){let t=Number(e);return Number.isFinite(t)?t:void 0}if("boolean"===t){if("boolean"==typeof e)return e;let t=String(e).trim().toLowerCase();return!!["1","true","yes","on"].includes(t)||!["0","false","no","off"].includes(t)&&void 0}return"string_array"===t?Array.isArray(e)?e.map(e=>String(e).trim()).filter(Boolean):String(e).split(",").map(e=>e.trim()).filter(Boolean):"json"===t?e:String(e)}}function Zu(e){let t=e.signals??[];if(!t.length)return;let n=null;try{n=new URL(e.url??location.href,typeof location<"u"?location.origin:"https://_")}catch{n=null}if(n)for(let e of t){let t=e.capture;if(!e.key||"url_parameter"!==t?.mode||!t.parameter)continue;let i=n.searchParams.get(t.parameter);if(null==i||""===i){!1===t.persist&&dn(e.key);continue}let r=Yu(i,e.valueType);void 0!==r&&ed(e.key,r,{ttlDays:e.ttlDays,persist:t.persist,source:"url_parameter"})}}function ed(e,t,n){if(e){if(!1===n.persist||!Xu())return void un(e,t,n.source);ln(e,t,n.ttlDays,n.source),un(e,t,n.source)}}function td(e,t,n,i="manual"){Xu()?ln(e,t,n,i):un(e,t,i)}function nd(e={}){return cn({...e,markVisitorSeen:!1!==e.markVisitorSeen&&Xu()})}function id(e){if("string"!=typeof e)return"";let t=e.trim().toLowerCase().replace(/['"`]/g,"").replace(/[^a-z0-9]+/g,"_").replace(/^_+|_+$/g,"").replace(/_+/g,"_");return t?/^[a-z]/.test(t)?t:`segment_${t}`:""}function rd(e,t=!0){let n=id(e);if(!n)return;let i=!(!1===t||t&&"object"==typeof t&&"isActive"in t&&!t.isActive);un(function(e){return`page.trigger.${e}`}(n),i,"page_api");try{document.dispatchEvent(new CustomEvent("drip:signals-changed",{detail:{source:"page_api",apiName:n,active:i}}))}catch{}}function ad(e,t){if("attribute"===t.source&&t.attribute)return e.getAttribute(t.attribute);if("dataset"===t.source&&t.attribute){let n=t.attribute.replace(/^data-/,"").replace(/-([a-z])/g,(e,t)=>t.toUpperCase());return e.dataset?.[n]}return"constant"===t.source?t.value??!0:e.textContent?.trim()??""}function od(e){let t=e.signals??[];for(let e of t){let t=e.capture;if(t){if("dom_selector"===t.mode&&t.selector&&typeof document<"u"){let n=null;try{n=document.querySelector(t.selector)}catch{n=null}if(!n)continue;let i=Yu(ad(n,t),e.valueType);void 0!==i&&ed(e.key,i,{ttlDays:e.ttlDays,persist:t.persist,source:"dom_selector"})}if("global"===t.mode&&t.path){let n=Yu(Hu(t.path),e.valueType);void 0!==n&&ed(e.key,n,{ttlDays:e.ttlDays,persist:t.persist,source:"global"})}}}}function sd(){try{let e=globalThis.localStorage;if(e?.removeItem("drip_uid"),e?.removeItem("drip_goals"),e?.removeItem("drip_visitor_sessions_v1"),e?.removeItem(Cm),function(){try{localStorage.removeItem(vn),localStorage.removeItem(yn)}catch{}}(),e)for(let t=e.length-1;t>=0;t--){let n=e.key(t);n?.startsWith(im)&&e.removeItem(n)}}catch{}try{let e=globalThis.sessionStorage;if(e?.removeItem("drip_uid"),e?.removeItem("drip_sid"),e?.removeItem("drip_events"),e?.removeItem("drip_utm"),e)for(let t=e.length-1;t>=0;t--){let n=e.key(t);n?.startsWith("drip_hm:")&&e.removeItem(n)}}catch{}if(op(),function(){try{globalThis.localStorage?.removeItem(D)}catch{}!function(){try{if(!globalThis.document)return;globalThis.document.cookie=N+"=; Max-Age=0; Path=/; SameSite=Lax"}catch{}}()}(),function(){try{globalThis.localStorage?.removeItem(Be)}catch{}Pe(Ge)}(),globalThis.document)try{globalThis.document.cookie="drip_uid=; Max-Age=0; Path=/; SameSite=Lax"}catch{}}function ld(e){globalThis.document&&"loading"===document.readyState?document.addEventListener("DOMContentLoaded",e,{once:!0}):e()}function cd(e){let t=e.projectCode,n=t?.js;!t?.enabled||!n||ld(()=>Fi(n,"project-startup"))}function ud(e){let t=e.js?.code??"";return"activate"===e.js?.mode||/\bactivate\s*\(/.test(t)||/\bcallbackFn\b/.test(t)}function dd(e){let t=typeof window<"u"?window.location.href:"https://_";return{apexTools:Uf(),attributes:As({},t),document:typeof document<"u"?document:void 0,location:typeof location<"u"?location:void 0,signal:e.signal,url:new URL(t,"https://_"),value:e.value,window:typeof window<"u"?window:void 0}}function pd(e,t){let n=e.trigger?.mode;if("manual-callback"!==n&&"manual-api"!==n)return()=>{};let i=e.trigger?.triggerJs?.trim(),r=e.trigger?.signal;if(!i||i.length>8e3||!r)return()=>{};let a,o=!!nd({markVisitorSeen:!1})[r],s={isActive:o,pageId:e.id,apiName:e.trigger?.apiName},l=e=>{let n=!(!1===e||e&&"object"==typeof e&&"isActive"in e&&!e.isActive);o=n,s.isActive=n,un(r,n,"page_trigger"),t()};try{let t=typeof window<"u"?window.location.href:"https://_",n={apexTools:Uf(),attributes:As({},t),document:typeof document<"u"?document:void 0,location:typeof location<"u"?location:void 0,pageId:e.id,apiName:e.trigger?.apiName,signal:r,url:new URL(t,"https://_"),window:typeof window<"u"?window:void 0};a=new Function("activate","options","context",`"use strict";const apexTools=context.apexTools;const attributes=context.attributes;const document=context.document;const location=context.location;const pageId=context.pageId;const apiName=context.apiName;const signal=context.signal;const url=context.url;const window=context.window;${i}\n`)(l,s,n)}catch(e){oi("Page trigger JS failed",e instanceof Error?e.message:String(e)),un(r,!1,"page_trigger")}return()=>{try{"function"==typeof a&&a()}catch(e){oi("Page trigger teardown failed",e instanceof Error?e.message:String(e))}dn(r),t()}}function fd(){for(let e of xm)try{e()}catch{}}function md(e){return Zf?e.find(e=>e.harnessSession?.manifestUrl)??null:null}function gd(){null!==wm&&(window.clearInterval(wm),wm=null),_m=""}function hd(e){if(!e.version||e.version<=0)return;let t=md(bm.assignments);t?.harnessSession?.manifestUrl&&t.harnessSession.version!==e.version&&(ai("harness",`Reloading harness version ${e.version}`),Ru("harness","reload",{version:e.version}),Bp(bm.assignments),bm.assignments=bm.assignments.map(n=>{let i=n.harnessSession;return i&&i.manifestUrl===t.harnessSession?.manifestUrl?{...n,externalJsUrl:e.externalJsUrl??void 0,externalCssUrl:e.externalCssUrl??void 0,harnessSession:{...i,version:e.version,expiresAt:e.expiresAt??i.expiresAt,manifestUrl:e.manifestUrl??i.manifestUrl,pollIntervalMs:e.pollIntervalMs??i.pollIntervalMs}}:n}),Up(bm.assignments,bm.activationMode),bm.lastAssignmentSignature=Do(bm.assignments))}function vd(e){Zf&&(document.hidden||fetch(e,{cache:"no-store"}).then(e=>{if(!e.ok)throw new Error("Harness manifest failed: "+e.status);return e.json()}).then(hd).catch(e=>{oi("harness",e instanceof Error?e.message:String(e)),Ru("harness","poll failed",{})}))}function yd(e){return e.replace(/\/+$/,"").replace(/\/events$/,"")}function xd(e){return e.endpoint?yd(e.endpoint)+"/events":void 0}async function bd(e,t){if(!e.shopId||!e.endpoint)return null;let n=await fetch(`${yd(e.endpoint)}/v1/handover/verify`,{method:"POST",headers:{"Content-Type":"application/json","X-Drip-Shop":e.shopId},body:JSON.stringify({verifyToken:t}),signal:AbortSignal.timeout(rr(e.externalTracking))});return n.ok?(await n.json()).payload:null}function wd(){null!==bm.analyticsTimeoutId&&(window.clearTimeout(bm.analyticsTimeoutId),bm.analyticsTimeoutId=null);let e=globalThis.cancelIdleCallback;null!==bm.analyticsIdleId&&"function"==typeof e&&(e(bm.analyticsIdleId),bm.analyticsIdleId=null)}function _d(e,t){let n=Yu(Gu(e,t),"number");return"number"==typeof n&&Number.isFinite(n)?n:void 0}function Sd(e,t){let n=Yu(Gu(e,t),"string");return"string"==typeof n&&n?n:void 0}function Id(e,t,n,i=!1){let r=function(e,t){let n=[];for(let i of t??[]){if(!i?.from||!i.to)continue;let t=Yu(Gu(e,i.from),i.valueType);void 0!==t&&(ed(i.to,t,{ttlDays:i.ttlDays,persist:i.persist,source:"data_layer"}),n.push(i.to))}return n}(t,e.mappings);if(bm.lastDataLayerTrigger={eventName:e.eventName,dataLayerName:n,at:Date.now(),mappedSignals:r,...i?{gtagNormalized:!0}:{}},bm.initializingAssignments)return;let a="string"==typeof e.trackEventName&&e.trackEventName.length>0?e.trackEventName:null;(!0===e.trackPageview||a)&&If(a??"pageview",{source:"data_layer",dataLayerEvent:e.eventName,...t}),function(e,t){let n=e.trackRevenue;if(!n||!1===n.enabled)return;let i=_d(t,n.revenueFrom||"value");if(void 0===i)return;let r={source:"data_layer",dataLayerEvent:e.eventName},a=Sd(t,n.orderIdFrom||"transaction_id"),o=Sd(t,n.currencyFrom||"currency"),s=_d(t,n.costFrom),l=_d(t,n.profitFrom);a&&(r.orderId=a),o&&(r.currency=o),void 0!==s&&(r.cost=s),void 0!==l&&(r.profit=l);for(let e of n.properties??[]){if(!e?.from||!e.to||Im.has(e.to))continue;let n=Yu(Gu(t,e.from),e.valueType);void 0!==n&&(r[e.to]=n)}zf(i,r)}(e,t),!1!==e.reEvaluate&&gf("dom")}function kd(e){bm.exposureDestinationDiagnostics=[e,...bm.exposureDestinationDiagnostics].slice(0,20)}function Ad(e,t){return`${e}${t}`.replace(/[^A-Za-z0-9 _-]/g,"").replace(/\s+/g," ").trim().slice(0,80)||"apex experiment"}function Md(e,t){let n=Hu(e.globalName);if(!n)throw new Error("queue_missing");let i=e.eventName||"Viewed an experiment";if(Array.isArray(n))n.push(e.method?{method:e.method,event_name:i,event_attributes:t}:{event:i,...t});else{if("function"!=typeof n.push)throw new Error("queue_push_missing");n.push(e.method?{method:e.method,event_name:i,event_attributes:t}:{event:i,...t})}}function Cd(e){return`${"personalization"===e.kind&&e.personalization?e.personalization.id:e.experimentId}:${e.variationId}:${e.assignmentEpoch??""}`}function Ed(e){return`${e.experimentId}:${e.variationId}:${e.assignmentEpoch??""}`}function $d(e){let t=bm.config?.commerce?.price?.authorization;if(1!==t?.version||!Number.isSafeInteger(t.revision)||t.revision<=0||!t.experimentIds?.includes(e.experimentId))return!0;let n=bm.config?.commerce?.price?.experiments.find(t=>t.experiment_id===e.experimentId)?.variants[e.variationId];return!(!n||n.some(e=>"string"==typeof e.fixedPricePerUnit))||!0===bm.authorizedPriceAssignmentKeys?.has(Ed(e))}function Td(e){let t=bm.config?.commerce?.shipping?.authorization;return 1!==t?.version||!Number.isSafeInteger(t.revision)||t.revision<=0||!t.experimentIds?.includes(e.experimentId)||!0===bm.authorizedShippingAssignmentKeys?.has(Ed(e))}function Pd(e){let t=bm.config?.commerce?.offers?.authorization;return 1!==t?.version||!Number.isSafeInteger(t.revision)||t.revision<=0||!t.experimentIds?.includes(e.experimentId)||!0===bm.authorizedOffersAssignmentKeys?.has(Ed(e))}function zd(e){return{isArmProven:e=>!0===bm.authorizedOffersAssignmentKeys?.has(Ed(e)),...e}}function jd(e){return!!(e.mutations.length||e.css||e.js||e.experimentCss||e.experimentJs||e.externalCssUrl||e.externalJsUrl)}function Ld(e){let t=bm.authorizedOffersAssignmentKeys,n=new Set(e.map(Ed));bm.authorizedOffersAssignmentKeys=n;let i=new Set(bm.config?.commerce?.offers?.authorization?.experimentIds??[]);bm.assignments.some(e=>i.has(e.experimentId)&&n.has(Ed(e))&&!t?.has(Ed(e))&&jd(e))&&(Bp(bm.assignments),Up(bm.assignments,bm.activationMode))}function qd(){bm.analyticsStarted&&bm.config&&!Uu()&&Dd(bm.config)}function Dd(e){if(!1===e.autoTrack)return;let t=function(e){return bm.assignments.filter(t=>t.isControl||$d(t)&&function(e,t){let n=e?.experiments.find(e=>e.experiment_id===t.experimentId)?.variants[t.variationId];return!(!t.isControl&&n?.some(e=>e.compareAt)&&!n.some(e=>"string"==typeof e.fixedPricePerUnit)&&Et!==t)}(e.commerce?.price,t)).filter(t=>Td(t)&&function(e,t){let n=e.commerce?.shipping?.experiments.find(e=>e.experiment_id===t.experimentId);if(!n)return!0;let i=Ln(n.variants,!!t.isControl,n.variants[t.variationId]);return!i.needsTargetProof&&!i.isCurrencyBound||function(e){return!0===Xn.get(e)}(t.experimentId)}(e,t)).filter(Pd)}(e);if(0===t.length)return;let n=e.url??(typeof location<"u"?location.href:""),i=function(e){let t={};for(let[n,i]of ea){let r=Qr(e.attributes[n]);void 0!==r&&(t[i]=r)}for(let n of e.customSignals??[]){if(!n.key||Zr(n.key)||!["string","number","boolean"].includes(n.valueType??"string"))continue;let i=Xr(n.key);if(Yr(i)||Object.prototype.hasOwnProperty.call(t,i))continue;let r=Qr(e.attributes[n.key]);void 0!==r&&(t[i]=r)}return function(e){let t=Object.keys(e).sort();for(;t.length>na;){let n=t.pop();n&&delete e[n]}for(;t.length>0&&JSON.stringify(e).length>ia;){let n=t.pop();n&&delete e[n]}return 0===Object.keys(e).length?null:Object.fromEntries(Object.keys(e).sort().map(t=>[t,e[t]]))}(t)}({attributes:As(e.attributes??{},n,{persistSignals:Xu()}),customSignals:e.signals});t.forEach(t=>{let n=Cd(t);bm.exposedAssignmentKeys.has(n)||(bm.exposedAssignmentKeys.add(n),"personalization"===t.kind&&t.personalization?If("personalization_rendered",{index:t.index,...i?{signals:i}:{},entity_kind:"personalization",personalization_id:t.personalization.id,personalization_key:t.personalization.key,personalization_rule_id:t.personalization.ruleId,personalization_experience_id:t.personalization.experienceId,personalization_surface:t.personalization.surface,personalization_template_key:t.personalization.templateKey},t.experimentId,t.variationId):If("experiment_viewed",{index:t.index,...i?{signals:i}:{}},t.experimentId,t.variationId),function(e,t){let n=t.exposureDestinations;if(!n)return;let i={project_id:t.shopId??"",experiment_id:e.experimentId,variation_id:e.variationId,experiment_name:e.experimentName??e.experimentId,variation_index:e.index,variation_name:e.variationId,is_control:e.isControl},r=Date.now();if(n.dataLayer?.enabled)try{let t=n.dataLayer.dataLayerName||"dataLayer",a=window,o=Array.isArray(a[t])?a[t]:[];a[t]=o,o.push({event:n.dataLayer.eventName||"apex_experiment_viewed",...!1===n.dataLayer.includeMetadata?{experiment_id:e.experimentId,variation_id:e.variationId}:i}),kd({type:"dataLayer",status:"sent",at:r})}catch(e){kd({type:"dataLayer",status:"failed",at:r,reason:e instanceof Error?e.message:String(e)})}if(n.hotjar?.enabled)try{let t=window.hj;if("function"!=typeof t)throw new Error("hotjar_missing");"event"===n.hotjar.mode?t("event",n.hotjar.eventName||"apex_experiment_viewed"):t("identify",null,{apex_ab_test:`${e.experimentId}-${e.variationId}`}),kd({type:"hotjar",status:"sent",at:r})}catch(e){kd({type:"hotjar",status:"failed",at:r,reason:e instanceof Error?e.message:String(e)})}if(n.clarity?.enabled)try{let t=window.clarity;if("function"!=typeof t)throw new Error("clarity_missing");let i="event"===n.clarity.mode||"both"===n.clarity.mode?n.clarity.mode:"set";if("set"!==i&&"both"!==i||t("set",Ad(n.clarity.tagPrefix??"apex ",e.experimentName??e.experimentId),e.isControl?"control":`variant-${e.index}`),("event"===i||"both"===i)&&t("event",n.clarity.eventName||"apex_experiment_viewed"),n.clarity.upgrade&&!km)try{t("upgrade","apex_experiment"),km=!0}catch{}kd({type:"clarity",status:"sent",at:r})}catch(e){kd({type:"clarity",status:"failed",at:r,reason:e instanceof Error?e.message:String(e)})}if(n.contentsquare?.enabled)try{let t=window,i=t._uxa=Array.isArray(t._uxa)||t._uxa&&"function"==typeof t._uxa.push?t._uxa:[],a=Ad(n.contentsquare.keyPrefix??"apex ",e.experimentName??e.experimentId).slice(0,50);i.push(["trackDynamicVariable",{key:a,value:e.isControl?"control":`variant-${e.index}`}]),kd({type:"contentsquare",status:"sent",at:r})}catch(e){kd({type:"contentsquare",status:"failed",at:r,reason:e instanceof Error?e.message:String(e)})}if(n.posthog?.enabled)try{let t=window.posthog;if(!t||"object"!=typeof t&&"function"!=typeof t||"function"!=typeof t.capture)kd({type:"posthog",status:"failed",at:r,reason:"posthog_missing"});else{let a="capture"===n.posthog.mode||"register"===n.posthog.mode?n.posthog.mode:"both";("capture"===a||"both"===a)&&t.capture(n.posthog.eventName||"apex_experiment_viewed",i),"register"===a||"both"===a?"function"!=typeof t.register?kd({type:"posthog",status:"failed",at:r,reason:"posthog_register_missing"}):(t.register({[`apex_exp_${e.experimentId}`]:e.variationId}),kd({type:"posthog",status:"sent",at:r})):kd({type:"posthog",status:"sent",at:r})}}catch(e){kd({type:"posthog",status:"failed",at:r,reason:e instanceof Error?e.message:String(e)})}for(let e of n.queues??[])if(!1!==e.enabled)try{Md(e,i),kd({type:`queue:${e.globalName}`,status:"sent",at:r})}catch(t){kd({type:`queue:${e.globalName}`,status:"failed",at:r,reason:t instanceof Error?t.message:String(t)})}}(t,e),function(e){if(!Xu())return;let t=Date.now(),n=ap().filter(t=>t.e!==e.experimentId);n.push({e:e.experimentId,v:e.variationId,t:t}),function(e){if(Xu())try{globalThis.localStorage?.setItem(Cm,JSON.stringify(rp(e)))}catch{}}(n),lp()}(t),e.onExperimentViewed?.(t))})}function Nd(e,t){Qi(),function(e,t){Yi=(e,t,n)=>{If("goal",{goalId:e,...n},t.experimentId,t.variationId)},er=[],Zi&&(document.removeEventListener("click",Zi,!0),Zi=null);let n=new Map(t.map(e=>[e.id,e])),i=!1;for(let t of e){let e=n.get(t.experimentId);if(e?.goals)for(let n of e.goals)"click"===n.type&&(n.selector||n.textMatch)&&(er.push({goal:n,assignment:t}),i=!0),"pageview"===n.type&&(!n.urlPattern||zi(n.urlPattern,location.href))&&Gi(n,t)}i&&(Zi=Ki,document.addEventListener("click",Zi,!0))}(e,t)}function Rd(e,t){if(Yf&&bm.tracker&&!Uu()){if(bm.heatmapController)return void bm.heatmapController.update(e,t);Promise.resolve().then(()=>(Xl(),zl)).then(({startHeatmapCapture:n})=>{!bm.tracker||Uu()||bm.heatmapController||(bm.heatmapController=n(e,t,If))}).catch(()=>{})}}function Fd(){bm.heatmapController&&(bm.heatmapController.stop(),bm.heatmapController=null)}function Od(){bm.semanticController&&(bm.semanticController.stop(),bm.semanticController=null)}function Ud(e,t){return bm.assignments.map(n=>({type:e,data:kp(t,n.experimentId,n.variationId),url:o(),experimentId:n.experimentId,variationId:n.variationId}))}function Jd(e,t){let n=bm.assignments.length>0?bm.assignments[0]:null;return[{type:e,data:kp(t,n?.experimentId,n?.variationId),url:o(),experimentId:n?.experimentId,variationId:n?.variationId},...Ud("experiment_page_exit",t)]}function Bd(e,t){if(Uu()||!bm.tracker)return;let n=bm.assignments.length>0?bm.assignments[0]:null,i={type:e,data:kp(t,n?.experimentId,n?.variationId),url:o(),experimentId:n?.experimentId,variationId:n?.variationId};if(Ru("track",e,{experimentId:n?.experimentId,variationId:n?.variationId,...t}),bm.tracker.track(i),"pageview"===e){bm.config&&pp(bm.config);for(let e of Ud("experiment_pageview",t))bm.tracker.track(e)}else if("page_exit"===e)for(let e of Ud("experiment_page_exit",t))bm.tracker.track(e)}function Gd(){if(typeof window>"u")return;let e=window,t=e.__dripPerf=e.__dripPerf??{};t.load_stage=bm.load.stage,t.config_fetch_status=bm.load.configFetchStatus,void 0!==bm.load.configFetchAttempts&&(t.config_fetch_attempts=bm.load.configFetchAttempts),void 0!==bm.load.configFetchMs&&(t.config_fetch_ms=bm.load.configFetchMs),void 0!==bm.load.assignmentReadyMs&&(t.assignment_ready_ms=bm.load.assignmentReadyMs),void 0!==bm.load.pendingMutations&&(t.pending_mutations=bm.load.pendingMutations),void 0!==bm.load.appliedMutations&&(t.applied_mutations=bm.load.appliedMutations),void 0!==bm.load.missedMutations&&(t.missed_mutations=bm.load.missedMutations)}function Hd(e){bm.load={...bm.load,...e,updatedAt:Date.now()},Gd();try{document.dispatchEvent(new CustomEvent("drip_runtime_status",{detail:{...bm.load}}))}catch{}ai("trace",`Runtime status: ${e.stage}`,e)}function Vd(e){Uu()||(bm.pendingPerf={...e,config_fetch_ms:bm.load.configFetchMs,config_fetch_attempts:bm.load.configFetchAttempts,config_fetch_status:bm.load.configFetchStatus,config_fetch_status_code:bm.load.configFetchStatusCode,mutation_apply_pending:bm.load.pendingMutations,mutation_apply_applied:bm.load.appliedMutations,mutation_apply_missed:bm.load.missedMutations})}function Wd(e,t="unknown"){return"string"!=typeof e?t:e.trim().slice(0,120)||t}function Kd(){let e=globalThis[Am];if(!e||"object"!=typeof e||Array.isArray(e))return null;let t=e;return{installSurface:Wd(t.installSurface,"direct_script"),sdkVersion:Wd(t.sdkVersion),runtimeProfile:Wd(t.runtimeProfile,"full")}}function Qd(e){let t=Kd(),n=e.delivery?.revision;return{sdk_version:Wd(e.sdkVersion),sdk_delivery_mode:Wd(e.sdkDeliveryMode),sdk_delivery_source:Wd(e.sdkDeliverySource),sdk_policy_revision:Wd(e.sdkPolicyRevision),snippet_revision:"number"==typeof n&&Number.isFinite(n)?Math.max(0,Math.floor(n)):void 0,runtime_profile:Wd(e.runtimeProfile,"full"),install_surface:Wd(e.installSurface,"direct_script"),first_install_surface:t?.installSurface??Wd(e.installSurface,"direct_script")}}function Xd(e,t,n,i){if(Uu()||bm.screenshotMode)return;let r=xd(e);if(r&&e.shopId)try{let a=new Ks({endpoint:r,shopId:e.shopId,ingestShopId:e.ingestShopId??e.shopId,ingestSignature:e.ingestSignature,visitorId:i??void 0,flushIntervalMs:6e4,maxBatchSize:1,qaMode:bm.qaMode,qaSessionId:bm.qaSessionId,environment:e.environments?.activeKey||"production"});a.track({type:t,data:{...Qd(e),...n},url:o()}),a.flush().finally(()=>a.stop())}catch{}}function Yd(){return window.__dripPerf??{}}function Zd(e){let t=window,n=t.__dripPerf=t.__dripPerf??{},i=n[e];if("number"==typeof i&&Number.isFinite(i))return i;let r=Date.now();return n[e]=r,r}function ep(e,t){let n=e[t];return"number"==typeof n&&Number.isFinite(n)?n:void 0}function tp(e){return{...Z?W(Z):ee,hydration_detected_at:ep(e,"hydration_detected_at"),apply_delayed_ms:ep(e,"apply_delayed_ms"),hydration_timeout:!0===e.hydration_timeout,hold_timeout:!0===e.hold_timeout,reapply_count:ep(e,"reapply_count")??0,reassert_loop_detected:!0===e.reassert_loop_detected}}function np(e,t){let n=Yd(),i=t.assignmentReadyAt??Date.now(),r=ep(n,"anti_flicker_inserted_at"),a=ep(n,"reveal_at"),o=t.phases??{},s=Object.values(o).reduce((e,t)=>e+(t??0),0),l=t.includesConfigFetch?bm.load.configFetchMs??0:0,c=void 0===t.initTotalMs?void 0:zu(t.initTotalMs-s-l),u=bm.assignments.reduce((e,t)=>e+t.mutations.length,0),d=Qd(e);return{assignment_ready_ms:t.assignmentReadyMs,init_total_ms:t.initTotalMs,guard_resolve_ms:o.guard_resolve_ms,consent_identity_ms:o.consent_identity_ms,runtime_setup_ms:o.runtime_setup_ms,targeting_assignment_ms:o.targeting_assignment_ms,mutation_finalize_ms:o.mutation_finalize_ms,unattributed_init_ms:c,blank_screen_ms:t.blankScreenMs,platform:bm.platform,config_source:bm.configSource,activation_mode:bm.activationMode,sdk_version:String(d.sdk_version),sdk_delivery_mode:String(d.sdk_delivery_mode),sdk_delivery_source:String(d.sdk_delivery_source),sdk_policy_revision:String(d.sdk_policy_revision),snippet_revision:"number"==typeof d.snippet_revision?d.snippet_revision:void 0,runtime_profile:String(d.runtime_profile),experiment_count:e.experiments?.length??0,assignment_count:bm.assignments.length,mutation_count:u,script_exec_start:ep(n,"script_exec_start"),anti_flicker_inserted_at:r,assignment_ready_at:i,first_mutation_at:ep(n,"first_mutation_at"),reveal_at:a,hidden_duration_ms:r&&a?Math.max(0,a-r):void 0,current_page_hide_selector_count:ep(n,"current_page_hide_selector_count"),delivery_state:"string"==typeof e.deliveryState?e.deliveryState:void 0,script_cache_source:"string"==typeof e.scriptCacheSource?e.scriptCacheSource:void 0,install_surface:String(d.install_surface),first_install_surface:String(d.first_install_surface),...tp(n)}}function ip(){if(!bm.pendingPerf||!bm.tracker)return;let e=bm.pendingPerf;bm.pendingPerf=null;let t=bm.assignments.length>0?bm.assignments[0]:null,n={type:"sdk_perf",data:kp({...e,...tp(Yd())},t?.experimentId,t?.variationId),url:o(),experimentId:t?.experimentId,variationId:t?.variationId};bm.tracker.track(n);let i=Z?.promise??te,r=t?.experimentId,a=t?.variationId,s=o();i.then(e=>{!e||bm.screenshotMode||Uu()||!bm.tracker||bm.tracker.track({type:"sdk_cwv",data:kp({...e,cwv_finalized:!0},r,a),url:s,experimentId:r,variationId:a})})}function rp(e,t=Date.now()){return e.filter(e=>"string"==typeof e.e&&e.e&&"string"==typeof e.v&&e.v&&"number"==typeof e.t&&Number.isFinite(e.t)&&t-e.t<=$m).sort((e,t)=>e.t-t.t).slice(-Em)}function ap(){if(!Xu())return[];try{let e=globalThis.localStorage?.getItem(Cm),t=e?JSON.parse(e):[];return Array.isArray(t)?rp(t):[]}catch{return[]}}function op(){if(globalThis.document)try{globalThis.document.cookie=`${dm}=; Max-Age=0; Path=/; SameSite=Lax`}catch{}}function sp(){return Math.random().toString(36).slice(2)+Date.now().toString(36)}function lp(){if(Uu())return op(),[];if(!globalThis.document||!bm.userId)return[];let e=function(){let e=new Map,t=ap();for(let n=t.length-1;n>=0;n--){let i=t[n];if(!e.has(i.e)&&(e.set(i.e,i),e.size>=10))break}return Array.from(e.values()).reverse()}();try{let t=function(e,t,n){let i=n.slice();for(;;){let n=`1|${e}|${t}|${i.map(e=>`${e.e}:${e.v}`).join(",")}`,r=encodeURIComponent(n);if(r.length<=fm)return r;if(0===i.length)return null;i=i.slice(1)}}(bm.userId,function(){let e=bm.tracker?.getSessionId();if(e)return e;try{let e=globalThis.sessionStorage?.getItem(mm);if(e)return e;let t=sp();return globalThis.sessionStorage?.setItem(mm,t),t}catch{return sp()}}(),e);if(!t)return op(),e;globalThis.document.cookie=`${dm}=${t}; Path=/; SameSite=Lax; Max-Age=${pm}`}catch{op()}return e}function cp(){let e=new Map;for(let t of ap())e.set(t.e,{experimentId:t.e,variationId:t.v});for(let t of bm.assignments)e.set(t.experimentId,{experimentId:t.experimentId,variationId:t.variationId});return Array.from(e.values()).slice(0,Em)}function up(e){if("number"==typeof e&&Number.isFinite(e))return String(e);if("string"!=typeof e)return null;let t=e.trim();return t?t.slice(0,255):null}function dp(){if(typeof window>"u"||typeof document>"u")return null;let e=typeof location<"u"?location.href:"";if(bm.orderIdentityDetectionUrl===e&&void 0!==bm.orderIdentityDetection)return bm.orderIdentityDetection;let t=window,n=[t.__apexOrderIdentity,Gu(t,"__apexShopware.orderIdentity"),Gu(t,"__apexShopware.order")],i=Array.isArray(t.dataLayer)?t.dataLayer:[];for(let e of i){if(!e||"object"!=typeof e||Array.isArray(e))continue;let t=up(e.event);"purchase"!==t&&"transaction"!==t&&"checkout_completed"!==t||(n.push(Gu(e,"ecommerce.purchase")),n.push(Gu(e,"ecommerce")),n.push(e))}let r=null,a=null,o=function(){if("shopify"===bm.platform||"shopware"===bm.platform)return bm.platform;let e=globalThis;return e.__apexShopware?"shopware":e.Shopify?"shopify":e.wc||e.woocommerce_params?"woocommerce":"custom"}(),s=!1;for(let e of n){if(!e||"object"!=typeof e||Array.isArray(e))continue;s=!0;let t=e;r||=up(t.platformOrderId??t.orderId??t.order_id??t.transaction_id),a||=up(t.orderNumber??t.order_number??t.number??t.transaction_id);let n=up(t.platform);("shopify"===n||"shopware"===n||"woocommerce"===n||"centra"===n||"custom"===n)&&(o=n)}if(!s){let e=document.querySelector("[data-apex-order-id]"),t=document.querySelector("[data-apex-order-number]"),n=up(e?.dataset.apexOrderId),i=up(t?.dataset.apexOrderNumber);(n||i)&&(s=!0,r||=n,a||=i)}if(s)try{let e=new URLSearchParams(location.search);r||=up(e.get("platformOrderId")??e.get("orderId")??e.get("order_id")),a||=up(e.get("orderNumber")??e.get("order_number")??e.get("transaction_id"))}catch{}let l=s&&(r||a)?{platform:o,platformOrderId:r,orderNumber:a}:null;return bm.orderIdentityDetectionUrl=e,bm.orderIdentityDetection=l,l}function pp(e){if(bm.screenshotMode||Uu()||!bm.tracker)return;let t=function(e){return e.endpoint?yd(e.endpoint)+"/order-identity":null}(e);!t||!e.shopId||!e.ingestSignature||window.setTimeout(()=>{let n=dp();if(!n)return;let i=cp();if(0===i.length)return;let r=function(e,t){return["drip:order_identity",e.platform,e.platformOrderId||"",e.orderNumber||"",t.map(e=>`${e.experimentId}:${e.variationId}`).join(",")||"none"].join(":").slice(0,240)}(n,i);try{if("1"===sessionStorage.getItem(r))return}catch{}if(bm.orderIdentityInFlight.has(r))return;bm.orderIdentityInFlight.add(r);let a={_shopId:e.ingestShopId??e.shopId,_signature:e.ingestSignature,platform:n.platform,platformOrderId:n.platformOrderId,orderNumber:n.orderNumber,visitorId:bm.userId??"",sessionId:bm.tracker?.getSessionId()??"",assignments:i,url:o()},s=JSON.stringify(a),l=()=>{try{typeof navigator<"u"&&"function"==typeof navigator.sendBeacon&&navigator.sendBeacon(t,new Blob([s],{type:"application/json"}))}catch{}};window.addEventListener("pagehide",l,{once:!0}),fetch(t,{method:"POST",headers:{"Content-Type":"application/json"},body:s,keepalive:!0}).then(e=>{e.status>=200&&e.status<300&&((()=>{try{sessionStorage.setItem(r,"1")}catch{}})(),window.removeEventListener("pagehide",l))}).catch(()=>{}).finally(()=>{bm.orderIdentityInFlight.delete(r)})},0)}function fp(e,t,n,i){return 0===e?i?"control":"no_mutations":t>=e&&0===n?"applied":t>0?"partial":"miss"}function mp(e,t){if(bm.analyticsStarted)return;if(bm.pendingInitialApply)return void bm.pendingInitialApply.then(()=>{bm.config===e&&mp(e,t)});if(bm.screenshotMode||Uu()||!bm.trackingPrerequisiteMet)return;let n="empty_project"===e.runtimeProfile&&bm.perfFlags.perf_empty_project_v1;(function(e){if(bm.tracker||bm.screenshotMode||bm.trackingDisabledByDnt)return;let t=xd(e);t&&(bm.tracker=new Ks({endpoint:t,shopId:e.shopId,ingestShopId:e.ingestShopId??e.shopId,ingestSignature:e.ingestSignature,visitorId:bm.userId??void 0,getActiveAssignment:()=>{let e=bm.assignments.length>0?bm.assignments[0]:null;return e?{experimentId:e.experimentId,variationId:e.variationId}:null},buildPageExitEvents:Jd,qaMode:bm.qaMode,qaSessionId:bm.qaSessionId,environment:e.environments?.activeKey||"production"}),ai("tracker","Tracker started",{endpoint:t,qaMode:bm.qaMode}),bm.tracker.start())})(e),n||(function(e){if(!Xu()||bm.qaMode)return;let t=pf(e);for(let e of bm.assignments){if(Tm.has(e)||e.kind&&"experiment"!==e.kind||bm.forceMap?.[e.experimentId])continue;let n=t.get(e.experimentId);!n||!Ap(n)||!n.variations.some(t=>t.id===e.variationId)||L(n,e.variationId)}}(t),of()),ip(),function(){if(!bm.tracker||Uu()||0===bm.pendingDeliveryHealth.length)return;let e=bm.pendingDeliveryHealth.splice(0);for(let t of e)bm.tracker.track(t)}();let i=lp();n||(function(e){if(!e.length)return;let t=new Set(e.map(e=>`${e.e}:${e.v}`));for(let e of bm.assignments)Tm.has(e)&&t.has(`${e.experimentId}:${e.variationId}`)&&bm.exposedAssignmentKeys.add(Cd(e))}(i),Dd(e),Nd(bm.assignments,t),Rd(bm.assignments,t),function(e){!bm.tracker||Uu()||bm.semanticController||Promise.resolve().then(()=>(sc(),Yl)).then(({startSemanticCapture:t})=>{!bm.tracker||Uu()||bm.semanticController||(bm.semanticController=t(e.semanticTracking,If))}).catch(()=>{})}(e)),pp(e),bm.analyticsStarted=!0,n||uf(e),Ru("track","Analytics stage started",{assignments:bm.assignments.length}),s(Bd),bm.consentRequired&&!n&&lf()}function gp(e,t){wd();let n=()=>{wd(),mp(e,t)},i=bm.trackingIdleTimeoutMs;bm.analyticsTimeoutId=window.setTimeout(n,i);let r=globalThis.requestIdleCallback;"function"==typeof r&&(bm.analyticsIdleId=r(n,{timeout:i}))}function hp(){if(bm.tracker||!bm.config||Uu()||!bm.trackingPrerequisiteMet)return;let e=bm.config.experiments??[];mp(bm.config,e)}function vp(e,t){return im+e+":"+(t||"production")}function yp(e){try{let t=globalThis[e];if(!t)return!1;let n="__drip_storage_probe__";return t.setItem(n,"1"),t.removeItem(n),!0}catch{return!1}}function xp(e,t,n,i,r,a){try{return JSON.stringify({experiments:e,exclusionGroups:t??[],profile:n??null,runtime:i??null,signals:r??[],commerce:a??null})}catch{return""}}function bp(e,t,n){if(!t||"object"!=typeof t)return n?{...e,profile:n}:e;let i=t,r=i.antiFlicker&&"object"==typeof i.antiFlicker?i.antiFlicker:{},a=i.snippet&&"object"==typeof i.snippet?i.snippet:{},o=i.prerequisites&&"object"==typeof i.prerequisites?i.prerequisites:{},s=i.debug&&"object"==typeof i.debug?i.debug:void 0,l=i.pageTrigger&&"object"==typeof i.pageTrigger?i.pageTrigger:void 0,c=i.consentMode&&"object"==typeof i.consentMode?i.consentMode:void 0,u=i.spa&&"object"==typeof i.spa?i.spa:void 0,d=i.externalTracking&&"object"==typeof i.externalTracking?i.externalTracking:void 0,p=Array.isArray(i.dataLayerTriggers)?i.dataLayerTriggers:void 0,f=i.exposureDestinations&&"object"==typeof i.exposureDestinations?i.exposureDestinations:void 0,m=i.projectCode&&"object"==typeof i.projectCode?i.projectCode:void 0,g=i.environments&&"object"==typeof i.environments?i.environments:void 0,h=i.bucketingCleanup&&"object"==typeof i.bucketingCleanup?i.bucketingCleanup:void 0,v=i.dataProtection&&"object"==typeof i.dataProtection?i.dataProtection:void 0,y=i.semanticTracking&&"object"==typeof i.semanticTracking?i.semanticTracking:void 0,x=i.runtimeControl&&"object"==typeof i.runtimeControl?i.runtimeControl:void 0;return{...e,profile:n??e.profile,antiFlickerMode:r.mode??e.antiFlickerMode,antiFlickerTimeoutMs:r.timeoutMs??e.antiFlickerTimeoutMs,antiFlickerCustomCss:r.customCss??e.antiFlickerCustomCss,configCacheTtlMs:a.configCacheTtlMs??e.configCacheTtlMs,projectPrerequisites:{...e.projectPrerequisites,showVariationsRule:o.showVariationsRule??e.projectPrerequisites?.showVariationsRule,startTrackingRule:o.startTrackingRule??e.projectPrerequisites?.startTrackingRule},consentMode:c?{...e.consentMode,...c}:e.consentMode,debug:s?{...e.debug,...s}:e.debug,pageTrigger:l?{...e.pageTrigger,...l}:e.pageTrigger,spa:u?{...e.spa,...u}:e.spa,externalTracking:d?{...e.externalTracking,...d}:e.externalTracking,dataLayerTriggers:p??e.dataLayerTriggers,exposureDestinations:f?{...e.exposureDestinations,...f}:e.exposureDestinations,projectCode:m?{...e.projectCode,...m}:e.projectCode,environments:g?{...e.environments,...g}:e.environments,bucketingCleanup:h?{...e.bucketingCleanup,...h}:e.bucketingCleanup,dataProtection:v?{...e.dataProtection,...v}:e.dataProtection,semanticTracking:y?{...e.semanticTracking,...y}:e.semanticTracking,runtimeControl:x?{...e.runtimeControl,...x}:e.runtimeControl}}function wp(e,t,n){return e.hashAttribute&&null!=n[e.hashAttribute]?String(n[e.hashAttribute]):t}function _p(e,t,n,i){return{experimentId:e.id,experimentName:e.name,variationId:t.id,index:n,mutations:t.mutations,value:t.value,featureFlag:e.featureFlag,personalization:e.personalization,kind:e.kind??(e.personalization?"personalization":e.featureFlag?"feature_flag":"experiment"),experimentCss:e.css,experimentJs:e.js,experimentResetJs:e.resetJs,css:t.css,js:t.js,resetJs:t.resetJs,externalCssUrl:t.externalCssUrl,externalJsUrl:t.externalJsUrl,harnessSession:t.harnessSession,isControl:!!t.isControl,hashValue:i,assignmentEpoch:R.assignmentEpoch(e)}}function Sp(e){if(Xu()&&!bm.qaMode&&!bm.screenshotMode)return function(e,t=z()){let n=new Set(e.map(e=>e.id)),i=!1;for(let e of Object.keys(t))n.has(e)||(delete t[e],i=!0);return i&&j(t),t}(e)}function Ip(e,t,n,i,r,a){let o=_p(e,t.variation,t.index,n);"persisted_assignment_off_target"===a&&Tm.add(o),i.push({id:"traffic",label:"Traffic allocation",status:"skipped",reason:"persisted_assignment"},{id:"assignment",label:"Variation assignment",status:"passed",reason:a,detail:{variationId:t.variation.id,index:t.index,epoch:t.record.epoch}});for(let t of i.slice(-2))Ou(e,t);return Fu(`Reused persisted variation ${t.variation.id}`,{experimentId:e.id,index:t.index,epoch:t.record.epoch,offTarget:"persisted_assignment_off_target"===a}),ai("eval",`${e.id}: persisted → variation ${t.index}`,{variationId:t.variation.id,epoch:t.record.epoch,offTarget:"persisted_assignment_off_target"===a}),Ru("eval",`${e.id}: persisted → var ${t.index}`,{variationId:t.variation.id,epoch:t.record.epoch,offTarget:"persisted_assignment_off_target"===a}),{assignment:o,diagnostic:Mp(e,i,o,a,!1,r)}}function kp(e,t,n){if(!t||!n)return e;let i=bm.assignments.find(e=>e.experimentId===t&&e.variationId===n);return!i?.assignmentEpoch||i.kind&&"experiment"!==i.kind?e:{...e??{},assignment_epoch:i.assignmentEpoch}}function Ap(e){return!e.kind||"experiment"===e.kind}function Mp(e,t,n,i,r=!1,a){let o=t.find(e=>"failed"===e.status);return{experimentId:e.id,experimentName:e.name,status:n?"passed":"failed",reason:i??o?.reason,assignedVariationId:n?.variationId,assignedVariationIndex:n?.index,forced:r,gates:t,...a?{targetingConditions:a}:{}}}function Cp(e,t){let n=[];if(Fu(`Initiated experiment ${function(e,t){return t&&t!==e?`"${t}" (${e})`:e}(e.id,e.name)}`,{kind:e.kind??"experiment",status:e.status??"running",variations:e.variations.length}),!e.variations.length)return n.push({id:"assignment",label:"Variation assignment",status:"failed",reason:"no_variations"}),ai("eval",`${e.id}: skip (no variations)`),Ru("eval",`${e.id}: skip (no variations)`),{assignment:null,diagnostic:Mp(e,n,null,"no_variations")};let i=bm.forceMap?.[e.id],r=i?e.variations.findIndex(e=>e.id===i):-1,a=r>=0?e.variations[r]:null,o=!e.status||"running"===e.status;if(n.push({id:"environment",label:"Experiment status",status:a?"skipped":o?"passed":"failed",reason:a?"forced_variation":o?"running":`status_${e.status}`}),Ou(e,n[n.length-1]),!a&&!o)return ai("eval",`${e.id}: skip (status=${e.status})`),Ru("eval",`${e.id}: skip (status=${e.status})`),{assignment:null,diagnostic:Mp(e,n,null,`status_${e.status}`)};let s=wp(e,t.userId,t.attributes),l=t.persistedAssignments&&Ap(e)?function(e,t=z()){let n=t[e.id];if(!n||n.epoch!==C(e))return null;let i=e.variations.findIndex(e=>e.id===n.variationId);return i<0?null:{variation:e.variations[i],index:i,record:n}}(e,t.persistedAssignments):null,c=Rs(e.targeting,{url:t.url,attributes:t.attributes});n.push(...c.gates);for(let t of c.gates)Ou(e,t);if(!c.matched){let i=!!c.gates.some(e=>"page"===e.id&&"failed"===e.status)&&Rs({...e.targeting,url:[],pageRules:[],rules:[]},{url:t.url,attributes:t.attributes}).matched;if(l&&"persistent"===ff(e)&&i)return Ip(e,l,s,n,c.conditions,"persisted_assignment_off_target");let r=c.gates.find(e=>"failed"===e.status)?.reason??"targeting_mismatch";return ai("eval",`${e.id}: skip (targeting mismatch)`),Ru("eval",`${e.id}: skip (targeting mismatch)`),{assignment:null,diagnostic:Mp(e,n,null,r,!1,c.conditions)}}if(a){let o=_p(e,a,r,t.userId);n.push({id:"traffic",label:"Traffic allocation",status:"skipped",reason:"forced_variation"},{id:"assignment",label:"Variation assignment",status:"passed",reason:"forced_variation"});for(let t of n.slice(-2))Ou(e,t);return Fu(`Initiated variation ${i}`,{experimentId:e.id,index:r,forced:!0}),ai("eval",`${e.id}: FORCED → variation ${r}`,{variationId:i}),Ru("eval",`${e.id}: FORCED → var ${r}`,{variationId:i}),{assignment:o,diagnostic:Mp(e,n,o,"forced_variation",!0,c.conditions)}}if(l)return Ip(e,l,s,n,c.conditions,"persisted_assignment");let u=re(e.id,s),d=G(u,e.trafficAllocation??1);if(n.push({id:"traffic",label:"Traffic allocation",status:d?"passed":"failed",reason:d?"included":"outside_allocation",detail:{hashValue:u,allocation:e.trafficAllocation??1}}),Ou(e,n[n.length-1]),!d)return ai("eval",`${e.id}: skip (outside traffic allocation)`,{hashValue:u,allocation:e.trafficAllocation}),Ru("eval",`${e.id}: skip (traffic allocation)`,{hashValue:u,allocation:e.trafficAllocation}),{assignment:null,diagnostic:Mp(e,n,null,"outside_allocation",!1,c.conditions)};let p=H((e.trafficAllocation??1)>=1?u:ae(e.id,s),e.variations.map(e=>e.weight));if(p<0||p>=e.variations.length)return n.push({id:"assignment",label:"Variation assignment",status:"failed",reason:"invalid_weighting"}),{assignment:null,diagnostic:Mp(e,n,null,"invalid_weighting",!1,c.conditions)};let f=e.variations[p],m=_p(e,f,p,s);return Xu()&&!bm.qaMode&&Ap(e)&&L(e,f.id),n.push({id:"assignment",label:"Variation assignment",status:"passed",reason:"assigned",detail:{variationId:f.id,index:p}}),Ou(e,n[n.length-1]),Fu(`Initiated variation ${f.id}`,{experimentId:e.id,index:p,hashValue:u}),ai("eval",`${e.id}: assigned → variation ${p}`,{variationId:f.id,hashValue:u}),Ru("eval",`${e.id}: → var ${p} (${f.id})`,{variationId:f.id,hashValue:u}),{assignment:m,diagnostic:Mp(e,n,m,"assigned",!1,c.conditions)}}function Ep(e,t){return Cp(e,t).assignment}function $p(e,t){let n=new Set,i=new Set,r=[];for(let t of e){let e=t.personalization?.key;e&&n.has(e)?i.add(t.experimentId):(r.push(t),e&&!1!==t.personalization?.stopAfterMatch&&n.add(e))}return t&&0!==i.size?{assignments:r,diagnostics:t.map(e=>i.has(e.experimentId)?function(e){let{assignedVariationId:t,assignedVariationIndex:n,...i}=e;return{...i,status:"failed",reason:"personalization_stopped_after_prior_match",gates:[...e.gates,{id:"personalization_priority",label:"Personalization priority",status:"failed",reason:"stopped_after_prior_match"}]}}(e):e)}:{assignments:r,diagnostics:t}}function Tp(e,t,n){return{...e,gates:[...e.gates,{id:"exclusion_group",label:"Exclusion group",status:"passed",reason:t,detail:n}]}}function Pp(e,t,n){let{assignments:i,decisions:r}=function(e,t,n){let i=[];if(!t||0===t.length)return{assignments:e,decisions:i};let r=!1!==n.persist,a=new Set(n.forcedExperimentIds??[]),o=n.store??He,s=new Map;for(let t of e)s.set(t.experimentId,t);let l=new Set;for(let e of t){if(!e?.id||!Array.isArray(e.members)||0===e.members.length)continue;let t=Fe(e.epoch),c=e.members.some(e=>s.has(e.experimentId)&&a.has(e.experimentId)),u=r&&!c,d=e.members.filter(e=>s.has(e.experimentId)&&!a.has(e.experimentId));if(d.length<=1){1===d.length&&d[0].share>0&&u&&o.write(e.id,{experimentId:d[0].experimentId,epoch:t});continue}let p,f=d.map(e=>e.experimentId),m=u?o.read(e.id):null,g=!1,h=m?d.find(e=>e.experimentId===m.experimentId):void 0,v=d.some(e=>e.share>0);if(m&&m.epoch===t&&h&&(h.share>0||!v))p=m.experimentId,g=!0;else{let i=d.map(e=>Number.isFinite(e.share)&&e.share>0?e.share:0),r=i.some(e=>e>0)?i:i.map(()=>1),a=H(re(`${e.id}:exclusion`,n.userId),r);p=d[Math.max(0,Math.min(a,d.length-1))].experimentId,u&&o.write(e.id,{experimentId:p,epoch:t})}let y=f.filter(e=>e!==p);for(let e of y)l.add(e);i.push({groupId:e.id,conflictingExperimentIds:f,winnerExperimentId:p,suppressedExperimentIds:y,sticky:g})}return 0===l.size?{assignments:e,decisions:i}:{assignments:e.filter(e=>!l.has(e.experimentId)),decisions:i}}(e,t.exclusionGroups,{userId:t.userId,forcedExperimentIds:bm.forceMap?Object.keys(bm.forceMap):[],persist:Xu()&&!bm.qaMode}),a=n;if(n&&t.exclusionGroups?.length){let i=new Map,o=new Map;for(let e of r){e.winnerExperimentId&&o.set(e.winnerExperimentId,e);for(let t of e.suppressedExperimentIds)i.set(t,e)}let s=new Set(e.map(e=>e.experimentId)),l=new Set(bm.forceMap?Object.keys(bm.forceMap):[]);a=n.map(e=>{let n=i.get(e.experimentId);if(n)return function(e,t){let{assignedVariationId:n,assignedVariationIndex:i,...r}=e,a=t.sticky?"exclusion_group_sticky_other":"exclusion_group_overlap_lost";return{...r,status:"failed",reason:a,gates:[...e.gates,{id:"exclusion_group",label:"Exclusion group",status:"failed",reason:a,detail:{groupId:t.groupId,winnerExperimentId:t.winnerExperimentId}}]}}(e,n);let r=o.get(e.experimentId);if(r)return Tp(e,r.sticky?"exclusion_group_sticky_winner":"exclusion_group_overlap_winner",{groupId:r.groupId,conflictingExperimentIds:r.conflictingExperimentIds});let a=t.exclusionGroups?.find(t=>t.members.some(t=>t.experimentId===e.experimentId));if(!a||!s.has(e.experimentId)||l.has(e.experimentId))return e;let c=a.members.map(e=>e.experimentId).filter(e=>s.has(e)&&!l.has(e));return 1===c.length?Tp(e,"exclusion_group_no_overlap",{groupId:a.id,conflictingExperimentIds:c}):e})}let o=$p(i,a);return{assignments:o.assignments,diagnostics:o.diagnostics??a,decisions:r}}function zp(e,t){let n=t?.url??location.href,i=As(t?.attributes??{},n,{persistSignals:t?.persistSignals}),r=fe(t?.userId),a=[],o=Sp(e);for(let t of e){let e=Ep(t,{url:n,attributes:i,userId:r,persistedAssignments:o});e&&a.push(e)}return Pp(a,{userId:r,exclusionGroups:t?.exclusionGroups}).assignments}function jp(e,t){let n=t?.url??location.href,i=As(t?.attributes??{},n,{persistSignals:t?.persistSignals}),r=fe(t?.userId),a=[],o=[],s=t&&"persistedAssignments"in t?t.persistedAssignments??void 0:Sp(e);for(let t of e){let e=Cp(t,{url:n,attributes:i,userId:r,persistedAssignments:s});o.push(e.diagnostic),e.assignment&&a.push(e.assignment)}let l=Pp(a,{userId:r,exclusionGroups:t?.exclusionGroups},o);return{assignments:l.assignments,diagnostics:l.diagnostics??o}}function Lp(e,t){if(!e)return!1;try{let n=new URL(t,location.href),i=e.includes("://")||e.startsWith("/")?e:"/"+e,r=new RegExp("^"+function(e){return e.replace(/[.+?^${}()|[\]\\]/g,"\\$&").replace(/\*/g,".*")}(i)+"$");return e.includes("://")?r.test(n.href):r.test(n.pathname+n.search)||r.test(n.pathname)}catch{return!1}}function qp(e,t){try{let n=new URL(t,location.href),i=new RegExp(e);return i.test(n.href)||i.test(n.pathname+n.search)||i.test(n.pathname)}catch{return!1}}function Dp(e,t){if(!e?.length)return!0;let n=!1,i=!1;for(let r of e){if(!r||"string"!=typeof r.pattern)continue;let e="regex"===r.type?qp(r.pattern,t):Lp(r.pattern,t);if(!1===r.include&&e)return!1;!1!==r.include&&(n=!0,e&&(i=!0))}return!n||i}function Np(e){let[t,n,i]=e;if("string"!=typeof t||!t||"string"!=typeof n)return null;let r={selector:t,action:n};switch(n){case"text":case"setText":return"string"==typeof i?{...r,text:i}:null;case"html":case"insertBefore":case"insertAfter":return"string"==typeof i?{...r,html:i}:null;case"attribute":return!i||"object"!=typeof i||Array.isArray(i)?null:"name"in i?{...r,attribute:i}:{...r,attributes:i};case"style":case"setStyle":return i&&"object"==typeof i&&!Array.isArray(i)?{...r,styles:i}:null;case"remove":return r;default:return null}}function Rp(){try{if(!bm.config||!Nu(bm.config,bm.pageTriggerMode)||!bm.assignments.length)return;Jp(bm.assignments)}catch{}}function Fp(e={}){let t=Zd("reveal_at");Y(),Hd({stage:"revealed",revealAt:t}),cr(),b(),!1!==e.postRevealReassert&&function(){try{let e=()=>Rp();typeof window<"u"&&"function"==typeof window.requestAnimationFrame?window.requestAnimationFrame(e):typeof window<"u"?window.setTimeout(e,0):setTimeout(e,0);let t=bm.config?.spa?.debounceMs??250;typeof window<"u"?window.setTimeout(Rp,t):setTimeout(Rp,t)}catch{}}()}function Op(e,t,n){e.experimentCss&&!n.has(e.experimentId)&&(Fu(`${e.experimentId}: Applying experiment CSS`,{bytes:e.experimentCss.length}),ai("apply",`${e.experimentId}: injecting experiment CSS`),function(e,t){let n="drip-css-exp-"+t,i=document.getElementById(n);i||(i=document.createElement("style"),i.id=n,i.className=Yn,(document.head||document.documentElement).appendChild(i)),i.textContent=e}(e.experimentCss,e.experimentId)),e.css&&(Fu(`${e.experimentId}: Applying CSS`,{variationId:e.variationId,bytes:e.css.length}),ai("apply",`${e.experimentId}: injecting CSS`),function(e,t,n){let i="drip-css-"+t+"-"+n;if(document.getElementById(i))return;let r=document.createElement("style");r.id=i,r.className=Yn,r.textContent=e,(document.head||document.documentElement).appendChild(r)}(e.css,e.experimentId,e.variationId)),e.experimentJs||e.externalCssUrl||e.externalJsUrl||e.js?ld(()=>{if(t!==bm.assignmentApplyGeneration)return;let i=e.experimentId+"-"+e.variationId;e.experimentJs&&!n.has(e.experimentId)&&(Fu(`${e.experimentId}: Applying experiment JS`,{bytes:e.experimentJs.length}),ai("apply",`${e.experimentId}: executing experiment JS`),gi(()=>Fi(e.experimentJs,e.experimentId+"-experiment-js"))),n.add(e.experimentId),(e.externalCssUrl?function(e,t,n){return new Promise((i,r)=>{let a="drip-css-link-"+t+"-"+n,o=document.getElementById(a);if(o&&o.getAttribute("href")===e)return void i();o&&o.remove();let s=document.createElement("link");s.id=a,s.className=Zn,s.rel="stylesheet",s.href=e,s.onload=()=>i(),s.onerror=()=>r(new Error("Failed to load CSS artifact: "+e)),(document.head||document.documentElement).appendChild(s)})}(e.externalCssUrl,e.experimentId,e.variationId).then(()=>{Fu(`${e.experimentId}: External CSS loaded`,{variationId:e.variationId,url:e.externalCssUrl}),ai("apply",`${e.experimentId}: external CSS loaded`),Ru("harness","external CSS loaded",{url:e.externalCssUrl})}).catch(t=>{oi("apply",t instanceof Error?t.message:String(t)),Ru("harness","external CSS failed",{url:e.externalCssUrl})}):Promise.resolve()).then(()=>{t===bm.assignmentApplyGeneration&&(e.externalJsUrl?function(e,t){return"strict"===Oi?(typeof console<"u"&&console.warn("[drip] External JS blocked by strict policy for "+t),Promise.resolve()):new Promise((n,i)=>{let r="drip-external-js-"+t,a=document.getElementById(r);if(a&&a.getAttribute("src")===e)return void n();a&&a.remove();let o=document.createElement("script");o.id=r,o.className=Ui,o.src=e,o.async=!1,o.onload=()=>n(),o.onerror=()=>i(new Error("Failed to load JS artifact: "+e)),(document.head||document.documentElement).appendChild(o)})}(e.externalJsUrl,i).then(()=>{Fu(`${e.experimentId}: External JS loaded`,{variationId:e.variationId,url:e.externalJsUrl}),ai("apply",`${e.experimentId}: external JS loaded`),Ru("harness","external JS loaded",{url:e.externalJsUrl})}).catch(t=>{oi("apply",t instanceof Error?t.message:String(t)),Ru("harness","external JS failed",{url:e.externalJsUrl})}):Promise.resolve()).then(()=>{t===bm.assignmentApplyGeneration&&e.js&&(Fu(`${e.experimentId}: Applying JS`,{variationId:e.variationId,bytes:e.js.length}),ai("apply",`${e.experimentId}: executing JS`),gi(()=>Fi(e.js,i)))})})}):n.add(e.experimentId)}function Up(e,t){Fu("Applying assignment set",{assignments:e.length,activationMode:t}),ai("apply",`Applying ${e.length} assignment(s)`),Ru("apply",`Applying ${e.length} assignment(s)`);let n=++bm.assignmentApplyGeneration,i=new Set,r=bm.config?.commerce,a=!!(r?.price||r?.shipping||r?.offers),s=a?Wp(e):e;a?function(e){if(bm.stopShopifyCartMutationSync?.(),bm.stopShopifyCartMutationSync=null,!nf(e))return bm.config?.commerce?.offers&&(bm.stopShopifyCartMutationSync=Gt(()=>{lo(bm.config?.commerce?.offers,Wp(),zd({recheckTeardown:!0}))})),void lo(bm.config?.commerce?.offers,Wp());bm.stopShopifyCartMutationSync=Gt(()=>{of({chargeCorrectness:!0,force:!0})}),!jm?.applying&&of({chargeCorrectness:!0})}(s):lo(bm.config?.commerce?.offers,Wp());let l=e=>!Pd(e),c=0;for(let t of e)l(t)||(c+=t.mutations.length);let u=r?.price&&it(r.price,s,$d)?1:0;c+=u;let d=0,p=(e,t)=>`${e.experimentId}\0${e.variationId}\0${t}`,f=new Map,m=e=>`${e.experimentId}\0${e.variationId}`;for(let t of e)l(t)||f.set(m(t),{assignment:t,expected:t.mutations.length,applied:new Set,missed:new Set,emitted:!1});let g=e=>{e.emitted||e.expected>0&&e.applied.size+e.missed.size<e.expected||(e.emitted=!0,function(e,t){if(bm.screenshotMode)return;let n={type:"delivery_health",data:{expected_mutations:t.expectedMutations,applied_mutations:t.appliedMutations,selector_misses:t.selectorMisses,apply_status:fp(t.expectedMutations,t.appliedMutations,t.selectorMisses,e.isControl),assignment_index:e.index,is_control:e.isControl,entity_kind:e.kind??"experiment",activation_mode:t.activationMode,config_source:bm.configSource,platform:bm.platform,apply_generation:t.applyGeneration,delivery_state:"string"==typeof bm.config?.deliveryState?bm.config.deliveryState:void 0,assignment_epoch:e.kind&&"experiment"!==e.kind?void 0:e.assignmentEpoch},url:o(),experimentId:e.experimentId,variationId:e.variationId};!bm.tracker||Uu()?(bm.pendingDeliveryHealth.push(n),bm.pendingDeliveryHealth.length>50&&bm.pendingDeliveryHealth.splice(0,bm.pendingDeliveryHealth.length-50)):bm.tracker.track(n)}(e.assignment,{expectedMutations:e.expected,appliedMutations:e.applied.size,selectorMisses:e.missed.size,applyGeneration:n,activationMode:t}))};Hd({stage:"mutations_scheduled",pendingMutations:c,appliedMutations:0,missedMutations:0});let h=new Set,v=new Set,y=!1,x=()=>{!y&&h.size+v.size+d>=c&&(y=!0,Fp())},b=c>0?(e,n,i,r)=>{"observer"===t&&function(e,t,n,i){if("remove"===t.action||"insertBefore"===t.action||"insertAfter"===t.action)return;!function(e){if(typeof MutationObserver>"u"||wr.has(e))return;for(let[e,{observer:t}]of wr)e.isConnected||(t.disconnect(),mi(t),wr.delete(e));let t=[],n=e=>{for(let n of e)for(let e of t)!e.stopped&&hr(e,n)&&vr(e);xr.size&&null===_r&&(_r=requestAnimationFrame(()=>{_r=null;let e=Date.now();for(let t of xr){if(t.stopped)continue;if(t.times=t.times.filter(t=>e-t<1e4),12===t.times.length){t.stopped=!0;let e=gr();e&&(e.reassert_loop_detected=!0);continue}if("html"===t.mutation.action&&mr(t,br.has(t))){fr(t);continue}t.times.push(e),gi(()=>t.apply(t.el,t.mutation)),fr(t);let n=gr();n&&(n.reapply_count=(Number(n.reapply_count)||0)+1),"html"===t.mutation.action&&document.dispatchEvent(new CustomEvent("drip:mutation-reapplied",{detail:{experimentId:t.experimentId,variationId:t.variationId,selector:t.mutation.selector,action:t.mutation.action}}))}xr.clear(),br.clear()}))},i=new MutationObserver(n);wr.set(e,{entries:t,observer:i}),fi(i,n),i.observe(e,{attributes:!0,characterData:!0,childList:!0,subtree:!0})}(e);let r=wr.get(e)?.entries;if(!r)return;let a=r.find(e=>e.mutation===t);if(a)Object.assign(a,n,{appliedAt:Date.now(),apply:i}),fr(a);else{let a={el:e,mutation:t,...n,appliedAt:Date.now(),apply:i,times:[],stopped:!1};fr(a),r.push(a)}}(i,n,{experimentId:e.experimentId,variationId:e.variationId},(e,t)=>$r(t,e));let a=p(e,r);if(h.has(a))return;h.add(a),v.delete(a);let o=f.get(m(e));o&&(o.applied.add(r),o.missed.delete(r),g(o)),Hd({stage:"mutation_applied",firstMutationAt:Zd("first_mutation_at"),pendingMutations:c,appliedMutations:h.size,missedMutations:v.size}),ai("apply",`Mutation applied (${h.size}/${c})`,{selector:n.selector}),x()}:null,w=c>0?(e,t,n)=>{let i=p(e,n);if(h.has(i)||v.has(i))return;v.add(i);let r=f.get(m(e));r&&(r.missed.add(n),g(r)),Hd({stage:"mutation_missed",pendingMutations:c,appliedMutations:h.size,missedMutations:v.size}),oi("apply",`${e.experimentId}: selector did not match before expiry`,{variationId:e.variationId,selector:t.selector}),x()}:null;for(let r of e)if(!l(r)){if(r.mutations.length)Fu(`${r.experimentId}: Applying mutations`,{variationId:r.variationId,count:r.mutations.length,activationMode:t}),ai("apply",`${r.experimentId}: ${r.mutations.length} mutation(s)`,{activationMode:t}),"manual"===t?jr(r.mutations,{onApplied:b?(e,t,n)=>b(r,e,t,n):void 0,onMiss:w?(e,t)=>w(r,e,t):void 0}):r.mutations.forEach((e,t)=>dl(e,t,b?(e,t,n)=>b(r,e,t,n):void 0,w?(e,t)=>w(r,e,t):void 0));else{let e=f.get(m(r));e&&g(e)}Op(r,n,i)}if(r?.price)try{ht(r.price,s,af,()=>{d=u,u&&x()},$d)}catch{d=u,u&&x()}r?.shipping&&Fn(r.shipping,e.filter(Td),qd),(0===c||"manual"===t)&&Fp(),function(e){if(!Zf)return;let t=md(e),n=t?.harnessSession?.manifestUrl;if(!n)return void gd();let i=Math.max(250,t.harnessSession?.pollIntervalMs??750),r=`${n}:${i}`;_m===r&&null!==wm||(gd(),_m=r,vd(n),wm=window.setInterval(()=>vd(n),i),Sm||(Sm=!0,document.addEventListener("visibilitychange",()=>{let e=md(bm.assignments);!document.hidden&&e?.harnessSession?.manifestUrl&&vd(e.harnessSession.manifestUrl)})))}(e)}function Jp(e){let t=e.reduce((e,t)=>(e.push(...t.mutations),e),[]);t.length&&function(e,t={}){let n=t.root||document;e.forEach((e,i)=>{Cr(e.action)||"remove"===e.action||n.querySelectorAll(e.selector).forEach(n=>{gi(()=>$r(e,n)),t.onApplied?.(e,n,i)})})}(t)}function Bp(e){bm.assignmentApplyGeneration++,gd(),bm.stopShopifyCartMutationSync?.(),bm.stopShopifyCartMutationSync=null;for(let t of e)t.resetJs&&Fi(t.resetJs,t.experimentId+"-reset");let t=new Set;for(let n of e)!n.experimentResetJs||t.has(n.experimentId)||(t.add(n.experimentId),Fi(n.experimentResetJs,n.experimentId+"-experiment-reset"));pl.length=0,ml=!1,gl.clear(),fl&&(fl.disconnect(),fl=null),ol(),vt(),On(),function(){null!==_r&&cancelAnimationFrame(_r),_r=null,xr.clear(),br.clear();for(let{observer:e}of wr.values())e.disconnect(),mi(e);wr.clear()}(),gi(()=>{for(let e=qr.length-1;e>=0;e-=1)Er(qr[e])}),qr.length=0,document.querySelectorAll("."+Yn).forEach(e=>e.remove()),document.querySelectorAll("."+Zn).forEach(e=>e.remove()),document.querySelectorAll("."+Ui).forEach(e=>e.remove()),Qi(),Fp({postRevealReassert:!1})}function Gp(){return"qa_"+Math.random().toString(36).slice(2)+Date.now().toString(36)}function Hp(){return jm??={applying:!1,assignments:[],context:null}}function Vp(){return bm.config&&bm.userId?`${bm.config.shopId}\0${bm.userId}`:null}function Wp(e=bm.assignments){let t=jm;if(!t?.assignments.length||t.context!==Vp())return e;let n=new Set(e.map(e=>e.experimentId)),i=new Set(bm.config?.commerce?.price?.authorization?.experimentIds??[]),r=new Set(bm.config?.commerce?.offers?.authorization?.experimentIds??[]),a=new Map((bm.config?.experiments??[]).map(e=>[e.id,e])),o=t.assignments.filter(e=>{if(n.has(e.experimentId)||!i.has(e.experimentId)&&!r.has(e.experimentId))return!1;let t=a.get(e.experimentId);return!!t&&R.assignmentEpoch(t)===e.assignmentEpoch&&t.variations.some(t=>t.id===e.variationId)});return o.length?[...e,...o]:e}function Kp(){for(let e of zm)window.clearTimeout(e);zm=[]}function Qp(e){let t=bm.config,n=t?.commerce?.price;if(!t||!n||!bm.userId)return!1;let i=new Set(n.authorization?.experimentIds??[]);if(0===i.size)return!1;let r=new Map,a=[],o=new Set;for(let s of e){if(o.has(s.experimentId)||!i.has(s.experimentId)||!n.experiments.some(e=>e.experiment_id===s.experimentId))return!1;o.add(s.experimentId);let e=t.experiments?.find(e=>e.id===s.experimentId),l=e?.variations.findIndex(e=>e.id===s.variationId)??-1;if(!e||l<0||s.assignmentEpoch!==R.assignmentEpoch(e))return!1;let c=_p(e,e.variations[l],l,bm.assignments.find(e=>e.experimentId===s.experimentId)?.hashValue??bm.userId);s.commercePriceOnly?a.push(c):r.set(s.experimentId,c)}let s=bm.assignments.filter(e=>!i.has(e.experimentId));for(let t of e){let e=r.get(t.experimentId);e&&s.push(e)}let l=bm.assignments,c=Hp(),u=c.assignments,d=c.context;try{if(Bp(l),bm.assignments=s,c.assignments=[...u.filter(e=>!i.has(e.experimentId)),...a],c.context=Vp(),c.applying=!0,Up(s,bm.activationMode),0===e.length&&vt(),bm.lastAssignmentSignature=Do(s),Xu()&&!bm.qaMode){q(i);for(let n of e){if(n.commercePriceOnly)continue;let e=t.experiments?.find(e=>e.id===n.experimentId);e&&L(e,n.variationId)}}return bm.analyticsStarted&&!Uu()&&bm.trackingPrerequisiteMet&&(Nd(s,t.experiments??[]),Rd(s,t.experiments??[]),lf()),fd(),!0}catch{return bm.assignments=l,c.assignments=u,c.context=d,!1}finally{c.applying=!1}}function Xp(e){let t=bm.config,n=t?.commerce?.offers;if(!t||!n||!bm.userId)return null;let i=new Set(n.authorization?.experimentIds??[]);if(0===i.size)return null;let r=new Map,a=[],o=new Set;for(let n of e){if(o.has(n.experimentId)||!i.has(n.experimentId))return null;o.add(n.experimentId);let e=t.experiments?.find(e=>e.id===n.experimentId),s=e?.variations.findIndex(e=>e.id===n.variationId)??-1;if(!e||s<0||n.assignmentEpoch!==R.assignmentEpoch(e))return null;let l=_p(e,e.variations[s],s,bm.assignments.find(e=>e.experimentId===n.experimentId)?.hashValue??bm.userId);n.commercePriceOnly?a.push(l):r.set(n.experimentId,l)}return{configuredOffersExperimentIds:i,replacements:r,nextCommercePriceOnlyAssignments:a}}function Yp(e){return null!==Xp(e)}function Zp(e){let t=bm.config,n=Xp(e);if(!t||!n)return!1;let{configuredOffersExperimentIds:i,replacements:r,nextCommercePriceOnlyAssignments:a}=n,o=bm.assignments.filter(e=>!i.has(e.experimentId));for(let t of e){let e=r.get(t.experimentId);e&&o.push(e)}let s=bm.assignments,l=Hp(),c=l.assignments,u=l.context;try{if(Bp(s),bm.assignments=o,l.assignments=[...c.filter(e=>!i.has(e.experimentId)),...a],l.context=Vp(),l.applying=!0,Up(o,bm.activationMode),bm.lastAssignmentSignature=Do(o),Xu()&&!bm.qaMode){q(i);for(let n of e){if(n.commercePriceOnly)continue;let e=t.experiments?.find(e=>e.id===n.experimentId);e&&L(e,n.variationId)}}return bm.analyticsStarted&&!Uu()&&bm.trackingPrerequisiteMet&&(Nd(o,t.experiments??[]),Rd(o,t.experiments??[]),lf()),fd(),!0}catch{return bm.assignments=s,l.assignments=c,l.context=u,!1}finally{l.applying=!1}}function ef(e=!1){if(!e&&(Uu()||!bm.trackingPrerequisiteMet)||!bm.assignments.length&&!function(){if(Dm()||Rm())return!0;let e=bm.config?.commerce?.shipping?.authorization;return 1===e?.version&&Number.isSafeInteger(e.revision)&&e.revision>0&&Array.isArray(e.experimentIds)&&e.experimentIds.length>0}()||!bm.userId)return null;let t=Wp(),n=rf(t),i=jm,r=t.map(e=>({experimentId:e.experimentId,variationId:e.variationId,assignmentEpoch:e.kind&&"experiment"!==e.kind?void 0:e.assignmentEpoch,...i?.context===Vp()&&i.assignments.includes(e)?{commercePriceOnly:!0}:{}})),a=new Set(r.map(e=>e.experimentId)),o=bm.config?.exclusionGroups?.map(e=>{let t=e.members.find(e=>a.has(e.experimentId));return t?{groupId:e.id,experimentId:t.experimentId,epoch:Number.isFinite(e.epoch)?Math.max(1,Math.floor(e.epoch??1)):1}:null}).filter(e=>null!==e);return{assignments:r,requiredAssignments:n.size>0?r.filter(e=>n.has(e.experimentId)):void 0,visitorId:bm.userId,sessionId:bm.tracker?.getSessionId()??"",shopId:bm.config?.ingestShopId??bm.config?.shopId,endpoint:bm.config?.endpoint,ingestSignature:bm.config?.ingestSignature,url:typeof location<"u"?location.href:void 0,environment:bm.config?.environments?.activeKey,offersAuthorizationRevision:bm.config?.commerce?.offers?.authorization?.revision,offersExperimentIds:bm.config?.commerce?.offers?.authorization?.experimentIds,shippingAuthorizationRevision:bm.config?.commerce?.shipping?.authorization?.revision,shippingExperimentIds:bm.config?.commerce?.shipping?.authorization?.experimentIds,priceAuthorizationRevision:bm.config?.commerce?.price?.authorization?.revision,priceExperimentIds:bm.config?.commerce?.price?.authorization?.experimentIds,...bm.config?.commerce?.offers?.authorization?.experimentIds?.length?{adoptOffersAssignments:Zp,canAdoptOffersAssignments:Yp,authorizeOffersDisplayAssignments:Ld}:{},onCartSnapshot:e=>{(function(e){let t=e;if(!Array.isArray(t?.items))return!1;let n="string"==typeof t.token&&t.token?t.token:null,i=!1;for(let e of t.items){if(!e||"object"!=typeof e)continue;let t=io(e);if(null==t)continue;let r=ro(e),a=Wa(t);Ya(t,n,r?`gid://shopify/ProductVariant/${r}`:void 0,(a&&Xa(a,n)?Qa(a):null)??void 0),i=!0}return i})(e)&&lo(bm.config?.commerce?.offers,Wp(),zd())},...Dm()?{adoptPriceAssignments:Qp,authorizePriceDisplayAssignments:e=>{bm.authorizedPriceAssignmentKeys=new Set(e.map(Ed))}}:{},...Nm()?{authorizeShippingDisplayAssignments:e=>{bm.authorizedShippingAssignmentKeys=new Set(e.map(Ed))}}:{},exclusionGroupSelections:o?.length?o:void 0}}function tf(e){let t=bm.config?.commerce?.[e]?.authorization;return 1===t?.version&&Number.isSafeInteger(t.revision)&&t.revision>0&&Array.isArray(t.experimentIds)&&t.experimentIds.length>0}function nf(e=bm.assignments){return Dm()||Rm()||function(e=bm.assignments){return rf(e).size>0}(Wp(e))}function rf(e=bm.assignments){let t=new Map(e.filter(e=>!e.isControl).map(e=>[e.experimentId,e.variationId])),n=new Set;bm.config?.commerce?.price?.experiments.forEach(i=>{let r=t.get(i.experiment_id),a=e.find(e=>e.experimentId===i.experiment_id);null!=r&&(null==i.assignment_epoch||i.assignment_epoch===a?.assignmentEpoch)&&i.variants[r]?.some(e=>"string"==typeof e.fixedPricePerUnit)&&n.add(i.experiment_id)});let i=new Set(bm.config?.commerce?.offers?.authorization?.experimentIds??[]);for(let e of i)t.has(e)&&n.add(e);let r=bm.config?.commerce?.shipping,a=new Set(r?.authorization?.experimentIds??[]);return r?.experiments.forEach(i=>{let r=t.get(i.experiment_id),o=e.find(e=>e.experimentId===i.experiment_id),s=null==r?void 0:i.variants[r];a.has(i.experiment_id)&&(null==i.assignment_epoch||i.assignment_epoch===o?.assignmentEpoch)&&"none"!==s?.treatment&&function(e){return Xn.get(e)??!0}(i.experiment_id)&&n.add(i.experiment_id)}),n}function af(){return!qm?.confirmationPending&&("pending"===bm.lastShopifyCartSync?.status?"pending":"sent"===bm.lastShopifyCartSync?.status)}function of(e={}){let t=!0===e.chargeCorrectness&&nf();if(!t&&(Uu()||!bm.trackingPrerequisiteMet))return;let n=ef(t);if(!n)return;let i=++Lm,r=ba(n);Dm()&&bm.authorizedPriceAssignmentKeys?.clear(),Nm()&&bm.authorizedShippingAssignmentKeys?.clear(),bm.lastShopifyCartSync={at:Date.now(),status:r?"failed":"pending",reason:r?"authorization_failed":void 0,assignmentCount:bm.assignments.length},Ca(n,{force:e.force}).then(e=>{i===Lm&&(bm.lastShopifyCartSync={at:Date.now(),status:e.status,reason:e.reason,assignmentCount:bm.assignments.length},"failed"===e.status&&lo(bm.config?.commerce?.offers,Wp(),zd({suppressInsertion:!0})),"sent"===e.status?(lo(bm.config?.commerce?.offers,Wp(),zd()),function(){if(!qt)return;let e=qt;e.deadline=Math.max(e.deadline,Date.now()+Rt),gt(e.settings,e.assignments,e.isCohortStampedOnCart,e.deadline,e.onResolved,e.isAssignmentAuthorized)}(),Fn(bm.config?.commerce?.shipping,bm.assignments.filter(Td),qd),bm.analyticsStarted&&bm.config&&!Uu()&&Dd(bm.config)):Dm()&&vt())})}function sf(){if(!Uu()&&bm.trackingPrerequisiteMet)try{let e=window.Shopify?.analytics?.publish;if("function"!=typeof e)return void(bm.lastShopifyAssignmentSync={at:Date.now(),status:"skipped",reason:"shopify_publish_missing",assignmentCount:bm.assignments.length});e("drip_assignment_sync",{visitorId:bm.userId,sessionId:bm.tracker?.getSessionId()??"",qaMode:bm.qaMode,qaSessionId:bm.qaSessionId,assignments:bm.assignments.map(e=>({experimentId:e.experimentId,variationId:e.variationId,assignmentEpoch:e.kind&&"experiment"!==e.kind?void 0:e.assignmentEpoch})),flags:{perf_shopify_pixel_buffer_v1:bm.perfFlags.perf_shopify_pixel_buffer_v1}}),bm.lastShopifyAssignmentSync={at:Date.now(),status:"sent",assignmentCount:bm.assignments.length}}catch(e){bm.lastShopifyAssignmentSync={at:Date.now(),status:"failed",reason:e instanceof Error?e.message:String(e),assignmentCount:bm.assignments.length}}else bm.lastShopifyAssignmentSync={at:Date.now(),status:"skipped",reason:"tracking_blocked",assignmentCount:bm.assignments.length}}function lf(){if(Kp(),"empty_project"!==bm.config?.runtimeProfile||!bm.perfFlags.perf_empty_project_v1)for(let e of Pm)e<=0?sf():zm.push(window.setTimeout(sf,e))}function cf(e){return ca(e.projectPrerequisites?.showVariationsRule,ua(e,bm.userId,bm.consentRequired,bm.consentGranted,"show_variations"),!0)}function uf(e){let t={id:"environment",label:"Project variation gate",status:bm.variationPrerequisiteMet?"passed":"failed",reason:bm.variationPrerequisiteMet?"show_variations_allowed":"show_variations_blocked"},n={id:"tracking",label:"Tracking gate",status:Uu()||!bm.trackingPrerequisiteMet?"failed":"passed",reason:Uu()?"consent_or_dnt_blocked":bm.trackingPrerequisiteMet?"start_tracking_allowed":"start_tracking_blocked"},i={id:"goals",label:"Goal listeners",status:bm.analyticsStarted?"passed":"skipped",reason:bm.analyticsStarted?"listeners_active":"tracking_not_started",detail:{goals:(e.experiments??[]).reduce((e,t)=>e+(t.goals?.length??0),0)}};bm.activationDiagnostics.project={gates:[t,n,i]}}function df(e){return ca(e.projectPrerequisites?.startTrackingRule,ua(e,bm.userId,bm.consentRequired,bm.consentGranted,"start_tracking"),!0)}function pf(e){return new Map(e.map(e=>[e.id,e]))}function ff(e){let t=e?.targeting?.lifecycle?.mode;return"deactivate"===t||"force_reset"===t||"persistent"===t?t:"reset"}function mf(){wd(),Kp(),bm.pendingPerf=null,bm.pendingDeliveryHealth=[],Qi(),Fd(),Od(),bm.tracker&&(bm.tracker.stop(),bm.tracker=null),bm.analyticsStarted=!1,bm.exposedAssignmentKeys.clear(),bm.config&&"empty_project"!==bm.config.runtimeProfile&&uf(bm.config)}function gf(e,t=!1,n=!1){if(!bm.config||!bm.userId)return bm.assignments;if(bm.pendingInitialApply)return bm.queuedRecheck?(bm.queuedRecheck.reason=e,bm.queuedRecheck.forceReapply=bm.queuedRecheck.forceReapply||t):(bm.queuedRecheck={reason:e,forceReapply:t},bm.pendingInitialApply.then(()=>{let e=bm.queuedRecheck;bm.queuedRecheck=null,e&&gf(e.reason,e.forceReapply)})),bm.assignments;if(!n&&Or()){let n=Jr(bm.config.spa?.hydrationTimeoutMs??3e3,{waitForHydration:!1}).then(()=>{bm.pendingInitialApply===n&&(bm.pendingInitialApply=null),gf(e,t,!0)});return bm.pendingInitialApply=n,bm.assignments}if("empty_project"===bm.config.runtimeProfile&&bm.perfFlags.perf_empty_project_v1)return bm.assignments=[],bm.variationPrerequisiteMet=!0,bm.activationDiagnostics={project:{gates:[]},experiments:[]},bm.lastAssignmentSignature="none",bm.assignments;let i=bm.config.experiments??[];if(Zu(bm.config),od(bm.config),bm.variationPrerequisiteMet=cf(bm.config),uf(bm.config),!bm.variationPrerequisiteMet)return bm.assignments.length>0&&Bp(bm.assignments),bm.assignments=[],bm.activationDiagnostics.experiments=[],bm.lastAssignmentSignature="none",cr(),ai("eval",`Variations blocked by project prerequisite (${e})`),fd(),bm.assignments;let r=jp(i,{url:location.href,attributes:bm.config.attributes??{},userId:bm.userId,persistSignals:Xu(),exclusionGroups:bm.config.exclusionGroups}),a=function(e,t,n){if(!e.length)return t;let i=pf(n),r=new Set(t.map(e=>e.experimentId)),a=e.filter(e=>!r.has(e.experimentId)&&"persistent"===ff(i.get(e.experimentId)));return a.length?[...t,...a]:t}(bm.assignments,r.assignments,i),o=Pp(a,{userId:bm.userId,exclusionGroups:bm.config.exclusionGroups}).assignments;bm.activationDiagnostics.experiments=r.diagnostics;let s=Do(o),l=o.some(e=>"force_reset"===ff(i.find(t=>t.id===e.experimentId))),c=s!==bm.lastAssignmentSignature||l;return c||t?(Bp(bm.assignments),bm.assignments=o,Up(o,bm.activationMode),bm.lastAssignmentSignature=s,bm.analyticsStarted&&!Uu()&&bm.trackingPrerequisiteMet&&(Nd(bm.assignments,i),Rd(bm.assignments,i),of(),lf(),"url"!==e&&Dd(bm.config))):(bm.assignments=o,Jp(o)),ai("eval",`Re-evaluated assignments (${e})`,{changed:c,count:bm.assignments.length}),fd(),bm.assignments}function hf(){if(bm.config&&bm.userId)gf("manual",!0),fd();else try{location.reload()}catch{}}function vf(){return{config:bm.config,assignments:bm.assignments.slice(),activationDiagnostics:{project:{gates:bm.activationDiagnostics.project.gates.slice()},experiments:bm.activationDiagnostics.experiments.slice()},forceMap:bm.forceMap?{...bm.forceMap}:null,platform:bm.platform,qaMode:bm.qaMode,orderIdentity:dp()}}function yf(e){return xm.add(e),()=>{xm.delete(e)}}function xf(e,t){!e||!t||(bm.forceMap={...bm.forceMap??{},[e]:t},Me(bm.forceMap),hf())}function bf(e){if(e){if(bm.forceMap){let t={...bm.forceMap};delete t[e],bm.forceMap=Object.keys(t).length?t:null}}else bm.forceMap=null;Me(bm.forceMap??{}),hf()}function wf(e,t,n="inline",i=ju(),r=null){let a=Pu(),o=Du(e),c=o.antiFlickerMode,u=o.antiFlickerTimeoutMs,d=o.trackingStart,p=o.trackingIdleTimeoutMs,f=o.customJsPolicy,m=To(e),g=zo(e),h=function(e,t,n){return!("empty_project"!==e.runtimeProfile||!zo(e).perf_empty_project_v1||t.length>0||(e.signals?.length??0)>0||Eo(e.commerce)||(e.dataLayerTriggers?.length??0)>0||(e.externalTracking?.domains?.length??0)>0||Eo(e.exposureDestinations)||function(e){let t=e.projectCode;return!!(t?.enabled||t?.css?.trim()||t?.helperJs?.trim()||t?.js?.trim())}(e)||e.semanticTracking?.enabled||e.debug?.enabled||e.runtimeFeatures&&Object.entries(e.runtimeFeatures).some(([e,t])=>"sdkVariant"!==e&&!0===t)||e.runtimeFeatures?.sdkVariant&&"live"!==e.runtimeFeatures.sdkVariant||e.pageTrigger?.defaultMode&&"direct"!==e.pageTrigger.defaultMode||e.routerMode&&"auto"!==e.routerMode&&"none"!==e.routerMode||e.spa&&(e.spa.reinitOnly||e.spa.domChangeTrigger||"manual"===e.spa.activationMode||e.spa.routerMode&&"auto"!==e.spa.routerMode&&"none"!==e.spa.routerMode)||"spa"===e.profile?.platform||"spa"===e.platformHint||"spa"===n||e.projectPrerequisites?.showVariationsRule?.trim()&&"return true;"!==e.projectPrerequisites.showVariationsRule.trim()||e.projectPrerequisites?.startTrackingRule?.trim()&&"return true;"!==e.projectPrerequisites.startTrackingRule.trim())}(e,t,m),v=Po(e),x=function(e){let t=e.pageTrigger?.defaultMode;return"url_change"===t||"dom_change"===t||"manual"===t?t:"direct"}(e),b=g.perf_platform_router_v1?function(e,t){if(e.spa?.reinitOnly)return"none";let n=e.spa?.routerMode??e.routerMode??"auto";return"auto"!==n?n:"shopify"!==t||e.spa?.domChangeTrigger?$o()?"navigation":"history":"none"}(e,m):"history",w="url_change"===x&&"none"===b?"history":b,_=!0===e.spa?.reinitOnly||"manual"===x,S=Nu(e,x),I=function(e,t=[]){let n={path:!1,search:!1,hash:!1};for(let t of e){let e=t.targeting?.url;if(e&&0!==e.length)for(let t of e)if(qo(n,t.pattern,t.type),n.path&&n.search&&n.hash)return n}for(let e of t??[]){let t=e.capture?.mode;if("url_parameter"===t&&(n.search=!0),("dom_selector"===t||"global"===t)&&(n.path=!0,n.search=!0,n.hash=!0),n.path&&n.search&&n.hash)return n}return n}(t,e.signals);Lu(i,"runtime_setup_ms",a);let k=Pu();Hd({stage:"init_started",startedAt:Date.now(),configFetchStatus:"network"===n?bm.load.configFetchStatus:bm.load.configFetchStatus??"idle"});let A=Pu(),M=Ku(e),C=Qu(e,M),E=Ju(e),$=Bu(M,C,E);bm.consentRequired=M,bm.consentGranted=C,bm.consentModeEnabled=!0===e.consentMode?.enabled,bm.trackingDisabledByDnt=E,se($?e.dataProtection:{...e.dataProtection??{},storageMode:"memory"}),$||sd();let T=h?null:r;$&&T?.visitorId&&!e.userId&&me(T.visitorId);let P=$?fe(e.userId):function(e){return e||oe()}(e.userId);ii(e.debug,P,{storageAllowed:$}),Lu(i,"consent_identity_ms",A);let z=Pu();ri()&&(typeof console>"u"||console.group(`${ci} init`,ui)),ai("init",`Initializing with ${t.length} experiment(s)`,{executionMode:o.executionMode,antiFlicker:c,trackingStart:d,platform:m,routerMode:w,activationMode:v,pageTrigger:x,configSource:n}),Fu("Initiated snippet runtime",{revision:e.delivery?.revision,sdkVariant:e.runtimeFeatures?.sdkVariant,configSource:n,deliveryState:e.delivery?.deliveryState??e.deliveryState}),Fu("Initiated project",{shopId:e.shopId,executionMode:o.executionMode,platform:m,routerMode:w,activationMode:v,pageTrigger:x}),Ru("init",`Init: ${t.length} experiment(s)`,{executionMode:o.executionMode,antiFlicker:c,platform:m,routerMode:w,activationMode:v,pageTrigger:x,configSource:n}),function(e){Oi=e}(f),h||function(e){let t=e.projectCode;if(t?.enabled){if(t.css&&globalThis.document){let e="drip-project-css",n=document.getElementById(e);n||(n=document.createElement("style"),n.id=e,(document.head||document.documentElement).appendChild(n)),n.textContent=t.css}t.helperJs&&Fi(t.helperJs,"project-helper")}}(e);let j=Ie({cookieFallback:Xu()}),L=T?.forceMap&&Object.keys(T.forceMap).length>0?T.forceMap:null;bm.forceMap=L||j?{...L??{},...j??{}}:null,bm.qaMode=Ae({cookieFallback:Xu()}),bm.screenshotMode=we();let q=h&&!bm.qaMode&&!bm.screenshotMode,D={...e,experiments:t,runtimeProfile:q?"empty_project":"full"},N=Dm()&&"pending"===bm.lastShopifyCartSync?.status;!D.commerce?.price&&(null!==wt||null!==_t||kt.size>0||At.size>0||null!==Tt||Pt||null!==zt||null!==jt||null!==qt||N)&&(Lm+=1,Ja+=1,vt()),bm.config=D,bm.userId=P,bm.trackingStart=d,bm.trackingIdleTimeoutMs=p,bm.consentRequired=M,bm.consentGranted=C,bm.consentModeEnabled=!0===e.consentMode?.enabled,bm.trackingDisabledByDnt=E,bm.variationPrerequisiteMet=q||cf(D),bm.trackingPrerequisiteMet=q||df(D),bm.analyticsStarted=!1,bm.exposedAssignmentKeys.clear(),bm.authorizedPriceAssignmentKeys=null,bm.authorizedShippingAssignmentKeys=null,bm.authorizedOffersAssignmentKeys=null,qm&&(qm.generation+=1,qm.confirmationPending=!1,qm.pending=null),bm.platform=m,bm.routerMode=w,bm.activationMode=v,bm.perfFlags=g,bm.urlDiffNeeds=I,bm.configSource=n,bm.runtimeConfig=o,bm.pageTriggerMode=x,bm.initializingAssignments=!0;let R=e.url??location.href;if(Fu("Initiated page",{url:R,experiments:t.length,signals:D.signals?.length??0}),bm.qaMode?(bm.qaSessionId=function(e,t){let n=!1!==t?.storageAllowed,i=Ce(new URLSearchParams(location.search).get("drip_qa_session"));if(i){if(n)try{sessionStorage.setItem(De,i)}catch{}return i}if(!n)return e();try{let t=Ce(sessionStorage.getItem(De));if(t)return t;let n=e();return sessionStorage.setItem(De,n),n}catch{return e()}}(Gp,{storageAllowed:Xu()}),ai("qa","QA mode active",{forceMap:bm.forceMap,sessionId:bm.qaSessionId}),Ru("qa","QA mode active",{sessionId:bm.qaSessionId}),bm.forceMap&&Xu()&&Me(bm.forceMap)):bm.qaSessionId="",bm.screenshotMode&&(ai("qa","Screenshot mode active"),Ru("qa","Screenshot mode active")),bm.stopObserver&&(bm.stopObserver(),bm.stopObserver=null),bm.stopDomObserver&&(bm.stopDomObserver(),bm.stopDomObserver=null),bm.stopHandover&&(bm.stopHandover(),bm.stopHandover=null),bm.stopSignalCaptures&&(bm.stopSignalCaptures(),bm.stopSignalCaptures=null),bm.stopSurfaceSignals&&(bm.stopSurfaceSignals(),bm.stopSurfaceSignals=null),bm.stopJsTriggerSignals&&(bm.stopJsTriggerSignals(),bm.stopJsTriggerSignals=null),bm.stopDataLayerTriggers&&(bm.stopDataLayerTriggers(),bm.stopDataLayerTriggers=null),bm.stopConsentListeners&&(bm.stopConsentListeners(),bm.stopConsentListeners=null),bm.stopShopifyCartMutationSync?.(),bm.stopShopifyCartMutationSync=null,wd(),Qi(),Fd(),Od(),bm.tracker&&(bm.tracker.stop(),bm.tracker=null),bm.pendingDeliveryHealth=[],X(q),bm.stopConsentListeners=function(e){if(!e.consentMode?.enabled||typeof window>"u")return null;let t=["OneTrustGroupsUpdated","OptanonConsentChanged","CookiebotOnConsentReady","CookiebotOnAccept","CookiebotOnDecline","CookieConsentDeclaration","UC_UI_CMP_EVENT","ccm19EmbeddingAccepted","ccm19WidgetClosed","ccm19WidgetLoaded","PandectesInitialized","visitorConsentCollected"],n=()=>Wu(e);t.forEach(e=>window.addEventListener(e,n));let i=["PandectesInitialized","visitorConsentCollected"];typeof document<"u"&&i.forEach(e=>document.addEventListener(e,n));let r=null,a=null,o=()=>{null!==r&&(clearInterval(r),r=null),null!==a&&(clearTimeout(a),a=null)};return function(e){let t=e.consentMode;return!(!t?.enabled||bm.consentGranted||t.provider&&ym.has(t.provider)||"custom"!==t.provider&&"pandectes"!==t.provider&&"string"!=typeof t.getter)}(e)&&(r=setInterval(()=>{Wu(e),bm.consentGranted&&o()},hm),a=setTimeout(o,vm)),()=>{o(),t.forEach(e=>window.removeEventListener(e,n)),typeof document<"u"&&i.forEach(e=>document.removeEventListener(e,n))}}(D),q||(Zu(D),od(D),bm.stopSignalCaptures=function(e){let t=(e.signals??[]).filter(e=>"click_selector"===e.capture?.mode&&e.capture.selector);if(!t.length||typeof document>"u"||!document.addEventListener)return null;let n=e=>{if(!Xu())return;let n=e.target;if(!n||"function"!=typeof n.closest)return;let i=n;for(let e of t){let t=e.capture,n=t.selector;if(!n)continue;let r=null;try{r=i.closest(n)}catch{r=null}if(!r)continue;let a=!0;if("text"===t.source&&(a=r.textContent?.trim()??""),"attribute"===t.source&&t.attribute&&(a=r.getAttribute(t.attribute)),"dataset"===t.source&&t.attribute){let e=t.attribute.replace(/^data-/,"").replace(/-([a-z])/g,(e,t)=>t.toUpperCase());a=r.dataset?.[e]}"constant"===t.source&&(a=t.value??!0);let o=Yu(a,e.valueType);void 0!==o&&ln(e.key,o,e.ttlDays,"click_selector")}};return document.addEventListener("click",n,!0),()=>document.removeEventListener?.("click",n,!0)}(D),bm.stopSurfaceSignals=function(e){return e.some(e=>{try{return JSON.stringify(e.targeting??{}).includes($n)}catch{return!1}})}(t)?function(){let e=Cn();un($n,e);let t=En(e=>{un($n,e),od(D),gf("dom")});return()=>{t(),dn($n)}}():null,bm.stopJsTriggerSignals=function(e,t){if(!function(e){return e.some(e=>(e.targeting?.pageRules??[]).some(e=>!!e.advancedCondition?.code?.trim()||!!e.trigger?.triggerJs?.trim())||(e.targeting?.segmentRules??[]).some(e=>(e.rules?.conditions??[]).some(e=>!!e.js?.code?.trim())))}(e)||typeof window>"u"||typeof document>"u")return()=>{};let n=function(e){let t=new Set,n=[];for(let i of e)for(let e of i.targeting?.segmentRules??[])for(let i of e.rules?.conditions??[]){let e=i.js?.code?.trim();if(!e)continue;let r=`${i.signal}:${e}`;t.has(r)||(t.add(r),n.push(i))}return n}(e).filter(ud).map(e=>function(e,t){let n=e.js?.code?.trim();if(!n||n.length>4e3)return()=>{};let i,r=!!nd({markVisitorSeen:!1})[e.signal],a={isActive:r},o=n=>{let i=!(!1===n||n&&"object"==typeof n&&"isActive"in n&&!n.isActive);r=i,a.isActive=i,un(e.signal,i),t()};try{let t=dd(e);i=new Function("activate","options","context",`"use strict";const attributes=context.attributes;const apexTools=context.apexTools;const document=context.document;const location=context.location;const signal=context.signal;const url=context.url;const value=context.value;const window=context.window;${n}\nif (typeof callbackFn === "function") return callbackFn(activate, options);`)(o,a,t)}catch(t){oi("JS trigger activation failed",t instanceof Error?t.message:String(t)),un(e.signal,!1)}return()=>{try{"function"==typeof i&&i()}catch(e){oi("JS trigger teardown failed",e instanceof Error?e.message:String(e))}(function(e){let t=e.js?.resetCode?.trim();if(t&&!(t.length>4e3))try{let n=dd(e);new Function("context",`"use strict";const attributes=context.attributes;const apexTools=context.apexTools;const document=context.document;const location=context.location;const signal=context.signal;const url=context.url;const value=context.value;const window=context.window;(function(){${t}}).call(window);`)(n)}catch(e){oi("JS trigger reset failed",e instanceof Error?e.message:String(e))}})(e),dn(e.signal),t()}}(e,t)),i=function(e){let t=new Set,n=[];for(let i of e)for(let e of i.targeting?.pageRules??[]){let i=e.trigger?.mode;if("manual-callback"!==i&&"manual-api"!==i)continue;let r=e.trigger?.triggerJs?.trim(),a=e.trigger?.signal;if(!r||!a)continue;let o=`${a}:${r}`;t.has(o)||(t.add(o),n.push(e))}return n}(e).map(e=>pd(e,t)),r=null,a=()=>{null===r&&(r=window.setTimeout(()=>{r=null,t()},80))},o=[[document,"click",a,{capture:!0,passive:!0}],[document,"input",a,{capture:!0,passive:!0}],[document,"change",a,{capture:!0,passive:!0}],[document,"keyup",a,{capture:!0}],[document,"drip:trigger",a],[document,"drip:signals-changed",a],[window,"resize",a,{passive:!0}],[window,"scroll",a,{passive:!0}]],s=null;return typeof MutationObserver<"u"&&document.documentElement&&(s=new MutationObserver(a),fi(s,a),s.observe(document.documentElement,{attributes:!0,childList:!0,subtree:!0})),o.forEach(([e,t,n,i])=>{e.addEventListener(t,n,i)}),()=>{null!==r&&window.clearTimeout(r),s&&(s.disconnect(),mi(s)),n.forEach(e=>e()),i.forEach(e=>e()),o.forEach(([e,t,n,i])=>{e.removeEventListener(t,n,i)})}}(t,()=>{gf("dom")}),bm.stopDataLayerTriggers=function(e){let t=function(e){return(e.dataLayerTriggers??[]).filter(e=>!1!==e?.enabled&&!!e.eventName)}(e);if(!t.length||typeof window>"u")return null;let n=new Map;for(let e of t){let t=e.dataLayerName||"dataLayer";n.set(t,[...n.get(t)??[],e])}let i=[];for(let[e,t]of n.entries()){let n=window,r=Array.isArray(n[e])?n[e]:[];n[e]=r;let a=r.push,o=!0,s=n=>{if(!o)return;let i=Ii(n);if(!i)return;let r="string"==typeof i.event?i.event:"";for(let a of t)r===a.eventName&&Id(a,i,e,i!==n)};r.slice(Math.max(0,r.length-50)).forEach(s);let l=function(...e){let t=a.apply(r,e);return e.forEach(s),t};r.push=l,i.push(()=>{o=!1,r.push===l&&(r.push=a)})}return()=>i.forEach(e=>e())}(D)),q)bm.activationDiagnostics={project:{gates:[]},experiments:[]};else{uf(D);for(let e of bm.activationDiagnostics.project.gates)Fu(`Project ${e.label} is ${e.status}`,{reason:e.reason,...e.detail&&"object"==typeof e.detail?{detail:e.detail}:{}})}Lu(i,"runtime_setup_ms",z);let F=Pu(),B=q?void 0:Sp(t);if(q)bm.assignments=[];else if(!_&&bm.variationPrerequisiteMet){let n=As(e.attributes??{},R,{persistSignals:Xu()});if(e.exclusionGroups?.length){let i=jp(t,{url:R,attributes:n,userId:bm.userId,persistSignals:!1,exclusionGroups:e.exclusionGroups,persistedAssignments:B});bm.assignments=i.assignments,bm.activationDiagnostics.experiments=i.diagnostics}else{let i=function(e,t,n){let i=new Set,r=[],a=[];if(!t?.length||bm.forceMap)return{assignments:r,plannedExperimentIds:i,skippedDiagnostics:a};let o=new Map(e.map(e=>[e.id,e]));for(let e of t){if(!e?.e||!Array.isArray(e.v))continue;let t=o.get(e.e);if(!t||t.status&&"running"!==t.status)continue;if(i.add(t.id),!Dp(e.r,n.url)){a.push(Mp(t,[{id:"page",label:"Page check",status:"failed",reason:"url_mismatch"},{id:"audience",label:"Audience check",status:"skipped",reason:"no_audience_rules"}],null,"url_mismatch"));continue}let s=wp(t,n.userId,n.attributes),l=re(t.id,s);if(!G(l,t.trafficAllocation??1)){a.push(Mp(t,[{id:"page",label:"Page check",status:"passed",reason:"precompiled_delivery_match"},{id:"audience",label:"Audience check",status:"skipped",reason:"no_audience_rules"},{id:"traffic",label:"Traffic allocation",status:"failed",reason:"outside_allocation",detail:{hashValue:l,allocation:t.trafficAllocation??1}}],null,"outside_allocation"));continue}let c=H((t.trafficAllocation??1)>=1?l:ae(t.id,s),e.v.map(e=>e.w)),u=c>=0?e.v[c]:null;if(!u)continue;let d=t.variations.findIndex(e=>e.id===u.id);if(d<0)continue;let p=t.variations[d],f=u.m.map(Np).filter(e=>!!e);r.push({experimentId:t.id,experimentName:t.name,variationId:p.id,index:d,mutations:f,value:p.value,featureFlag:t.featureFlag,personalization:t.personalization,kind:t.kind??(t.personalization?"personalization":t.featureFlag?"feature_flag":"experiment"),experimentCss:t.css,experimentJs:t.js,experimentResetJs:t.resetJs,css:p.css,js:p.js,resetJs:p.resetJs,externalCssUrl:p.externalCssUrl,externalJsUrl:p.externalJsUrl,harnessSession:p.harnessSession,isControl:!(!p.isControl&&!u.c),hashValue:s})}return{assignments:r,plannedExperimentIds:i,skippedDiagnostics:a}}(t,e.delivery?.criticalMutationPlan,{url:R,attributes:n,userId:bm.userId}),r=jp(i.plannedExperimentIds.size?t.filter(e=>!i.plannedExperimentIds.has(e.id)||"persistent"===ff(e)&&!i.assignments.some(t=>t.experimentId===e.id)):t,{url:R,attributes:n,userId:bm.userId,persistSignals:!1,persistedAssignments:B});bm.assignments=[...i.assignments,...r.assignments];let a=new Set(r.diagnostics.map(e=>e.experimentId));bm.activationDiagnostics.experiments=[...i.skippedDiagnostics.filter(e=>!a.has(e.experimentId)),...r.diagnostics];for(let e of i.assignments){let n=t.find(t=>t.id===e.experimentId);n&&bm.activationDiagnostics.experiments.unshift(Mp(n,[{id:"page",label:"Page check",status:"passed",reason:"precompiled_delivery_match"},{id:"audience",label:"Audience check",status:"skipped",reason:"no_audience_rules"},{id:"traffic",label:"Traffic allocation",status:"passed",reason:"included"},{id:"assignment",label:"Variation assignment",status:"passed",reason:"precompiled_assignment"}],e,"precompiled_assignment"))}}}else bm.assignments=[],bm.activationDiagnostics.experiments=_?t.map(e=>Mp(e,[{id:"activation",label:"Page trigger",status:"skipped",reason:"manual_initial_trigger"}],null,"manual_initial_trigger")):[];if(bm.assignments.length>1){let e=$p(bm.assignments,bm.activationDiagnostics.experiments);bm.assignments=e.assignments,bm.activationDiagnostics.experiments=e.diagnostics??bm.activationDiagnostics.experiments}if(!q&&"off"!==c){let e="scoped"===c?function(e,t,n=[]){let i=new Set;for(let t of e)if(!t.status||"running"===t.status)for(let e of t.variations){e.antiFlickerSelectors?.forEach(e=>i.add(e));for(let t of e.mutations)t.selector&&i.add(t.selector)}return rt(t?.commerce?.price,n)&&yt.forEach(e=>i.add(e)),Array.from(i)}(t,D,bm.assignments):void 0;y(c,u,e,o.antiFlickerCustomCss)}Lu(i,"targeting_assignment_ms",F);let V=Pu(),W=null;if(q)bm.pendingInitialApply=null;else{let n="after_hydration"===D.spa?.applyTiming,i=function(e,t){return e.some(e=>e.mutations.length>0||!!(e.css||e.js||e.externalCssUrl||e.externalJsUrl||e.experimentCss||e.experimentJs))||it(t,e)}(bm.assignments,D.commerce?.price);if((n||Or())&&i){let e=D,t=location.href;W=Jr(D.spa?.hydrationTimeoutMs??3e3,{waitForHydration:n}).then(()=>{if(bm.pendingInitialApply===W&&(bm.pendingInitialApply=null),bm.config===e){if(location.href!==t)return gf("url",!0,!0),void cd(e);Up(bm.assignments,bm.activationMode),cd(e)}}),bm.pendingInitialApply=W}else bm.pendingInitialApply=null,Up(bm.assignments,bm.activationMode),cd(D);Xu()&&!1!==e.bucketingCleanup?.enabled&&function(e,t){(function(e){let t=O(U);if(!t)return;let n=new Set,i=new Set;for(let t of e){for(let e of t.goals??[])n.add(e.id);for(let e of t.variations??[])i.add(e.id)}let r={};for(let[e,a]of Object.entries(t)){if(!n.has(e)||!Array.isArray(a))continue;let t=a.filter(e=>"string"==typeof e&&i.has(e));t.length&&(r[e]=t)}try{let e=globalThis.localStorage;if(!e)return;Object.keys(r).length?e.setItem(U,JSON.stringify(r)):e.removeItem(U)}catch{}})(e),function(e,t=180){if(!e)return;let n=Date.now()-864e5*Math.max(1,t);try{let t=globalThis.localStorage;if(!t)return;for(let i=t.length-1;i>=0;i--){let r=t.key(i);if(!r?.startsWith(J)||r.startsWith(J+e+":"))continue;let a=O(r),o="number"==typeof a?.fetchedAt?a.fetchedAt:0;(!o||o<n)&&t.removeItem(r)}}catch{}}(t?.shopId,t?.retentionDays??180)}(t,{shopId:e.shopId,retentionDays:e.bucketingCleanup?.retentionDays}),bm.stopHandover=function(e,t,n){let i=ar(e);if(!i.length||!globalThis.document)return()=>{};let r=null,a=null,o=0,s=null,l=()=>{if(!n)return null;let e=t();return e?(s||(s=n().then(t=>(r=t,a=t?e:null,o=t?function(e){try{let t=(e.includes(".")?e.split(".")[0]:e).replace(/-/g,"+").replace(/_/g,"/"),n=t+"=".repeat((4-t.length%4)%4),i=JSON.parse(atob(n));return"number"==typeof i.exp?i.exp:null}catch{return null}}(t)??0:0,t)).catch(()=>null).finally(()=>{s=null})),s):null},c=()=>{let e=t(),n=Math.floor(Date.now()/1e3);return r&&a===e&&o>n?r:null},u=t=>{if(!t)return null;try{let n=new URL(t,globalThis.location?.href);if(!or(n.hostname,i))return null;let r=c();return r?function(e,t,n){return e.searchParams.set(nr(t),n),e.toString()}(n,e,r):null}catch{return null}},d=e=>{if(!e)return!1;try{return or(new URL(e,globalThis.location?.href).hostname,i)}catch{return!1}},p=e=>{let t=function(e){let t=e;return t?("function"==typeof t.closest?t.closest("a[href]"):null)||("function"==typeof t.parentElement?.closest?t.parentElement.closest("a[href]"):null):null}(e.target);if(!t||!d(t.getAttribute("href")))return;let n=l(),i=()=>{let e=u(t.getAttribute("href"));e&&(t.href=e)};if("click"===e.type&&n&&!c())return e.preventDefault(),void n.then(()=>{i(),function(e){let t=e.getAttribute("target");t&&"_self"!==t.toLowerCase()&&"function"==typeof globalThis.open?globalThis.open(e.href,t):globalThis.location?.assign(e.href)}(t)});n?.then(i),i()},f=new WeakSet,m=t=>{let n=t.target;if(!n||"FORM"!==n.tagName||f.delete(n))return;let i=t.submitter??null,r=function(e,t){let n=t?.getAttribute("formaction");return null!=n?n||globalThis.location?.href||"":e.getAttribute("action")||globalThis.location?.href||""}(n,i);if(!d(r))return;let a=l();a&&(t.preventDefault(),a.then(()=>{let t=c(),a=u(r);if(t&&a){i?.hasAttribute("formaction")?i.setAttribute("formaction",a):n.action=a;let r=nr(e),o=n.querySelector(`input[name="${r}"]`);o||(o=document.createElement("input"),o.type="hidden",o.name=r,n.appendChild(o)),o.value=t}f.add(n),i?n.requestSubmit(i):n.requestSubmit()}))};return document.addEventListener("click",p,!0),document.addEventListener("submit",m,!0),()=>{document.removeEventListener("click",p,!0),document.removeEventListener("submit",m,!0)}}(e.externalTracking,()=>Xu()&&bm.userId&&bm.assignments.length?function(e,t,n){let i=Math.floor(Date.now()/1e3);return function(e){let t=JSON.stringify(e);return btoa(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}({v:2,iat:i,exp:i+ir(n),vid:e,asg:t.map(e=>({e:e.experimentId,x:e.variationId}))})}(bm.userId,bm.assignments,e.externalTracking):null,()=>Xu()&&bm.userId&&bm.assignments.length?async function(e,t,n){if(!e.shopId||!e.ingestSignature||!1===e.externalTracking?.signed||!e.endpoint)return null;let i=rr(e.externalTracking),r=new AbortController,a=window.setTimeout(()=>r.abort(),i);try{let i=await fetch(`${yd(e.endpoint)}/v1/handover/mint`,{method:"POST",headers:{"Content-Type":"application/json","X-Drip-Shop":e.ingestShopId||e.shopId,"X-Drip-Signature":e.ingestSignature},body:JSON.stringify({visitorId:t,ttlSeconds:e.externalTracking?.handoverTtlSeconds,assignments:n.map(e=>({experimentId:e.experimentId,variationId:e.variationId}))}),signal:r.signal,credentials:"omit",keepalive:!1});if(!i.ok)return null;let a=await i.json();return"string"==typeof a.token&&a.token?a.token:null}catch{return null}finally{window.clearTimeout(a)}}(e,bm.userId,bm.assignments):Promise.resolve(null))}bm.lastAssignmentSignature=Do(bm.assignments),bm.lastUrl=location.href,bm.initializingAssignments=!1,Lu(i,"mutation_finalize_ms",V);let K=Pu(),Q=zu(K-k),Z=zu(K-i.startedAt),ee=Date.now();Hd({stage:"assignments_ready",assignmentReadyAt:ee,assignmentReadyMs:Q}),Vd(np(D,{assignmentReadyMs:Q,initTotalMs:Z,phases:{...i.phases},includesConfigFetch:i.includesConfigFetch,blankScreenMs:No(),assignmentReadyAt:ee})),lp();let te=()=>{bm.config===D&&(bm.trackingPrerequisiteMet?"idle"===d?gp(D,t):mp(D,t):ai("track","Tracking blocked by project prerequisite"),lf())};return W?W.then(te):te(),Xf&&Promise.resolve().then(()=>(Ic(),lc)).then(({runAuditIfRequested:e})=>{e(D,{configSource:bm.configSource,trackerStarted:!!bm.tracker,platform:bm.platform})}).catch(()=>{}),!q&&"manual"!==x&&(bm.stopObserver=function(e,t){if("none"===e)return()=>{};let n={value:location.href},i=[];return"navigation"===e&&i.push(function(e,t){let n=globalThis.navigation;if(!n||"function"!=typeof n.addEventListener)return()=>{};let i=()=>Wr(t,"navigation",e);return n.addEventListener("navigate",i),()=>{"function"==typeof n.removeEventListener&&n.removeEventListener("navigate",i)}}(t,n)),("history"===e||"navigation"===e)&&i.push(function(e,t){let n=n=>{let i=history[n];return history[n]=function(...r){let a=i.apply(this,r);return Wr(t,n,e),a},()=>{history[n]=i}},i=n("pushState"),r=n("replaceState"),a=()=>Wr(t,"popstate",e),o=()=>Wr(t,"hashchange",e);return window.addEventListener("popstate",a),window.addEventListener("hashchange",o),()=>{i(),r(),window.removeEventListener("popstate",a),window.removeEventListener("hashchange",o)}}(t,n)),()=>{for(let e of i)e()}}(bm.routerMode,({previousUrl:e,nextUrl:t,reason:n})=>{if(!bm.config||!bm.userId)return;let i=++bm.routeAnalyticsGeneration;X(),!bm.screenshotMode&&bm.analyticsStarted&&l(Bd);let r=bm.config.experiments??[],a=Date.now(),o=!bm.perfFlags.perf_spa_incremental_reapply_v1||function(e,t,n){if(e===t)return!1;let i=jo(e),r=jo(t);return!!(!i||!r||n.path&&i.pathname!==r.pathname||n.search&&i.search!==r.search||n.hash&&i.hash!==r.hash)||!(n.path||n.search||n.hash)&&Lo(i.searchParams)!==Lo(r.searchParams)}(e,t,bm.urlDiffNeeds);bm.lastRouteChange={previousUrl:e,nextUrl:t,reason:n,at:Date.now(),reEvaluated:o},o&&gf("url"),bm.pendingInitialApply||Y(),bm.lastUrl=t,bm.trackingPrerequisiteMet=df(bm.config),uf(bm.config);let c=Date.now();Vd(np(bm.config,{assignmentReadyMs:c-a,blankScreenMs:0,assignmentReadyAt:c}));let u=()=>{i===bm.routeAnalyticsGeneration&&bm.config&&(lf(),bm.analyticsStarted&&!bm.trackingPrerequisiteMet?mf():bm.analyticsStarted?(ip(),bm.exposedAssignmentKeys.clear(),Dd(bm.config),Nd(bm.assignments,r),Rd(bm.assignments,r),s(Bd)):!bm.screenshotMode&&!Uu()&&bm.trackingPrerequisiteMet&&("idle"===bm.trackingStart?gp(bm.config,r):mp(bm.config,r)))};bm.pendingInitialApply?bm.pendingInitialApply.then(u):u()})),!q&&S&&!_&&(bm.stopDomObserver=function(e,t=250){if(typeof MutationObserver>"u"||!document.documentElement)return()=>{};let n=null,i=i=>{i.some(e=>"attributes"===e.type?e.target instanceof Element&&!xi(e.target):Array.from(e.addedNodes).some(e=>!xi(e)))&&(null!==n&&window.clearTimeout(n),n=window.setTimeout(()=>{n=null,e()},t))},r=new MutationObserver(i);return fi(r,i),r.observe(document.documentElement,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["class","style","hidden","aria-hidden"]}),()=>{null!==n&&window.clearTimeout(n),r.disconnect(),mi(r)}}(()=>{gf("dom")},e.spa?.debounceMs??250)),ai("init",`${bm.assignments.length} assignment(s) active`,bm.assignments.map(e=>({experiment:e.experimentId,variation:e.variationId,isControl:e.isControl}))),Fu("Execution cycle complete",{assignments:bm.assignments.map(e=>({experimentId:e.experimentId,variationId:e.variationId,isControl:e.isControl}))}),ri()&&(typeof console>"u"||console.groupEnd()),Kf&&bm.qaMode&&!bm.screenshotMode&&function(e){if(Kf)try{Promise.resolve().then(()=>(Cu(),Su)).then(({mountQaAssistant:t})=>{t()||e?.()}).catch(()=>e?.())}catch{e?.()}else e?.()}(()=>{(function(e){if(Kf)try{Promise.resolve().then(()=>(Pc(),kc)).then(({mountQaToolbar:t})=>{t({experiments:e,assignments:bm.assignments,forceMap:bm.forceMap,qaSessionId:bm.qaSessionId,onSwitchVariation:(e,t)=>{if(bm.forceMap||(bm.forceMap={}),bm.forceMap[e]=t,Me(bm.forceMap),bm.config){let e=bm.config.experiments??[];Bp(bm.assignments);let t=jp(e,{url:location.href,attributes:bm.config.attributes??{},userId:bm.userId,persistSignals:Xu(),exclusionGroups:bm.config.exclusionGroups});bm.assignments=t.assignments,bm.activationDiagnostics.experiments=t.diagnostics,Up(bm.assignments,bm.activationMode),bm.lastAssignmentSignature=Do(bm.assignments)}},onExitQa:()=>{Ee(),location.reload()},onReloadLatest:()=>{let e=md(bm.assignments);e?.harnessSession?.manifestUrl&&vd(e.harnessSession.manifestUrl)},onExitHarness:()=>{let e=new URL(location.href);e.searchParams.delete("drip_harness"),history.replaceState(null,"",e.toString()),location.reload()}}),ai("qa","QA toolbar mounted")}).catch(()=>{oi("qa","QA toolbar module not available")})}catch{}})(t),_f(t)}),fd(),bm.qaMode||_f(t),document.dispatchEvent(new CustomEvent("drip_initialized")),bm.assignments}function _f(e){if(Qf&&!bm.screenshotMode&&Xu())try{Promise.resolve().then(()=>(Pl(),bl)).then(({isDevtoolsEnabled:t})=>{t()&&function(e){if(Qf)try{Promise.resolve().then(()=>(Pl(),bl)).then(({mountDevtools:t})=>{t({experiments:e,assignments:bm.assignments,diagnostics:Vf(),forceMap:bm.forceMap,onForceVariation:(e,t)=>{if(bm.forceMap||(bm.forceMap={}),bm.forceMap[e]=t,bm.config){let e=bm.config.experiments??[];Bp(bm.assignments);let t=jp(e,{url:location.href,attributes:bm.config.attributes??{},userId:bm.userId,persistSignals:Xu(),exclusionGroups:bm.config.exclusionGroups});bm.assignments=t.assignments,bm.activationDiagnostics.experiments=t.diagnostics,Up(bm.assignments,bm.activationMode),bm.lastAssignmentSignature=Do(bm.assignments),Promise.resolve().then(()=>(Pl(),bl)).then(({mountDevtools:t})=>{t({experiments:e,assignments:bm.assignments,diagnostics:Vf(),forceMap:bm.forceMap,onForceVariation:()=>{}})}).catch(()=>{})}}}),ai("init","Devtools overlay mounted"),Ru("init","Devtools overlay mounted")}).catch(()=>{oi("init","Devtools module not available")})}catch{}}(e)}).catch(()=>{})}catch{}}function Sf(e){if(typeof window<"u"&&function(e=window){return e.name===Ci}(window))return cr(),b(),[];if(function(e){if("idle"!==$i)return!0;let t=function(e=location,t=history){if(!e.hash||e.hash.length<2)return null;let n=new URLSearchParams(e.hash.slice(1)),i=n.get(Ai);if(!i)return null;let r=i.trim(),a=function(e){let t=e.split(".",1)[0];if(!t)return null;let n=function(e){try{let t=e.replace(/-/g,"+").replace(/_/g,"/"),n=t+"=".repeat((4-t.length%4)%4);return atob(n)}catch{return null}}(t);if(!n)return null;try{let e=JSON.parse(n),t="string"==typeof e.sid?e.sid.trim():"",i=function(e){if("string"!=typeof e||!e.trim())return null;try{let t=new URL(e);return"https:"!==t.protocol&&"http:"!==t.protocol?null:t.origin}catch{return null}}(e.apiOrigin??e.api_origin);return"apex-editor-exchange"===e.aud&&t&&i?{sid:t,apiOrigin:i}:null}catch{return null}}(r);n.delete(Ai);try{let i=new URL(e.href),r=n.toString();i.hash=r?`#${r}`:"",t.replaceState(t.state??null,"",i.toString())}catch{return null}return a?{token:r,...a}:null}(e.locationLike,e.historyLike);if(!t)return!1;$i="starting",e.onBeforeLoad?.();let n=function(e){let t=e.scriptSrc||e.pageUrl;if(e.configuredUrl)try{let n=new URL(e.configuredUrl,t);return"https:"===n.protocol||"http:"===n.protocol?n.toString():null}catch{return null}if(!e.scriptSrc)return null;try{let t=new URL(e.scriptSrc,e.pageUrl);return/^\/sdk\/[^/]+\/[^/]+\.js$/.test(t.pathname)||/\/drip(?:\.live|\.heatmap|\.debug)?\.js$/.test(t.pathname)?t.pathname=t.pathname.replace(/[^/]+\.js$/,Mi):t.pathname=`/${Mi}`,t.search="",t.hash="",t.toString()}catch{return null}}({configuredUrl:e.configuredBundleUrl,scriptSrc:e.scriptSrc,pageUrl:e.pageUrl}),i=()=>{$i="idle",e.onFailure()};return n?((e.loadBundle??(e=>function(e,t=document,n=1e4){return new Promise((i,r)=>{t.getElementById(Ei)?.remove();let a=t.createElement("script");a.id=Ei,a.src=e,a.async=!0,a.crossOrigin="anonymous";let o=setTimeout(()=>{a.remove(),r(new Error("Editor bundle load timed out"))},n),s=e=>{if(clearTimeout(o),e)return a.remove(),void r(e);let t=globalThis,n=t.ApexEditor;try{t.ApexEditor=void 0}catch{}n&&"function"==typeof n.start?i(n):r(new Error("Editor bundle did not expose a start function"))};a.onload=()=>s(),a.onerror=()=>s(new Error("Editor bundle failed to load")),(t.head||t.documentElement).appendChild(a)})}(e)))(n).then(e=>e.start(t)).then(e=>{e?$i="active":i()}).catch(i),!0):(Promise.resolve().then(i),!0)}({configuredBundleUrl:e.editorBundleUrl,scriptSrc:em,pageUrl:typeof location<"u"?location.href:void 0,onBeforeLoad:()=>{cr(),b()},onFailure:()=>{Sf(e)}}))return[];let t=ju(),n=Ku(e),i=Qu(e,n),r=Ju(e),a=Bu(n,i,r);se(a?e.dataProtection:{...e.dataProtection??{},storageMode:"memory"});let o=e.userId??null;if(ii(e.debug,o,{storageAllowed:a}),globalThis.__drip||(globalThis.__drip=!0,0)){bm.consentRequired=n,bm.consentGranted=i,bm.trackingDisabledByDnt=r,bm.screenshotMode=we();let t=Kd(),a=Wd(e.installSurface,"direct_script");return t&&t.installSurface!==a&&function(){let e=globalThis;return!0!==e[Mm]&&(e[Mm]=!0,!0)}()&&Xd(e,"sdk_install_conflict",{first_install_surface:t.installSurface,attempted_install_surface:a},o),[]}if(function(e){let t={installSurface:Wd(e.installSurface,"direct_script"),sdkVersion:Wd(e.sdkVersion),runtimeProfile:Wd(e.runtimeProfile,"full")},n=globalThis;n[Am]=t,delete n[Mm]}(e),ze.test(navigator.userAgent))return ai("guard","Blocked: bot detected"),Ru("guard","Blocked: bot detected"),[];if(!e.spa?.allowIframes&&function(){try{return window.self!==window.top}catch{return!0}}())return ai("guard","Blocked: iframe detected"),Ru("guard","Blocked: iframe detected"),[];if(function(e){let t=!1!==e?.storageAllowed,n=new URLSearchParams(location.search).get("drip_optout");if("true"===n){if(t)try{localStorage.setItem("drip_optout","1")}catch{}return!0}if("false"===n){if(t)try{localStorage.removeItem("drip_optout")}catch{}return!1}if(!t)return!1;try{return"1"===localStorage.getItem("drip_optout")}catch{return!1}}({storageAllowed:a}))return ai("guard","Blocked: opted out"),Ru("guard","Blocked: opted out"),[];!function(e="boot"){let t=Date.now();bm.load={stage:e,startedAt:t,updatedAt:t,configFetchStatus:"idle",configFetchAttempts:0,appliedMutations:0,missedMutations:0},Gd()}("boot");let s=Du(e);if(Lu(t,"guard_resolve_ms",t.startedAt),e.geo?.country&&un("geo.country",e.geo.country,"edge"),"edge"===s.executionMode)return!(!0===globalThis.__dripEdgeInit)&&typeof console<"u"&&console.warn("[drip] executionMode='edge' but no edge runtime detected; skipping client init"),[];if(Array.isArray(e.experiments))return e.shopId&&function(e){return!(!globalThis.location||!ar(e).length||!new URL(globalThis.location.href).searchParams.get(nr(e)))}(e.externalTracking)?(sr(e.externalTracking,e.shopId,t=>bd(e,t)).then(n=>wf(e,e.experiments,"inline",t,n)),[]):wf(e,e.experiments,"inline",t);if(e.shopId&&e.endpoint){bm.consentRequired=n,bm.consentGranted=i,bm.trackingDisabledByDnt=r;let l=Ie({cookieFallback:a}),c=Ae({cookieFallback:a}),u=we(),d=function(e){return e?Object.entries(e).map(([e,t])=>`${e}:${t}`).join(","):""}(l),p=e.environments?.activeKey||"production",f=new URL(yd(e.endpoint)+"/config");if(f.searchParams.set("shopId",e.shopId),"production"!==p&&f.searchParams.set("env",p),(c||u)&&d){f.searchParams.set("drip_qa","1"),f.searchParams.set("drip_force",d);let e=new URLSearchParams(location.search).get("drip_harness");e&&f.searchParams.set("drip_harness",e)}let m=a&&!1!==e.configCache&&!((c||u)&&d),g=function(e){let t=e.configCacheTtlMs;return"number"==typeof t&&Number.isFinite(t)&&t>0?t:rm}(e),h=m?function(e,t,n){try{let i=localStorage.getItem(vp(e,n));if(!i)return null;let r=JSON.parse(i);return!r||"number"!=typeof r.fetchedAt||!Array.isArray(r.experiments)||Date.now()-r.fetchedAt>t?null:{experiments:r.experiments,exclusionGroups:Array.isArray(r.exclusionGroups)?r.exclusionGroups:void 0,profile:r.profile,runtime:r.runtime,signals:Array.isArray(r.signals)?r.signals:void 0,commerce:r.commerce,hash:"string"==typeof r.hash?r.hash:""}}catch{return null}}(e.shopId,g,p):null,v=sr(e.externalTracking,e.shopId,t=>bd(e,t));if(h){Hd({stage:"config_cache_hit",configFetchStatus:"idle"});let n=h.runtime?bp(e,h.runtime,h.profile):{...e,profile:h.profile??e.profile},i="after_hydration"===n.spa?.applyTiming||Or(),r=r=>wf({...n,antiFlickerMode:i?n.antiFlickerMode:"off",exclusionGroups:h.exclusionGroups,signals:h.signals??e.signals,commerce:h.commerce},h.experiments,"cache",t,r);v.then(r)}let x=!h&&"off"!==s.antiFlickerMode;x&&y("scoped"===s.antiFlickerMode&&(c||u)&&d?"full":s.antiFlickerMode,s.antiFlickerTimeoutMs,void 0,s.antiFlickerCustomCss);let w=Date.now();h||(t.includesConfigFetch=!0);let _=x?Math.max(s.antiFlickerTimeoutMs,300):null,S=null!==_?w+_:null;return Hd({stage:"config_fetch_started",configFetchStartedAt:w,configFetchAttempts:0,configFetchStatus:"loading"}),Tu(f.toString(),2,500,{timeoutMs:tm,firstAttemptTimeoutMs:null!==_?Math.min(tm,_):tm,slowMs:nm,onAttemptStart:e=>{Hd({stage:"config_fetch_attempt",configFetchStartedAt:w,configFetchAttempts:e,configFetchStatus:1===e?"loading":bm.load.configFetchStatus})},onSlow:({attempt:e,elapsedMs:t})=>{Hd({stage:"config_fetch_slow",configFetchStartedAt:w,configFetchAttempts:e,configFetchMs:Date.now()-w,configFetchStatus:"slow"}),oi("init",`Config fetch attempt ${e} is slow after ${t}ms`)},onAttemptEnd:e=>{Hd({stage:"config_fetch_attempt_complete",configFetchStartedAt:w,configFetchAttempts:e.attempt,configFetchMs:Date.now()-w,configFetchStatus:e.timedOut?"timeout":bm.load.configFetchStatus,configFetchStatusCode:e.status,configFetchError:e.error})}}).then(e=>{if(!e.ok)throw new Error("Failed to fetch config: "+e.status);return e.json()}).then(async n=>{let i=await v,r=Date.now();Hd({stage:"config_fetch_complete",configFetchStartedAt:w,configFetchCompletedAt:r,configFetchMs:r-w,configFetchStatus:"ok"});let a=n.experiments??[],o=Array.isArray(n.exclusionGroups)?n.exclusionGroups:void 0,s=n.profile,l=n.runtime,f=Array.isArray(n.signals)?n.signals:e.signals,g=n.commerce,y=n.geo,x=!(!y?.country||cn({markVisitorSeen:!1})["geo.country"]===y.country);y?.country&&un("geo.country",y.country,"edge");let _={...bp(e,l,s),exclusionGroups:o,signals:f,commerce:g},I=Ku(_),k=Bu(I,Qu(_,I),Ju(_));m&&k&&function(e,t,n,i,r,a,o,s){try{let l={fetchedAt:Date.now(),hash:xp(t,n,i,r,a,o),experiments:t,exclusionGroups:n,profile:i,runtime:r,signals:a,commerce:o};localStorage.setItem(vp(e,s),JSON.stringify(l))}catch{}}(e.shopId,a,o,s,l,f,g,p);let A=xp(a,o,s,l,f,g);if(h&&h.hash&&h.hash===A&&!x&&!i)return void(bm.pendingInitialApply||b());let M=(c||u)&&d?"apply":e.lateConfigPolicy??"skip";if(null!==S&&r>S&&"skip"===M){let e=r-w;return Hd({stage:"late_config_skip",configFetchStartedAt:w,configFetchCompletedAt:r,configFetchMs:e,configFetchStatus:"ok"}),Ru("init","late_config_skip",{elapsedMs:e}),void b()}b(),wf(_,a,"network",h?ju():t,i)}).catch(t=>{let n=Date.now(),i=t instanceof Error?t.message:String(t);Hd({stage:"config_fetch_failed",configFetchStartedAt:w,configFetchCompletedAt:n,configFetchMs:n-w,configFetchStatus:"timeout"===bm.load.configFetchStatus?"timeout":"failed",configFetchError:i}),typeof console<"u"&&console.error("[drip] Failed to fetch experiments:",t),function(e,t,n){Xd(e,"sdk_perf",t,n)}(e,{assignment_ready_ms:0,blank_screen_ms:No(),platform:To(e),config_source:h?"cache":"none",config_fetch_status:bm.load.configFetchStatus,config_fetch_ms:bm.load.configFetchMs,config_fetch_attempts:bm.load.configFetchAttempts,config_fetch_error:i,activation_mode:Po(e),delivery_state:"string"==typeof e.deliveryState?e.deliveryState:void 0,script_cache_source:"string"==typeof e.scriptCacheSource?e.scriptCacheSource:void 0},o),bm.pendingInitialApply||b()}),[]}return wf(e,[],"none",t)}function If(e,t,n,i){if(bm.screenshotMode||Uu())return;if(bm.pendingInitialApply)return void bm.pendingInitialApply.then(()=>{If(e,t,n,i)});if(function(e,t){if(!bm.config||!Xu())return;let n=bm.config.signals??[];if(n.length&&t)for(let i of n){let n=i.capture;if("event_property"!==n?.mode||!n.eventName||!n.property||n.eventName!==e)continue;let r=Yu(t[n.property],i.valueType);void 0!==r&&ln(i.key,r,i.ttlDays,"event_property")}}(e,t),hp(),!bm.tracker)return;let r=bm.assignments.length>0?bm.assignments[0]:null,a=n??r?.experimentId,s=i??r?.variationId;ai("track",`${e}`,{experimentId:a,variationId:s,data:t}),Ru("track",`${e}`,{experimentId:a,variationId:s,...t});let l={type:e,data:kp(t,a,s),url:o(),experimentId:a,variationId:s};bm.tracker.track(l),"goal"!==e&&bm.config&&function(e,t,n,i){if(!e)return;let r=new Map(n.map(e=>[e.id,e]));for(let n of t){let t=r.get(n.experimentId);if(t?.goals)for(let r of t.goals)"custom"===r.type&&r.eventName===e&&Gi(r,n,i)}}(e,bm.assignments,bm.config.experiments??[],t)}function kf(e,t){let n=e.trim().slice(0,160);if(!n||bm.screenshotMode||Uu())return;if(bm.pendingInitialApply)return void bm.pendingInitialApply.then(()=>{kf(n,t)});if(!bm.tracker)return;if(!function(e,t){if(!t||typeof sessionStorage>"u")return!0;let n=function(e){return`drip:funnel_step:${typeof location<"u"?`${location.origin??""}${location.pathname??""}`:"unknown"}:${e}`.slice(0,240)}(e);try{if("1"===sessionStorage.getItem(n))return!1;sessionStorage.setItem(n,"1")}catch{return!0}return!0}(n,!1!==t?.oncePerSession))return;let i={...t??{}};delete i.oncePerSession,If("funnel_step",{...i,source:"virtual_step",step_name:n,path:typeof location<"u"?location.pathname:void 0})}function Af(e,t){if(!bm.screenshotMode&&!Uu()&&bm.config){if(bm.pendingInitialApply)return void bm.pendingInitialApply.then(()=>{Af(e,t)});ai("goal",`Triggering goal: ${e}`,t),Ru("goal",`Goal: ${e}`,t),function(e,t,n,i){let r=new Map(n.map(e=>[e.id,e]));for(let n of t){let t=r.get(n.experimentId);if(!t?.goals)continue;let a=t.goals.find(t=>t.id===e);a&&Gi(a,n,i)}}(e,bm.assignments,bm.config.experiments??[],t)}}function Mf(e){bm.consentGranted=!!e,function(e){if(globalThis.document)try{globalThis.document.cookie=e?`${um}=1; Max-Age=31536000; Path=/; SameSite=Lax`:`${um}=; Max-Age=0; Path=/; SameSite=Lax`}catch{}}(bm.consentGranted),bm.consentGranted||sd(),bm.config&&(function(){var e;bm.config&&(se((e=bm.config,Xu()?e.dataProtection:{...e.dataProtection??{},storageMode:"memory"})),Xu()&&bm.userId&&me(bm.userId))}(),Tf(),bm.consentGranted&&(of(),lf()))}function Cf(){return++Br}function Ef(){return(Br=Math.max(0,Br-1))||Hr.forEach(e=>e()),Br}function $f(){Ur()}function Tf(){if(!bm.config)return;let e=bm.config.experiments??[],t="empty_project"===bm.config.runtimeProfile&&bm.perfFlags.perf_empty_project_v1;bm.trackingPrerequisiteMet=t||df(bm.config),t||uf(bm.config),gf("prerequisite"),!Uu()&&bm.trackingPrerequisiteMet?"idle"===bm.trackingStart?gp(bm.config,e):mp(bm.config,e):mf()}function Pf(e=!1){let t=gf("manual",e);return bm.orderIdentityDetectionUrl="",bm.orderIdentityDetection=void 0,bm.config&&pp(bm.config),t}function zf(e,t){if("number"!=typeof e||!Number.isFinite(e)||e<0)return void(typeof console<"u"&&console.warn("[drip] trackRevenue ignored invalid revenue; expected a finite, non-negative number"));if(bm.screenshotMode||Uu())return;if(bm.pendingInitialApply)return void bm.pendingInitialApply.then(()=>{zf(e,t)});if(!bm.tracker)return;let n={...t,revenue:e};if(t&&"currency"in t){let e=function(e){if("string"!=typeof e)return;let t=e.trim().toUpperCase();return/^[A-Z]{3}$/.test(t)?t:void 0}(t.currency);e?n.currency=e:delete n.currency}for(let e of bm.assignments)If("goal",{...n,goalId:"__revenue__"},e.experimentId,e.variationId)}function jf(){if(bm.screenshotMode)return Promise.resolve();let e=bm.pendingInitialApply;return e?e.then(()=>jf()):(hp(),bm.tracker?bm.tracker.flush():Promise.resolve())}function Lf(){return bm.assignments}function qf(){let e=ef();return e?Na(e):[]}function Df(e){if("string"!=typeof e)return null;let t=e.trim().split("?",1)[0]??"",n=t.startsWith("gid://shopify/Cart/")?t.slice(19):t;return n.length>0&&n.length<=4096?n:null}async function Nf(e){let t=nf(),n=ef(t);if(!n)return[];let i=qm??={generation:0,confirmationPending:!1,pending:null},r=++i.generation;Lm+=1,i.confirmationPending=t,i.pending=null,t&&(bm.authorizedPriceAssignmentKeys?.clear(),bm.authorizedShippingAssignmentKeys?.clear(),function(){let e=bm.authorizedOffersAssignmentKeys;if(!e||0===e.size)return;let t=new Set(bm.config?.commerce?.offers?.authorization?.experimentIds??[]),n=bm.assignments.some(n=>t.has(n.experimentId)&&e.has(Ed(n))&&jd(n));bm.authorizedOffersAssignmentKeys=new Set,n&&(Bp(bm.assignments),Up(bm.assignments,bm.activationMode))}(),bm.lastShopifyCartSync={at:Date.now(),status:"pending",assignmentCount:bm.assignments.length},vt(),On());let a=[],o=[],s=[],l=null,c=await async function(e){let t=++Ja,n=await Ea(e,t);if(t!==Ja||!n.completed)return[];if(n.offersAdoptionAssignments&&e.stageOffersAdoptionAssignments?.(n.offersAdoptionAssignments),ma(e)){let t=Pa(n.token,new Set(e.priceExperimentIds??[]));if(!t)return[];e.authorizePriceDisplayAssignments?.(t)}if(ya(e)){let t=za(n.token,va(e))??[];e.authorizeShippingDisplayAssignments?.(t)}if(ga(e)){let t=ja(n.token,ha(e))??[];e.authorizeOffersDisplayAssignments?.(t)}return Na({...e,assignments:n.assignments},n.token)}({...n,cartToken:e,authorizePriceDisplayAssignments:e=>{a=e},authorizeShippingDisplayAssignments:e=>{o=e},authorizeOffersDisplayAssignments:e=>{s=e},stageOffersAdoptionAssignments:e=>{l=e}});if(r!==i.generation)return[];let u=Df(e);return 0===c.length&&t?(i.confirmationPending=!1,bm.lastShopifyCartSync={at:Date.now(),status:"failed",reason:"authorization_failed",assignmentCount:bm.assignments.length},ht(bm.config?.commerce?.price,Wp(),af,void 0,$d),Fn(bm.config?.commerce?.shipping,bm.assignments.filter(Td),qd),[]):(c.length>0&&t&&u&&(i.pending={generation:r,cartToken:u,priceAssignments:a,shippingAssignments:o,offersAssignments:s,offersAdoptionAssignments:l},ht(bm.config?.commerce?.price,Wp(),af,void 0,$d),Fn(bm.config?.commerce?.shipping,bm.assignments.filter(Td),qd)),c)}function Rf(e){let t=Df(e),n=qm,i=n?.pending;return!!(t&&n&&i&&i.generation===n.generation&&i.cartToken===t)&&(i.offersAdoptionAssignments&&!Zp(i.offersAdoptionAssignments)?(bm.lastShopifyCartSync={at:Date.now(),status:"failed",reason:"offers_adoption_failed",assignmentCount:bm.assignments.length},!1):(n.pending=null,n.confirmationPending=!1,bm.authorizedPriceAssignmentKeys=new Set(i.priceAssignments.map(Ed)),bm.authorizedShippingAssignmentKeys=new Set(i.shippingAssignments.map(Ed)),Ld(i.offersAssignments),bm.lastShopifyCartSync={at:Date.now(),status:"sent",assignmentCount:bm.assignments.length},ht(bm.config?.commerce?.price,Wp(),af,void 0,$d),Fn(bm.config?.commerce?.shipping,bm.assignments.filter(Td),qd),bm.analyticsStarted&&bm.config&&!Uu()&&Dd(bm.config),!0))}function Ff(){return bm.config?.experiments??[]}function Of(e){switch(e){case"tools":return Uf();case"experiments":return Ff();case"goals":return function(){let e=new Set,t=[];for(let n of Ff())for(let i of n.goals??[])e.has(i.id)||(e.add(i.id),t.push(i));return t}();case"assignments":case"activeAssignments":return Lf();case"activeExperimentIds":return function(){let e={};for(let t of bm.assignments)e[t.experimentId]=t.variationId;return e}();case"orderAttribution":return bm.screenshotMode||Uu()?{visitorId:"",assignments:[]}:{visitorId:bm.userId??"",assignments:cp()};case"signals":return nd({markVisitorSeen:!1});case"diagnostics":return Vf();case"data":return{initialized:!!bm.config,shopId:bm.config?.shopId??null,experimentsLoaded:bm.config?.experiments?.length??0};default:return}}function Uf(){return Ho({document:typeof document<"u"?document:void 0,window:typeof window<"u"?window:void 0,location:typeof location<"u"?location:void 0,track:If,trackGoal:Af,signal:td,reInit:Pf,get:Of})}function Jf(e){let t=e?.url??(typeof location<"u"?location.href:"");return{url:t,attributes:As({...bm.config?.attributes??{},...e?.attributes??{}},t,{persistSignals:Xu()}),userId:e?.userId??bm.userId??void 0}}function Bf(e,t){return function(e,t,n){let i=t.find(t=>t.id===e);if(!i)return!1;let r=n?.url??(typeof location<"u"?location.href:""),a=As(n?.attributes??{},r);if(!Ns(i.targeting,{url:r,attributes:a}))return!1;let o=fe(n?.userId),s=re(i.id,o);if(!G(s,i.trafficAllocation??1))return!1;let l=H((i.trafficAllocation??1)>=1?s:ae(i.id,o),i.variations.map(e=>e.weight));return!(l<0||l>=i.variations.length||i.variations[l].isControl)}(e,Ff(),Jf(t))}function Gf(e,t){return tl(e,Ff(),Jf(t))}function Hf(e,t,n){return function(e,t,n,i){let r=tl(e,t,n);return r?void 0===r.value?i:r.value:i}(e,Ff(),Jf(n),t)}function Vf(){let e=bm.config,t=bm.runtimeConfig,n=e?.dataProtection?.storageMode??"localStorage",i=function(e={}){return{values:cn(e),sources:{...bn}}}({markVisitorSeen:Xu()}),r={mode:"public",initialized:!!e,shopId:e?.shopId??null,userIdPresent:!!bm.userId,assignments:bm.assignments.map(e=>{let t=e.kind??(e.personalization?"personalization":e.featureFlag?"feature_flag":"experiment");return{experimentId:e.experimentId,variationId:e.variationId,kind:t,isControl:e.isControl,mutationCount:e.mutations.length,featureFlagKey:e.featureFlag?.key,personalizationKey:e.personalization?.key,personalizationRuleId:e.personalization?.ruleId,personalizationExperienceId:e.personalization?.experienceId,personalizationSurface:e.personalization?.surface,personalizationTemplateKey:e.personalization?.templateKey,personalizationPriority:e.personalization?.priority,personalizationStopAfterMatch:e.personalization?.stopAfterMatch,value:e.value}}),experimentsLoaded:e?.experiments?.length??0,analyticsStarted:bm.analyticsStarted,trackerStarted:!!bm.tracker,activation:bm.activationDiagnostics,qaMode:bm.qaMode,qaSessionId:bm.qaSessionId,screenshotMode:bm.screenshotMode,configSource:bm.configSource,load:{...bm.load},platform:bm.platform,routerMode:bm.routerMode,activationMode:bm.activationMode,storage:{mode:n,localStorageAvailable:yp("localStorage"),sessionStorageAvailable:yp("sessionStorage"),cookiesEnabled:typeof navigator<"u"&&!1!==navigator.cookieEnabled},runtime:{antiFlickerMode:t?.antiFlickerMode,antiFlickerTimeoutMs:t?.antiFlickerTimeoutMs,trackingStart:t?.trackingStart,pageTriggerMode:bm.pageTriggerMode,customJsPolicy:t?.customJsPolicy,externalHandoverDomains:e?.externalTracking?.domains??[],handoverQueryParam:e?.externalTracking?.handoverQueryParam??"drip_bucket",handoverMintTimeoutMs:e?.externalTracking?.handoverMintTimeoutMs,runtimeDisabled:!0===e?.runtimeControl?.disabled,runtimeDisabledAt:e?.runtimeControl?.disabledAt},spa:{lastUrl:bm.lastUrl,lastRouteChange:bm.lastRouteChange??void 0,lastDataLayerTrigger:bm.lastDataLayerTrigger??void 0,lastShopifyAssignmentSync:bm.lastShopifyAssignmentSync??void 0,lastShopifyCartSync:bm.lastShopifyCartSync??void 0},signals:{values:i.values,sources:i.sources},integrations:{exposureDestinations:bm.exposureDestinationDiagnostics}};return ri()&&(r.mode="debug",r.trackingBlocked=Uu(),r.trackingDisabledByDnt=bm.trackingDisabledByDnt,r.trackingPrerequisiteMet=bm.trackingPrerequisiteMet,r.consentRequired=bm.consentRequired,r.consentGranted=bm.consentGranted,r.consentModeEnabled=bm.consentModeEnabled),r}function Wf(e){switch(e.type){case"init":Sf(e.config);break;case"track":If(e.event,e.data);break;case"step":kf(e.name,e.data);break;case"trackGoal":Af(e.goalId,e.data);break;case"trackRevenue":zf(e.revenue,e.data);break;case"signal":td(e.key,e.value,e.ttlDays);break;case"triggerPage":rd(e.apiName,e.active);break;case"rememberProduct":mn(e.product,e.ttlDays);break;case"setCart":gn({itemCount:e.itemCount,productIds:e.productIds},e.ttlDays);break;case"setSearch":hn(e.query,e.ttlDays);break;case"setConsent":Mf(e.granted);break;case"hold":Cf();break;case"release":Ef();break;case"hydrated":$f();break;case"reInit":Pf(!0===e.force);break;case"recheckPrerequisites":Tf()}}a(Eu,{__forceQaAssistantVariation:()=>xf,__getQaAssistantRuntimeSnapshot:()=>vf,__resetQaAssistantForce:()=>bf,__subscribeQaAssistantRuntime:()=>yf,__test:()=>Fm,confirmCartAttributesWritten:()=>Rf,createApexRuntimeTools:()=>Ho,defineExperiment:()=>Xs,defineExperiments:()=>Ys,defineFlagExperiment:()=>nl,evaluate:()=>zp,evaluateFlag:()=>Bf,evaluateFlagAssignment:()=>Gf,evaluateFlagValue:()=>Hf,flush:()=>jf,getAssignments:()=>Lf,getCartAttributes:()=>qf,getDiagnostics:()=>Vf,getExperiments:()=>Ff,getRuntimeTools:()=>Uf,getRuntimeValue:()=>Of,getSignals:()=>cn,getSignedCartAttributes:()=>Nf,hold:()=>Cf,hydrated:()=>$f,init:()=>Sf,reInit:()=>Pf,recheckPrerequisites:()=>Tf,release:()=>Ef,rememberProduct:()=>mn,setCartSignals:()=>gn,setConsent:()=>Mf,setSearchSignal:()=>hn,setSignal:()=>ln,track:()=>If,trackGoal:()=>Af,trackRevenue:()=>zf,trackStep:()=>kf});var Kf,Qf,Xf,Yf,Zf,em,tm,nm,im,rm,am,om,sm,lm,cm,um,dm,pm,fm,mm,gm,hm,vm,ym,xm,bm,wm,_m,Sm,Im,km,Am,Mm,Cm,Em,$m,Tm,Pm,zm,jm,Lm,qm,Dm,Nm,Rm,Fm,Om,Um=r(()=>{g(),M(),F(),B(),V(),ie(),Ve(),Ot(),ei(),ti(),pi(),_i(),ki(),Ti(),tr(),Re(),be(),lr(),dr(),Ji(),Rr(),yi(),Vr(),Sr(),Kr(),sa(),da(),Ba(),Yt(),Co(),zn(),Fo(),Gs(),Vo(),Qs(),_n(),il(),xl(),el(),il(),_n(),Vo(),Kf=!0,Qf=!0,Xf=!0,Yf=!0,Zf=!0,em=typeof document<"u"?document.currentScript?.src:void 0,tm=4500,nm=1500,im="drip_cfg:",rm=3e5,am=1200,om=2e3,sm="auto",lm="idle",cm="hybrid",um="drip_consent",dm="drip_ctx",pm=2592e3,fm=1024,mm="drip_sid",gm=6e4,hm=1e3,vm=6e5,ym=new Set(["onetrust","usercentrics","cookiebot","ccm19"]),wn=(()=>Xu())??(()=>!0),xm=new Set,bm={config:null,userId:null,tracker:null,assignments:[],stopObserver:null,stopDomObserver:null,stopHandover:null,heatmapController:null,semanticController:null,forceMap:null,analyticsStarted:!1,trackingStart:"idle",trackingIdleTimeoutMs:om,consentRequired:!1,consentGranted:!0,consentModeEnabled:!1,trackingPrerequisiteMet:!0,variationPrerequisiteMet:!0,activationDiagnostics:{project:{gates:[]},experiments:[]},trackingDisabledByDnt:!1,analyticsTimeoutId:null,analyticsIdleId:null,qaMode:!1,qaSessionId:"",screenshotMode:!1,platform:"auto",routerMode:"history",activationMode:"observer",perfFlags:zo({}),urlDiffNeeds:{path:!1,search:!1,hash:!1},lastUrl:"",lastAssignmentSignature:"none",pendingPerf:null,configSource:"none",runtimeConfig:null,pageTriggerMode:"direct",stopSignalCaptures:null,stopSurfaceSignals:null,stopJsTriggerSignals:null,stopDataLayerTriggers:null,stopConsentListeners:null,stopShopifyCartMutationSync:null,lastRouteChange:null,lastDataLayerTrigger:null,lastShopifyAssignmentSync:null,lastShopifyCartSync:null,exposureDestinationDiagnostics:[],exposedAssignmentKeys:new Set,authorizedPriceAssignmentKeys:null,authorizedShippingAssignmentKeys:null,authorizedOffersAssignmentKeys:null,initializingAssignments:!1,pendingInitialApply:null,queuedRecheck:null,routeAnalyticsGeneration:0,assignmentApplyGeneration:0,pendingDeliveryHealth:[],load:{stage:"idle",configFetchStatus:"idle"},orderIdentityInFlight:new Set,orderIdentityDetectionUrl:"",orderIdentityDetection:void 0},wm=null,_m="",Sm=!1,Im=new Set(["revenue","source","dataLayerEvent","orderId","currency","cost","profit","goalId"]),km=!1,Ft(qd),Am="__dripRuntimeInstallClaim",Mm="__dripRuntimeInstallConflictEmitted",Cm="drip_exposures",Em=50,$m=2592e6,Tm=new WeakSet,Pm=[0,250,1e3,2500],zm=[],jm=null,Lm=0,qm=null,Dm=()=>tf("price"),Nm=()=>tf("shipping"),Rm=()=>tf("offers"),function(){let e=globalThis,t=e.drip;if(Array.isArray(t))for(let e of t)Wf(e);let n=Object.assign(e=>"hold"===e?Cf():"release"===e?Ef():"hydrated"===e?$f():void oi("api",`Unknown command: ${e}`),{init:Sf,track:If,step:kf,trackGoal:Af,trackRevenue:zf,setConsent:Mf,hold:Cf,release:Ef,hydrated:$f,reInit:Pf,recheckPrerequisites:Tf,flush:jf,evaluate:zp,evaluateFlag:Bf,evaluateFlagAssignment:Gf,evaluateFlagValue:Hf,signal:td,triggerPage:rd,rememberProduct:mn,setCart:gn,setSearch:hn,getSignals:nd,getAssignments:Lf,getCartAttributes:qf,getSignedCartAttributes:Nf,confirmCartAttributesWritten:Rf,getExperiments:Ff,getTools:Uf,get:Of,getDiagnostics:Vf,getPendingGiftChoices:po,selectGiftOption:co,push(e){Wf(e)}});e.drip=n,e.Apex=n,e.apexTools=Uf()}(),Fm={fetchWithTimeout:$u,fetchWithRetry:Tu,getConfigCacheKey:vp,installPageTriggerRule:pd,normalizePageApiName:id,triggerPage:rd,withRuntimeSettings:bp}});return Um(),Om=Eu,((r,a,o,s)=>{if(a&&"object"==typeof a||"function"==typeof a)for(let o of n(a))!i.call(r,o)&&void 0!==o&&e(r,o,{get:()=>a[o],enumerable:!(s=t(a,o))||s.enumerable});return r})(e({},"__esModule",{value:!0}),Om)})();
2
+ //# sourceMappingURL=drip.debug.js.map