{
  "version": 3,
  "sources": ["/cdn/shop/t/69/assets/variant-bundle-homepage.js?cb=20260425b"],
  "sourcesContent": ["/**\n * variant-bundle-homepage.js\n * Generated from Variant experiments on 2026-04-21\n *\n * Contents:\n *   - EXPE24B9893  \u2192  Popular Brands grid (localStorage-personalized, auto-includes interacted brands)\n */\n\n/* === variant-exp-popular-brands.js  (EXPE24B9893) === */\n(function () {\n  try {\n    var STORAGE_KEY = 'variant:brand_interactions';\n\n    // Match the Popular Brands collection-list section by the stable suffix of its section ID,\n    // so it survives Shopify template ID changes (e.g. theme re-publish).\n    var sectionSuffix = 'a5993275-c880-46ff-8a7f-4f29dd112d85';\n    var section = document.querySelector('[data-section-id$=\"__' + sectionSuffix + '\"]');\n    if (!section) return;\n\n    // All brands: top sellers + discovery/newer/restocked brands\n    var allBrands = [\n      // Top sellers\n      { name: 'PEScience', href: '/collections/pescience', vendors: ['pescience', 'pe science'], fallbackImg: null, isDiscovery: false },\n      { name: 'Bowmar Nutrition', href: '/collections/bowmar-nutrition', vendors: ['bowmar nutrition', 'bowmar'], fallbackImg: null, isDiscovery: false },\n      { name: 'Mutant', href: '/collections/mutant', vendors: ['mutant'], fallbackImg: null, isDiscovery: false },\n      { name: 'PVL', href: '/collections/pvl', vendors: ['pvl', 'pure vita labs'], fallbackImg: null, isDiscovery: false },\n      { name: 'Allmax Nutrition', href: '/collections/allmax-nutrition', vendors: ['allmax nutrition', 'allmax'], fallbackImg: 'https://cdn.shopify.com/s/files/1/1603/2381/files/ALLMAX-TRIBX90-Tribulus-90-capsules-Top-Nutrition-and-Fitness-24606593679434.png?width=240', isDiscovery: false },\n      { name: 'Mammoth', href: '/collections/mammoth', vendors: ['mammoth'], fallbackImg: 'https://cdn.shopify.com/s/files/1/1603/2381/files/2025_Mammoth_CAN_Pump_60_Rocket.webp?width=240', isDiscovery: false },\n      { name: 'Believe Supplements', href: '/collections/believe-supplements', vendors: ['believe supplements', 'believe'], fallbackImg: 'https://cdn.shopify.com/s/files/1/1603/2381/files/Refresher-CottonCandy-min.webp?width=240', isDiscovery: false },\n      { name: 'Barebells', href: '/collections/barebells', vendors: ['barebells'], fallbackImg: null, isDiscovery: false },\n      { name: 'David Protein Bars', href: '/collections/david-protein-bars', vendors: ['david', 'david protein bars', 'david protein'], fallbackImg: null, isDiscovery: false },\n      { name: 'ChocZero', href: '/collections/choczero', vendors: ['choczero', 'choc zero'], fallbackImg: null, isDiscovery: false },\n      { name: 'Magic Spoon', href: '/collections/magic-spoon', vendors: ['magic spoon'], fallbackImg: null, isDiscovery: false },\n      { name: 'Energy Drinks', href: '/collections/usa-energy-drinks', vendors: ['celsius', 'ghost energy', 'alani nu', 'reign', 'monster', 'bang', 'c4 energy', 'zoa', 'prime'], fallbackImg: null, isDiscovery: false },\n      { name: 'Built', href: '/collections/built', vendors: ['built', 'built bar'], fallbackImg: null, isDiscovery: false },\n      { name: 'Prozis', href: '/collections/prozis', vendors: ['prozis'], fallbackImg: null, isDiscovery: false },\n      { name: 'ProBites', href: '/collections/probites', vendors: ['probites', 'pro bites'], fallbackImg: null, isDiscovery: false },\n      { name: 'North Coast Naturals', href: '/collections/north-coast-naturals', vendors: ['north coast naturals'], fallbackImg: 'https://cdn.shopify.com/s/files/1/1603/2381/files/North-Coast-Naturals-Fermented-Glutamine-300g-Top-Nutrition-and-Fitness-24607308447818.jpg?width=240', isDiscovery: false },\n      { name: 'Alani Nu', href: '/collections/alani-nu', vendors: ['alani nu'], fallbackImg: 'https://cdn.shopify.com/s/files/1/1603/2381/files/Alani-Nu-Energy-Drink-1-can-Top-Nutrition-and-Fitness-25053492510794.webp?width=240', isDiscovery: false },\n      { name: 'Applied Nutrition', href: '/collections/applied-nutrition', vendors: ['applied nutrition'], fallbackImg: 'https://cdn.shopify.com/s/files/1/1603/2381/files/image_2025-12-03_693045743fe77.jpg?width=240', isDiscovery: false },\n      // Discovery brands: newer, restocked, or popular niche brands users might want to explore\n      { name: 'Grenade', href: '/collections/grenade', vendors: ['grenade'], fallbackImg: 'https://cdn.shopify.com/s/files/1/1603/2381/files/GrenadeBarCremeEgg.jpg?width=240', isDiscovery: true },\n      { name: 'Alpha Prime', href: '/collections/alpha-prime', vendors: ['alpha prime'], fallbackImg: 'https://cdn.shopify.com/s/files/1/1603/2381/files/zyUGCAAk_copy.jpg?width=240', isDiscovery: true },\n      { name: 'Sinfit Nutrition', href: '/collections/sinfit-nutrition', vendors: ['sinfit nutrition', 'sinfit'], fallbackImg: 'https://cdn.shopify.com/s/files/1/1603/2381/files/Sinfit-Nutrition-Sugar-Free-Pancake-Syrup-Zero-calories-Top-Nutrition-and-Fitness-25078353428554.webp?width=240', isDiscovery: true },\n      { name: 'Redefine Foods', href: '/collections/redefine-foods', vendors: ['redefine foods', 'redefine'], fallbackImg: 'https://cdn.shopify.com/s/files/1/1603/2381/files/Redefine-Foods-Birthday-Cake-Protein-Donut-Single-60g-Dippin-Dots-Collab_1050x_a7b4fc02-a140-4180-966d-f0934e83dfe2.webp?width=240', isDiscovery: true },\n      { name: 'TRUELY', href: '/collections/truely', vendors: ['truely'], fallbackImg: 'https://cdn.shopify.com/s/files/1/1603/2381/files/TRUELY-StrawberryCheesecakefront_90cb8bb2-7e53-4238-854d-8c6d50425d5b.webp?width=240', isDiscovery: true }\n    ];\n\n    // Default top sellers for new users, ranked by best-seller data + owner input\n    // Mobile uses first 7, desktop uses first 10 (remaining slots filled by discovery)\n    var defaultOrder = [\n      'PEScience',\n      'David Protein Bars',\n      'Bowmar Nutrition',\n      'Mutant',\n      'PVL',\n      'Allmax Nutrition',\n      'Mammoth',\n      'Believe Supplements',\n      'Barebells',\n      'Energy Drinks'\n    ];\n\n    // Discovery brands pool: newer/restocked/niche brands to rotate through\n    var discoveryPool = ['Grenade', 'Alpha Prime', 'Sinfit Nutrition', 'Redefine Foods', 'TRUELY', 'ChocZero', 'Magic Spoon', 'Barebells'];\n\n    // --- Interaction Tracking ---\n\n    function getStoredInteractions() {\n      try {\n        var data = localStorage.getItem(STORAGE_KEY);\n        return data ? JSON.parse(data) : {};\n      } catch (e) {\n        return {};\n      }\n    }\n\n    function saveInteractions(data) {\n      try {\n        localStorage.setItem(STORAGE_KEY, JSON.stringify(data));\n      } catch (e) {}\n    }\n\n    function recordInteraction(brandName, type, weight) {\n      var interactions = getStoredInteractions();\n      if (!interactions[brandName]) {\n        interactions[brandName] = { views: 0, clicks: 0, cart: 0, purchases: 0, lastSeen: 0 };\n      }\n      interactions[brandName][type] = (interactions[brandName][type] || 0) + weight;\n      interactions[brandName].lastSeen = Date.now();\n      saveInteractions(interactions);\n    }\n\n    function matchVendorToBrand(vendorName) {\n      if (!vendorName) return null;\n      var lower = vendorName.toLowerCase().trim();\n      for (var i = 0; i < allBrands.length; i++) {\n        for (var j = 0; j < allBrands[i].vendors.length; j++) {\n          if (lower === allBrands[i].vendors[j] || lower.indexOf(allBrands[i].vendors[j]) !== -1) {\n            return allBrands[i].name;\n          }\n        }\n      }\n      return null;\n    }\n\n    function scanRecentlyViewed() {\n      try {\n        var stored = localStorage.getItem('variant:recently_viewed_products');\n        if (!stored) return;\n        var products = JSON.parse(stored);\n        var counted = {};\n        products.forEach(function (product) {\n          var handle = product.handle || '';\n          var url = product.url || '';\n          for (var i = 0; i < allBrands.length; i++) {\n            var collectionSlug = allBrands[i].href.replace('/collections/', '');\n            if (url.indexOf(collectionSlug) !== -1 || handle.indexOf(collectionSlug) !== -1) {\n              if (!counted[allBrands[i].name]) counted[allBrands[i].name] = 0;\n              counted[allBrands[i].name]++;\n              break;\n            }\n          }\n        });\n        Object.keys(counted).forEach(function (brandName) {\n          recordInteraction(brandName, 'views', counted[brandName]);\n        });\n      } catch (e) {}\n    }\n\n    function scanCart() {\n      try {\n        var rootUrl = (window.Shopify && window.Shopify.routes && window.Shopify.routes.root) || '/';\n        fetch(rootUrl + 'cart.js')\n          .then(function (r) { return r.json(); })\n          .then(function (cart) {\n            if (!cart || !cart.items) return;\n            var counted = {};\n            cart.items.forEach(function (item) {\n              var brand = matchVendorToBrand(item.vendor);\n              if (brand) {\n                if (!counted[brand]) counted[brand] = 0;\n                counted[brand] += item.quantity;\n              }\n            });\n            Object.keys(counted).forEach(function (brandName) {\n              recordInteraction(brandName, 'cart', counted[brandName]);\n            });\n            renderGrid();\n          })\n          .catch(function () {});\n      } catch (e) {}\n    }\n\n    function scanCurrentPage() {\n      try {\n        var path = window.location.pathname.toLowerCase();\n        if (path.indexOf('/products/') !== -1) {\n          var vendorMeta = document.querySelector('meta[property=\"product:brand\"]');\n          var vendor = vendorMeta ? vendorMeta.getAttribute('content') : null;\n          if (!vendor && window.ShopifyAnalytics && window.ShopifyAnalytics.meta && window.ShopifyAnalytics.meta.product) {\n            vendor = window.ShopifyAnalytics.meta.product.vendor;\n          }\n          if (vendor) {\n            var brand = matchVendorToBrand(vendor);\n            if (brand) recordInteraction(brand, 'views', 1);\n          }\n        } else if (path.indexOf('/collections/') !== -1) {\n          for (var i = 0; i < allBrands.length; i++) {\n            if (path.indexOf(allBrands[i].href) !== -1) {\n              recordInteraction(allBrands[i].name, 'views', 2);\n              break;\n            }\n          }\n        }\n      } catch (e) {}\n    }\n\n    // --- Scoring & Ranking ---\n\n        // Auto-include brands user has interacted with but weren't in allBrands config.\n    // Ensures any brand (e.g. Misfits, Fulfil) gets counted if user views/adds/buys it.\n    function ensureInteractedBrandsIncluded() {\n      try {\n        var interactions = getStoredInteractions();\n        if (!interactions) return;\n        var existingNames = {};\n        allBrands.forEach(function (b) { existingNames[b.name.toLowerCase()] = true; });\n        // Also map existing vendor aliases so \"misfits\" doesn't duplicate \"Misfits\" if it's already covered\n        allBrands.forEach(function (b) {\n          if (b.vendors) b.vendors.forEach(function (v) { existingNames[v.toLowerCase()] = true; });\n        });\n        Object.keys(interactions).forEach(function (name) {\n          if (!name) return;\n          var lname = name.toLowerCase();\n          if (existingNames[lname]) return;\n          // New brand \u2014 auto-inject\n          var slug = lname.replace(/[^a-z0-9]+/g, '-').replace(/^-|-$/g, '');\n          allBrands.push({\n            name: name,\n            href: '/collections/' + slug,\n            vendors: [lname],\n            fallbackImg: null,\n            isDiscovery: false,\n            autoAdded: true\n          });\n          existingNames[lname] = true;\n        });\n      } catch (e) { /* ignore */ }\n    }\n\n    function scoreBrands() {\n      ensureInteractedBrandsIncluded();\n      var interactions = getStoredInteractions();\n      var scores = {};\n      var now = Date.now();\n      var dayMs = 86400000;\n\n      allBrands.forEach(function (brand) {\n        var data = interactions[brand.name];\n        var score = 0;\n        if (data) {\n          score += (data.cart || 0) * 5;\n          score += (data.clicks || 0) * 3;\n          score += (data.views || 0) * 1;\n          score += (data.purchases || 0) * 8;\n          if (data.lastSeen) {\n            var ageInDays = (now - data.lastSeen) / dayMs;\n            if (ageInDays < 1) score *= 2.0;\n            else if (ageInDays < 3) score *= 1.5;\n            else if (ageInDays < 7) score *= 1.2;\n          }\n        }\n        scores[brand.name] = score;\n      });\n      return scores;\n    }\n\n    // Desktop shows 12 brands (6x2), mobile shows 9 (3x3).\n    // We render 14 pills (2 extra as buffer) so that if any are removed by the lazy in-stock filter\n    // (brand has 0 products), the next buffer pill takes its place via CSS :nth-child rules below.\n    // The grid stays a guaranteed 9-on-mobile / 12-on-desktop count.\n    var TOTAL_SLOTS = 14;\n    var MAIN_SLOTS = 12;\n    var DISCOVERY_SLOTS = 2;\n\n    // Pick discovery brands the user hasn't interacted with yet\n    function pickDiscoveryBrands(scores, alreadyPicked, count) {\n      var pickedNames = alreadyPicked.map(function (b) { return b.name; });\n      var candidates = [];\n\n      discoveryPool.forEach(function (name) {\n        if (pickedNames.indexOf(name) !== -1) return;\n        var score = scores[name] || 0;\n        candidates.push({ name: name, score: score });\n      });\n\n      // Prioritize unseen brands, then lowest score\n      candidates.sort(function (a, b) {\n        if (a.score === 0 && b.score > 0) return -1;\n        if (b.score === 0 && a.score > 0) return 1;\n        return a.score - b.score;\n      });\n\n      var dayOfYear = Math.floor(Date.now() / 86400000);\n      var offset = dayOfYear % Math.max(candidates.length, 1);\n\n      var picked = [];\n      for (var i = 0; i < candidates.length && picked.length < count; i++) {\n        var idx = (offset + i) % candidates.length;\n        var brandObj = allBrands.find(function (b) { return b.name === candidates[idx].name; });\n        if (brandObj) picked.push(brandObj);\n      }\n      return picked;\n    }\n\n    function getPersonalizedBrands() {\n      var scores = scoreBrands();\n      var hasPersonalData = Object.values(scores).some(function (s) { return s > 0; });\n\n      var mainBrands;\n\n      if (!hasPersonalData) {\n        mainBrands = allBrands.filter(function (b) {\n          return defaultOrder.indexOf(b.name) !== -1;\n        }).sort(function (a, b) {\n          return defaultOrder.indexOf(a.name) - defaultOrder.indexOf(b.name);\n        }).slice(0, MAIN_SLOTS);\n      } else {\n        var nonDiscovery = allBrands.filter(function (b) { return !b.isDiscovery; });\n        mainBrands = nonDiscovery.slice().sort(function (a, b) {\n          var diff = scores[b.name] - scores[a.name];\n          if (diff !== 0) return diff;\n          var aIdx = defaultOrder.indexOf(a.name);\n          var bIdx = defaultOrder.indexOf(b.name);\n          if (aIdx === -1) aIdx = 999;\n          if (bIdx === -1) bIdx = 999;\n          return aIdx - bIdx;\n        }).slice(0, MAIN_SLOTS);\n      }\n\n      var discovery = pickDiscoveryBrands(scores, mainBrands, DISCOVERY_SLOTS);\n\n      return mainBrands.concat(discovery).slice(0, TOTAL_SLOTS);\n    }\n\n    // --- Image Mapping ---\n\n    var existingItems = section.querySelectorAll('.collection-item');\n    var imageMap = {};\n    existingItems.forEach(function (item) {\n      var img = item.querySelector('img');\n      var titleEl = item.querySelector('.collection-item__title');\n      if (img && titleEl) {\n        var brandName = titleEl.textContent.trim();\n        imageMap[brandName] = {\n          src: img.getAttribute('src'),\n          srcset: img.getAttribute('srcset')\n        };\n      }\n    });\n\n    // --- Styles ---\n\n    var styleId = 'variant-brand-pills-style';\n    if (!document.getElementById(styleId)) {\n      var style = document.createElement('style');\n      style.id = styleId;\n      style.textContent =\n        '.vr-brand-pills-section { padding: 10px 0; }' +\n        '.vr-brand-pills-header { text-align: center; margin-bottom: 16px; }' +\n        '.vr-brand-pills-title { font-family: \"system_ui\", -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", sans-serif; font-size: 18px; font-weight: 600; color: #006fdb; line-height: 1.3; margin: 0; }' +\n        '.vr-brand-pills-subtitle { font-family: Barlow, sans-serif; font-size: 12px; color: #677279; margin-top: 4px; font-weight: 500; }' +\n        '.vr-brand-pills-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; padding: 0 20px; }' +\n        /* Mobile: render 14, show first 9. Hides buffer pills past index 9. As pills are removed, next buffer takes its place. */\n        '.vr-brand-pills-grid .vr-brand-pill:nth-child(n+10) { display: none !important; }' +\n        '.vr-brand-pill { display: flex; flex-direction: column; align-items: center; text-decoration: none; padding: 10px 4px; border-radius: 12px; background: #ffffff; border: 1px solid #e1e3e4; transition: all 0.2s ease; cursor: pointer; position: relative; }' +\n        '.vr-brand-pill:hover { border-color: #61b1ff; box-shadow: 0 2px 8px rgba(97, 177, 255, 0.2); transform: translateY(-1px); }' +\n        '.vr-brand-pill-img { width: 52px; height: 52px; border-radius: 50%; overflow: hidden; margin-bottom: 6px; background: #f3f5f6; flex-shrink: 0; }' +\n        '.vr-brand-pill-img img { width: 100%; height: 100%; object-fit: cover; display: block; }' +\n        '.vr-brand-pill-name { font-family: Barlow, sans-serif; font-size: 11px; font-weight: 600; color: #677279; text-align: center; line-height: 1.2; word-break: break-word; }' +\n        '@media (min-width: 750px) {' +\n        '  .vr-brand-pills-section { padding: 20px 0; }' +\n        '  .vr-brand-pills-grid { grid-template-columns: repeat(6, 1fr); max-width: 100%; margin: 0 auto; gap: 14px; padding: 0 40px; }' +\n        /* Desktop: show first 12 pills (2 rows \u00D7 6 cols). Override the mobile :nth-child(n+10) hide for pills 10\u201312. */\n        '  .vr-brand-pills-grid .vr-brand-pill:nth-child(n+10):nth-child(-n+12) { display: flex !important; }' +\n        '  .vr-brand-pills-grid .vr-brand-pill:nth-child(n+13) { display: none !important; }' +\n        '  .vr-brand-pill { padding: 16px 8px; border-radius: 14px; }' +\n        '  .vr-brand-pill-img { width: 68px; height: 68px; margin-bottom: 10px; }' +\n        '  .vr-brand-pill-name { font-size: 13px; }' +\n        '  .vr-brand-pills-title { font-size: 22px; margin-bottom: 4px; }' +\n        '}';\n      document.head.appendChild(style);\n    }\n\n    // --- Rendering ---\n\n    var container = section.querySelector('.container');\n    if (!container) return;\n\n    function renderGrid() {\n      var brands = getPersonalizedBrands();\n      var scores = scoreBrands();\n      var hasPersonalData = Object.values(scores).some(function (s) { return s > 0; });\n\n      var wrapper = document.createElement('div');\n      wrapper.className = 'vr-brand-pills-section';\n\n      var header = document.createElement('div');\n      header.className = 'vr-brand-pills-header';\n      var title = document.createElement('h2');\n      title.className = 'vr-brand-pills-title';\n      title.textContent = hasPersonalData ? 'Your Top Brands' : 'Popular Brands';\n      header.appendChild(title);\n\n      if (hasPersonalData) {\n        var subtitle = document.createElement('p');\n        subtitle.className = 'vr-brand-pills-subtitle';\n        subtitle.textContent = 'Based on your browsing';\n        header.appendChild(subtitle);\n      }\n\n      wrapper.appendChild(header);\n\n      var grid = document.createElement('div');\n      grid.className = 'vr-brand-pills-grid';\n\n      brands.forEach(function (brand) {\n        var pill = document.createElement('a');\n        pill.className = 'vr-brand-pill';\n        pill.href = brand.href;\n\n        var imgWrapper = document.createElement('div');\n        imgWrapper.className = 'vr-brand-pill-img';\n\n        var imgData = imageMap[brand.name];\n        if (imgData && imgData.src) {\n          var img = document.createElement('img');\n          img.src = imgData.src;\n          if (imgData.srcset) img.srcset = imgData.srcset;\n          img.alt = brand.name;\n          img.loading = 'lazy';\n          img.sizes = '64px';\n          imgWrapper.appendChild(img);\n        } else if (brand.fallbackImg) {\n          var fbImg = document.createElement('img');\n          fbImg.src = brand.fallbackImg;\n          fbImg.alt = brand.name;\n          fbImg.loading = 'lazy';\n          fbImg.sizes = '64px';\n          imgWrapper.appendChild(fbImg);\n        } else {\n          var fallback = document.createElement('div');\n          fallback.style.cssText =\n            'width:100%;height:100%;display:flex;align-items:center;justify-content:center;' +\n            'font-family:Barlow,sans-serif;font-size:20px;font-weight:700;color:#006fdb;background:#f3f5f6;border-radius:50%;';\n          fallback.textContent = brand.name.charAt(0);\n          imgWrapper.appendChild(fallback);\n          /* Lazy: fetch the brand collection's first product image. If the brand has no products in the\n             collection, drop the pill entirely (acts as an in-stock filter). Replaces the letter on success. */\n          (function (wrap, pillEl, b) {\n            var handle = (b.href || '').split('/').pop();\n            if (!handle) return;\n            try {\n              fetch('/collections/' + handle + '/products.json?limit=1&fields=images')\n                .then(function (res) { return res && res.ok ? res.json() : null; })\n                .then(function (data) {\n                  if (!wrap || !wrap.parentNode) return;\n                  if (!data || !data.products || data.products.length === 0) {\n                    if (pillEl && pillEl.parentNode) pillEl.parentNode.removeChild(pillEl);\n                    return;\n                  }\n                  var p = data.products[0];\n                  var src = '';\n                  if (p.images && p.images[0] && p.images[0].src) src = p.images[0].src;\n                  else if (p.image && p.image.src) src = p.image.src;\n                  if (src) {\n                    wrap.innerHTML = '<img src=\"' + src + '\" alt=\"' + b.name + '\" loading=\"lazy\" sizes=\"64px\">';\n                  }\n                })\n                .catch(function () {});\n            } catch (e) {}\n          })(imgWrapper, pill, brand);\n        }\n\n        var nameEl = document.createElement('span');\n        nameEl.className = 'vr-brand-pill-name';\n        nameEl.textContent = brand.name;\n\n        pill.appendChild(imgWrapper);\n        pill.appendChild(nameEl);\n\n        pill.addEventListener('click', function (e) {\n          e.preventDefault();\n          var destinationUrl = this.href;\n          recordInteraction(brand.name, 'clicks', 1);\n          // GA4 conversion-attribution: fire `tnf_top_brands_click` so Diana can\n          // attribute downstream PDP / cart / purchase events back to a Top\n          // Brands homepage click. We DO navigate ourselves here (above) \u2014 push\n          // before navigation so the event is queued in dataLayer before unload.\n          try {\n            var grid = this.parentNode;\n            var pos = 0;\n            if (grid && grid.children) {\n              for (var i = 0; i < grid.children.length; i++) {\n                if (grid.children[i] === this) { pos = i + 1; break; }\n              }\n            }\n            window.dataLayer = window.dataLayer || [];\n            window.dataLayer.push({\n              event: 'tnf_top_brands_click',\n              source_section: 'top_brands',\n              source_path: location.pathname,\n              clicked_brand_name: brand.name,\n              clicked_collection_handle: (destinationUrl || '').split('/').pop(),\n              clicked_url: destinationUrl,\n              is_discovery: !!brand.isDiscovery,\n              position: pos\n            });\n          } catch (err) {}\n          window.location.href = destinationUrl;\n        });\n\n        grid.appendChild(pill);\n      });\n\n      wrapper.appendChild(grid);\n      container.innerHTML = '';\n      container.appendChild(wrapper);\n    }\n\n    // --- Initialize ---\n\n    scanCurrentPage();\n    scanRecentlyViewed();\n    renderGrid();\n    scanCart();\n\n  } catch (e) {\n    // Fail silently\n  }\n})();"],
  "mappings": "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",
  "names": ["getStoredInteractions", "saveInteractions", "recordInteraction", "matchVendorToBrand", "scanRecentlyViewed", "scanCart", "renderGrid", "scanCurrentPage", "ensureInteractedBrandsIncluded", "scoreBrands", "pickDiscoveryBrands", "getPersonalizedBrands", "grid"]
}
