1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9486],{1635:(e,r,t)=>{t.d(r,{RS:()=>p,KV:()=>h,lW:()=>u,qr:()=>l,C0:()=>d});var c=t(61766);let s="/api/contact",a="/api/contact",n="/api/contact",o=c.A.create({baseURL:"https://bloomster.com",timeout:15e3,headers:{"Content-Type":"application/json",Accept:"application/json"},withCredentials:!0});o.interceptors.request.use(e=>e,e=>Promise.reject(e)),o.interceptors.response.use(e=>e,async e=>{let r=e.response?.status;return Promise.reject({message:e.response?.data?.message??e.message??"An unexpected error occurred.",statusCode:r??0,errors:e.response?.data?.errors,code:e.response?.data?.code})});let i=(e,r)=>o.post(e,r).then(e=>e.data),l=e=>i(s,e),p=e=>i(a,e),u=e=>i(n,e),d=e=>i(a,e),h=e=>i(a,e)},5098:(e,r,t)=>{t.d(r,{default:()=>o});var c=t(95155),s=t(12115),a=t(57684),n=t(29071);let o=(0,s.forwardRef)(function({onVerify:e,onExpire:r},t){let o=(0,s.useRef)(null),i=(0,s.useRef)(null),[l,p]=(0,s.useState)(null),u=(0,s.useRef)(e),d=(0,s.useRef)(r);return((0,s.useEffect)(()=>{u.current=e},[e]),(0,s.useEffect)(()=>{d.current=r},[r]),(0,s.useImperativeHandle)(t,()=>({reset:()=>{null!==i.current&&window.grecaptcha?.reset(i.current)}})),(0,s.useEffect)(()=>{if(!a._A)return;let e=!1;return(0,n.F)().then(()=>{!e&&window.grecaptcha&&window.grecaptcha.ready(()=>{if(!e&&o.current&&null===i.current&&window.grecaptcha)try{i.current=window.grecaptcha.render(o.current,{sitekey:a._A,callback:e=>u.current(e),"expired-callback":()=>d.current?.()})}catch(r){console.error("[Captcha] grecaptcha.render() threw:",r),e||p("Couldn't render the captcha widget. Please refresh the page.")}})}).catch(r=>{console.error("[Captcha] script failed to load:",r),e||p("Couldn't load the captcha. Please refresh the page.")}),()=>{e=!0}},[]),a._A)?(0,c.jsxs)("div",{children:[(0,c.jsx)("div",{ref:o}),l&&(0,c.jsx)("span",{className:"captcha-error",children:l})]}):(0,c.jsx)("p",{className:"captcha-missing-key",children:"reCAPTCHA is not configured (NEXT_PUBLIC_RECAPTCHA_SITE_KEY is missing)."})})},29071:(e,r,t)=>{t.d(r,{F:()=>a});let c="recaptcha-v2-script",s=null;function a(){return window.grecaptcha?Promise.resolve():s||(s=new Promise((e,r)=>{let t=document.createElement("script");t.id=c,t.src="https://www.google.com/recaptcha/api.js?render=explicit",t.async=!0,t.defer=!0,t.onload=()=>e(),t.onerror=()=>r(Error("Failed to load reCAPTCHA script.")),document.head.appendChild(t)}).catch(e=>{throw document.getElementById(c)?.remove(),s=null,e}))}},57684:(e,r,t)=>{t.d(r,{E5:()=>s,_A:()=>o,eW:()=>i,pe:()=>n,tU:()=>a});var c=t(41463);let s=c.env.NEXT_PUBLIC_GOOGLE_CLIENT_ID??"560444426032-gsa2ugkp2cup8me0n3qdbrj61luuihtm.apps.googleusercontent.com",a=c.env.NEXT_PUBLIC_APPLE_CLIENT_ID??"com.bloomster.com",n="https://bloomster.com",o="6LfZQFMtAAAAAGFlQTMLV8d00HIp4MEo08OvlY4w",i="6LcIZ1wtAAAAADAbjReUcKH7dXRwdNEiNTQ7DgAz"},74685:(e,r,t)=>{async function c(e,r="checkbox"){return(await s(e,r)).success}async function s(e,r="checkbox"){try{let t=await fetch("/api/recaptcha/verify",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({token:e,variant:r})}),c=await t.json();return t.ok||console.error(`verifyRecaptcha: server returned ${t.status}:`,c?.message),{success:!!c?.success,message:c?.message}}catch(e){return console.error("verifyRecaptcha error:",e),{success:!1,message:"Network error while verifying captcha."}}}t.d(r,{V:()=>s,p:()=>c})}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.