1var mailchimp,mailchimp_cart,mailchimp_billing_email,mailchimp_username_email,mailchimp_registration_email,mailchimp_submitted_email=false,mailchimpReady=function(a){/in/.test(document.readyState)?setTimeout(()=>{mailchimpReady(a)},9):a()};function mailchimpHandleBillingEmail(selector){try{if(!mailchimp_public_data.allowed_to_set_cookies)return;if(mailchimp_public_data.disable_carts)return;var subscribed=document.querySelector("#mailchimp_woocommerce_newsletter");if(!subscribed)subscribed=document.querySelector("#subscribe-to-newsletter");if(!selector)selector="#billing_email";var a=document.querySelector(selector);var b=void 0!==a?a.value:"";if(!mailchimp_cart.valueEmail(b)||mailchimp_submitted_email===b){return false}mailchimp_cart.setEmail(b);var c=mailchimp_public_data.ajax_url+"?action=mailchimp_set_user_by_email";var d=new XMLHttpRequest;d.open("POST",c,!0);d.onload=function(){var successful=d.status>=200&&d.status<400;var msg=successful?"mailchimp.handle_billing_email.request.success":"mailchimp.handle_billing_email.request.error";if(successful){mailchimp_submitted_email=b}console.log(msg,d.responseText)};d.onerror=function(){console.log("mailchimp.handle_billing_email.request.error",d.responseText)};d.setRequestHeader("Content-Type","application/x-www-form-urlencoded");d.setRequestHeader("Accept","application/json");d.send("email="+b+"&mc_language="+mailchimp_public_data.language+"&subscribed="+(subscribed&&subscribed.checked?"1":"0"));return true}catch(a){console.log("mailchimp.handle_billing_email.error",a);mailchimp_submitted_email=!1}}!function(){"use strict";function mailchimpCart(){this.email_types="input[type=email]";this.regex_email=/^([A-Za-z0-9_+\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;this.current_email=null;this.previous_email=null;this.expireUser=function(){this.current_email=null;if(!mailchimp_public_data.allowed_to_set_cookies)return;mailchimp.storage.expire("mailchimp.cart.current_email")};this.expireSaved=function(){if(!mailchimp_public_data.allowed_to_set_cookies)return;mailchimp.storage.expire("mailchimp.cart.items")};this.setEmail=function(a){if(!mailchimp_public_data.allowed_to_set_cookies)return;if(!this.valueEmail(a))return false;this.setPreviousEmail(this.getEmail());mailchimp.storage.set("mailchimp.cart.current_email",this.current_email=a)};this.getEmail=function(){if(!mailchimp_public_data.allowed_to_set_cookies)return;if(this.current_email)return this.current_email;var a=mailchimp.storage.get("mailchimp.cart.current_email",!1);if(!a||!this.valueEmail(a))return false;return this.current_email=a};this.setPreviousEmail=function(a){if(!mailchimp_public_data.allowed_to_set_cookies)return;if(!this.valueEmail(a))return false;mailchimp.storage.set("mailchimp.cart.previous_email",this.previous_email=a)};this.valueEmail=function(a){return this.regex_email.test(a)};return this}var g={extend:function(a,b){for(var c in b||{})b.hasOwnProperty(c)&&(a[c]=b[c]);return a},getQueryStringVars:function(){var a=window.location.search||"",b=[],c={};if(a=a.substr(1),a.length){b=a.split("&");for(var d in b){var e=b[d];if("string"==typeof e){var f=e.split("="),g=f[0],h=f[1];g.length&&("undefined"==typeof c[g]&&(c[g]=[]),c[g].push(h))}}}return c},unEscape:function(a){return decodeURIComponent(a)},escape:function(a){return encodeURIComponent(a)},createDate:function(a,b){a||(a=0);var c=new Date,d=b?c.getDate()-a:c.getDate()+a;return c.setDate(d),c},arrayUnique:function(a){for(var b=a.concat(),c=0;c<b.length;++c)for(var d=c+1;d<b.length;++d)b[c]===b[d]&&b.splice(d,1);return b},objectCombineUnique:function(a){for(var b=a[0],c=1;c<a.length;c++){var d=a[c];for(var e in d)b[e]=d[e]}return b}},h=function(a,b){var c=function(a,b,d){return 1===arguments.length?c.get(a):c.set(a,b,d)};return c.get=function(b,d){return a.cookie!==c._cacheString&&c._populateCache(),void 0==c._cache[b]?d:c._cache[b]},c.defaults={path:"/",secure:true,samesite:"strict"},c.set=function(d,e,f){switch(f={path:f&&f.path||c.defaults.path,domain:f&&f.domain||c.defaults.domain,expires:f&&f.expires||c.defaults.expires,secure:f&&f.secure!==b?f.secure:c.defaults.secure,samesite:f&&f.samesite||c.defaults.samesite},e===b&&(f.expires=-1),typeof f.expires){case"number":f.expires=new Date((new Date).getTime()+1e3*f.expires);break;case"string":f.expires=new Date(f.expires)}return d=encodeURIComponent(d)+"="+(e+"").replace(/[^!#-+\--:<-\[\]-~]/g,encodeURIComponent),d+=f.path?";path="+f.path:"",d+=f.domain?";domain="+f.domain:"",d+=f.expires?";expires="+f.expires.toGMTString():"",d+=f.secure?";secure":"",d+=f.samesite?";samesite="+f.samesite:"",a.cookie=d,c},c.expire=function(a,d){return c.set(a,b,d)},c._populateCache=function(){c._cache={};try{c._cacheString=a.cookie;for(var d=c._cacheString.split("; "),e=0;e<d.length;e++){var f=d[e].indexOf("="),g=decodeURIComponent(d[e].substr(0,f)),f=decodeURIComponent(d[e].substr(f+1));c._cache[g]===b&&(c._cache[g]=f)}}catch(a){console.log(a)}},c.enabled=function(){var a="1"===c.set("cookies.js","1").get("cookies.js");return c.expire("cookies.js"),a}(),c}(document);mailchimp={storage:h,utils:g};mailchimp_cart=new mailchimpCart}();
1mailchimpReady(function(){if(!mailchimp_public_data.allowed_to_set_cookies)return;if(mailchimp_public_data.disable_carts)return;if(void 0===a){var a={site_url:document.location.origin,defaulted:!0,ajax_url:document.location.origin+"/wp-admin?admin-ajax.php"}}try{var b=mailchimp.utils.getQueryStringVars();var subscribed=document.querySelector("#mailchimp_woocommerce_newsletter");var blockSubscribed=document.querySelector("#subscribe-to-newsletter");if(subscribed){subscribed.onchange=function(){mailchimp_submitted_email=null;mailchimpHandleBillingEmail("#billing_email")}}else if(blockSubscribed){blockSubscribed.onchange=function(){mailchimp_submitted_email=null;mailchimpHandleBillingEmail('#contact-fields input[type="email"]')}}mailchimp_username_email=document.querySelector("#username");mailchimp_billing_email=document.querySelector("#billing_email");mailchimp_registration_email=document.querySelector("#reg_email");var mailchimp_username_email_block=document.querySelector('#contact-fields input[type="email"]');if(mailchimp_billing_email){mailchimp_billing_email.onblur=function(){mailchimpHandleBillingEmail("#billing_email")};mailchimp_billing_email.onfocus=function(){mailchimpHandleBillingEmail("#billing_email")}}if(mailchimp_username_email){mailchimp_username_email.onblur=function(){mailchimpHandleBillingEmail("#username")};mailchimp_username_email.onfocus=function(){mailchimpHandleBillingEmail("#username")}}if(mailchimp_registration_email){mailchimp_registration_email.onblur=function(){mailchimpHandleBillingEmail("#reg_email")};mailchimp_registration_email.onfocus=function(){mailchimpHandleBillingEmail("#reg_email")}}if(mailchimp_username_email_block){mailchimp_username_email_block.onblur=function(){mailchimpHandleBillingEmail('#contact-fields input[type="email"]')};mailchimp_username_email_block.onfocus=function(){mailchimpHandleBillingEmail('#contact-fields input[type="email"]')};var typingTimer;mailchimp_username_email_block.addEventListener("keyup",function(){typingTimer&&clearTimeout(typingTimer);typingTimer=setTimeout(function(){if(mailchimp_cart.valueEmail(mailchimp_username_email_block.value)){mailchimpHandleBillingEmail('#contact-fields input[type="email"]')}},2e3)});mailchimp_username_email_block.addEventListener("keydown",function(){typingTimer&&clearTimeout(typingTimer)})}}catch(e){console.log("mailchimp ready error",e)}});; 2(function($){'use strict';const PIXEL_SDK_WAIT_CONFIG={initialDelayMs:100,maxDelayMs:5000,maxAttempts:20};const VARIATION_RESOLVE_WAIT_MS=1200;const VARIATION_INPUT_SETTLE_MS=150;const MailchimpPixelTracking={_atcTimer:null,_rfcTimer:null,_atcFetching:!1,_rfcFetching:!1,_viewTimer:null,_viewedParent:null,_viewedKeys:null,_inputTimer:null,init:function(){const self=this;window.mcPixel=window.mcPixel||{};window.mcPixel.setVariation=function(variationId,product){self.setVariation(variationId,product)};document.addEventListener('mailchimp_woocommerce_set_variation',function(event){const detail=event.detail||{};self.setVariation(detail.variationId,detail.product)});this.waitForPixelSDK(PIXEL_SDK_WAIT_CONFIG).then(function(){self.sendPageEvents();self.attachCartEventListeners();self.interceptStoreApiRequests();console.log('Mailchimp Pixel SDK loaded.')}).catch(function(e){console.log('Mailchimp Pixel SDK not loaded within timeout. Tracking disabled.',e)})},waitForPixelSDK:function(options){const config=options||{};const initialDelayMs=config.initialDelayMs!==undefined?config.initialDelayMs:PIXEL_SDK_WAIT_CONFIG.initialDelayMs;const maxDelayMs=config.maxDelayMs!==undefined?config.maxDelayMs:PIXEL_SDK_WAIT_CONFIG.maxDelayMs;const maxAttempts=config.maxAttempts!==undefined?config.maxAttempts:PIXEL_SDK_WAIT_CONFIG.maxAttempts;function isSDKReady(){return typeof window.$mcSite!=='undefined'&&window.$mcSite.pixel&&typeof window.$mcSite.pixel.api!=='undefined'&&typeof window.$mcSite.pixel.api.track==='function'&&window.$mcSite.pixel.installed===!0} 3return new Promise(function(resolve,reject){let attempt=0;function scheduleCheck(){if(isSDKReady()){console.warn('Pixel SDK - remediation for pixel ready issue') 4setTimeout(function(){resolve()},1000);return} 5if(attempt>=maxAttempts){reject(new Error('Pixel SDK not available'));return} 6const delay=Math.min(initialDelayMs*Math.pow(2,attempt),maxDelayMs);attempt+=1;setTimeout(scheduleCheck,delay)} 7scheduleCheck()})},isPixelSDKReady:function(){return typeof window.$mcSite!=='undefined'&&window.$mcSite.pixel&&typeof window.$mcSite.pixel.api!=='undefined'&&typeof window.$mcSite.pixel.api.track==='function'},getCartId:function(){return window.mcPixel&&window.mcPixel.cartId?window.mcPixel.cartId:''},getRestBase:function(){return(window.mcPixelConfig&&window.mcPixelConfig.restBase)||'/wp-json/mailchimp-for-woocommerce/v1/'},sendPageEvents:function(){if(!window.mcPixel||!window.mcPixel.data){return} 8const data=window.mcPixel.data;const events=data.events||[];
8events.forEach((eventType)=>{switch(eventType){case 'PRODUCT_ADDED_TO_CART':if(data.added_to_cart){var atcItems=Array.isArray(data.added_to_cart)?data.added_to_cart:[data.added_to_cart];for(var ai=0;ai<atcItems.length;ai++){this.sendProductAddedToCart(atcItems[ai])}} 9break;case 'PRODUCT_REMOVED_FROM_CART':if(data.removed_from_cart){var rfcItems=Array.isArray(data.removed_from_cart)?data.removed_from_cart:[data.removed_from_cart];for(var ri=0;ri<rfcItems.length;ri++){this.sendProductRemovedFromCart(rfcItems[ri])}} 10break;case 'IDENTITY':if(data.identity&&data.identity.email){this.sendIdentityEvent(data.identity.email)} 11break;case 'PRODUCT_VIEWED':if(data.product){const viewedId=String(data.product.productId||data.product.id);const atcArr=Array.isArray(data.added_to_cart)?data.added_to_cart:(data.added_to_cart?[data.added_to_cart]:[]);const rfcArr=Array.isArray(data.removed_from_cart)?data.removed_from_cart:(data.removed_from_cart?[data.removed_from_cart]:[]);const atcMatch=atcArr.some(function(p){return String(p.productId||p.id)===viewedId});const rfcMatch=rfcArr.some(function(p){return String(p.productId||p.id)===viewedId});if((events.includes('PRODUCT_ADDED_TO_CART')&&atcMatch)||(events.includes('PRODUCT_REMOVED_FROM_CART')&&rfcMatch)){break} 12this.trackProductViewed(data.product)} 13break;case 'CART_VIEWED':if(data.cart){this.sendCartViewed(data.cart)} 14break;case 'CHECKOUT_STARTED':if(data.checkout){this.sendCheckoutStarted(data.checkout);window.mcPixel._handled.checkout=!0} 15break;case 'PURCHASED':if(data.order){this.sendPurchased(data.order)} 16break;case 'PRODUCT_CATEGORY_VIEWED':if(data.category){this.sendCategoryViewed(data.category);window.mcPixel._handled.category=!0} 17break;case 'SEARCH_SUBMITTED':if(data.search){this.sendSearchSubmitted(data.search);window.mcPixel._handled.search=!0} 18break}})},trackProductViewed:function(product){const self=this;this._viewedKeys=this._viewedKeys||{};if(!window.mcPixel.data.product_variations){this.sendProductViewedOnce(product,product.id);return} 19this._viewedParent=product;this.attachVariationListeners();const resolved=this.currentVariationId();if(resolved){this.sendProductViewedOnce(this.resolveVariationPayload({variation_id:resolved}),resolved);return} 20this._viewTimer=setTimeout(function(){self.sendProductViewedOnce(product,product.id)},VARIATION_RESOLVE_WAIT_MS)},sendProductViewedOnce:function(product,key){clearTimeout(this._viewTimer);if(this._viewedKeys[key]){return} 21if(this.sendProductViewed(product)){this._viewedKeys[key]=!0}},setVariation:function(variationId,product){const id=String(variationId||'');if(!id||id==='0'){return} 22this._viewedKeys=this._viewedKeys||{};this.sendProductViewedOnce(product||this.resolveVariationPayload({variation_id:id}),id)},attachVariationListeners:function(){const self=this;$(document.body).on('found_variation','.variations_form',function(event,variation){if(!variation||!variation.variation_id){return} 23self.sendProductViewedOnce(self.resolveVariationPayload(variation),String(variation.variation_id))});this.watchVariationInput()},currentVariationId:function(){const inputs=document.querySelectorAll('form input[name="variation_id"], form input.variation_id');for(let i=0;i<inputs.length;i++){const id=parseInt(inputs[i].value,10);if(id>0){return String(id)}} 24return''},watchVariationInput:function(){const self=this;const recheck=function(event){if(!event.target||!event.target.closest||!event.target.closest('form')){return} 25clearTimeout(self._inputTimer);self._inputTimer=setTimeout(function(){const id=self.currentVariationId();if(id){self.sendProductViewedOnce(self.resolveVariationPayload({variation_id:id}),id)}},VARIATION_INPUT_SETTLE_MS)};document.addEventListener('change',recheck,!0);document.addEventListener('click',recheck,!0)},resolveVariationPayload:function(variation){const parent=this._viewedParent||{};const id=String(variation.variation_id);const rendered=window.mcPixel.data.product_variations[id];if(rendered){return rendered} 26const patched=$.extend({},parent,{id:id,productId:parent.productId||parent.id||id});if(variation.sku){patched.sku=variation.sku} 27if(variation.display_price!==undefined&&variation.display_price!==null){patched.price=parseFloat(variation.display_price)} 28if(variation.image&&variation.image.full_src){patched.imageUrl=variation.image.full_src} 29return patched},sendProductViewed:function(product){if(!this.isPixelSDKReady())return!1;window.$mcSite.pixel.api.track('PRODUCT_VIEWED',{product:product}).catch((error)=>{console.error('Mailchimp Pixel: Error tracking PRODUCT_VIEWED',error)});return!0},sendProductAddedToCart:function(product){if(!this.isPixelSDKReady())return;const cartId=this.getCartId();const eventData={cartId:cartId,product:{item:{id:product.id,productId:product.productId,title:product.title,price:product.price,currency:product.currency,sku:product.
29sku||''},quantity:product.quantity||1,price:product.price*(product.quantity||1),currency:product.currency}};window.$mcSite.pixel.api.track('PRODUCT_ADDED_TO_CART',eventData).catch((error)=>{console.error('Mailchimp Pixel: Error tracking PRODUCT_ADDED_TO_CART',error)})},sendProductRemovedFromCart:function(product){if(!this.isPixelSDKReady())return;const cartId=this.getCartId();const eventData={cartId:cartId,product:{item:{id:product.id,productId:product.productId,title:product.title,price:product.price,currency:product.currency,sku:product.sku||''},quantity:product.quantity||1,price:product.price*(product.quantity||1),currency:product.currency}};window.$mcSite.pixel.api.track('PRODUCT_REMOVED_FROM_CART',eventData).catch((error)=>{console.error('Mailchimp Pixel: Error tracking PRODUCT_REMOVED_FROM_CART',error)})},sendCartViewed:function(cart){if(!this.isPixelSDKReady())return;window.$mcSite.pixel.api.track('CART_VIEWED',{cart:cart}).catch((error)=>{console.error('Mailchimp Pixel: Error tracking CART_VIEWED',error)})},sendCheckoutStarted:function(checkout){if(!this.isPixelSDKReady())return;window.$mcSite.pixel.api.track('CHECKOUT_STARTED',{checkout:checkout}).catch((error)=>{console.error('Mailchimp Pixel: Error tracking CHECKOUT_STARTED',error)})},sendIdentityEvent:function(email){if(!this.isPixelSDKReady())return;window.$mcSite.pixel.api.identify({type:'EMAIL',value:email})},sendPurchased:function(order){if(!this.isPixelSDKReady())return;window.$mcSite.pixel.api.track('PURCHASED',{order:order}).catch((error)=>{console.error('Mailchimp Pixel: Error tracking PURCHASED',error)})},sendCategoryViewed:function(category){if(!this.isPixelSDKReady())return;window.$mcSite.pixel.api.track('PRODUCT_CATEGORY_VIEWED',category).catch((error)=>{console.error('Mailchimp Pixel: Error tracking PRODUCT_CATEGORY_VIEWED',error)})},sendSearchSubmitted:function(search){if(!this.isPixelSDKReady())return;window.$mcSite.pixel.api.track('SEARCH_SUBMITTED',search).catch((error)=>{console.error('Mailchimp Pixel: Error tracking SEARCH_SUBMITTED',error)})},findProductById:function(productId){if(!window.mcPixel||!window.mcPixel.data||!window.mcPixel.data.products){return null} 30const products=window.mcPixel.data.products;const id=String(productId);for(let i=0;i<products.length;i++){if(String(products[i].id)===id){return products[i]}} 31return null},fetchAndTrackAddToCart:function(){var self=this;if(!this.isPixelSDKReady())return;clearTimeout(this._atcTimer);this._atcTimer=setTimeout(function(){self._drainAddToCartQueue()},600)},_drainAddToCartQueue:async function(){if(this._atcFetching)return;this._atcFetching=!0;try{var res=await fetch(this.getRestBase()+'pixel/atc',{method:'GET',credentials:'same-origin',headers:{'Accept':'application/json'},});if(!res.ok)return;var data=await res.json();if(!data)return;var items=Array.isArray(data)?data:[data];for(var i=0;i<items.length;i++){this.sendProductAddedToCart(items[i])}}catch(e){}finally{this._atcFetching=!1}},fetchAndTrackRemoveFromCart:function(){var self=this;if(!this.isPixelSDKReady())return;clearTimeout(this._rfcTimer);this._rfcTimer=setTimeout(function(){self._drainRemoveFromCartQueue()},600)},_drainRemoveFromCartQueue:async function(){if(this._rfcFetching)return;this._rfcFetching=!0;try{var res=await fetch(this.getRestBase()+'pixel/rfc',{method:'GET',credentials:'same-origin',headers:{'Accept':'application/json'},});if(!res.ok)return;var data=await res.json();if(!data)return;var items=Array.isArray(data)?data:[data];for(var i=0;i<items.length;i++){this.sendProductRemovedFromCart(items[i])}}catch(e){}finally{this._rfcFetching=!1}},attachCartEventListeners:function(){const self=this;$(document.body).on('added_to_cart',function(){self.fetchAndTrackAddToCart()});$(document.body).on('removed_from_cart',function(){self.fetchAndTrackRemoveFromCart()});document.body.addEventListener('wc-blocks_added_to_cart',function(){self.fetchAndTrackAddToCart()});document.body.addEventListener('wc-blocks_removed_from_cart',function(){self.fetchAndTrackRemoveFromCart()})},interceptStoreApiRequests:function(){const self=this;const originalFetch=window.fetch;window.fetch=function(input,init){var promise=originalFetch.apply(this,arguments);promise.then(function(response){try{if(!response.ok)return;var method=(init&&init.method)?init.method.toUpperCase():(input instanceof Request?input.method.toUpperCase():'GET');if(method!=='POST')return;var url=typeof input==='string'?input:(input instanceof Request?input.url:String(input));if(/wc\/store\/v1\/cart\/add-item/.test(url)||/wc\/store\/v1\/cart\/update-item/.test(url)){self.fetchAndTrackAddToCart()}else if(/wc\/store\/v1\/cart\/remove-item/.test(url)){self.fetchAndTrackRemoveFromCart()}}catch(e){}}).catch(function(){});return promise}},};
31$(document).ready(function(){MailchimpPixelTracking.init()})})(jQuery);
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.