{
  "version": 3,
  "sources": ["/cdn/shop/t/21/assets/townwine-follow.js?rev=20260523a"],
  "sourcesContent": ["(function () {\n  if (window.__townwineFollowAssetLoaded) {\n    if (typeof window.TownWineFollow.init === 'function') {\n      window.TownWineFollow.init(document);\n    }\n    return;\n  }\n\n  window.__townwineFollowAssetLoaded = true;\n\n  var DEFAULT_PROXY_BASE = '/apps/townwine-follow';\n  var FOLLOW_LABEL = '\uD314\uB85C\uC6B0';\n  var FOLLOWING_LABEL = '\uD314\uB85C\uC789';\n  var FOLLOW_NOTICE_STORAGE_KEY = 'townwine-follow-notice';\n  var FOLLOW_NOTICE_UNFOLLOWED = 'unfollowed';\n  var initialized = false;\n  var loginStateByProxy = Object.create(null);\n  var FOLLOW_BIND_VERSION = '20260523a';\n\n  function normalizeHandle(value) {\n    var handle = String(value || '').trim();\n\n    if (!handle) return '';\n\n    if (/^https?:\\/\\//i.test(handle)) {\n      try {\n        var url = new URL(handle);\n        var segments = url.pathname.split('/').filter(Boolean);\n        if (segments.length) {\n          handle = segments[segments.length - 1];\n        }\n      } catch (error) {\n        console.warn('[follow] failed to parse handle URL', error);\n      }\n    }\n\n    handle = handle\n      .split(/[?#]/, 1)[0]\n      .replace(/^@+/, '')\n      .replace(/\\/+$/, '')\n      .trim()\n      .toLowerCase();\n\n    try {\n      handle = decodeURIComponent(handle);\n    } catch (error) {\n      console.warn('[follow] failed to decode handle', error);\n    }\n\n    return handle;\n  }\n\n  function getFollowButtons(root) {\n    return Array.prototype.slice.call((root || document).querySelectorAll('.js-follow-btn'));\n  }\n\n  function getProxyBase(button) {\n    return button.dataset.proxyBase || DEFAULT_PROXY_BASE;\n  }\n\n  function getFollowLabel(button) {\n    return button.dataset.followLabel || FOLLOW_LABEL;\n  }\n\n  function getFollowingLabel(button) {\n    return button.dataset.followingLabel || FOLLOWING_LABEL;\n  }\n\n  function getButtonHandle(button) {\n    return normalizeHandle(button.dataset.influencerHandle || '');\n  }\n\n  function getReturnTo(button) {\n    var fallback = window.location.pathname + window.location.search + window.location.hash;\n    return String(button.dataset.returnTo || fallback || '/');\n  }\n\n  function normalizeCustomerId(value) {\n    return String(value || '').trim();\n  }\n\nfunction getButtonContext(button) {\n  var scope = button instanceof HTMLElement ? button : document.body;\n  var parentScope = scope.closest('[data-follow-management]') || scope;\n  var customer = window.TownWineCustomer || {};\n  var shopDomain = String(\n    scope.dataset.shopDomain ||\n      parentScope.dataset.shopDomain ||\n      customer.shopDomain ||\n      (window.Shopify && window.Shopify.shop) ||\n      '',\n  ).trim();\n    var customerId = normalizeCustomerId(\n      scope.dataset.customerId || parentScope.dataset.customerId || customer.id || '',\n    );\n\n    return {\n      shopDomain: shopDomain,\n      customerId: customerId,\n  };\n}\n\nfunction isFollowManagementButton(button) {\n  return Boolean(button instanceof HTMLElement && button.closest('[data-follow-management]'));\n}\n\n  function getContextKey(proxyBase, context) {\n    var shopDomain = (context && context.shopDomain) || '';\n    var customerId = (context && context.customerId) || '';\n\n    return [proxyBase, shopDomain, customerId].join('::');\n  }\n\n  function sameContext(button, context) {\n    var buttonContext = getButtonContext(button);\n\n    return (\n      buttonContext.shopDomain === ((context && context.shopDomain) || '') &&\n      buttonContext.customerId === ((context && context.customerId) || '')\n    );\n  }\n\n  function buildFollowUrl(proxyBase, path, context, handles) {\n    var url = new URL(proxyBase + path, window.location.origin);\n\n    if (context && context.shopDomain) {\n      url.searchParams.set('shop', context.shopDomain);\n    }\n\n    if (context && context.customerId) {\n      url.searchParams.set('logged_in_customer_id', context.customerId);\n    }\n\n    if (Array.isArray(handles) && handles.length) {\n      url.searchParams.set('handles', handles.join(','));\n    }\n\n    return url.toString();\n  }\n\n  function buildStatusPayload(handles, context) {\n    var payload = {};\n    var handleList = (handles || []).filter(Boolean);\n\n    if (context && context.shopDomain) {\n      payload.shop = context.shopDomain;\n    }\n\n    if (context && context.customerId) {\n      payload.logged_in_customer_id = context.customerId;\n    }\n\n    if (handleList.length) {\n      payload.handles = handleList;\n    }\n\n    return payload;\n  }\n\n  function isSameFollowTarget(button, proxyBase, handle) {\n    return getProxyBase(button) === proxyBase && getButtonHandle(button) === handle;\n  }\n\n  function setButtonState(button, isFollowing) {\n    button.setAttribute('aria-pressed', isFollowing ? 'true' : 'false');\n    button.textContent = isFollowing ? getFollowingLabel(button) : getFollowLabel(button);\n  }\n\nfunction setButtonsState(proxyBase, handle, isFollowing, context) {\n  getFollowButtons(document).forEach(function (button) {\n    if (isFollowManagementButton(button)) {\n      return;\n    }\n\n    if (isSameFollowTarget(button, proxyBase, handle) && sameContext(button, context)) {\n      setButtonState(button, isFollowing);\n    }\n  });\n}\n\nfunction setButtonsDisabled(proxyBase, handle, disabled, context) {\n  getFollowButtons(document).forEach(function (button) {\n    if (isFollowManagementButton(button)) {\n      return;\n    }\n\n    if (isSameFollowTarget(button, proxyBase, handle) && sameContext(button, context)) {\n      button.disabled = disabled;\n    }\n  });\n}\n\n  function parseJsonSafely(rawText) {\n    if (!rawText) return null;\n\n    try {\n      return JSON.parse(rawText);\n    } catch (error) {\n      console.warn('[follow] non-JSON response payload', rawText);\n      return null;\n    }\n  }\n\n  function getFriendlyErrorMessage(message, status) {\n    if (\n      typeof message === 'string' &&\n      /load failed|failed to fetch|network request failed|networkerror/i.test(message)\n    ) {\n      return '\uB124\uD2B8\uC6CC\uD06C \uBB38\uC81C\uB85C \uD314\uB85C\uC6B0 \uC694\uCCAD\uC744 \uC644\uB8CC\uD558\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4. \uC7A0\uC2DC \uD6C4 \uB2E4\uC2DC \uC2DC\uB3C4\uD574 \uC8FC\uC138\uC694.';\n    }\n\n    if (status === 404) {\n      return '\uD314\uB85C\uC6B0 \uC571\uC774 \uC544\uC9C1 \uC774 \uC2A4\uD1A0\uC5B4\uC5D0 \uC5F0\uACB0\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. \uC571 \uBC30\uD3EC\uC640 \uC124\uCE58\uB97C \uBA3C\uC800 \uC644\uB8CC\uD574 \uC8FC\uC138\uC694. (HTTP 404)';\n    }\n\n    if (\n      !message ||\n      message === 'FOLLOW_REQUEST_FAILED' ||\n      message === 'UNFOLLOW_REQUEST_FAILED' ||\n      message === 'STATUS_REQUEST_FAILED'\n    ) {\n      if (status) {\n        return '\uD314\uB85C\uC6B0 \uCC98\uB9AC \uC911 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4. (HTTP ' + status + ')';\n      }\n\n      return '\uD314\uB85C\uC6B0 \uCC98\uB9AC \uC911 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4.';\n    }\n\n    if (message === 'INFLUENCER_HANDLE_REQUIRED') {\n      return '\uCEEC\uB809\uD130 handle \uAC12\uC774 \uD544\uC694\uD569\uB2C8\uB2E4.';\n    }\n\n    return message;\n  }\n\n  function isLoginRedirect(response) {\n    return Boolean(\n      response &&\n        response.redirected &&\n        (response.url.indexOf('/account/login') !== -1 || response.url.indexOf('/password') !== -1),\n    );\n  }\n\n  function isHtmlResponse(response, rawText) {\n    var contentType = (response && response.headers.get('content-type')) || '';\n\n    if (contentType.indexOf('text/html') !== -1) {\n      return true;\n    }\n\n    return /^\\s*</.test(String(rawText || ''));\n  }\n\n  function fetchStatusSnapshot(proxyBase, handles, context) {\n    var handleList = (handles || []).filter(Boolean);\n    var contextKey = getContextKey(proxyBase, context);\n\n    if (!handleList.length) {\n      return Promise.resolve({ following: [], loggedIn: loginStateByProxy[contextKey] !== false });\n    }\n\n    return fetch(buildFollowUrl(proxyBase, '/status', context), {\n      method: 'POST',\n      headers: {\n        'Content-Type': 'application/json',\n        Accept: 'application/json',\n      },\n      credentials: 'same-origin',\n      body: JSON.stringify(buildStatusPayload(handleList, context)),\n    }).then(function (response) {\n      if (!response.ok || isLoginRedirect(response)) {\n        throw new Error('STATUS_REQUEST_FAILED');\n      }\n\n      return response.json();\n    });\n  }\n\n  function sendMutationRequest(endpoint, payload) {\n    return fetch(endpoint, {\n      method: 'POST',\n      headers: {\n        'Content-Type': 'application/json',\n        Accept: 'application/json',\n      },\n      credentials: 'same-origin',\n      body: JSON.stringify(payload),\n    }).then(function (response) {\n      return response.text().then(function (rawText) {\n        return {\n          response: response,\n          payload: parseJsonSafely(rawText),\n          rawText: rawText,\n        };\n      });\n    });\n  }\n\n  function syncStatuses(root) {\n    var buttons = getFollowButtons(root || document);\n    var groups = new Map();\n\n  buttons.forEach(function (button) {\n    if (isFollowManagementButton(button)) {\n      return;\n    }\n\n    var proxyBase = getProxyBase(button);\n    var handle = getButtonHandle(button);\n    var context = getButtonContext(button);\n    var groupKey = getContextKey(proxyBase, context);\n\n      if (!handle) {\n        button.disabled = true;\n        return;\n      }\n\n      if (!groups.has(groupKey)) {\n        groups.set(groupKey, {\n          proxyBase: proxyBase,\n          context: context,\n          handles: new Set(),\n        });\n      }\n\n      groups.get(groupKey).handles.add(handle);\n    });\n\n    groups.forEach(function (group) {\n      var proxyBase = group.proxyBase;\n      var context = group.context;\n      var contextKey = getContextKey(proxyBase, context);\n      var handleList = Array.from(group.handles);\n      if (!handleList.length) return;\n\n      fetchStatusSnapshot(proxyBase, handleList, context)\n        .then(function (payload) {\n          if (!payload || !Array.isArray(payload.following)) return;\n\n          loginStateByProxy[contextKey] = payload.loggedIn !== false;\n\n          var followingSet = new Set(\n            payload.following.map(function (value) {\n              return normalizeHandle(value);\n            }),\n          );\n\n        getFollowButtons(document).forEach(function (button) {\n          if (isFollowManagementButton(button)) {\n            return;\n          }\n\n          var buttonHandle = getButtonHandle(button);\n\n          if (\n            !buttonHandle ||\n              getProxyBase(button) !== proxyBase ||\n              !sameContext(button, context)\n            ) {\n              return;\n            }\n\n            setButtonState(button, followingSet.has(buttonHandle));\n          });\n        })\n        .catch(function (error) {\n          console.warn('[follow] failed to sync statuses', error);\n        });\n    });\n  }\n\n  function handleUnauthorized() {\n    if (window.self !== window.top) {\n      window.alert('\uD14C\uB9C8 \uBBF8\uB9AC\uBCF4\uAE30\uC5D0\uC11C\uB294 \uACE0\uAC1D \uB85C\uADF8\uC778 \uC138\uC158\uC774 \uC804\uB2EC\uB418\uC9C0 \uC54A\uC544 \uD314\uB85C\uC6B0 \uD14C\uC2A4\uD2B8\uAC00 \uC81C\uD55C\uB420 \uC218 \uC788\uC2B5\uB2C8\uB2E4. \uC2E4\uC81C \uC2A4\uD1A0\uC5B4\uD504\uB860\uD2B8 \uD504\uB9AC\uBDF0 URL\uC5D0\uC11C \uACE0\uAC1D \uB85C\uADF8\uC778 \uD6C4 \uB2E4\uC2DC \uD655\uC778\uD574 \uC8FC\uC138\uC694.');\n      return;\n    }\n\n    window.alert('\uB85C\uADF8\uC778\uD574\uC8FC\uC138\uC694.');\n    var returnTo = window.location.pathname + window.location.search + window.location.hash;\n    var routes = window.TownWineRoutes || {};\n        var loginUrl = String(\n          routes.storefrontHomeLoginUrl || '/customer_authentication/login?return_to=%2F',\n        ).trim();\n        window.location.href = loginUrl;\n  }\n\n  function storeFollowNotice(notice) {\n    if (!notice) return;\n\n    try {\n      window.sessionStorage.setItem(FOLLOW_NOTICE_STORAGE_KEY, notice);\n    } catch (error) {\n      console.warn('[follow] failed to persist notice', error);\n    }\n  }\n\n  function consumeFollowNotice() {\n    try {\n      var notice = window.sessionStorage.getItem(FOLLOW_NOTICE_STORAGE_KEY) || '';\n      if (notice) {\n        window.sessionStorage.removeItem(FOLLOW_NOTICE_STORAGE_KEY);\n      }\n\n      return notice;\n    } catch (error) {\n      console.warn('[follow] failed to read notice', error);\n      return '';\n    }\n  }\n\n  function showFollowNotice(notice) {\n    if (notice === FOLLOW_NOTICE_UNFOLLOWED) {\n      window.alert('\uD314\uB85C\uC6B0\uAC00 \uCDE8\uC18C\uB410\uC2B5\uB2C8\uB2E4.');\n    }\n  }\n\n  function showPendingFollowNotice() {\n    showFollowNotice(consumeFollowNotice());\n  }\n\n  function isRecoverableNetworkError(error) {\n    var name = String((error && error.name) || '').toLowerCase();\n    var message = String((error && error.message) || '').toLowerCase();\n\n    if (!message && name !== 'typeerror') {\n      return false;\n    }\n\n    return /load failed|failed to fetch|network request failed|networkerror/i.test(message);\n  }\n\n  function submitMutationRequestFallback(endpoint, payload, options) {\n    if (!endpoint || !payload || !document.body) {\n      return false;\n    }\n\n    if (options && options.notice) {\n      storeFollowNotice(options.notice);\n    }\n\n    var form = document.createElement('form');\n    form.method = 'post';\n    form.action = endpoint;\n    form.hidden = true;\n\n    Object.keys(payload).forEach(function (key) {\n      var value = payload[key];\n      if (value == null || value === '') return;\n\n      var input = document.createElement('input');\n      input.type = 'hidden';\n      input.name = key;\n      input.value = String(value);\n      form.appendChild(input);\n    });\n\n    document.body.appendChild(form);\n    form.submit();\n\n    return true;\n  }\n\n  function scheduleStatusSync() {\n    var runSync = function () {\n      syncStatuses(document);\n    };\n\n    if (typeof window.requestIdleCallback === 'function') {\n      window.requestIdleCallback(runSync, { timeout: 1500 });\n      return;\n    }\n\n    window.setTimeout(runSync, 0);\n  }\n\n  function resolveLoggedInState(proxyBase, handle, context) {\n    var contextKey = getContextKey(proxyBase, context);\n\n    if (loginStateByProxy[contextKey] != null) {\n      return Promise.resolve(loginStateByProxy[contextKey] !== false);\n    }\n\n    return fetchStatusSnapshot(proxyBase, [handle], context)\n      .then(function (payload) {\n        loginStateByProxy[contextKey] = payload && payload.loggedIn !== false;\n\n        if (payload && Array.isArray(payload.following)) {\n          var followingSet = new Set(\n            payload.following.map(function (value) {\n              return normalizeHandle(value);\n            }),\n          );\n          setButtonsState(proxyBase, handle, followingSet.has(handle), context);\n        }\n\n        return loginStateByProxy[contextKey] !== false;\n      })\n      .catch(function (error) {\n        console.warn('[follow] failed to resolve login state', error);\n        return true;\n      });\n  }\n\n  function applyMutationResult(button, proxyBase, influencerHandle, isFollowing, result, context) {\n    var response = result.response;\n    var payload = result.payload;\n    var rawText = result.rawText;\n    var contextKey = getContextKey(proxyBase, context);\n\n    if (response.status === 401) {\n      loginStateByProxy[contextKey] = false;\n      handleUnauthorized();\n      return;\n    }\n\n    if ((payload && payload.message === 'LOGIN_REQUIRED') || rawText === 'LOGIN_REQUIRED' || isLoginRedirect(response)) {\n      loginStateByProxy[contextKey] = false;\n      handleUnauthorized();\n      return;\n    }\n\n    if (isHtmlResponse(response, rawText)) {\n      throw new Error('\uD314\uB85C\uC6B0 \uCC98\uB9AC \uC911 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4.');\n    }\n\n    if (!response.ok || (payload && payload.ok === false)) {\n      throw new Error(\n        getFriendlyErrorMessage(payload && payload.message, response.status),\n      );\n    }\n\n    loginStateByProxy[contextKey] = true;\n\n    var nextFollowing =\n      payload && typeof payload.following === 'boolean'\n        ? payload.following\n        : !isFollowing;\n\n    setButtonsState(proxyBase, influencerHandle, nextFollowing, context);\n    scheduleStatusSync();\n    document.dispatchEvent(\n      new CustomEvent('townwine:follow-change', {\n        detail: {\n          phase: 'confirmed',\n          proxyBase: proxyBase,\n          influencerHandle: influencerHandle,\n          matchHandles: influencerAliases,\n          following: nextFollowing,\n          shopDomain: (context && context.shopDomain) || '',\n          customerId: (context && context.customerId) || '',\n        },\n      }),\n    );\n\n    if (isFollowing && !nextFollowing) {\n      showFollowNotice(FOLLOW_NOTICE_UNFOLLOWED);\n    }\n  }\n\n  function handleFollowClick(button) {\n    if (!(button instanceof HTMLButtonElement) || button.disabled) {\n      return;\n    }\n\n    if (button.dataset.followRequestInFlight === 'true') {\n      return;\n    }\n\n    var proxyBase = getProxyBase(button);\n    var influencerHandle = getButtonHandle(button);\n    var influencerAliases = [influencerHandle];\n    var influencerName = String(button.dataset.influencerName || '').trim();\n    var requestContext = getButtonContext(button);\n    var contextKey = getContextKey(proxyBase, requestContext);\n    var loginState = loginStateByProxy[contextKey];\n    var mutationEndpoint = '';\n    var mutationPayload = null;\n    var mutationFallbackNotice = '';\n    var isFollowing = button.getAttribute('aria-pressed') === 'true';\n    var nextOptimisticFollowing = !isFollowing;\n\n    if (!influencerHandle) {\n      window.alert('\uBA3C\uC800 \uCEEC\uB809\uD130 handle \uAC12\uC744 \uC124\uC815\uD574 \uC8FC\uC138\uC694.');\n      return;\n    }\n\n    if (!requestContext.customerId) {\n      loginStateByProxy[contextKey] = false;\n      handleUnauthorized();\n      return;\n    }\n\n    if (loginState === false) {\n      handleUnauthorized();\n      return;\n    }\n\n    button.dataset.followRequestInFlight = 'true';\n    setButtonsDisabled(proxyBase, influencerHandle, true, requestContext);\n    setButtonsState(proxyBase, influencerHandle, nextOptimisticFollowing, requestContext);\n\n    mutationEndpoint = buildFollowUrl(\n      proxyBase,\n      isFollowing ? '/unfollow' : '/follow',\n      requestContext,\n    );\n    mutationPayload = {\n      influencerHandle: influencerHandle,\n      influencerName: influencerName,\n      returnTo: getReturnTo(button),\n      shop: requestContext.shopDomain,\n      logged_in_customer_id: requestContext.customerId,\n    };\n    mutationFallbackNotice = isFollowing ? FOLLOW_NOTICE_UNFOLLOWED : '';\n\n    sendMutationRequest(mutationEndpoint, mutationPayload).then(function (result) {\n      return {\n        isFollowing: isFollowing,\n        result: result,\n      };\n      })\n      .then(function (state) {\n        if (!state) return;\n\n        applyMutationResult(\n          button,\n          proxyBase,\n          influencerHandle,\n          state.isFollowing,\n          state.result,\n          requestContext\n        );\n      })\n      .catch(function (error) {\n        console.error('[follow] request failed', error);\n        setButtonsState(proxyBase, influencerHandle, isFollowing, requestContext);\n\n        if (\n          mutationEndpoint &&\n          mutationPayload &&\n          isRecoverableNetworkError(error) &&\n          submitMutationRequestFallback(mutationEndpoint, mutationPayload, {\n            notice: mutationFallbackNotice,\n          })\n        ) {\n          return;\n        }\n\n        window.alert(\n          getFriendlyErrorMessage(error && error.message),\n        );\n      })\n      .finally(function () {\n        button.dataset.followRequestInFlight = 'false';\n        setButtonsDisabled(proxyBase, influencerHandle, false, requestContext);\n      });\n  }\n\n  function bindFollowButton(button) {\n    if (!(button instanceof HTMLButtonElement)) return button;\n\n    var boundButton = button;\n    var currentBindVersion = String(button.dataset.followBoundVersion || '').trim();\n    var hasLegacyInlineHandler = button.hasAttribute('onclick');\n    var hasLegacyBinding = button.dataset.followBound === 'true' && currentBindVersion !== FOLLOW_BIND_VERSION;\n\n    if (hasLegacyInlineHandler || hasLegacyBinding) {\n      var replacementButton = button.cloneNode(true);\n      button.replaceWith(replacementButton);\n      boundButton = replacementButton;\n    }\n\n    if (boundButton.dataset.followBoundVersion === FOLLOW_BIND_VERSION) {\n      return boundButton;\n    }\n\n    boundButton.dataset.followBound = 'true';\n    boundButton.dataset.followBoundVersion = FOLLOW_BIND_VERSION;\n    boundButton.type = 'button';\n    boundButton.onclick = null;\n    boundButton.removeAttribute('onclick');\n    boundButton.addEventListener('click', function (event) {\n      if (event && event.__townwineFollowHandled) {\n        return;\n      }\n\n      event.preventDefault();\n      event.stopImmediatePropagation();\n      event.__townwineFollowHandled = true;\n      handleFollowClick(boundButton);\n    });\n\n    return boundButton;\n  }\n\n  function bindProductCardNavigation(root) {\n    Array.prototype.slice\n      .call((root || document).querySelectorAll('[data-townwine-product-card-url]'))\n      .forEach(function (card) {\n        if (!(card instanceof HTMLElement)) return;\n        if (card.dataset.productCardNavBound === 'true') return;\n\n        card.dataset.productCardNavBound = 'true';\n        card.addEventListener('click', function (event) {\n          if (!event || event.defaultPrevented) return;\n\n          if (event instanceof MouseEvent) {\n            if (event.button !== 0) return;\n            if (event.metaKey || event.ctrlKey || event.shiftKey || event.altKey) return;\n          }\n\n          if (!(event.target instanceof Element)) return;\n          if (event.target.closest('a, button, input, label, select, textarea, summary')) return;\n\n          var productUrl = String(card.dataset.townwineProductCardUrl || '').trim();\n          if (!productUrl) return;\n\n          window.location.href = productUrl;\n        });\n      });\n  }\n\n  function initializeFollowButtons(root) {\n    getFollowButtons(root || document).forEach(function (button) {\n      var boundButton = bindFollowButton(button) || button;\n\n      if (!getButtonHandle(boundButton)) {\n        boundButton.disabled = true;\n      }\n    });\n\n    syncStatuses(root || document);\n  }\n\n  function initializeTownWineUi(root) {\n    initializeFollowButtons(root || document);\n    bindProductCardNavigation(root || document);\n  }\n\n  function initialize() {\n    if (!initialized) {\n      initialized = true;\n      showPendingFollowNotice();\n      document.addEventListener('shopify:section:load', function (event) {\n        initializeTownWineUi(event.target);\n      });\n    }\n\n    initializeTownWineUi(document);\n  }\n\n  window.TownWineFollow = {\n    init: initializeTownWineUi,\n    syncStatuses: syncStatuses,\n    handleButtonClick: function (button, event) {\n      if (event) {\n        if (event.__townwineFollowHandled) {\n          return;\n        }\n\n        event.preventDefault();\n        event.stopImmediatePropagation();\n        event.__townwineFollowHandled = true;\n      }\n\n      handleFollowClick(button);\n    },\n  };\n\n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', initialize, { once: true });\n  } else {\n    initialize();\n  }\n})();\n"],
  "mappings": "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",
  "names": ["influencerAliases"]
}
