{
  "version": 3,
  "sources": ["/cdn/shop/t/2/assets/ipax-steam.js?ipax=79"],
  "sourcesContent": ["class IpaxSteamProduct {\n  constructor(root) {\n    this.root = root;\n    this.platform = root.dataset.storePlatform || '';\n    this.showPsnNote = root.dataset.showPsnNote === 'true';\n    this.coverImage = root.querySelector('#ipax-cover-image');\n    this.coverCarousel = root.querySelector('[data-ipax-cover-carousel]');\n    this.coverPrev = root.querySelector('[data-ipax-cover-prev]');\n    this.coverNext = root.querySelector('[data-ipax-cover-next]');\n    this.coverViewport = root.querySelector('[data-ipax-cover-viewport]');\n    this.buyCard = root.querySelector('.ipax-product__buy-card');\n    this.sidebarStack = root.querySelector('.ipax-product__sidebar-stack');\n    this.description = root.querySelector('#ipax-steam-description');\n    this.aboutToggle = root.querySelector('[data-ipax-about-toggle]');\n    this.aboutSection = root.querySelector('.ipax-product__about');\n    this.aboutWrap = root.querySelector('.ipax-product__about-wrap');\n    this.metaBox = root.querySelector('.ipax-product__meta-box');\n    this.aboutMoreLabel = root.dataset.aboutMore || 'Ver mais';\n    this.aboutLessLabel = root.dataset.aboutLess || 'Ver menos';\n    this.isGiftProduct = root.dataset.isGiftProduct === 'true';\n  }\n\n  resetBuyColLayout() {\n    this.buyCard?.style.removeProperty('min-height');\n    this.buyCard?.style.removeProperty('margin-top');\n    this.buyCard?.style.removeProperty('padding-top');\n    this.buyCard?.classList.remove('is-gallery-synced');\n    this.root.querySelector('.ipax-product__cover')?.style.removeProperty('height');\n    this.root.querySelector('.ipax-product__cover')?.style.removeProperty('min-height');\n    this.root.querySelector('.ipax-product__cover')?.style.removeProperty('max-height');\n  }\n\n  getGiftCoverTargetHeight(buyCard, sidebar) {\n    const grid = this.root.querySelector('.ipax-product__grid');\n    const rowGap = grid ? parseFloat(getComputedStyle(grid).rowGap) || 0 : 16;\n    return Math.round(buyCard.offsetHeight + rowGap + sidebar.offsetHeight);\n  }\n\n  bindCoverHeightSync() {\n    if (this.coverHeightBound) return;\n    this.coverHeightBound = true;\n\n    const schedule = () => {\n      window.clearTimeout(this.coverHeightTimer);\n      this.coverHeightTimer = window.setTimeout(() => this.syncCoverHeight(), 80);\n    };\n\n    window.addEventListener('resize', schedule, { passive: true });\n\n    if (typeof ResizeObserver !== 'undefined') {\n      this.coverResizeObserver = new ResizeObserver(schedule);\n      if (this.buyCard) this.coverResizeObserver.observe(this.buyCard);\n      if (this.sidebarStack && !this.isGiftProduct) {\n        this.coverResizeObserver.observe(this.sidebarStack);\n      }\n      const contentLeft = this.root.querySelector('.ipax-product__content-left');\n      if (contentLeft) this.coverResizeObserver.observe(contentLeft);\n    }\n\n    const coverImg = this.coverImage;\n    if (coverImg && !coverImg.complete) {\n      coverImg.addEventListener('load', schedule, { once: true });\n    }\n  }\n\n  syncCoverHeight() {\n    const cover = this.root.querySelector('.ipax-product__cover');\n    const buyCard = this.buyCard || this.root.querySelector('.ipax-product__buy-card');\n    if (!cover || !buyCard) return;\n\n    const resetCoverBox = () => {\n      cover.style.removeProperty('height');\n      cover.style.removeProperty('width');\n      cover.style.removeProperty('min-height');\n      cover.style.removeProperty('max-height');\n      cover.style.removeProperty('min-width');\n      cover.style.removeProperty('max-width');\n      cover.style.removeProperty('aspect-ratio');\n      this.root.style.removeProperty('--ipax-cover-size');\n      this.root.querySelector('.ipax-product__content-left')?.style.removeProperty('width');\n      this.root.querySelector('.ipax-product__content-left')?.style.removeProperty('max-width');\n\n      const coverImg = this.coverImage || cover.querySelector('.ipax-product__cover-img');\n      if (coverImg) {\n        coverImg.style.removeProperty('height');\n        coverImg.style.removeProperty('width');\n        coverImg.style.removeProperty('max-height');\n        coverImg.style.removeProperty('object-fit');\n        coverImg.style.removeProperty('object-position');\n      }\n      this._lastNormalCoverHeight = null;\n    };\n\n    if (window.matchMedia('(max-width: 990px)').matches) {\n      resetCoverBox();\n      return;\n    }\n\n    // Produto normal: tamanho fixo da capa (n\u00E3o acompanha abertura de parcelas).\n    if (!this.isGiftProduct) {\n      resetCoverBox();\n      return;\n    }\n\n    const height = Math.round(buyCard.getBoundingClientRect().height);\n    if (height > 0) {\n      let targetHeight = height;\n      const sidebar = this.sidebarStack || this.root.querySelector('.ipax-product__sidebar-stack');\n\n      if (sidebar) {\n        const combined = this.getGiftCoverTargetHeight(buyCard, sidebar);\n        if (combined > 0) targetHeight = combined;\n      }\n\n      const coverSize = Math.round(targetHeight);\n\n      if (this._lastGiftCoverSize === coverSize) return;\n      this._lastGiftCoverSize = coverSize;\n\n      cover.style.height = `${coverSize}px`;\n      cover.style.width = `${coverSize}px`;\n      cover.style.minHeight = `${coverSize}px`;\n      cover.style.maxHeight = `${coverSize}px`;\n      cover.style.minWidth = `${coverSize}px`;\n      cover.style.maxWidth = `${coverSize}px`;\n      cover.style.aspectRatio = '1 / 1';\n      this.root.style.setProperty('--ipax-cover-size', `${coverSize}px`);\n    }\n  }\n\n  finalizeLayout() {\n    this.bindCoverHeightSync();\n    requestAnimationFrame(() => this.syncCoverHeight());\n    [120, 400, 900].forEach((delay) => {\n      window.setTimeout(() => this.syncCoverHeight(), delay);\n    });\n  }\n\n  async init() {\n    this.resetBuyColLayout();\n    this.bindCoverCarousel();\n    this.setupAboutToggle();\n    this.finalizeLayout();\n  }\n\n  setupAboutToggle() {\n    if (!this.description || !this.aboutToggle) return;\n\n    const collapsedClass = 'ipax-product__about-text--collapsed';\n    const expandedClass = 'ipax-product__about-text--expanded';\n\n    if (this.isGiftProduct) {\n      this.description.classList.remove(collapsedClass);\n      this.description.classList.add(expandedClass);\n      this.aboutToggle.hidden = true;\n      this.aboutToggle.setAttribute('aria-expanded', 'true');\n      this.aboutSection?.classList.remove('is-height-synced');\n      this.aboutSection?.style.removeProperty('max-height');\n      this.aboutSection?.style.removeProperty('min-height');\n      return;\n    }\n\n    this.description.classList.remove(expandedClass);\n    this.description.classList.add(collapsedClass);\n    this.aboutToggle.hidden = true;\n    this.aboutToggle.setAttribute('aria-expanded', 'false');\n    this.aboutToggle.textContent = this.aboutMoreLabel;\n\n    if (this.aboutToggle.dataset.bound === 'true') {\n      requestAnimationFrame(() => this.refreshAboutLayout());\n      return;\n    }\n\n    this.aboutToggle.dataset.bound = 'true';\n    this.aboutToggle.addEventListener('click', () => {\n      const isExpanded = this.description.classList.toggle(expandedClass);\n      this.description.classList.toggle(collapsedClass, !isExpanded);\n      this.aboutToggle.textContent = isExpanded ? this.aboutLessLabel : this.aboutMoreLabel;\n      this.aboutToggle.setAttribute('aria-expanded', String(isExpanded));\n      this.refreshAboutLayout();\n    });\n\n    this.bindAboutHeightSync();\n    requestAnimationFrame(() => this.refreshAboutLayout());\n    [300, 900].forEach((delay) => {\n      window.setTimeout(() => this.refreshAboutLayout(), delay);\n    });\n  }\n\n  refreshAboutLayout() {\n    this.syncAboutHeight();\n    this.syncCoverHeight();\n    this.updateAboutToggleState();\n  }\n\n  bindAboutHeightSync() {\n    if (this.aboutHeightBound) return;\n    this.aboutHeightBound = true;\n\n    let resizeTimer;\n    const scheduleSync = () => {\n      window.clearTimeout(resizeTimer);\n      resizeTimer = window.setTimeout(() => this.refreshAboutLayout(), 80);\n    };\n\n    window.addEventListener('resize', scheduleSync, { passive: true });\n\n    if (typeof ResizeObserver !== 'undefined') {\n      this.aboutResizeObserver = new ResizeObserver(scheduleSync);\n      [this.sidebarStack, this.metaBox, this.aboutSection, this.description, this.root.querySelector('.ipax-product__content-left')].forEach((el) => {\n        if (el) this.aboutResizeObserver.observe(el);\n      });\n    }\n  }\n\n  syncAboutHeight() {\n    if (!this.aboutSection || this.isGiftProduct) return;\n\n    const mobile = window.matchMedia('(max-width: 990px)').matches;\n    const isExpanded = this.description?.classList.contains('ipax-product__about-text--expanded');\n\n    if (mobile || isExpanded) {\n      this.aboutSection.style.removeProperty('max-height');\n      this.aboutSection.style.removeProperty('min-height');\n      this.aboutSection.classList.remove('is-height-synced');\n      return;\n    }\n\n    if (this.root.querySelector('.ipax-product__content-left')) {\n      this.aboutSection.style.removeProperty('max-height');\n      this.aboutSection.style.removeProperty('min-height');\n      this.aboutSection.classList.remove('is-height-synced');\n      return;\n    }\n\n    if (!this.sidebarStack) return;\n\n    const aboutTitle = this.aboutSection.querySelector('.ipax-product__about-title');\n    const titleBlock = aboutTitle ? aboutTitle.offsetHeight + 9 : 0;\n    const sidebarHeight = this.sidebarStack.offsetHeight;\n    const height = Math.round(sidebarHeight + titleBlock);\n\n    if (height > 80) {\n      this.aboutSection.style.maxHeight = `${height}px`;\n      this.aboutSection.style.removeProperty('min-height');\n      this.aboutSection.classList.add('is-height-synced');\n    } else {\n      this.aboutSection.style.removeProperty('max-height');\n      this.aboutSection.style.removeProperty('min-height');\n      this.aboutSection.classList.remove('is-height-synced');\n    }\n  }\n\n  updateAboutToggleState() {\n    if (!this.description || !this.aboutToggle || this.isGiftProduct) return;\n\n    const collapsedClass = 'ipax-product__about-text--collapsed';\n    const expandedClass = 'ipax-product__about-text--expanded';\n    const isExpanded = this.description.classList.contains(expandedClass);\n    const isSynced = this.aboutSection?.classList.contains('is-height-synced');\n    const isDesktop = window.matchMedia('(min-width: 991px)').matches;\n\n    if (isExpanded) {\n      this.aboutToggle.hidden = false;\n      return;\n    }\n\n    if (isDesktop && isSynced) {\n      this.description.classList.add(collapsedClass);\n      const hasOverflow = this.description.scrollHeight > this.description.clientHeight + 2;\n      this.aboutToggle.hidden = !hasOverflow;\n      if (hasOverflow) {\n        this.aboutToggle.textContent = this.aboutMoreLabel;\n        this.aboutToggle.setAttribute('aria-expanded', 'false');\n      }\n    } else {\n      this.description.classList.add(collapsedClass);\n      const hasOverflow = this.description.scrollHeight > this.description.clientHeight + 2;\n\n      if (hasOverflow) {\n        this.aboutToggle.hidden = false;\n        this.aboutToggle.textContent = this.aboutMoreLabel;\n        this.aboutToggle.setAttribute('aria-expanded', 'false');\n      } else {\n        this.aboutToggle.hidden = true;\n        this.description.classList.remove(collapsedClass);\n      }\n    }\n\n    this.description.querySelectorAll('img').forEach((img) => {\n      if (!img.complete) {\n        img.addEventListener('load', () => this.refreshAboutLayout(), { once: true });\n      }\n    });\n  }\n\n  updateCoverNav(total, index) {\n    const needsNav = total > 1;\n    if (this.coverPrev) {\n      this.coverPrev.hidden = !needsNav;\n      this.coverPrev.disabled = index <= 0;\n    }\n    if (this.coverNext) {\n      this.coverNext.hidden = !needsNav;\n      this.coverNext.disabled = index >= total - 1;\n    }\n  }\n\n  bindCoverCarousel() {\n    if (!this.coverCarousel || this.coverCarousel.dataset.bound === 'true') {\n      this.syncShopifyCoverNav();\n      return;\n    }\n    this.coverCarousel.dataset.bound = 'true';\n\n    const slides = () =>\n      Array.from(this.coverViewport?.querySelectorAll('[data-ipax-cover-slide]') || []);\n\n    const go = (dir) => {\n      const list = slides();\n      if (list.length < 2) return;\n      const current = list.findIndex((slide) => slide.classList.contains('is-active'));\n      const next = Math.min(list.length - 1, Math.max(0, (current < 0 ? 0 : current) + dir));\n      list.forEach((slide, i) => {\n        const active = i === next;\n        slide.classList.toggle('is-active', active);\n        slide.hidden = !active;\n      });\n      this.updateCoverNav(list.length, next);\n      const activeImg = list[next]?.querySelector('img');\n      if (activeImg) {\n        this.coverImage = activeImg;\n        if (!activeImg.id) activeImg.id = 'ipax-cover-image';\n      }\n    };\n\n    this.coverPrev?.addEventListener('click', () => go(-1));\n    this.coverNext?.addEventListener('click', () => go(1));\n    this.syncShopifyCoverNav();\n  }\n\n  syncShopifyCoverNav() {\n    const slides = Array.from(this.coverViewport?.querySelectorAll('[data-ipax-cover-slide]') || []);\n    const current = slides.findIndex((s) => s.classList.contains('is-active'));\n    this.updateCoverNav(slides.length, current < 0 ? 0 : current);\n  }\n}\n\ndocument.addEventListener('DOMContentLoaded', () => {\n  document.querySelectorAll('[data-ipax-product]').forEach((root) => {\n    new IpaxSteamProduct(root).init();\n  });\n\n  document.querySelectorAll('[data-ipax-variant-select]').forEach((select) => {\n    const form = select.form;\n    const root = select.closest('[data-ipax-product]');\n    const hidden = form?.querySelector('[data-ipax-variant-id]');\n    const buyButton = form?.querySelector('[data-ipax-buy-button]');\n    const cartButton = form?.querySelector('[data-ipax-cart-button]');\n    const buyLabel = form?.querySelector('[data-ipax-buy-label]');\n    const buySecure = form?.querySelector('.ipax-product__btn-buy-secure');\n    const priceEl = form?.querySelector('[data-ipax-price]');\n    const compareEl = form?.querySelector('[data-ipax-compare-price]');\n    const skuEl = root?.querySelector('[data-ipax-sku]');\n    const paymentInfo = form?.querySelector('[data-ipax-payment-info]');\n    const installmentQtyEl = form?.querySelector('[data-ipax-installment-qty]');\n    const installmentEachEl = form?.querySelector('[data-ipax-installment-each]');\n    const installmentSuffixEl = form?.querySelector('[data-ipax-installment-suffix]');\n    const pixPriceEl = form?.querySelector('[data-ipax-pix-price]');\n    const buyText = root?.dataset.buyLabel || 'Comprar';\n    const selectVariantText = root?.dataset.selectVariantLabel || 'Selecione uma op\u00E7\u00E3o';\n    const fromPriceMode = root?.dataset.pricingFromPrice === 'true';\n    const priceFromEls = form?.querySelectorAll('[data-ipax-price-from]') || [];\n\n    const setFromPriceVisible = (visible) => {\n      priceFromEls.forEach((el) => {\n        el.hidden = !visible;\n      });\n    };\n\n    let variants = [];\n    const variantsEl = document.getElementById('ipax-product-variants');\n    if (variantsEl) {\n      try {\n        variants = JSON.parse(variantsEl.textContent || '[]');\n      } catch {\n        variants = [];\n      }\n    }\n\n    const formatMoney = (cents) => {\n      if (window.Shopify?.formatMoney) return Shopify.formatMoney(cents);\n      return `R$ ${(cents / 100).toFixed(2).replace('.', ',')}`;\n    };\n\n    const updatePaymentOptions = (cents) => {\n      if (!paymentInfo || !installmentQtyEl || !installmentEachEl || !pixPriceEl || !cents) return;\n      const qty = Number(paymentInfo.dataset.interestFreeQty || paymentInfo.dataset.installmentQty || 3);\n      const pixDiscount = Number(paymentInfo.dataset.pixDiscount || 5);\n      const eachInstallment = Math.floor(cents / qty);\n      const pixPrice = Math.round((cents * (100 - pixDiscount)) / 100);\n\n      installmentQtyEl.textContent = `${qty}x`;\n      installmentEachEl.textContent = formatMoney(eachInstallment);\n      if (installmentSuffixEl) installmentSuffixEl.textContent = 'sem juros';\n      pixPriceEl.textContent = formatMoney(pixPrice);\n\n      paymentInfo.dataset.basePrice = String(cents);\n      const boxPix = paymentInfo.querySelector('[data-ipax-box-pix]');\n      const boxBoleto = paymentInfo.querySelector('[data-ipax-box-boleto]');\n      if (boxPix) boxPix.textContent = formatMoney(pixPrice);\n      if (boxBoleto) boxBoleto.textContent = formatMoney(cents);\n      if (typeof window.ipaxBuildInstallments === 'function') {\n        window.ipaxBuildInstallments(paymentInfo, cents);\n      }\n    };\n\n    const getCheapestVariant = () => {\n      if (!variants.length) return null;\n\n      return variants.reduce((min, variant) => {\n        if (variant.price < min.price) return variant;\n        if (variant.price > min.price) return min;\n\n        const minTitle = (min.title || '').toLowerCase();\n        const variantTitle = (variant.title || '').toLowerCase();\n        const minIsSecondary = minTitle.includes('secund') || minTitle.includes('secondary');\n        const variantIsSecondary = variantTitle.includes('secund') || variantTitle.includes('secondary');\n\n        if (variantIsSecondary && !minIsSecondary) return variant;\n        if (variant.available && !min.available) return variant;\n        return min;\n      }, variants[0]);\n    };\n\n    const showFromPriceState = () => {\n      const variant = getCheapestVariant();\n\n      if (select) {\n        select.removeAttribute('name');\n        select.value = '';\n      }\n      if (hidden) hidden.value = '';\n      if (variant && priceEl) priceEl.textContent = formatMoney(variant.price);\n      if (variant) updatePaymentOptions(variant.price);\n      if (variant && compareEl) {\n        if (variant.compare_at_price > variant.price) {\n          compareEl.textContent = formatMoney(variant.compare_at_price);\n          compareEl.hidden = false;\n          setFromPriceVisible(true);\n        } else {\n          compareEl.hidden = true;\n          setFromPriceVisible(false);\n        }\n      } else if (compareEl) {\n        compareEl.hidden = true;\n        setFromPriceVisible(false);\n      } else {\n        setFromPriceVisible(false);\n      }\n      if (buyButton) buyButton.disabled = true;\n      if (cartButton) cartButton.disabled = true;\n      if (buyLabel) buyLabel.textContent = selectVariantText;\n      if (buySecure) buySecure.hidden = true;\n      if (skuEl) {\n        skuEl.textContent = '';\n        skuEl.hidden = true;\n      }\n    };\n\n    const updateVariant = () => {\n      if (!select.value) {\n        if (fromPriceMode) showFromPriceState();\n        return;\n      }\n\n      const variantId = Number(select.value);\n      const variant = variants.find((v) => v.id === variantId);\n      const option = select.selectedOptions[0];\n      const available = option?.dataset.available === 'true' || variant?.available;\n\n      if (select) select.setAttribute('name', 'id');\n      if (hidden) hidden.value = String(variantId);\n      if (buyButton) buyButton.disabled = !available;\n      if (cartButton) cartButton.disabled = !available;\n      if (buyLabel) buyLabel.textContent = available ? buyText : 'Esgotado';\n      if (buySecure) buySecure.hidden = !available;\n      if (variant && priceEl) priceEl.textContent = formatMoney(variant.price);\n      if (variant) updatePaymentOptions(variant.price);\n      if (variant && skuEl) {\n        const code = variant.sku || variant.barcode || '';\n        if (code) {\n          skuEl.textContent = `(C\u00F3d: ${code})`;\n          skuEl.hidden = false;\n        } else {\n          skuEl.textContent = '';\n          skuEl.hidden = true;\n        }\n      }\n      if (variant && compareEl) {\n        if (variant.compare_at_price > variant.price) {\n          compareEl.textContent = formatMoney(variant.compare_at_price);\n          compareEl.hidden = false;\n          setFromPriceVisible(true);\n        } else {\n          compareEl.hidden = true;\n          setFromPriceVisible(false);\n        }\n      } else {\n        setFromPriceVisible(false);\n      }\n    };\n\n    select.addEventListener('change', updateVariant);\n\n    if (fromPriceMode) {\n      showFromPriceState();\n    } else {\n      updateVariant();\n    }\n\n    const picker = form?.querySelector('[data-ipax-variant-picker]');\n    if (picker) {\n      const options = picker.querySelectorAll('.ipax-variant-picker__tab');\n\n      options.forEach((optionBtn) => {\n        optionBtn.addEventListener('click', () => {\n          if (optionBtn.dataset.available === 'false') return;\n\n          const variantId = optionBtn.dataset.variantId;\n          select.value = variantId;\n          options.forEach((btn) => {\n            const isSelected = btn.dataset.variantId === variantId;\n            btn.classList.toggle('is-selected', isSelected);\n            btn.setAttribute('aria-selected', isSelected ? 'true' : 'false');\n          });\n          select.dispatchEvent(new Event('change', { bubbles: true }));\n        });\n      });\n    }\n  });\n\n  const openTcaCartPanel = () => {\n    if (typeof window.ipaxOpenTcaCart === 'function') {\n      window.ipaxOpenTcaCart();\n      return true;\n    }\n    return false;\n  };\n\n  const waitAndOpenTcaCart = () => {\n    if (openTcaCartPanel()) return;\n    let tries = 0;\n    const timer = window.setInterval(() => {\n      tries += 1;\n      if (openTcaCartPanel() || tries >= 20) {\n        window.clearInterval(timer);\n      }\n    }, 50);\n  };\n\n  const addToCartAndOpenTca = async (form) => {\n    const variantInput =\n      form.querySelector('[name=\"id\"]') || form.querySelector('[data-ipax-variant-id]');\n    const variantId = Number(variantInput?.value);\n    if (!variantId) {\n      throw new Error('Selecione uma op\u00E7\u00E3o do produto.');\n    }\n\n    const shopRoot = window.Shopify?.routes?.root || '/';\n    const buttons = form.querySelectorAll('[type=\"submit\"], [data-ipax-buy-button]');\n\n    buttons.forEach((btn) => {\n      btn.disabled = true;\n      btn.setAttribute('aria-busy', 'true');\n    });\n\n    try {\n      const addResponse = await fetch(`${shopRoot}cart/add.js`, {\n        method: 'POST',\n        headers: { 'Content-Type': 'application/json', Accept: 'application/json' },\n        body: JSON.stringify({ items: [{ id: variantId, quantity: 1 }] }),\n      });\n      const addData = await addResponse.json();\n      if (!addResponse.ok) {\n        throw new Error(addData.description || addData.message || 'N\u00E3o foi poss\u00EDvel adicionar ao carrinho.');\n      }\n\n      const cartResponse = await fetch(`${shopRoot}cart.js`, {\n        headers: { Accept: 'application/json' },\n      });\n      const cart = await cartResponse.json();\n\n      document.dispatchEvent(\n        new CustomEvent('cart:update', {\n          bubbles: true,\n          detail: {\n            resource: cart,\n            data: {\n              source: 'ipax-product-form',\n              variantId: String(variantId),\n              itemCount: cart.item_count,\n            },\n          },\n        })\n      );\n\n      // Sempre o painel TCA (imagem 1) \u2014 nunca /cart nem drawer branco do tema\n      waitAndOpenTcaCart();\n    } finally {\n      buttons.forEach((btn) => {\n        btn.disabled = false;\n        btn.removeAttribute('aria-busy');\n      });\n    }\n  };\n\n  // Clique em Comprar (capture) \u2014 bloqueia submit nativo / Alphazz / redirect para /cart\n  document.addEventListener(\n    'click',\n    (event) => {\n      const buyButton = event.target.closest('[data-ipax-buy-button]');\n      if (!buyButton || buyButton.disabled) return;\n\n      const form = buyButton.closest('form') || document.getElementById('ipax-product-form');\n      if (!form) return;\n\n      event.preventDefault();\n      event.stopPropagation();\n      if (typeof event.stopImmediatePropagation === 'function') {\n        event.stopImmediatePropagation();\n      }\n\n      addToCartAndOpenTca(form).catch((error) => {\n        console.warn('[iPax Product Cart]', error);\n        window.alert(error.message || 'N\u00E3o foi poss\u00EDvel adicionar ao carrinho.');\n      });\n    },\n    true\n  );\n\n  document.querySelectorAll('#ipax-product-form').forEach((form) => {\n    if (form.dataset.ipaxCartBound === 'true') return;\n    form.dataset.ipaxCartBound = 'true';\n\n    // Bloqueia POST nativo do Shopify (que manda para /cart)\n    form.setAttribute('action', '#');\n    form.addEventListener(\n      'submit',\n      (event) => {\n        event.preventDefault();\n        event.stopPropagation();\n        if (typeof event.stopImmediatePropagation === 'function') {\n          event.stopImmediatePropagation();\n        }\n\n        addToCartAndOpenTca(form).catch((error) => {\n          console.warn('[iPax Product Cart]', error);\n          window.alert(error.message || 'N\u00E3o foi poss\u00EDvel adicionar ao carrinho.');\n        });\n      },\n      true\n    );\n  });\n});\n"],
  "mappings": "AAAA,MAAM,gBAAiB,CACrB,YAAY,KAAM,CAChB,KAAK,KAAO,KACZ,KAAK,SAAW,KAAK,QAAQ,eAAiB,GAC9C,KAAK,YAAc,KAAK,QAAQ,cAAgB,OAChD,KAAK,WAAa,KAAK,cAAc,mBAAmB,EACxD,KAAK,cAAgB,KAAK,cAAc,4BAA4B,EACpE,KAAK,UAAY,KAAK,cAAc,wBAAwB,EAC5D,KAAK,UAAY,KAAK,cAAc,wBAAwB,EAC5D,KAAK,cAAgB,KAAK,cAAc,4BAA4B,EACpE,KAAK,QAAU,KAAK,cAAc,yBAAyB,EAC3D,KAAK,aAAe,KAAK,cAAc,8BAA8B,EACrE,KAAK,YAAc,KAAK,cAAc,yBAAyB,EAC/D,KAAK,YAAc,KAAK,cAAc,0BAA0B,EAChE,KAAK,aAAe,KAAK,cAAc,sBAAsB,EAC7D,KAAK,UAAY,KAAK,cAAc,2BAA2B,EAC/D,KAAK,QAAU,KAAK,cAAc,yBAAyB,EAC3D,KAAK,eAAiB,KAAK,QAAQ,WAAa,WAChD,KAAK,eAAiB,KAAK,QAAQ,WAAa,YAChD,KAAK,cAAgB,KAAK,QAAQ,gBAAkB,MACtD,CAEA,mBAAoB,CAClB,KAAK,SAAS,MAAM,eAAe,YAAY,EAC/C,KAAK,SAAS,MAAM,eAAe,YAAY,EAC/C,KAAK,SAAS,MAAM,eAAe,aAAa,EAChD,KAAK,SAAS,UAAU,OAAO,mBAAmB,EAClD,KAAK,KAAK,cAAc,sBAAsB,GAAG,MAAM,eAAe,QAAQ,EAC9E,KAAK,KAAK,cAAc,sBAAsB,GAAG,MAAM,eAAe,YAAY,EAClF,KAAK,KAAK,cAAc,sBAAsB,GAAG,MAAM,eAAe,YAAY,CACpF,CAEA,yBAAyB,QAAS,QAAS,CACzC,MAAM,KAAO,KAAK,KAAK,cAAc,qBAAqB,EACpD,OAAS,KAAO,WAAW,iBAAiB,IAAI,EAAE,MAAM,GAAK,EAAI,GACvE,OAAO,KAAK,MAAM,QAAQ,aAAe,OAAS,QAAQ,YAAY,CACxE,CAEA,qBAAsB,CACpB,GAAI,KAAK,iBAAkB,OAC3B,KAAK,iBAAmB,GAExB,MAAM,SAAW,IAAM,CACrB,OAAO,aAAa,KAAK,gBAAgB,EACzC,KAAK,iBAAmB,OAAO,WAAW,IAAM,KAAK,gBAAgB,EAAG,EAAE,CAC5E,EAIA,GAFA,OAAO,iBAAiB,SAAU,SAAU,CAAE,QAAS,EAAK,CAAC,EAEzD,OAAO,eAAmB,IAAa,CACzC,KAAK,oBAAsB,IAAI,eAAe,QAAQ,EAClD,KAAK,SAAS,KAAK,oBAAoB,QAAQ,KAAK,OAAO,EAC3D,KAAK,cAAgB,CAAC,KAAK,eAC7B,KAAK,oBAAoB,QAAQ,KAAK,YAAY,EAEpD,MAAM,YAAc,KAAK,KAAK,cAAc,6BAA6B,EACrE,aAAa,KAAK,oBAAoB,QAAQ,WAAW,CAC/D,CAEA,MAAM,SAAW,KAAK,WAClB,UAAY,CAAC,SAAS,UACxB,SAAS,iBAAiB,OAAQ,SAAU,CAAE,KAAM,EAAK,CAAC,CAE9D,CAEA,iBAAkB,CAChB,MAAM,MAAQ,KAAK,KAAK,cAAc,sBAAsB,EACtD,QAAU,KAAK,SAAW,KAAK,KAAK,cAAc,yBAAyB,EACjF,GAAI,CAAC,OAAS,CAAC,QAAS,OAExB,MAAM,cAAgB,IAAM,CAC1B,MAAM,MAAM,eAAe,QAAQ,EACnC,MAAM,MAAM,eAAe,OAAO,EAClC,MAAM,MAAM,eAAe,YAAY,EACvC,MAAM,MAAM,eAAe,YAAY,EACvC,MAAM,MAAM,eAAe,WAAW,EACtC,MAAM,MAAM,eAAe,WAAW,EACtC,MAAM,MAAM,eAAe,cAAc,EACzC,KAAK,KAAK,MAAM,eAAe,mBAAmB,EAClD,KAAK,KAAK,cAAc,6BAA6B,GAAG,MAAM,eAAe,OAAO,EACpF,KAAK,KAAK,cAAc,6BAA6B,GAAG,MAAM,eAAe,WAAW,EAExF,MAAM,SAAW,KAAK,YAAc,MAAM,cAAc,0BAA0B,EAC9E,WACF,SAAS,MAAM,eAAe,QAAQ,EACtC,SAAS,MAAM,eAAe,OAAO,EACrC,SAAS,MAAM,eAAe,YAAY,EAC1C,SAAS,MAAM,eAAe,YAAY,EAC1C,SAAS,MAAM,eAAe,iBAAiB,GAEjD,KAAK,uBAAyB,IAChC,EAEA,GAAI,OAAO,WAAW,oBAAoB,EAAE,QAAS,CACnD,cAAc,EACd,MACF,CAGA,GAAI,CAAC,KAAK,cAAe,CACvB,cAAc,EACd,MACF,CAEA,MAAM,OAAS,KAAK,MAAM,QAAQ,sBAAsB,EAAE,MAAM,EAChE,GAAI,OAAS,EAAG,CACd,IAAI,aAAe,OACnB,MAAM,QAAU,KAAK,cAAgB,KAAK,KAAK,cAAc,8BAA8B,EAE3F,GAAI,QAAS,CACX,MAAM,SAAW,KAAK,yBAAyB,QAAS,OAAO,EAC3D,SAAW,IAAG,aAAe,SACnC,CAEA,MAAM,UAAY,KAAK,MAAM,YAAY,EAEzC,GAAI,KAAK,qBAAuB,UAAW,OAC3C,KAAK,mBAAqB,UAE1B,MAAM,MAAM,OAAS,GAAG,SAAS,KACjC,MAAM,MAAM,MAAQ,GAAG,SAAS,KAChC,MAAM,MAAM,UAAY,GAAG,SAAS,KACpC,MAAM,MAAM,UAAY,GAAG,SAAS,KACpC,MAAM,MAAM,SAAW,GAAG,SAAS,KACnC,MAAM,MAAM,SAAW,GAAG,SAAS,KACnC,MAAM,MAAM,YAAc,QAC1B,KAAK,KAAK,MAAM,YAAY,oBAAqB,GAAG,SAAS,IAAI,CACnE,CACF,CAEA,gBAAiB,CACf,KAAK,oBAAoB,EACzB,sBAAsB,IAAM,KAAK,gBAAgB,CAAC,EAClD,CAAC,IAAK,IAAK,GAAG,EAAE,QAAS,OAAU,CACjC,OAAO,WAAW,IAAM,KAAK,gBAAgB,EAAG,KAAK,CACvD,CAAC,CACH,CAEA,MAAM,MAAO,CACX,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,eAAe,CACtB,CAEA,kBAAmB,CACjB,GAAI,CAAC,KAAK,aAAe,CAAC,KAAK,YAAa,OAE5C,MAAM,eAAiB,sCACjB,cAAgB,qCAEtB,GAAI,KAAK,cAAe,CACtB,KAAK,YAAY,UAAU,OAAO,cAAc,EAChD,KAAK,YAAY,UAAU,IAAI,aAAa,EAC5C,KAAK,YAAY,OAAS,GAC1B,KAAK,YAAY,aAAa,gBAAiB,MAAM,EACrD,KAAK,cAAc,UAAU,OAAO,kBAAkB,EACtD,KAAK,cAAc,MAAM,eAAe,YAAY,EACpD,KAAK,cAAc,MAAM,eAAe,YAAY,EACpD,MACF,CAQA,GANA,KAAK,YAAY,UAAU,OAAO,aAAa,EAC/C,KAAK,YAAY,UAAU,IAAI,cAAc,EAC7C,KAAK,YAAY,OAAS,GAC1B,KAAK,YAAY,aAAa,gBAAiB,OAAO,EACtD,KAAK,YAAY,YAAc,KAAK,eAEhC,KAAK,YAAY,QAAQ,QAAU,OAAQ,CAC7C,sBAAsB,IAAM,KAAK,mBAAmB,CAAC,EACrD,MACF,CAEA,KAAK,YAAY,QAAQ,MAAQ,OACjC,KAAK,YAAY,iBAAiB,QAAS,IAAM,CAC/C,MAAM,WAAa,KAAK,YAAY,UAAU,OAAO,aAAa,EAClE,KAAK,YAAY,UAAU,OAAO,eAAgB,CAAC,UAAU,EAC7D,KAAK,YAAY,YAAc,WAAa,KAAK,eAAiB,KAAK,eACvE,KAAK,YAAY,aAAa,gBAAiB,OAAO,UAAU,CAAC,EACjE,KAAK,mBAAmB,CAC1B,CAAC,EAED,KAAK,oBAAoB,EACzB,sBAAsB,IAAM,KAAK,mBAAmB,CAAC,EACrD,CAAC,IAAK,GAAG,EAAE,QAAS,OAAU,CAC5B,OAAO,WAAW,IAAM,KAAK,mBAAmB,EAAG,KAAK,CAC1D,CAAC,CACH,CAEA,oBAAqB,CACnB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,CAC9B,CAEA,qBAAsB,CACpB,GAAI,KAAK,iBAAkB,OAC3B,KAAK,iBAAmB,GAExB,IAAI,YACJ,MAAM,aAAe,IAAM,CACzB,OAAO,aAAa,WAAW,EAC/B,YAAc,OAAO,WAAW,IAAM,KAAK,mBAAmB,EAAG,EAAE,CACrE,EAEA,OAAO,iBAAiB,SAAU,aAAc,CAAE,QAAS,EAAK,CAAC,EAE7D,OAAO,eAAmB,MAC5B,KAAK,oBAAsB,IAAI,eAAe,YAAY,EAC1D,CAAC,KAAK,aAAc,KAAK,QAAS,KAAK,aAAc,KAAK,YAAa,KAAK,KAAK,cAAc,6BAA6B,CAAC,EAAE,QAAS,IAAO,CACzI,IAAI,KAAK,oBAAoB,QAAQ,EAAE,CAC7C,CAAC,EAEL,CAEA,iBAAkB,CAChB,GAAI,CAAC,KAAK,cAAgB,KAAK,cAAe,OAE9C,MAAM,OAAS,OAAO,WAAW,oBAAoB,EAAE,QACjD,WAAa,KAAK,aAAa,UAAU,SAAS,oCAAoC,EAE5F,GAAI,QAAU,WAAY,CACxB,KAAK,aAAa,MAAM,eAAe,YAAY,EACnD,KAAK,aAAa,MAAM,eAAe,YAAY,EACnD,KAAK,aAAa,UAAU,OAAO,kBAAkB,EACrD,MACF,CAEA,GAAI,KAAK,KAAK,cAAc,6BAA6B,EAAG,CAC1D,KAAK,aAAa,MAAM,eAAe,YAAY,EACnD,KAAK,aAAa,MAAM,eAAe,YAAY,EACnD,KAAK,aAAa,UAAU,OAAO,kBAAkB,EACrD,MACF,CAEA,GAAI,CAAC,KAAK,aAAc,OAExB,MAAM,WAAa,KAAK,aAAa,cAAc,4BAA4B,EACzE,WAAa,WAAa,WAAW,aAAe,EAAI,EACxD,cAAgB,KAAK,aAAa,aAClC,OAAS,KAAK,MAAM,cAAgB,UAAU,EAEhD,OAAS,IACX,KAAK,aAAa,MAAM,UAAY,GAAG,MAAM,KAC7C,KAAK,aAAa,MAAM,eAAe,YAAY,EACnD,KAAK,aAAa,UAAU,IAAI,kBAAkB,IAElD,KAAK,aAAa,MAAM,eAAe,YAAY,EACnD,KAAK,aAAa,MAAM,eAAe,YAAY,EACnD,KAAK,aAAa,UAAU,OAAO,kBAAkB,EAEzD,CAEA,wBAAyB,CACvB,GAAI,CAAC,KAAK,aAAe,CAAC,KAAK,aAAe,KAAK,cAAe,OAElE,MAAM,eAAiB,sCAEjB,WAAa,KAAK,YAAY,UAAU,SADxB,oCAC8C,EAC9D,SAAW,KAAK,cAAc,UAAU,SAAS,kBAAkB,EACnE,UAAY,OAAO,WAAW,oBAAoB,EAAE,QAE1D,GAAI,WAAY,CACd,KAAK,YAAY,OAAS,GAC1B,MACF,CAEA,GAAI,WAAa,SAAU,CACzB,KAAK,YAAY,UAAU,IAAI,cAAc,EAC7C,MAAM,YAAc,KAAK,YAAY,aAAe,KAAK,YAAY,aAAe,EACpF,KAAK,YAAY,OAAS,CAAC,YACvB,cACF,KAAK,YAAY,YAAc,KAAK,eACpC,KAAK,YAAY,aAAa,gBAAiB,OAAO,EAE1D,MACE,KAAK,YAAY,UAAU,IAAI,cAAc,EACzB,KAAK,YAAY,aAAe,KAAK,YAAY,aAAe,GAGlF,KAAK,YAAY,OAAS,GAC1B,KAAK,YAAY,YAAc,KAAK,eACpC,KAAK,YAAY,aAAa,gBAAiB,OAAO,IAEtD,KAAK,YAAY,OAAS,GAC1B,KAAK,YAAY,UAAU,OAAO,cAAc,GAIpD,KAAK,YAAY,iBAAiB,KAAK,EAAE,QAAS,KAAQ,CACnD,IAAI,UACP,IAAI,iBAAiB,OAAQ,IAAM,KAAK,mBAAmB,EAAG,CAAE,KAAM,EAAK,CAAC,CAEhF,CAAC,CACH,CAEA,eAAe,MAAO,MAAO,CAC3B,MAAM,SAAW,MAAQ,EACrB,KAAK,YACP,KAAK,UAAU,OAAS,CAAC,SACzB,KAAK,UAAU,SAAW,OAAS,GAEjC,KAAK,YACP,KAAK,UAAU,OAAS,CAAC,SACzB,KAAK,UAAU,SAAW,OAAS,MAAQ,EAE/C,CAEA,mBAAoB,CAClB,GAAI,CAAC,KAAK,eAAiB,KAAK,cAAc,QAAQ,QAAU,OAAQ,CACtE,KAAK,oBAAoB,EACzB,MACF,CACA,KAAK,cAAc,QAAQ,MAAQ,OAEnC,MAAM,OAAS,IACb,MAAM,KAAK,KAAK,eAAe,iBAAiB,yBAAyB,GAAK,CAAC,CAAC,EAE5E,GAAM,KAAQ,CAClB,MAAM,KAAO,OAAO,EACpB,GAAI,KAAK,OAAS,EAAG,OACrB,MAAM,QAAU,KAAK,UAAW,OAAU,MAAM,UAAU,SAAS,WAAW,CAAC,EACzE,KAAO,KAAK,IAAI,KAAK,OAAS,EAAG,KAAK,IAAI,GAAI,QAAU,EAAI,EAAI,SAAW,GAAG,CAAC,EACrF,KAAK,QAAQ,CAAC,MAAO,IAAM,CACzB,MAAM,OAAS,IAAM,KACrB,MAAM,UAAU,OAAO,YAAa,MAAM,EAC1C,MAAM,OAAS,CAAC,MAClB,CAAC,EACD,KAAK,eAAe,KAAK,OAAQ,IAAI,EACrC,MAAM,UAAY,KAAK,IAAI,GAAG,cAAc,KAAK,EAC7C,YACF,KAAK,WAAa,UACb,UAAU,KAAI,UAAU,GAAK,oBAEtC,EAEA,KAAK,WAAW,iBAAiB,QAAS,IAAM,GAAG,EAAE,CAAC,EACtD,KAAK,WAAW,iBAAiB,QAAS,IAAM,GAAG,CAAC,CAAC,EACrD,KAAK,oBAAoB,CAC3B,CAEA,qBAAsB,CACpB,MAAM,OAAS,MAAM,KAAK,KAAK,eAAe,iBAAiB,yBAAyB,GAAK,CAAC,CAAC,EACzF,QAAU,OAAO,UAAW,GAAM,EAAE,UAAU,SAAS,WAAW,CAAC,EACzE,KAAK,eAAe,OAAO,OAAQ,QAAU,EAAI,EAAI,OAAO,CAC9D,CACF,CAEA,SAAS,iBAAiB,mBAAoB,IAAM,CAClD,SAAS,iBAAiB,qBAAqB,EAAE,QAAS,MAAS,CACjE,IAAI,iBAAiB,IAAI,EAAE,KAAK,CAClC,CAAC,EAED,SAAS,iBAAiB,4BAA4B,EAAE,QAAS,QAAW,CAC1E,MAAM,KAAO,OAAO,KACd,KAAO,OAAO,QAAQ,qBAAqB,EAC3C,OAAS,MAAM,cAAc,wBAAwB,EACrD,UAAY,MAAM,cAAc,wBAAwB,EACxD,WAAa,MAAM,cAAc,yBAAyB,EAC1D,SAAW,MAAM,cAAc,uBAAuB,EACtD,UAAY,MAAM,cAAc,+BAA+B,EAC/D,QAAU,MAAM,cAAc,mBAAmB,EACjD,UAAY,MAAM,cAAc,2BAA2B,EAC3D,MAAQ,MAAM,cAAc,iBAAiB,EAC7C,YAAc,MAAM,cAAc,0BAA0B,EAC5D,iBAAmB,MAAM,cAAc,6BAA6B,EACpE,kBAAoB,MAAM,cAAc,8BAA8B,EACtE,oBAAsB,MAAM,cAAc,gCAAgC,EAC1E,WAAa,MAAM,cAAc,uBAAuB,EACxD,QAAU,MAAM,QAAQ,UAAY,UACpC,kBAAoB,MAAM,QAAQ,oBAAsB,4BACxD,cAAgB,MAAM,QAAQ,mBAAqB,OACnD,aAAe,MAAM,iBAAiB,wBAAwB,GAAK,CAAC,EAEpE,oBAAuB,SAAY,CACvC,aAAa,QAAS,IAAO,CAC3B,GAAG,OAAS,CAAC,OACf,CAAC,CACH,EAEA,IAAI,SAAW,CAAC,EAChB,MAAM,WAAa,SAAS,eAAe,uBAAuB,EAClE,GAAI,WACF,GAAI,CACF,SAAW,KAAK,MAAM,WAAW,aAAe,IAAI,CACtD,MAAQ,CACN,SAAW,CAAC,CACd,CAGF,MAAM,YAAe,OACf,OAAO,SAAS,YAAoB,QAAQ,YAAY,KAAK,EAC1D,OAAO,MAAQ,KAAK,QAAQ,CAAC,EAAE,QAAQ,IAAK,GAAG,CAAC,GAGnD,qBAAwB,OAAU,CACtC,GAAI,CAAC,aAAe,CAAC,kBAAoB,CAAC,mBAAqB,CAAC,YAAc,CAAC,MAAO,OACtF,MAAM,IAAM,OAAO,YAAY,QAAQ,iBAAmB,YAAY,QAAQ,gBAAkB,CAAC,EAC3F,YAAc,OAAO,YAAY,QAAQ,aAAe,CAAC,EACzD,gBAAkB,KAAK,MAAM,MAAQ,GAAG,EACxC,SAAW,KAAK,MAAO,OAAS,IAAM,aAAgB,GAAG,EAE/D,iBAAiB,YAAc,GAAG,GAAG,IACrC,kBAAkB,YAAc,YAAY,eAAe,EACvD,sBAAqB,oBAAoB,YAAc,aAC3D,WAAW,YAAc,YAAY,QAAQ,EAE7C,YAAY,QAAQ,UAAY,OAAO,KAAK,EAC5C,MAAM,OAAS,YAAY,cAAc,qBAAqB,EACxD,UAAY,YAAY,cAAc,wBAAwB,EAChE,SAAQ,OAAO,YAAc,YAAY,QAAQ,GACjD,YAAW,UAAU,YAAc,YAAY,KAAK,GACpD,OAAO,OAAO,uBAA0B,YAC1C,OAAO,sBAAsB,YAAa,KAAK,CAEnD,EAEM,mBAAqB,IACpB,SAAS,OAEP,SAAS,OAAO,CAAC,IAAK,UAAY,CACvC,GAAI,QAAQ,MAAQ,IAAI,MAAO,OAAO,QACtC,GAAI,QAAQ,MAAQ,IAAI,MAAO,OAAO,IAEtC,MAAM,UAAY,IAAI,OAAS,IAAI,YAAY,EACzC,cAAgB,QAAQ,OAAS,IAAI,YAAY,EACjD,eAAiB,SAAS,SAAS,QAAQ,GAAK,SAAS,SAAS,WAAW,EAInF,OAH2B,aAAa,SAAS,QAAQ,GAAK,aAAa,SAAS,WAAW,IAErE,CAAC,gBACvB,QAAQ,WAAa,CAAC,IAAI,UAAkB,QACzC,GACT,EAAG,SAAS,CAAC,CAAC,EAde,KAiBzB,mBAAqB,IAAM,CAC/B,MAAM,QAAU,mBAAmB,EAE/B,SACF,OAAO,gBAAgB,MAAM,EAC7B,OAAO,MAAQ,IAEb,SAAQ,OAAO,MAAQ,IACvB,SAAW,UAAS,QAAQ,YAAc,YAAY,QAAQ,KAAK,GACnE,SAAS,qBAAqB,QAAQ,KAAK,EAC3C,SAAW,UACT,QAAQ,iBAAmB,QAAQ,OACrC,UAAU,YAAc,YAAY,QAAQ,gBAAgB,EAC5D,UAAU,OAAS,GACnB,oBAAoB,EAAI,IAExB,UAAU,OAAS,GACnB,oBAAoB,EAAK,IAElB,YACT,UAAU,OAAS,IACnB,oBAAoB,EAAK,GAIvB,YAAW,UAAU,SAAW,IAChC,aAAY,WAAW,SAAW,IAClC,WAAU,SAAS,YAAc,mBACjC,YAAW,UAAU,OAAS,IAC9B,QACF,MAAM,YAAc,GACpB,MAAM,OAAS,GAEnB,EAEM,cAAgB,IAAM,CAC1B,GAAI,CAAC,OAAO,MAAO,CACb,eAAe,mBAAmB,EACtC,MACF,CAEA,MAAM,UAAY,OAAO,OAAO,KAAK,EAC/B,QAAU,SAAS,KAAM,GAAM,EAAE,KAAO,SAAS,EAEjD,UADS,OAAO,gBAAgB,CAAC,GACb,QAAQ,YAAc,QAAU,SAAS,UAUnE,GARI,QAAQ,OAAO,aAAa,OAAQ,IAAI,EACxC,SAAQ,OAAO,MAAQ,OAAO,SAAS,GACvC,YAAW,UAAU,SAAW,CAAC,WACjC,aAAY,WAAW,SAAW,CAAC,WACnC,WAAU,SAAS,YAAc,UAAY,QAAU,YACvD,YAAW,UAAU,OAAS,CAAC,WAC/B,SAAW,UAAS,QAAQ,YAAc,YAAY,QAAQ,KAAK,GACnE,SAAS,qBAAqB,QAAQ,KAAK,EAC3C,SAAW,MAAO,CACpB,MAAM,KAAO,QAAQ,KAAO,QAAQ,SAAW,GAC3C,MACF,MAAM,YAAc,YAAS,IAAI,IACjC,MAAM,OAAS,KAEf,MAAM,YAAc,GACpB,MAAM,OAAS,GAEnB,CACI,SAAW,UACT,QAAQ,iBAAmB,QAAQ,OACrC,UAAU,YAAc,YAAY,QAAQ,gBAAgB,EAC5D,UAAU,OAAS,GACnB,oBAAoB,EAAI,IAExB,UAAU,OAAS,GACnB,oBAAoB,EAAK,GAG3B,oBAAoB,EAAK,CAE7B,EAEA,OAAO,iBAAiB,SAAU,aAAa,EAE3C,cACF,mBAAmB,EAEnB,cAAc,EAGhB,MAAM,OAAS,MAAM,cAAc,4BAA4B,EAC/D,GAAI,OAAQ,CACV,MAAM,QAAU,OAAO,iBAAiB,2BAA2B,EAEnE,QAAQ,QAAS,WAAc,CAC7B,UAAU,iBAAiB,QAAS,IAAM,CACxC,GAAI,UAAU,QAAQ,YAAc,QAAS,OAE7C,MAAM,UAAY,UAAU,QAAQ,UACpC,OAAO,MAAQ,UACf,QAAQ,QAAS,KAAQ,CACvB,MAAM,WAAa,IAAI,QAAQ,YAAc,UAC7C,IAAI,UAAU,OAAO,cAAe,UAAU,EAC9C,IAAI,aAAa,gBAAiB,WAAa,OAAS,OAAO,CACjE,CAAC,EACD,OAAO,cAAc,IAAI,MAAM,SAAU,CAAE,QAAS,EAAK,CAAC,CAAC,CAC7D,CAAC,CACH,CAAC,CACH,CACF,CAAC,EAED,MAAM,iBAAmB,IACnB,OAAO,OAAO,iBAAoB,YACpC,OAAO,gBAAgB,EAChB,IAEF,GAGH,mBAAqB,IAAM,CAC/B,GAAI,iBAAiB,EAAG,OACxB,IAAI,MAAQ,EACZ,MAAM,MAAQ,OAAO,YAAY,IAAM,CACrC,OAAS,GACL,iBAAiB,GAAK,OAAS,KACjC,OAAO,cAAc,KAAK,CAE9B,EAAG,EAAE,CACP,EAEM,oBAAsB,MAAO,MAAS,CAC1C,MAAM,aACJ,KAAK,cAAc,aAAa,GAAK,KAAK,cAAc,wBAAwB,EAC5E,UAAY,OAAO,cAAc,KAAK,EAC5C,GAAI,CAAC,UACH,MAAM,IAAI,MAAM,uCAAiC,EAGnD,MAAM,SAAW,OAAO,SAAS,QAAQ,MAAQ,IAC3C,QAAU,KAAK,iBAAiB,yCAAyC,EAE/E,QAAQ,QAAS,KAAQ,CACvB,IAAI,SAAW,GACf,IAAI,aAAa,YAAa,MAAM,CACtC,CAAC,EAED,GAAI,CACF,MAAM,YAAc,MAAM,MAAM,GAAG,QAAQ,cAAe,CACxD,OAAQ,OACR,QAAS,CAAE,eAAgB,mBAAoB,OAAQ,kBAAmB,EAC1E,KAAM,KAAK,UAAU,CAAE,MAAO,CAAC,CAAE,GAAI,UAAW,SAAU,CAAE,CAAC,CAAE,CAAC,CAClE,CAAC,EACK,QAAU,MAAM,YAAY,KAAK,EACvC,GAAI,CAAC,YAAY,GACf,MAAM,IAAI,MAAM,QAAQ,aAAe,QAAQ,SAAW,+CAAyC,EAMrG,MAAM,KAAO,MAHQ,MAAM,MAAM,GAAG,QAAQ,UAAW,CACrD,QAAS,CAAE,OAAQ,kBAAmB,CACxC,CAAC,GAC+B,KAAK,EAErC,SAAS,cACP,IAAI,YAAY,cAAe,CAC7B,QAAS,GACT,OAAQ,CACN,SAAU,KACV,KAAM,CACJ,OAAQ,oBACR,UAAW,OAAO,SAAS,EAC3B,UAAW,KAAK,UAClB,CACF,CACF,CAAC,CACH,EAGA,mBAAmB,CACrB,QAAE,CACA,QAAQ,QAAS,KAAQ,CACvB,IAAI,SAAW,GACf,IAAI,gBAAgB,WAAW,CACjC,CAAC,CACH,CACF,EAGA,SAAS,iBACP,QACC,OAAU,CACT,MAAM,UAAY,MAAM,OAAO,QAAQ,wBAAwB,EAC/D,GAAI,CAAC,WAAa,UAAU,SAAU,OAEtC,MAAM,KAAO,UAAU,QAAQ,MAAM,GAAK,SAAS,eAAe,mBAAmB,EAChF,OAEL,MAAM,eAAe,EACrB,MAAM,gBAAgB,EAClB,OAAO,MAAM,0BAA6B,YAC5C,MAAM,yBAAyB,EAGjC,oBAAoB,IAAI,EAAE,MAAO,OAAU,CACzC,QAAQ,KAAK,sBAAuB,KAAK,EACzC,OAAO,MAAM,MAAM,SAAW,+CAAyC,CACzE,CAAC,EACH,EACA,EACF,EAEA,SAAS,iBAAiB,oBAAoB,EAAE,QAAS,MAAS,CAC5D,KAAK,QAAQ,gBAAkB,SACnC,KAAK,QAAQ,cAAgB,OAG7B,KAAK,aAAa,SAAU,GAAG,EAC/B,KAAK,iBACH,SACC,OAAU,CACT,MAAM,eAAe,EACrB,MAAM,gBAAgB,EAClB,OAAO,MAAM,0BAA6B,YAC5C,MAAM,yBAAyB,EAGjC,oBAAoB,IAAI,EAAE,MAAO,OAAU,CACzC,QAAQ,KAAK,sBAAuB,KAAK,EACzC,OAAO,MAAM,MAAM,SAAW,+CAAyC,CACzE,CAAC,CACH,EACA,EACF,EACF,CAAC,CACH,CAAC",
  "names": []
}
