1const w=window,debugState={enabled:!1,wrapped:!1},DEBUG_HISTORY_LIMIT=200;setupDebugTools(),w.__hwDataLayerBound||(w.__hwDataLayerBound=!0,document.documentElement.classList.contains("shopify-design-mode")||(document.readyState==="loading"?document.addEventListener("DOMContentLoaded",bind,{once:!0}):bind()));function push(event,payload){if(!Array.isArray(w.dataLayer))return;const user=w.__hwUser||{};w.dataLayer.push({event,...payload||{},authentication_status:user.user_authentication_status??null,shopify_customer_id:user.user_shopify_customer_id??null,purchaser_type:user.user_purchaser_type??null})}w.__hwPush=push;function bind(){document.addEventListener("click",onDocumentClick,!1),document.addEventListener("toggle",onDocumentToggle,!0),document.addEventListener("change",onDocumentChange,!1)}function onDocumentClick(event){const target=event.target;!target||typeof target.closest!="function"||handleSocialClick(target)||handleNavigationClick(target)||handleCtaClick(target)}function handleSocialClick(target){let link=target.closest("a[data-social-link]");if(link||(link=target.closest(".social-icons__wrapper .social-icons__icon-wrapper > a[href]")),!link)return!1;const platform=link.dataset.socialLink&&String(link.dataset.socialLink).trim()||link.getAttribute("aria-label")?.trim()||textFor(link.querySelector(".social-icons__icon-label"));return push("social_media_click",{social_media_platform:platform,click_url:link.href}),!0}function handleNavigationClick(target){const link=target.closest("a");if(!link||link.closest("[data-social-link]")||link.closest(".social-icons__wrapper")||link.closest("[data-cta-track]"))return!1;const inHeader=link.closest("#header-group"),inFooter=link.closest("footer");if(!inHeader&&!inFooter)return!1;const parent=link.closest("[data-nav-parent]");return push("navigation_click",{click_text:textFor(link),click_url:link.href,menu_type:inHeader?"header":"footer",menu_category:parent instanceof HTMLElement&&parent.dataset.navParent||""}),!0}function handleCtaClick(target){const cta=target.closest("[data-cta-track]");if(!cta||!cta.closest('main, #MainContent, [role="main"]'))return!1;const url=cta instanceof HTMLAnchorElement?cta.href:cta.dataset.ctaUrl||"";return push("cta_click",{click_text:textFor(cta),click_url:url,section_heading:resolveSectionHeading(cta)}),!0}function onDocumentChange(event){const target=event.target;if(!(target instanceof HTMLInputElement)||target.type!=="checkbox"||!target.checked)return;const group=target.closest("facet-inputs-component");group instanceof HTMLElement&&push("plp_filter",{filter_category:group.dataset.filterCategory||"",filter_value:target.dataset.label||target.getAttribute("aria-label")||""})}function onDocumentToggle(event){const target=event.target;if(!(target instanceof HTMLDetailsElement)||!target.open||!target.closest("[data-faq-page]"))return;const summary=target.querySelector("summary");push("faq_engagement",{faq_question:textFor(summary)})}function textFor(el){if(!el)return"";const txt=(el.textContent||"").replace(/\s+/g," ").trim();return txt||el instanceof HTMLElement&&(el.getAttribute("aria-label")?.trim()||el.title?.trim())||""}function resolveSectionHeading(cta){const explicitSection=cta.closest("[data-cta-section]");if(explicitSection instanceof HTMLElement){const explicit=explicitSection.dataset.ctaSection||"";if(explicit)return explicit}const localRoot=cta.closest(".slide, .group-block");if(localRoot instanceof HTMLElement){const local=findClosestPrecedingHeading(cta,localRoot);if(local)return local}return findClosestPrecedingHeading(cta,cta.closest('.shopify-section, main, #MainContent, [role="main"]'))}function findClosestPrecedingHeading(from,root){if(!root)return"";const candidates=root.querySelectorAll("h1, h2, h3, h4, h5, h6, [data-cta-heading]");let best="";for(const el of candidates){if(!(el instanceof HTMLElement)||el===from||from.contains(el)||!(from.compareDocumentPosition(el)&Node.DOCUMENT_POSITION_PRECEDING))continue;const headingText=el.dataset.ctaHeading?.trim()||textFor(el);headingText&&(best=headingText)}return best}function setupDebugTools(){Array.isArray(w.__hwDataLayerEvents)||(w.__hwDataLayerEvents=[]),debugState.enabled=isDebugEnabled(),wrapDataLayerPush(),w.__hwDataLayerDebug={enable(){debugState.enabled=!0;try{w.localStorage.setItem("hwDataLayerDebug","1")}catch{}console.info("[HW data-layer] debug enabled")},disable(){debugState.enabled=!1;try{w.localStorage.removeItem("hwDataLayerDebug")}catch{}console.info("[HW data-layer] debug disabled")},state(){return{enabled:debugState.enabled,eventsBuffered:w.__hwDataLayerEvents.length}},dump(){return w.__hwDataLayerEvents.slice()},clear(){w.__hwDataLayerEvents=[],console.info("[HW data-layer] debug buffer cleared")}},debugState.enabled&&console.info("[HW data-layer] debug logging is enabled")}function wrapDataLayerPush(){if(debugState.wrapped||(Array.isArray(w.dataLayer)||(w.dataLayer=[]),typeof w.dataLayer.push!="function"))return;const nativePush=w.dataLayer.push.bind(w.dataLayer);
1w.dataLayer.push=function(...entries){for(const entry of entries)recordDataLayerEntry(entry);return nativePush(...entries)},debugState.wrapped=!0}function recordDataLayerEntry(entry){if(!entry||typeof entry!="object"||Array.isArray(entry))return;const eventEntry=entry,snapshot={timestamp:new Date().toISOString(),...eventEntry};if(w.__hwDataLayerEvents.push(snapshot),w.__hwDataLayerEvents.length>DEBUG_HISTORY_LIMIT&&w.__hwDataLayerEvents.shift(),debugState.enabled){const label=typeof eventEntry.event=="string"?eventEntry.event:"(no event name)";console.log("[HW data-layer]",label,snapshot)}}function isDebugEnabled(){if(w.__HW_DATA_LAYER_DEBUG===!0)return!0;try{if(w.localStorage.getItem("hwDataLayerDebug")==="1")return!0}catch{}return new URLSearchParams(w.location.search).get("dl_debug")==="1"} 2//# sourceMappingURL=/cdn/shop/t/123/assets/data-layer.js.map?v=152488887223300589261789770113
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.