{
  "version": 3,
  "sources": ["/cdn/shop/t/26/assets/rowdy-form-guard.js?nc=1791886360286"],
  "sourcesContent": ["/*\n * Rowdy: quiet bot filter for sign-up, contact and comment forms (works with snippets/rowdy-form-guard.liquid).\n * A submission is dropped, without telling the sender, when:\n *  - the hidden \"website\" field has been filled in (people never see it), or\n *  - the form is sent less than 2 seconds after the page loaded (people can't type that fast), or\n *  - a contact message or comment is stuffed with links (3 or more), or uses forum link code like [url=].\n * Real visitors never notice. Bots that post straight to Shopify without loading the page are left to\n * Shopify's own hCaptcha. Other scripts can ask RowdyFormGuard.isBot(form) before sending in the background.\n */\n(function () {\n  var loadedAt = Date.now();\n  var MIN_MS = 2000;\n\n  function linkCount(text) { return (String(text).match(/https?:\\/\\/|www\\./gi) || []).length; }\n\n  function reason(form) {\n    var hp = form.querySelector('[data-rowdy-hp]');\n    if (!hp) return '';\n    if (hp.value) return 'trap';\n    if (Date.now() - loadedAt < MIN_MS) return 'fast';\n    var long = form.querySelectorAll('textarea, input[name=\"comment[author]\"], input[name=\"contact[name]\"]');\n    for (var i = 0; i < long.length; i++) {\n      var v = long[i].value || '';\n      if (/\\[url=|\\[link=|<a\\s/i.test(v) || linkCount(v) >= 3) return 'links';\n      if (long[i].tagName !== 'TEXTAREA' && linkCount(v) >= 1) return 'links'; // a link in a name field\n    }\n    return '';\n  }\n\n  // Pretend it worked, so a bot learns nothing, and keep it from being sent.\n  function fakeSuccess(form) {\n    form.reset();\n    var btn = form.querySelector('[type=\"submit\"]');\n    if (btn) { btn.disabled = true; setTimeout(function () { btn.disabled = false; }, 4000); }\n  }\n\n  document.addEventListener('submit', function (e) {\n    var form = e.target;\n    if (!(form instanceof HTMLFormElement)) return;\n    var r = reason(form);\n    if (!r) return;\n    e.preventDefault();\n    e.stopImmediatePropagation();\n    fakeSuccess(form);\n  }, true);\n\n  window.RowdyFormGuard = { isBot: function (form) { return !!reason(form); } };\n})();\n"],
  "mappings": "CASC,UAAY,CACX,IAAI,SAAW,KAAK,IAAI,EACpB,OAAS,IAEb,SAAS,UAAU,KAAM,CAAE,OAAQ,OAAO,IAAI,EAAE,MAAM,qBAAqB,GAAK,CAAC,GAAG,MAAQ,CAE5F,SAAS,OAAO,KAAM,CACpB,IAAI,GAAK,KAAK,cAAc,iBAAiB,EAC7C,GAAI,CAAC,GAAI,MAAO,GAChB,GAAI,GAAG,MAAO,MAAO,OACrB,GAAI,KAAK,IAAI,EAAI,SAAW,OAAQ,MAAO,OAE3C,QADI,KAAO,KAAK,iBAAiB,sEAAsE,EAC9F,EAAI,EAAG,EAAI,KAAK,OAAQ,IAAK,CACpC,IAAI,EAAI,KAAK,CAAC,EAAE,OAAS,GAEzB,GADI,uBAAuB,KAAK,CAAC,GAAK,UAAU,CAAC,GAAK,GAClD,KAAK,CAAC,EAAE,UAAY,YAAc,UAAU,CAAC,GAAK,EAAG,MAAO,OAClE,CACA,MAAO,EACT,CAGA,SAAS,YAAY,KAAM,CACzB,KAAK,MAAM,EACX,IAAI,IAAM,KAAK,cAAc,iBAAiB,EAC1C,MAAO,IAAI,SAAW,GAAM,WAAW,UAAY,CAAE,IAAI,SAAW,EAAO,EAAG,GAAI,EACxF,CAEA,SAAS,iBAAiB,SAAU,SAAU,EAAG,CAC/C,IAAI,KAAO,EAAE,OACb,GAAM,gBAAgB,gBACtB,KAAI,EAAI,OAAO,IAAI,EACd,IACL,EAAE,eAAe,EACjB,EAAE,yBAAyB,EAC3B,YAAY,IAAI,GAClB,EAAG,EAAI,EAEP,OAAO,eAAiB,CAAE,MAAO,SAAU,KAAM,CAAE,MAAO,CAAC,CAAC,OAAO,IAAI,CAAG,CAAE,CAC9E,GAAG",
  "names": []
}
