{
  "version": 3,
  "sources": ["/cdn/shop/t/6/assets/global.js?cb=1780478652203"],
  "sourcesContent": ["/* Neosyntis theme - vanilla JS helpers + animations */\n\n(function () {\n  'use strict';\n\n  // ============================================================\n  // Quantity steppers (product page)\n  // ============================================================\n  document.addEventListener('click', function (e) {\n    var btn = e.target.closest('[data-qty]');\n    if (!btn) return;\n    var dir = btn.getAttribute('data-qty');\n    var input = btn.parentElement.querySelector('input[type=\"number\"]');\n    if (!input) return;\n    var val = parseInt(input.value, 10) || 1;\n    val = dir === '+' ? val + 1 : Math.max(1, val - 1);\n    input.value = val;\n    input.dispatchEvent(new Event('change', { bubbles: true }));\n  });\n\n  // ============================================================\n  // Cart line item remove via AJAX\n  // ============================================================\n  document.addEventListener('click', function (e) {\n    var rm = e.target.closest('[data-remove-line]');\n    if (!rm) return;\n    e.preventDefault();\n    var line = rm.getAttribute('data-remove-line');\n    fetch(window.shopUrls.cartChange, {\n      method: 'POST',\n      headers: { 'Content-Type': 'application/json', Accept: 'application/json' },\n      body: JSON.stringify({ line: Number(line), quantity: 0 })\n    }).then(function () { window.location.reload(); });\n  });\n\n  // ============================================================\n  // Scanline overlay - subtle Matrix vibe\n  // ============================================================\n  document.documentElement.classList.add('scanlines');\n\n  // ============================================================\n  // Capsule float (JS-driven - bypasses OS prefers-reduced-motion\n  // which Chrome on Windows forcefully applies to CSS animations)\n  // ============================================================\n  function startCapsuleFloat() {\n    var capsules = document.querySelectorAll('.capsule');\n    if (!capsules.length) return;\n\n    // Compute each capsule's base rotation from inline --rot\n    var instances = Array.prototype.map.call(capsules, function (el, i) {\n      var rotVar = el.style.getPropertyValue('--rot') || '0deg';\n      var rotDeg = parseFloat(rotVar);\n      // Random-ish phase per capsule for varied movement\n      return {\n        el: el,\n        baseRot: rotDeg,\n        phase: i * 1.7, // staggered phase\n        durX: 4500 + (i * 700) % 2000,\n        durY: 5200 + (i * 1100) % 1800,\n        durRot: 6000 + (i * 900) % 1700,\n        ampX: 18 + (i % 3) * 4,\n        ampY: 26 + (i % 4) * 6,\n        ampRot: 10 + (i % 3) * 4\n      };\n    });\n\n    // Disable CSS animation since JS takes over\n    instances.forEach(function (inst) {\n      inst.el.style.animation = 'none';\n    });\n\n    var startTime = performance.now();\n    function frame(now) {\n      var t = now - startTime;\n      for (var i = 0; i < instances.length; i++) {\n        var inst = instances[i];\n        var phase = inst.phase * 1000;\n        var x = Math.sin((t + phase) / inst.durX * Math.PI * 2) * inst.ampX;\n        var y = Math.cos((t + phase * 1.3) / inst.durY * Math.PI * 2) * inst.ampY - inst.ampY * 0.4; // bias upward\n        var rotDelta = Math.sin((t + phase * 0.7) / inst.durRot * Math.PI * 2) * inst.ampRot;\n        // Mouse parallax - read --mx/--my CSS vars + data-parallax-depth attr (set by setupHeroWow)\n        var depth = parseFloat(inst.el.getAttribute('data-parallax-depth')) || 0;\n        var pMx = parseFloat(inst.el.style.getPropertyValue('--mx')) || 0;\n        var pMy = parseFloat(inst.el.style.getPropertyValue('--my')) || 0;\n        var parallaxX = pMx * depth;\n        var parallaxY = pMy * depth;\n        inst.el.style.transform =\n          'translate(' + (x + parallaxX).toFixed(2) + 'px,' + (y + parallaxY).toFixed(2) + 'px) rotate(' + (inst.baseRot + rotDelta).toFixed(2) + 'deg)';\n      }\n      requestAnimationFrame(frame);\n    }\n    requestAnimationFrame(frame);\n  }\n\n  // ============================================================\n  // Mobile nav toggle (hamburger menu) - direct + delegated for robustness\n  // ============================================================\n  function toggleNav(force) {\n    var open = typeof force === 'boolean' ? force : !document.body.classList.contains('nav-open');\n    document.body.classList.toggle('nav-open', open);\n    var btn = document.querySelector('[data-nav-toggle]');\n    if (btn) {\n      btn.setAttribute('aria-expanded', open ? 'true' : 'false');\n      btn.setAttribute('aria-label', open ? 'Zamknij menu' : 'Otw\u00F3rz menu');\n    }\n  }\n  function bindBurger() {\n    var burger = document.querySelector('[data-nav-toggle]');\n    if (burger && !burger.dataset.bound) {\n      burger.dataset.bound = '1';\n      burger.addEventListener('click', function (e) {\n        e.preventDefault();\n        e.stopPropagation();\n        toggleNav();\n      });\n      // Touch fallback for iOS Safari\n      burger.addEventListener('touchend', function (e) {\n        e.preventDefault();\n        toggleNav();\n      }, { passive: false });\n    }\n  }\n  bindBurger();\n  // Also delegated handler - works for nav links and any future re-renders\n  document.addEventListener('click', function (e) {\n    var btn = e.target.closest('[data-nav-toggle]');\n    if (btn) {\n      // Already handled by direct binding when possible - but ensures delegation too\n      if (!btn.dataset.bound) {\n        e.preventDefault();\n        toggleNav();\n      }\n      return;\n    }\n    // Close drawer when a nav link inside it is clicked (mobile-nav or fallback site-nav)\n    if (document.body.classList.contains('nav-open')) {\n      var link = e.target.closest('.mobile-nav a, .site-nav a');\n      if (link) { toggleNav(false); }\n    }\n  });\n  // Close drawer on Escape\n  document.addEventListener('keydown', function (e) {\n    if (e.key === 'Escape' && document.body.classList.contains('nav-open')) {\n      document.body.classList.remove('nav-open');\n      var b = document.querySelector('[data-nav-toggle]');\n      if (b) { b.setAttribute('aria-expanded', 'false'); b.setAttribute('aria-label', 'Otw\u00F3rz menu'); }\n    }\n  });\n\n  // ============================================================\n  // Back to top floating button\n  // ============================================================\n  (function setupBackToTop() {\n    var btn = document.querySelector('[data-back-to-top]');\n    if (!btn) return;\n    var threshold = 480; // px scrolled before button appears\n    var ticking = false;\n\n    function update() {\n      var y = window.pageYOffset || document.documentElement.scrollTop || 0;\n      if (y > threshold) {\n        btn.classList.add('is-visible');\n      } else {\n        btn.classList.remove('is-visible');\n      }\n      ticking = false;\n    }\n    window.addEventListener('scroll', function () {\n      if (!ticking) {\n        window.requestAnimationFrame(update);\n        ticking = true;\n      }\n    }, { passive: true });\n    update();\n\n    btn.addEventListener('click', function (e) {\n      e.preventDefault();\n      if ('scrollBehavior' in document.documentElement.style) {\n        window.scrollTo({ top: 0, behavior: 'smooth' });\n      } else {\n        window.scrollTo(0, 0);\n      }\n    });\n  })();\n\n  // ============================================================\n  // Scroll-reveal - 13g.fr / Webflow IX2 inspired\n  // Adds .in-view to .reveal, .reveal-h, .reveal-img, .stagger\n  // when ~12% of the element enters the viewport.\n  // ============================================================\n  function setupReveal() {\n    var targets = document.querySelectorAll('.reveal, .reveal-h, .reveal-img, .stagger');\n    if (!targets.length) return;\n\n    if (!('IntersectionObserver' in window)) {\n      targets.forEach(function (el) { el.classList.add('in-view'); });\n      return;\n    }\n\n    var io = new IntersectionObserver(function (entries) {\n      entries.forEach(function (entry) {\n        if (entry.isIntersecting) {\n          entry.target.classList.add('in-view');\n          io.unobserve(entry.target);\n        }\n      });\n    }, { threshold: 0.12, rootMargin: '0px 0px -8% 0px' });\n\n    targets.forEach(function (el) { io.observe(el); });\n  }\n\n  // ============================================================\n  // Counter animation - numbers count up when in view\n  // Triggers on elements with [data-counter] attribute (number final value)\n  // or on <strong> inside .review-strip / .mission__stat (auto-parses)\n  // ============================================================\n  function setupCounter() {\n    // Targets: data-counter attribute (preferred, explicit), plus legacy review-strip/mission auto-parsing\n    var dataCounterTargets = document.querySelectorAll('[data-counter]');\n    if (dataCounterTargets.length && 'IntersectionObserver' in window) {\n      var dataIo = new IntersectionObserver(function (entries) {\n        entries.forEach(function (entry) {\n          if (!entry.isIntersecting) return;\n          var el = entry.target;\n          var target = parseFloat(el.getAttribute('data-counter')) || 0;\n          var suffix = el.getAttribute('data-suffix') || '';\n          var hasDec = target % 1 !== 0;\n          var dur = 1800;\n          var start = performance.now();\n          function step(now) {\n            var t = Math.min(1, (now - start) / dur);\n            var eased = 1 - Math.pow(1 - t, 3);\n            var val = target * eased;\n            var display = hasDec\n              ? val.toFixed(1).replace('.', ',')\n              : Math.round(val).toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, ' ');\n            el.textContent = display + suffix;\n            if (t < 1) requestAnimationFrame(step);\n          }\n          requestAnimationFrame(step);\n          dataIo.unobserve(el);\n        });\n      }, { threshold: 0.3 });\n      dataCounterTargets.forEach(function (el) { dataIo.observe(el); });\n    }\n\n    var targets = document.querySelectorAll('.review-strip strong, .mission__stat strong');\n    if (!targets.length || !('IntersectionObserver' in window)) return;\n\n    var io = new IntersectionObserver(function (entries) {\n      entries.forEach(function (entry) {\n        if (!entry.isIntersecting) return;\n        var el = entry.target;\n        var raw = el.textContent.trim();\n        // Parse number from \"4.9 / 5\", \"50 000+\", \"12 lat\", etc.\n        var match = raw.match(/[\\d\\s,.]+/);\n        if (!match) { io.unobserve(el); return; }\n        var numStr = match[0].replace(/\\s/g, '').replace(',', '.');\n        var finalNum = parseFloat(numStr);\n        if (isNaN(finalNum)) { io.unobserve(el); return; }\n        var hasDecimal = /\\./.test(numStr);\n        var suffix = raw.slice(raw.indexOf(match[0]) + match[0].length);\n        var prefix = raw.slice(0, raw.indexOf(match[0]));\n\n        var duration = 1400;\n        var start = performance.now();\n\n        function formatNumber(n) {\n          if (hasDecimal) return n.toFixed(1).replace('.', ',');\n          // Format with thin spaces every 3 digits (Polish style)\n          return Math.round(n).toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, '\u00A0');\n        }\n\n        function step(now) {\n          var t = Math.min(1, (now - start) / duration);\n          // ease-out cubic\n          var eased = 1 - Math.pow(1 - t, 3);\n          var current = finalNum * eased;\n          el.textContent = prefix + formatNumber(current) + suffix;\n          if (t < 1) requestAnimationFrame(step);\n          else el.textContent = raw; // restore exact original\n        }\n\n        // Tag for tabular numbers + start\n        el.classList.add('counter');\n        requestAnimationFrame(step);\n        io.unobserve(el);\n      });\n    }, { threshold: 0.5 });\n\n    targets.forEach(function (el) { io.observe(el); });\n  }\n\n  // ============================================================\n  // Auto-decorate sections with reveal/stagger classes\n  // ============================================================\n  function decorateSections() {\n    // Section heads + lead blocks - use reveal-h (longer rise for headings)\n    document.querySelectorAll('.section-head, .science-wrap, .mission, .categories-bio__head, .contact-page__head, .newsletter__head, .footer-head').forEach(function (el) {\n      el.classList.add('reveal-h');\n    });\n    // Hero text inside hero __ subtle reveal on initial paint\n    var heroText = document.querySelector('.hero__text');\n    if (heroText) heroText.classList.add('reveal-h');\n    // Section bodies / standalone paragraphs / images\n    document.querySelectorAll('.mission__body, .science__body, .contact-page__body, .about__body, .article__body, .product-detail__body').forEach(function (el) {\n      el.classList.add('reveal');\n    });\n    // Card grids - stagger cascading reveals\n    document.querySelectorAll('.product-grid, .why-us__grid, .categories-bio__grid, .experts-grid, .pillars-bio, .mission__stats, .footer__grid, .related-grid').forEach(function (el) {\n      el.classList.add('stagger');\n    });\n    // Section media - image reveal sweep (NOT hero - that has transparent mockups, no mask)\n    document.querySelectorAll('.mission__media, .science__media, .product-card__media, .featured-bottle__media').forEach(function (el) {\n      el.classList.add('reveal-img');\n    });\n    // Review strip\n    var rs = document.querySelector('.review-strip');\n    if (rs) rs.classList.add('stagger');\n    // Newsletter wrapper\n    var nl = document.querySelector('.newsletter');\n    if (nl) nl.classList.add('reveal');\n    // Marquee + global blocks\n    document.querySelectorAll('.faq-list, .testimonials, .blog-grid, .article-list').forEach(function (el) {\n      el.classList.add('stagger');\n    });\n  }\n\n  // ============================================================\n  // Init\n  // ============================================================\n  // ============================================================\n  // 2026 - Scroll progress bar + header shrink\n  // ============================================================\n  function setupScroll() {\n    var bar = document.querySelector('.scroll-progress span');\n    var body = document.body;\n    var ticking = false;\n    function update() {\n      var st = window.scrollY || window.pageYOffset;\n      var max = (document.documentElement.scrollHeight - window.innerHeight) || 1;\n      var pct = Math.min(100, (st / max) * 100);\n      if (bar) bar.style.width = pct + '%';\n      body.classList.toggle('scrolled', st > 60);\n      ticking = false;\n    }\n    window.addEventListener('scroll', function () {\n      if (!ticking) { requestAnimationFrame(update); ticking = true; }\n    }, { passive: true });\n    update();\n  }\n\n  // ============================================================\n  // 2026 - Cursor glow in hero\n  // ============================================================\n  function setupCursorGlow() {\n    var heroes = document.querySelectorAll('[data-cursor-glow]');\n    heroes.forEach(function (h) {\n      h.addEventListener('mousemove', function (e) {\n        var rect = h.getBoundingClientRect();\n        var x = e.clientX - rect.left;\n        var y = e.clientY - rect.top;\n        h.style.setProperty('--cx', x + 'px');\n        h.style.setProperty('--cy', y + 'px');\n      });\n    });\n  }\n\n  // ============================================================\n  // 2026 - Magnetic buttons (subtle tilt toward cursor)\n  // ============================================================\n  function setupMagnetic() {\n    var btns = document.querySelectorAll('[data-magnetic]');\n    btns.forEach(function (btn) {\n      btn.addEventListener('mousemove', function (e) {\n        var rect = btn.getBoundingClientRect();\n        var cx = rect.left + rect.width / 2;\n        var cy = rect.top + rect.height / 2;\n        var dx = (e.clientX - cx) * 0.25;\n        var dy = (e.clientY - cy) * 0.25;\n        btn.style.setProperty('--mx', dx + 'px');\n        btn.style.setProperty('--my', dy + 'px');\n      });\n      btn.addEventListener('mouseleave', function () {\n        btn.style.setProperty('--mx', '0px');\n        btn.style.setProperty('--my', '0px');\n      });\n    });\n  }\n\n  // ============================================================\n  // HERO WOW - title word entrance + glitch + particles + mouse parallax\n  // ============================================================\n  function setupHeroWow() {\n    var hero = document.querySelector('.hero--wow');\n    if (!hero) return;\n\n    // -- Title word-split entrance (each word slides up cascade) --\n    var title = hero.querySelector('[data-hero-title]');\n    if (title && !title.dataset.split) {\n      var html = title.innerHTML;\n      var tokens = html.match(/(<[^>]+>|[^<\\s]+)/g) || [];\n      var out = '';\n      var wIdx = 0;\n      tokens.forEach(function (tok) {\n        if (tok.charAt(0) === '<') {\n          out += tok;\n        } else {\n          var delay = (wIdx * 0.11).toFixed(2);\n          out += '<span class=\"word\"><span style=\"animation-delay:' + delay + 's\">' + tok + '</span></span> ';\n          wIdx++;\n        }\n      });\n      title.innerHTML = out.trim();\n      title.dataset.split = '1';\n    }\n\n    // -- Floating particles drifting upward --\n    var particleWrap = hero.querySelector('[data-hero-particles]');\n    if (particleWrap && !particleWrap.children.length) {\n      var count = window.innerWidth < 768 ? 8 : 18;\n      for (var i = 0; i < count; i++) {\n        var p = document.createElement('span');\n        var pxv = Math.round(Math.random() * 100);\n        var drift = Math.round((Math.random() - 0.5) * 140);\n        var delay = (Math.random() * 14).toFixed(2);\n        var dur = (10 + Math.random() * 12).toFixed(2);\n        var sz = (2 + Math.random() * 4).toFixed(1);\n        p.style.left = pxv + '%';\n        p.style.width = sz + 'px';\n        p.style.height = sz + 'px';\n        p.style.setProperty('--drift', drift + 'px');\n        p.style.animationDelay = delay + 's';\n        p.style.animationDuration = dur + 's';\n        particleWrap.appendChild(p);\n      }\n    }\n\n    // -- Counter animation for hero stats --\n    var statCounters = hero.querySelectorAll('.hero__stats [data-counter]');\n    statCounters.forEach(function (el) {\n      var target = parseFloat(el.getAttribute('data-counter')) || 0;\n      var suffix = el.getAttribute('data-suffix') || '';\n      var hasDec = target % 1 !== 0;\n      var dur = 1800;\n      var start = performance.now();\n      function step(now) {\n        var t = Math.min(1, (now - start) / dur);\n        var eased = 1 - Math.pow(1 - t, 3);\n        var val = target * eased;\n        var display = hasDec ? val.toFixed(1).replace('.', ',') : Math.round(val).toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, ' ');\n        el.textContent = display + suffix;\n        if (t < 1) requestAnimationFrame(step);\n      }\n      requestAnimationFrame(step);\n    });\n\n    // -- Mouse parallax on hero (capsules drift toward cursor) --\n    var capsules = hero.querySelectorAll('.capsule[data-parallax-depth]');\n    if (capsules.length) {\n      capsules.forEach(function (el) {\n        el.style.setProperty('--depth', el.getAttribute('data-parallax-depth') || 0.05);\n      });\n      var mx = 0, my = 0, tmx = 0, tmy = 0;\n      hero.addEventListener('mousemove', function (e) {\n        var rect = hero.getBoundingClientRect();\n        tmx = (e.clientX - rect.left - rect.width / 2);\n        tmy = (e.clientY - rect.top - rect.height / 2);\n      });\n      hero.addEventListener('mouseleave', function () {\n        tmx = 0; tmy = 0;\n      });\n      function tick() {\n        mx += (tmx - mx) * 0.08;\n        my += (tmy - my) * 0.08;\n        capsules.forEach(function (el) {\n          el.style.setProperty('--mx', mx.toFixed(2));\n          el.style.setProperty('--my', my.toFixed(2));\n        });\n        requestAnimationFrame(tick);\n      }\n      requestAnimationFrame(tick);\n    }\n\n    // -- Scroll hint fades out once user scrolls --\n    var hint = hero.querySelector('.hero__scroll-hint');\n    if (hint) {\n      var hidden = false;\n      window.addEventListener('scroll', function () {\n        if (hidden) return;\n        if ((window.scrollY || window.pageYOffset) > 80) {\n          hint.style.transition = 'opacity .5s ease';\n          hint.style.opacity = '0';\n          hidden = true;\n          setTimeout(function () { hint.remove(); }, 600);\n        }\n      }, { passive: true });\n    }\n  }\n\n  // ============================================================\n  // Predictive search overlay (header magnifier)\n  // ============================================================\n  function setupSearch() {\n    var panel = document.querySelector('[data-search-panel]');\n    if (!panel) return;\n    var input = panel.querySelector('[data-search-input]');\n    var results = panel.querySelector('[data-search-results]');\n    var form = panel.querySelector('.search-overlay__form');\n    var toggles = document.querySelectorAll('[data-search-toggle]');\n    var endpoint = (window.shopUrls && window.shopUrls.predictiveSearch) || '/search/suggest';\n    var HINT = '<p class=\"search-overlay__hint\">Wpisz nazw\u0119 peptydu lub suplementu.</p>';\n\n    function open(e) {\n      if (e) { e.preventDefault(); }\n      document.body.classList.add('search-open');\n      panel.setAttribute('aria-hidden', 'false');\n      toggles.forEach(function (t) { t.setAttribute('aria-expanded', 'true'); });\n      setTimeout(function () { if (input) input.focus(); }, 60);\n    }\n    function close() {\n      document.body.classList.remove('search-open');\n      panel.setAttribute('aria-hidden', 'true');\n      toggles.forEach(function (t) { t.setAttribute('aria-expanded', 'false'); });\n    }\n\n    toggles.forEach(function (t) { t.addEventListener('click', open); });\n    panel.querySelectorAll('[data-search-close]').forEach(function (c) {\n      c.addEventListener('click', close);\n    });\n    document.addEventListener('keydown', function (e) {\n      if (e.key === 'Escape' && document.body.classList.contains('search-open')) { close(); }\n    });\n\n    function esc(s) {\n      return String(s).replace(/[&<>\"']/g, function (c) {\n        return ({ '&': '&amp;', '<': '&lt;', '>': '&gt;', '\"': '&quot;', \"'\": '&#39;' })[c];\n      });\n    }\n    function handleFromUrl(u) {\n      try { return decodeURIComponent((u.split('/products/')[1] || '').split('?')[0].split('#')[0]); }\n      catch (e) { return ''; }\n    }\n\n    function render(products, term) {\n      if (!products.length) {\n        results.innerHTML = '<p class=\"search-overlay__hint\">Brak wynik\u00F3w dla \u201E' + esc(term) + '\u201D.</p>';\n        return;\n      }\n      var html = '<ul class=\"search-suggest\">';\n      products.forEach(function (p) {\n        var h = handleFromUrl(p.url);\n        var img = (window.nssImg && window.nssImg[h]) || p.image || '';\n        var thumb = img ? '<img src=\"' + esc(img) + '\" alt=\"\" loading=\"lazy\">' : '<span class=\"search-suggest__ph\"></span>';\n        var isSupp = h.indexOf('nss-') === 0;\n        var tag = isSupp ? 'Suplement NSS' : 'Odczynnik RUO';\n        html += '<li class=\"search-suggest__item\"><a href=\"' + esc(p.url) + '\">' +\n          '<span class=\"search-suggest__thumb\">' + thumb + '</span>' +\n          '<span class=\"search-suggest__meta\"><span class=\"search-suggest__title\">' + esc(p.title) + '</span>' +\n          '<span class=\"search-suggest__tag' + (isSupp ? '' : ' search-suggest__tag--ruo') + '\">' + tag + '</span></span>' +\n          '<svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M5 12h14M13 6l6 6-6 6\"/></svg>' +\n          '</a></li>';\n      });\n      html += '</ul>';\n      html += '<a class=\"search-overlay__all\" href=\"/search?q=' + encodeURIComponent(term) + '&type=product\">Poka\u017C wszystkie wyniki dla \u201E' + esc(term) + '\u201D</a>';\n      results.innerHTML = html;\n    }\n\n    var timer = null, lastTerm = '';\n    function query(term) {\n      var url = endpoint + '.json?q=' + encodeURIComponent(term) +\n        '&resources[type]=product&resources[limit]=6';\n      fetch(url, { headers: { Accept: 'application/json' } })\n        .then(function (r) { return r.json(); })\n        .then(function (data) {\n          if (term !== lastTerm) { return; }\n          var products = (data && data.resources && data.resources.results && data.resources.results.products) || [];\n          render(products, term);\n        })\n        .catch(function () {\n          results.innerHTML = '<p class=\"search-overlay__hint\">Wyszukiwanie chwilowo niedost\u0119pne.</p>';\n        });\n    }\n\n    if (input) {\n      input.addEventListener('input', function () {\n        var term = input.value.trim();\n        lastTerm = term;\n        if (timer) { clearTimeout(timer); }\n        if (term.length < 2) { results.innerHTML = HINT; return; }\n        results.innerHTML = '<p class=\"search-overlay__hint\">Szukam\u2026</p>';\n        timer = setTimeout(function () { query(term); }, 180);\n      });\n    }\n    if (form) {\n      form.addEventListener('submit', function (e) {\n        var term = (input && input.value.trim()) || '';\n        if (!term) { e.preventDefault(); }\n      });\n    }\n  }\n\n  function init() {\n    decorateSections();\n    setupReveal();\n    setupCounter();\n    startCapsuleFloat();\n    setupScroll();\n    setupCursorGlow();\n    setupMagnetic();\n    setupHeroWow();\n    setupSearch();\n    setupFooterAccordion();\n    setupHeroMotion();\n  }\n\n  // ============================================================\n  // Hero motion: cinematic Ken Burns (slow zoom + drift) + mouse\n  // parallax on the hero background image. JS-driven so Chrome on\n  // Windows (which forces prefers-reduced-motion onto CSS animations)\n  // can't kill it. Subtle and GPU-friendly (transform only).\n  // ============================================================\n  function setupHeroMotion() {\n    var bg = document.querySelector('.hero--image .hero__bg-img');\n    if (!bg) return;\n    var hero = document.querySelector('.hero--image');\n    bg.style.willChange = 'transform';\n    bg.style.transformOrigin = '60% 50%';\n\n    var tmx = 0, tmy = 0, mx = 0, my = 0;\n    if (hero && window.matchMedia('(pointer:fine)').matches) {\n      hero.addEventListener('mousemove', function (e) {\n        var r = hero.getBoundingClientRect();\n        tmx = (e.clientX - r.left) / r.width - 0.5;\n        tmy = (e.clientY - r.top) / r.height - 0.5;\n      });\n      hero.addEventListener('mouseleave', function () { tmx = 0; tmy = 0; });\n    }\n\n    var start = performance.now();\n    function frame(now) {\n      var t = (now - start) / 1000;\n      var zoom = 1.085 + Math.sin(t * 0.16) * 0.028;       // breathe 1.057..1.113\n      var driftX = Math.sin(t * 0.12) * 1.3;               // % slow drift\n      var driftY = Math.cos(t * 0.10) * 1.0;\n      mx += (tmx - mx) * 0.05;                              // eased mouse follow\n      my += (tmy - my) * 0.05;\n      var px = mx * 2.4, py = my * 1.8;                    // parallax amount\n      bg.style.transform = 'scale(' + zoom.toFixed(4) + ') translate(' +\n        (driftX + px).toFixed(2) + '%,' + (driftY + py).toFixed(2) + '%)';\n      requestAnimationFrame(frame);\n    }\n    requestAnimationFrame(frame);\n  }\n\n  // ============================================================\n  // Footer accordion: collapsed on phone, open columns on desktop.\n  // Belt-and-suspenders so the footer never shows headings-only.\n  // ============================================================\n  function setupFooterAccordion() {\n    var cols = document.querySelectorAll('details.site-footer__col');\n    if (!cols.length) return;\n    function apply() {\n      var desktop = window.innerWidth >= 768;\n      cols.forEach(function (d) { d.open = desktop; });\n    }\n    apply();\n    var t;\n    window.addEventListener('resize', function () {\n      clearTimeout(t);\n      t = setTimeout(apply, 150);\n    }, { passive: true });\n  }\n\n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', init);\n  } else {\n    init();\n  }\n})();\n"],
  "mappings": "CAEC,UAAY,CACX,aAKA,SAAS,iBAAiB,QAAS,SAAU,EAAG,CAC9C,IAAI,IAAM,EAAE,OAAO,QAAQ,YAAY,EACvC,GAAK,IACL,KAAI,IAAM,IAAI,aAAa,UAAU,EACjC,MAAQ,IAAI,cAAc,cAAc,sBAAsB,EAClE,GAAK,MACL,KAAI,IAAM,SAAS,MAAM,MAAO,EAAE,GAAK,EACvC,IAAM,MAAQ,IAAM,IAAM,EAAI,KAAK,IAAI,EAAG,IAAM,CAAC,EACjD,MAAM,MAAQ,IACd,MAAM,cAAc,IAAI,MAAM,SAAU,CAAE,QAAS,EAAK,CAAC,CAAC,GAC5D,CAAC,EAKD,SAAS,iBAAiB,QAAS,SAAU,EAAG,CAC9C,IAAI,GAAK,EAAE,OAAO,QAAQ,oBAAoB,EAC9C,GAAK,GACL,GAAE,eAAe,EACjB,IAAI,KAAO,GAAG,aAAa,kBAAkB,EAC7C,MAAM,OAAO,SAAS,WAAY,CAChC,OAAQ,OACR,QAAS,CAAE,eAAgB,mBAAoB,OAAQ,kBAAmB,EAC1E,KAAM,KAAK,UAAU,CAAE,KAAM,OAAO,IAAI,EAAG,SAAU,CAAE,CAAC,CAC1D,CAAC,EAAE,KAAK,UAAY,CAAE,OAAO,SAAS,OAAO,CAAG,CAAC,EACnD,CAAC,EAKD,SAAS,gBAAgB,UAAU,IAAI,WAAW,EAMlD,SAAS,mBAAoB,CAC3B,IAAI,SAAW,SAAS,iBAAiB,UAAU,EACnD,GAAI,CAAC,SAAS,OAAQ,OAGtB,IAAI,UAAY,MAAM,UAAU,IAAI,KAAK,SAAU,SAAU,GAAI,EAAG,CAClE,IAAI,OAAS,GAAG,MAAM,iBAAiB,OAAO,GAAK,OAC/C,OAAS,WAAW,MAAM,EAE9B,MAAO,CACL,GAAI,GACJ,QAAS,OACT,MAAO,EAAI,IACX,KAAM,KAAQ,EAAI,IAAO,IACzB,KAAM,KAAQ,EAAI,KAAQ,KAC1B,OAAQ,IAAQ,EAAI,IAAO,KAC3B,KAAM,GAAM,EAAI,EAAK,EACrB,KAAM,GAAM,EAAI,EAAK,EACrB,OAAQ,GAAM,EAAI,EAAK,CACzB,CACF,CAAC,EAGD,UAAU,QAAQ,SAAU,KAAM,CAChC,KAAK,GAAG,MAAM,UAAY,MAC5B,CAAC,EAED,IAAI,UAAY,YAAY,IAAI,EAChC,SAAS,MAAM,IAAK,CAElB,QADI,EAAI,IAAM,UACL,EAAI,EAAG,EAAI,UAAU,OAAQ,IAAK,CACzC,IAAI,KAAO,UAAU,CAAC,EAClB,MAAQ,KAAK,MAAQ,IACrB,EAAI,KAAK,KAAK,EAAI,OAAS,KAAK,KAAO,KAAK,GAAK,CAAC,EAAI,KAAK,KAC3D,EAAI,KAAK,KAAK,EAAI,MAAQ,KAAO,KAAK,KAAO,KAAK,GAAK,CAAC,EAAI,KAAK,KAAO,KAAK,KAAO,GACpF,SAAW,KAAK,KAAK,EAAI,MAAQ,IAAO,KAAK,OAAS,KAAK,GAAK,CAAC,EAAI,KAAK,OAE1E,MAAQ,WAAW,KAAK,GAAG,aAAa,qBAAqB,CAAC,GAAK,EACnE,IAAM,WAAW,KAAK,GAAG,MAAM,iBAAiB,MAAM,CAAC,GAAK,EAC5D,IAAM,WAAW,KAAK,GAAG,MAAM,iBAAiB,MAAM,CAAC,GAAK,EAC5D,UAAY,IAAM,MAClB,UAAY,IAAM,MACtB,KAAK,GAAG,MAAM,UACZ,cAAgB,EAAI,WAAW,QAAQ,CAAC,EAAI,OAAS,EAAI,WAAW,QAAQ,CAAC,EAAI,eAAiB,KAAK,QAAU,UAAU,QAAQ,CAAC,EAAI,MAC5I,CACA,sBAAsB,KAAK,CAC7B,CACA,sBAAsB,KAAK,CAC7B,CAKA,SAAS,UAAU,MAAO,CACxB,IAAI,KAAO,OAAO,OAAU,UAAY,MAAQ,CAAC,SAAS,KAAK,UAAU,SAAS,UAAU,EAC5F,SAAS,KAAK,UAAU,OAAO,WAAY,IAAI,EAC/C,IAAI,IAAM,SAAS,cAAc,mBAAmB,EAChD,MACF,IAAI,aAAa,gBAAiB,KAAO,OAAS,OAAO,EACzD,IAAI,aAAa,aAAc,KAAO,eAAiB,gBAAa,EAExE,CACA,SAAS,YAAa,CACpB,IAAI,OAAS,SAAS,cAAc,mBAAmB,EACnD,QAAU,CAAC,OAAO,QAAQ,QAC5B,OAAO,QAAQ,MAAQ,IACvB,OAAO,iBAAiB,QAAS,SAAU,EAAG,CAC5C,EAAE,eAAe,EACjB,EAAE,gBAAgB,EAClB,UAAU,CACZ,CAAC,EAED,OAAO,iBAAiB,WAAY,SAAU,EAAG,CAC/C,EAAE,eAAe,EACjB,UAAU,CACZ,EAAG,CAAE,QAAS,EAAM,CAAC,EAEzB,CACA,WAAW,EAEX,SAAS,iBAAiB,QAAS,SAAU,EAAG,CAC9C,IAAI,IAAM,EAAE,OAAO,QAAQ,mBAAmB,EAC9C,GAAI,IAAK,CAEF,IAAI,QAAQ,QACf,EAAE,eAAe,EACjB,UAAU,GAEZ,MACF,CAEA,GAAI,SAAS,KAAK,UAAU,SAAS,UAAU,EAAG,CAChD,IAAI,KAAO,EAAE,OAAO,QAAQ,4BAA4B,EACpD,MAAQ,UAAU,EAAK,CAC7B,CACF,CAAC,EAED,SAAS,iBAAiB,UAAW,SAAU,EAAG,CAChD,GAAI,EAAE,MAAQ,UAAY,SAAS,KAAK,UAAU,SAAS,UAAU,EAAG,CACtE,SAAS,KAAK,UAAU,OAAO,UAAU,EACzC,IAAI,EAAI,SAAS,cAAc,mBAAmB,EAC9C,IAAK,EAAE,aAAa,gBAAiB,OAAO,EAAG,EAAE,aAAa,aAAc,gBAAa,EAC/F,CACF,CAAC,GAKA,UAA0B,CACzB,IAAI,IAAM,SAAS,cAAc,oBAAoB,EACrD,GAAI,CAAC,IAAK,OACV,IAAI,UAAY,IACZ,QAAU,GAEd,SAAS,QAAS,CAChB,IAAI,EAAI,OAAO,aAAe,SAAS,gBAAgB,WAAa,EAChE,EAAI,UACN,IAAI,UAAU,IAAI,YAAY,EAE9B,IAAI,UAAU,OAAO,YAAY,EAEnC,QAAU,EACZ,CACA,OAAO,iBAAiB,SAAU,UAAY,CACvC,UACH,OAAO,sBAAsB,MAAM,EACnC,QAAU,GAEd,EAAG,CAAE,QAAS,EAAK,CAAC,EACpB,OAAO,EAEP,IAAI,iBAAiB,QAAS,SAAU,EAAG,CACzC,EAAE,eAAe,EACb,mBAAoB,SAAS,gBAAgB,MAC/C,OAAO,SAAS,CAAE,IAAK,EAAG,SAAU,QAAS,CAAC,EAE9C,OAAO,SAAS,EAAG,CAAC,CAExB,CAAC,CACH,GAAG,EAOH,SAAS,aAAc,CACrB,IAAI,QAAU,SAAS,iBAAiB,2CAA2C,EACnF,GAAK,QAAQ,OAEb,IAAI,EAAE,yBAA0B,QAAS,CACvC,QAAQ,QAAQ,SAAU,GAAI,CAAE,GAAG,UAAU,IAAI,SAAS,CAAG,CAAC,EAC9D,MACF,CAEA,IAAI,GAAK,IAAI,qBAAqB,SAAU,QAAS,CACnD,QAAQ,QAAQ,SAAU,MAAO,CAC3B,MAAM,iBACR,MAAM,OAAO,UAAU,IAAI,SAAS,EACpC,GAAG,UAAU,MAAM,MAAM,EAE7B,CAAC,CACH,EAAG,CAAE,UAAW,IAAM,WAAY,iBAAkB,CAAC,EAErD,QAAQ,QAAQ,SAAU,GAAI,CAAE,GAAG,QAAQ,EAAE,CAAG,CAAC,EACnD,CAOA,SAAS,cAAe,CAEtB,IAAI,mBAAqB,SAAS,iBAAiB,gBAAgB,EACnE,GAAI,mBAAmB,QAAU,yBAA0B,OAAQ,CACjE,IAAI,OAAS,IAAI,qBAAqB,SAAU,QAAS,CACvD,QAAQ,QAAQ,SAAU,MAAO,CAC/B,GAAI,CAAC,MAAM,eAAgB,OAC3B,IAAI,GAAK,MAAM,OACX,OAAS,WAAW,GAAG,aAAa,cAAc,CAAC,GAAK,EACxD,OAAS,GAAG,aAAa,aAAa,GAAK,GAC3C,OAAS,OAAS,IAAM,EACxB,IAAM,KACN,MAAQ,YAAY,IAAI,EAC5B,SAAS,KAAK,IAAK,CACjB,IAAI,EAAI,KAAK,IAAI,GAAI,IAAM,OAAS,GAAG,EACnC,MAAQ,EAAI,KAAK,IAAI,EAAI,EAAG,CAAC,EAC7B,IAAM,OAAS,MACf,QAAU,OACV,IAAI,QAAQ,CAAC,EAAE,QAAQ,IAAK,GAAG,EAC/B,KAAK,MAAM,GAAG,EAAE,SAAS,EAAE,QAAQ,wBAAyB,GAAG,EACnE,GAAG,YAAc,QAAU,OACvB,EAAI,GAAG,sBAAsB,IAAI,CACvC,CACA,sBAAsB,IAAI,EAC1B,OAAO,UAAU,EAAE,CACrB,CAAC,CACH,EAAG,CAAE,UAAW,EAAI,CAAC,EACrB,mBAAmB,QAAQ,SAAU,GAAI,CAAE,OAAO,QAAQ,EAAE,CAAG,CAAC,CAClE,CAEA,IAAI,QAAU,SAAS,iBAAiB,6CAA6C,EACrF,GAAI,GAAC,QAAQ,QAAU,EAAE,yBAA0B,SAEnD,KAAI,GAAK,IAAI,qBAAqB,SAAU,QAAS,CACnD,QAAQ,QAAQ,SAAU,MAAO,CAC/B,GAAI,CAAC,MAAM,eAAgB,OAC3B,IAAI,GAAK,MAAM,OACX,IAAM,GAAG,YAAY,KAAK,EAE1B,MAAQ,IAAI,MAAM,WAAW,EACjC,GAAI,CAAC,MAAO,CAAE,GAAG,UAAU,EAAE,EAAG,MAAQ,CACxC,IAAI,OAAS,MAAM,CAAC,EAAE,QAAQ,MAAO,EAAE,EAAE,QAAQ,IAAK,GAAG,EACrD,SAAW,WAAW,MAAM,EAChC,GAAI,MAAM,QAAQ,EAAG,CAAE,GAAG,UAAU,EAAE,EAAG,MAAQ,CACjD,IAAI,WAAa,KAAK,KAAK,MAAM,EAC7B,OAAS,IAAI,MAAM,IAAI,QAAQ,MAAM,CAAC,CAAC,EAAI,MAAM,CAAC,EAAE,MAAM,EAC1D,OAAS,IAAI,MAAM,EAAG,IAAI,QAAQ,MAAM,CAAC,CAAC,CAAC,EAE3C,SAAW,KACX,MAAQ,YAAY,IAAI,EAE5B,SAAS,aAAa,EAAG,CACvB,OAAI,WAAmB,EAAE,QAAQ,CAAC,EAAE,QAAQ,IAAK,GAAG,EAE7C,KAAK,MAAM,CAAC,EAAE,SAAS,EAAE,QAAQ,wBAAyB,MAAG,CACtE,CAEA,SAAS,KAAK,IAAK,CACjB,IAAI,EAAI,KAAK,IAAI,GAAI,IAAM,OAAS,QAAQ,EAExC,MAAQ,EAAI,KAAK,IAAI,EAAI,EAAG,CAAC,EAC7B,QAAU,SAAW,MACzB,GAAG,YAAc,OAAS,aAAa,OAAO,EAAI,OAC9C,EAAI,EAAG,sBAAsB,IAAI,EAChC,GAAG,YAAc,GACxB,CAGA,GAAG,UAAU,IAAI,SAAS,EAC1B,sBAAsB,IAAI,EAC1B,GAAG,UAAU,EAAE,CACjB,CAAC,CACH,EAAG,CAAE,UAAW,EAAI,CAAC,EAErB,QAAQ,QAAQ,SAAU,GAAI,CAAE,GAAG,QAAQ,EAAE,CAAG,CAAC,EACnD,CAKA,SAAS,kBAAmB,CAE1B,SAAS,iBAAiB,qHAAqH,EAAE,QAAQ,SAAU,GAAI,CACrK,GAAG,UAAU,IAAI,UAAU,CAC7B,CAAC,EAED,IAAI,SAAW,SAAS,cAAc,aAAa,EAC/C,UAAU,SAAS,UAAU,IAAI,UAAU,EAE/C,SAAS,iBAAiB,0GAA0G,EAAE,QAAQ,SAAU,GAAI,CAC1J,GAAG,UAAU,IAAI,QAAQ,CAC3B,CAAC,EAED,SAAS,iBAAiB,iIAAiI,EAAE,QAAQ,SAAU,GAAI,CACjL,GAAG,UAAU,IAAI,SAAS,CAC5B,CAAC,EAED,SAAS,iBAAiB,iFAAiF,EAAE,QAAQ,SAAU,GAAI,CACjI,GAAG,UAAU,IAAI,YAAY,CAC/B,CAAC,EAED,IAAI,GAAK,SAAS,cAAc,eAAe,EAC3C,IAAI,GAAG,UAAU,IAAI,SAAS,EAElC,IAAI,GAAK,SAAS,cAAc,aAAa,EACzC,IAAI,GAAG,UAAU,IAAI,QAAQ,EAEjC,SAAS,iBAAiB,qDAAqD,EAAE,QAAQ,SAAU,GAAI,CACrG,GAAG,UAAU,IAAI,SAAS,CAC5B,CAAC,CACH,CAQA,SAAS,aAAc,CACrB,IAAI,IAAM,SAAS,cAAc,uBAAuB,EACpD,KAAO,SAAS,KAChB,QAAU,GACd,SAAS,QAAS,CAChB,IAAI,GAAK,OAAO,SAAW,OAAO,YAC9B,IAAO,SAAS,gBAAgB,aAAe,OAAO,aAAgB,EACtE,IAAM,KAAK,IAAI,IAAM,GAAK,IAAO,GAAG,EACpC,MAAK,IAAI,MAAM,MAAQ,IAAM,KACjC,KAAK,UAAU,OAAO,WAAY,GAAK,EAAE,EACzC,QAAU,EACZ,CACA,OAAO,iBAAiB,SAAU,UAAY,CACvC,UAAW,sBAAsB,MAAM,EAAG,QAAU,GAC3D,EAAG,CAAE,QAAS,EAAK,CAAC,EACpB,OAAO,CACT,CAKA,SAAS,iBAAkB,CACzB,IAAI,OAAS,SAAS,iBAAiB,oBAAoB,EAC3D,OAAO,QAAQ,SAAU,EAAG,CAC1B,EAAE,iBAAiB,YAAa,SAAU,EAAG,CAC3C,IAAI,KAAO,EAAE,sBAAsB,EAC/B,EAAI,EAAE,QAAU,KAAK,KACrB,EAAI,EAAE,QAAU,KAAK,IACzB,EAAE,MAAM,YAAY,OAAQ,EAAI,IAAI,EACpC,EAAE,MAAM,YAAY,OAAQ,EAAI,IAAI,CACtC,CAAC,CACH,CAAC,CACH,CAKA,SAAS,eAAgB,CACvB,IAAI,KAAO,SAAS,iBAAiB,iBAAiB,EACtD,KAAK,QAAQ,SAAU,IAAK,CAC1B,IAAI,iBAAiB,YAAa,SAAU,EAAG,CAC7C,IAAI,KAAO,IAAI,sBAAsB,EACjC,GAAK,KAAK,KAAO,KAAK,MAAQ,EAC9B,GAAK,KAAK,IAAM,KAAK,OAAS,EAC9B,IAAM,EAAE,QAAU,IAAM,IACxB,IAAM,EAAE,QAAU,IAAM,IAC5B,IAAI,MAAM,YAAY,OAAQ,GAAK,IAAI,EACvC,IAAI,MAAM,YAAY,OAAQ,GAAK,IAAI,CACzC,CAAC,EACD,IAAI,iBAAiB,aAAc,UAAY,CAC7C,IAAI,MAAM,YAAY,OAAQ,KAAK,EACnC,IAAI,MAAM,YAAY,OAAQ,KAAK,CACrC,CAAC,CACH,CAAC,CACH,CAKA,SAAS,cAAe,CACtB,IAAI,KAAO,SAAS,cAAc,YAAY,EAC9C,GAAK,KAGL,KAAI,MAAQ,KAAK,cAAc,mBAAmB,EAClD,GAAI,OAAS,CAAC,MAAM,QAAQ,MAAO,CACjC,IAAI,KAAO,MAAM,UACb,OAAS,KAAK,MAAM,oBAAoB,GAAK,CAAC,EAC9C,IAAM,GACN,KAAO,EACX,OAAO,QAAQ,SAAU,IAAK,CAC5B,GAAI,IAAI,OAAO,CAAC,IAAM,IACpB,KAAO,QACF,CACL,IAAIA,QAAS,KAAO,KAAM,QAAQ,CAAC,EACnC,KAAO,mDAAqDA,OAAQ,MAAQ,IAAM,kBAClF,MACF,CACF,CAAC,EACD,MAAM,UAAY,IAAI,KAAK,EAC3B,MAAM,QAAQ,MAAQ,GACxB,CAGA,IAAI,aAAe,KAAK,cAAc,uBAAuB,EAC7D,GAAI,cAAgB,CAAC,aAAa,SAAS,OAEzC,QADI,MAAQ,OAAO,WAAa,IAAM,EAAI,GACjC,EAAI,EAAG,EAAI,MAAO,IAAK,CAC9B,IAAI,EAAI,SAAS,cAAc,MAAM,EACjC,IAAM,KAAK,MAAM,KAAK,OAAO,EAAI,GAAG,EACpC,MAAQ,KAAK,OAAO,KAAK,OAAO,EAAI,IAAO,GAAG,EAC9C,OAAS,KAAK,OAAO,EAAI,IAAI,QAAQ,CAAC,EACtC,KAAO,GAAK,KAAK,OAAO,EAAI,IAAI,QAAQ,CAAC,EACzC,IAAM,EAAI,KAAK,OAAO,EAAI,GAAG,QAAQ,CAAC,EAC1C,EAAE,MAAM,KAAO,IAAM,IACrB,EAAE,MAAM,MAAQ,GAAK,KACrB,EAAE,MAAM,OAAS,GAAK,KACtB,EAAE,MAAM,YAAY,UAAW,MAAQ,IAAI,EAC3C,EAAE,MAAM,eAAiB,MAAQ,IACjC,EAAE,MAAM,kBAAoB,IAAM,IAClC,aAAa,YAAY,CAAC,CAC5B,CAIF,IAAI,aAAe,KAAK,iBAAiB,6BAA6B,EACtE,aAAa,QAAQ,SAAU,GAAI,CACjC,IAAI,OAAS,WAAW,GAAG,aAAa,cAAc,CAAC,GAAK,EACxD,OAAS,GAAG,aAAa,aAAa,GAAK,GAC3C,OAAS,OAAS,IAAM,EACxBC,KAAM,KACN,MAAQ,YAAY,IAAI,EAC5B,SAAS,KAAK,IAAK,CACjB,IAAI,EAAI,KAAK,IAAI,GAAI,IAAM,OAASA,IAAG,EACnC,MAAQ,EAAI,KAAK,IAAI,EAAI,EAAG,CAAC,EAC7B,IAAM,OAAS,MACf,QAAU,OAAS,IAAI,QAAQ,CAAC,EAAE,QAAQ,IAAK,GAAG,EAAI,KAAK,MAAM,GAAG,EAAE,SAAS,EAAE,QAAQ,wBAAyB,GAAG,EACzH,GAAG,YAAc,QAAU,OACvB,EAAI,GAAG,sBAAsB,IAAI,CACvC,CACA,sBAAsB,IAAI,CAC5B,CAAC,EAGD,IAAI,SAAW,KAAK,iBAAiB,+BAA+B,EACpE,GAAI,SAAS,OAAQ,CAanB,IAAS,KAAT,UAAgB,CACd,KAAO,IAAM,IAAM,IACnB,KAAO,IAAM,IAAM,IACnB,SAAS,QAAQ,SAAU,GAAI,CAC7B,GAAG,MAAM,YAAY,OAAQ,GAAG,QAAQ,CAAC,CAAC,EAC1C,GAAG,MAAM,YAAY,OAAQ,GAAG,QAAQ,CAAC,CAAC,CAC5C,CAAC,EACD,sBAAsB,IAAI,CAC5B,EApBA,SAAS,QAAQ,SAAU,GAAI,CAC7B,GAAG,MAAM,YAAY,UAAW,GAAG,aAAa,qBAAqB,GAAK,GAAI,CAChF,CAAC,EACD,IAAI,GAAK,EAAG,GAAK,EAAG,IAAM,EAAG,IAAM,EACnC,KAAK,iBAAiB,YAAa,SAAU,EAAG,CAC9C,IAAI,KAAO,KAAK,sBAAsB,EACtC,IAAO,EAAE,QAAU,KAAK,KAAO,KAAK,MAAQ,EAC5C,IAAO,EAAE,QAAU,KAAK,IAAM,KAAK,OAAS,CAC9C,CAAC,EACD,KAAK,iBAAiB,aAAc,UAAY,CAC9C,IAAM,EAAG,IAAM,CACjB,CAAC,EAUD,sBAAsB,IAAI,CAC5B,CAGA,IAAI,KAAO,KAAK,cAAc,oBAAoB,EAClD,GAAI,KAAM,CACR,IAAI,OAAS,GACb,OAAO,iBAAiB,SAAU,UAAY,CACxC,SACC,OAAO,SAAW,OAAO,aAAe,KAC3C,KAAK,MAAM,WAAa,mBACxB,KAAK,MAAM,QAAU,IACrB,OAAS,GACT,WAAW,UAAY,CAAE,KAAK,OAAO,CAAG,EAAG,GAAG,EAElD,EAAG,CAAE,QAAS,EAAK,CAAC,CACtB,EACF,CAKA,SAAS,aAAc,CACrB,IAAI,MAAQ,SAAS,cAAc,qBAAqB,EACxD,GAAI,CAAC,MAAO,OACZ,IAAI,MAAQ,MAAM,cAAc,qBAAqB,EACjD,QAAU,MAAM,cAAc,uBAAuB,EACrD,KAAO,MAAM,cAAc,uBAAuB,EAClD,QAAU,SAAS,iBAAiB,sBAAsB,EAC1D,SAAY,OAAO,UAAY,OAAO,SAAS,kBAAqB,kBACpE,KAAO,+EAEX,SAAS,KAAK,EAAG,CACX,GAAK,EAAE,eAAe,EAC1B,SAAS,KAAK,UAAU,IAAI,aAAa,EACzC,MAAM,aAAa,cAAe,OAAO,EACzC,QAAQ,QAAQ,SAAU,EAAG,CAAE,EAAE,aAAa,gBAAiB,MAAM,CAAG,CAAC,EACzE,WAAW,UAAY,CAAM,OAAO,MAAM,MAAM,CAAG,EAAG,EAAE,CAC1D,CACA,SAAS,OAAQ,CACf,SAAS,KAAK,UAAU,OAAO,aAAa,EAC5C,MAAM,aAAa,cAAe,MAAM,EACxC,QAAQ,QAAQ,SAAU,EAAG,CAAE,EAAE,aAAa,gBAAiB,OAAO,CAAG,CAAC,CAC5E,CAEA,QAAQ,QAAQ,SAAU,EAAG,CAAE,EAAE,iBAAiB,QAAS,IAAI,CAAG,CAAC,EACnE,MAAM,iBAAiB,qBAAqB,EAAE,QAAQ,SAAU,EAAG,CACjE,EAAE,iBAAiB,QAAS,KAAK,CACnC,CAAC,EACD,SAAS,iBAAiB,UAAW,SAAU,EAAG,CAC5C,EAAE,MAAQ,UAAY,SAAS,KAAK,UAAU,SAAS,aAAa,GAAK,MAAM,CACrF,CAAC,EAED,SAAS,IAAI,EAAG,CACd,OAAO,OAAO,CAAC,EAAE,QAAQ,WAAY,SAAU,EAAG,CAChD,MAAQ,CAAE,IAAK,QAAS,IAAK,OAAQ,IAAK,OAAQ,IAAK,SAAU,IAAK,OAAQ,EAAG,CAAC,CACpF,CAAC,CACH,CACA,SAAS,cAAc,EAAG,CACxB,GAAI,CAAE,OAAO,oBAAoB,EAAE,MAAM,YAAY,EAAE,CAAC,GAAK,IAAI,MAAM,GAAG,EAAE,CAAC,EAAE,MAAM,GAAG,EAAE,CAAC,CAAC,CAAG,OACxF,EAAG,CAAE,MAAO,EAAI,CACzB,CAEA,SAAS,OAAO,SAAU,KAAM,CAC9B,GAAI,CAAC,SAAS,OAAQ,CACpB,QAAQ,UAAY,6DAAuD,IAAI,IAAI,EAAI,cACvF,MACF,CACA,IAAI,KAAO,8BACX,SAAS,QAAQ,SAAU,EAAG,CAC5B,IAAI,EAAI,cAAc,EAAE,GAAG,EACvB,IAAO,OAAO,QAAU,OAAO,OAAO,CAAC,GAAM,EAAE,OAAS,GACxD,MAAQ,IAAM,aAAe,IAAI,GAAG,EAAI,2BAA6B,2CACrE,OAAS,EAAE,QAAQ,MAAM,IAAM,EAC/B,IAAM,OAAS,gBAAkB,gBACrC,MAAQ,6CAA+C,IAAI,EAAE,GAAG,EAAI,yCACzB,MAAQ,iFAC2B,IAAI,EAAE,KAAK,EAAI,2CACrD,OAAS,GAAK,6BAA+B,KAAO,IAAM,kNAGpG,CAAC,EACD,MAAQ,QACR,MAAQ,kDAAoD,mBAAmB,IAAI,EAAI,wDAAgD,IAAI,IAAI,EAAI,aACnJ,QAAQ,UAAY,IACtB,CAEA,IAAI,MAAQ,KAAM,SAAW,GAC7B,SAAS,MAAM,KAAM,CACnB,IAAI,IAAM,SAAW,WAAa,mBAAmB,IAAI,EACvD,8CACF,MAAM,IAAK,CAAE,QAAS,CAAE,OAAQ,kBAAmB,CAAE,CAAC,EACnD,KAAK,SAAU,EAAG,CAAE,OAAO,EAAE,KAAK,CAAG,CAAC,EACtC,KAAK,SAAU,KAAM,CACpB,GAAI,OAAS,SACb,KAAI,SAAY,MAAQ,KAAK,WAAa,KAAK,UAAU,SAAW,KAAK,UAAU,QAAQ,UAAa,CAAC,EACzG,OAAO,SAAU,IAAI,EACvB,CAAC,EACA,MAAM,UAAY,CACjB,QAAQ,UAAY,6EACtB,CAAC,CACL,CAEI,OACF,MAAM,iBAAiB,QAAS,UAAY,CAC1C,IAAI,KAAO,MAAM,MAAM,KAAK,EAG5B,GAFA,SAAW,KACP,OAAS,aAAa,KAAK,EAC3B,KAAK,OAAS,EAAG,CAAE,QAAQ,UAAY,KAAM,MAAQ,CACzD,QAAQ,UAAY,mDACpB,MAAQ,WAAW,UAAY,CAAE,MAAM,IAAI,CAAG,EAAG,GAAG,CACtD,CAAC,EAEC,MACF,KAAK,iBAAiB,SAAU,SAAU,EAAG,CAC3C,IAAI,KAAQ,OAAS,MAAM,MAAM,KAAK,GAAM,GACvC,MAAQ,EAAE,eAAe,CAChC,CAAC,CAEL,CAEA,SAAS,MAAO,CACd,iBAAiB,EACjB,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,YAAY,EACZ,qBAAqB,EACrB,gBAAgB,CAClB,CAQA,SAAS,iBAAkB,CACzB,IAAI,GAAK,SAAS,cAAc,4BAA4B,EAC5D,GAAI,CAAC,GAAI,OACT,IAAI,KAAO,SAAS,cAAc,cAAc,EAChD,GAAG,MAAM,WAAa,YACtB,GAAG,MAAM,gBAAkB,UAE3B,IAAI,IAAM,EAAG,IAAM,EAAG,GAAK,EAAG,GAAK,EAC/B,MAAQ,OAAO,WAAW,gBAAgB,EAAE,UAC9C,KAAK,iBAAiB,YAAa,SAAU,EAAG,CAC9C,IAAI,EAAI,KAAK,sBAAsB,EACnC,KAAO,EAAE,QAAU,EAAE,MAAQ,EAAE,MAAQ,GACvC,KAAO,EAAE,QAAU,EAAE,KAAO,EAAE,OAAS,EACzC,CAAC,EACD,KAAK,iBAAiB,aAAc,UAAY,CAAE,IAAM,EAAG,IAAM,CAAG,CAAC,GAGvE,IAAI,MAAQ,YAAY,IAAI,EAC5B,SAAS,MAAM,IAAK,CAClB,IAAI,GAAK,IAAM,OAAS,IACpB,KAAO,MAAQ,KAAK,IAAI,EAAI,GAAI,EAAI,KACpC,OAAS,KAAK,IAAI,EAAI,GAAI,EAAI,IAC9B,OAAS,KAAK,IAAI,EAAI,EAAI,EAAI,EAClC,KAAO,IAAM,IAAM,IACnB,KAAO,IAAM,IAAM,IACnB,IAAI,GAAK,GAAK,IAAK,GAAK,GAAK,IAC7B,GAAG,MAAM,UAAY,SAAW,KAAK,QAAQ,CAAC,EAAI,gBAC/C,OAAS,IAAI,QAAQ,CAAC,EAAI,MAAQ,OAAS,IAAI,QAAQ,CAAC,EAAI,KAC/D,sBAAsB,KAAK,CAC7B,CACA,sBAAsB,KAAK,CAC7B,CAMA,SAAS,sBAAuB,CAC9B,IAAI,KAAO,SAAS,iBAAiB,0BAA0B,EAC/D,GAAI,CAAC,KAAK,OAAQ,OAClB,SAAS,OAAQ,CACf,IAAI,QAAU,OAAO,YAAc,IACnC,KAAK,QAAQ,SAAU,EAAG,CAAE,EAAE,KAAO,OAAS,CAAC,CACjD,CACA,MAAM,EACN,IAAI,EACJ,OAAO,iBAAiB,SAAU,UAAY,CAC5C,aAAa,CAAC,EACd,EAAI,WAAW,MAAO,GAAG,CAC3B,EAAG,CAAE,QAAS,EAAK,CAAC,CACtB,CAEI,SAAS,aAAe,UAC1B,SAAS,iBAAiB,mBAAoB,IAAI,EAElD,KAAK,CAET,GAAG",
  "names": ["delay", "dur"]
}
