your-ai-workflow-firebase-os 2.0.0 → 2.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{ContactPopup-Du_AVUgk.js → ContactPopup-Dsg2ntq3.js} +3606 -3560
- package/dist/ContactPopup-IwBm-eqz.cjs +12 -0
- package/dist/components/ViewingAs.d.ts +9 -2
- package/dist/components/media/Attachments.d.ts +15 -0
- package/dist/lib/pageDesignLines.d.ts +1 -1
- package/dist/lib/payments.d.ts +23 -2
- package/dist/lib/people.d.ts +9 -0
- package/dist/lib/recordsKey.d.ts +24 -0
- package/dist/lib/rowPress.d.ts +36 -0
- package/dist/lib/steps.d.ts +7 -0
- package/dist/lib/transactions.d.ts +13 -1
- package/dist/lib/uploadQueue.d.ts +6 -0
- package/dist/pages/PagesAdmin.d.ts +49 -7
- package/dist/renderer.cjs.js +1 -1
- package/dist/renderer.es.js +1 -1
- package/dist/server.cjs.js +1 -1
- package/dist/server.es.js +1 -1
- package/dist/{validate-C_iJKXDU.js → validate-DzSJWuyL.js} +52 -31
- package/dist/validate-e48WXJdP.cjs +103 -0
- package/dist/vite.cjs.js +1 -1
- package/dist/vite.es.js +1 -1
- package/dist/your-ai-workflow-firebase-os.cjs.js +56 -56
- package/dist/your-ai-workflow-firebase-os.css +1 -1
- package/dist/your-ai-workflow-firebase-os.es.js +8377 -8177
- package/package.json +1 -1
- package/dist/ContactPopup-MalER7E7.cjs +0 -12
- package/dist/validate-L8QWFfBP.cjs +0 -103
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
const e=require(`./chunk-CiTBaPhY.cjs`),t=require(`./verifiedAccount-D3OeaOBo.cjs`),n=require(`./lucide-react-BYniZ3lQ.cjs`),r=require(`./mediaKind-dk396a03.cjs`),i=require(`./address-DI1YaCI4.cjs`);let a=require(`react`);a=e.a(a,1);let o=require(`react/jsx-runtime`),s=require(`firebase/app`),c=require(`firebase/auth`),l=require(`firebase/firestore`),u=require(`firebase/storage`),d=require(`react-router-dom`),f=require(`react-dom`);var p=e.r({contactFormConfig:()=>m}),m={systemName:`contact`,formType:`public`,redirectTo:`/`,title:`Get in Touch`,buttonName:`Contact Us`,submitText:`Send Message`,fields:[{name:`name`,type:`text`,label:`Full Name`,placeholder:`John Doe`,required:!0},{name:`email`,type:`email`,label:`Email Address`,placeholder:`john@example.com`,required:!0},{name:`phone`,type:`tel`,label:`Phone Number`,placeholder:`+1 (555) 000-0000`,required:!1},{name:`questions`,type:`textarea`,label:`Your Questions`,placeholder:`How can we help you?`,required:!0}]},h=e.r({supportFormConfig:()=>g}),g={systemName:`support`,formType:`private`,redirectTo:`/dashboard`,title:`Request Assistance`,buttonName:`Get Assistance`,submitText:`Submit Request`,fields:[{name:`topic`,type:`text`,label:`Topic`,placeholder:`E.g. Password reset issue`,required:!0},{name:`contactEmail`,type:`email`,label:`Contact Email`,placeholder:`your@email.com`,required:!0},{name:`description`,type:`textarea`,label:`Description`,placeholder:`Please describe your issue in detail...`,required:!0}]},_=(0,a.createContext)({});function v({config:e,children:t}){return(0,o.jsx)(_.Provider,{value:e,children:t})}var y=()=>(0,a.useContext)(_),b=null,x=null,S=null,C=null,w=null,T=`https://firebasestorage.googleapis.com`;function ee(){if(typeof document>`u`||!document.head||document.head.querySelector(`link[rel="preconnect"][href="${T}"]`))return;let e=document.createElement(`link`);e.rel=`preconnect`,e.href=T,document.head.appendChild(e)}var E={ignoreUndefinedProperties:!0};function D(e){ee();let t=e.projectId||``;if((0,s.getApps)().length&&w===t){b=(0,s.getApp)(),x=(0,c.getAuth)(b);try{S=(0,l.initializeFirestore)(b,E)}catch{S=(0,l.getFirestore)(b)}C=(0,u.getStorage)(b);return}if((0,s.getApps)().length&&w!==t)try{(0,s.deleteApp)((0,s.getApp)())}catch{}b=(0,s.initializeApp)(e),w=t,x=(0,c.getAuth)(b);try{S=(0,l.initializeFirestore)(b,E)}catch{S=(0,l.getFirestore)(b)}C=(0,u.getStorage)(b)}function te(e){try{return{BASE_URL:`/`,DEV:!1,MODE:`production`,PROD:!0,SSR:!1,VITE_ADMIN_EMAILS:void 0,VITE_FIREBASE_API_KEY:void 0,VITE_FIREBASE_APP_ID:void 0,VITE_FIREBASE_AUTH_DOMAIN:void 0,VITE_FIREBASE_MESSAGING_SENDER_ID:void 0,VITE_FIREBASE_PROJECT_ID:void 0,VITE_FIREBASE_STORAGE_BUCKET:void 0}?.[e]||``}catch{return``}}var ne=[`VITE_FIREBASE_API_KEY`,`VITE_FIREBASE_AUTH_DOMAIN`,`VITE_FIREBASE_PROJECT_ID`,`VITE_FIREBASE_STORAGE_BUCKET`,`VITE_FIREBASE_MESSAGING_SENDER_ID`,`VITE_FIREBASE_APP_ID`],O={VITE_FIREBASE_API_KEY:`apiKey`,VITE_FIREBASE_AUTH_DOMAIN:`authDomain`,VITE_FIREBASE_PROJECT_ID:`projectId`,VITE_FIREBASE_STORAGE_BUCKET:`storageBucket`,VITE_FIREBASE_MESSAGING_SENDER_ID:`messagingSenderId`,VITE_FIREBASE_APP_ID:`appId`};function k(){let e={};for(let t of ne){let n=te(t);if(!n)return null;e[O[t]]=n}return e}var A=k();A&&!(0,s.getApps)().length&&D(A);var re=`firebase-os:chunk-reloaded`,j=400,M=()=>{try{return sessionStorage.getItem(re)===`1`}catch{return!0}},N=e=>{let t=String(e?.message??e??``).toLowerCase();return t.includes(`dynamically imported module`)||t.includes(`error loading dynamically imported module`)||t.includes(`failed to fetch dynamically imported module`)||t.includes(`importing a module script failed`)||t.includes(`loading chunk`)||t.includes(`loading css chunk`)},P=e=>new Promise(t=>setTimeout(t,e));function ie(e,t={}){let n=t.pause??j,r=t.reload??(()=>{typeof window<`u`&&window.location.reload()});return(0,a.lazy)(async()=>{try{return await e()}catch(t){if(!N(t))throw t;await P(n);try{return await e()}catch(e){if(!N(e))throw e;if(!M()){try{sessionStorage.setItem(re,`1`)}catch{}r(),await new Promise(()=>{})}throw e}}})}var F=`Part of the app did not load`,I=`A piece of this page never arrived — usually a connection that dropped, or a new version of your app being published while this tab was open. Reloading picks up the new one.`,L=e=>{let t=e?.code??e?.error?.code??``;return typeof t==`string`?t.toLowerCase():``},R=e=>{let t=e?.message??e??``;return String(t).toLowerCase()},ae=()=>typeof navigator<`u`&&navigator.onLine===!1,z=`A picture here is drawn the slow way`,oe=`A picture on this page is drawn by hand. Paste the message to your assistant.`,se=`firebaseOsHandDrawn`;function ce(e){return Object.assign(Error(e),{[se]:!0})}var le=`firebaseOsSaid`;function B(e,t=`again`){return Object.assign(Error(e),{[le]:!0,firebaseOsNext:t})}var ue=e=>e?.[le]===!0,de=e=>{if(e?.code)return null;let t=typeof e?.message==`string`?e.message.trim():``;return t.length<20||t.length>220||!/^[A-Z]/.test(t)||!/[.!]$/.test(t)||t.split(/\s+/).length<4||/insufficient permissions|firebase|firestore|storage bucket|quota|websocket/i.test(t)||/\bundefined\b|\bnull\b|\bNaN\b|Error\b|\bfunction\b|=>|[{}<>[\]$_]|\.[a-z]{2,4}\b(?!\s)|https?:\/\/|[a-z]+\/[a-z-]+|\(reading|\bis not a\b/.test(t)?null:t},fe=(e,t)=>e===`auth/network-request-failed`||e===`unavailable`||e===`storage/retry-limit-exceeded`||t.includes(`failed to fetch`)||t.includes(`load failed`)||t.includes(`networkerror`)||t.includes(`network request failed`)||t.includes(`err_internet_disconnected`)||t.includes(`could not be reached`)||t.includes(`the server could not be reached`),pe={kind:`offline`,title:`No connection`,message:`This device is not online just now, so that could not go through. Nothing you have typed has been lost — check your connection, then try again.`,short:`No connection just now — check it, then try again.`,next:`again`},me={kind:`signedOut`,title:`You have been signed out`,message:`Your sign-in ran out while this page was open. Sign in again and you will come straight back to what you were doing.`,short:`Your sign-in ran out. Sign in again to carry on.`,next:`signin`},he={kind:`notAllowed`,title:`Not allowed`,message:`Your account is not allowed to do that here. If you were signed in a moment ago, signing in again usually puts it right — if not, ask whoever runs this app.`,short:`Your account is not allowed to do that here.`,next:`signin`},ge={kind:`unreachable`,title:`Cannot reach the app right now`,message:`The app did not answer. This is almost always a moment on the line rather than anything you did — try again in a moment.`,short:`The app did not answer. Try again in a moment.`,next:`again`},_e={kind:`slow`,title:`That took too long`,message:`No answer came back in time. Nothing has been changed — try again.`,short:`That took too long. Nothing was changed — try again.`,next:`again`},ve={kind:`busy`,title:`Too many tries just now`,message:`This app has been asked for a great deal in a short time. Give it a minute or two, then try again.`,short:`Too many tries just now. Wait a minute, then try again.`,next:`again`},ye={kind:`gone`,title:`That is not there any more`,message:`Whatever this was showing has been removed, or moved somewhere else. Reloading shows what is there now.`,short:`That is not there any more.`,next:`reload`},be={kind:`noRoom`,title:`There is no room left`,message:`This app's storage is full, so the file could not be kept. Trying again will not help — whoever runs this app has to make room first.`,short:`This app's storage is full, so the file could not be kept.`,next:`none`},xe={kind:`notReady`,title:`That is not ready yet`,message:`Something this page needs has not finished being set up. Try again in a moment, and if it keeps happening tell whoever runs this app.`,short:`That is not ready yet. Try again in a moment.`,next:`again`},Se={kind:`stopped`,title:`That stopped part-way`,message:`It did not finish, so nothing was changed. Try again.`,short:`That stopped part-way, so nothing was changed.`,next:`again`},Ce={kind:`tooBig`,title:`That file is too big`,message:`The file is larger than this app can take. A smaller one — or the same picture saved at a lower size — will go through.`,short:`That file is too big for this app. Try a smaller one.`,next:`none`},we={kind:`unknown`,title:`That did not work`,message:`Something went wrong and the app stopped short. Nothing you have typed has been lost — try again, and reload the page if it keeps happening.`,short:`That did not work. Nothing you typed has been lost — try again.`,next:`again`};function Te(e){let t=L(e),n=R(e);if(e?.[se]===!0)return{kind:`drawnByHand`,title:z,message:String(e?.message||``),short:oe,next:`none`};if(ue(e)){let t=String(e?.message||``);return{kind:`said`,title:`That did not work`,message:t,short:t,next:e?.firebaseOsNext??`again`}}if(N(e))return{kind:`missingPart`,title:F,message:I,short:`Part of this page did not load. Reload the page.`,next:`reload`};let r=de(e);return r?{kind:`said`,title:`That did not work`,message:r,short:r,next:`again`}:ae()||fe(t,n)?pe:t===`unauthenticated`||t===`auth/user-token-expired`||t===`auth/user-disabled`||t===`auth/requires-recent-login`||t===`auth/user-signed-out`||t===`auth/invalid-user-token`||t===`auth/null-user`?me:t===`permission-denied`||t===`storage/unauthorized`||t===`storage/unauthenticated`||n.includes(`missing or insufficient permissions`)?he:t===`deadline-exceeded`||n.includes(`timeout`)||n.includes(`timed out`)?_e:t===`resource-exhausted`||t===`auth/too-many-requests`||t===`storage/quota-exceeded`||n.includes(`too many requests`)?t===`storage/quota-exceeded`?be:ve:t===`not-found`||t===`storage/object-not-found`?ye:t===`failed-precondition`||n.includes(`requires an index`)?xe:t===`cancelled`||t===`aborted`||t===`storage/canceled`||n.includes(`aborted`)?Se:n.includes(`exceeds the maximum`)||n.includes(`file is too large`)||n.includes(`payload too large`)?Ce:t===`internal`||t===`unknown`||t===`storage/unknown`||t===`data-loss`?ge:we}function Ee(e,t){let n=Te(e);return t&&n.kind===`unknown`?t:n.short}var De={again:`Try again`,reload:`Reload the page`,signin:`Sign in again`,none:`Reload the page`},Oe=new Map;function ke(e,t,n,r){let i=Oe.get(e);if(!i){let n={subscribers:new Set,stop:()=>{},last:null,refused:void 0};Oe.set(e,n),n.stop=(0,l.onSnapshot)(t(),e=>{n.last=e,n.refused=void 0,n.subscribers.forEach(t=>Ae(()=>t.next(e)))},e=>{n.refused=e,n.subscribers.forEach(t=>Ae(()=>t.fail(e)))}),i=n}let a={next:n,fail:r};return i.subscribers.add(a),i.last?Ae(()=>n(i.last)):i.refused!==void 0&&Ae(()=>r(i.refused)),()=>{let t=Oe.get(e);!t||!t.subscribers.delete(a)||t.subscribers.size===0&&(t.stop(),Oe.delete(e))}}function Ae(e){try{e()}catch(e){console.error(`A screen could not take a shared Firestore answer`,e)}}var je=[`user`,`internal`,`admin`],Me=e=>je.includes(e),Ne={user:`Members`,internal:`Your team`,admin:`Admins`},Pe={user:`user-round`,internal:`users`,admin:`shield`},Fe=`id-card`,Ie=[],Le={},Re={},ze=e=>{Ie=e},Be=()=>Ie,Ve=e=>{Le=e},He=e=>{Re=e},Ue=e=>Me(e)&&String(Re[e]||``).trim()||``,We=e=>Me(e)&&String(Le[e]||``).trim()||``,Ge=(e,t=Be())=>t.find(t=>t.id===e)?.name||We(e)||(Me(e)?Ne[e]:``)||e,Ke=(e=Be())=>[...je.map(t=>({id:t,name:Ge(t,e)})),...e.map(e=>({id:e.id,name:e.name}))],qe=`sys_payments`,Je=`_settings`,Ye=()=>({on:!1,amount:``,priceId:``,livePriceId:``}),Xe=()=>({name:``,description:``,monthly:{...Ye(),on:!0},yearly:Ye(),roleId:``}),Ze=()=>({name:``,amount:``}),Qe=e=>({id:e,name:``,description:``,kind:``,amount:``,items:[],plans:[],how:``,emailReceipt:!0,notifyOwner:!0,pageIds:[],customNote:``,customPath:``,createdAt:Date.now()}),$e=e=>e.kind===`once`?e.items.length?e.items:e.name.trim()||e.amount.trim()?[{name:e.name,amount:e.amount}]:[]:[],et=e=>{let t=Number(String(e||``).trim().replace(/[^0-9.]/g,``));return Number.isFinite(t)&&t>0?t:null},tt=e=>({on:!!e?.on,amount:String(e?.amount||``),priceId:String(e?.priceId||``),livePriceId:String(e?.livePriceId||``)}),nt=e=>/^(no|none|nothing|n\/?a|nothing needed|nothing else|-)[.!]*$/i.test(e.trim()),rt=e=>/[.!?]$/.test(e)?e:`${e}.`,it=e=>{let t=[],n=String(e?.how||``),r=String(e?.collect||``).trim();r&&!nt(r)&&t.push(`Before paying, the buyer tells me: ${rt(r)}`);let i=String(e?.after||``).trim();if(i&&t.push(`After they pay: ${rt(i)}`),Array.isArray(e?.plans))for(let n of e.plans){let e=String(n?.name||``).trim()||`The plan`,r=String(n?.features||``).trim(),i=String(n?.sees||``).trim();r&&t.push(`${e} unlocks: ${rt(r)}`),i&&t.push(`Someone on ${e} sees: ${rt(i)}`)}return t.length?[...n.trim()?[rt(n.trim())]:[],...t].join(` `):n},at=(e,n)=>{let r=n?.kind===`once`||n?.kind===`subscription`?n.kind:``,i=Array.isArray(n?.items)?n.items.map(e=>({name:String(e?.name||``),amount:String(e?.amount||``)})):[],a=String(n?.name||``),o=String(n?.amount||``);return r===`once`&&!i.length&&(a.trim()||o.trim())&&(i=[{name:a,amount:o}],a=``,o=``),{id:e,name:a,description:String(n?.description||``),kind:r,amount:o,items:i,plans:Array.isArray(n?.plans)?n.plans.map(e=>({name:String(e?.name||``),description:String(e?.description||``),monthly:tt(e?.monthly),yearly:tt(e?.yearly),roleId:t.v(e?.roleId)?String(e.roleId):``})):[],how:it(n),emailReceipt:n?.emailReceipt!==!1,notifyOwner:n?.notifyOwner!==!1,pageIds:Array.isArray(n?.pageIds)?n.pageIds.map(e=>String(e||``)).filter(Boolean):[],customNote:String(n?.customNote||``),customPath:String(n?.customPath||``),createdAt:typeof n?.createdAt==`number`?n.createdAt:void 0}},ot=e=>/^price_[A-Za-z0-9]+$/.test(e.trim()),st=(e,t=Ht())=>t?e.livePriceId:e.priceId;function ct(e,t=Ht()){if(!e.kind)return`Say how it is paid — once, or a subscription.`;if(e.kind===`once`){let t=$e(e);if(!t.length)return`Add something to sell — a name and a price.`;for(let e of t){let t=e.name.trim();if(et(e.amount)===null)return`Give ${t||`it`} a price — just a number, like 25.`;if(!t)return`Give it a name, the way a buyer should read it.`}return``}if(!e.plans.length)return`Add at least one plan.`;for(let n of e.plans){let e=n.name.trim()||`each plan`;if(!n.name.trim())return`Give each plan a name.`;if(!n.monthly.on&&!n.yearly.on)return`Turn on monthly or yearly for ${e}.`;for(let[r,i]of[[`monthly`,n.monthly],[`yearly`,n.yearly]])if(i.on){if(et(i.amount)===null)return`Give ${e} its ${r} price — just a number.`;if(!ot(st(i,t)))return t?`Paste the live ${r} price id for ${e} — live mode is a fresh Stripe catalogue, so the price is made again there. Your test id is kept.`:`Paste the ${r} price id for ${e} — the steps above say where it comes from in Stripe.`}}return``}var lt=(e,t=Ht())=>ct(e,t)===``,ut=e=>e.kind===`subscription`&&e.plans.length>0&&e.plans.every(e=>e.name.trim()!==``&&(e.monthly.on||e.yearly.on)&&(!e.monthly.on||et(e.monthly.amount)!==null)&&(!e.yearly.on||et(e.yearly.amount)!==null));function dt(e){let t=e.name.trim();if(t)return t;let n=$e(e).map(e=>e.name.trim()).filter(Boolean);if(n.length===1)return n[0];if(n.length>1){let e=n.slice(0,3),t=n.length>3?`more`:e.pop();return`${e.join(`, `)} and ${t}`}return`this product`}function ft(e){let t=e.name.trim();if(!e.kind)return t?`${t} — say how it is paid`:`A new product — say how it is paid`;if(e.kind===`once`){let n=$e(e);if(n.length<=1){let e=n[0],r=e?.name.trim()||t,i=e?.amount.trim();return`${r||`A new product`}${i?` — ${i}, paid once`:` — paid once`}`}return`${t||n.map(e=>e.name.trim()).filter(Boolean).slice(0,3).join(`, `)||`A new product`} — ${n.length} things, paid once`}let n=e.plans.length;return`${t||`A new subscription`} — a subscription${n?`, ${n} plan${n===1?``:`s`}`:``}`}function pt(e,t,n=Ht()){let r=e.name.trim(),i=`${t.name.trim()||`this plan`}${r?` — ${r}`:``}`,a=t.description.trim(),o=t.monthly.on&&t.yearly.on,s=t.monthly.on?t.monthly:t.yearly,c=t.monthly.on?`Monthly`:`Yearly`,l=[n?`In your Stripe dashboard, switch Test mode OFF — live mode is its own catalogue, so the plan is made once more there. Then open Product catalogue and click Add product.`:`In your Stripe dashboard, open Product catalogue and click Add product.`,`Name it "${i}"${a?` and paste your one-liner into the Description box: "${a}"`:``}.`,`On the same form, choose Recurring, type ${s.amount.trim()||`…`} as the amount, set the billing period to ${c}, and click Add product to save.`,o?`Click the product you just made, then click its ${c.toLowerCase()} price. The price id — it starts with price_ — sits in the top right corner: copy it and paste it into the ${c.toLowerCase()} box below.`:`Click the product you just made, then click the price inside it. The price id — it starts with price_ — sits in the top right corner: copy it and paste it into the box below.`];return o&&l.push(`Go back to the product. In its Pricing section click + to add a second price: Recurring, ${t.yearly.amount.trim()||`…`} as the amount, billing period Yearly — save it.`,`Click that yearly price, copy its id from the top right corner, and paste it into the yearly box below.`),l}var mt=e=>e.includes(`'`)?`"${e}"`:`'${e}'`,ht=`Every payment goes through the app's own pieces — a <BuyButton> for one thing bought, a <Basket> for a basket of them — never a checkout, a card form or Stripe code of your own. The button's words, colour and place on the page are yours to design.`,gt=(e,t=Ht())=>{let n=e.name.trim()||`this product`,r=e.description.trim();if(e.kind===`once`){let t=$e(e),r=e=>`<BuyButton amount={${et(e.amount)??0}} productName=${mt(e.name.trim())}>`;if(t.length<=1){let i=t[0]||{name:e.name,amount:e.amount};return[`It sells ${i.name.trim()||n} for ${i.amount.trim()}, paid once: ${r(i)}.`]}let i=e.name.trim();return[`It sells ${t.length} things${i?` under ${i}`:``}, each paid once with its own button:`,...t.map(e=>`${e.name.trim()||`Something`} for ${e.amount.trim()}: ${r(e)}.`)]}let i=[`It sells ${n}${r?` (${r})`:``} as a subscription, and its whole pricing section is ONE piece of my app: <Plans product='${e.id}' /> from 'your-ai-workflow-firebase-os'. It reads the plans, what each includes, the prices and the Stripe ids from my Payments screen as they stand — so type no plan, price or id into the page — offers a monthly/yearly switch where a plan has both, and each plan's button asks who is paying and goes on to Stripe. Add featured='a plan's name' to draw one forward, and phone / address when my words ask for them. The heading over it and the words round it are yours. Only if my words ask for a layout it cannot give, read the same plans with usePlans('${e.id}') and buy each with a <BuyButton>. What it sells, so the words round it are right:`];for(let t of e.plans){let e=t.name.trim()||`Plan`,n=t.description.trim(),r=[];t.monthly.on&&r.push(`${t.monthly.amount.trim()} per month`),t.yearly.on&&r.push(`${t.yearly.amount.trim()} per year`);let a=t.roleId?` Buying it makes the buyer my ${Ge(t.roleId)} role — userRole '${t.roleId}'.`:``;i.push(`${e}${n?` (${n})`:``} — ${r.join(` or `)}.${a}`)}return i},_t=`Who is paying is asked by the button ITSELF: the press of a <BuyButton> from 'your-ai-workflow-firebase-os' opens one small window that says what is being bought, asks who is paying and goes straight on to Stripe. So NEVER a <BuyerDetails> and a <PayButton> put together by you, never a form, never a *Form.config.ts, never a name, email, phone or <AddressField> box of your own, and no delivery step of your own: that asks the buyer twice. It asks a buyer who is not signed in for their name and email, and for a phone number or the address when you pass phone / address on the button (true to require it, 'optional' to offer it — pass them when my words ask for them, and address whenever something is delivered), and makes them an account there and then, signed in on this device; a signed-in buyer is asked only for what is missing, and one the app already knows sees one line saying who is paying and the button. Who they are rides onto the payment by itself and reads beside it on my Transactions screen. Anything else my words ask before paying — a note, a chosen session, a size — is a box or a choice of your own on the page (it is not a form: nothing is sent anywhere) whose answer goes into the button's metadata as a plain string, and disabled on the button holds it back until it is chosen. Never ask for their email twice, and never build a backend of your own for it: the app tells them and me in the bell when the payment happens.`,vt=`Put what was bought into the button's metadata as well, whenever the page knows more than productName says — a basket, a chosen plan, options, a quantity, hours: items as one line per thing (quantity, name, the options chosen and its price — '2 × Blazer, Noir Black, size M — 240; 1 × Belt — 60', joined with '; '), total as the number charged, and delivery, discount or whatever else made up the amount under a key each. Every value a plain string under 500 characters, never an object or an array. My Transactions screen shows those under What they bought, so a payment there says what the money was for and not only how much.`,yt=`Show and hide what a plan unlocks with the app's own useMyPayments() — it returns { loading, active, subscriptions, payments } — and that is presentation, not protection: anything genuinely paid, like a file or a secret, must come from the server.`,bt=`A plan's role is given the moment the buyer pays and taken back when the subscription ends — the app does both itself, so build neither. What that plan unlocks is what its role opens: a page kept for the role, and anything a page shows to it — read const { userRole } = useAuth() from 'your-ai-workflow-firebase-os' and compare it with the role's word above. Gate that by the role, never with useMyPayments().`,xt=`This plan gives its buyer a role, and a role belongs to an ACCOUNT — so anybody buying it here needs one. Check with useAuth() from 'your-ai-workflow-firebase-os': for somebody who is not signed in, put a link to /login where the buy button would be, saying they sign in first and come straight back. If you leave the button there for them as well, say beside it that they must use the same email address when they register, or what they have paid for opens nothing. This is only about a plan that gives a role — a one-off payment and a plan without one are bought by anybody, signed in or not.`;function St(e,t=``,n=Ht()){let r=[...gt(e,n)],i=e.how.trim();return i&&r.push(`Here is how this payment should work, start to finish: ${i}`),r.push(_t,vt),e.kind===`subscription`&&(e.plans.some(e=>e.roleId)&&r.push(bt),e.plans.some(e=>!e.roleId)&&r.push(yt)),r.push(...wt(t,e)),r}var Ct=`What happens when they come back from paying is my app's own as well: write <CheckoutReturn /> from the same package ONCE near the top of the page, outside any window or step. It asks the server whether the money really moved and only then thanks them; give it orderPath='/billing' — the app's own page where what they bought is — unless my words name another page of mine they go to afterwards, and then that page's address. Never read session_id off the web address, never call confirmPayment, and never build a thank-you, an order confirmation, a receipt or a notification of your own: the bell tells them their order is placed and tells me a payment came in. Never send them to /login or /register after paying, and never make anybody sign in BEFORE they pay: somebody whose email already has an account pays as a guest and is emailed their way in afterwards.`;function wt(e,t){let n=[`Set each button's successPath to ${e||`the page the button is on`} so the buyer lands back where they paid — that is the page <CheckoutReturn> is on, and the only place the payment is checked.`,Ct],r=[];return t.emailReceipt&&r.push(`emailReceipt: 'yes'`),t.notifyOwner&&r.push(`notifyOwner: 'yes'`),r.length&&n.push(`Put ${r.join(` and `)} in the button's metadata — the app then sends ${r.length===2?`those emails`:`that email`} on its own.`),n}var Tt=e=>e===`internal`||e===`admin`,Et=e=>Array.isArray(e?.links)?e.links.map(e=>({pageId:String(e?.pageId||``),how:String(e?.how||``)})):[],Dt=(e,t)=>t.find(t=>t.id===e)||t.find(t=>String(t.config?.contentKey||``).trim()===e),Ot=(e,t)=>e===t.id||e===String(t.config?.contentKey||``).trim();function kt(e){return e.how.trim()?``:`Describe how this payment will work.`}var At=(e,t)=>e.pageIds.some(e=>Ot(e,t)),jt=(e,t)=>At(e,t)?e.pageIds.filter(e=>!Ot(e,t)):[...e.pageIds,t.id],Mt=`What people paid is mine and my admins' alone: the app refuses everybody else the sales outright, so never call useSales() on this page and never put an amount on it. Show what an admin's own page has recorded about a sale — the name, what they bought, when — and if what I asked for cannot be built without the amounts, say so plainly in your reply: the page has to be kept for Admins for that. This page never sells — no <PayButton> on it.`,Nt="Read the sales on it with the app's own useSales() from 'your-ai-workflow-firebase-os' — it returns { loading, charges, subscriptions, error } live from my Stripe account: who paid, for what, when, and each subscription's current status. Show `error` when it is set. Design the list however fits; never write Stripe code, a backend or an export of your own for it. This page never sells — no <PayButton> on it.",Pt=e=>`/payments?new=subscription&page=${encodeURIComponent(e)}`,Ft=(e,t)=>`/payments?open=${encodeURIComponent(e)}&page=${encodeURIComponent(t)}`,It=(e,t)=>`/pages/${encodeURIComponent(e)}?addPayment=${encodeURIComponent(t)}`,Lt=[],Rt=!1,zt=e=>{Lt=e},Bt=()=>Lt,Vt=e=>{Rt=e},Ht=()=>Rt;function Ut(e){let t=[];for(let n of e)if(n.kind===`subscription`)for(let e of n.plans)for(let[r,i]of[[`monthly`,e.monthly],[`yearly`,e.yearly]]){if(!i.on)continue;let a=i.priceId.trim(),o=i.livePriceId.trim();ot(o)&&ot(a)&&a!==o&&t.push({product:n.name.trim()||`a subscription`,plan:e.name.trim()||`its plan`,word:r,from:a,to:o})}return t}function Wt(e=Bt()){let t=Ut(e),n=[`My Stripe account has switched from test mode to live mode. I have already replaced the keys in Secrets — do not touch any keys or write any Stripe code of your own.`];return t.length?n.push(`In my pages, every <BuyButton> or <PayButton> with a priceId still carries a test price id. Swap each one for its live id and change nothing else about the button:`,...t.map(e=>`For ${e.product}, ${e.plan} (${e.word}): replace '${e.from}' with '${e.to}'.`),`Buttons that use amount={…} instead of a priceId need no change, and neither does a pricing section drawn with <Plans> — it reads the live ids itself.`):n.push(`No price id in my pages needs to change — buttons that use amount={…} never had one.`),n.push(`Then rebuild the app so it runs with the live keys and ids.`),n.join(`
|
|
2
|
+
`)}var Gt=`admin_keys`,Kt=`plans`,qt=()=>({planUntil:(0,l.deleteField)(),planPass:(0,l.deleteField)()}),Jt=e=>typeof e?.planUntil==`number`&&e.planUntil>0?e.planUntil:0,Yt=e=>Jt(e)>0,Xt=e=>Jt(e);function Zt(e){if(!e)return!1;if(Yt(e))return!0;let t=e.role;return t==null||t===`user`||t===`free`}function Qt(e,t=Date.now()){let n=e?.role?String(e.role):`user`,r=Jt(e);return r&&t>=r?`user`:n}function $t(e,n){if(!Zt(e))return null;let r=String(n?.role||``);return r?!t.v(r)||typeof n?.until!=`number`||typeof n?.pass!=`string`||e.role===r&&e.planUntil===n.until?null:{role:r,planUntil:n.until,planPass:n.pass}:Yt(e)?{role:`user`,...qt()}:null}async function en(e,n){try{let r=x?.currentUser;if(!r||r.uid!==e||!t.t(r)||typeof fetch!=`function`)return;let i=(0,l.doc)(S,`user_profiles`,e),a=n??(await(0,l.getDoc)(i)).data();if(!Zt(a))return;let o=await r.getIdToken(),s=await fetch(`/api/payments/plan-role`,{headers:{Authorization:`Bearer ${o}`}});if(!s.ok)return;let c=$t(a,await s.json());c&&await(0,l.updateDoc)(i,c)}catch{}}function tn(e){(0,a.useEffect)(()=>{let e=!1;return(async()=>{let t=x?.currentUser;if(!t||typeof fetch!=`function`)return;let n=await fetch(`/api/payments/plan-key`,{headers:{Authorization:`Bearer ${await t.getIdToken()}`}});if(!n.ok||e)return;let r=String((await n.json())?.key||``);if(!r)return;let i=(0,l.doc)(S,Gt,Kt),a=await(0,l.getDoc)(i);!e&&a.data()?.key!==r&&await(0,l.setDoc)(i,{key:r})})().catch(()=>{}),()=>{e=!0}},[e])}function nn(e){let t={};for(let n of e)if(n.kind===`subscription`)for(let e of n.plans){if(!e.roleId)continue;let r=e.name.trim()||n.name.trim()||`A plan`,i=t[e.roleId]||=[];i.includes(r)||i.push(r)}return t}function rn(){let[e,t]=(0,a.useState)({});return(0,a.useEffect)(()=>ke(qe,()=>(0,l.collection)(S,qe),e=>{let n=[];e.forEach(e=>{e.id!==`_settings`&&n.push(at(e.id,e.data()))}),t(nn(n))},()=>{}),[]),e}var an=null,on=null,sn=`fbos:payment-news`;function cn(){an=null,on=null,typeof window<`u`&&window.dispatchEvent(new Event(sn))}async function ln(){try{return await x?.currentUser?.getIdToken()||null}catch{return null}}function un(e,t){if(e==null||!Number.isFinite(e))return``;let n=String(t||``).toUpperCase();if(!n)return String(e);try{return new Intl.NumberFormat(void 0,{style:`currency`,currency:n}).format(e)}catch{return`${e} ${n}`}}function dn(e,t=!0){let n=[];return t&&n.push(String(e.name||e.email||``).trim()),n.push(un(e.amount,e.currency)),n.push(String(e.productName||``).trim()),n.filter(Boolean).join(` · `)}function fn(e){let t=String(e?.id||``);if(!t||e?.paid===!1||e?.refunded===!0)return null;let n=Number(e?.created),r=e?.amount!=null&&Number.isFinite(Number(e.amount))?Number(e.amount):null;return{id:t,at:Number.isFinite(n)?n>0xe8d4a51000?n:n*1e3:0,amount:r,currency:e?.currency?String(e.currency):null,name:e?.name?String(e.name):null,email:e?.email?String(e.email):null,productName:e?.productName||e?.description?String(e.productName||e.description):null,page:e?.page?String(e.page):null}}async function pn(e,t,n){try{let r=await fetch(e,{headers:t?{Authorization:`Bearer ${t}`}:{}});if(!r.ok)return[];let i=await r.json();return(Array.isArray(i?.[n])?i[n]:[]).map(fn).filter(e=>!!e)}catch{return[]}}var mn=(e,t)=>!!e&&e.key===t&&Date.now()-e.at<6e4;function hn(e){if(mn(an,e))return an.promise;let t=ln().then(e=>e?pn(`/api/payments/recent`,e,`payments`):[]);return an={key:e,at:Date.now(),promise:t},t}function gn(e){if(mn(on,e))return on.promise;let t=ln().then(e=>e?pn(`/api/payments/me`,e,`payments`).then(e=>e.filter(e=>e.at>0)):[]);return on={key:e,at:Date.now(),promise:t},t}function _n(e,t,n){let[r,i]=(0,a.useState)([]);return(0,a.useEffect)(()=>{if(!t||!n)return;let r=!1,a=0,o=()=>{let n=++a;(e===`sales`?hn(t):gn(t)).then(e=>{!r&&n===a&&i(e)})};o();let s=()=>{(typeof document>`u`||document.visibilityState===`visible`)&&o()};return typeof document<`u`&&document.addEventListener(`visibilitychange`,s),typeof window<`u`&&(window.addEventListener(`focus`,s),window.addEventListener(sn,o)),()=>{r=!0,typeof document<`u`&&document.removeEventListener(`visibilitychange`,s),typeof window<`u`&&(window.removeEventListener(`focus`,s),window.removeEventListener(sn,o))}},[e,t,n]),t&&n?r:vn}var vn=[],yn=`Could not reach the server. Check your connection and try again.`,bn={goTo(e){window.location.href=e}},xn=`/api/payments/webhook`,Sn=e=>e?`${e.replace(/\/$/,``)}${xn}`:``;async function Cn(){try{let e=x?.currentUser;if(!e)return null;let t=e.emailVerified===!0&&(await e.getIdTokenResult?.())?.claims?.email_verified!==!0;return await e.getIdToken(t||void 0)}catch{return null}}function wn(e){return e?{Authorization:`Bearer ${e}`}:{}}async function Tn(e,t){try{let t=await e.json();if(t&&typeof t.error==`string`&&t.error)return t.error}catch{}return t}async function En(e){let t=await Dn(e);return typeof t==`string`?t:(bn.goTo(t.url),null)}async function Dn(e){try{let t=await Cn(),n=await fetch(`/api/payments/checkout`,{method:`POST`,headers:{"Content-Type":`application/json`,...wn(t)},body:JSON.stringify({...e,origin:window.location.origin})});if(!n.ok)return await Tn(n,`The payment could not be started. Please try again.`);let r=await n.json();return r?.url?{sessionId:String(r.sessionId||``),url:String(r.url)}:`The payment could not be started. Please try again.`}catch{return yn}}async function On(){let e=await Cn();if(!e)return`Sign in to manage your plan.`;try{let t=await fetch(`/api/payments/portal`,{method:`POST`,headers:{"Content-Type":`application/json`,...wn(e)},body:JSON.stringify({origin:window.location.origin})});if(!t.ok)return await Tn(t,`The billing portal could not be opened.`);let n=await t.json();return n?.url?(bn.goTo(String(n.url)),null):`The billing portal could not be opened.`}catch{return yn}}async function kn(e){let t={paid:!1,paymentStatus:null,amountTotal:null,currency:null,customerEmail:null,metadata:{},error:null};if(!e)return{...t,error:`No payment session to confirm.`};try{let n=await fetch(`/api/payments/session/${encodeURIComponent(e)}`);if(!n.ok)return{...t,error:await Tn(n,`That payment could not be found.`)};let r=await n.json();return r?.paid===!0&&($n(),cn()),{paid:r?.paid===!0,paymentStatus:r?.paymentStatus??null,amountTotal:r?.amountTotal??null,currency:r?.currency??null,customerEmail:r?.customerEmail??null,metadata:r?.metadata||{},error:null}}catch{return{...t,error:yn}}}var An={configured:!1,mode:null},jn=5e3,Mn=null,Nn=null,Pn=new Set,Fn=0,In=null,Ln=(e,t)=>!!e&&e.configured===t.configured&&e.mode===t.mode;function Rn(e){if(Ln(Nn,e)){Nn=e;return}Nn=e;for(let t of[...Pn])t(e)}var zn=e=>({configured:e?.configured===!0&&e?.enabled!==!1,mode:e?.mode===`live`||e?.mode===`test`?e.mode:null});function Bn(){return Mn||=Promise.resolve().then(()=>fetch(`/api/payments/status`)).then(e=>e.json()).then(e=>{let t=zn(e);return Rn(t),t}).catch(()=>(Mn=null,Rn(An),An)),Mn}function Vn(){Mn=null,Pn.size&&Bn()}function Hn(){Mn=null,Nn=null,Pn.size&&Bn()}function Un(e){let t=zn(e);Ln(Nn,t)||(Mn=Promise.resolve(t),Rn(t))}var Wn=()=>{typeof document<`u`&&document.visibilityState!==`visible`||Nn?.configured||Vn()};function Gn(){In||=setInterval(()=>{if(!Fn||Nn?.configured){Kn();return}typeof document<`u`&&document.visibilityState===`hidden`||Vn()},jn)}function Kn(){In&&clearInterval(In),In=null}function qn(e=!1){let[t,n]=(0,a.useState)(()=>Nn?{loading:!1,...Nn}:{loading:!0,...An});return(0,a.useEffect)(()=>{let e=!1,t=t=>{e||n({loading:!1,...t})};return Pn.add(t),Pn.size===1&&typeof document<`u`&&document.addEventListener(`visibilitychange`,Wn),Bn().then(t),()=>{e=!0,Pn.delete(t),!Pn.size&&typeof document<`u`&&document.removeEventListener(`visibilitychange`,Wn)}},[]),(0,a.useEffect)(()=>{if(e)return Fn+=1,Gn(),()=>{--Fn,Fn||Kn()}},[e]),t}var Jn=e=>String(e??``).trim(),Yn=e=>{let t={name:Jn(e?.name),phone:Jn(e?.phone),address:Jn(e?.address)};return t.name||t.phone||t.address?t:null};async function Xn(){let e={active:!1,subscriptions:[],payments:[],buyer:null},t=await Cn();if(!t)return{...e,error:null};try{let n=await fetch(`/api/payments/me`,{headers:wn(t)});if(!n.ok)return{...e,error:await Tn(n,`Your payments could not be loaded.`)};let r=await n.json();return{active:r?.active===!0,subscriptions:r?.subscriptions||[],payments:r?.payments||[],buyer:Yn(r?.buyer),error:null}}catch{return{...e,error:yn}}}var Zn=null,Qn=e=>e.subscriptions.length>0||e.payments.length>0;function $n(){Zn=null}function er(e){return(!Zn||Zn.uid!==e)&&(Zn={uid:e,promise:Xn().then(e=>(e.error&&(Zn=null),{bought:Qn(e),buyer:e.buyer,failed:!!e.error}))}),Zn.promise}var tr=e=>er(e).then(e=>e.bought);async function nr(e){if(!e||!(await Bn()).configured)return null;let t=await er(e);if(t.failed)throw Error(`The payments could not be read.`);return t.buyer}function rr(e){let[t,n]=(0,a.useState)(null);return(0,a.useEffect)(()=>{if(!e)return;let t=!1;return tr(e).then(r=>{t||n({uid:e,bought:r})}),()=>{t=!0}},[e]),e?t?.uid===e?{loading:!1,bought:t.bought}:{loading:!0,bought:!1}:{loading:!1,bought:!1}}function ir(){let[e,t]=(0,a.useState)({loading:!0,active:!1,subscriptions:[],payments:[],error:null});return(0,a.useEffect)(()=>{let e=!1,n=x?.currentUser?.uid||``;return Xn().then(r=>{n&&!r.error&&(Zn={uid:n,promise:Promise.resolve({bought:Qn(r),buyer:r.buyer,failed:!1})}),e||t({loading:!1,...r})}),()=>{e=!0}},[]),e}function ar(){let[e,t]=(0,a.useState)({loading:!0,charges:[],subscriptions:[],error:null});return(0,a.useEffect)(()=>{let e=!1,n=n=>{e||t({loading:!1,...n})};return(async()=>{let e=await Cn();if(!e)return n({charges:[],subscriptions:[],error:`Please sign in first.`});try{let t=await fetch(`/api/payments/sales`,{headers:wn(e)});if(!t.ok)return n({charges:[],subscriptions:[],error:await Tn(t,`The sales could not be loaded.`)});let r=await t.json();return n({charges:r?.charges||[],subscriptions:r?.subscriptions||[],error:null})}catch{return n({charges:[],subscriptions:[],error:yn})}})(),()=>{e=!0}},[]),e}var or=4e3,sr=e=>String(e??``).trim();function cr(e,t){return!t?.email||t.emailVerified!==!0||e?.removed===!0?!1:!sr(e?.displayName)&&!sr(t.displayName)}function lr(e,t){if(!t||e?.removed===!0)return null;let n={};return t.name&&!sr(e?.displayName)&&(n.displayName=t.name),t.phone&&!sr(e?.phone)&&(n.phone=t.phone),t.address&&!sr(e?.address)&&(n.address=t.address),Object.keys(n).length?n:null}var ur=`firebase-os:buyer-basics-asked`,dr=e=>{try{return sessionStorage.getItem(`${ur}:${e}`)===`1`}catch{return!1}},fr=e=>{try{sessionStorage.setItem(`${ur}:${e}`,`1`)}catch{}};async function pr(e,t){if(dr(e))return!1;let n=(async()=>{let n=x?.currentUser;if(!n||n.uid!==e||typeof fetch!=`function`)return!1;let r=lr(t,await nr(e));return fr(e),r?(await(0,l.setDoc)((0,l.doc)(S,`user_profiles`,e),r,{merge:!0}),r.displayName&&x.currentUser?.uid===e&&(0,c.updateProfile)(x.currentUser,{displayName:r.displayName}).catch(()=>{}),!!r.displayName):!1})().catch(()=>!1),r=new Promise(e=>setTimeout(()=>e(!1),or));return Promise.race([n,r])}var mr=e=>`fbos_verify_sent_${e}`,hr=e=>{if(!e)return!1;try{return localStorage.getItem(mr(e))===`1`}catch{return!1}},gr=e=>{if(e)try{localStorage.setItem(mr(e),`1`)}catch{}},_r=e=>{if(e)try{localStorage.removeItem(mr(e))}catch{}};async function vr(e){if(!e?.uid||!e.email)return`failed`;if(hr(e.uid))return`already`;try{return await(0,c.sendEmailVerification)(e),gr(e.uid),`sent`}catch{return`failed`}}var yr={collection:`sys_configs`,doc:`auth_methods`},br=[`Open console.firebase.google.com and pick your project.`,`In the menu on the left open Authentication, then the Sign-in method tab.`],xr=`https://console.firebase.google.com/`;function Sr(){try{let e=x;return String(e?.app?.options?.authDomain||e?.config?.authDomain||``)}catch{return``}}var Cr=e=>e?`https://${e}/__/auth/handler`:``,wr=()=>{try{let e=typeof window<`u`?String(window.location?.origin||``):``;return/^https?:\/\//.test(e)?e:``}catch{return``}},Tr=`This is where your app is running right now. When you publish it to your own domain, come back and change this to that address.`,Er=`Open the Settings tab, find SMS region policy, and allow every country your people might be signing in from — not only your own. A country left off gets no text at all, and the person waiting for the code is told nothing.`,Dr=[{id:`password`,label:`Email and password`,description:`A password they choose when they register.`,inSentence:`a password`,kind:`signIn`,defaultOn:!0,needsSetup:!1,providerId:`password`,steps:[`Click Email/Password and switch it on.`]},{id:`emailLink`,label:`Email link, no password`,description:`You email them a link. Nothing to remember, nothing to reset.`,inSentence:`an emailed link`,kind:`signIn`,defaultOn:!0,needsSetup:!0,button:`Email me a link`,providerId:`emailLink`,setupTitle:`Set up passwordless sign-in`,steps:[`Click Email/Password, switch on Email link (passwordless sign-in), and save.`]},{id:`google`,label:`Google`,description:`One tap with a Google account.`,inSentence:`Google`,kind:`signIn`,defaultOn:!0,needsSetup:!1,button:`Continue with Google`,providerId:`google.com`,steps:[`Click Add new provider, choose Google, and follow the steps.`]},{id:`phone`,label:`Phone number`,description:`A code by text, and no email at all.`,inSentence:`a phone number`,kind:`signIn`,defaultOn:!1,needsSetup:!0,button:`Continue with a phone number`,providerId:`phone`,steps:[`Click Add new provider, choose Phone, and enable it.`,Er,`While you are on the Phone provider, open "Phone numbers for testing" and add one: a number and a six-digit code you make up. Signing in with that pair never sends a text, so you can try the whole thing on your own, as often as you like, for nothing.`]},{id:`github`,label:`GitHub`,description:`A GitHub account — for an app your developers use.`,inSentence:`GitHub`,kind:`signIn`,defaultOn:!1,needsSetup:!0,button:`Continue with GitHub`,providerId:`github.com`,steps:[`Click Add new provider, choose GitHub, and paste in the two things below.`],setup:{where:`GitHub`,url:`https://github.com/settings/developers`,asksFor:[`Client ID`,`Client secret`],steps:[{text:`Sign in at github.com and open Settings → Developer settings → OAuth Apps, then click New OAuth App.`},{text:`Give it a name your people will recognise — it is what they see when GitHub asks them to allow it — and put your own app's address in Homepage URL.`,copy:{label:`Homepage URL`,address:`home`,note:Tr}},{text:`Paste the address below into Redirect URI, then click Register application.`,copy:{label:`Redirect URI`,address:`callback`,note:`Some GitHub screens call this same box Authorization callback URL.`}},{text:`Copy the Client ID off the page that comes back, then click Generate a new client secret and copy that too. GitHub shows a secret once.`},{text:`Back in Firebase, paste the Client ID and the Client secret into the GitHub panel and click Save.`}]}},{id:`twitter`,label:`X`,description:`An X account, the one that used to be called Twitter.`,inSentence:`X`,kind:`signIn`,defaultOn:!1,needsSetup:!0,button:`Continue with X`,providerId:`twitter.com`,steps:[`Click Add new provider and choose Twitter. Firebase still lists X under its old name, with the old blue bird beside it — that is the right one.`,`Paste in the two things below. Firebase calls them API key and API secret; X calls the same pair the Consumer Key and Consumer Secret, and the steps say where to find them.`],setup:{where:`the X developer portal`,url:`https://developer.x.com/en/portal/dashboard`,asksFor:[`API key`,`API secret`],steps:[{text:`Sign in at developer.x.com and open the developer portal.`},{text:`Click Create an app, give it a name, leave the project as the default one X offers, and create it.`},{text:`X throws a window of credentials at you the moment the app exists. Close it. None of what is in it is what Firebase wants, and the right pair is the last step here.`},{text:`Click the app's name and find User authentication settings, then click Set up. Leave every setting on that screen as X has set it, apart from the two addresses and the one tick below.`},{text:`Website URL is your own app's address.`,copy:{label:`Website URL`,address:`home`,note:Tr}},{text:`Callback URI / Redirect URL, on the same screen, is this.`,copy:{label:`Callback URI / Redirect URL`,address:`callback`}},{text:`Tick "Request email from users" before you leave that screen. Leave it off and everybody who signs in with X arrives with no email address at all — no way for you to write to them, and a verification screen that has nothing to send to. X asks for a Terms of service and a Privacy policy address before it will let you tick it.`},{text:`Click Save changes. X answers with a Client ID and a Client Secret. Close that one too — still not the pair Firebase is asking for.`},{text:`Back on the app, open Keys and tokens. Under OAuth 1.0, press Regenerate beside Consumer Key — which X also calls the API Key and API Key Secret. Copy both halves while they are on the screen: X shows them once. Leave the access tokens alone while you are on that page: the Generate button under Access Token is for reading X from your own account, and this app never does that.`},{text:`Back in Firebase, paste the Consumer Key into API key and the Consumer Secret into API secret, then click Save.`}],warning:`X hands you a Client ID and a Client Secret twice before it hands you the right pair — once when the app is made, and again when you save the authentication screen. Both of those are X's newer OAuth 2.0 pair, which Firebase does not use: paste them in and the sign-in fails with "invalid credential" the first time somebody presses the button. The pair Firebase wants is the Consumer Key and Consumer Secret, on Keys and tokens, under OAuth 1.0.`}},{id:`sms2fa`,label:`Two-step sign-in`,description:`After the password, a code by text before they are let in.`,inSentence:`a text code`,kind:`security`,defaultOn:!1,needsSetup:!0,steps:[`In the Advanced section below the providers, find SMS Multi-factor Authentication and click Enable.`,Er]}],Or=e=>Dr.find(t=>t.id===e),kr=Dr.filter(e=>e.kind===`signIn`),Ar=e=>e===`internal`||t.v(e);function jr(e){if(!Array.isArray(e))return[];let t=[];for(let n of e){let e=String(n??``).trim();Ar(e)&&!t.includes(e)&&t.push(e)}return t}var Mr=()=>{let e={};for(let t of Dr)e[t.id]=t.defaultOn;return{on:e,registerAs:{on:!1,roles:[]},twoStepOptional:!1,finishRegistration:{skippable:!0,perRole:!1}}};function Nr(e){let t=Mr(),n=e?.methods&&typeof e.methods==`object`?e.methods:{};for(let e of Dr)typeof n[e.id]==`boolean`&&(t.on[e.id]=n[e.id]);let r=e?.registerAs&&typeof e.registerAs==`object`?e.registerAs:{};t.registerAs={on:r.on===!0,roles:jr(r.roles)},t.twoStepOptional=e?.twoStepOptional===!0;let i=e?.finishRegistration&&typeof e.finishRegistration==`object`?e.finishRegistration:{};return t.finishRegistration={skippable:i.required!==!0,perRole:i.perRole===!0},t}function Pr(e,t){if(!e.registerAs.on)return[];let n=e.registerAs.roles.includes(`internal`)?[{id:`internal`,name:Ge(`internal`,t)}]:[],r=e.registerAs.roles.map(e=>t.find(t=>t.id===e)).filter(e=>!!e).sort((e,t)=>e.name.localeCompare(t.name)).map(e=>({id:e.id,name:e.name}));return[...n,...r]}var Fr=(e,t,n)=>Pr(e,n).find(e=>e.id===String(t??``))??null;function Ir(e,t){let n=String(t||e).trim()||e;return e===`internal`?n===Ne.internal?`one of our team`:`one of ${n}`:`${/^[aeiou]/i.test(n)?`an`:`a`} ${n}`}function Lr(e){let t=e.map(e=>Ir(e.id,e.name).replace(`one of our team`,`one of your team`));return t.length?`People can register as ${t.length===1?t[0]:`${t.slice(0,-1).join(`, `)} or ${t[t.length-1]}`}.`:``}function Rr(e){let t=kr.filter(t=>e.on[t.id]);return t.length>0?t:kr.filter(e=>e.id===`password`)}var zr=e=>Rr(e).some(e=>e.id===`password`);function Br(e){let t=Rr(e).map(e=>e.inSentence);return t.length===1?t[0]:`${t.slice(0,-1).join(`, `)} and ${t[t.length-1]}`}function Vr(e,t){let n=Or(t);return!n||n.kind!==`signIn`||kr.filter(n=>n.id!==t&&e.on[n.id]).length>0?``:`Keep at least one way to sign in — switch another one on first, then this one off.`}var Hr=e=>`${Or(e)?.label??`This way of signing in`} is not switched on in your Firebase project yet. An admin can switch it on there, on the Sign in screen's own instructions.`,Ur=null,Wr=null,Gr=null,Kr=null;function qr(e){Gr=e,Ur?.forEach(t=>t(e))}var Jr=6e3,Yr=null;function Xr(e){Yr&&=(clearTimeout(Yr),null),Kr=e,qr(e)}function Zr(e){let t=!Ur;return Ur||=new Set,Ur.add(e),t?(Kr||(Yr=setTimeout(()=>{Yr=null,Kr||Xr(Mr())},Jr)),Wr=(0,l.onSnapshot)((0,l.doc)(S,yr.collection,yr.doc),e=>Xr(Nr(e.exists()?e.data():null)),()=>{Kr||Xr(Mr())})):Gr&&e(Gr),()=>{Ur?.delete(e),!Ur?.size&&(Yr&&=(clearTimeout(Yr),null),Wr?.(),Ur=null,Wr=null)}}function Qr(){let[e,t]=(0,a.useState)(()=>Gr?{loading:!1,settings:Gr}:{loading:!0,settings:Mr()});(0,a.useEffect)(()=>Zr(e=>t({loading:!1,settings:e})),[]);let n=()=>Gr??e.settings,r=e=>(0,l.setDoc)((0,l.doc)(S,yr.collection,yr.doc),e,{merge:!0}),i=`That could not be saved — check you are still signed in as an admin, then try again.`,o=async(e,t)=>{if(!t){let t=Vr(n(),e);if(t)return t}let a=n().on[e];qr({...n(),on:{...n().on,[e]:t}});try{return await r({methods:{[e]:t}}),null}catch{let t=n(),r=Kr?Kr.on[e]:a;return qr({...t,on:{...t.on,[e]:r}}),i}},s=async e=>{let t=n().registerAs,a={on:e.on??t.on,roles:jr(e.roles??t.roles)};qr({...n(),registerAs:a});try{return await r({registerAs:a}),null}catch{return qr({...n(),registerAs:Kr?Kr.registerAs:t}),i}},c=async e=>{let t=n().twoStepOptional;qr({...n(),twoStepOptional:e});try{return await r({twoStepOptional:e}),null}catch{return qr({...n(),twoStepOptional:Kr?Kr.twoStepOptional:t}),i}},u=async e=>{let t=n().finishRegistration,a={skippable:e.skippable??t.skippable,perRole:e.perRole??t.perRole};qr({...n(),finishRegistration:a});try{return await r({finishRegistration:{required:!a.skippable,perRole:a.perRole}}),null}catch{return qr({...n(),finishRegistration:Kr?Kr.finishRegistration:t}),i}};return{...e.settings,loading:e.loading,set:o,setRegisterAs:s,setTwoStepOptional:c,setFinishRegistration:u}}var $r=`fbos_register_as`,ei=[`/register`,`/login`],ti=()=>{try{return typeof window<`u`?window.sessionStorage:null}catch{return null}};function ni(e,t=Date.now()){if(Ar(e))try{ti()?.setItem($r,JSON.stringify({id:e,at:t}))}catch{}}function ri(){try{ti()?.removeItem($r)}catch{}}function ii(e,t=Date.now()){let n=ti();if(!n)return``;let r=null;try{r=n.getItem($r),r!==null&&n.removeItem($r)}catch{return``}if(!r||!ei.includes(String(e||``).replace(/\/+$/,``)||`/`))return``;try{let{id:e,at:n}=JSON.parse(r);return typeof n!=`number`||t-n>36e5||t<n?``:Ar(e)?String(e):``}catch{return``}}function ai(e,t,n=Date.now()){if(!t||!Ar(t)||e?.removed===!0)return null;let r=e?.role;return r&&r!==`user`&&r!==`free`||e?.requestedRole===t?null:{requestedRole:t,requestedRoleAt:new Date(n).toISOString()}}var oi=()=>({requestedRole:(0,l.deleteField)(),requestedRoleAt:(0,l.deleteField)()});function si(e){let t=e?.requestedRole;return Ar(t)?{role:String(t),at:typeof e?.requestedRoleAt==`string`?e.requestedRoleAt:``}:null}var ci=(e,t)=>`Register as ${Ir(e,t)}`,li=(e,t)=>`Asked to be ${Ir(e,t)}`,ui=`Your registration goes to an admin for approval. Until then everything works as usual.`,di=`Your registration is pending approval`,fi=`We'll let you know as soon as it's approved. Everything else works as usual.`,pi=()=>({title:`Your registration has been approved`,body:`Everything that was waiting on it is open to you now.`,link:`/dashboard`}),mi=()=>({title:`Your registration was not approved`,body:`You still have your account, and everything works as usual.`,link:`/dashboard`}),hi=()=>{if(!x)throw Error(`Firebase is not initialized. Check your configuration.`);return x};function gi(e){switch(Or(e)?.providerId){case`google.com`:return new c.GoogleAuthProvider;case`github.com`:return new c.GithubAuthProvider;case`twitter.com`:return new c.TwitterAuthProvider;default:return null}}var _i=e=>gi(e)!==null;async function vi(e){let t=gi(e);if(!t)throw Error(`${Or(e)?.label??e} is not a one-button sign-in.`);try{return await(0,c.signInWithPopup)(hi(),t),`done`}catch(n){if(n?.code===`auth/popup-blocked`||n?.code===`auth/popup-closed-by-user`||n?.code===`auth/cancelled-popup-request`){let{signInWithRedirect:n}=await import(`firebase/auth`);try{sessionStorage.setItem(Ai,e)}catch{}return await n(hi(),t),`redirecting`}throw n}}var yi=`firebase-os:sign-in-link-email`,bi=`email`;async function xi(e,t=`/login`){let n=new URL(t,window.location.origin);n.searchParams.set(bi,e),await(0,c.sendSignInLinkToEmail)(hi(),e,{url:n.toString(),handleCodeInApp:!0});try{localStorage.setItem(yi,e)}catch{}}function Si(e=window.location.href){try{return(0,c.isSignInWithEmailLink)(hi(),e)}catch{return!1}}function Ci(){try{return localStorage.getItem(`firebase-os:sign-in-link-email`)||``}catch{return``}}function wi(e=window.location.href){let t=Ci();if(t)return t;try{let t=String(new URL(e).searchParams.get(`email`)||``).trim();return/^[^\s@]+@[^\s@]+$/.test(t)?t:``}catch{return``}}async function Ti(e,t=window.location.href){let{user:n}=await(0,c.signInWithEmailLink)(hi(),e,t);try{await n.getIdToken(!0)}catch{}try{localStorage.removeItem(yi)}catch{}}async function Ei(e,t){return Di(t,t=>(0,c.signInWithPhoneNumber)(hi(),e,t))}async function Di(e,t){let n=new c.RecaptchaVerifier(hi(),e,{size:`invisible`});try{return await t(n)}finally{try{n.clear()}catch{}}}function Oi(e,t){let n=Or(t)?.providerId;try{switch(n){case`google.com`:return c.GoogleAuthProvider.credentialFromError(e);case`github.com`:return c.GithubAuthProvider.credentialFromError(e);case`twitter.com`:return c.TwitterAuthProvider.credentialFromError(e);default:return null}}catch{return null}}var ki=`firebase-os:refused-credential`,Ai=`firebase-os:redirecting-with`,ji=`firebase-os:redirect-failure`,Mi=null;function Ni(e,t){if(!e)return;let n=String(t||``).trim().toLowerCase();Mi={credential:e,email:n};try{let t=typeof e.toJSON==`function`?e.toJSON():null;t&&sessionStorage.setItem(ki,JSON.stringify({email:n,json:t}))}catch{}}var Pi=()=>{if(Mi)return!0;try{return!!sessionStorage.getItem(ki)}catch{return!1}};function Fi(){Mi=null;try{sessionStorage.removeItem(ki)}catch{}}async function Ii(){if(Mi){let e=Mi;return Fi(),e}let e=null;try{e=sessionStorage.getItem(ki)}catch{return null}if(Fi(),!e)return null;try{let{email:t,json:n}=JSON.parse(e),{OAuthCredential:r}=await import(`firebase/auth`),i=r.fromJSON(n);return i?{credential:i,email:String(t||``)}:null}catch{return null}}async function Li(){let e=await Ii(),t=x?.currentUser;if(!e||!t)return;let n=String(t.email||``).trim().toLowerCase();e.email&&n&&e.email!==n||await Bi(e.credential)}function Ri(e){let t=null;try{t=sessionStorage.getItem(Ai)||null,sessionStorage.removeItem(Ai)}catch{}let n=String(e?.code||``);if(!n)return;let r=String(e?.customData?.email||e?.email||``);t&&Ni(Oi(e,t),r);try{sessionStorage.setItem(ji,JSON.stringify({id:t||`google`,code:n,email:r}))}catch{}}function zi(){let e=null;try{e=sessionStorage.getItem(ji),e&&sessionStorage.removeItem(ji)}catch{return null}if(!e)return null;try{let{id:t,code:n,email:r}=JSON.parse(e);return{id:t,err:{code:String(n||``),customData:{email:String(r||``)}}}}catch{return null}}async function Bi(e){let t=x?.currentUser;if(!(!e||!t))try{await(0,c.linkWithCredential)(t,e)}catch(e){console.warn(`That way in could not be added to the account. The sign-in itself stands.`,e)}}var Vi=e=>Dr.find(t=>t.providerId===e)?.id;async function Hi(e){if(e)try{let t=await(0,c.fetchSignInMethodsForEmail)(hi(),e);for(let e of t){let t=Vi(e);if(t)return t}}catch{}}async function Ui(e,t,n,r={}){let i=e?.code||``,a=String(e?.message||``);if(i===`auth/operation-not-allowed`)return{text:Hr(t)};if(i===`auth/account-exists-with-different-credential`){let n=String(e?.customData?.email||e?.email||r.email||``),i=await Hi(n),a=i?Or(i)?.label:``,o=Oi(e,t)??void 0;o&&Ni(o,n);let s=o||Pi()?` Both will work after that.`:``;return{text:a?`That email is already yours here — you set it up with ${a}. Sign in with ${a} and you are straight back in.${s}`:`That email is already yours here, set up a different way. Sign in the way you did the first time and you are straight back in.${s}`,tryInstead:i,pending:o}}if(i===`auth/email-already-in-use`){let t=await Hi(String(r.email||e?.customData?.email||``)),n=t?Or(t)?.label:``;return{text:n&&t!==`password`?`That email already has an account here — it was set up with ${n}. Sign in with ${n} and you are straight back in.`:`That email already has an account here. Sign in with it instead — and if you have forgotten the password, the sign-in page can reset it.`,tryInstead:t}}return i===`auth/invalid-credential`||i===`auth/user-not-found`||i===`auth/wrong-password`||i===`auth/invalid-login-credentials`?{text:`That email and password do not match. Check both — or, if you first came in with one of the buttons, use that button.`}:i===`auth/user-disabled`?{text:`This account has been switched off. If you think that is a mistake, ask whoever runs the app.`}:i===`auth/invalid-email`?t===`emailLink`?{text:`That is not the address this link was sent to. Type the one you asked us to send it to.`}:{text:`That does not look like an email address. Check it and try again.`}:i===`auth/missing-email`?{text:`Type your email address first.`}:i===`auth/missing-password`?{text:`Type your password first.`}:i===`auth/weak-password`?{text:`That password is too easy to guess. Make it longer, and mix letters and numbers.`}:i===`auth/unauthorized-domain`||a.includes(`requested action is invalid`)?{text:`This app's address is not on your Firebase project's allowed list yet. An admin can add it: Firebase console → Authentication → Settings → Authorized domains.`}:i===`auth/unauthorized-continue-uri`||i===`auth/invalid-continue-uri`?{text:`The link would bring you back to ${(()=>{try{return typeof window>`u`?``:window.location.hostname}catch{return``}})()||`this app's address`}, which this app's Firebase project does not know — so Firebase would not send it. An admin can add it: Firebase console → Authentication → Settings → Authorized domains.`}:i===`auth/invalid-api-key`||i===`auth/app-not-authorized`||i===`auth/configuration-not-found`||i===`auth/api-key-not-valid.-please-pass-a-valid-api-key.`?{text:`This app is not connected to its Firebase project properly. If this app is yours, check the Firebase details on the setup screen.`}:i===`auth/network-request-failed`?{text:`We could not reach the sign-in service. Check your internet connection and try again.`}:i===`auth/invalid-phone-number`?{text:`That does not look like a phone number. Check the country and the digits after it.`}:i===`auth/missing-phone-number`?{text:`Type your phone number first.`}:i===`auth/invalid-verification-code`?{text:`That code is not right. Check the text message and type it again.`}:i===`auth/code-expired`?{text:`That code has expired. Press "Send it again" and a new one will come straight through.`}:i===`auth/captcha-check-failed`?{text:`The check that you are not a robot did not pass. Reload the page and try again.`}:i===`auth/quota-exceeded`?{text:`This app has sent as many text messages as it is allowed to for now. Try again later, or sign in another way.`}:i===`auth/too-many-requests`?{text:`Too many tries from here just now. Wait a few minutes and it will let you through again.`}:i===`auth/invalid-action-code`||i===`auth/expired-action-code`?t===`emailLink`?{text:`That link has been used already, has expired, or was sent to a different address from the one you typed. Ask for a new one and it will come straight through.`}:{text:`That link has been used already, or it has expired. Ask for a new one and it will come straight through.`}:i===`auth/credential-already-in-use`||i===`auth/provider-already-linked`?{text:`That way of signing in already belongs to an account here. Sign in with it directly.`}:i===`auth/user-token-expired`||i===`auth/user-mismatch`||i===`auth/null-user`?{text:`Your sign-in has run out. Sign in again and carry on from there.`}:i===`auth/popup-blocked`||i===`auth/popup-closed-by-user`||i===`auth/cancelled-popup-request`?{text:`The sign-in window was closed before it finished. Press the button again and let it open.`}:i===`auth/requires-recent-login`?{text:`For safety this needs a fresh sign-in. Sign out, sign back in, and set it up straight away.`}:i===`auth/unverified-email`?{text:`Verify your email address first, then come back and set this up — the link is in your inbox.`}:i===`auth/unsupported-first-factor`?{text:`A text code can only be added to an account with a password. The way you signed in has its own checks already.`}:i===`auth/second-factor-already-in-use`?{text:`That number is already the second step on another account here. Use a different one.`}:i===`auth/maximum-second-factor-count-exceeded`?{text:`This account already has as many second steps as Firebase allows. Remove one before adding another.`}:i===`auth/missing-multi-factor-session`||i===`auth/invalid-multi-factor-session`?{text:`That took too long. Start again and the code will come straight through.`}:i===`auth/missing-verification-code`?{text:`Type the code from the text message first.`}:((i||a)&&console.warn(`[signIn] a failure with no words of its own:`,i||a),{text:n})}var Wi=[3e3,6e3,12e3,2e4,3e4,6e4],Gi=900*1e3,Ki=`fbos_rules_copied`,qi=e=>{let t=e?.code;return t===`permission-denied`||t===`not-found`};function Ji(e,t=Date.now()){try{localStorage.setItem(Ki,JSON.stringify({emails:e.map(e=>e.trim().toLowerCase()).filter(Boolean),at:t}))}catch{}}function Yi(e,t=Date.now()){if(!e)return!1;try{let n=JSON.parse(localStorage.getItem(Ki)||`null`);return!n||!Array.isArray(n.emails)||typeof n.at!=`number`||t<n.at||t-n.at>36e5?!1:n.emails.includes(e.trim().toLowerCase())}catch{return!1}}var Xi=`fbos_rules_typed`;function Zi(){try{return localStorage.getItem(Xi)||``}catch{return``}}function Qi(e){try{localStorage.setItem(Xi,e)}catch{}}function $i(e=Wi,t=Gi){let n,r,i=0,a=null,o=()=>{n!==void 0&&clearTimeout(n),n=void 0},s=()=>{o();let e=r;r=void 0,e?.()};return{later(c){o(),r=c;let l=Date.now();a===null&&(a=l),!(l-a>=t)&&(n=setTimeout(s,e[Math.min(i,e.length-1)]),i+=1)},now(){r&&s()},stop(){o(),r=void 0,i=0,a=null},get waiting(){return r!==void 0}}}var ea=(0,a.createContext)({user:null,userRole:null,accessLevel:`free`,isInternal:!1,isAdmin:!1,loading:!0,signOut:async()=>{},registerUser:async()=>{},refreshUser:async()=>{},userInactive:!1,roleResolved:!1,roleConfirmed:!1,requestedRole:null,profile:null,profileReady:!1,activeOrg:null,activeWorkspace:null,checkOrg:async()=>{},workspaceAccess:{},userWorkspaces:[],switchWorkspace:async()=>{},createWorkspace:async()=>{},createOrg:async()=>{}});async function ta(e,{deleteLogin:t=!0}={}){if(t)try{return await(0,c.deleteUser)(e),`deleted`}catch{}try{return await(0,c.signOut)(x),`signed-out`}catch{return`failed`}}function na(e,t){if(e?.removed!==!0)return!1;let n=typeof t==`number`?t:Date.parse(String(t||``));return Number.isFinite(n)?n>(Number(e.removedMs)||0):!1}var ra=/user_avatars(?:\/|%2F)/i;async function ia(e,t){let n=null;try{n=(await e.getIdTokenResult()).authTime}catch{return`too-early`}if(!na(t,n))return`too-early`;let r=ua(null,{uid:e.uid,email:e.email,displayName:e.displayName,phone:e.phoneNumber});try{await(0,l.setDoc)((0,l.doc)(S,`user_profiles`,e.uid),r)}catch{return`refused`}return ra.test(e.photoURL||``)&&(0,c.updateProfile)(e,{photoURL:null}).catch(()=>{}),`started`}var aa=e=>`fbos_role2_${e}`,oa=e=>{try{return localStorage.getItem(aa(e))}catch{return null}},sa=(e,t)=>{try{localStorage.setItem(aa(e),t)}catch{}},ca=e=>{try{localStorage.removeItem(aa(e))}catch{}},la=e=>{try{localStorage.removeItem(`fbos_role_${e}`)}catch{}};function ua(e,t,n=Date.now()){if(e?.removed===!0)return null;let r=e||{},i=Date.parse(String(r.lastLoginAt||``)),a=Number.isFinite(i)&&n-i<36e5&&i<=n,o=t.email||r.email||null,s=t.phone||r.phone||null;if(e&&r.uid===t.uid&&r.email===o&&(r.phone??null)===s&&r.createdAt&&(!t.displayName||r.displayName===t.displayName)&&a)return null;let c=new Date(n).toISOString();return{uid:t.uid,email:o,phone:s,displayName:t.displayName||r.displayName||``,lastLoginAt:c,createdAt:r.createdAt||c}}function da({children:e,onSignedOut:n,onRemoved:r}){let[i,s]=(0,a.useState)(null),[u,d]=(0,a.useState)(null),[f,p]=(0,a.useState)(!1),[m,h]=(0,a.useState)(!0),[g,_]=(0,a.useState)(!1),[v,y]=(0,a.useState)(!1),[b,C]=(0,a.useState)(null),[w,T]=(0,a.useState)(null),[ee,E]=(0,a.useState)(!1),D=a.default.useRef(null),te=a.default.useRef(null),ne=a.default.useRef(null),O=a.default.useRef(``),k=a.default.useRef(null),A=a.default.useRef(n);A.current=n;let re=a.default.useRef(r);re.current=r;let j=a.default.useRef(null),M=a.default.useRef(null),N=a.default.useRef(null),P=a.default.useRef(null),ie=a.default.useRef(null),F=a.default.useRef(null),I=a.default.useRef(null),L=a.default.useRef($i()),R=a.default.useRef(null),ae=a.default.useRef(null),z=a.default.useRef(null),oe=(e,{certain:t=!1}={})=>{if(k.current!==e)return;if(t)R.current=e;else if(R.current!==e&&!Yi(x.currentUser?.email))return;let n=z.current;n?.uid===e&&L.current.later(n.run)},se=a.default.useRef(new Set),ce=e=>(0,l.updateDoc)((0,l.doc)(S,`user_profiles`,e),{role:`admin`}),le=async(e,{again:t=!1}={})=>{if(!(se.current.has(e)&&!t)){se.current.add(e);try{await ce(e)}catch(t){if(t?.code!==`permission-denied`){console.error(`Error claiming the admin role:`,t);return}try{if(!x.currentUser)return;await x.currentUser.getIdToken(!0),await ce(e)}catch(t){if(t?.code!==`permission-denied`){console.error(`Error claiming the admin role:`,t);return}oe(e)}}}};return(0,a.useEffect)(()=>{let e,n=L.current;if(!x){h(!1),_(!0),E(!0);return}(0,c.getRedirectResult)(x).then(e=>{e?.user&&Li()}).catch(e=>{e?.code&&Ri(e)});let r=(0,c.onAuthStateChanged)(x,async n=>{if(n?.uid===k.current&&g){s(n);return}let r=k.current;if(k.current=n?.uid||null,n){O.current=ii(typeof window<`u`?window.location.pathname:``),y(!1),n.uid!==r&&(P.current=null,L.current.stop(),R.current=null,ae.current=null),r!==n.uid&&E(!1),la(n.uid);let i=oa(n.uid);i?(d(i),_(!0),h(!1)):_(!1),s(n);try{let r=(0,l.doc)(S,`user_profiles`,n.uid),i=e=>{console.error(`[AuthContext] the profile could not be read to the end:`,e),F.current=null,I.current=null,_(!0),y(!0),E(!0),h(!1)},a=(e,{deleteLogin:t})=>{j.current=n.uid,M.current!==n.uid&&(M.current=n.uid,ta(n,{deleteLogin:t}).then(e=>{e===`failed`&&(M.current=null)})),d(null),P.current=null,ca(n.uid),p(!0),C(null),T(e),_(!0),y(!0),E(!0),h(!1)},o=e=>{try{let i=e.exists()?e.data():null,o=e.metadata?.hasPendingWrites===!0;if(o||(ae.current={uid:n.uid,data:i},(i?.role||i?.removed)&&L.current.stop()),i?.removed===!0){let e=N.current?.uid===n.uid?N.current:null;if(!e){N.current={uid:n.uid,state:`asking`};let e=i;d(null),P.current=null,ca(n.uid),ia(n,e).catch(()=>`too-early`).then(t=>{N.current?.uid!==n.uid||k.current!==n.uid||(N.current={uid:n.uid,state:t},t!==`started`&&a(e,{deleteLogin:t===`refused`}))});return}if(e.state===`asking`)return;a(i,{deleteLogin:e.state===`refused`});return}if(o&&N.current?.uid===n.uid&&N.current.state===`asking`)return;let s=null;if(ne.current!==n.uid){ne.current=n.uid;let e=ua(i,{uid:n.uid,email:n.email,displayName:n.displayName,phone:n.phoneNumber});i&&e&&(s=e);let t=ai(i,O.current);O.current=``,(e||t)&&(i||(F.current=n.uid),(0,l.setDoc)(r,{...e||{},...t||{}},{merge:!0}).catch(e=>{e?.code===`permission-denied`?(console.warn(`This account may not update its own profile — it has been deactivated, or its address is not verified yet.`),oe(n.uid)):console.error(`Failed to sync profile:`,e)}).finally(()=>{F.current===n.uid&&(F.current=null,I.current!==n.uid&&E(!0))}));let a={...i||{},...e||{}};cr(a,n)&&(I.current=n.uid,pr(n.uid,a).finally(()=>{I.current===n.uid&&(I.current=null,F.current!==n.uid&&E(!0))}))}if(i){let e=Qt(i);o?e=P.current??`user`:P.current=e,!o&&te.current!==n.uid&&Zt(i)&&t.t(x.currentUser)&&(te.current=n.uid,en(n.uid,i)),!o&&!i.role&&!i.removed&&x.currentUser?.emailVerified&&le(n.uid),D.current===null&&(D.current=e),d(e),sa(n.uid,e),p(i.inactive===!0),C(si(i)?.role??null),T(s?{...i,...s}:i)}else d(null),o||(P.current=null),ca(n.uid),p(!1),C(null),T(null);_(!0),y(!0),(i||F.current!==n.uid)&&I.current!==n.uid&&E(!0),h(!1)}catch(e){i(e)}},s=e=>{_(!0),F.current=null,I.current=null,E(!0),h(!1),qi(e)&&oe(n.uid,{certain:!0})},c=()=>{e&&e(),e=(0,l.onSnapshot)(r,{includeMetadataChanges:!0},o,s)};z.current={uid:n.uid,run:()=>{k.current===n.uid&&(ne.current=null,se.current.delete(n.uid),c())}},c()}catch(e){console.error(`[AuthContext] ERROR in auth resolution:`,e),_(!0),F.current=null,I.current=null,E(!0),h(!1)}}else{if(r){let e=j.current===r;e&&(j.current=null),(e&&re.current||A.current)?.()}s(null),d(null),p(!1),C(null),T(null),_(!0),y(!1),E(!1),h(!1),D.current=null,P.current=null,ie.current=null,O.current=``,te.current=null,ne.current=null,F.current=null,I.current=null,N.current=null,M.current=null,L.current.stop(),R.current=null,ae.current=null,z.current=null,e&&e()}});return()=>{r(),n.stop(),e&&e()}},[]),(0,a.useEffect)(()=>{if(typeof window>`u`)return;let e=0,t=()=>{if(typeof document<`u`&&document.visibilityState===`hidden`)return;let t=k.current;if(!t||Date.now()-e<2e3)return;let n=L.current;if(n.waiting){e=Date.now(),n.now();return}let r=ae.current,i=r?.uid===t&&!r.data?.role&&!r.data?.removed,a=z.current;i&&a?.uid===t&&Yi(x.currentUser?.email)&&(e=Date.now(),a.run())};return document.addEventListener(`visibilitychange`,t),window.addEventListener(`focus`,t),()=>{document.removeEventListener(`visibilitychange`,t),window.removeEventListener(`focus`,t)}},[]),(0,a.useEffect)(()=>{let e=i?.uid??null,t=i?.emailVerified===!0,n=ie.current,r=!!e&&!!n&&n.uid===e&&!n.verified&&t;if(ie.current=e?{uid:e,verified:t}:null,!r||u===`admin`)return;let a=!1;return(0,l.getDoc)((0,l.doc)(S,`user_profiles`,i.uid)).then(e=>{!a&&e.exists()&&!e.data().role&&!e.data().removed&&le(i.uid,{again:!0})}).catch(()=>{}),()=>{a=!0}},[i?.uid,i?.emailVerified,u]),(0,o.jsx)(ea.Provider,{value:{user:i,userRole:u,accessLevel:t.b(u),isInternal:t.p(u),isAdmin:t.h(u),loading:m,signOut:async()=>{await(0,c.signOut)(x),s(null)},registerUser:async(e,t,n,r)=>{let{createUserWithEmailAndPassword:i}=await import(`firebase/auth`),{user:a}=await i(x,e,t),o=`${n} ${r}`.trim();await(0,c.updateProfile)(a,{displayName:o}).catch(e=>{console.warn(`The name could not be put on the sign-in; the profile carries it.`,e)});try{await a.getIdToken(!0),await(0,l.setDoc)((0,l.doc)(S,`user_profiles`,a.uid),{uid:a.uid,email:a.email,displayName:o,createdAt:new Date().toISOString()},{merge:!0})}catch(e){console.warn(`Could not write public profile on registration.`,e)}try{await(0,c.sendEmailVerification)(a),gr(a.uid)}catch(e){console.warn(`The verification mail could not be sent at registration; /verify sends it.`,e)}},refreshUser:async()=>{x.currentUser&&(await x.currentUser.reload(),s(Object.assign(Object.create(x.currentUser),{photoURL:x.currentUser.photoURL,displayName:x.currentUser.displayName,email:x.currentUser.email,emailVerified:x.currentUser.emailVerified})))},userInactive:f,roleResolved:g,roleConfirmed:v,requestedRole:b,profile:w,profileReady:ee},children:e})}var fa=()=>(0,a.useContext)(ea),pa=(0,a.createContext)({});function ma(e){let t=(0,a.useRef)(null);return t.current===null&&(t.current=e()),t.current}var ha=typeof window<`u`?a.useLayoutEffect:a.useEffect,ga=(0,a.createContext)(null);function _a(e,t){e.indexOf(t)===-1&&e.push(t)}function va(e,t){let n=e.indexOf(t);n>-1&&e.splice(n,1)}var ya=(e,t,n)=>n>t?t:n<e?e:n;function ba(e,t){return t?`${e}. For more information and steps for solving, visit https://motion.dev/troubleshooting/${t}`:e}var xa=()=>{},Sa=()=>{};typeof process<`u`&&process.env.NODE_ENV!==`production`&&(xa=(e,t,n)=>{!e&&typeof console<`u`&&console.warn(ba(t,n))},Sa=(e,t,n)=>{if(!e)throw Error(ba(t,n))});var Ca={},wa=e=>/^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(e);function Ta(e){return typeof e==`object`&&!!e}var Ea=e=>/^0[^.\s]+$/u.test(e);function Da(e){let t;return()=>(t===void 0&&(t=e()),t)}var Oa=e=>e,ka=(e,t)=>n=>t(e(n)),Aa=(...e)=>e.reduce(ka),ja=(e,t,n)=>{let r=t-e;return r===0?1:(n-e)/r},Ma=class{constructor(){this.subscriptions=[]}add(e){return _a(this.subscriptions,e),()=>va(this.subscriptions,e)}notify(e,t,n){let r=this.subscriptions.length;if(r)if(r===1)this.subscriptions[0](e,t,n);else for(let i=0;i<r;i++){let r=this.subscriptions[i];r&&r(e,t,n)}}getSize(){return this.subscriptions.length}clear(){this.subscriptions.length=0}},Na=e=>e*1e3,Pa=e=>e/1e3;function Fa(e,t){return t?1e3/t*e:0}var Ia=new Set;function La(e,t,n){e||Ia.has(t)||(console.warn(ba(t,n)),Ia.add(t))}var Ra=(e,t,n)=>(((1-3*n+3*t)*e+(3*n-6*t))*e+3*t)*e,za=1e-7,Ba=12;function Va(e,t,n,r,i){let a,o,s=0;do o=t+(n-t)/2,a=Ra(o,r,i)-e,a>0?n=o:t=o;while(Math.abs(a)>za&&++s<Ba);return o}function Ha(e,t,n,r){if(e===t&&n===r)return Oa;let i=t=>Va(t,0,1,e,n);return e=>e===0||e===1?e:Ra(i(e),t,r)}var Ua=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,Wa=e=>t=>1-e(1-t),Ga=Ha(.33,1.53,.69,.99),Ka=Wa(Ga),qa=Ua(Ka),Ja=e=>e>=1?1:(e*=2)<1?.5*Ka(e):.5*(2-2**(-10*(e-1))),Ya=e=>1-Math.sin(Math.acos(e)),Xa=Wa(Ya),Za=Ua(Ya),Qa=Ha(.42,0,1,1),$a=Ha(0,0,.58,1),eo=Ha(.42,0,.58,1),to=e=>Array.isArray(e)&&typeof e[0]!=`number`,no=e=>Array.isArray(e)&&typeof e[0]==`number`,ro={linear:Oa,easeIn:Qa,easeInOut:eo,easeOut:$a,circIn:Ya,circInOut:Za,circOut:Xa,backIn:Ka,backInOut:qa,backOut:Ga,anticipate:Ja},io=e=>typeof e==`string`,ao=e=>{if(no(e)){Sa(e.length===4,`Cubic bezier arrays must contain four numerical values.`,`cubic-bezier-length`);let[t,n,r,i]=e;return Ha(t,n,r,i)}else if(io(e))return Sa(ro[e]!==void 0,`Invalid easing type '${e}'`,`invalid-easing-type`),ro[e];return e},oo=[`setup`,`read`,`resolveKeyframes`,`preUpdate`,`update`,`preRender`,`render`,`postRender`],so={value:null,addProjectionMetrics:null};function co(e,t){let n=new Set,r=new Set,i=!1,a=!1,o=new WeakSet,s={delta:0,timestamp:0,isProcessing:!1},c=0;function l(t){o.has(t)&&(u.schedule(t),e()),c++,t(s)}let u={schedule:(e,t=!1,a=!1)=>{let s=a&&i?n:r;return t&&o.add(e),s.add(e),e},cancel:e=>{r.delete(e),o.delete(e)},process:e=>{if(s=e,i){a=!0;return}i=!0;let o=n;n=r,r=o,n.forEach(l),t&&so.value&&so.value.frameloop[t].push(c),c=0,n.clear(),i=!1,a&&(a=!1,u.process(e))}};return u}var lo=40;function uo(e,t){let n=!1,r=!0,i={delta:0,timestamp:0,isProcessing:!1},a=()=>n=!0,o=oo.reduce((e,n)=>(e[n]=co(a,t?n:void 0),e),{}),{setup:s,read:c,resolveKeyframes:l,preUpdate:u,update:d,preRender:f,render:p,postRender:m}=o,h=()=>{let a=Ca.useManualTiming,o=a?i.timestamp:performance.now();n=!1,a||(i.delta=r?1e3/60:Math.max(Math.min(o-i.timestamp,lo),1)),i.timestamp=o,i.isProcessing=!0,s.process(i),c.process(i),l.process(i),u.process(i),d.process(i),f.process(i),p.process(i),m.process(i),i.isProcessing=!1,n&&t&&(r=!1,e(h))},g=()=>{n=!0,r=!0,i.isProcessing||e(h)};return{schedule:oo.reduce((e,t)=>{let r=o[t];return e[t]=(e,t=!1,i=!1)=>(n||g(),r.schedule(e,t,i)),e},{}),cancel:e=>{for(let t=0;t<oo.length;t++)o[oo[t]].cancel(e)},state:i,steps:o}}var{schedule:V,cancel:fo,state:H,steps:po}=uo(typeof requestAnimationFrame<`u`?requestAnimationFrame:Oa,!0),mo;function ho(){mo=void 0}var go={now:()=>(mo===void 0&&go.set(H.isProcessing||Ca.useManualTiming?H.timestamp:performance.now()),mo),set:e=>{mo=e,queueMicrotask(ho)}},_o={layout:0,mainThread:0,waapi:0},vo=e=>t=>typeof t==`string`&&t.startsWith(e),yo=vo(`--`),bo=vo(`var(--`),xo=e=>bo(e)?So.test(e.split(`/*`)[0].trim()):!1,So=/var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu;function Co(e){return typeof e==`string`?e.split(`/*`)[0].includes(`var(--`):!1}var wo={test:e=>typeof e==`number`,parse:parseFloat,transform:e=>e},To={...wo,transform:e=>ya(0,1,e)},Eo={...wo,default:1},Do=e=>Math.round(e*1e5)/1e5,Oo=/-?(?:\d+(?:\.\d+)?|\.\d+)/gu;function ko(e){return e==null}var Ao=/^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu,jo=(e,t)=>n=>!!(typeof n==`string`&&Ao.test(n)&&n.startsWith(e)||t&&!ko(n)&&Object.prototype.hasOwnProperty.call(n,t)),Mo=(e,t,n)=>r=>{if(typeof r!=`string`)return r;let[i,a,o,s]=r.match(Oo);return{[e]:parseFloat(i),[t]:parseFloat(a),[n]:parseFloat(o),alpha:s===void 0?1:parseFloat(s)}},No=e=>ya(0,255,e),Po={...wo,transform:e=>Math.round(No(e))},Fo={test:jo(`rgb`,`red`),parse:Mo(`red`,`green`,`blue`),transform:({red:e,green:t,blue:n,alpha:r=1})=>`rgba(`+Po.transform(e)+`, `+Po.transform(t)+`, `+Po.transform(n)+`, `+Do(To.transform(r))+`)`};function Io(e){let t=``,n=``,r=``,i=``;return e.length>5?(t=e.substring(1,3),n=e.substring(3,5),r=e.substring(5,7),i=e.substring(7,9)):(t=e.substring(1,2),n=e.substring(2,3),r=e.substring(3,4),i=e.substring(4,5),t+=t,n+=n,r+=r,i+=i),{red:parseInt(t,16),green:parseInt(n,16),blue:parseInt(r,16),alpha:i?parseInt(i,16)/255:1}}var Lo={test:jo(`#`),parse:Io,transform:Fo.transform},Ro=e=>({test:t=>typeof t==`string`&&t.endsWith(e)&&t.split(` `).length===1,parse:parseFloat,transform:t=>`${t}${e}`}),zo=Ro(`deg`),Bo=Ro(`%`),U=Ro(`px`),Vo=Ro(`vh`),Ho=Ro(`vw`),Uo={...Bo,parse:e=>Bo.parse(e)/100,transform:e=>Bo.transform(e*100)},Wo={test:jo(`hsl`,`hue`),parse:Mo(`hue`,`saturation`,`lightness`),transform:({hue:e,saturation:t,lightness:n,alpha:r=1})=>`hsla(`+Math.round(e)+`, `+Bo.transform(Do(t))+`, `+Bo.transform(Do(n))+`, `+Do(To.transform(r))+`)`},W={test:e=>Fo.test(e)||Lo.test(e)||Wo.test(e),parse:e=>Fo.test(e)?Fo.parse(e):Wo.test(e)?Wo.parse(e):Lo.parse(e),transform:e=>typeof e==`string`?e:e.hasOwnProperty(`red`)?Fo.transform(e):Wo.transform(e),getAnimatableNone:e=>{let t=W.parse(e);return t.alpha=0,W.transform(t)}},Go=/(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;function Ko(e){return isNaN(e)&&typeof e==`string`&&(e.match(Oo)?.length||0)+(e.match(Go)?.length||0)>0}var qo=`number`,Jo=`color`,Yo=`var`,Xo=`var(`,Zo="${}",Qo=/var\s*\(\s*--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)|#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\)|-?(?:\d+(?:\.\d+)?|\.\d+)/giu;function $o(e){let t=e.toString(),n=[],r={color:[],number:[],var:[]},i=[],a=0;return{values:n,split:t.replace(Qo,e=>(W.test(e)?(r.color.push(a),i.push(Jo),n.push(W.parse(e))):e.startsWith(Xo)?(r.var.push(a),i.push(Yo),n.push(e)):(r.number.push(a),i.push(qo),n.push(parseFloat(e))),++a,Zo)).split(Zo),indexes:r,types:i}}function es(e){return $o(e).values}function ts({split:e,types:t}){let n=e.length;return r=>{let i=``;for(let a=0;a<n;a++)if(i+=e[a],r[a]!==void 0){let e=t[a];e===qo?i+=Do(r[a]):e===Jo?i+=W.transform(r[a]):i+=r[a]}return i}}function ns(e){return ts($o(e))}var rs=e=>typeof e==`number`?0:W.test(e)?W.getAnimatableNone(e):e,is=(e,t)=>typeof e==`number`?t?.trim().endsWith(`/`)?e:0:rs(e);function as(e){let t=$o(e);return ts(t)(t.values.map((e,n)=>is(e,t.split[n])))}var os={test:Ko,parse:es,createTransformer:ns,getAnimatableNone:as};function ss(e,t,n){return n<0&&(n+=1),n>1&&--n,n<1/6?e+(t-e)*6*n:n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function cs({hue:e,saturation:t,lightness:n,alpha:r}){e/=360,t/=100,n/=100;let i=0,a=0,o=0;if(!t)i=a=o=n;else{let r=n<.5?n*(1+t):n+t-n*t,s=2*n-r;i=ss(s,r,e+1/3),a=ss(s,r,e),o=ss(s,r,e-1/3)}return{red:Math.round(i*255),green:Math.round(a*255),blue:Math.round(o*255),alpha:r}}function ls(e,t){return n=>n>0?t:e}var G=(e,t,n)=>e+(t-e)*n,us=(e,t,n)=>{let r=e*e,i=n*(t*t-r)+r;return i<0?0:Math.sqrt(i)},ds=[Lo,Fo,Wo],fs=e=>ds.find(t=>t.test(e));function ps(e){let t=fs(e);if(xa(!!t,`'${e}' is not an animatable color. Use the equivalent color code instead.`,`color-not-animatable`),!t)return!1;let n=t.parse(e);return t===Wo&&(n=cs(n)),n}var ms=(e,t)=>{let n=ps(e),r=ps(t);if(!n||!r)return ls(e,t);let i={...n};return e=>(i.red=us(n.red,r.red,e),i.green=us(n.green,r.green,e),i.blue=us(n.blue,r.blue,e),i.alpha=G(n.alpha,r.alpha,e),Fo.transform(i))},hs=new Set([`none`,`hidden`]);function gs(e,t){return hs.has(e)?n=>n<=0?e:t:n=>n>=1?t:e}function _s(e,t){return n=>G(e,t,n)}function vs(e){return typeof e==`number`?_s:typeof e==`string`?xo(e)?ls:W.test(e)?ms:Ss:Array.isArray(e)?ys:typeof e==`object`?W.test(e)?ms:bs:ls}function ys(e,t){let n=[...e],r=n.length,i=e.map((e,n)=>vs(e)(e,t[n]));return e=>{for(let t=0;t<r;t++)n[t]=i[t](e);return n}}function bs(e,t){let n={...e,...t},r={};for(let i in n)e[i]!==void 0&&t[i]!==void 0&&(r[i]=vs(e[i])(e[i],t[i]));return e=>{for(let t in r)n[t]=r[t](e);return n}}function xs(e,t){let n=[],r={color:0,var:0,number:0};for(let i=0;i<t.values.length;i++){let a=t.types[i],o=e.indexes[a][r[a]];n[i]=e.values[o]??0,r[a]++}return n}var Ss=(e,t)=>{let n=os.createTransformer(t),r=$o(e),i=$o(t);return r.indexes.var.length===i.indexes.var.length&&r.indexes.color.length===i.indexes.color.length&&r.indexes.number.length>=i.indexes.number.length?hs.has(e)&&!i.values.length||hs.has(t)&&!r.values.length?gs(e,t):Aa(ys(xs(r,i),i.values),n):(xa(!0,`Complex values '${e}' and '${t}' too different to mix. Ensure all colors are of the same type, and that each contains the same quantity of number and color values. Falling back to instant transition.`,`complex-values-different`),ls(e,t))};function Cs(e,t,n){return typeof e==`number`&&typeof t==`number`&&typeof n==`number`?G(e,t,n):vs(e)(e,t)}var ws=e=>{let t=({timestamp:t})=>e(t);return{start:(e=!0)=>V.update(t,e),stop:()=>fo(t),now:()=>H.isProcessing?H.timestamp:go.now()}},Ts=(e,t,n=10)=>{let r=``,i=Math.max(Math.round(t/n),2);for(let t=0;t<i;t++)r+=Math.round(e(t/(i-1))*1e4)/1e4+`, `;return`linear(${r.substring(0,r.length-2)})`},Es=2e4;function Ds(e){let t=0,n=e.next(t);for(;!n.done&&t<2e4;)t+=50,n=e.next(t);return t>=2e4?1/0:t}function Os(e,t=100,n){let r=n({...e,keyframes:[0,t]}),i=Math.min(Ds(r),Es);return{type:`keyframes`,ease:e=>r.next(i*e).value/t,duration:Pa(i)}}var K={stiffness:100,damping:10,mass:1,velocity:0,duration:800,bounce:.3,visualDuration:.3,restSpeed:{granular:.01,default:2},restDelta:{granular:.005,default:.5},minDuration:.01,maxDuration:10,minDamping:.05,maxDamping:1};function ks(e,t){return e*Math.sqrt(1-t*t)}var As=12;function js(e,t,n){let r=n;for(let n=1;n<As;n++)r-=e(r)/t(r);return r}var Ms=.001;function Ns({duration:e=K.duration,bounce:t=K.bounce,velocity:n=K.velocity,mass:r=K.mass}){let i,a;xa(e<=Na(K.maxDuration),`Spring duration must be 10 seconds or less`,`spring-duration-limit`);let o=1-t;o=ya(K.minDamping,K.maxDamping,o),e=ya(K.minDuration,K.maxDuration,Pa(e)),o<1?(i=t=>{let r=t*o,i=r*e,a=r-n,s=ks(t,o),c=Math.exp(-i);return Ms-a/s*c},a=t=>{let r=t*o*e,a=r*n+n,s=o**2*t**2*e,c=Math.exp(-r),l=ks(t**2,o);return(-i(t)+Ms>0?-1:1)*((a-s)*c)/l}):(i=t=>{let r=Math.exp(-t*e),i=(t-n)*e+1;return-Ms+r*i},a=t=>Math.exp(-t*e)*((n-t)*(e*e)));let s=5/e,c=js(i,a,s);if(e=Na(e),isNaN(c))return{stiffness:K.stiffness,damping:K.damping,duration:e};{let t=c**2*r;return{stiffness:t,damping:o*2*Math.sqrt(r*t),duration:e}}}var Ps=[`duration`,`bounce`],Fs=[`stiffness`,`damping`,`mass`];function Is(e,t){return t.some(t=>e[t]!==void 0)}function Ls(e){let t={velocity:K.velocity,stiffness:K.stiffness,damping:K.damping,mass:K.mass,isResolvedFromDuration:!1,...e};if(!Is(e,Fs)&&Is(e,Ps))if(t.velocity=0,e.visualDuration){let n=e.visualDuration,r=2*Math.PI/(n*1.2),i=r*r,a=2*ya(.05,1,1-(e.bounce||0))*Math.sqrt(i);t={...t,mass:K.mass,stiffness:i,damping:a}}else{let n=Ns({...e,velocity:0});t={...t,...n,mass:K.mass},t.isResolvedFromDuration=!0}return t}function Rs(e=K.visualDuration,t=K.bounce){let n=typeof e==`object`?e:{visualDuration:e,keyframes:[0,1],bounce:t},{restSpeed:r,restDelta:i}=n,a=n.keyframes[0],o=n.keyframes[n.keyframes.length-1],s={done:!1,value:a},{stiffness:c,damping:l,mass:u,duration:d,velocity:f,isResolvedFromDuration:p}=Ls({...n,velocity:-Pa(n.velocity||0)}),m=f||0,h=l/(2*Math.sqrt(c*u)),g=o-a,_=Pa(Math.sqrt(c/u)),v=Math.abs(g)<5;r||=v?K.restSpeed.granular:K.restSpeed.default,i||=v?K.restDelta.granular:K.restDelta.default;let y,b,x,S,C,w;if(h<1)x=ks(_,h),S=(m+h*_*g)/x,y=e=>o-Math.exp(-h*_*e)*(S*Math.sin(x*e)+g*Math.cos(x*e)),C=h*_*S+g*x,w=h*_*g-S*x,b=e=>Math.exp(-h*_*e)*(C*Math.sin(x*e)+w*Math.cos(x*e));else if(h===1){y=e=>o-Math.exp(-_*e)*(g+(m+_*g)*e);let e=m+_*g;b=t=>Math.exp(-_*t)*(_*e*t-m)}else{let e=_*Math.sqrt(h*h-1);y=t=>{let n=Math.exp(-h*_*t),r=Math.min(e*t,300);return o-n*((m+h*_*g)*Math.sinh(r)+e*g*Math.cosh(r))/e};let t=(m+h*_*g)/e,n=h*_*t-g*e,r=h*_*g-t*e;b=t=>{let i=Math.exp(-h*_*t),a=Math.min(e*t,300);return i*(n*Math.sinh(a)+r*Math.cosh(a))}}let T={calculatedDuration:p&&d||null,velocity:e=>Na(b(e)),next:e=>{if(!p&&h<1){let t=Math.exp(-h*_*e),n=Math.sin(x*e),a=Math.cos(x*e),c=o-t*(S*n+g*a),l=Na(t*(C*n+w*a));return s.done=Math.abs(l)<=r&&Math.abs(o-c)<=i,s.value=s.done?o:c,s}let t=y(e);if(p)s.done=e>=d;else{let n=Na(b(e));s.done=Math.abs(n)<=r&&Math.abs(o-t)<=i}return s.value=s.done?o:t,s},toString:()=>{let e=Math.min(Ds(T),Es),t=Ts(t=>T.next(e*t).value,e,30);return e+`ms `+t},toTransition:()=>{}};return T}Rs.applyToOptions=e=>{let t=Os(e,100,Rs);return e.ease=t.ease,e.duration=Na(t.duration),e.type=`keyframes`,e};var zs=5;function Bs(e,t,n){let r=Math.max(t-zs,0);return Fa(n-e(r),t-r)}function Vs({keyframes:e,velocity:t=0,power:n=.8,timeConstant:r=325,bounceDamping:i=10,bounceStiffness:a=500,modifyTarget:o,min:s,max:c,restDelta:l=.5,restSpeed:u}){let d=e[0],f={done:!1,value:d},p=e=>s!==void 0&&e<s||c!==void 0&&e>c,m=e=>s===void 0?c:c===void 0||Math.abs(s-e)<Math.abs(c-e)?s:c,h=n*t,g=d+h,_=o===void 0?g:o(g);_!==g&&(h=_-d);let v=e=>-h*Math.exp(-e/r),y=e=>_+v(e),b=e=>{let t=v(e),n=y(e);f.done=Math.abs(t)<=l,f.value=f.done?_:n},x,S,C=e=>{p(f.value)&&(x=e,S=Rs({keyframes:[f.value,m(f.value)],velocity:Bs(y,e,f.value),damping:i,stiffness:a,restDelta:l,restSpeed:u}))};return C(0),{calculatedDuration:null,next:e=>{let t=!1;return!S&&x===void 0&&(t=!0,b(e),C(e)),x!==void 0&&e>=x?S.next(e-x):(!t&&b(e),f)}}}function Hs(e,t,n){let r=[],i=n||Ca.mix||Cs,a=e.length-1;for(let n=0;n<a;n++){let a=i(e[n],e[n+1]);t&&(a=Aa(Array.isArray(t)?t[n]||Oa:t,a)),r.push(a)}return r}function Us(e,t,{clamp:n=!0,ease:r,mixer:i}={}){let a=e.length;if(Sa(a===t.length,`Both input and output ranges must be the same length`,`range-length`),a===1)return()=>t[0];if(a===2&&t[0]===t[1])return()=>t[1];let o=e[0]===e[1];e[0]>e[a-1]&&(e=[...e].reverse(),t=[...t].reverse());let s=Hs(t,r,i),c=s.length,l=n=>{if(o&&n<e[0])return t[0];let r=0;if(c>1)for(;r<e.length-2&&!(n<e[r+1]);r++);let i=ja(e[r],e[r+1],n);return s[r](i)};return n?t=>l(ya(e[0],e[a-1],t)):l}function Ws(e,t){let n=e[e.length-1];for(let r=1;r<=t;r++){let i=ja(0,t,r);e.push(G(n,1,i))}}function Gs(e){let t=[0];return Ws(t,e.length-1),t}function Ks(e,t){return e.map(e=>e*t)}function qs(e,t){return e.map(()=>t||eo).splice(0,e.length-1)}function Js({duration:e=300,keyframes:t,times:n,ease:r=`easeInOut`}){let i=to(r)?r.map(ao):ao(r),a={done:!1,value:t[0]},o=Us(Ks(n&&n.length===t.length?n:Gs(t),e),t,{ease:Array.isArray(i)?i:qs(t,i)});return{calculatedDuration:e,next:t=>(a.value=o(t),a.done=t>=e,a)}}var Ys=e=>e!==null;function Xs(e,{repeat:t,repeatType:n=`loop`},r,i=1){let a=e.filter(Ys),o=i<0||t&&n!==`loop`&&t%2==1?0:a.length-1;return!o||r===void 0?a[o]:r}var Zs={decay:Vs,inertia:Vs,tween:Js,keyframes:Js,spring:Rs};function Qs(e){typeof e.type==`string`&&(e.type=Zs[e.type])}var $s=class{constructor(){this.updateFinished()}get finished(){return this._finished}updateFinished(){this._finished=new Promise(e=>{this.resolve=e})}notifyFinished(){this.resolve()}then(e,t){return this.finished.then(e,t)}},ec=e=>e/100,tc=class extends $s{constructor(e){super(),this.state=`idle`,this.startTime=null,this.isStopped=!1,this.currentTime=0,this.holdTime=null,this.playbackSpeed=1,this.delayState={done:!1,value:void 0},this.stop=()=>{let{motionValue:e}=this.options;e&&e.updatedAt!==go.now()&&this.tick(go.now()),this.isStopped=!0,this.state!==`idle`&&(this.teardown(),this.options.onStop?.())},_o.mainThread++,this.options=e,this.initAnimation(),this.play(),e.autoplay===!1&&this.pause()}initAnimation(){let{options:e}=this;Qs(e);let{type:t=Js,repeat:n=0,repeatDelay:r=0,repeatType:i,velocity:a=0}=e,{keyframes:o}=e,s=t||Js;process.env.NODE_ENV!==`production`&&s!==Js&&Sa(o.length<=2,`Only two keyframes currently supported with spring and inertia animations. Trying to animate ${o}`,`spring-two-frames`),s!==Js&&typeof o[0]!=`number`&&(this.mixKeyframes=Aa(ec,Cs(o[0],o[1])),o=[0,100]);let c=s({...e,keyframes:o});i===`mirror`&&(this.mirroredGenerator=s({...e,keyframes:[...o].reverse(),velocity:-a})),c.calculatedDuration===null&&(c.calculatedDuration=Ds(c));let{calculatedDuration:l}=c;this.calculatedDuration=l,this.resolvedDuration=l+r,this.totalDuration=this.resolvedDuration*(n+1)-r,this.generator=c}updateTime(e){let t=Math.round(e-this.startTime)*this.playbackSpeed;this.holdTime===null?this.currentTime=t:this.currentTime=this.holdTime}tick(e,t=!1){let{generator:n,totalDuration:r,mixKeyframes:i,mirroredGenerator:a,resolvedDuration:o,calculatedDuration:s}=this;if(this.startTime===null)return n.next(0);let{delay:c=0,keyframes:l,repeat:u,repeatType:d,repeatDelay:f,type:p,onUpdate:m,finalKeyframe:h}=this.options;this.speed>0?this.startTime=Math.min(this.startTime,e):this.speed<0&&(this.startTime=Math.min(e-r/this.speed,this.startTime)),t?this.currentTime=e:this.updateTime(e);let g=this.currentTime-c*(this.playbackSpeed>=0?1:-1),_=this.playbackSpeed>=0?g<0:g>r;this.currentTime=Math.max(g,0),this.state===`finished`&&this.holdTime===null&&(this.currentTime=r);let v=this.currentTime,y=n;if(u){let e=Math.min(this.currentTime,r)/o,t=Math.floor(e),n=e%1;!n&&e>=1&&(n=1),n===1&&t--,t=Math.min(t,u+1),t%2&&(d===`reverse`?(n=1-n,f&&(n-=f/o)):d===`mirror`&&(y=a)),v=ya(0,1,n)*o}let b;_?(this.delayState.value=l[0],b=this.delayState):b=y.next(v),i&&!_&&(b.value=i(b.value));let{done:x}=b;!_&&s!==null&&(x=this.playbackSpeed>=0?this.currentTime>=r:this.currentTime<=0);let S=this.holdTime===null&&(this.state===`finished`||this.state===`running`&&x);return S&&p!==Vs&&(b.value=Xs(l,this.options,h,this.speed)),m&&m(b.value),S&&this.finish(),b}then(e,t){return this.finished.then(e,t)}get duration(){return Pa(this.calculatedDuration)}get iterationDuration(){let{delay:e=0}=this.options||{};return this.duration+Pa(e)}get time(){return Pa(this.currentTime)}set time(e){e=Na(e),this.currentTime=e,this.startTime===null||this.holdTime!==null||this.playbackSpeed===0?this.holdTime=e:this.driver&&(this.startTime=this.driver.now()-e/this.playbackSpeed),this.driver?this.driver.start(!1):(this.startTime=0,this.state=`paused`,this.holdTime=e,this.tick(e))}getGeneratorVelocity(){let e=this.currentTime;if(e<=0)return this.options.velocity||0;if(this.generator.velocity)return this.generator.velocity(e);let t=this.generator.next(e).value;return Bs(e=>this.generator.next(e).value,e,t)}get speed(){return this.playbackSpeed}set speed(e){let t=this.playbackSpeed!==e;t&&this.driver&&this.updateTime(go.now()),this.playbackSpeed=e,t&&this.driver&&(this.time=Pa(this.currentTime))}play(){if(this.isStopped)return;let{driver:e=ws,startTime:t}=this.options;this.driver||=e(e=>this.tick(e)),this.options.onPlay?.();let n=this.driver.now();this.state===`finished`?(this.updateFinished(),this.startTime=n):this.holdTime===null?this.startTime||=t??n:this.startTime=n-this.holdTime,this.state===`finished`&&this.speed<0&&(this.startTime+=this.calculatedDuration),this.holdTime=null,this.state=`running`,this.driver.start()}pause(){this.state=`paused`,this.updateTime(go.now()),this.holdTime=this.currentTime}complete(){this.state!==`running`&&this.play(),this.state=`finished`,this.holdTime=null}finish(){this.notifyFinished(),this.teardown(),this.state=`finished`,this.options.onComplete?.()}cancel(){this.holdTime=null,this.startTime=0,this.tick(0),this.teardown(),this.options.onCancel?.()}teardown(){this.state=`idle`,this.stopDriver(),this.startTime=this.holdTime=null,_o.mainThread--}stopDriver(){this.driver&&=(this.driver.stop(),void 0)}sample(e){return this.startTime=0,this.tick(e,!0)}attachTimeline(e){return this.options.allowFlatten&&(this.options.type=`keyframes`,this.options.ease=`linear`,this.initAnimation()),this.driver?.stop(),e.observe(this)}};function nc(e){for(let t=1;t<e.length;t++)e[t]??(e[t]=e[t-1])}var rc=e=>e*180/Math.PI,ic=e=>oc(rc(Math.atan2(e[1],e[0]))),ac={x:4,y:5,translateX:4,translateY:5,scaleX:0,scaleY:3,scale:e=>(Math.abs(e[0])+Math.abs(e[3]))/2,rotate:ic,rotateZ:ic,skewX:e=>rc(Math.atan(e[1])),skewY:e=>rc(Math.atan(e[2])),skew:e=>(Math.abs(e[1])+Math.abs(e[2]))/2},oc=e=>(e%=360,e<0&&(e+=360),e),sc=ic,cc=e=>Math.sqrt(e[0]*e[0]+e[1]*e[1]),lc=e=>Math.sqrt(e[4]*e[4]+e[5]*e[5]),uc={x:12,y:13,z:14,translateX:12,translateY:13,translateZ:14,scaleX:cc,scaleY:lc,scale:e=>(cc(e)+lc(e))/2,rotateX:e=>oc(rc(Math.atan2(e[6],e[5]))),rotateY:e=>oc(rc(Math.atan2(-e[2],e[0]))),rotateZ:sc,rotate:sc,skewX:e=>rc(Math.atan(e[4])),skewY:e=>rc(Math.atan(e[1])),skew:e=>(Math.abs(e[1])+Math.abs(e[4]))/2};function dc(e){return+!!e.includes(`scale`)}function fc(e,t){if(!e||e===`none`)return dc(t);let n=e.match(/^matrix3d\(([-\d.e\s,]+)\)$/u),r,i;if(n)r=uc,i=n;else{let t=e.match(/^matrix\(([-\d.e\s,]+)\)$/u);r=ac,i=t}if(!i)return dc(t);let a=r[t],o=i[1].split(`,`).map(mc);return typeof a==`function`?a(o):o[a]}var pc=(e,t)=>{let{transform:n=`none`}=getComputedStyle(e);return fc(n,t)};function mc(e){return parseFloat(e.trim())}var hc=[`transformPerspective`,`x`,`y`,`z`,`translateX`,`translateY`,`translateZ`,`scale`,`scaleX`,`scaleY`,`rotate`,`rotateX`,`rotateY`,`rotateZ`,`skew`,`skewX`,`skewY`],gc=new Set(hc),_c=e=>e===wo||e===U,vc=new Set([`x`,`y`,`z`]),yc=hc.filter(e=>!vc.has(e));function bc(e){let t=[];return yc.forEach(n=>{let r=e.getValue(n);r!==void 0&&(t.push([n,r.get()]),r.set(+!!n.startsWith(`scale`)))}),t}var xc={width:({x:e},{paddingLeft:t=`0`,paddingRight:n=`0`,boxSizing:r})=>{let i=e.max-e.min;return r===`border-box`?i:i-parseFloat(t)-parseFloat(n)},height:({y:e},{paddingTop:t=`0`,paddingBottom:n=`0`,boxSizing:r})=>{let i=e.max-e.min;return r===`border-box`?i:i-parseFloat(t)-parseFloat(n)},top:(e,{top:t})=>parseFloat(t),left:(e,{left:t})=>parseFloat(t),bottom:({y:e},{top:t})=>parseFloat(t)+(e.max-e.min),right:({x:e},{left:t})=>parseFloat(t)+(e.max-e.min),x:(e,{transform:t})=>fc(t,`x`),y:(e,{transform:t})=>fc(t,`y`)};xc.translateX=xc.x,xc.translateY=xc.y;var Sc=new Set,Cc=!1,wc=!1,Tc=!1;function Ec(){if(wc){let e=Array.from(Sc).filter(e=>e.needsMeasurement),t=new Set(e.map(e=>e.element)),n=new Map;t.forEach(e=>{let t=bc(e);t.length&&(n.set(e,t),e.render())}),e.forEach(e=>e.measureInitialState()),t.forEach(e=>{e.render();let t=n.get(e);t&&t.forEach(([t,n])=>{e.getValue(t)?.set(n)})}),e.forEach(e=>e.measureEndState()),e.forEach(e=>{e.suspendedScrollY!==void 0&&window.scrollTo(0,e.suspendedScrollY)})}wc=!1,Cc=!1,Sc.forEach(e=>e.complete(Tc)),Sc.clear()}function Dc(){Sc.forEach(e=>{e.readKeyframes(),e.needsMeasurement&&(wc=!0)})}function Oc(){Tc=!0,Dc(),Ec(),Tc=!1}var kc=class{constructor(e,t,n,r,i,a=!1){this.state=`pending`,this.isAsync=!1,this.needsMeasurement=!1,this.unresolvedKeyframes=[...e],this.onComplete=t,this.name=n,this.motionValue=r,this.element=i,this.isAsync=a}scheduleResolve(){this.state=`scheduled`,this.isAsync?(Sc.add(this),Cc||(Cc=!0,V.read(Dc),V.resolveKeyframes(Ec))):(this.readKeyframes(),this.complete())}readKeyframes(){let{unresolvedKeyframes:e,name:t,element:n,motionValue:r}=this;if(e[0]===null){let i=r?.get(),a=e[e.length-1];if(i!==void 0)e[0]=i;else if(n&&t){let r=n.readValue(t,a);r!=null&&(e[0]=r)}e[0]===void 0&&(e[0]=a),r&&i===void 0&&r.set(e[0])}nc(e)}setFinalKeyframe(){}measureInitialState(){}renderEndStyles(){}measureEndState(){}complete(e=!1){this.state=`complete`,this.onComplete(this.unresolvedKeyframes,this.finalKeyframe,e),Sc.delete(this)}cancel(){this.state===`scheduled`&&(Sc.delete(this),this.state=`pending`)}resume(){this.state===`pending`&&this.scheduleResolve()}},Ac=e=>e.startsWith(`--`);function jc(e,t,n){Ac(t)?e.style.setProperty(t,n):e.style[t]=n}var Mc={};function Nc(e,t){let n=Da(e);return()=>Mc[t]??n()}var Pc=Nc(()=>window.ScrollTimeline!==void 0,`scrollTimeline`),Fc=Nc(()=>{try{document.createElement(`div`).animate({opacity:0},{easing:`linear(0, 1)`})}catch{return!1}return!0},`linearEasing`),Ic=([e,t,n,r])=>`cubic-bezier(${e}, ${t}, ${n}, ${r})`,Lc={linear:`linear`,ease:`ease`,easeIn:`ease-in`,easeOut:`ease-out`,easeInOut:`ease-in-out`,circIn:Ic([0,.65,.55,1]),circOut:Ic([.55,0,1,.45]),backIn:Ic([.31,.01,.66,-.59]),backOut:Ic([.33,1.53,.69,.99])};function Rc(e,t){if(e)return typeof e==`function`?Fc()?Ts(e,t):`ease-out`:no(e)?Ic(e):Array.isArray(e)?e.map(e=>Rc(e,t)||Lc.easeOut):Lc[e]}function zc(e,t,n,{delay:r=0,duration:i=300,repeat:a=0,repeatType:o=`loop`,ease:s=`easeOut`,times:c}={},l=void 0){let u={[t]:n};c&&(u.offset=c);let d=Rc(s,i);Array.isArray(d)&&(u.easing=d),so.value&&_o.waapi++;let f={delay:r,duration:i,easing:Array.isArray(d)?`linear`:d,fill:`both`,iterations:a+1,direction:o===`reverse`?`alternate`:`normal`};l&&(f.pseudoElement=l);let p=e.animate(u,f);return so.value&&p.finished.finally(()=>{_o.waapi--}),p}function Bc(e){return typeof e==`function`&&`applyToOptions`in e}function Vc({type:e,...t}){return Bc(e)&&Fc()?e.applyToOptions(t):(t.duration??=300,t.ease??=`easeOut`,t)}var Hc=class extends $s{constructor(e){if(super(),this.finishedTime=null,this.isStopped=!1,this.manualStartTime=null,!e)return;let{element:t,name:n,keyframes:r,pseudoElement:i,allowFlatten:a=!1,finalKeyframe:o,onComplete:s}=e;this.isPseudoElement=!!i,this.allowFlatten=a,this.options=e,Sa(typeof e.type!=`string`,`Mini animate() doesn't support "type" as a string.`,`mini-spring`);let c=Vc(e);this.animation=zc(t,n,r,c,i),c.autoplay===!1&&this.animation.pause(),this.animation.onfinish=()=>{if(this.finishedTime=this.time,!i){let e=Xs(r,this.options,o,this.speed);this.updateMotionValue&&this.updateMotionValue(e),jc(t,n,e),this.animation.cancel()}s?.(),this.notifyFinished()}}play(){this.isStopped||(this.manualStartTime=null,this.animation.play(),this.state===`finished`&&this.updateFinished())}pause(){this.animation.pause()}complete(){this.animation.finish?.()}cancel(){try{this.animation.cancel()}catch{}}stop(){if(this.isStopped)return;this.isStopped=!0;let{state:e}=this;e===`idle`||e===`finished`||(this.updateMotionValue?this.updateMotionValue():this.commitStyles(),this.isPseudoElement||this.cancel())}commitStyles(){let e=this.options?.element;!this.isPseudoElement&&e?.isConnected&&this.animation.commitStyles?.()}get duration(){let e=this.animation.effect?.getComputedTiming?.().duration||0;return Pa(Number(e))}get iterationDuration(){let{delay:e=0}=this.options||{};return this.duration+Pa(e)}get time(){return Pa(Number(this.animation.currentTime)||0)}set time(e){let t=this.finishedTime!==null;this.manualStartTime=null,this.finishedTime=null,this.animation.currentTime=Na(e),t&&this.animation.pause()}get speed(){return this.animation.playbackRate}set speed(e){e<0&&(this.finishedTime=null),this.animation.playbackRate=e}get state(){return this.finishedTime===null?this.animation.playState:`finished`}get startTime(){return this.manualStartTime??Number(this.animation.startTime)}set startTime(e){this.manualStartTime=this.animation.startTime=e}attachTimeline({timeline:e,rangeStart:t,rangeEnd:n,observe:r}){return this.allowFlatten&&this.animation.effect?.updateTiming({easing:`linear`}),this.animation.onfinish=null,e&&Pc()?(this.animation.timeline=e,t&&(this.animation.rangeStart=t),n&&(this.animation.rangeEnd=n),Oa):r(this)}},Uc={anticipate:Ja,backInOut:qa,circInOut:Za};function Wc(e){return e in Uc}function Gc(e){typeof e.ease==`string`&&Wc(e.ease)&&(e.ease=Uc[e.ease])}var Kc=10,qc=class extends Hc{constructor(e){Gc(e),Qs(e),super(e),e.startTime!==void 0&&e.autoplay!==!1&&(this.startTime=e.startTime),this.options=e}updateMotionValue(e){let{motionValue:t,onUpdate:n,onComplete:r,element:i,...a}=this.options;if(!t)return;if(e!==void 0){t.set(e);return}let o=new tc({...a,autoplay:!1}),s=Math.max(Kc,go.now()-this.startTime),c=ya(0,Kc,s-Kc),l=o.sample(s).value,{name:u}=this.options;i&&u&&jc(i,u,l),t.setWithVelocity(o.sample(Math.max(0,s-c)).value,l,c),o.stop()}},Jc=(e,t)=>t===`zIndex`?!1:!!(typeof e==`number`||Array.isArray(e)||typeof e==`string`&&(os.test(e)||e===`0`)&&!e.startsWith(`url(`));function Yc(e){let t=e[0];if(e.length===1)return!0;for(let n=0;n<e.length;n++)if(e[n]!==t)return!0}function Xc(e,t,n,r){let i=e[0];if(i===null)return!1;if(t===`display`||t===`visibility`)return!0;let a=e[e.length-1],o=Jc(i,t),s=Jc(a,t);return xa(o===s,`You are trying to animate ${t} from "${i}" to "${a}". "${o?a:i}" is not an animatable value.`,`value-not-animatable`),!o||!s?!1:Yc(e)||(n===`spring`||Bc(n))&&r}function Zc(e){e.duration=0,e.type=`keyframes`}var Qc=new Set([`opacity`,`clipPath`,`filter`,`transform`]),$c=/^(?:oklch|oklab|lab|lch|color|color-mix|light-dark)\(/;function el(e){for(let t=0;t<e.length;t++)if(typeof e[t]==`string`&&$c.test(e[t]))return!0;return!1}var tl=new Set([`color`,`backgroundColor`,`outlineColor`,`fill`,`stroke`,`borderColor`,`borderTopColor`,`borderRightColor`,`borderBottomColor`,`borderLeftColor`]),nl=Da(()=>Object.hasOwnProperty.call(Element.prototype,`animate`));function rl(e){let{motionValue:t,name:n,repeatDelay:r,repeatType:i,damping:a,type:o,keyframes:s}=e;if(!(t?.owner?.current instanceof HTMLElement))return!1;let{onUpdate:c,transformTemplate:l}=t.owner.getProps();return nl()&&n&&(Qc.has(n)||tl.has(n)&&el(s))&&(n!==`transform`||!l)&&!c&&!r&&i!==`mirror`&&a!==0&&o!==`inertia`}var il=40,al=class extends $s{constructor({autoplay:e=!0,delay:t=0,type:n=`keyframes`,repeat:r=0,repeatDelay:i=0,repeatType:a=`loop`,keyframes:o,name:s,motionValue:c,element:l,...u}){super(),this.stop=()=>{this._animation&&(this._animation.stop(),this.stopTimeline?.()),this.keyframeResolver?.cancel()},this.createdAt=go.now();let d={autoplay:e,delay:t,type:n,repeat:r,repeatDelay:i,repeatType:a,name:s,motionValue:c,element:l,...u};this.keyframeResolver=new(l?.KeyframeResolver||kc)(o,(e,t,n)=>this.onKeyframesResolved(e,t,d,!n),s,c,l),this.keyframeResolver?.scheduleResolve()}onKeyframesResolved(e,t,n,r){this.keyframeResolver=void 0;let{name:i,type:a,velocity:o,delay:s,isHandoff:c,onUpdate:l}=n;this.resolvedAt=go.now();let u=!0;Xc(e,i,a,o)||(u=!1,(Ca.instantAnimations||!s)&&l?.(Xs(e,n,t)),e[0]=e[e.length-1],Zc(n),n.repeat=0);let d={startTime:r?this.resolvedAt&&this.resolvedAt-this.createdAt>il?this.resolvedAt:this.createdAt:void 0,finalKeyframe:t,...n,keyframes:e},f=u&&!c&&rl(d),p=d.motionValue?.owner?.current,m;if(f)try{m=new qc({...d,element:p})}catch{m=new tc(d)}else m=new tc(d);m.finished.then(()=>{this.notifyFinished()}).catch(Oa),this.pendingTimeline&&=(this.stopTimeline=m.attachTimeline(this.pendingTimeline),void 0),this._animation=m}get finished(){return this._animation?this.animation.finished:this._finished}then(e,t){return this.finished.finally(e).then(()=>{})}get animation(){return this._animation||(this.keyframeResolver?.resume(),Oc()),this._animation}get duration(){return this.animation.duration}get iterationDuration(){return this.animation.iterationDuration}get time(){return this.animation.time}set time(e){this.animation.time=e}get speed(){return this.animation.speed}get state(){return this.animation.state}set speed(e){this.animation.speed=e}get startTime(){return this.animation.startTime}attachTimeline(e){return this._animation?this.stopTimeline=this.animation.attachTimeline(e):this.pendingTimeline=e,()=>this.stop()}play(){this.animation.play()}pause(){this.animation.pause()}complete(){this.animation.complete()}cancel(){this._animation&&this.animation.cancel(),this.keyframeResolver?.cancel()}};function ol(e,t,n,r=0,i=1){let a=Array.from(e).sort((e,t)=>e.sortNodePosition(t)).indexOf(t),o=e.size,s=(o-1)*r;return typeof n==`function`?n(a,o):i===1?a*r:s-a*r}var sl=/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u;function cl(e){let t=sl.exec(e);if(!t)return[,];let[,n,r,i]=t;return[`--${n??r}`,i]}var ll=4;function ul(e,t,n=1){Sa(n<=ll,`Max CSS variable fallback depth detected in property "${e}". This may indicate a circular fallback dependency.`,`max-css-var-depth`);let[r,i]=cl(e);if(!r)return;let a=window.getComputedStyle(t).getPropertyValue(r);if(a){let e=a.trim();return wa(e)?parseFloat(e):e}return xo(i)?ul(i,t,n+1):i}var dl={type:`spring`,stiffness:500,damping:25,restSpeed:10},fl=e=>({type:`spring`,stiffness:550,damping:e===0?2*Math.sqrt(550):30,restSpeed:10}),pl={type:`keyframes`,duration:.8},ml={type:`keyframes`,ease:[.25,.1,.35,1],duration:.3},hl=(e,{keyframes:t})=>t.length>2?pl:gc.has(e)?e.startsWith(`scale`)?fl(t[1]):dl:ml;function gl(e,t){if(e?.inherit&&t){let{inherit:n,...r}=e;return{...t,...r}}return e}function _l(e,t){let n=e?.[t]??e?.default??e;return n===e?n:gl(n,e)}var vl=new Set([`when`,`delay`,`delayChildren`,`staggerChildren`,`staggerDirection`,`repeat`,`repeatType`,`repeatDelay`,`from`,`elapsed`]);function yl(e){for(let t in e)if(!vl.has(t))return!0;return!1}var bl=(e,t,n,r={},i,a)=>o=>{let s=_l(r,e)||{},c=s.delay||r.delay||0,{elapsed:l=0}=r;l-=Na(c);let u={keyframes:Array.isArray(n)?n:[null,n],ease:`easeOut`,velocity:t.getVelocity(),...s,delay:-l,onUpdate:e=>{t.set(e),s.onUpdate&&s.onUpdate(e)},onComplete:()=>{o(),s.onComplete&&s.onComplete()},name:e,motionValue:t,element:a?void 0:i};yl(s)||Object.assign(u,hl(e,u)),u.duration&&=Na(u.duration),u.repeatDelay&&=Na(u.repeatDelay),u.from!==void 0&&(u.keyframes[0]=u.from);let d=!1;if((u.type===!1||u.duration===0&&!u.repeatDelay)&&(Zc(u),u.delay===0&&(d=!0)),(Ca.instantAnimations||Ca.skipAnimations||i?.shouldSkipAnimations)&&(d=!0,Zc(u),u.delay=0),u.allowFlatten=!s.type&&!s.ease,d&&!a&&t.get()!==void 0){let e=Xs(u.keyframes,s);if(e!==void 0){V.update(()=>{u.onUpdate(e),u.onComplete()});return}}return s.isSync?new tc(u):new al(u)};function xl(e){let t=[{},{}];return e?.values.forEach((e,n)=>{t[0][n]=e.get(),t[1][n]=e.getVelocity()}),t}function Sl(e,t,n,r){if(typeof t==`function`){let[i,a]=xl(r);t=t(n===void 0?e.custom:n,i,a)}if(typeof t==`string`&&(t=e.variants&&e.variants[t]),typeof t==`function`){let[i,a]=xl(r);t=t(n===void 0?e.custom:n,i,a)}return t}function Cl(e,t,n){let r=e.getProps();return Sl(r,t,n===void 0?r.custom:n,e)}var wl=new Set([`width`,`height`,`top`,`left`,`right`,`bottom`,...hc]),Tl=30,El=e=>!isNaN(parseFloat(e)),Dl={current:void 0},Ol=class{constructor(e,t={}){this.canTrackVelocity=null,this.events={},this.updateAndNotify=e=>{let t=go.now();if(this.updatedAt!==t&&this.setPrevFrameValue(),this.prev=this.current,this.setCurrent(e),this.current!==this.prev&&(this.events.change?.notify(this.current),this.dependents))for(let e of this.dependents)e.dirty()},this.hasAnimated=!1,this.setCurrent(e),this.owner=t.owner}setCurrent(e){this.current=e,this.updatedAt=go.now(),this.canTrackVelocity===null&&e!==void 0&&(this.canTrackVelocity=El(this.current))}setPrevFrameValue(e=this.current){this.prevFrameValue=e,this.prevUpdatedAt=this.updatedAt}onChange(e){return process.env.NODE_ENV!==`production`&&La(!1,`value.onChange(callback) is deprecated. Switch to value.on("change", callback).`),this.on(`change`,e)}on(e,t){this.events[e]||(this.events[e]=new Ma);let n=this.events[e].add(t);return e===`change`?()=>{n(),V.read(()=>{this.events.change.getSize()||this.stop()})}:n}clearListeners(){for(let e in this.events)this.events[e].clear()}attach(e,t){this.passiveEffect=e,this.stopPassiveEffect=t}set(e){this.passiveEffect?this.passiveEffect(e,this.updateAndNotify):this.updateAndNotify(e)}setWithVelocity(e,t,n){this.set(t),this.prev=void 0,this.prevFrameValue=e,this.prevUpdatedAt=this.updatedAt-n}jump(e,t=!0){this.updateAndNotify(e),this.prev=e,this.prevUpdatedAt=this.prevFrameValue=void 0,t&&this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}dirty(){this.events.change?.notify(this.current)}addDependent(e){this.dependents||=new Set,this.dependents.add(e)}removeDependent(e){this.dependents&&this.dependents.delete(e)}get(){return Dl.current&&Dl.current.push(this),this.current}getPrevious(){return this.prev}getVelocity(){let e=go.now();if(!this.canTrackVelocity||this.prevFrameValue===void 0||e-this.updatedAt>Tl)return 0;let t=Math.min(this.updatedAt-this.prevUpdatedAt,Tl);return Fa(parseFloat(this.current)-parseFloat(this.prevFrameValue),t)}start(e){return this.stop(),new Promise(t=>{this.hasAnimated=!0,this.animation=e(t),this.events.animationStart&&this.events.animationStart.notify()}).then(()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()})}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){this.dependents?.clear(),this.events.destroy?.notify(),this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}};function kl(e,t){return new Ol(e,t)}var Al=e=>Array.isArray(e);function jl(e,t,n){e.hasValue(t)?e.getValue(t).set(n):e.addValue(t,kl(n))}function Ml(e){return Al(e)?e[e.length-1]||0:e}function Nl(e,t){let{transitionEnd:n={},transition:r={},...i}=Cl(e,t)||{};i={...i,...n};for(let t in i)jl(e,t,Ml(i[t]))}var Pl=e=>!!(e&&e.getVelocity);function Fl(e){return!!(Pl(e)&&e.add)}function Il(e,t){let n=e.getValue(`willChange`);if(Fl(n))return n.add(t);if(!n&&Ca.WillChange){let n=new Ca.WillChange(`auto`);e.addValue(`willChange`,n),n.add(t)}}function Ll(e){return e.replace(/([A-Z])/g,e=>`-${e.toLowerCase()}`)}var Rl=`data-`+Ll(`framerAppearId`);function zl(e){return e.props[Rl]}function Bl({protectedKeys:e,needsAnimating:t},n){let r=e.hasOwnProperty(n)&&t[n]!==!0;return t[n]=!1,r}function Vl(e,t,{delay:n=0,transitionOverride:r,type:i}={}){let{transition:a,transitionEnd:o,...s}=t,c=e.getDefaultTransition();a=a?gl(a,c):c;let l=a?.reduceMotion;r&&(a=r);let u=[],d=i&&e.animationState&&e.animationState.getState()[i];for(let t in s){let r=e.getValue(t,e.latestValues[t]??null),i=s[t];if(i===void 0||d&&Bl(d,t))continue;let o={delay:n,..._l(a||{},t)},c=r.get();if(c!==void 0&&!r.isAnimating()&&!Array.isArray(i)&&i===c&&!o.velocity){V.update(()=>r.set(i));continue}let f=!1;if(window.MotionHandoffAnimation){let n=zl(e);if(n){let e=window.MotionHandoffAnimation(n,t,V);e!==null&&(o.startTime=e,f=!0)}}Il(e,t);let p=l??e.shouldReduceMotion;r.start(bl(t,r,i,p&&wl.has(t)?{type:!1}:o,e,f));let m=r.animation;m&&u.push(m)}if(o){let t=()=>V.update(()=>{o&&Nl(e,o)});u.length?Promise.all(u).then(t):t()}return u}function Hl(e,t,n={}){let r=Cl(e,t,n.type===`exit`?e.presenceContext?.custom:void 0),{transition:i=e.getDefaultTransition()||{}}=r||{};n.transitionOverride&&(i=n.transitionOverride);let a=r?()=>Promise.all(Vl(e,r,n)):()=>Promise.resolve(),o=e.variantChildren&&e.variantChildren.size?(r=0)=>{let{delayChildren:a=0,staggerChildren:o,staggerDirection:s}=i;return Ul(e,t,r,a,o,s,n)}:()=>Promise.resolve(),{when:s}=i;if(s){let[e,t]=s===`beforeChildren`?[a,o]:[o,a];return e().then(()=>t())}else return Promise.all([a(),o(n.delay)])}function Ul(e,t,n=0,r=0,i=0,a=1,o){let s=[];for(let c of e.variantChildren)c.notify(`AnimationStart`,t),s.push(Hl(c,t,{...o,delay:n+(typeof r==`function`?0:r)+ol(e.variantChildren,c,r,i,a)}).then(()=>c.notify(`AnimationComplete`,t)));return Promise.all(s)}function Wl(e,t,n={}){e.notify(`AnimationStart`,t);let r;if(Array.isArray(t)){let i=t.map(t=>Hl(e,t,n));r=Promise.all(i)}else if(typeof t==`string`)r=Hl(e,t,n);else{let i=typeof t==`function`?Cl(e,t,n.custom):t;r=Promise.all(Vl(e,i,n))}return r.then(()=>{e.notify(`AnimationComplete`,t)})}var Gl={test:e=>e===`auto`,parse:e=>e},Kl=e=>t=>t.test(e),ql=[wo,U,Bo,zo,Ho,Vo,Gl],Jl=e=>ql.find(Kl(e));function Yl(e){return typeof e==`number`?e===0:e===null?!0:e===`none`||e===`0`||Ea(e)}var Xl=new Set([`brightness`,`contrast`,`saturate`,`opacity`]);function Zl(e){let[t,n]=e.slice(0,-1).split(`(`);if(t===`drop-shadow`)return e;let[r]=n.match(Oo)||[];if(!r)return e;let i=n.replace(r,``),a=+!!Xl.has(t);return r!==n&&(a*=100),t+`(`+a+i+`)`}var Ql=/\b([a-z-]*)\(.*?\)/gu,$l={...os,getAnimatableNone:e=>{let t=e.match(Ql);return t?t.map(Zl).join(` `):e}},eu={...os,getAnimatableNone:e=>{let t=os.parse(e);return os.createTransformer(e)(t.map(e=>typeof e==`number`?0:typeof e==`object`?{...e,alpha:1}:e))}},tu={...wo,transform:Math.round},nu={borderWidth:U,borderTopWidth:U,borderRightWidth:U,borderBottomWidth:U,borderLeftWidth:U,borderRadius:U,borderTopLeftRadius:U,borderTopRightRadius:U,borderBottomRightRadius:U,borderBottomLeftRadius:U,width:U,maxWidth:U,height:U,maxHeight:U,top:U,right:U,bottom:U,left:U,inset:U,insetBlock:U,insetBlockStart:U,insetBlockEnd:U,insetInline:U,insetInlineStart:U,insetInlineEnd:U,padding:U,paddingTop:U,paddingRight:U,paddingBottom:U,paddingLeft:U,paddingBlock:U,paddingBlockStart:U,paddingBlockEnd:U,paddingInline:U,paddingInlineStart:U,paddingInlineEnd:U,margin:U,marginTop:U,marginRight:U,marginBottom:U,marginLeft:U,marginBlock:U,marginBlockStart:U,marginBlockEnd:U,marginInline:U,marginInlineStart:U,marginInlineEnd:U,fontSize:U,backgroundPositionX:U,backgroundPositionY:U,rotate:zo,rotateX:zo,rotateY:zo,rotateZ:zo,scale:Eo,scaleX:Eo,scaleY:Eo,scaleZ:Eo,skew:zo,skewX:zo,skewY:zo,distance:U,translateX:U,translateY:U,translateZ:U,x:U,y:U,z:U,perspective:U,transformPerspective:U,opacity:To,originX:Uo,originY:Uo,originZ:U,zIndex:tu,fillOpacity:To,strokeOpacity:To,numOctaves:tu},ru={...nu,color:W,backgroundColor:W,outlineColor:W,fill:W,stroke:W,borderColor:W,borderTopColor:W,borderRightColor:W,borderBottomColor:W,borderLeftColor:W,filter:$l,WebkitFilter:$l,mask:eu,WebkitMask:eu},iu=e=>ru[e],au=new Set([$l,eu]);function ou(e,t){let n=iu(e);return au.has(n)||(n=os),n.getAnimatableNone?n.getAnimatableNone(t):void 0}var su=new Set([`auto`,`none`,`0`]);function cu(e,t,n){let r=0,i;for(;r<e.length&&!i;){let t=e[r];typeof t==`string`&&!su.has(t)&&$o(t).values.length&&(i=e[r]),r++}if(i&&n)for(let r of t)e[r]=ou(n,i)}var lu=class extends kc{constructor(e,t,n,r,i){super(e,t,n,r,i,!0)}readKeyframes(){let{unresolvedKeyframes:e,element:t,name:n}=this;if(!t||!t.current)return;super.readKeyframes();for(let n=0;n<e.length;n++){let r=e[n];if(typeof r==`string`&&(r=r.trim(),xo(r))){let i=ul(r,t.current);i!==void 0&&(e[n]=i),n===e.length-1&&(this.finalKeyframe=r)}}if(this.resolveNoneKeyframes(),!wl.has(n)||e.length!==2)return;let[r,i]=e,a=Jl(r),o=Jl(i);if(Co(r)!==Co(i)&&xc[n]){this.needsMeasurement=!0;return}if(a!==o)if(_c(a)&&_c(o))for(let t=0;t<e.length;t++){let n=e[t];typeof n==`string`&&(e[t]=parseFloat(n))}else xc[n]&&(this.needsMeasurement=!0)}resolveNoneKeyframes(){let{unresolvedKeyframes:e,name:t}=this,n=[];for(let t=0;t<e.length;t++)(e[t]===null||Yl(e[t]))&&n.push(t);n.length&&cu(e,n,t)}measureInitialState(){let{element:e,unresolvedKeyframes:t,name:n}=this;if(!e||!e.current)return;n===`height`&&(this.suspendedScrollY=window.pageYOffset),this.measuredOrigin=xc[n](e.measureViewportBox(),window.getComputedStyle(e.current)),t[0]=this.measuredOrigin;let r=t[t.length-1];r!==void 0&&e.getValue(n,r).jump(r,!1)}measureEndState(){let{element:e,name:t,unresolvedKeyframes:n}=this;if(!e||!e.current)return;let r=e.getValue(t);r&&r.jump(this.measuredOrigin,!1);let i=n.length-1,a=n[i];n[i]=xc[t](e.measureViewportBox(),window.getComputedStyle(e.current)),a!==null&&this.finalKeyframe===void 0&&(this.finalKeyframe=a),this.removedTransforms?.length&&this.removedTransforms.forEach(([t,n])=>{e.getValue(t).set(n)}),this.resolveNoneKeyframes()}};function uu(e,t,n){if(e==null)return[];if(e instanceof EventTarget)return[e];if(typeof e==`string`){let r=document;t&&(r=t.current);let i=n?.[e]??r.querySelectorAll(e);return i?Array.from(i):[]}return Array.from(e).filter(e=>e!=null)}var du=(e,t)=>t&&typeof e==`number`?t.transform(e):e;function fu(e){return Ta(e)&&`offsetHeight`in e&&!(`ownerSVGElement`in e)}var{schedule:pu,cancel:mu}=uo(queueMicrotask,!1),hu={x:!1,y:!1};function gu(){return hu.x||hu.y}function _u(e){return e===`x`||e===`y`?hu[e]?null:(hu[e]=!0,()=>{hu[e]=!1}):hu.x||hu.y?null:(hu.x=hu.y=!0,()=>{hu.x=hu.y=!1})}function vu(e,t){let n=uu(e),r=new AbortController;return[n,{passive:!0,...t,signal:r.signal},()=>r.abort()]}function yu(e){return!(e.pointerType===`touch`||gu())}function bu(e,t,n={}){let[r,i,a]=vu(e,n);return r.forEach(e=>{let n=!1,r=!1,a,o=()=>{e.removeEventListener(`pointerleave`,u)},s=e=>{a&&=(a(e),void 0),o()},c=e=>{n=!1,window.removeEventListener(`pointerup`,c),window.removeEventListener(`pointercancel`,c),r&&(r=!1,s(e))},l=()=>{n=!0,window.addEventListener(`pointerup`,c,i),window.addEventListener(`pointercancel`,c,i)},u=e=>{if(e.pointerType!==`touch`){if(n){r=!0;return}s(e)}};e.addEventListener(`pointerenter`,n=>{if(!yu(n))return;r=!1;let o=t(e,n);typeof o==`function`&&(a=o,e.addEventListener(`pointerleave`,u,i))},i),e.addEventListener(`pointerdown`,l,i)}),a}var xu=(e,t)=>t?e===t?!0:xu(e,t.parentElement):!1,Su=e=>e.pointerType===`mouse`?typeof e.button!=`number`||e.button<=0:e.isPrimary!==!1,Cu=new Set([`BUTTON`,`INPUT`,`SELECT`,`TEXTAREA`,`A`]);function wu(e){return Cu.has(e.tagName)||e.isContentEditable===!0}var Tu=new Set([`INPUT`,`SELECT`,`TEXTAREA`]);function Eu(e){return Tu.has(e.tagName)||e.isContentEditable===!0}var Du=new WeakSet;function Ou(e){return t=>{t.key===`Enter`&&e(t)}}function ku(e,t){e.dispatchEvent(new PointerEvent(`pointer`+t,{isPrimary:!0,bubbles:!0}))}var Au=(e,t)=>{let n=e.currentTarget;if(!n)return;let r=Ou(()=>{if(Du.has(n))return;ku(n,`down`);let e=Ou(()=>{ku(n,`up`)});n.addEventListener(`keyup`,e,t),n.addEventListener(`blur`,()=>ku(n,`cancel`),t)});n.addEventListener(`keydown`,r,t),n.addEventListener(`blur`,()=>n.removeEventListener(`keydown`,r),t)};function ju(e){return Su(e)&&!gu()}var Mu=new WeakSet;function Nu(e,t,n={}){let[r,i,a]=vu(e,n),o=e=>{let r=e.currentTarget;if(!ju(e)||Mu.has(e))return;Du.add(r),n.stopPropagation&&Mu.add(e);let a=t(r,e),o=(e,t)=>{window.removeEventListener(`pointerup`,s),window.removeEventListener(`pointercancel`,c),Du.has(r)&&Du.delete(r),ju(e)&&typeof a==`function`&&a(e,{success:t})},s=e=>{o(e,r===window||r===document||n.useGlobalTarget||xu(r,e.target))},c=e=>{o(e,!1)};window.addEventListener(`pointerup`,s,i),window.addEventListener(`pointercancel`,c,i)};return r.forEach(e=>{(n.useGlobalTarget?window:e).addEventListener(`pointerdown`,o,i),fu(e)&&(e.addEventListener(`focus`,e=>Au(e,i)),!wu(e)&&!e.hasAttribute(`tabindex`)&&(e.tabIndex=0))}),a}function Pu(e){return Ta(e)&&`ownerSVGElement`in e}var Fu=new WeakMap,Iu,Lu=(e,t,n)=>(r,i)=>i&&i[0]?i[0][e+`Size`]:Pu(r)&&`getBBox`in r?r.getBBox()[t]:r[n],Ru=Lu(`inline`,`width`,`offsetWidth`),zu=Lu(`block`,`height`,`offsetHeight`);function Bu({target:e,borderBoxSize:t}){Fu.get(e)?.forEach(n=>{n(e,{get width(){return Ru(e,t)},get height(){return zu(e,t)}})})}function Vu(e){e.forEach(Bu)}function Hu(){typeof ResizeObserver>`u`||(Iu=new ResizeObserver(Vu))}function Uu(e,t){Iu||Hu();let n=uu(e);return n.forEach(e=>{let n=Fu.get(e);n||(n=new Set,Fu.set(e,n)),n.add(t),Iu?.observe(e)}),()=>{n.forEach(e=>{let n=Fu.get(e);n?.delete(t),n?.size||Iu?.unobserve(e)})}}var Wu=new Set,Gu;function Ku(){Gu=()=>{let e={get width(){return window.innerWidth},get height(){return window.innerHeight}};Wu.forEach(t=>t(e))},window.addEventListener(`resize`,Gu)}function qu(e){return Wu.add(e),Gu||Ku(),()=>{Wu.delete(e),!Wu.size&&typeof Gu==`function`&&(window.removeEventListener(`resize`,Gu),Gu=void 0)}}function Ju(e,t){return typeof e==`function`?qu(e):Uu(e,t)}function Yu(e){return Pu(e)&&e.tagName===`svg`}var Xu=[...ql,W,os],Zu=e=>Xu.find(Kl(e)),Qu=()=>({translate:0,scale:1,origin:0,originPoint:0}),$u=()=>({x:Qu(),y:Qu()}),ed=()=>({min:0,max:0}),q=()=>({x:ed(),y:ed()}),td=new WeakMap;function nd(e){return typeof e==`object`&&!!e&&typeof e.start==`function`}function rd(e){return typeof e==`string`||Array.isArray(e)}var id=[`animate`,`whileInView`,`whileFocus`,`whileHover`,`whileTap`,`whileDrag`,`exit`],ad=[`initial`,...id];function od(e){return nd(e.animate)||ad.some(t=>rd(e[t]))}function sd(e){return!!(od(e)||e.variants)}function cd(e,t,n){for(let r in t){let i=t[r],a=n[r];if(Pl(i))e.addValue(r,i);else if(Pl(a))e.addValue(r,kl(i,{owner:e}));else if(a!==i)if(e.hasValue(r)){let t=e.getValue(r);t.liveStyle===!0?t.jump(i):t.hasAnimated||t.set(i)}else{let t=e.getStaticValue(r);e.addValue(r,kl(t===void 0?i:t,{owner:e}))}}for(let r in n)t[r]===void 0&&e.removeValue(r);return t}var ld={current:null},ud={current:!1},dd=typeof window<`u`;function fd(){if(ud.current=!0,dd)if(window.matchMedia){let e=window.matchMedia(`(prefers-reduced-motion)`),t=()=>ld.current=e.matches;e.addEventListener(`change`,t),t()}else ld.current=!1}var pd=[`AnimationStart`,`AnimationComplete`,`Update`,`BeforeLayoutMeasure`,`LayoutMeasure`,`LayoutAnimationStart`,`LayoutAnimationComplete`],md={};function hd(e){md=e}function gd(){return md}var _d=class{scrapeMotionValuesFromProps(e,t,n){return{}}constructor({parent:e,props:t,presenceContext:n,reducedMotionConfig:r,skipAnimations:i,blockInitialAnimation:a,visualState:o},s={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.shouldSkipAnimations=!1,this.values=new Map,this.KeyframeResolver=kc,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.hasBeenMounted=!1,this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify(`Update`,this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.renderScheduledAt=0,this.scheduleRender=()=>{let e=go.now();this.renderScheduledAt<e&&(this.renderScheduledAt=e,V.render(this.render,!1,!0))};let{latestValues:c,renderState:l}=o;this.latestValues=c,this.baseTarget={...c},this.initialValues=t.initial?{...c}:{},this.renderState=l,this.parent=e,this.props=t,this.presenceContext=n,this.depth=e?e.depth+1:0,this.reducedMotionConfig=r,this.skipAnimationsConfig=i,this.options=s,this.blockInitialAnimation=!!a,this.isControllingVariants=od(t),this.isVariantNode=sd(t),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=!!(e&&e.current);let{willChange:u,...d}=this.scrapeMotionValuesFromProps(t,{},this);for(let e in d){let t=d[e];c[e]!==void 0&&Pl(t)&&t.set(c[e])}}mount(e){if(this.hasBeenMounted)for(let e in this.initialValues)this.values.get(e)?.jump(this.initialValues[e]),this.latestValues[e]=this.initialValues[e];this.current=e,td.set(e,this),this.projection&&!this.projection.instance&&this.projection.mount(e),this.parent&&this.isVariantNode&&!this.isControllingVariants&&(this.removeFromVariantTree=this.parent.addVariantChild(this)),this.values.forEach((e,t)=>this.bindToMotionValue(t,e)),this.reducedMotionConfig===`never`?this.shouldReduceMotion=!1:this.reducedMotionConfig===`always`?this.shouldReduceMotion=!0:(ud.current||fd(),this.shouldReduceMotion=ld.current),process.env.NODE_ENV!==`production`&&La(this.shouldReduceMotion!==!0,`You have Reduced Motion enabled on your device. Animations may not appear as expected.`,`reduced-motion-disabled`),this.shouldSkipAnimations=this.skipAnimationsConfig??!1,this.parent?.addChild(this),this.update(this.props,this.presenceContext),this.hasBeenMounted=!0}unmount(){this.projection&&this.projection.unmount(),fo(this.notifyUpdate),fo(this.render),this.valueSubscriptions.forEach(e=>e()),this.valueSubscriptions.clear(),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent?.removeChild(this);for(let e in this.events)this.events[e].clear();for(let e in this.features){let t=this.features[e];t&&(t.unmount(),t.isMounted=!1)}this.current=null}addChild(e){this.children.add(e),this.enteringChildren??=new Set,this.enteringChildren.add(e)}removeChild(e){this.children.delete(e),this.enteringChildren&&this.enteringChildren.delete(e)}bindToMotionValue(e,t){if(this.valueSubscriptions.has(e)&&this.valueSubscriptions.get(e)(),t.accelerate&&Qc.has(e)&&this.current instanceof HTMLElement){let{factory:n,keyframes:r,times:i,ease:a,duration:o}=t.accelerate,s=new Hc({element:this.current,name:e,keyframes:r,times:i,ease:a,duration:Na(o)}),c=n(s);this.valueSubscriptions.set(e,()=>{c(),s.cancel()});return}let n=gc.has(e);n&&this.onBindTransform&&this.onBindTransform();let r=t.on(`change`,t=>{this.latestValues[e]=t,this.props.onUpdate&&V.preRender(this.notifyUpdate),n&&this.projection&&(this.projection.isTransformDirty=!0),this.scheduleRender()}),i;typeof window<`u`&&window.MotionCheckAppearSync&&(i=window.MotionCheckAppearSync(this,e,t)),this.valueSubscriptions.set(e,()=>{r(),i&&i(),t.owner&&t.stop()})}sortNodePosition(e){return!this.current||!this.sortInstanceNodePosition||this.type!==e.type?0:this.sortInstanceNodePosition(this.current,e.current)}updateFeatures(){let e=`animation`;for(e in md){let t=md[e];if(!t)continue;let{isEnabled:n,Feature:r}=t;if(!this.features[e]&&r&&n(this.props)&&(this.features[e]=new r(this)),this.features[e]){let t=this.features[e];t.isMounted?t.update():(t.mount(),t.isMounted=!0)}}}triggerBuild(){this.build(this.renderState,this.latestValues,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):q()}getStaticValue(e){return this.latestValues[e]}setStaticValue(e,t){this.latestValues[e]=t}update(e,t){(e.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=e,this.prevPresenceContext=this.presenceContext,this.presenceContext=t;for(let t=0;t<pd.length;t++){let n=pd[t];this.propEventSubscriptions[n]&&(this.propEventSubscriptions[n](),delete this.propEventSubscriptions[n]);let r=e[`on`+n];r&&(this.propEventSubscriptions[n]=this.on(n,r))}this.prevMotionValues=cd(this,this.scrapeMotionValuesFromProps(e,this.prevProps||{},this),this.prevMotionValues),this.handleChildMotionValue&&this.handleChildMotionValue()}getProps(){return this.props}getVariant(e){return this.props.variants?this.props.variants[e]:void 0}getDefaultTransition(){return this.props.transition}getTransformPagePoint(){return this.props.transformPagePoint}getClosestVariantNode(){return this.isVariantNode?this:this.parent?this.parent.getClosestVariantNode():void 0}addVariantChild(e){let t=this.getClosestVariantNode();if(t)return t.variantChildren&&t.variantChildren.add(e),()=>t.variantChildren.delete(e)}addValue(e,t){let n=this.values.get(e);t!==n&&(n&&this.removeValue(e),this.bindToMotionValue(e,t),this.values.set(e,t),this.latestValues[e]=t.get())}removeValue(e){this.values.delete(e);let t=this.valueSubscriptions.get(e);t&&(t(),this.valueSubscriptions.delete(e)),delete this.latestValues[e],this.removeValueFromRenderState(e,this.renderState)}hasValue(e){return this.values.has(e)}getValue(e,t){if(this.props.values&&this.props.values[e])return this.props.values[e];let n=this.values.get(e);return n===void 0&&t!==void 0&&(n=kl(t===null?void 0:t,{owner:this}),this.addValue(e,n)),n}readValue(e,t){let n=this.latestValues[e]!==void 0||!this.current?this.latestValues[e]:this.getBaseTargetFromProps(this.props,e)??this.readValueFromInstance(this.current,e,this.options);return n!=null&&(typeof n==`string`&&(wa(n)||Ea(n))?n=parseFloat(n):!Zu(n)&&os.test(t)&&(n=ou(e,t)),this.setBaseTarget(e,Pl(n)?n.get():n)),Pl(n)?n.get():n}setBaseTarget(e,t){this.baseTarget[e]=t}getBaseTarget(e){let{initial:t}=this.props,n;if(typeof t==`string`||typeof t==`object`){let r=Sl(this.props,t,this.presenceContext?.custom);r&&(n=r[e])}if(t&&n!==void 0)return n;let r=this.getBaseTargetFromProps(this.props,e);return r!==void 0&&!Pl(r)?r:this.initialValues[e]!==void 0&&n===void 0?void 0:this.baseTarget[e]}on(e,t){return this.events[e]||(this.events[e]=new Ma),this.events[e].add(t)}notify(e,...t){this.events[e]&&this.events[e].notify(...t)}scheduleRenderMicrotask(){pu.render(this.render)}},vd=class extends _d{constructor(){super(...arguments),this.KeyframeResolver=lu}sortInstanceNodePosition(e,t){return e.compareDocumentPosition(t)&2?1:-1}getBaseTargetFromProps(e,t){let n=e.style;return n?n[t]:void 0}removeValueFromRenderState(e,{vars:t,style:n}){delete t[e],delete n[e]}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);let{children:e}=this.props;Pl(e)&&(this.childSubscription=e.on(`change`,e=>{this.current&&(this.current.textContent=`${e}`)}))}},yd=class{constructor(e){this.isMounted=!1,this.node=e}update(){}};function bd({top:e,left:t,right:n,bottom:r}){return{x:{min:t,max:n},y:{min:e,max:r}}}function xd({x:e,y:t}){return{top:t.min,right:e.max,bottom:t.max,left:e.min}}function Sd(e,t){if(!t)return e;let n=t({x:e.left,y:e.top}),r=t({x:e.right,y:e.bottom});return{top:n.y,left:n.x,bottom:r.y,right:r.x}}function Cd(e){return e===void 0||e===1}function wd({scale:e,scaleX:t,scaleY:n}){return!Cd(e)||!Cd(t)||!Cd(n)}function Td(e){return wd(e)||Ed(e)||e.z||e.rotate||e.rotateX||e.rotateY||e.skewX||e.skewY}function Ed(e){return Dd(e.x)||Dd(e.y)}function Dd(e){return e&&e!==`0%`}function Od(e,t,n){return n+t*(e-n)}function kd(e,t,n,r,i){return i!==void 0&&(e=Od(e,i,r)),Od(e,n,r)+t}function Ad(e,t=0,n=1,r,i){e.min=kd(e.min,t,n,r,i),e.max=kd(e.max,t,n,r,i)}function jd(e,{x:t,y:n}){Ad(e.x,t.translate,t.scale,t.originPoint),Ad(e.y,n.translate,n.scale,n.originPoint)}var Md=.999999999999,Nd=1.0000000000001;function Pd(e,t,n,r=!1){let i=n.length;if(!i)return;t.x=t.y=1;let a,o;for(let s=0;s<i;s++){a=n[s],o=a.projectionDelta;let{visualElement:i}=a.options;i&&i.props.style&&i.props.style.display===`contents`||(r&&a.options.layoutScroll&&a.scroll&&a!==a.root&&(Fd(e.x,-a.scroll.offset.x),Fd(e.y,-a.scroll.offset.y)),o&&(t.x*=o.x.scale,t.y*=o.y.scale,jd(e,o)),r&&Td(a.latestValues)&&Rd(e,a.latestValues,a.layout?.layoutBox))}t.x<Nd&&t.x>Md&&(t.x=1),t.y<Nd&&t.y>Md&&(t.y=1)}function Fd(e,t){e.min+=t,e.max+=t}function Id(e,t,n,r,i=.5){Ad(e,t,n,G(e.min,e.max,i),r)}function Ld(e,t){return typeof e==`string`?parseFloat(e)/100*(t.max-t.min):e}function Rd(e,t,n){let r=n??e;Id(e.x,Ld(t.x,r.x),t.scaleX,t.scale,t.originX),Id(e.y,Ld(t.y,r.y),t.scaleY,t.scale,t.originY)}function zd(e,t){return bd(Sd(e.getBoundingClientRect(),t))}function Bd(e,t,n){let r=zd(e,n),{scroll:i}=t;return i&&(Fd(r.x,i.offset.x),Fd(r.y,i.offset.y)),r}var Vd={x:`translateX`,y:`translateY`,z:`translateZ`,transformPerspective:`perspective`},Hd=hc.length;function Ud(e,t,n){let r=``,i=!0;for(let a=0;a<Hd;a++){let o=hc[a],s=e[o];if(s===void 0)continue;let c=!0;if(typeof s==`number`)c=s===+!!o.startsWith(`scale`);else{let e=parseFloat(s);c=o.startsWith(`scale`)?e===1:e===0}if(!c||n){let e=du(s,nu[o]);if(!c){i=!1;let t=Vd[o]||o;r+=`${t}(${e}) `}n&&(t[o]=e)}}return r=r.trim(),n?r=n(t,i?``:r):i&&(r=`none`),r}function Wd(e,t,n){let{style:r,vars:i,transformOrigin:a}=e,o=!1,s=!1;for(let e in t){let n=t[e];if(gc.has(e)){o=!0;continue}else if(yo(e)){i[e]=n;continue}else{let t=du(n,nu[e]);e.startsWith(`origin`)?(s=!0,a[e]=t):r[e]=t}}if(t.transform||(o||n?r.transform=Ud(t,e.transform,n):r.transform&&=`none`),s){let{originX:e=`50%`,originY:t=`50%`,originZ:n=0}=a;r.transformOrigin=`${e} ${t} ${n}`}}function Gd(e,{style:t,vars:n},r,i){let a=e.style,o;for(o in t)a[o]=t[o];for(o in i?.applyProjectionStyles(a,r),n)a.setProperty(o,n[o])}function Kd(e,t){return t.max===t.min?0:e/(t.max-t.min)*100}var qd={correct:(e,t)=>{if(!t.target)return e;if(typeof e==`string`)if(U.test(e))e=parseFloat(e);else return e;return`${Kd(e,t.target.x)}% ${Kd(e,t.target.y)}%`}},Jd={correct:(e,{treeScale:t,projectionDelta:n})=>{let r=e,i=os.parse(e);if(i.length>5)return r;let a=os.createTransformer(e),o=typeof i[0]==`number`?0:1,s=n.x.scale*t.x,c=n.y.scale*t.y;i[0+o]/=s,i[1+o]/=c;let l=G(s,c,.5);return typeof i[2+o]==`number`&&(i[2+o]/=l),typeof i[3+o]==`number`&&(i[3+o]/=l),a(i)}},Yd={borderRadius:{...qd,applyTo:[`borderTopLeftRadius`,`borderTopRightRadius`,`borderBottomLeftRadius`,`borderBottomRightRadius`]},borderTopLeftRadius:qd,borderTopRightRadius:qd,borderBottomLeftRadius:qd,borderBottomRightRadius:qd,boxShadow:Jd};function Xd(e,{layout:t,layoutId:n}){return gc.has(e)||e.startsWith(`origin`)||(t||n!==void 0)&&(!!Yd[e]||e===`opacity`)}function Zd(e,t,n){let r=e.style,i=t?.style,a={};if(!r)return a;for(let t in r)(Pl(r[t])||i&&Pl(i[t])||Xd(t,e)||n?.getValue(t)?.liveStyle!==void 0)&&(a[t]=r[t]);return a}function Qd(e){return window.getComputedStyle(e)}var $d=class extends vd{constructor(){super(...arguments),this.type=`html`,this.renderInstance=Gd}readValueFromInstance(e,t){if(gc.has(t))return this.projection?.isProjecting?dc(t):pc(e,t);{let n=Qd(e),r=(yo(t)?n.getPropertyValue(t):n[t])||0;return typeof r==`string`?r.trim():r}}measureInstanceViewportBox(e,{transformPagePoint:t}){return zd(e,t)}build(e,t,n){Wd(e,t,n.transformTemplate)}scrapeMotionValuesFromProps(e,t,n){return Zd(e,t,n)}},ef={offset:`stroke-dashoffset`,array:`stroke-dasharray`},tf={offset:`strokeDashoffset`,array:`strokeDasharray`};function nf(e,t,n=1,r=0,i=!0){e.pathLength=1;let a=i?ef:tf;e[a.offset]=`${-r}`,e[a.array]=`${t} ${n}`}var rf=[`offsetDistance`,`offsetPath`,`offsetRotate`,`offsetAnchor`];function af(e,{attrX:t,attrY:n,attrScale:r,pathLength:i,pathSpacing:a=1,pathOffset:o=0,...s},c,l,u){if(Wd(e,s,l),c){e.style.viewBox&&(e.attrs.viewBox=e.style.viewBox);return}e.attrs=e.style,e.style={};let{attrs:d,style:f}=e;d.transform&&(f.transform=d.transform,delete d.transform),(f.transform||d.transformOrigin)&&(f.transformOrigin=d.transformOrigin??`50% 50%`,delete d.transformOrigin),f.transform&&(f.transformBox=u?.transformBox??`fill-box`,delete d.transformBox);for(let e of rf)d[e]!==void 0&&(f[e]=d[e],delete d[e]);t!==void 0&&(d.x=t),n!==void 0&&(d.y=n),r!==void 0&&(d.scale=r),i!==void 0&&nf(d,i,a,o,!1)}var of=new Set([`baseFrequency`,`diffuseConstant`,`kernelMatrix`,`kernelUnitLength`,`keySplines`,`keyTimes`,`limitingConeAngle`,`markerHeight`,`markerWidth`,`numOctaves`,`targetX`,`targetY`,`surfaceScale`,`specularConstant`,`specularExponent`,`stdDeviation`,`tableValues`,`viewBox`,`gradientTransform`,`pathLength`,`startOffset`,`textLength`,`lengthAdjust`]),sf=e=>typeof e==`string`&&e.toLowerCase()===`svg`;function cf(e,t,n,r){Gd(e,t,void 0,r);for(let n in t.attrs)e.setAttribute(of.has(n)?n:Ll(n),t.attrs[n])}function lf(e,t,n){let r=Zd(e,t,n);for(let n in e)if(Pl(e[n])||Pl(t[n])){let t=hc.indexOf(n)===-1?n:`attr`+n.charAt(0).toUpperCase()+n.substring(1);r[t]=e[n]}return r}var uf=class extends vd{constructor(){super(...arguments),this.type=`svg`,this.isSVGTag=!1,this.measureInstanceViewportBox=q}getBaseTargetFromProps(e,t){return e[t]}readValueFromInstance(e,t){if(gc.has(t)){let e=iu(t);return e&&e.default||0}return t=of.has(t)?t:Ll(t),e.getAttribute(t)}scrapeMotionValuesFromProps(e,t,n){return lf(e,t,n)}build(e,t,n){af(e,t,this.isSVGTag,n.transformTemplate,n.style)}renderInstance(e,t,n,r){cf(e,t,n,r)}mount(e){this.isSVGTag=sf(e.tagName),super.mount(e)}},df=ad.length;function ff(e){if(!e)return;if(!e.isControllingVariants){let t=e.parent&&ff(e.parent)||{};return e.props.initial!==void 0&&(t.initial=e.props.initial),t}let t={};for(let n=0;n<df;n++){let r=ad[n],i=e.props[r];(rd(i)||i===!1)&&(t[r]=i)}return t}function pf(e,t){if(!Array.isArray(t))return!1;let n=t.length;if(n!==e.length)return!1;for(let r=0;r<n;r++)if(t[r]!==e[r])return!1;return!0}var mf=[...id].reverse(),hf=id.length;function gf(e){return t=>Promise.all(t.map(({animation:t,options:n})=>Wl(e,t,n)))}function _f(e){let t=gf(e),n=bf(),r=!0,i=!1,a=t=>(n,r)=>{let i=Cl(e,r,t===`exit`?e.presenceContext?.custom:void 0);if(i){let{transition:e,transitionEnd:t,...r}=i;n={...n,...r,...t}}return n};function o(n){t=n(e)}function s(o){let{props:s}=e,c=ff(e.parent)||{},l=[],u=new Set,d={},f=1/0;for(let t=0;t<hf;t++){let p=mf[t],m=n[p],h=s[p]===void 0?c[p]:s[p],g=rd(h),_=p===o?m.isActive:null;_===!1&&(f=t);let v=h===c[p]&&h!==s[p]&&g;if(v&&(r||i)&&e.manuallyAnimateOnMount&&(v=!1),m.protectedKeys={...d},!m.isActive&&_===null||!h&&!m.prevProp||nd(h)||typeof h==`boolean`)continue;if(p===`exit`&&m.isActive&&_!==!0){m.prevResolvedValues&&(d={...d,...m.prevResolvedValues});continue}let y=vf(m.prevProp,h),b=y||p===o&&m.isActive&&!v&&g||t>f&&g,x=!1,S=Array.isArray(h)?h:[h],C=S.reduce(a(p),{});_===!1&&(C={});let{prevResolvedValues:w={}}=m,T={...w,...C},ee=t=>{b=!0,u.has(t)&&(x=!0,u.delete(t)),m.needsAnimating[t]=!0;let n=e.getValue(t);n&&(n.liveStyle=!1)};for(let e in T){let t=C[e],n=w[e];if(d.hasOwnProperty(e))continue;let r=!1;r=Al(t)&&Al(n)?!pf(t,n):t!==n,r?t==null?u.add(e):ee(e):t!==void 0&&u.has(e)?ee(e):m.protectedKeys[e]=!0}m.prevProp=h,m.prevResolvedValues=C,m.isActive&&(d={...d,...C}),(r||i)&&e.blockInitialAnimation&&(b=!1);let E=v&&y;b&&(!E||x)&&l.push(...S.map(t=>{let n={type:p};if(typeof t==`string`&&(r||i)&&!E&&e.manuallyAnimateOnMount&&e.parent){let{parent:r}=e,i=Cl(r,t);if(r.enteringChildren&&i){let{delayChildren:t}=i.transition||{};n.delay=ol(r.enteringChildren,e,t)}}return{animation:t,options:n}}))}if(u.size){let t={};if(typeof s.initial!=`boolean`){let n=Cl(e,Array.isArray(s.initial)?s.initial[0]:s.initial);n&&n.transition&&(t.transition=n.transition)}u.forEach(n=>{let r=e.getBaseTarget(n),i=e.getValue(n);i&&(i.liveStyle=!0),t[n]=r??null}),l.push({animation:t})}let p=!!l.length;return r&&(s.initial===!1||s.initial===s.animate)&&!e.manuallyAnimateOnMount&&(p=!1),r=!1,i=!1,p?t(l):Promise.resolve()}function c(t,r){if(n[t].isActive===r)return Promise.resolve();e.variantChildren?.forEach(e=>e.animationState?.setActive(t,r)),n[t].isActive=r;let i=s(t);for(let e in n)n[e].protectedKeys={};return i}return{animateChanges:s,setActive:c,setAnimateFunction:o,getState:()=>n,reset:()=>{n=bf(),i=!0}}}function vf(e,t){return typeof t==`string`?t!==e:Array.isArray(t)?!pf(t,e):!1}function yf(e=!1){return{isActive:e,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function bf(){return{animate:yf(!0),whileInView:yf(),whileHover:yf(),whileTap:yf(),whileDrag:yf(),whileFocus:yf(),exit:yf()}}function xf(e,t){e.min=t.min,e.max=t.max}function Sf(e,t){xf(e.x,t.x),xf(e.y,t.y)}function Cf(e,t){e.translate=t.translate,e.scale=t.scale,e.originPoint=t.originPoint,e.origin=t.origin}var wf=1e-4,Tf=1-wf,Ef=1+wf,Df=.01,Of=0-Df,kf=0+Df;function Af(e){return e.max-e.min}function jf(e,t,n){return Math.abs(e-t)<=n}function Mf(e,t,n,r=.5){e.origin=r,e.originPoint=G(t.min,t.max,e.origin),e.scale=Af(n)/Af(t),e.translate=G(n.min,n.max,e.origin)-e.originPoint,(e.scale>=Tf&&e.scale<=Ef||isNaN(e.scale))&&(e.scale=1),(e.translate>=Of&&e.translate<=kf||isNaN(e.translate))&&(e.translate=0)}function Nf(e,t,n,r){Mf(e.x,t.x,n.x,r?r.originX:void 0),Mf(e.y,t.y,n.y,r?r.originY:void 0)}function Pf(e,t,n,r=0){e.min=(r?G(n.min,n.max,r):n.min)+t.min,e.max=e.min+Af(t)}function Ff(e,t,n,r){Pf(e.x,t.x,n.x,r?.x),Pf(e.y,t.y,n.y,r?.y)}function If(e,t,n,r=0){let i=r?G(n.min,n.max,r):n.min;e.min=t.min-i,e.max=e.min+Af(t)}function Lf(e,t,n,r){If(e.x,t.x,n.x,r?.x),If(e.y,t.y,n.y,r?.y)}function Rf(e,t,n,r,i){return e-=t,e=Od(e,1/n,r),i!==void 0&&(e=Od(e,1/i,r)),e}function zf(e,t=0,n=1,r=.5,i,a=e,o=e){if(Bo.test(t)&&(t=parseFloat(t),t=G(o.min,o.max,t/100)-o.min),typeof t!=`number`)return;let s=G(a.min,a.max,r);e===a&&(s-=t),e.min=Rf(e.min,t,n,s,i),e.max=Rf(e.max,t,n,s,i)}function Bf(e,t,[n,r,i],a,o){zf(e,t[n],t[r],t[i],t.scale,a,o)}var Vf=[`x`,`scaleX`,`originX`],Hf=[`y`,`scaleY`,`originY`];function Uf(e,t,n,r){Bf(e.x,t,Vf,n?n.x:void 0,r?r.x:void 0),Bf(e.y,t,Hf,n?n.y:void 0,r?r.y:void 0)}function Wf(e){return e.translate===0&&e.scale===1}function Gf(e){return Wf(e.x)&&Wf(e.y)}function Kf(e,t){return e.min===t.min&&e.max===t.max}function qf(e,t){return Kf(e.x,t.x)&&Kf(e.y,t.y)}function Jf(e,t){return Math.round(e.min)===Math.round(t.min)&&Math.round(e.max)===Math.round(t.max)}function Yf(e,t){return Jf(e.x,t.x)&&Jf(e.y,t.y)}function Xf(e){return Af(e.x)/Af(e.y)}function Zf(e,t){return e.translate===t.translate&&e.scale===t.scale&&e.originPoint===t.originPoint}function Qf(e){return[e(`x`),e(`y`)]}function $f(e,t,n){let r=``,i=e.x.translate/t.x,a=e.y.translate/t.y,o=n?.z||0;if((i||a||o)&&(r=`translate3d(${i}px, ${a}px, ${o}px) `),(t.x!==1||t.y!==1)&&(r+=`scale(${1/t.x}, ${1/t.y}) `),n){let{transformPerspective:e,rotate:t,rotateX:i,rotateY:a,skewX:o,skewY:s}=n;e&&(r=`perspective(${e}px) ${r}`),t&&(r+=`rotate(${t}deg) `),i&&(r+=`rotateX(${i}deg) `),a&&(r+=`rotateY(${a}deg) `),o&&(r+=`skewX(${o}deg) `),s&&(r+=`skewY(${s}deg) `)}let s=e.x.scale*t.x,c=e.y.scale*t.y;return(s!==1||c!==1)&&(r+=`scale(${s}, ${c})`),r||`none`}var ep=[`borderTopLeftRadius`,`borderTopRightRadius`,`borderBottomLeftRadius`,`borderBottomRightRadius`],tp=ep.length,np=e=>typeof e==`string`?parseFloat(e):e,rp=e=>typeof e==`number`||U.test(e);function ip(e,t,n,r,i,a){i?(e.opacity=G(0,n.opacity??1,op(r)),e.opacityExit=G(t.opacity??1,0,sp(r))):a&&(e.opacity=G(t.opacity??1,n.opacity??1,r));for(let i=0;i<tp;i++){let a=ep[i],o=ap(t,a),s=ap(n,a);o===void 0&&s===void 0||(o||=0,s||=0,o===0||s===0||rp(o)===rp(s)?(e[a]=Math.max(G(np(o),np(s),r),0),(Bo.test(s)||Bo.test(o))&&(e[a]+=`%`)):e[a]=s)}(t.rotate||n.rotate)&&(e.rotate=G(t.rotate||0,n.rotate||0,r))}function ap(e,t){return e[t]===void 0?e.borderRadius:e[t]}var op=cp(0,.5,Xa),sp=cp(.5,.95,Oa);function cp(e,t,n){return r=>r<e?0:r>t?1:n(ja(e,t,r))}function lp(e,t,n){let r=Pl(e)?e:kl(e);return r.start(bl(``,r,t,n)),r.animation}function up(e,t,n,r={passive:!0}){return e.addEventListener(t,n,r),()=>e.removeEventListener(t,n)}var dp=(e,t)=>e.depth-t.depth,fp=class{constructor(){this.children=[],this.isDirty=!1}add(e){_a(this.children,e),this.isDirty=!0}remove(e){va(this.children,e),this.isDirty=!0}forEach(e){this.isDirty&&this.children.sort(dp),this.isDirty=!1,this.children.forEach(e)}};function pp(e,t){let n=go.now(),r=({timestamp:i})=>{let a=i-n;a>=t&&(fo(r),e(a-t))};return V.setup(r,!0),()=>fo(r)}function mp(e){return Pl(e)?e.get():e}var hp=class{constructor(){this.members=[]}add(e){_a(this.members,e);for(let t=this.members.length-1;t>=0;t--){let n=this.members[t];if(n===e||n===this.lead||n===this.prevLead)continue;let r=n.instance;(!r||r.isConnected===!1)&&!n.snapshot&&(va(this.members,n),n.unmount())}e.scheduleRender()}remove(e){if(va(this.members,e),e===this.prevLead&&(this.prevLead=void 0),e===this.lead){let e=this.members[this.members.length-1];e&&this.promote(e)}}relegate(e){for(let t=this.members.indexOf(e)-1;t>=0;t--){let e=this.members[t];if(e.isPresent!==!1&&e.instance?.isConnected!==!1)return this.promote(e),!0}return!1}promote(e,t){let n=this.lead;if(e!==n&&(this.prevLead=n,this.lead=e,e.show(),n)){n.updateSnapshot(),e.scheduleRender();let{layoutDependency:r}=n.options,{layoutDependency:i}=e.options;(r===void 0||r!==i)&&(e.resumeFrom=n,t&&(n.preserveOpacity=!0),n.snapshot&&(e.snapshot=n.snapshot,e.snapshot.latestValues=n.animationValues||n.latestValues),e.root?.isUpdating&&(e.isLayoutDirty=!0)),e.options.crossfade===!1&&n.hide()}}exitAnimationComplete(){this.members.forEach(e=>{e.options.onExitComplete?.(),e.resumingFrom?.options.onExitComplete?.()})}scheduleRender(){this.members.forEach(e=>e.instance&&e.scheduleRender(!1))}removeLeadSnapshot(){this.lead?.snapshot&&(this.lead.snapshot=void 0)}},gp={hasAnimatedSinceResize:!0,hasEverUpdated:!1},_p={nodes:0,calculatedTargetDeltas:0,calculatedProjections:0},vp=[``,`X`,`Y`,`Z`],yp=1e3,bp=0;function xp(e,t,n,r){let{latestValues:i}=t;i[e]&&(n[e]=i[e],t.setStaticValue(e,0),r&&(r[e]=0))}function Sp(e){if(e.hasCheckedOptimisedAppear=!0,e.root===e)return;let{visualElement:t}=e.options;if(!t)return;let n=zl(t);if(window.MotionHasOptimisedAnimation(n,`transform`)){let{layout:t,layoutId:r}=e.options;window.MotionCancelOptimisedAnimation(n,`transform`,V,!(t||r))}let{parent:r}=e;r&&!r.hasCheckedOptimisedAppear&&Sp(r)}function Cp({attachResizeListener:e,defaultParent:t,measureScroll:n,checkIsScrollRoot:r,resetTransform:i}){return class{constructor(e={},n=t?.()){this.id=bp++,this.animationId=0,this.animationCommitId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.hasCheckedOptimisedAppear=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.layoutVersion=0,this.updateScheduled=!1,this.scheduleUpdate=()=>this.update(),this.projectionUpdateScheduled=!1,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{this.projectionUpdateScheduled=!1,so.value&&(_p.nodes=_p.calculatedTargetDeltas=_p.calculatedProjections=0),this.nodes.forEach(Ep),this.nodes.forEach(Fp),this.nodes.forEach(Ip),this.nodes.forEach(Dp),so.addProjectionMetrics&&so.addProjectionMetrics(_p)},this.resolvedRelativeTargetAt=0,this.linkedParentVersion=0,this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=e,this.root=n?n.root||n:this,this.path=n?[...n.path,n]:[],this.parent=n,this.depth=n?n.depth+1:0;for(let e=0;e<this.path.length;e++)this.path[e].shouldResetTransform=!0;this.root===this&&(this.nodes=new fp)}addEventListener(e,t){return this.eventHandlers.has(e)||this.eventHandlers.set(e,new Ma),this.eventHandlers.get(e).add(t)}notifyListeners(e,...t){let n=this.eventHandlers.get(e);n&&n.notify(...t)}hasListeners(e){return this.eventHandlers.has(e)}mount(t){if(this.instance)return;this.isSVG=Pu(t)&&!Yu(t),this.instance=t;let{layoutId:n,layout:r,visualElement:i}=this.options;if(i&&!i.current&&i.mount(t),this.root.nodes.add(this),this.parent&&this.parent.children.add(this),this.root.hasTreeAnimated&&(r||n)&&(this.isLayoutDirty=!0),e){let n,r=0,i=()=>this.root.updateBlockedByResize=!1;V.read(()=>{r=window.innerWidth}),e(t,()=>{let e=window.innerWidth;e!==r&&(r=e,this.root.updateBlockedByResize=!0,n&&n(),n=pp(i,250),gp.hasAnimatedSinceResize&&(gp.hasAnimatedSinceResize=!1,this.nodes.forEach(Pp)))})}n&&this.root.registerSharedNode(n,this),this.options.animate!==!1&&i&&(n||r)&&this.addEventListener(`didUpdate`,({delta:e,hasLayoutChanged:t,hasRelativeLayoutChanged:n,layout:r})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}let a=this.options.transition||i.getDefaultTransition()||Up,{onLayoutAnimationStart:o,onLayoutAnimationComplete:s}=i.getProps(),c=!this.targetLayout||!Yf(this.targetLayout,r),l=!t&&n;if(this.options.layoutRoot||this.resumeFrom||l||t&&(c||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0);let t={..._l(a,`layout`),onPlay:o,onComplete:s};(i.shouldReduceMotion||this.options.layoutRoot)&&(t.delay=0,t.type=!1),this.startAnimation(t),this.setAnimationOrigin(e,l)}else t||Pp(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=r})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);let e=this.getStack();e&&e.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,this.eventHandlers.clear(),fo(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){this.isUpdateBlocked()||(this.isUpdating=!0,this.nodes&&this.nodes.forEach(Lp),this.animationId++)}getTransformTemplate(){let{visualElement:e}=this.options;return e&&e.getProps().transformTemplate}willUpdate(e=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(window.MotionCancelOptimisedAnimation&&!this.hasCheckedOptimisedAppear&&Sp(this),!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let e=0;e<this.path.length;e++){let t=this.path[e];t.shouldResetTransform=!0,(typeof t.latestValues.x==`string`||typeof t.latestValues.y==`string`)&&(t.isLayoutDirty=!0),t.updateScroll(`snapshot`),t.options.layoutRoot&&t.willUpdate(!1)}let{layoutId:t,layout:n}=this.options;if(t===void 0&&!n)return;let r=this.getTransformTemplate();this.prevTransformTemplateValue=r?r(this.latestValues,``):void 0,this.updateSnapshot(),e&&this.notifyListeners(`willUpdate`)}update(){if(this.updateScheduled=!1,this.isUpdateBlocked()){let e=this.updateBlockedByResize;this.unblockUpdate(),this.updateBlockedByResize=!1,this.clearAllSnapshots(),e&&this.nodes.forEach(Ap),this.nodes.forEach(kp);return}if(this.animationId<=this.animationCommitId){this.nodes.forEach(jp);return}this.animationCommitId=this.animationId,this.isUpdating?(this.isUpdating=!1,this.nodes.forEach(Mp),this.nodes.forEach(Np),this.nodes.forEach(wp),this.nodes.forEach(Tp)):this.nodes.forEach(jp),this.clearAllSnapshots();let e=go.now();H.delta=ya(0,1e3/60,e-H.timestamp),H.timestamp=e,H.isProcessing=!0,po.update.process(H),po.preRender.process(H),po.render.process(H),H.isProcessing=!1}didUpdate(){this.updateScheduled||(this.updateScheduled=!0,pu.read(this.scheduleUpdate))}clearAllSnapshots(){this.nodes.forEach(Op),this.sharedNodes.forEach(Rp)}scheduleUpdateProjection(){this.projectionUpdateScheduled||(this.projectionUpdateScheduled=!0,V.preRender(this.updateProjection,!1,!0))}scheduleCheckAfterUnmount(){V.postRender(()=>{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){this.snapshot||!this.instance||(this.snapshot=this.measure(),this.snapshot&&!Af(this.snapshot.measuredBox.x)&&!Af(this.snapshot.measuredBox.y)&&(this.snapshot=void 0))}updateLayout(){if(!this.instance||(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let e=0;e<this.path.length;e++)this.path[e].updateScroll();let e=this.layout;this.layout=this.measure(!1),this.layoutVersion++,this.layoutCorrected||=q(),this.isLayoutDirty=!1,this.projectionDelta=void 0,this.notifyListeners(`measure`,this.layout.layoutBox);let{visualElement:t}=this.options;t&&t.notify(`LayoutMeasure`,this.layout.layoutBox,e?e.layoutBox:void 0)}updateScroll(e=`measure`){let t=!!(this.options.layoutScroll&&this.instance);if(this.scroll&&this.scroll.animationId===this.root.animationId&&this.scroll.phase===e&&(t=!1),t&&this.instance){let t=r(this.instance);this.scroll={animationId:this.root.animationId,phase:e,isRoot:t,offset:n(this.instance),wasRoot:this.scroll?this.scroll.isRoot:t}}}resetTransform(){if(!i)return;let e=this.isLayoutDirty||this.shouldResetTransform||this.options.alwaysMeasureLayout,t=this.projectionDelta&&!Gf(this.projectionDelta),n=this.getTransformTemplate(),r=n?n(this.latestValues,``):void 0,a=r!==this.prevTransformTemplateValue;e&&this.instance&&(t||Td(this.latestValues)||a)&&(i(this.instance,r),this.shouldResetTransform=!1,this.scheduleRender())}measure(e=!0){let t=this.measurePageBox(),n=this.removeElementScroll(t);return e&&(n=this.removeTransform(n)),qp(n),{animationId:this.root.animationId,measuredBox:t,layoutBox:n,latestValues:{},source:this.id}}measurePageBox(){let{visualElement:e}=this.options;if(!e)return q();let t=e.measureViewportBox();if(!(this.scroll?.wasRoot||this.path.some(Yp))){let{scroll:e}=this.root;e&&(Fd(t.x,e.offset.x),Fd(t.y,e.offset.y))}return t}removeElementScroll(e){let t=q();if(Sf(t,e),this.scroll?.wasRoot)return t;for(let n=0;n<this.path.length;n++){let r=this.path[n],{scroll:i,options:a}=r;r!==this.root&&i&&a.layoutScroll&&(i.wasRoot&&Sf(t,e),Fd(t.x,i.offset.x),Fd(t.y,i.offset.y))}return t}applyTransform(e,t=!1,n){let r=n||q();Sf(r,e);for(let e=0;e<this.path.length;e++){let n=this.path[e];!t&&n.options.layoutScroll&&n.scroll&&n!==n.root&&(Fd(r.x,-n.scroll.offset.x),Fd(r.y,-n.scroll.offset.y)),Td(n.latestValues)&&Rd(r,n.latestValues,n.layout?.layoutBox)}return Td(this.latestValues)&&Rd(r,this.latestValues,this.layout?.layoutBox),r}removeTransform(e){let t=q();Sf(t,e);for(let e=0;e<this.path.length;e++){let n=this.path[e];if(!Td(n.latestValues))continue;let r;n.instance&&(wd(n.latestValues)&&n.updateSnapshot(),r=q(),Sf(r,n.measurePageBox())),Uf(t,n.latestValues,n.snapshot?.layoutBox,r)}return Td(this.latestValues)&&Uf(t,this.latestValues),t}setTargetDelta(e){this.targetDelta=e,this.root.scheduleUpdateProjection(),this.isProjectionDirty=!0}setOptions(e){this.options={...this.options,...e,crossfade:e.crossfade===void 0?!0:e.crossfade}}clearMeasurements(){this.scroll=void 0,this.layout=void 0,this.snapshot=void 0,this.prevTransformTemplateValue=void 0,this.targetDelta=void 0,this.target=void 0,this.isLayoutDirty=!1}forceRelativeParentToResolveTarget(){this.relativeParent&&this.relativeParent.resolvedRelativeTargetAt!==H.timestamp&&this.relativeParent.resolveTargetDelta(!0)}resolveTargetDelta(e=!1){let t=this.getLead();this.isProjectionDirty||=t.isProjectionDirty,this.isTransformDirty||=t.isTransformDirty,this.isSharedProjectionDirty||=t.isSharedProjectionDirty;let n=!!this.resumingFrom||this!==t;if(!(e||n&&this.isSharedProjectionDirty||this.isProjectionDirty||this.parent?.isProjectionDirty||this.attemptToResolveRelativeTarget||this.root.updateBlockedByResize))return;let{layout:r,layoutId:i}=this.options;if(!this.layout||!(r||i))return;this.resolvedRelativeTargetAt=H.timestamp;let a=this.getClosestProjectingParent();a&&this.linkedParentVersion!==a.layoutVersion&&!a.options.layoutRoot&&this.removeRelativeTarget(),!this.targetDelta&&!this.relativeTarget&&(this.options.layoutAnchor!==!1&&a&&a.layout?this.createRelativeTarget(a,this.layout.layoutBox,a.layout.layoutBox):this.removeRelativeTarget()),!(!this.relativeTarget&&!this.targetDelta)&&(this.target||(this.target=q(),this.targetWithTransforms=q()),this.relativeTarget&&this.relativeTargetOrigin&&this.relativeParent&&this.relativeParent.target?(this.forceRelativeParentToResolveTarget(),Ff(this.target,this.relativeTarget,this.relativeParent.target,this.options.layoutAnchor||void 0)):this.targetDelta?(this.resumingFrom?this.applyTransform(this.layout.layoutBox,!1,this.target):Sf(this.target,this.layout.layoutBox),jd(this.target,this.targetDelta)):Sf(this.target,this.layout.layoutBox),this.attemptToResolveRelativeTarget&&(this.attemptToResolveRelativeTarget=!1,this.options.layoutAnchor!==!1&&a&&!!a.resumingFrom==!!this.resumingFrom&&!a.options.layoutScroll&&a.target&&this.animationProgress!==1?this.createRelativeTarget(a,this.target,a.target):this.relativeParent=this.relativeTarget=void 0),so.value&&_p.calculatedTargetDeltas++)}getClosestProjectingParent(){if(!(!this.parent||wd(this.parent.latestValues)||Ed(this.parent.latestValues)))return this.parent.isProjecting()?this.parent:this.parent.getClosestProjectingParent()}isProjecting(){return!!((this.relativeTarget||this.targetDelta||this.options.layoutRoot)&&this.layout)}createRelativeTarget(e,t,n){this.relativeParent=e,this.linkedParentVersion=e.layoutVersion,this.forceRelativeParentToResolveTarget(),this.relativeTarget=q(),this.relativeTargetOrigin=q(),Lf(this.relativeTargetOrigin,t,n,this.options.layoutAnchor||void 0),Sf(this.relativeTarget,this.relativeTargetOrigin)}removeRelativeTarget(){this.relativeParent=this.relativeTarget=void 0}calcProjection(){let e=this.getLead(),t=!!this.resumingFrom||this!==e,n=!0;if((this.isProjectionDirty||this.parent?.isProjectionDirty)&&(n=!1),t&&(this.isSharedProjectionDirty||this.isTransformDirty)&&(n=!1),this.resolvedRelativeTargetAt===H.timestamp&&(n=!1),n)return;let{layout:r,layoutId:i}=this.options;if(this.isTreeAnimating=!!(this.parent&&this.parent.isTreeAnimating||this.currentAnimation||this.pendingAnimation),this.isTreeAnimating||(this.targetDelta=this.relativeTarget=void 0),!this.layout||!(r||i))return;Sf(this.layoutCorrected,this.layout.layoutBox);let a=this.treeScale.x,o=this.treeScale.y;Pd(this.layoutCorrected,this.treeScale,this.path,t),e.layout&&!e.target&&(this.treeScale.x!==1||this.treeScale.y!==1)&&(e.target=e.layout.layoutBox,e.targetWithTransforms=q());let{target:s}=e;if(!s){this.prevProjectionDelta&&(this.createProjectionDeltas(),this.scheduleRender());return}!this.projectionDelta||!this.prevProjectionDelta?this.createProjectionDeltas():(Cf(this.prevProjectionDelta.x,this.projectionDelta.x),Cf(this.prevProjectionDelta.y,this.projectionDelta.y)),Nf(this.projectionDelta,this.layoutCorrected,s,this.latestValues),(this.treeScale.x!==a||this.treeScale.y!==o||!Zf(this.projectionDelta.x,this.prevProjectionDelta.x)||!Zf(this.projectionDelta.y,this.prevProjectionDelta.y))&&(this.hasProjected=!0,this.scheduleRender(),this.notifyListeners(`projectionUpdate`,s)),so.value&&_p.calculatedProjections++}hide(){this.isVisible=!1}show(){this.isVisible=!0}scheduleRender(e=!0){if(this.options.visualElement?.scheduleRender(),e){let e=this.getStack();e&&e.scheduleRender()}this.resumingFrom&&!this.resumingFrom.instance&&(this.resumingFrom=void 0)}createProjectionDeltas(){this.prevProjectionDelta=$u(),this.projectionDelta=$u(),this.projectionDeltaWithTransform=$u()}setAnimationOrigin(e,t=!1){let n=this.snapshot,r=n?n.latestValues:{},i={...this.latestValues},a=$u();(!this.relativeParent||!this.relativeParent.options.layoutRoot)&&(this.relativeTarget=this.relativeTargetOrigin=void 0),this.attemptToResolveRelativeTarget=!t;let o=q(),s=(n?n.source:void 0)!==(this.layout?this.layout.source:void 0),c=this.getStack(),l=!c||c.members.length<=1,u=!!(s&&!l&&this.options.crossfade===!0&&!this.path.some(Hp));this.animationProgress=0;let d;this.mixTargetDelta=t=>{let n=t/1e3;zp(a.x,e.x,n),zp(a.y,e.y,n),this.setTargetDelta(a),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(Lf(o,this.layout.layoutBox,this.relativeParent.layout.layoutBox,this.options.layoutAnchor||void 0),Vp(this.relativeTarget,this.relativeTargetOrigin,o,n),d&&qf(this.relativeTarget,d)&&(this.isProjectionDirty=!1),d||=q(),Sf(d,this.relativeTarget)),s&&(this.animationValues=i,ip(i,r,this.latestValues,n,u,l)),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=n},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(e){this.notifyListeners(`animationStart`),this.currentAnimation?.stop(),this.resumingFrom?.currentAnimation?.stop(),this.pendingAnimation&&=(fo(this.pendingAnimation),void 0),this.pendingAnimation=V.update(()=>{gp.hasAnimatedSinceResize=!0,_o.layout++,this.motionValue||=kl(0),this.motionValue.jump(0,!1),this.currentAnimation=lp(this.motionValue,[0,1e3],{...e,velocity:0,isSync:!0,onUpdate:t=>{this.mixTargetDelta(t),e.onUpdate&&e.onUpdate(t)},onStop:()=>{_o.layout--},onComplete:()=>{_o.layout--,e.onComplete&&e.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);let e=this.getStack();e&&e.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners(`animationComplete`)}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(yp),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){let e=this.getLead(),{targetWithTransforms:t,target:n,layout:r,latestValues:i}=e;if(!(!t||!n||!r)){if(this!==e&&this.layout&&r&&Jp(this.options.animationType,this.layout.layoutBox,r.layoutBox)){n=this.target||q();let t=Af(this.layout.layoutBox.x);n.x.min=e.target.x.min,n.x.max=n.x.min+t;let r=Af(this.layout.layoutBox.y);n.y.min=e.target.y.min,n.y.max=n.y.min+r}Sf(t,n),Rd(t,i),Nf(this.projectionDeltaWithTransform,this.layoutCorrected,t,i)}}registerSharedNode(e,t){this.sharedNodes.has(e)||this.sharedNodes.set(e,new hp),this.sharedNodes.get(e).add(t);let n=t.options.initialPromotionConfig;t.promote({transition:n?n.transition:void 0,preserveFollowOpacity:n&&n.shouldPreserveFollowOpacity?n.shouldPreserveFollowOpacity(t):void 0})}isLead(){let e=this.getStack();return e?e.lead===this:!0}getLead(){let{layoutId:e}=this.options;return e&&this.getStack()?.lead||this}getPrevLead(){let{layoutId:e}=this.options;return e?this.getStack()?.prevLead:void 0}getStack(){let{layoutId:e}=this.options;if(e)return this.root.sharedNodes.get(e)}promote({needsReset:e,transition:t,preserveFollowOpacity:n}={}){let r=this.getStack();r&&r.promote(this,n),e&&(this.projectionDelta=void 0,this.needsReset=!0),t&&this.setOptions({transition:t})}relegate(){let e=this.getStack();return e?e.relegate(this):!1}resetSkewAndRotation(){let{visualElement:e}=this.options;if(!e)return;let t=!1,{latestValues:n}=e;if((n.z||n.rotate||n.rotateX||n.rotateY||n.rotateZ||n.skewX||n.skewY)&&(t=!0),!t)return;let r={};n.z&&xp(`z`,e,r,this.animationValues);for(let t=0;t<vp.length;t++)xp(`rotate${vp[t]}`,e,r,this.animationValues),xp(`skew${vp[t]}`,e,r,this.animationValues);e.render();for(let t in r)e.setStaticValue(t,r[t]),this.animationValues&&(this.animationValues[t]=r[t]);e.scheduleRender()}applyProjectionStyles(e,t){if(!this.instance||this.isSVG)return;if(!this.isVisible){e.visibility=`hidden`;return}let n=this.getTransformTemplate();if(this.needsReset){this.needsReset=!1,e.visibility=``,e.opacity=``,e.pointerEvents=mp(t?.pointerEvents)||``,e.transform=n?n(this.latestValues,``):`none`;return}let r=this.getLead();if(!this.projectionDelta||!this.layout||!r.target){this.options.layoutId&&(e.opacity=this.latestValues.opacity===void 0?1:this.latestValues.opacity,e.pointerEvents=mp(t?.pointerEvents)||``),this.hasProjected&&!Td(this.latestValues)&&(e.transform=n?n({},``):`none`,this.hasProjected=!1);return}e.visibility=``;let i=r.animationValues||r.latestValues;this.applyTransformsToTarget();let a=$f(this.projectionDeltaWithTransform,this.treeScale,i);n&&(a=n(i,a)),e.transform=a;let{x:o,y:s}=this.projectionDelta;e.transformOrigin=`${o.origin*100}% ${s.origin*100}% 0`,r.animationValues?e.opacity=r===this?i.opacity??this.latestValues.opacity??1:this.preserveOpacity?this.latestValues.opacity:i.opacityExit:e.opacity=r===this?i.opacity===void 0?``:i.opacity:i.opacityExit===void 0?0:i.opacityExit;for(let t in Yd){if(i[t]===void 0)continue;let{correct:n,applyTo:o,isCSSVariable:s}=Yd[t],c=a===`none`?i[t]:n(i[t],r);if(o){let t=o.length;for(let n=0;n<t;n++)e[o[n]]=c}else s?this.options.visualElement.renderState.vars[t]=c:e[t]=c}this.options.layoutId&&(e.pointerEvents=r===this?mp(t?.pointerEvents)||``:`none`)}clearSnapshot(){this.resumeFrom=this.snapshot=void 0}resetTree(){this.root.nodes.forEach(e=>e.currentAnimation?.stop()),this.root.nodes.forEach(kp),this.root.sharedNodes.clear()}}}function wp(e){e.updateLayout()}function Tp(e){let t=e.resumeFrom?.snapshot||e.snapshot;if(e.isLead()&&e.layout&&t&&e.hasListeners(`didUpdate`)){let{layoutBox:n,measuredBox:r}=e.layout,{animationType:i}=e.options,a=t.source!==e.layout.source;if(i===`size`)Qf(e=>{let r=a?t.measuredBox[e]:t.layoutBox[e],i=Af(r);r.min=n[e].min,r.max=r.min+i});else if(i===`x`||i===`y`){let e=i===`x`?`y`:`x`;xf(a?t.measuredBox[e]:t.layoutBox[e],n[e])}else Jp(i,t.layoutBox,n)&&Qf(r=>{let i=a?t.measuredBox[r]:t.layoutBox[r],o=Af(n[r]);i.max=i.min+o,e.relativeTarget&&!e.currentAnimation&&(e.isProjectionDirty=!0,e.relativeTarget[r].max=e.relativeTarget[r].min+o)});let o=$u();Nf(o,n,t.layoutBox);let s=$u();a?Nf(s,e.applyTransform(r,!0),t.measuredBox):Nf(s,n,t.layoutBox);let c=!Gf(o),l=!1;if(!e.resumeFrom){let r=e.getClosestProjectingParent();if(r&&!r.resumeFrom){let{snapshot:i,layout:a}=r;if(i&&a){let o=e.options.layoutAnchor||void 0,s=q();Lf(s,t.layoutBox,i.layoutBox,o);let c=q();Lf(c,n,a.layoutBox,o),Yf(s,c)||(l=!0),r.options.layoutRoot&&(e.relativeTarget=c,e.relativeTargetOrigin=s,e.relativeParent=r)}}}e.notifyListeners(`didUpdate`,{layout:n,snapshot:t,delta:s,layoutDelta:o,hasLayoutChanged:c,hasRelativeLayoutChanged:l})}else if(e.isLead()){let{onExitComplete:t}=e.options;t&&t()}e.options.transition=void 0}function Ep(e){so.value&&_p.nodes++,e.parent&&(e.isProjecting()||(e.isProjectionDirty=e.parent.isProjectionDirty),e.isSharedProjectionDirty||=!!(e.isProjectionDirty||e.parent.isProjectionDirty||e.parent.isSharedProjectionDirty),e.isTransformDirty||=e.parent.isTransformDirty)}function Dp(e){e.isProjectionDirty=e.isSharedProjectionDirty=e.isTransformDirty=!1}function Op(e){e.clearSnapshot()}function kp(e){e.clearMeasurements()}function Ap(e){e.isLayoutDirty=!0,e.updateLayout()}function jp(e){e.isLayoutDirty=!1}function Mp(e){e.isAnimationBlocked&&e.layout&&!e.isLayoutDirty&&(e.snapshot=e.layout,e.isLayoutDirty=!0)}function Np(e){let{visualElement:t}=e.options;t&&t.getProps().onBeforeLayoutMeasure&&t.notify(`BeforeLayoutMeasure`),e.resetTransform()}function Pp(e){e.finishAnimation(),e.targetDelta=e.relativeTarget=e.target=void 0,e.isProjectionDirty=!0}function Fp(e){e.resolveTargetDelta()}function Ip(e){e.calcProjection()}function Lp(e){e.resetSkewAndRotation()}function Rp(e){e.removeLeadSnapshot()}function zp(e,t,n){e.translate=G(t.translate,0,n),e.scale=G(t.scale,1,n),e.origin=t.origin,e.originPoint=t.originPoint}function Bp(e,t,n,r){e.min=G(t.min,n.min,r),e.max=G(t.max,n.max,r)}function Vp(e,t,n,r){Bp(e.x,t.x,n.x,r),Bp(e.y,t.y,n.y,r)}function Hp(e){return e.animationValues&&e.animationValues.opacityExit!==void 0}var Up={duration:.45,ease:[.4,0,.1,1]},Wp=e=>typeof navigator<`u`&&navigator.userAgent&&navigator.userAgent.toLowerCase().includes(e),Gp=Wp(`applewebkit/`)&&!Wp(`chrome/`)?Math.round:Oa;function Kp(e){e.min=Gp(e.min),e.max=Gp(e.max)}function qp(e){Kp(e.x),Kp(e.y)}function Jp(e,t,n){return e===`position`||e===`preserve-aspect`&&!jf(Xf(t),Xf(n),.2)}function Yp(e){return e!==e.root&&e.scroll?.wasRoot}var Xp=Cp({attachResizeListener:(e,t)=>up(e,`resize`,t),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body?.scrollLeft||0,y:document.documentElement.scrollTop||document.body?.scrollTop||0}),checkIsScrollRoot:()=>!0}),Zp={current:void 0},Qp=Cp({measureScroll:e=>({x:e.scrollLeft,y:e.scrollTop}),defaultParent:()=>{if(!Zp.current){let e=new Xp({});e.mount(window),e.setOptions({layoutScroll:!0}),Zp.current=e}return Zp.current},resetTransform:(e,t)=>{e.style.transform=t===void 0?`none`:t},checkIsScrollRoot:e=>window.getComputedStyle(e).position===`fixed`}),$p=(0,a.createContext)({transformPagePoint:e=>e,isStatic:!1,reducedMotion:`never`});function em(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}function tm(...e){return t=>{let n=!1,r=e.map(e=>{let r=em(e,t);return!n&&typeof r==`function`&&(n=!0),r});if(n)return()=>{for(let t=0;t<r.length;t++){let n=r[t];typeof n==`function`?n():em(e[t],null)}}}}function nm(...e){return a.useCallback(tm(...e),e)}var rm=class extends a.Component{getSnapshotBeforeUpdate(e){let t=this.props.childRef.current;if(fu(t)&&e.isPresent&&!this.props.isPresent&&this.props.pop!==!1){let e=t.offsetParent,n=fu(e)&&e.offsetWidth||0,r=fu(e)&&e.offsetHeight||0,i=getComputedStyle(t),a=this.props.sizeRef.current;a.height=parseFloat(i.height),a.width=parseFloat(i.width),a.top=t.offsetTop,a.left=t.offsetLeft,a.right=n-a.width-a.left,a.bottom=r-a.height-a.top}return null}componentDidUpdate(){}render(){return this.props.children}};function im({children:e,isPresent:t,anchorX:n,anchorY:r,root:i,pop:s}){let c=(0,a.useId)(),l=(0,a.useRef)(null),u=(0,a.useRef)({width:0,height:0,top:0,left:0,right:0,bottom:0}),{nonce:d}=(0,a.useContext)($p),f=nm(l,e.props?.ref??e?.ref);return(0,a.useInsertionEffect)(()=>{let{width:e,height:a,top:o,left:f,right:p,bottom:m}=u.current;if(t||s===!1||!l.current||!e||!a)return;let h=n===`left`?`left: ${f}`:`right: ${p}`,g=r===`bottom`?`bottom: ${m}`:`top: ${o}`;l.current.dataset.motionPopId=c;let _=document.createElement(`style`);d&&(_.nonce=d);let v=i??document.head;return v.appendChild(_),_.sheet&&_.sheet.insertRule(`
|
|
3
|
+
[data-motion-pop-id="${c}"] {
|
|
4
|
+
position: absolute !important;
|
|
5
|
+
width: ${e}px !important;
|
|
6
|
+
height: ${a}px !important;
|
|
7
|
+
${h}px !important;
|
|
8
|
+
${g}px !important;
|
|
9
|
+
}
|
|
10
|
+
`),()=>{l.current?.removeAttribute(`data-motion-pop-id`),v.contains(_)&&v.removeChild(_)}},[t]),(0,o.jsx)(rm,{isPresent:t,childRef:l,sizeRef:u,pop:s,children:s===!1?e:a.cloneElement(e,{ref:f})})}var am=({children:e,initial:t,isPresent:n,onExitComplete:r,custom:i,presenceAffectsLayout:s,mode:c,anchorX:l,anchorY:u,root:d})=>{let f=ma(om),p=(0,a.useId)(),m=!0,h=(0,a.useMemo)(()=>(m=!1,{id:p,initial:t,isPresent:n,custom:i,onExitComplete:e=>{f.set(e,!0);for(let e of f.values())if(!e)return;r&&r()},register:e=>(f.set(e,!1),()=>f.delete(e))}),[n,f,r]);return s&&m&&(h={...h}),(0,a.useMemo)(()=>{f.forEach((e,t)=>f.set(t,!1))},[n]),a.useEffect(()=>{!n&&!f.size&&r&&r()},[n]),e=(0,o.jsx)(im,{pop:c===`popLayout`,isPresent:n,anchorX:l,anchorY:u,root:d,children:e}),(0,o.jsx)(ga.Provider,{value:h,children:e})};function om(){return new Map}function sm(e=!0){let t=(0,a.useContext)(ga);if(t===null)return[!0,null];let{isPresent:n,onExitComplete:r,register:i}=t,o=(0,a.useId)();(0,a.useEffect)(()=>{if(e)return i(o)},[e]);let s=(0,a.useCallback)(()=>e&&r&&r(o),[o,r,e]);return!n&&r?[!1,s]:[!0]}var cm=e=>e.key||``;function lm(e){let t=[];return a.Children.forEach(e,e=>{(0,a.isValidElement)(e)&&t.push(e)}),t}var um=({children:e,custom:t,initial:n=!0,onExitComplete:r,presenceAffectsLayout:i=!0,mode:s=`sync`,propagate:c=!1,anchorX:l=`left`,anchorY:u=`top`,root:d})=>{let[f,p]=sm(c),m=(0,a.useMemo)(()=>lm(e),[e]),h=c&&!f?[]:m.map(cm),g=(0,a.useRef)(!0),_=(0,a.useRef)(m),v=ma(()=>new Map),y=(0,a.useRef)(new Set),[b,x]=(0,a.useState)(m),[S,C]=(0,a.useState)(m);ha(()=>{g.current=!1,_.current=m;for(let e=0;e<S.length;e++){let t=cm(S[e]);h.includes(t)?(v.delete(t),y.current.delete(t)):v.get(t)!==!0&&v.set(t,!1)}},[S,h.length,h.join(`-`)]);let w=[];if(m!==b){let e=[...m];for(let t=0;t<S.length;t++){let n=S[t],r=cm(n);h.includes(r)||(e.splice(t,0,n),w.push(n))}return s===`wait`&&w.length&&(e=w),C(lm(e)),x(m),null}process.env.NODE_ENV!==`production`&&s===`wait`&&S.length>1&&console.warn(`You're attempting to animate multiple children within AnimatePresence, but its mode is set to "wait". This will lead to odd visual behaviour.`);let{forceRender:T}=(0,a.useContext)(pa);return(0,o.jsx)(o.Fragment,{children:S.map(e=>{let a=cm(e),b=c&&!f?!1:m===S||h.includes(a);return(0,o.jsx)(am,{isPresent:b,initial:!g.current||n?void 0:!1,custom:t,presenceAffectsLayout:i,mode:s,root:d,onExitComplete:b?void 0:()=>{if(y.current.has(a))return;if(v.has(a))y.current.add(a),v.set(a,!0);else return;let e=!0;v.forEach(t=>{t||(e=!1)}),e&&(T?.(),C(_.current),c&&p?.(),r&&r())},anchorX:l,anchorY:u,children:e},a)})})},dm=(0,a.createContext)({strict:!1}),fm={animation:[`animate`,`variants`,`whileHover`,`whileTap`,`exit`,`whileInView`,`whileFocus`,`whileDrag`],exit:[`exit`],drag:[`drag`,`dragControls`],focus:[`whileFocus`],hover:[`whileHover`,`onHoverStart`,`onHoverEnd`],tap:[`whileTap`,`onTap`,`onTapStart`,`onTapCancel`],pan:[`onPan`,`onPanStart`,`onPanSessionStart`,`onPanEnd`],inView:[`whileInView`,`onViewportEnter`,`onViewportLeave`],layout:[`layout`,`layoutId`]},pm=!1;function mm(){if(pm)return;let e={};for(let t in fm)e[t]={isEnabled:e=>fm[t].some(t=>!!e[t])};hd(e),pm=!0}function hm(){return mm(),gd()}function gm(e){let t=hm();for(let n in e)t[n]={...t[n],...e[n]};hd(t)}var _m=new Set(`animate.exit.variants.initial.style.values.variants.transition.transformTemplate.custom.inherit.onBeforeLayoutMeasure.onAnimationStart.onAnimationComplete.onUpdate.onDragStart.onDrag.onDragEnd.onMeasureDragConstraints.onDirectionLock.onDragTransitionEnd._dragX._dragY.onHoverStart.onHoverEnd.onViewportEnter.onViewportLeave.globalTapTarget.propagate.ignoreStrict.viewport`.split(`.`));function vm(e){return e.startsWith(`while`)||e.startsWith(`drag`)&&e!==`draggable`||e.startsWith(`layout`)||e.startsWith(`onTap`)||e.startsWith(`onPan`)||e.startsWith(`onLayout`)||_m.has(e)}var ym=e.r({default:()=>bm}),bm,xm=e.n((()=>{throw bm={},Error(`Could not resolve "@emotion/is-prop-valid" imported by "framer-motion". Is it installed?`)})),Sm=e=>!vm(e);function Cm(e){typeof e==`function`&&(Sm=t=>t.startsWith(`on`)?!vm(t):e(t))}try{Cm((xm(),e.i(ym)).default)}catch{}function wm(e,t,n){let r={};for(let i in e)i===`values`&&typeof e.values==`object`||Pl(e[i])||(Sm(i)||n===!0&&vm(i)||!t&&!vm(i)||e.draggable&&i.startsWith(`onDrag`))&&(r[i]=e[i]);return r}var Tm=(0,a.createContext)({});function Em(e,t){if(od(e)){let{initial:t,animate:n}=e;return{initial:t===!1||rd(t)?t:void 0,animate:rd(n)?n:void 0}}return e.inherit===!1?{}:t}function Dm(e){let{initial:t,animate:n}=Em(e,(0,a.useContext)(Tm));return(0,a.useMemo)(()=>({initial:t,animate:n}),[Om(t),Om(n)])}function Om(e){return Array.isArray(e)?e.join(` `):e}var km=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function Am(e,t,n){for(let r in t)!Pl(t[r])&&!Xd(r,n)&&(e[r]=t[r])}function jm({transformTemplate:e},t){return(0,a.useMemo)(()=>{let n=km();return Wd(n,t,e),Object.assign({},n.vars,n.style)},[t])}function Mm(e,t){let n=e.style||{},r={};return Am(r,n,e),Object.assign(r,jm(e,t)),r}function Nm(e,t){let n={},r=Mm(e,t);return e.drag&&e.dragListener!==!1&&(n.draggable=!1,r.userSelect=r.WebkitUserSelect=r.WebkitTouchCallout=`none`,r.touchAction=e.drag===!0?`none`:`pan-${e.drag===`x`?`y`:`x`}`),e.tabIndex===void 0&&(e.onTap||e.onTapStart||e.whileTap)&&(n.tabIndex=0),n.style=r,n}var Pm=()=>({...km(),attrs:{}});function Fm(e,t,n,r){let i=(0,a.useMemo)(()=>{let n=Pm();return af(n,t,sf(r),e.transformTemplate,e.style),{...n.attrs,style:{...n.style}}},[t]);if(e.style){let t={};Am(t,e.style,e),i.style={...t,...i.style}}return i}var Im=[`animate`,`circle`,`defs`,`desc`,`ellipse`,`g`,`image`,`line`,`filter`,`marker`,`mask`,`metadata`,`path`,`pattern`,`polygon`,`polyline`,`rect`,`stop`,`switch`,`symbol`,`svg`,`text`,`tspan`,`use`,`view`];function Lm(e){return typeof e!=`string`||e.includes(`-`)?!1:!!(Im.indexOf(e)>-1||/[A-Z]/u.test(e))}function Rm(e,t,n,{latestValues:r},i,o=!1,s){let c=(s??Lm(e)?Fm:Nm)(t,r,i,e),l=wm(t,typeof e==`string`,o),u=e===a.Fragment?{}:{...l,...c,ref:n},{children:d}=t,f=(0,a.useMemo)(()=>Pl(d)?d.get():d,[d]);return(0,a.createElement)(e,{...u,children:f})}function zm({scrapeMotionValuesFromProps:e,createRenderState:t},n,r,i){return{latestValues:Bm(n,r,i,e),renderState:t()}}function Bm(e,t,n,r){let i={},a=r(e,{});for(let e in a)i[e]=mp(a[e]);let{initial:o,animate:s}=e,c=od(e),l=sd(e);t&&l&&!c&&e.inherit!==!1&&(o===void 0&&(o=t.initial),s===void 0&&(s=t.animate));let u=n?n.initial===!1:!1;u||=o===!1;let d=u?s:o;if(d&&typeof d!=`boolean`&&!nd(d)){let t=Array.isArray(d)?d:[d];for(let n=0;n<t.length;n++){let r=Sl(e,t[n]);if(r){let{transitionEnd:e,transition:t,...n}=r;for(let e in n){let t=n[e];if(Array.isArray(t)){let e=u?t.length-1:0;t=t[e]}t!==null&&(i[e]=t)}for(let t in e)i[t]=e[t]}}}return i}var Vm=e=>(t,n)=>{let r=(0,a.useContext)(Tm),i=(0,a.useContext)(ga),o=()=>zm(e,t,r,i);return n?o():ma(o)},Hm=Vm({scrapeMotionValuesFromProps:Zd,createRenderState:km}),Um=Vm({scrapeMotionValuesFromProps:lf,createRenderState:Pm}),Wm=Symbol.for(`motionComponentSymbol`);function Gm(e,t,n){let r=(0,a.useRef)(n);(0,a.useInsertionEffect)(()=>{r.current=n});let i=(0,a.useRef)(null);return(0,a.useCallback)(n=>{n&&e.onMount?.(n);let a=r.current;if(typeof a==`function`)if(n){let e=a(n);typeof e==`function`&&(i.current=e)}else i.current?(i.current(),i.current=null):a(n);else a&&(a.current=n);t&&(n?t.mount(n):t.unmount())},[t])}var Km=(0,a.createContext)({});function qm(e){return e&&typeof e==`object`&&Object.prototype.hasOwnProperty.call(e,`current`)}function Jm(e,t,n,r,i,o){let{visualElement:s}=(0,a.useContext)(Tm),c=(0,a.useContext)(dm),l=(0,a.useContext)(ga),u=(0,a.useContext)($p),d=u.reducedMotion,f=u.skipAnimations,p=(0,a.useRef)(null),m=(0,a.useRef)(!1);r||=c.renderer,!p.current&&r&&(p.current=r(e,{visualState:t,parent:s,props:n,presenceContext:l,blockInitialAnimation:l?l.initial===!1:!1,reducedMotionConfig:d,skipAnimations:f,isSVG:o}),m.current&&p.current&&(p.current.manuallyAnimateOnMount=!0));let h=p.current,g=(0,a.useContext)(Km);h&&!h.projection&&i&&(h.type===`html`||h.type===`svg`)&&Ym(p.current,n,i,g);let _=(0,a.useRef)(!1);(0,a.useInsertionEffect)(()=>{h&&_.current&&h.update(n,l)});let v=n[Rl],y=(0,a.useRef)(!!v&&typeof window<`u`&&!window.MotionHandoffIsComplete?.(v)&&window.MotionHasOptimisedAnimation?.(v));return ha(()=>{m.current=!0,h&&(_.current=!0,window.MotionIsMounted=!0,h.updateFeatures(),h.scheduleRenderMicrotask(),y.current&&h.animationState&&h.animationState.animateChanges())}),(0,a.useEffect)(()=>{h&&(!y.current&&h.animationState&&h.animationState.animateChanges(),y.current&&=(queueMicrotask(()=>{window.MotionHandoffMarkAsComplete?.(v)}),!1),h.enteringChildren=void 0)}),h}function Ym(e,t,n,r){let{layoutId:i,layout:a,drag:o,dragConstraints:s,layoutScroll:c,layoutRoot:l,layoutAnchor:u,layoutCrossfade:d}=t;e.projection=new n(e.latestValues,t[`data-framer-portal-id`]?void 0:Xm(e.parent)),e.projection.setOptions({layoutId:i,layout:a,alwaysMeasureLayout:!!o||s&&qm(s),visualElement:e,animationType:typeof a==`string`?a:`both`,initialPromotionConfig:r,crossfade:d,layoutScroll:c,layoutRoot:l,layoutAnchor:u})}function Xm(e){if(e)return e.options.allowProjection===!1?Xm(e.parent):e.projection}function Zm(e,{forwardMotionProps:t=!1,type:n}={},r,i){r&&gm(r);let s=n?n===`svg`:Lm(e),c=s?Um:Hm;function l(n,l){let u,d={...(0,a.useContext)($p),...n,layoutId:Qm(n)},{isStatic:f}=d,p=Dm(n),m=c(n,f);if(!f&&typeof window<`u`){$m(d,r);let t=eh(d);u=t.MeasureLayout,p.visualElement=Jm(e,m,d,i,t.ProjectionNode,s)}return(0,o.jsxs)(Tm.Provider,{value:p,children:[u&&p.visualElement?(0,o.jsx)(u,{visualElement:p.visualElement,...d}):null,Rm(e,n,Gm(m,p.visualElement,l),m,f,t,s)]})}l.displayName=`motion.${typeof e==`string`?e:`create(${e.displayName??e.name??``})`}`;let u=(0,a.forwardRef)(l);return u[Wm]=e,u}function Qm({layoutId:e}){let t=(0,a.useContext)(pa).id;return t&&e!==void 0?t+`-`+e:e}function $m(e,t){let n=(0,a.useContext)(dm).strict;if(process.env.NODE_ENV!==`production`&&t&&n){let t="You have rendered a `motion` component within a `LazyMotion` component. This will break tree shaking. Import and render a `m` component instead.";e.ignoreStrict?xa(!1,t,`lazy-strict-mode`):Sa(!1,t,`lazy-strict-mode`)}}function eh(e){let{drag:t,layout:n}=hm();if(!t&&!n)return{};let r={...t,...n};return{MeasureLayout:t?.isEnabled(e)||n?.isEnabled(e)?r.MeasureLayout:void 0,ProjectionNode:r.ProjectionNode}}function th(e,t){if(typeof Proxy>`u`)return Zm;let n=new Map,r=(n,r)=>Zm(n,r,e,t);return new Proxy((e,t)=>(process.env.NODE_ENV!==`production`&&La(!1,`motion() is deprecated. Use motion.create() instead.`),r(e,t)),{get:(i,a)=>a===`create`?r:(n.has(a)||n.set(a,Zm(a,void 0,e,t)),n.get(a))})}var nh=(e,t)=>t.isSVG??Lm(e)?new uf(t):new $d(t,{allowProjection:e!==a.Fragment}),rh=class extends yd{constructor(e){super(e),e.animationState||=_f(e)}updateAnimationControlsSubscription(){let{animate:e}=this.node.getProps();nd(e)&&(this.unmountControls=e.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){let{animate:e}=this.node.getProps(),{animate:t}=this.node.prevProps||{};e!==t&&this.updateAnimationControlsSubscription()}unmount(){this.node.animationState.reset(),this.unmountControls?.()}},ih=0,ah={animation:{Feature:rh},exit:{Feature:class extends yd{constructor(){super(...arguments),this.id=ih++,this.isExitComplete=!1}update(){if(!this.node.presenceContext)return;let{isPresent:e,onExitComplete:t}=this.node.presenceContext,{isPresent:n}=this.node.prevPresenceContext||{};if(!this.node.animationState||e===n)return;if(e&&n===!1){if(this.isExitComplete){let{initial:e,custom:t}=this.node.getProps();if(typeof e==`string`){let n=Cl(this.node,e,t);if(n){let{transition:e,transitionEnd:t,...r}=n;for(let e in r)this.node.getValue(e)?.jump(r[e])}}this.node.animationState.reset(),this.node.animationState.animateChanges()}else this.node.animationState.setActive(`exit`,!1);this.isExitComplete=!1;return}let r=this.node.animationState.setActive(`exit`,!e);t&&!e&&r.then(()=>{this.isExitComplete=!0,t(this.id)})}mount(){let{register:e,onExitComplete:t}=this.node.presenceContext||{};t&&t(this.id),e&&(this.unmount=e(this.id))}unmount(){}}}};function oh(e){return{point:{x:e.pageX,y:e.pageY}}}var sh=e=>t=>Su(t)&&e(t,oh(t));function ch(e,t,n,r){return up(e,t,sh(n),r)}var lh=({current:e})=>e?e.ownerDocument.defaultView:null,uh=(e,t)=>Math.abs(e-t);function dh(e,t){let n=uh(e.x,t.x),r=uh(e.y,t.y);return Math.sqrt(n**2+r**2)}var fh=new Set([`auto`,`scroll`]),ph=class{constructor(e,t,{transformPagePoint:n,contextWindow:r=window,dragSnapToOrigin:i=!1,distanceThreshold:a=3,element:o}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.lastRawMoveEventInfo=null,this.handlers={},this.contextWindow=window,this.scrollPositions=new Map,this.removeScrollListeners=null,this.onElementScroll=e=>{this.handleScroll(e.target)},this.onWindowScroll=()=>{this.handleScroll(window)},this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;this.lastRawMoveEventInfo&&(this.lastMoveEventInfo=mh(this.lastRawMoveEventInfo,this.transformPagePoint));let e=gh(this.lastMoveEventInfo,this.history),t=this.startEvent!==null,n=dh(e.offset,{x:0,y:0})>=this.distanceThreshold;if(!t&&!n)return;let{point:r}=e,{timestamp:i}=H;this.history.push({...r,timestamp:i});let{onStart:a,onMove:o}=this.handlers;t||(a&&a(this.lastMoveEvent,e),this.startEvent=this.lastMoveEvent),o&&o(this.lastMoveEvent,e)},this.handlePointerMove=(e,t)=>{this.lastMoveEvent=e,this.lastRawMoveEventInfo=t,this.lastMoveEventInfo=mh(t,this.transformPagePoint),V.update(this.updatePoint,!0)},this.handlePointerUp=(e,t)=>{this.end();let{onEnd:n,onSessionEnd:r,resumeAnimation:i}=this.handlers;if((this.dragSnapToOrigin||!this.startEvent)&&i&&i(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;let a=gh(e.type===`pointercancel`?this.lastMoveEventInfo:mh(t,this.transformPagePoint),this.history);this.startEvent&&n&&n(e,a),r&&r(e,a)},!Su(e))return;this.dragSnapToOrigin=i,this.handlers=t,this.transformPagePoint=n,this.distanceThreshold=a,this.contextWindow=r||window;let s=mh(oh(e),this.transformPagePoint),{point:c}=s,{timestamp:l}=H;this.history=[{...c,timestamp:l}];let{onSessionStart:u}=t;u&&u(e,gh(s,this.history)),this.removeListeners=Aa(ch(this.contextWindow,`pointermove`,this.handlePointerMove),ch(this.contextWindow,`pointerup`,this.handlePointerUp),ch(this.contextWindow,`pointercancel`,this.handlePointerUp)),o&&this.startScrollTracking(o)}startScrollTracking(e){let t=e.parentElement;for(;t;){let e=getComputedStyle(t);(fh.has(e.overflowX)||fh.has(e.overflowY))&&this.scrollPositions.set(t,{x:t.scrollLeft,y:t.scrollTop}),t=t.parentElement}this.scrollPositions.set(window,{x:window.scrollX,y:window.scrollY}),window.addEventListener(`scroll`,this.onElementScroll,{capture:!0}),window.addEventListener(`scroll`,this.onWindowScroll),this.removeScrollListeners=()=>{window.removeEventListener(`scroll`,this.onElementScroll,{capture:!0}),window.removeEventListener(`scroll`,this.onWindowScroll)}}handleScroll(e){let t=this.scrollPositions.get(e);if(!t)return;let n=e===window,r=n?{x:window.scrollX,y:window.scrollY}:{x:e.scrollLeft,y:e.scrollTop},i={x:r.x-t.x,y:r.y-t.y};i.x===0&&i.y===0||(n?this.lastMoveEventInfo&&(this.lastMoveEventInfo.point.x+=i.x,this.lastMoveEventInfo.point.y+=i.y):this.history.length>0&&(this.history[0].x-=i.x,this.history[0].y-=i.y),this.scrollPositions.set(e,r),V.update(this.updatePoint,!0))}updateHandlers(e){this.handlers=e}end(){this.removeListeners&&this.removeListeners(),this.removeScrollListeners&&this.removeScrollListeners(),this.scrollPositions.clear(),fo(this.updatePoint)}};function mh(e,t){return t?{point:t(e.point)}:e}function hh(e,t){return{x:e.x-t.x,y:e.y-t.y}}function gh({point:e},t){return{point:e,delta:hh(e,vh(t)),offset:hh(e,_h(t)),velocity:yh(t,.1)}}function _h(e){return e[0]}function vh(e){return e[e.length-1]}function yh(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,r=null,i=vh(e);for(;n>=0&&(r=e[n],!(i.timestamp-r.timestamp>Na(t)));)n--;if(!r)return{x:0,y:0};r===e[0]&&e.length>2&&i.timestamp-r.timestamp>Na(t)*2&&(r=e[1]);let a=Pa(i.timestamp-r.timestamp);if(a===0)return{x:0,y:0};let o={x:(i.x-r.x)/a,y:(i.y-r.y)/a};return o.x===1/0&&(o.x=0),o.y===1/0&&(o.y=0),o}function bh(e,{min:t,max:n},r){return t!==void 0&&e<t?e=r?G(t,e,r.min):Math.max(e,t):n!==void 0&&e>n&&(e=r?G(n,e,r.max):Math.min(e,n)),e}function xh(e,t,n){return{min:t===void 0?void 0:e.min+t,max:n===void 0?void 0:e.max+n-(e.max-e.min)}}function Sh(e,{top:t,left:n,bottom:r,right:i}){return{x:xh(e.x,n,i),y:xh(e.y,t,r)}}function Ch(e,t){let n=t.min-e.min,r=t.max-e.max;return t.max-t.min<e.max-e.min&&([n,r]=[r,n]),{min:n,max:r}}function wh(e,t){return{x:Ch(e.x,t.x),y:Ch(e.y,t.y)}}function Th(e,t){let n=.5,r=Af(e),i=Af(t);return i>r?n=ja(t.min,t.max-r,e.min):r>i&&(n=ja(e.min,e.max-i,t.min)),ya(0,1,n)}function Eh(e,t){let n={};return t.min!==void 0&&(n.min=t.min-e.min),t.max!==void 0&&(n.max=t.max-e.min),n}var Dh=.35;function Oh(e=Dh){return e===!1?e=0:e===!0&&(e=Dh),{x:kh(e,`left`,`right`),y:kh(e,`top`,`bottom`)}}function kh(e,t,n){return{min:Ah(e,t),max:Ah(e,n)}}function Ah(e,t){return typeof e==`number`?e:e[t]||0}var jh=new WeakMap,Mh=class{constructor(e){this.openDragLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=q(),this.latestPointerEvent=null,this.latestPanInfo=null,this.visualElement=e}start(e,{snapToCursor:t=!1,distanceThreshold:n}={}){let{presenceContext:r}=this.visualElement;if(r&&r.isPresent===!1)return;let i=e=>{t&&this.snapToCursor(oh(e).point),this.stopAnimation()},a=(e,t)=>{let{drag:n,dragPropagation:r,onDragStart:i}=this.getProps();if(n&&!r&&(this.openDragLock&&this.openDragLock(),this.openDragLock=_u(n),!this.openDragLock))return;this.latestPointerEvent=e,this.latestPanInfo=t,this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),Qf(e=>{let t=this.getAxisMotionValue(e).get()||0;if(Bo.test(t)){let{projection:n}=this.visualElement;if(n&&n.layout){let r=n.layout.layoutBox[e];r&&(t=Af(r)*(parseFloat(t)/100))}}this.originPoint[e]=t}),i&&V.update(()=>i(e,t),!1,!0),Il(this.visualElement,`transform`);let{animationState:a}=this.visualElement;a&&a.setActive(`whileDrag`,!0)},o=(e,t)=>{this.latestPointerEvent=e,this.latestPanInfo=t;let{dragPropagation:n,dragDirectionLock:r,onDirectionLock:i,onDrag:a}=this.getProps();if(!n&&!this.openDragLock)return;let{offset:o}=t;if(r&&this.currentDirection===null){this.currentDirection=Ih(o),this.currentDirection!==null&&i&&i(this.currentDirection);return}this.updateAxis(`x`,t.point,o),this.updateAxis(`y`,t.point,o),this.visualElement.render(),a&&V.update(()=>a(e,t),!1,!0)},s=(e,t)=>{this.latestPointerEvent=e,this.latestPanInfo=t,this.stop(e,t),this.latestPointerEvent=null,this.latestPanInfo=null},c=()=>{let{dragSnapToOrigin:e}=this.getProps();(e||this.constraints)&&this.startAnimation({x:0,y:0})},{dragSnapToOrigin:l}=this.getProps();this.panSession=new ph(e,{onSessionStart:i,onStart:a,onMove:o,onSessionEnd:s,resumeAnimation:c},{transformPagePoint:this.visualElement.getTransformPagePoint(),dragSnapToOrigin:l,distanceThreshold:n,contextWindow:lh(this.visualElement),element:this.visualElement.current})}stop(e,t){let n=e||this.latestPointerEvent,r=t||this.latestPanInfo,i=this.isDragging;if(this.cancel(),!i||!r||!n)return;let{velocity:a}=r;this.startAnimation(a);let{onDragEnd:o}=this.getProps();o&&V.postRender(()=>o(n,r))}cancel(){this.isDragging=!1;let{projection:e,animationState:t}=this.visualElement;e&&(e.isAnimationBlocked=!1),this.endPanSession();let{dragPropagation:n}=this.getProps();!n&&this.openDragLock&&(this.openDragLock(),this.openDragLock=null),t&&t.setActive(`whileDrag`,!1)}endPanSession(){this.panSession&&this.panSession.end(),this.panSession=void 0}updateAxis(e,t,n){let{drag:r}=this.getProps();if(!n||!Fh(e,r,this.currentDirection))return;let i=this.getAxisMotionValue(e),a=this.originPoint[e]+n[e];this.constraints&&this.constraints[e]&&(a=bh(a,this.constraints[e],this.elastic[e])),i.set(a)}resolveConstraints(){let{dragConstraints:e,dragElastic:t}=this.getProps(),n=this.visualElement.projection&&!this.visualElement.projection.layout?this.visualElement.projection.measure(!1):this.visualElement.projection?.layout,r=this.constraints;e&&qm(e)?this.constraints||=this.resolveRefConstraints():e&&n?this.constraints=Sh(n.layoutBox,e):this.constraints=!1,this.elastic=Oh(t),r!==this.constraints&&!qm(e)&&n&&this.constraints&&!this.hasMutatedConstraints&&Qf(e=>{this.constraints!==!1&&this.getAxisMotionValue(e)&&(this.constraints[e]=Eh(n.layoutBox[e],this.constraints[e]))})}resolveRefConstraints(){let{dragConstraints:e,onMeasureDragConstraints:t}=this.getProps();if(!e||!qm(e))return!1;let n=e.current;Sa(n!==null,"If `dragConstraints` is set as a React ref, that ref must be passed to another component's `ref` prop.",`drag-constraints-ref`);let{projection:r}=this.visualElement;if(!r||!r.layout)return!1;let i=Bd(n,r.root,this.visualElement.getTransformPagePoint()),a=wh(r.layout.layoutBox,i);if(t){let e=t(xd(a));this.hasMutatedConstraints=!!e,e&&(a=bd(e))}return a}startAnimation(e){let{drag:t,dragMomentum:n,dragElastic:r,dragTransition:i,dragSnapToOrigin:a,onDragTransitionEnd:o}=this.getProps(),s=this.constraints||{},c=Qf(o=>{if(!Fh(o,t,this.currentDirection))return;let c=s&&s[o]||{};(a===!0||a===o)&&(c={min:0,max:0});let l=r?200:1e6,u=r?40:1e7,d={type:`inertia`,velocity:n?e[o]:0,bounceStiffness:l,bounceDamping:u,timeConstant:750,restDelta:1,restSpeed:10,...i,...c};return this.startAxisValueAnimation(o,d)});return Promise.all(c).then(o)}startAxisValueAnimation(e,t){let n=this.getAxisMotionValue(e);return Il(this.visualElement,e),n.start(bl(e,n,0,t,this.visualElement,!1))}stopAnimation(){Qf(e=>this.getAxisMotionValue(e).stop())}getAxisMotionValue(e){let t=`_drag${e.toUpperCase()}`,n=this.visualElement.getProps();return n[t]||this.visualElement.getValue(e,(n.initial?n.initial[e]:void 0)||0)}snapToCursor(e){Qf(t=>{let{drag:n}=this.getProps();if(!Fh(t,n,this.currentDirection))return;let{projection:r}=this.visualElement,i=this.getAxisMotionValue(t);if(r&&r.layout){let{min:n,max:a}=r.layout.layoutBox[t],o=i.get()||0;i.set(e[t]-G(n,a,.5)+o)}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;let{drag:e,dragConstraints:t}=this.getProps(),{projection:n}=this.visualElement;if(!qm(t)||!n||!this.constraints)return;this.stopAnimation();let r={x:0,y:0};Qf(e=>{let t=this.getAxisMotionValue(e);if(t&&this.constraints!==!1){let n=t.get();r[e]=Th({min:n,max:n},this.constraints[e])}});let{transformTemplate:i}=this.visualElement.getProps();this.visualElement.current.style.transform=i?i({},``):`none`,n.root&&n.root.updateScroll(),n.updateLayout(),this.constraints=!1,this.resolveConstraints(),Qf(t=>{if(!Fh(t,e,null))return;let n=this.getAxisMotionValue(t),{min:i,max:a}=this.constraints[t];n.set(G(i,a,r[t]))}),this.visualElement.render()}addListeners(){if(!this.visualElement.current)return;jh.set(this.visualElement,this);let e=this.visualElement.current,t=ch(e,`pointerdown`,t=>{let{drag:n,dragListener:r=!0}=this.getProps(),i=t.target,a=i!==e&&Eu(i);n&&r&&!a&&this.start(t)}),n,r=()=>{let{dragConstraints:t}=this.getProps();qm(t)&&t.current&&(this.constraints=this.resolveRefConstraints(),n||=Ph(e,t.current,()=>this.scalePositionWithinConstraints()))},{projection:i}=this.visualElement,a=i.addEventListener(`measure`,r);i&&!i.layout&&(i.root&&i.root.updateScroll(),i.updateLayout()),V.read(r);let o=up(window,`resize`,()=>this.scalePositionWithinConstraints()),s=i.addEventListener(`didUpdate`,(({delta:e,hasLayoutChanged:t})=>{this.isDragging&&t&&(Qf(t=>{let n=this.getAxisMotionValue(t);n&&(this.originPoint[t]+=e[t].translate,n.set(n.get()+e[t].translate))}),this.visualElement.render())}));return()=>{o(),t(),a(),s&&s(),n&&n()}}getProps(){let e=this.visualElement.getProps(),{drag:t=!1,dragDirectionLock:n=!1,dragPropagation:r=!1,dragConstraints:i=!1,dragElastic:a=Dh,dragMomentum:o=!0}=e;return{...e,drag:t,dragDirectionLock:n,dragPropagation:r,dragConstraints:i,dragElastic:a,dragMomentum:o}}};function Nh(e){let t=!0;return()=>{if(t){t=!1;return}e()}}function Ph(e,t,n){let r=Ju(e,Nh(n)),i=Ju(t,Nh(n));return()=>{r(),i()}}function Fh(e,t,n){return(t===!0||t===e)&&(n===null||n===e)}function Ih(e,t=10){let n=null;return Math.abs(e.y)>t?n=`y`:Math.abs(e.x)>t&&(n=`x`),n}var Lh=class extends yd{constructor(e){super(e),this.removeGroupControls=Oa,this.removeListeners=Oa,this.controls=new Mh(e)}mount(){let{dragControls:e}=this.node.getProps();e&&(this.removeGroupControls=e.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||Oa}update(){let{dragControls:e}=this.node.getProps(),{dragControls:t}=this.node.prevProps||{};e!==t&&(this.removeGroupControls(),e&&(this.removeGroupControls=e.subscribe(this.controls)))}unmount(){this.removeGroupControls(),this.removeListeners(),this.controls.isDragging||this.controls.endPanSession()}},Rh=e=>(t,n)=>{e&&V.update(()=>e(t,n),!1,!0)},zh=class extends yd{constructor(){super(...arguments),this.removePointerDownListener=Oa}onPointerDown(e){this.session=new ph(e,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint(),contextWindow:lh(this.node)})}createPanHandlers(){let{onPanSessionStart:e,onPanStart:t,onPan:n,onPanEnd:r}=this.node.getProps();return{onSessionStart:Rh(e),onStart:Rh(t),onMove:Rh(n),onEnd:(e,t)=>{delete this.session,r&&V.postRender(()=>r(e,t))}}}mount(){this.removePointerDownListener=ch(this.node.current,`pointerdown`,e=>this.onPointerDown(e))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}},Bh=!1,Vh=class extends a.Component{componentDidMount(){let{visualElement:e,layoutGroup:t,switchLayoutGroup:n,layoutId:r}=this.props,{projection:i}=e;i&&(t.group&&t.group.add(i),n&&n.register&&r&&n.register(i),Bh&&i.root.didUpdate(),i.addEventListener(`animationComplete`,()=>{this.safeToRemove()}),i.setOptions({...i.options,layoutDependency:this.props.layoutDependency,onExitComplete:()=>this.safeToRemove()})),gp.hasEverUpdated=!0}getSnapshotBeforeUpdate(e){let{layoutDependency:t,visualElement:n,drag:r,isPresent:i}=this.props,{projection:a}=n;return a?(a.isPresent=i,e.layoutDependency!==t&&a.setOptions({...a.options,layoutDependency:t}),Bh=!0,r||e.layoutDependency!==t||t===void 0||e.isPresent!==i?a.willUpdate():this.safeToRemove(),e.isPresent!==i&&(i?a.promote():a.relegate()||V.postRender(()=>{let e=a.getStack();(!e||!e.members.length)&&this.safeToRemove()})),null):null}componentDidUpdate(){let{visualElement:e,layoutAnchor:t}=this.props,{projection:n}=e;n&&(n.options.layoutAnchor=t,n.root.didUpdate(),pu.postRender(()=>{!n.currentAnimation&&n.isLead()&&this.safeToRemove()}))}componentWillUnmount(){let{visualElement:e,layoutGroup:t,switchLayoutGroup:n}=this.props,{projection:r}=e;Bh=!0,r&&(r.scheduleCheckAfterUnmount(),t&&t.group&&t.group.remove(r),n&&n.deregister&&n.deregister(r))}safeToRemove(){let{safeToRemove:e}=this.props;e&&e()}render(){return null}};function Hh(e){let[t,n]=sm(),r=(0,a.useContext)(pa);return(0,o.jsx)(Vh,{...e,layoutGroup:r,switchLayoutGroup:(0,a.useContext)(Km),isPresent:t,safeToRemove:n})}var Uh={pan:{Feature:zh},drag:{Feature:Lh,ProjectionNode:Qp,MeasureLayout:Hh}};function Wh(e,t,n){let{props:r}=e;e.animationState&&r.whileHover&&e.animationState.setActive(`whileHover`,n===`Start`);let i=r[`onHover`+n];i&&V.postRender(()=>i(t,oh(t)))}var Gh=class extends yd{mount(){let{current:e}=this.node;e&&(this.unmount=bu(e,(e,t)=>(Wh(this.node,t,`Start`),e=>Wh(this.node,e,`End`))))}unmount(){}},Kh=class extends yd{constructor(){super(...arguments),this.isActive=!1}onFocus(){let e=!1;try{e=this.node.current.matches(`:focus-visible`)}catch{e=!0}!e||!this.node.animationState||(this.node.animationState.setActive(`whileFocus`,!0),this.isActive=!0)}onBlur(){!this.isActive||!this.node.animationState||(this.node.animationState.setActive(`whileFocus`,!1),this.isActive=!1)}mount(){this.unmount=Aa(up(this.node.current,`focus`,()=>this.onFocus()),up(this.node.current,`blur`,()=>this.onBlur()))}unmount(){}};function qh(e,t,n){let{props:r}=e;if(e.current instanceof HTMLButtonElement&&e.current.disabled)return;e.animationState&&r.whileTap&&e.animationState.setActive(`whileTap`,n===`Start`);let i=r[`onTap`+(n===`End`?``:n)];i&&V.postRender(()=>i(t,oh(t)))}var Jh=class extends yd{mount(){let{current:e}=this.node;if(!e)return;let{globalTapTarget:t,propagate:n}=this.node.props;this.unmount=Nu(e,(e,t)=>(qh(this.node,t,`Start`),(e,{success:t})=>qh(this.node,e,t?`End`:`Cancel`)),{useGlobalTarget:t,stopPropagation:n?.tap===!1})}unmount(){}},Yh=new WeakMap,Xh=new WeakMap,Zh=e=>{let t=Yh.get(e.target);t&&t(e)},Qh=e=>{e.forEach(Zh)};function $h({root:e,...t}){let n=e||document;Xh.has(n)||Xh.set(n,{});let r=Xh.get(n),i=JSON.stringify(t);return r[i]||(r[i]=new IntersectionObserver(Qh,{root:e,...t})),r[i]}function eg(e,t,n){let r=$h(t);return Yh.set(e,n),r.observe(e),()=>{Yh.delete(e),r.unobserve(e)}}var tg={some:0,all:1},ng=class extends yd{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.stopObserver?.();let{viewport:e={}}=this.node.getProps(),{root:t,margin:n,amount:r=`some`,once:i}=e,a={root:t?t.current:void 0,rootMargin:n,threshold:typeof r==`number`?r:tg[r]};this.stopObserver=eg(this.node.current,a,e=>{let{isIntersecting:t}=e;if(this.isInView===t||(this.isInView=t,i&&!t&&this.hasEnteredView))return;t&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive(`whileInView`,t);let{onViewportEnter:n,onViewportLeave:r}=this.node.getProps(),a=t?n:r;a&&a(e)})}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>`u`)return;let{props:e,prevProps:t}=this.node;[`amount`,`margin`,`root`].some(rg(e,t))&&this.startObserver()}unmount(){this.stopObserver?.(),this.hasEnteredView=!1,this.isInView=!1}};function rg({viewport:e={}},{viewport:t={}}={}){return n=>e[n]!==t[n]}var ig={inView:{Feature:ng},tap:{Feature:Jh},focus:{Feature:Kh},hover:{Feature:Gh}},ag={layout:{ProjectionNode:Qp,MeasureLayout:Hh}},J=th({...ah,...ig,...Uh,...ag},nh);function og(){!ud.current&&fd();let[e]=(0,a.useState)(ld.current);return process.env.NODE_ENV!==`production`&&La(e!==!0,`You have Reduced Motion enabled on your device. Animations may not appear as expected.`,`reduced-motion-disabled`),e}var sg=e=>e?.formType===`private`||e?.submitPage===`requests`?`user_requests`:`user_submissions`,cg={contact:m,support:g};function lg(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`)if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=lg(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n);return r}function ug(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=lg(e))&&(r&&(r+=` `),r+=t);return r}var dg=(e,t)=>{let n=Array(e.length+t.length);for(let t=0;t<e.length;t++)n[t]=e[t];for(let r=0;r<t.length;r++)n[e.length+r]=t[r];return n},fg=(e,t)=>({classGroupId:e,validator:t}),pg=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),mg=`-`,hg=[],gg=`arbitrary..`,_g=e=>{let t=bg(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:e=>{if(e.startsWith(`[`)&&e.endsWith(`]`))return yg(e);let n=e.split(mg);return vg(n,+(n[0]===``&&n.length>1),t)},getConflictingClassGroupIds:(e,t)=>{if(t){let t=r[e],i=n[e];return t?i?dg(i,t):t:i||hg}return n[e]||hg}}},vg=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;let r=e[t],i=n.nextPart.get(r);if(i){let n=vg(e,t+1,i);if(n)return n}let a=n.validators;if(a===null)return;let o=t===0?e.join(mg):e.slice(t).join(mg),s=a.length;for(let e=0;e<s;e++){let t=a[e];if(t.validator(o))return t.classGroupId}},yg=e=>e.slice(1,-1).indexOf(`:`)===-1?void 0:(()=>{let t=e.slice(1,-1),n=t.indexOf(`:`),r=t.slice(0,n);return r?gg+r:void 0})(),bg=e=>{let{theme:t,classGroups:n}=e;return xg(n,t)},xg=(e,t)=>{let n=pg();for(let r in e){let i=e[r];Sg(i,n,r,t)}return n},Sg=(e,t,n,r)=>{let i=e.length;for(let a=0;a<i;a++){let i=e[a];Cg(i,t,n,r)}},Cg=(e,t,n,r)=>{if(typeof e==`string`){wg(e,t,n);return}if(typeof e==`function`){Tg(e,t,n,r);return}Eg(e,t,n,r)},wg=(e,t,n)=>{let r=e===``?t:Dg(t,e);r.classGroupId=n},Tg=(e,t,n,r)=>{if(Og(e)){Sg(e(r),t,n,r);return}t.validators===null&&(t.validators=[]),t.validators.push(fg(n,e))},Eg=(e,t,n,r)=>{let i=Object.entries(e),a=i.length;for(let e=0;e<a;e++){let[a,o]=i[e];Sg(o,Dg(t,a),n,r)}},Dg=(e,t)=>{let n=e,r=t.split(mg),i=r.length;for(let e=0;e<i;e++){let t=r[e],i=n.nextPart.get(t);i||(i=pg(),n.nextPart.set(t,i)),n=i}return n},Og=e=>`isThemeGetter`in e&&e.isThemeGetter===!0,kg=e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,n=Object.create(null),r=Object.create(null),i=(i,a)=>{n[i]=a,t++,t>e&&(t=0,r=n,n=Object.create(null))};return{get(e){let t=n[e];if(t!==void 0)return t;if((t=r[e])!==void 0)return i(e,t),t},set(e,t){e in n?n[e]=t:i(e,t)}}},Ag=`!`,jg=`:`,Mg=[],Ng=(e,t,n,r,i)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:i}),Pg=e=>{let{prefix:t,experimentalParseClassName:n}=e,r=e=>{let t=[],n=0,r=0,i=0,a,o=e.length;for(let s=0;s<o;s++){let o=e[s];if(n===0&&r===0){if(o===jg){t.push(e.slice(i,s)),i=s+1;continue}if(o===`/`){a=s;continue}}o===`[`?n++:o===`]`?n--:o===`(`?r++:o===`)`&&r--}let s=t.length===0?e:e.slice(i),c=s,l=!1;s.endsWith(Ag)?(c=s.slice(0,-1),l=!0):s.startsWith(Ag)&&(c=s.slice(1),l=!0);let u=a&&a>i?a-i:void 0;return Ng(t,l,c,u)};if(t){let e=t+jg,n=r;r=t=>t.startsWith(e)?n(t.slice(e.length)):Ng(Mg,!1,t,void 0,!0)}if(n){let e=r;r=t=>n({className:t,parseClassName:e})}return r},Fg=e=>{let t=new Map;return e.orderSensitiveModifiers.forEach((e,n)=>{t.set(e,1e6+n)}),e=>{let n=[],r=[];for(let i=0;i<e.length;i++){let a=e[i],o=a[0]===`[`,s=t.has(a);o||s?(r.length>0&&(r.sort(),n.push(...r),r=[]),n.push(a)):r.push(a)}return r.length>0&&(r.sort(),n.push(...r)),n}},Ig=e=>({cache:kg(e.cacheSize),parseClassName:Pg(e),sortModifiers:Fg(e),..._g(e)}),Lg=/\s+/,Rg=(e,t)=>{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i,sortModifiers:a}=t,o=[],s=e.trim().split(Lg),c=``;for(let e=s.length-1;e>=0;--e){let t=s[e],{isExternal:l,modifiers:u,hasImportantModifier:d,baseClassName:f,maybePostfixModifierPosition:p}=n(t);if(l){c=t+(c.length>0?` `+c:c);continue}let m=!!p,h=r(m?f.substring(0,p):f);if(!h){if(!m){c=t+(c.length>0?` `+c:c);continue}if(h=r(f),!h){c=t+(c.length>0?` `+c:c);continue}m=!1}let g=u.length===0?``:u.length===1?u[0]:a(u).join(`:`),_=d?g+Ag:g,v=_+h;if(o.indexOf(v)>-1)continue;o.push(v);let y=i(h,m);for(let e=0;e<y.length;++e){let t=y[e];o.push(_+t)}c=t+(c.length>0?` `+c:c)}return c},zg=(...e)=>{let t=0,n,r,i=``;for(;t<e.length;)(n=e[t++])&&(r=Bg(n))&&(i&&(i+=` `),i+=r);return i},Bg=e=>{if(typeof e==`string`)return e;let t,n=``;for(let r=0;r<e.length;r++)e[r]&&(t=Bg(e[r]))&&(n&&(n+=` `),n+=t);return n},Vg=(e,...t)=>{let n,r,i,a,o=o=>(n=Ig(t.reduce((e,t)=>t(e),e())),r=n.cache.get,i=n.cache.set,a=s,s(o)),s=e=>{let t=r(e);if(t)return t;let a=Rg(e,n);return i(e,a),a};return a=o,(...e)=>a(zg(...e))},Hg=[],Y=e=>{let t=t=>t[e]||Hg;return t.isThemeGetter=!0,t},Ug=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Wg=/^\((?:(\w[\w-]*):)?(.+)\)$/i,Gg=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,Kg=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,qg=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,Jg=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Yg=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Xg=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Zg=e=>Gg.test(e),X=e=>!!e&&!Number.isNaN(Number(e)),Qg=e=>!!e&&Number.isInteger(Number(e)),$g=e=>e.endsWith(`%`)&&X(e.slice(0,-1)),e_=e=>Kg.test(e),t_=()=>!0,n_=e=>qg.test(e)&&!Jg.test(e),r_=()=>!1,i_=e=>Yg.test(e),a_=e=>Xg.test(e),o_=e=>!Z(e)&&!Q(e),s_=e=>S_(e,E_,r_),Z=e=>Ug.test(e),c_=e=>S_(e,D_,n_),l_=e=>S_(e,O_,X),u_=e=>S_(e,A_,t_),d_=e=>S_(e,k_,r_),f_=e=>S_(e,w_,r_),p_=e=>S_(e,T_,a_),m_=e=>S_(e,j_,i_),Q=e=>Wg.test(e),h_=e=>C_(e,D_),g_=e=>C_(e,k_),__=e=>C_(e,w_),v_=e=>C_(e,E_),y_=e=>C_(e,T_),b_=e=>C_(e,j_,!0),x_=e=>C_(e,A_,!0),S_=(e,t,n)=>{let r=Ug.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},C_=(e,t,n=!1)=>{let r=Wg.exec(e);return r?r[1]?t(r[1]):n:!1},w_=e=>e===`position`||e===`percentage`,T_=e=>e===`image`||e===`url`,E_=e=>e===`length`||e===`size`||e===`bg-size`,D_=e=>e===`length`,O_=e=>e===`number`,k_=e=>e===`family-name`,A_=e=>e===`number`||e===`weight`,j_=e=>e===`shadow`,M_=Vg(()=>{let e=Y(`color`),t=Y(`font`),n=Y(`text`),r=Y(`font-weight`),i=Y(`tracking`),a=Y(`leading`),o=Y(`breakpoint`),s=Y(`container`),c=Y(`spacing`),l=Y(`radius`),u=Y(`shadow`),d=Y(`inset-shadow`),f=Y(`text-shadow`),p=Y(`drop-shadow`),m=Y(`blur`),h=Y(`perspective`),g=Y(`aspect`),_=Y(`ease`),v=Y(`animate`),y=()=>[`auto`,`avoid`,`all`,`avoid-page`,`page`,`left`,`right`,`column`],b=()=>[`center`,`top`,`bottom`,`left`,`right`,`top-left`,`left-top`,`top-right`,`right-top`,`bottom-right`,`right-bottom`,`bottom-left`,`left-bottom`],x=()=>[...b(),Q,Z],S=()=>[`auto`,`hidden`,`clip`,`visible`,`scroll`],C=()=>[`auto`,`contain`,`none`],w=()=>[Q,Z,c],T=()=>[Zg,`full`,`auto`,...w()],ee=()=>[Qg,`none`,`subgrid`,Q,Z],E=()=>[`auto`,{span:[`full`,Qg,Q,Z]},Qg,Q,Z],D=()=>[Qg,`auto`,Q,Z],te=()=>[`auto`,`min`,`max`,`fr`,Q,Z],ne=()=>[`start`,`end`,`center`,`between`,`around`,`evenly`,`stretch`,`baseline`,`center-safe`,`end-safe`],O=()=>[`start`,`end`,`center`,`stretch`,`center-safe`,`end-safe`],k=()=>[`auto`,...w()],A=()=>[Zg,`auto`,`full`,`dvw`,`dvh`,`lvw`,`lvh`,`svw`,`svh`,`min`,`max`,`fit`,...w()],re=()=>[Zg,`screen`,`full`,`dvw`,`lvw`,`svw`,`min`,`max`,`fit`,...w()],j=()=>[Zg,`screen`,`full`,`lh`,`dvh`,`lvh`,`svh`,`min`,`max`,`fit`,...w()],M=()=>[e,Q,Z],N=()=>[...b(),__,f_,{position:[Q,Z]}],P=()=>[`no-repeat`,{repeat:[``,`x`,`y`,`space`,`round`]}],ie=()=>[`auto`,`cover`,`contain`,v_,s_,{size:[Q,Z]}],F=()=>[$g,h_,c_],I=()=>[``,`none`,`full`,l,Q,Z],L=()=>[``,X,h_,c_],R=()=>[`solid`,`dashed`,`dotted`,`double`],ae=()=>[`normal`,`multiply`,`screen`,`overlay`,`darken`,`lighten`,`color-dodge`,`color-burn`,`hard-light`,`soft-light`,`difference`,`exclusion`,`hue`,`saturation`,`color`,`luminosity`],z=()=>[X,$g,__,f_],oe=()=>[``,`none`,m,Q,Z],se=()=>[`none`,X,Q,Z],ce=()=>[`none`,X,Q,Z],le=()=>[X,Q,Z],B=()=>[Zg,`full`,...w()];return{cacheSize:500,theme:{animate:[`spin`,`ping`,`pulse`,`bounce`],aspect:[`video`],blur:[e_],breakpoint:[e_],color:[t_],container:[e_],"drop-shadow":[e_],ease:[`in`,`out`,`in-out`],font:[o_],"font-weight":[`thin`,`extralight`,`light`,`normal`,`medium`,`semibold`,`bold`,`extrabold`,`black`],"inset-shadow":[e_],leading:[`none`,`tight`,`snug`,`normal`,`relaxed`,`loose`],perspective:[`dramatic`,`near`,`normal`,`midrange`,`distant`,`none`],radius:[e_],shadow:[e_],spacing:[`px`,X],text:[e_],"text-shadow":[e_],tracking:[`tighter`,`tight`,`normal`,`wide`,`wider`,`widest`]},classGroups:{aspect:[{aspect:[`auto`,`square`,Zg,Z,Q,g]}],container:[`container`],columns:[{columns:[X,Z,Q,s]}],"break-after":[{"break-after":y()}],"break-before":[{"break-before":y()}],"break-inside":[{"break-inside":[`auto`,`avoid`,`avoid-page`,`avoid-column`]}],"box-decoration":[{"box-decoration":[`slice`,`clone`]}],box:[{box:[`border`,`content`]}],display:[`block`,`inline-block`,`inline`,`flex`,`inline-flex`,`table`,`inline-table`,`table-caption`,`table-cell`,`table-column`,`table-column-group`,`table-footer-group`,`table-header-group`,`table-row-group`,`table-row`,`flow-root`,`grid`,`inline-grid`,`contents`,`list-item`,`hidden`],sr:[`sr-only`,`not-sr-only`],float:[{float:[`right`,`left`,`none`,`start`,`end`]}],clear:[{clear:[`left`,`right`,`both`,`none`,`start`,`end`]}],isolation:[`isolate`,`isolation-auto`],"object-fit":[{object:[`contain`,`cover`,`fill`,`none`,`scale-down`]}],"object-position":[{object:x()}],overflow:[{overflow:S()}],"overflow-x":[{"overflow-x":S()}],"overflow-y":[{"overflow-y":S()}],overscroll:[{overscroll:C()}],"overscroll-x":[{"overscroll-x":C()}],"overscroll-y":[{"overscroll-y":C()}],position:[`static`,`fixed`,`absolute`,`relative`,`sticky`],inset:[{inset:T()}],"inset-x":[{"inset-x":T()}],"inset-y":[{"inset-y":T()}],start:[{"inset-s":T(),start:T()}],end:[{"inset-e":T(),end:T()}],"inset-bs":[{"inset-bs":T()}],"inset-be":[{"inset-be":T()}],top:[{top:T()}],right:[{right:T()}],bottom:[{bottom:T()}],left:[{left:T()}],visibility:[`visible`,`invisible`,`collapse`],z:[{z:[Qg,`auto`,Q,Z]}],basis:[{basis:[Zg,`full`,`auto`,s,...w()]}],"flex-direction":[{flex:[`row`,`row-reverse`,`col`,`col-reverse`]}],"flex-wrap":[{flex:[`nowrap`,`wrap`,`wrap-reverse`]}],flex:[{flex:[X,Zg,`auto`,`initial`,`none`,Z]}],grow:[{grow:[``,X,Q,Z]}],shrink:[{shrink:[``,X,Q,Z]}],order:[{order:[Qg,`first`,`last`,`none`,Q,Z]}],"grid-cols":[{"grid-cols":ee()}],"col-start-end":[{col:E()}],"col-start":[{"col-start":D()}],"col-end":[{"col-end":D()}],"grid-rows":[{"grid-rows":ee()}],"row-start-end":[{row:E()}],"row-start":[{"row-start":D()}],"row-end":[{"row-end":D()}],"grid-flow":[{"grid-flow":[`row`,`col`,`dense`,`row-dense`,`col-dense`]}],"auto-cols":[{"auto-cols":te()}],"auto-rows":[{"auto-rows":te()}],gap:[{gap:w()}],"gap-x":[{"gap-x":w()}],"gap-y":[{"gap-y":w()}],"justify-content":[{justify:[...ne(),`normal`]}],"justify-items":[{"justify-items":[...O(),`normal`]}],"justify-self":[{"justify-self":[`auto`,...O()]}],"align-content":[{content:[`normal`,...ne()]}],"align-items":[{items:[...O(),{baseline:[``,`last`]}]}],"align-self":[{self:[`auto`,...O(),{baseline:[``,`last`]}]}],"place-content":[{"place-content":ne()}],"place-items":[{"place-items":[...O(),`baseline`]}],"place-self":[{"place-self":[`auto`,...O()]}],p:[{p:w()}],px:[{px:w()}],py:[{py:w()}],ps:[{ps:w()}],pe:[{pe:w()}],pbs:[{pbs:w()}],pbe:[{pbe:w()}],pt:[{pt:w()}],pr:[{pr:w()}],pb:[{pb:w()}],pl:[{pl:w()}],m:[{m:k()}],mx:[{mx:k()}],my:[{my:k()}],ms:[{ms:k()}],me:[{me:k()}],mbs:[{mbs:k()}],mbe:[{mbe:k()}],mt:[{mt:k()}],mr:[{mr:k()}],mb:[{mb:k()}],ml:[{ml:k()}],"space-x":[{"space-x":w()}],"space-x-reverse":[`space-x-reverse`],"space-y":[{"space-y":w()}],"space-y-reverse":[`space-y-reverse`],size:[{size:A()}],"inline-size":[{inline:[`auto`,...re()]}],"min-inline-size":[{"min-inline":[`auto`,...re()]}],"max-inline-size":[{"max-inline":[`none`,...re()]}],"block-size":[{block:[`auto`,...j()]}],"min-block-size":[{"min-block":[`auto`,...j()]}],"max-block-size":[{"max-block":[`none`,...j()]}],w:[{w:[s,`screen`,...A()]}],"min-w":[{"min-w":[s,`screen`,`none`,...A()]}],"max-w":[{"max-w":[s,`screen`,`none`,`prose`,{screen:[o]},...A()]}],h:[{h:[`screen`,`lh`,...A()]}],"min-h":[{"min-h":[`screen`,`lh`,`none`,...A()]}],"max-h":[{"max-h":[`screen`,`lh`,...A()]}],"font-size":[{text:[`base`,n,h_,c_]}],"font-smoothing":[`antialiased`,`subpixel-antialiased`],"font-style":[`italic`,`not-italic`],"font-weight":[{font:[r,x_,u_]}],"font-stretch":[{"font-stretch":[`ultra-condensed`,`extra-condensed`,`condensed`,`semi-condensed`,`normal`,`semi-expanded`,`expanded`,`extra-expanded`,`ultra-expanded`,$g,Z]}],"font-family":[{font:[g_,d_,t]}],"font-features":[{"font-features":[Z]}],"fvn-normal":[`normal-nums`],"fvn-ordinal":[`ordinal`],"fvn-slashed-zero":[`slashed-zero`],"fvn-figure":[`lining-nums`,`oldstyle-nums`],"fvn-spacing":[`proportional-nums`,`tabular-nums`],"fvn-fraction":[`diagonal-fractions`,`stacked-fractions`],tracking:[{tracking:[i,Q,Z]}],"line-clamp":[{"line-clamp":[X,`none`,Q,l_]}],leading:[{leading:[a,...w()]}],"list-image":[{"list-image":[`none`,Q,Z]}],"list-style-position":[{list:[`inside`,`outside`]}],"list-style-type":[{list:[`disc`,`decimal`,`none`,Q,Z]}],"text-alignment":[{text:[`left`,`center`,`right`,`justify`,`start`,`end`]}],"placeholder-color":[{placeholder:M()}],"text-color":[{text:M()}],"text-decoration":[`underline`,`overline`,`line-through`,`no-underline`],"text-decoration-style":[{decoration:[...R(),`wavy`]}],"text-decoration-thickness":[{decoration:[X,`from-font`,`auto`,Q,c_]}],"text-decoration-color":[{decoration:M()}],"underline-offset":[{"underline-offset":[X,`auto`,Q,Z]}],"text-transform":[`uppercase`,`lowercase`,`capitalize`,`normal-case`],"text-overflow":[`truncate`,`text-ellipsis`,`text-clip`],"text-wrap":[{text:[`wrap`,`nowrap`,`balance`,`pretty`]}],indent:[{indent:w()}],"vertical-align":[{align:[`baseline`,`top`,`middle`,`bottom`,`text-top`,`text-bottom`,`sub`,`super`,Q,Z]}],whitespace:[{whitespace:[`normal`,`nowrap`,`pre`,`pre-line`,`pre-wrap`,`break-spaces`]}],break:[{break:[`normal`,`words`,`all`,`keep`]}],wrap:[{wrap:[`break-word`,`anywhere`,`normal`]}],hyphens:[{hyphens:[`none`,`manual`,`auto`]}],content:[{content:[`none`,Q,Z]}],"bg-attachment":[{bg:[`fixed`,`local`,`scroll`]}],"bg-clip":[{"bg-clip":[`border`,`padding`,`content`,`text`]}],"bg-origin":[{"bg-origin":[`border`,`padding`,`content`]}],"bg-position":[{bg:N()}],"bg-repeat":[{bg:P()}],"bg-size":[{bg:ie()}],"bg-image":[{bg:[`none`,{linear:[{to:[`t`,`tr`,`r`,`br`,`b`,`bl`,`l`,`tl`]},Qg,Q,Z],radial:[``,Q,Z],conic:[Qg,Q,Z]},y_,p_]}],"bg-color":[{bg:M()}],"gradient-from-pos":[{from:F()}],"gradient-via-pos":[{via:F()}],"gradient-to-pos":[{to:F()}],"gradient-from":[{from:M()}],"gradient-via":[{via:M()}],"gradient-to":[{to:M()}],rounded:[{rounded:I()}],"rounded-s":[{"rounded-s":I()}],"rounded-e":[{"rounded-e":I()}],"rounded-t":[{"rounded-t":I()}],"rounded-r":[{"rounded-r":I()}],"rounded-b":[{"rounded-b":I()}],"rounded-l":[{"rounded-l":I()}],"rounded-ss":[{"rounded-ss":I()}],"rounded-se":[{"rounded-se":I()}],"rounded-ee":[{"rounded-ee":I()}],"rounded-es":[{"rounded-es":I()}],"rounded-tl":[{"rounded-tl":I()}],"rounded-tr":[{"rounded-tr":I()}],"rounded-br":[{"rounded-br":I()}],"rounded-bl":[{"rounded-bl":I()}],"border-w":[{border:L()}],"border-w-x":[{"border-x":L()}],"border-w-y":[{"border-y":L()}],"border-w-s":[{"border-s":L()}],"border-w-e":[{"border-e":L()}],"border-w-bs":[{"border-bs":L()}],"border-w-be":[{"border-be":L()}],"border-w-t":[{"border-t":L()}],"border-w-r":[{"border-r":L()}],"border-w-b":[{"border-b":L()}],"border-w-l":[{"border-l":L()}],"divide-x":[{"divide-x":L()}],"divide-x-reverse":[`divide-x-reverse`],"divide-y":[{"divide-y":L()}],"divide-y-reverse":[`divide-y-reverse`],"border-style":[{border:[...R(),`hidden`,`none`]}],"divide-style":[{divide:[...R(),`hidden`,`none`]}],"border-color":[{border:M()}],"border-color-x":[{"border-x":M()}],"border-color-y":[{"border-y":M()}],"border-color-s":[{"border-s":M()}],"border-color-e":[{"border-e":M()}],"border-color-bs":[{"border-bs":M()}],"border-color-be":[{"border-be":M()}],"border-color-t":[{"border-t":M()}],"border-color-r":[{"border-r":M()}],"border-color-b":[{"border-b":M()}],"border-color-l":[{"border-l":M()}],"divide-color":[{divide:M()}],"outline-style":[{outline:[...R(),`none`,`hidden`]}],"outline-offset":[{"outline-offset":[X,Q,Z]}],"outline-w":[{outline:[``,X,h_,c_]}],"outline-color":[{outline:M()}],shadow:[{shadow:[``,`none`,u,b_,m_]}],"shadow-color":[{shadow:M()}],"inset-shadow":[{"inset-shadow":[`none`,d,b_,m_]}],"inset-shadow-color":[{"inset-shadow":M()}],"ring-w":[{ring:L()}],"ring-w-inset":[`ring-inset`],"ring-color":[{ring:M()}],"ring-offset-w":[{"ring-offset":[X,c_]}],"ring-offset-color":[{"ring-offset":M()}],"inset-ring-w":[{"inset-ring":L()}],"inset-ring-color":[{"inset-ring":M()}],"text-shadow":[{"text-shadow":[`none`,f,b_,m_]}],"text-shadow-color":[{"text-shadow":M()}],opacity:[{opacity:[X,Q,Z]}],"mix-blend":[{"mix-blend":[...ae(),`plus-darker`,`plus-lighter`]}],"bg-blend":[{"bg-blend":ae()}],"mask-clip":[{"mask-clip":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]},`mask-no-clip`],"mask-composite":[{mask:[`add`,`subtract`,`intersect`,`exclude`]}],"mask-image-linear-pos":[{"mask-linear":[X]}],"mask-image-linear-from-pos":[{"mask-linear-from":z()}],"mask-image-linear-to-pos":[{"mask-linear-to":z()}],"mask-image-linear-from-color":[{"mask-linear-from":M()}],"mask-image-linear-to-color":[{"mask-linear-to":M()}],"mask-image-t-from-pos":[{"mask-t-from":z()}],"mask-image-t-to-pos":[{"mask-t-to":z()}],"mask-image-t-from-color":[{"mask-t-from":M()}],"mask-image-t-to-color":[{"mask-t-to":M()}],"mask-image-r-from-pos":[{"mask-r-from":z()}],"mask-image-r-to-pos":[{"mask-r-to":z()}],"mask-image-r-from-color":[{"mask-r-from":M()}],"mask-image-r-to-color":[{"mask-r-to":M()}],"mask-image-b-from-pos":[{"mask-b-from":z()}],"mask-image-b-to-pos":[{"mask-b-to":z()}],"mask-image-b-from-color":[{"mask-b-from":M()}],"mask-image-b-to-color":[{"mask-b-to":M()}],"mask-image-l-from-pos":[{"mask-l-from":z()}],"mask-image-l-to-pos":[{"mask-l-to":z()}],"mask-image-l-from-color":[{"mask-l-from":M()}],"mask-image-l-to-color":[{"mask-l-to":M()}],"mask-image-x-from-pos":[{"mask-x-from":z()}],"mask-image-x-to-pos":[{"mask-x-to":z()}],"mask-image-x-from-color":[{"mask-x-from":M()}],"mask-image-x-to-color":[{"mask-x-to":M()}],"mask-image-y-from-pos":[{"mask-y-from":z()}],"mask-image-y-to-pos":[{"mask-y-to":z()}],"mask-image-y-from-color":[{"mask-y-from":M()}],"mask-image-y-to-color":[{"mask-y-to":M()}],"mask-image-radial":[{"mask-radial":[Q,Z]}],"mask-image-radial-from-pos":[{"mask-radial-from":z()}],"mask-image-radial-to-pos":[{"mask-radial-to":z()}],"mask-image-radial-from-color":[{"mask-radial-from":M()}],"mask-image-radial-to-color":[{"mask-radial-to":M()}],"mask-image-radial-shape":[{"mask-radial":[`circle`,`ellipse`]}],"mask-image-radial-size":[{"mask-radial":[{closest:[`side`,`corner`],farthest:[`side`,`corner`]}]}],"mask-image-radial-pos":[{"mask-radial-at":b()}],"mask-image-conic-pos":[{"mask-conic":[X]}],"mask-image-conic-from-pos":[{"mask-conic-from":z()}],"mask-image-conic-to-pos":[{"mask-conic-to":z()}],"mask-image-conic-from-color":[{"mask-conic-from":M()}],"mask-image-conic-to-color":[{"mask-conic-to":M()}],"mask-mode":[{mask:[`alpha`,`luminance`,`match`]}],"mask-origin":[{"mask-origin":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]}],"mask-position":[{mask:N()}],"mask-repeat":[{mask:P()}],"mask-size":[{mask:ie()}],"mask-type":[{"mask-type":[`alpha`,`luminance`]}],"mask-image":[{mask:[`none`,Q,Z]}],filter:[{filter:[``,`none`,Q,Z]}],blur:[{blur:oe()}],brightness:[{brightness:[X,Q,Z]}],contrast:[{contrast:[X,Q,Z]}],"drop-shadow":[{"drop-shadow":[``,`none`,p,b_,m_]}],"drop-shadow-color":[{"drop-shadow":M()}],grayscale:[{grayscale:[``,X,Q,Z]}],"hue-rotate":[{"hue-rotate":[X,Q,Z]}],invert:[{invert:[``,X,Q,Z]}],saturate:[{saturate:[X,Q,Z]}],sepia:[{sepia:[``,X,Q,Z]}],"backdrop-filter":[{"backdrop-filter":[``,`none`,Q,Z]}],"backdrop-blur":[{"backdrop-blur":oe()}],"backdrop-brightness":[{"backdrop-brightness":[X,Q,Z]}],"backdrop-contrast":[{"backdrop-contrast":[X,Q,Z]}],"backdrop-grayscale":[{"backdrop-grayscale":[``,X,Q,Z]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[X,Q,Z]}],"backdrop-invert":[{"backdrop-invert":[``,X,Q,Z]}],"backdrop-opacity":[{"backdrop-opacity":[X,Q,Z]}],"backdrop-saturate":[{"backdrop-saturate":[X,Q,Z]}],"backdrop-sepia":[{"backdrop-sepia":[``,X,Q,Z]}],"border-collapse":[{border:[`collapse`,`separate`]}],"border-spacing":[{"border-spacing":w()}],"border-spacing-x":[{"border-spacing-x":w()}],"border-spacing-y":[{"border-spacing-y":w()}],"table-layout":[{table:[`auto`,`fixed`]}],caption:[{caption:[`top`,`bottom`]}],transition:[{transition:[``,`all`,`colors`,`opacity`,`shadow`,`transform`,`none`,Q,Z]}],"transition-behavior":[{transition:[`normal`,`discrete`]}],duration:[{duration:[X,`initial`,Q,Z]}],ease:[{ease:[`linear`,`initial`,_,Q,Z]}],delay:[{delay:[X,Q,Z]}],animate:[{animate:[`none`,v,Q,Z]}],backface:[{backface:[`hidden`,`visible`]}],perspective:[{perspective:[h,Q,Z]}],"perspective-origin":[{"perspective-origin":x()}],rotate:[{rotate:se()}],"rotate-x":[{"rotate-x":se()}],"rotate-y":[{"rotate-y":se()}],"rotate-z":[{"rotate-z":se()}],scale:[{scale:ce()}],"scale-x":[{"scale-x":ce()}],"scale-y":[{"scale-y":ce()}],"scale-z":[{"scale-z":ce()}],"scale-3d":[`scale-3d`],skew:[{skew:le()}],"skew-x":[{"skew-x":le()}],"skew-y":[{"skew-y":le()}],transform:[{transform:[Q,Z,``,`none`,`gpu`,`cpu`]}],"transform-origin":[{origin:x()}],"transform-style":[{transform:[`3d`,`flat`]}],translate:[{translate:B()}],"translate-x":[{"translate-x":B()}],"translate-y":[{"translate-y":B()}],"translate-z":[{"translate-z":B()}],"translate-none":[`translate-none`],accent:[{accent:M()}],appearance:[{appearance:[`none`,`auto`]}],"caret-color":[{caret:M()}],"color-scheme":[{scheme:[`normal`,`dark`,`light`,`light-dark`,`only-dark`,`only-light`]}],cursor:[{cursor:[`auto`,`default`,`pointer`,`wait`,`text`,`move`,`help`,`not-allowed`,`none`,`context-menu`,`progress`,`cell`,`crosshair`,`vertical-text`,`alias`,`copy`,`no-drop`,`grab`,`grabbing`,`all-scroll`,`col-resize`,`row-resize`,`n-resize`,`e-resize`,`s-resize`,`w-resize`,`ne-resize`,`nw-resize`,`se-resize`,`sw-resize`,`ew-resize`,`ns-resize`,`nesw-resize`,`nwse-resize`,`zoom-in`,`zoom-out`,Q,Z]}],"field-sizing":[{"field-sizing":[`fixed`,`content`]}],"pointer-events":[{"pointer-events":[`auto`,`none`]}],resize:[{resize:[`none`,``,`y`,`x`]}],"scroll-behavior":[{scroll:[`auto`,`smooth`]}],"scroll-m":[{"scroll-m":w()}],"scroll-mx":[{"scroll-mx":w()}],"scroll-my":[{"scroll-my":w()}],"scroll-ms":[{"scroll-ms":w()}],"scroll-me":[{"scroll-me":w()}],"scroll-mbs":[{"scroll-mbs":w()}],"scroll-mbe":[{"scroll-mbe":w()}],"scroll-mt":[{"scroll-mt":w()}],"scroll-mr":[{"scroll-mr":w()}],"scroll-mb":[{"scroll-mb":w()}],"scroll-ml":[{"scroll-ml":w()}],"scroll-p":[{"scroll-p":w()}],"scroll-px":[{"scroll-px":w()}],"scroll-py":[{"scroll-py":w()}],"scroll-ps":[{"scroll-ps":w()}],"scroll-pe":[{"scroll-pe":w()}],"scroll-pbs":[{"scroll-pbs":w()}],"scroll-pbe":[{"scroll-pbe":w()}],"scroll-pt":[{"scroll-pt":w()}],"scroll-pr":[{"scroll-pr":w()}],"scroll-pb":[{"scroll-pb":w()}],"scroll-pl":[{"scroll-pl":w()}],"snap-align":[{snap:[`start`,`end`,`center`,`align-none`]}],"snap-stop":[{snap:[`normal`,`always`]}],"snap-type":[{snap:[`none`,`x`,`y`,`both`]}],"snap-strictness":[{snap:[`mandatory`,`proximity`]}],touch:[{touch:[`auto`,`none`,`manipulation`]}],"touch-x":[{"touch-pan":[`x`,`left`,`right`]}],"touch-y":[{"touch-pan":[`y`,`up`,`down`]}],"touch-pz":[`touch-pinch-zoom`],select:[{select:[`none`,`text`,`all`,`auto`]}],"will-change":[{"will-change":[`auto`,`scroll`,`contents`,`transform`,Q,Z]}],fill:[{fill:[`none`,...M()]}],"stroke-w":[{stroke:[X,h_,c_,l_]}],stroke:[{stroke:[`none`,...M()]}],"forced-color-adjust":[{"forced-color-adjust":[`auto`,`none`]}]},conflictingClassGroups:{overflow:[`overflow-x`,`overflow-y`],overscroll:[`overscroll-x`,`overscroll-y`],inset:[`inset-x`,`inset-y`,`inset-bs`,`inset-be`,`start`,`end`,`top`,`right`,`bottom`,`left`],"inset-x":[`right`,`left`],"inset-y":[`top`,`bottom`],flex:[`basis`,`grow`,`shrink`],gap:[`gap-x`,`gap-y`],p:[`px`,`py`,`ps`,`pe`,`pbs`,`pbe`,`pt`,`pr`,`pb`,`pl`],px:[`pr`,`pl`],py:[`pt`,`pb`],m:[`mx`,`my`,`ms`,`me`,`mbs`,`mbe`,`mt`,`mr`,`mb`,`ml`],mx:[`mr`,`ml`],my:[`mt`,`mb`],size:[`w`,`h`],"font-size":[`leading`],"fvn-normal":[`fvn-ordinal`,`fvn-slashed-zero`,`fvn-figure`,`fvn-spacing`,`fvn-fraction`],"fvn-ordinal":[`fvn-normal`],"fvn-slashed-zero":[`fvn-normal`],"fvn-figure":[`fvn-normal`],"fvn-spacing":[`fvn-normal`],"fvn-fraction":[`fvn-normal`],"line-clamp":[`display`,`overflow`],rounded:[`rounded-s`,`rounded-e`,`rounded-t`,`rounded-r`,`rounded-b`,`rounded-l`,`rounded-ss`,`rounded-se`,`rounded-ee`,`rounded-es`,`rounded-tl`,`rounded-tr`,`rounded-br`,`rounded-bl`],"rounded-s":[`rounded-ss`,`rounded-es`],"rounded-e":[`rounded-se`,`rounded-ee`],"rounded-t":[`rounded-tl`,`rounded-tr`],"rounded-r":[`rounded-tr`,`rounded-br`],"rounded-b":[`rounded-br`,`rounded-bl`],"rounded-l":[`rounded-tl`,`rounded-bl`],"border-spacing":[`border-spacing-x`,`border-spacing-y`],"border-w":[`border-w-x`,`border-w-y`,`border-w-s`,`border-w-e`,`border-w-bs`,`border-w-be`,`border-w-t`,`border-w-r`,`border-w-b`,`border-w-l`],"border-w-x":[`border-w-r`,`border-w-l`],"border-w-y":[`border-w-t`,`border-w-b`],"border-color":[`border-color-x`,`border-color-y`,`border-color-s`,`border-color-e`,`border-color-bs`,`border-color-be`,`border-color-t`,`border-color-r`,`border-color-b`,`border-color-l`],"border-color-x":[`border-color-r`,`border-color-l`],"border-color-y":[`border-color-t`,`border-color-b`],translate:[`translate-x`,`translate-y`,`translate-none`],"translate-none":[`translate`,`translate-x`,`translate-y`,`translate-z`],"scroll-m":[`scroll-mx`,`scroll-my`,`scroll-ms`,`scroll-me`,`scroll-mbs`,`scroll-mbe`,`scroll-mt`,`scroll-mr`,`scroll-mb`,`scroll-ml`],"scroll-mx":[`scroll-mr`,`scroll-ml`],"scroll-my":[`scroll-mt`,`scroll-mb`],"scroll-p":[`scroll-px`,`scroll-py`,`scroll-ps`,`scroll-pe`,`scroll-pbs`,`scroll-pbe`,`scroll-pt`,`scroll-pr`,`scroll-pb`,`scroll-pl`],"scroll-px":[`scroll-pr`,`scroll-pl`],"scroll-py":[`scroll-pt`,`scroll-pb`],touch:[`touch-x`,`touch-y`,`touch-pz`],"touch-x":[`touch`],"touch-y":[`touch`],"touch-pz":[`touch`]},conflictingClassGroupModifiers:{"font-size":[`leading`]},orderSensitiveModifiers:[`*`,`**`,`after`,`backdrop`,`before`,`details-content`,`file`,`first-letter`,`first-line`,`marker`,`placeholder`,`selection`]}});function N_(...e){return M_(ug(e))}var P_=a.default.forwardRef(({className:e,label:t,error:n,currencySymbol:r,type:i,...a},s)=>{let c=i===`currency`;return(0,o.jsxs)(`div`,{className:`flex flex-col w-full relative`,children:[t&&(0,o.jsx)(`label`,{className:`text-[13px] font-medium text-foreground/70 select-none mb-2`,children:t}),(0,o.jsxs)(`div`,{className:`relative flex items-center lift-focus`,children:[c&&r&&(0,o.jsx)(`span`,{className:`absolute left-4 font-bold text-foreground/70 z-10 pointer-events-none text-[15px]`,children:r}),(0,o.jsx)(`input`,{ref:s,type:c?`number`:i,className:N_(`block h-12 w-full text-[15px] text-foreground py-2`,c&&r?`pl-8 pr-4`:`px-4`,`transition-all duration-300 placeholder:text-foreground/40`,`focus:outline-none focus:border-accent glow-focus`,`disabled:cursor-not-allowed disabled:opacity-50 glass-panel`,n&&`border-red-500/50 focus:border-red-500/50`,e),style:{borderRadius:`var(--input-radius, 0.75rem)`},...a})]}),n&&(0,o.jsx)(J.p,{initial:{opacity:0,y:-5},animate:{opacity:1,y:0},className:`text-[13px] text-red-500 font-medium mt-1.5`,children:n})]})});P_.displayName=`Input`;var F_=a.default.forwardRef(function({className:e=``,onInput:t,...n},r){let i=(0,a.useRef)(null),{value:s,placeholder:c}=n,l=(0,a.useCallback)(e=>{i.current=e,typeof r==`function`?r(e):r&&(r.current=e)},[r]),u=(0,a.useCallback)(()=>{let e=i.current;if(!e)return;e.style.height=`auto`;let t=e.scrollHeight;!e.value&&e.placeholder&&(e.value=e.placeholder,t=Math.max(t,e.scrollHeight),e.value=``),e.style.height=`${t+(e.offsetHeight-e.clientHeight)}px`},[]);return(0,a.useLayoutEffect)(u,[u,s,c]),(0,a.useEffect)(()=>{let e=i.current;if(!e||typeof ResizeObserver>`u`)return;let t=new ResizeObserver(u);return e.parentElement&&t.observe(e.parentElement),()=>t.disconnect()},[u]),(0,o.jsx)(`textarea`,{ref:l,...n,onInput:e=>{u(),t?.(e)},className:`${e} resize-none overflow-hidden`,rows:n.rows||1})}),I_=a.default.forwardRef(({className:e,label:t,error:n,id:r,rows:i=2,...s},c)=>{let l=(0,a.useId)(),u=r??`textarea-${l}`;return(0,o.jsxs)(`div`,{className:`flex flex-col w-full relative`,children:[t&&(0,o.jsx)(`label`,{htmlFor:u,className:`text-[13px] font-medium text-foreground/70 select-none mb-2`,children:t}),(0,o.jsx)(F_,{ref:c,id:u,rows:i,className:N_(`block w-full text-[15px] leading-6 text-foreground px-4 py-3`,`transition-[border-color,box-shadow,background-color] duration-300 placeholder:text-foreground/40`,`focus:outline-none focus:border-accent glow-focus`,`disabled:cursor-not-allowed disabled:opacity-50 glass-panel`,n&&`border-red-500/50 focus:border-red-500/50`,e),style:{borderRadius:`var(--input-radius, 0.75rem)`},...s}),n&&(0,o.jsx)(J.p,{initial:{opacity:0,y:-5},animate:{opacity:1,y:0},className:`text-[13px] text-red-500 font-medium mt-1.5`,children:n})]})});I_.displayName=`TextArea`;var L_=a.default.forwardRef(({className:e,variant:t=`primary`,isLoading:n,children:r,...i},a)=>(0,o.jsxs)(J.button,{ref:a,whileHover:{scale:1.02,y:-2},whileTap:{scale:.98},className:N_(`relative inline-flex items-center justify-center px-5 py-2 text-sm font-medium transition-all duration-300 overflow-hidden group`,{primary:`btn-primary !border-none`,secondary:`btn-secondary !border-none`,ghost:`bg-transparent hover:bg-black/5 dark:hover:bg-white/5 text-foreground/60 hover:text-foreground transition-all duration-300 !border-none`}[t],e),style:{borderRadius:`var(--btn-radius, 0.75rem)`},...i,disabled:n||i.disabled,"aria-busy":n||void 0,children:[n?(0,o.jsx)(`span`,{className:`absolute inset-0 flex items-center justify-center`,children:(0,o.jsxs)(`svg`,{className:`w-5 h-5 animate-spin text-current`,xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 24 24`,children:[(0,o.jsx)(`circle`,{className:`opacity-25`,cx:`12`,cy:`12`,r:`10`,stroke:`currentColor`,strokeWidth:`4`}),(0,o.jsx)(`path`,{className:`opacity-75`,fill:`currentColor`,d:`M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z`})]})}):null,(0,o.jsx)(`span`,{className:N_(`inline-flex items-center justify-center gap-2`,n&&`opacity-0`),children:r})]}));L_.displayName=`Button`;var R_=()=>typeof document>`u`?null:document.querySelector(`.firebase-os`)||document.body;function z_({value:e=``,options:t,onChange:r,label:i,disabled:s,variant:c=`default`,multiple:l=!1,values:u,placeholder:d,footer:p,compact:m=!1,dense:h=!1,direction:g=`up`,portal:_=!1,empty:v=`Nothing to choose from yet`,ariaLabel:y,className:b=``}){let[x,S]=(0,a.useState)(!1),[C,w]=(0,a.useState)(g===`down`?`down`:`up`),[T,ee]=(0,a.useState)(null),E=(0,a.useRef)(null),D=(0,a.useRef)(null),te=(0,a.useRef)(null);(0,a.useEffect)(()=>{function e(e){let t=e.target;E.current?.contains(t)||te.current?.contains(t)||S(!1)}return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[]),(0,a.useLayoutEffect)(()=>{if(!x)return;let e=()=>{let e=D.current;if(!e)return;let t=e.getBoundingClientRect();if(ee({top:t.top,left:t.left,width:t.width,height:t.height}),g===`auto`){let e=(typeof window<`u`?window.innerHeight:0)-t.bottom;w(e<260&&t.top>e?`up`:`down`)}else w(g)};return e(),window.addEventListener(`scroll`,e,!0),window.addEventListener(`resize`,e),()=>{window.removeEventListener(`scroll`,e,!0),window.removeEventListener(`resize`,e)}},[x,g]);let ne=l&&u||[],O=t=>l?ne.includes(t):e===t,k=t.find(t=>t.value===e)||(d==null?t[0]:void 0),A=t.filter(e=>ne.includes(e.value)).map(e=>e.label),re=l?A.length?A.map((e,t)=>(0,o.jsxs)(a.default.Fragment,{children:[t>0?`, `:``,e]},t)):d:k?.label??d,j=!s,M=!t.some(e=>e.value!==``&&!e.disabled),N=(0,a.useRef)(null);(0,a.useEffect)(()=>{if(!x)return;let e=N.current,t=e?.querySelector(`[aria-selected="true"]`);!e||!t||(e.scrollTop=t.offsetTop-e.clientHeight/2+t.clientHeight/2)},[x]);let P=(0,o.jsx)(J.div,{ref:te,role:`listbox`,"aria-label":y||i,"aria-multiselectable":l||void 0,initial:{opacity:0,y:C===`up`?5:-5,scale:.98},animate:{opacity:1,y:0,scale:1},exit:{opacity:0,y:C===`up`?5:-5,scale:.98},transition:{duration:.15},className:`z-[99999] glass-popover overflow-hidden ${_?`fixed`:`absolute left-0 w-full ${C===`up`?`bottom-[calc(100%+8px)]`:`top-[calc(100%+8px)]`}`}`,style:{borderRadius:`var(--input-radius, 0.75rem)`,..._&&T?(()=>{let e=Math.max(T.width,m?180:0),t=(typeof window<`u`?window.innerWidth:T.left+e)-e-8;return{left:Math.max(8,Math.min(T.left,t)),width:e,...C===`up`?{bottom:(typeof window<`u`?window.innerHeight:0)-T.top+8}:{top:T.top+T.height+8}}})():{}},children:(0,o.jsxs)(`div`,{ref:N,className:`max-h-60 overflow-y-auto no-scrollbar p-1`,children:[t.map(e=>(0,o.jsxs)(`div`,{role:`option`,"aria-selected":O(e.value),"aria-disabled":e.disabled||void 0,onClick:()=>{e.disabled||(r(e.value),l||S(!1))},className:`flex items-center justify-between gap-3 px-3 py-2.5 transition-colors font-medium ${h?`text-[13.5px]`:`text-[13px]`} ${e.disabled?`text-foreground/30 cursor-default`:O(e.value)?`bg-accent/10 text-accent font-bold cursor-pointer`:`text-foreground/80 hover:bg-foreground/5 hover:text-foreground cursor-pointer`}`,style:{borderRadius:`calc(var(--input-radius, 0.75rem) - 0.25rem)`},children:[(0,o.jsx)(`span`,{className:`truncate`,children:e.label}),O(e.value)&&!e.disabled&&(0,o.jsx)(n.sn,{className:`w-3.5 h-3.5 shrink-0 text-accent`})]},e.value)),M&&!p&&(0,o.jsx)(`div`,{className:`px-3 py-2.5 text-foreground/50 ${h?`text-[13.5px]`:`text-[13px]`}`,children:v}),p]})}),ie=_?R_():null,F=(0,o.jsx)(um,{children:x&&P});return(0,o.jsxs)(`div`,{className:`flex flex-col relative ${m?`w-auto`:`w-full`} ${s?`opacity-50 pointer-events-none`:``} ${b}`,ref:E,children:[i&&(0,o.jsx)(`label`,{className:`text-[13px] font-medium text-foreground/70 select-none mb-2`,children:i}),(0,o.jsxs)(`div`,{className:`relative ${m?`w-auto`:`w-full`}`,children:[(0,o.jsxs)(`div`,{ref:D,role:`button`,tabIndex:s?-1:0,"aria-haspopup":`listbox`,"aria-expanded":x,"aria-label":y||i,"aria-disabled":s||void 0,onClick:()=>{j&&S(!x)},onKeyDown:e=>{j&&((e.key===`Enter`||e.key===` `)&&(e.preventDefault(),S(e=>!e)),e.key===`Escape`&&S(!1))},className:`text-foreground transition-all duration-300 flex items-center justify-between outline-none ${m?`h-9 px-3 gap-2 text-[12.5px] font-semibold`:h?`w-full h-11 px-4 text-[14px] font-medium`:`w-full h-12 px-4 text-[15px]`} ${j?`cursor-pointer`:`cursor-default`} ${c===`ghost`?`hover:bg-foreground/5 bg-transparent`:`border glass-panel ${m?``:`shadow-sm`} ${x?`border-accent select-open`:`border-[var(--panel-border)]`}`}`,style:{borderRadius:`var(--input-radius, 0.75rem)`},children:[(0,o.jsx)(`span`,{className:`truncate`,children:re}),(0,o.jsx)(n.on,{className:`w-4 h-4 text-foreground/50 shrink-0 transition-transform duration-300 ${x?`rotate-180`:``}`})]}),!(_&&ie)&&F]}),_&&ie?(0,f.createPortal)(F,ie):null]})}var B_={sm:`w-4 h-4 border-2`,md:`w-6 h-6 border-2`,lg:`w-9 h-9 border-[3px]`},V_=({label:e,size:t=`md`,block:n=!1,className:r,...i})=>(0,o.jsxs)(`div`,{role:`status`,"aria-live":`polite`,className:N_(`inline-flex items-center gap-3 text-foreground/60`,n&&`flex w-full flex-col justify-center py-20 text-center`,r),...i,children:[(0,o.jsx)(`span`,{"aria-hidden":`true`,className:N_(`rounded-full border-accent border-t-transparent animate-spin motion-reduce:animate-none motion-reduce:border-t-accent/30`,B_[t])}),e?(0,o.jsx)(`span`,{className:`text-[13px] font-medium`,children:e}):(0,o.jsx)(`span`,{className:`sr-only`,children:`Loading`})]});V_.displayName=`Loader`;var H_=({className:e,...t})=>(0,o.jsx)(`div`,{"aria-hidden":`true`,className:N_(`rounded-2xl bg-foreground/[0.06] animate-pulse motion-reduce:animate-none`,e),...t});H_.displayName=`Skeleton`;var U_=e=>`fbos.visitor.${e}`,W_=`buyer`,G_=`fbos:visitor-forgotten`;function K_(e){try{window.localStorage.removeItem(U_(e))}catch{}try{window.dispatchEvent(new CustomEvent(G_,{detail:e}))}catch{}}var q_=(e,t)=>{try{let n=window.localStorage.getItem(U_(e));if(n===null)return t;let r=JSON.parse(n);return r===null?t:r}catch{return t}};function J_(e,t,n,r){return Object.assign([e,t,n],{value:e,setValue:t,clear:n,ready:r})}function Y_(e,t){let[n,r]=(0,a.useState)(t),[i,o]=(0,a.useState)(!1),s=(0,a.useRef)(t),c=(0,a.useRef)(t);(0,a.useEffect)(()=>{let t=q_(e,s.current);c.current=t,r(t),o(!0);let n=t=>{t.detail===e&&(c.current=s.current,r(s.current))};return window.addEventListener(G_,n),()=>window.removeEventListener(G_,n)},[e]);let l=(0,a.useRef)(null),u=(0,a.useCallback)(t=>{let n=typeof t==`function`?t(c.current):t;c.current=n,l.current||={json:JSON.stringify(s.current)};let i=JSON.stringify(n);try{i===l.current.json?window.localStorage.removeItem(U_(e)):window.localStorage.setItem(U_(e),i)}catch{}r(n)},[e]),d=(0,a.useCallback)(()=>{c.current=s.current;try{window.localStorage.removeItem(U_(e))}catch{}r(s.current)},[e]);return(0,a.useMemo)(()=>J_(n,u,d,i),[n,u,d,i])}var X_=e=>!!(e.width||e.height||e.size||e.bg),Z_=32,Q_=32,$_=24;function ev(e,t){if(!e||e.length<t*t*4||t<3)return{};let n=(e,n)=>(n*t+e)*4,r=[];for(let e=0;e<t;e++)r.push(n(e,0),n(e,t-1));for(let e=1;e<t-1;e++)r.push(n(0,e),n(t-1,e));if(r.filter(t=>e[t+3]<Q_).length>r.length/2)return{bg:`clear`};let i=r.filter(t=>e[t+3]>=Q_);if(!i.length)return{};let a=[0,1,2].map(t=>i.reduce((n,r)=>n+e[r+t],0)/i.length);return Math.max(...i.map(t=>Math.max(...[0,1,2].map(n=>Math.abs(e[t+n]-a[n])))))>$_?{bg:`busy`}:{bg:`plain`,bgColour:tv(a[0],a[1],a[2])}}function tv(e,t,n){let r=Math.max(e,t,n),i=Math.min(e,t,n),a=(r+i)/2/255,o=(r-i)/255,s=o===0||a===0||a===1?0:o/(1-Math.abs(2*a-1));if(o<.08||s<.12)return a>.92?`white`:a>.72?`light grey`:a>.4?`grey`:a>.14?`dark grey`:`black`;let c=r-i,l=(60*(r===e?((t-n)/c+6)%6:r===t?(n-e)/c+2:(e-t)/c+4)+360)%360,u=l<15?`red`:l<45?`orange`:l<70?`yellow`:l<165?`green`:l<200?`teal`:l<255?`blue`:l<290?`purple`:l<335?`pink`:`red`;if(u===`orange`||u===`yellow`){if(a<.4)return`brown`;if(a>.82)return`cream`}return a>.78?`pale ${u}`:a<.3?`dark ${u}`:u}var nv=[[21,9],[16,9],[3,2],[5,4],[4,3],[1,1],[3,4],[4,5],[2,3],[9,16]];function rv(e,t){if(!e||!t)return``;let n=e/t,r=n>1.06?`wide`:n<.94?`tall`:`square`,i=nv.find(([e,t])=>e!==t&&Math.abs(n-e/t)<=e/t*.03);return i?`${r} ${i[0]}:${i[1]}`:r}function iv(e){if(!e||e<0)return``;if(e<1024)return`${Math.round(e)} bytes`;let t=e/1024;if(t<1024)return`${Math.round(t)} KB`;let n=t/1024;return`${n<10?Number(n.toFixed(1)):Math.round(n)} MB`}function av(e){return e.bg===`clear`?`see-through background`:e.bg===`plain`?e.bgColour?`plain ${e.bgColour} background`:`plain background`:e.bg===`busy`?`picture to the edges`:``}function ov(e){return[e.width&&e.height?`${e.width} × ${e.height}`:``,rv(e.width,e.height),iv(e.size),av(e)].filter(Boolean).join(`, `)}function sv(e){return[e.width&&e.height?`${e.width} × ${e.height}`:``,iv(e.size)].filter(Boolean).join(` · `)}var cv=async e=>{if(typeof createImageBitmap==`function`){let t=await createImageBitmap(e);return{source:t,width:t.width,height:t.height,done:()=>t.close?.()}}let t=URL.createObjectURL(e);try{let e=await lv(t);return{source:e,width:e.naturalWidth,height:e.naturalHeight,done:()=>URL.revokeObjectURL(t)}}catch(e){throw URL.revokeObjectURL(t),e}},lv=(e,t)=>new Promise((n,r)=>{let i=new Image;t&&(i.crossOrigin=t),i.onload=()=>n(i),i.onerror=()=>r(Error(`That picture could not be read.`)),i.src=e}),uv=e=>{try{if(typeof document>`u`)return{};let t=document.createElement(`canvas`);t.width=Z_,t.height=Z_;let n=t.getContext(`2d`,{willReadFrequently:!0});return!n||typeof n.getImageData!=`function`?{}:(n.drawImage(e,0,0,Z_,Z_),ev(n.getImageData(0,0,Z_,Z_).data,Z_))}catch{return{}}},dv=(e,t,n)=>t&&n?{width:t,height:n,...uv(e)}:{},fv=4e3,pv={},mv=(e,t)=>new Promise(n=>{let r=!1,i=e=>{r||(r=!0,n(e))},a=setTimeout(()=>i(t),fv),o=e=>{clearTimeout(a),i(e)};e.then(o,()=>o(t))}),hv=async e=>{let{source:t,width:n,height:r,done:i}=await cv(e);try{return dv(t,n,r)}finally{i()}},gv=async(e,t)=>{let n=await lv(e,t);return dv(n,n.naturalWidth,n.naturalHeight)};async function _v(e){let t=e?.size?{size:e.size}:{};return!e||!/^image\//i.test(e.type||``)?t:{...t,...await mv(hv(e),{})}}async function vv(e){return!e||!/^image\//i.test(e.type||``)||typeof createImageBitmap!=`function`?{}:mv((async()=>{let t=await createImageBitmap(e),{width:n,height:r}=t;return t.close?.(),n&&r?{width:n,height:r}:{}})(),{})}async function yv(e){if(!e||typeof Image>`u`)return{};let t=await mv(gv(e,`anonymous`),pv);return t===pv?{}:X_(t)?t:mv(gv(e),{})}var bv=3600*24*365,xv=3600,Sv=/^user_avatars\//,Cv=/^pub_/;function wv(e){let t=Cv.test(e.replace(/^\/+/,``))?`public`:`private`;return Sv.test(e.replace(/^\/+/,``))?`${t}, max-age=${xv}`:`${t}, max-age=${bv}, immutable`}function Tv(e,t){return{cacheControl:wv(e),...t?{customMetadata:t}:{}}}var Ev=`pub_files`,Dv=(e,t={})=>`${Date.now()}_${r.h(t.width,t.height)}${(e||`file`).replace(/[^a-zA-Z0-9.-]/g,`_`)}`;async function Ov(e,t,n){let i=async(e,r)=>{try{if(!e)return``;let i=await r(t);if(!i)return``;let a=(0,u.ref)(C,e);return await(0,u.uploadBytes)(a,i,Tv(e,n)),await(0,u.getDownloadURL)(a)}catch{return``}},a=await i(r.f(e),r.p),o=await i(r.v(e),r.y);return{...o?{small:o}:{},...a?{medium:a}:{}}}async function kv(e){e&&await Promise.all([r.v(e),r.f(e)].filter(Boolean).map(async e=>{try{await(0,u.deleteObject)((0,u.ref)(C,e))}catch{}}))}async function Av(e,t){if(!t)throw Error(`Sign in again before uploading.`);let n=await r.g(e),i=`${Ev}/${Dv(n.name,await vv(n))}`,a=(0,u.ref)(C,i);await(0,u.uploadBytes)(a,n,Tv(i,{ownerId:t.uid}));let o=await(0,u.getDownloadURL)(a),s=await Ov(i,n,{ownerId:t.uid});return await(0,l.addDoc)((0,l.collection)(S,Ev),{fileName:n.name,fileType:n.type||`unknown`,fileSize:n.size,downloadURL:o,...s.small?{smallURL:s.small}:{},...s.medium?{mediumURL:s.medium}:{},storagePath:i,uid:t.uid,uploaderEmail:t.email||``,createdAt:(0,l.serverTimestamp)()}),{url:o,file:n,...s}}var jv=async(e,t)=>(await Av(e,t)).url,Mv=`pub_form_uploads`;async function Nv(e,t){let n=await r.g(e);if(n.size>=10485760)throw Error(`That file is over 10 MB. Try a smaller one.`);let i=Math.random().toString(36).slice(2,8),a=`${Mv}/${Date.now()}_${i}_${(n.name||`file`).replace(/[^a-zA-Z0-9.-]/g,`_`)}`,o=(0,u.ref)(C,a);return await(0,u.uploadBytes)(o,n,Tv(a,t?{ownerId:t.uid}:void 0)),(0,u.getDownloadURL)(o)}var Pv=e=>typeof e==`string`?e.split(/\s+/).filter(Boolean):[],Fv=e=>e.join(`
|
|
11
|
+
`),Iv=e=>/^https?:\/\/\S+$/.test(e)&&RegExp(`(/|%2F)pub_form_uploads(/|%2F)`,`i`).test(e),Lv=e=>{let t=Pv(e);return t.length>0&&t.every(Iv)};function Rv(e){try{let t=new URL(e);return r.b(decodeURIComponent(t.pathname.split(`/o/`)[1]||t.pathname).split(`/`).pop()||``).replace(/^\d+_[a-z0-9]+_/,``)||t.hostname||`Attached file`}catch{return`Attached file`}}var zv=e=>e?.code===`storage/unauthorized`?`You do not have permission to upload here.`:Ee(e,`That upload did not work. Try again.`),Bv=(e,t)=>{let n=String(t||``).split(`,`).map(e=>e.trim().toLowerCase()).filter(Boolean);if(!n.length)return!0;let r=(e.type||``).toLowerCase(),i=(e.name||``).toLowerCase();return n.some(e=>e.startsWith(`.`)?i.endsWith(e):e.endsWith(`/*`)?r.startsWith(e.slice(0,-1)):r===e)},Vv=e=>Array.from(e.dataTransfer?.types||[]).includes(`Files`);function Hv({onFiles:e,onReject:t,accept:n,multiple:r=!1,disabled:i=!1}){let[o,s]=(0,a.useState)(!1),c=(0,a.useRef)(0);return{over:o&&!i,dropProps:{onDragEnter:e=>{i||!Vv(e)||(e.preventDefault(),c.current+=1,s(!0))},onDragOver:e=>{i||!Vv(e)||e.preventDefault()},onDragLeave:e=>{Vv(e)&&(c.current=Math.max(0,c.current-1),c.current===0&&s(!1))},onDrop:a=>{if(c.current=0,s(!1),i||!Vv(a))return;a.preventDefault();let o=Array.from(a.dataTransfer.files||[]),l=o.filter(e=>Bv(e,n)),u=o.filter(e=>!Bv(e,n));u.length&&t?.(u);let d=r?l:l.slice(0,1);d.length&&e(d)}}}}var Uv=new Set,Wv=e=>!!e&&Uv.has(e),Gv=e=>{e&&Uv.add(e)},Kv=new Map,qv=e=>e?Kv.get(e)||r.m(Yv(e)||e):void 0,Jv=(e,t,n)=>{e&&t>0&&n>0&&Kv.set(e,{width:t,height:n})},Yv=e=>{try{let t=new URL(e).pathname.split(`/o/`)[1];return t?decodeURIComponent(t):``}catch{return``}},Xv=(e,t)=>{let n=Yv(e);if(!n)return``;let r=n.lastIndexOf(`/`);return`${r>=0?n.slice(0,r+1):``}${t(n.slice(r+1))}`},Zv=e=>Xv(e,r._),Qv=e=>Xv(e,r.d),$v=(e,t)=>t===`sm`?Zv(e):t===`md`?Qv(e):Yv(e);function ey(e,t){if(!e||t===`full`||!r.c(e))return``;let n=Yv(e);if(!n.startsWith(`pub_`))return``;let i=$v(e,t);if(!i||i===n)return``;try{let t=new URL(e);return t.pathname=`${t.pathname.split(`/o/`)[0]}/o/${encodeURIComponent(i)}`,t.search=`?alt=media`,t.toString()}catch{return``}}var ty=`none`,ny=new Map,ry=new Map,iy=`fbos_small_pictures`,ay=()=>{try{let e=JSON.parse(sessionStorage.getItem(iy)||`{}`)||{},t={};for(let[n,r]of Object.entries(e))t[n]=typeof r==`string`?{sm:r}:r||{};return t}catch{return{}}},oy=e=>{let t=ny.get(e);if(t)return t;let n=ay()[e];return n&&ny.set(e,n),n||{}},sy=(e,t,n)=>{if(t===`full`)return;let r={...oy(e),[t]:n};ny.set(e,r);try{let t=ay();t[e]=r,sessionStorage.setItem(iy,JSON.stringify(t))}catch{}};function cy(e,t){if(!e||t===`full`)return``;let n=oy(e)[t];return n===void 0?ey(e,t):n===ty?``:n}var ly=(e,t)=>!!e&&t!==`full`&&oy(e)[t]!==void 0,uy=(e,t)=>ly(e,t)&&!cy(e,t),dy=(e,t)=>{e&&t!==`full`&&sy(e,t,ty)};async function fy(e,t){if(t===`full`)return e;if(!e||!r.c(e)||r.u(e))return``;if(ly(e,t))return cy(e,t);let n=ey(e,t);if(n)return n;let i=`${t}|${e}`,a=ry.get(i);if(a)return a;let o=$v(e,t);if(!o||!C)return``;let s;try{s=(0,u.getDownloadURL)((0,u.ref)(C,o)).then(n=>(sy(e,t,n),n)).catch(()=>(sy(e,t,ty),``)).finally(()=>{ry.delete(i)})}catch{return sy(e,t,ty),``}return ry.set(i,s),s}var py=[],my=0,hy=()=>{for(;my<3&&py.length;){let e=py.shift();if(Wv(e))continue;my++;let t=new Image,n=()=>{my--,hy()};t.decoding=`async`,t.onload=()=>{Gv(e),Jv(e,t.naturalWidth,t.naturalHeight),n()},t.onerror=n,t.src=e}};function gy(e){if(!(typeof Image>`u`)){for(let t of e)!t||Wv(t)||py.includes(t)||py.push(t);hy()}}var _y={sm:400,md:800,full:1/0},vy=[`sm`,`md`,`full`],yy=e=>vy[vy.indexOf(e)+1]??null,by=e=>vy.indexOf(e)>0?vy[vy.indexOf(e)-1]:null,xy=(e,t)=>vy.indexOf(e)>=vy.indexOf(t)?e:t;function Sy(e,t,n){let r=Math.max(0,e?.width||0),i=Math.max(0,e?.height||0),a=Math.min(2,Number.isFinite(n)&&n>0?n:1),o;if(t&&t.width>0&&t.height>0){let e=Math.max(r/t.width,i/t.height);o=Math.max(t.width,t.height)*e}else o=Math.max(r,i);return o*=a,vy.find(e=>_y[e]>=o)??`full`}var Cy=`60dvh`,wy=(0,a.createContext)(!1),Ty=e=>!!e&&e.complete&&e.naturalWidth>0;function Ey({src:e,alt:t=``,small:n,medium:r,width:i,height:s,ratio:c,className:l=``,imgClassName:u=``,fit:d=`cover`,priority:f=!1,preload:p,tint:m,onClick:h,draggable:g,fallback:_,onError:v}){let y=(0,a.useRef)(null),b=(0,a.useRef)(null),[x,S]=(0,a.useState)(null),[C,w]=(0,a.useState)(``),T=(0,a.useContext)(wy),ee=(e,t)=>!e||!t?``:t===`full`?e:t===`sm`&&n?n:t===`md`&&r?r:cy(e,t),[E,D]=(0,a.useState)(()=>({src:e,rung:null,link:``,ready:!1,under:``,failed:!1}));if(E.src!==e||E.rung!==x){let t=ee(e,x),n=!!t&&Wv(t);D({src:e,rung:x,link:t,ready:n,under:n?``:E.ready&&!E.failed?E.link:E.under,failed:!1})}let te=/(^|\s)w-auto(\s|$)/.test(l),ne=/(^|\s)(aspect-|inset-0|absolute)/.test(l)||!te&&/(^|\s)(h-|min-h-)(?!(auto|fit|min|max|0)(\s|$))/.test(l),O=(0,a.useCallback)(()=>{let t=y.current;if(!t)return;let n=t.getBoundingClientRect();ne&&n.width>0&&n.height<1&&w(l);let r=qv(e)||(i&&s?{width:i,height:s}:void 0),a=typeof window>`u`?1:window.devicePixelRatio||1,o=n.width>0||n.height>0?Sy({width:n.width,height:n.height},r,a):`full`;for(;uy(e,o);){let e=yy(o);if(!e)break;o=e}S(e=>e?xy(e,o):o)},[e,i,s,ne,l]),k=(0,a.useCallback)(e=>{if(y.current=e,b.current?.disconnect(),b.current=null,!e||(O(),typeof ResizeObserver>`u`))return;let t=new ResizeObserver(()=>O());t.observe(e),b.current=t},[O]),A=(0,a.useCallback)(e=>{S(t=>xy(t??e,yy(e)??e))},[]);(0,a.useEffect)(()=>{if(!x||E.link||E.src!==e||E.rung!==x)return;let t=!0;return fy(e,x).then(n=>{t&&(n?D(t=>t.src===e&&t.rung===x&&!t.link?{...t,link:n,ready:Wv(n)}:t):A(x))}).catch(()=>{t&&A(x)}),()=>{t=!1}},[e,x,E.link,E.src,E.rung,A]);let re=x?by(x):null,j=`${x}|${e}`,[M,N]=(0,a.useState)({key:``,rung:null,link:``,ready:!1});if(M.key!==j){let t=ee(e,re);N({key:j,rung:re,link:t,ready:!!t&&Wv(t)})}(0,a.useEffect)(()=>{if(M.key!==j||!M.rung||M.link)return;let t=!0,n=M.rung;return fy(e,n).then(e=>{!t||!e||N(t=>t.key===j&&!t.link?{...t,link:e,ready:Wv(e)}:t)}).catch(()=>{}),()=>{t=!1}},[e,j,M.key,M.rung,M.link]);let P=(p||[]).filter(Boolean).join(`|`);(0,a.useEffect)(()=>{if(!P||!x)return;let e=setTimeout(()=>{let e=P.split(`|`);Promise.all(e.map(e=>fy(e,x).catch(()=>``))).then(t=>gy(t.map((t,n)=>t||e[n]))).catch(()=>{})},250);return()=>clearTimeout(e)},[P,x]);let ie=qv(e)||(i&&s?{width:i,height:s}:void 0),F=ne&&C!==l,I=F?0:c||(ie?ie.width/ie.height:0),L=d===`contain`?`object-contain`:`object-cover`,R=`absolute inset-0 w-full h-full ${L} ${u}`,ae=!ne&&!te&&!/(^|\s)max-h-/.test(l),z=T&&ae,oe=z?I?{maxWidth:`calc(${Cy} * ${I})`,marginInline:`auto`}:{maxHeight:Cy,marginInline:`auto`}:void 0,se=z&&!I?{maxHeight:Cy,width:`auto`,marginInline:`auto`}:void 0,ce=(t,n)=>{let r={width:n.naturalWidth,height:n.naturalHeight},i=()=>{Gv(t),Jv(e,r.width,r.height),D(e=>e.link===t?{...e,ready:!0,under:``}:e)},a=n.decode?.();a&&typeof a.then==`function`?a.then(i,i):i()},le=I||F?``:E.under||E.link,B=E.failed,ue=!E.ready&&!B&&!E.under,de=ue&&!!M.link&&M.key===j,fe=/(^|\s)(absolute|fixed|sticky)(\s|$)/.test(l);return(0,o.jsxs)(`span`,{ref:k,onClick:h,"data-picture":E.ready?`ready`:`loading`,"data-ratio":I?String(I):void 0,"data-rung":x||void 0,className:`${fe?``:`relative`} block overflow-hidden isolate ${l}`,style:I||oe?{...I?{aspectRatio:String(I)}:null,...oe}:void 0,children:[ue&&!(de&&M.ready)&&(0,o.jsx)(`span`,{"aria-hidden":`true`,className:`fbos-picture-tint absolute inset-0`,style:m?{background:m}:void 0}),de&&(0,o.jsx)(`img`,{src:M.link,alt:``,"aria-hidden":`true`,draggable:!1,decoding:`async`,loading:f?`eager`:`lazy`,fetchPriority:f?`high`:void 0,ref:e=>{Ty(e)&&!M.ready&&N(e=>e.link===M.link?{...e,ready:!0}:e)},onLoad:()=>N(e=>e.link===M.link?{...e,ready:!0}:e),onError:()=>{let t=M.rung;t&&dy(e,t),N(e=>e.key===j?{key:j,rung:t?by(t):null,link:``,ready:!1}:e)},className:`fbos-picture-standin ${R} ${M.ready?`opacity-100`:`opacity-0`}`},`stand-${M.link}`),E.under&&E.under!==E.link&&(0,o.jsx)(`img`,{src:E.under,alt:``,"aria-hidden":`true`,draggable:!1,className:le===E.under?`block w-full h-auto ${L} ${u}`:R,style:le===E.under?se:void 0},`under-${E.under}`),!B&&!!E.link&&(0,o.jsx)(`img`,{ref:e=>{e&&Ty(e)&&!E.ready&&ce(E.link,e)},src:E.link,alt:t,draggable:g,loading:f?`eager`:`lazy`,fetchPriority:f?`high`:void 0,decoding:`async`,onLoad:e=>ce(E.link,e.currentTarget),onError:()=>{if(E.rung&&E.rung!==`full`){dy(e,E.rung),A(E.rung);return}D(t=>t.src===e?{...t,failed:!0}:t),v?.()},className:`fbos-picture-img ${le===E.link?`block w-full h-auto ${L} ${u}`:R} ${E.ready?`opacity-100`:`opacity-0`}`,style:le===E.link?se:void 0},E.link),B&&!E.under&&(0,o.jsx)(`span`,{className:`absolute inset-0 flex items-center justify-center px-2 text-center text-[11px] font-semibold text-foreground/35`,children:_??(t||`Picture unavailable`)})]})}var Dy={borderRadius:`var(--input-radius, 0.75rem)`},Oy=e=>/\.(png|jpe?g|gif|webp|avif|svg|heic|heif|bmp)$/i.test(e),ky=e=>{let t=(e.split(`.`).pop()||``).toLowerCase();return t&&t.length<=4&&t!==e.toLowerCase()?t:`file`};function Ay({field:e,value:t,error:r,onChange:i}){let[s,c]=(0,a.useState)(0),[l,u]=(0,a.useState)(``),d=(0,a.useRef)(null),f=s>0,p=Pv(t),m=async e=>{let t=Array.from(e||[]);d.current&&(d.current.value=``),t.length&&(u(``),c(e=>e+t.length),await Promise.all(t.map(async e=>{try{let t=await Nv(e,x.currentUser);i(e=>Fv([...Pv(e),t]))}catch(e){u(e?.code===`storage/unauthorized`?`That kind of file is not accepted. Try a PDF, a document or a picture.`:zv(e))}finally{c(e=>e-1)}})))},h=e=>{u(``),i(t=>Fv(Pv(t).filter(t=>t!==e)))},{over:g,dropProps:_}=Hv({accept:e.accept,multiple:!0,disabled:f,onFiles:m,onReject:()=>u(`That kind of file is not accepted here.`)}),v=r||l,y=g?`Drop to attach`:p.length?`Add another file`:e.placeholder||`Drop a file or choose one`;return(0,o.jsxs)(`div`,{className:`flex flex-col w-full relative`,children:[(0,o.jsx)(`label`,{className:`text-[13px] font-medium text-foreground/70 select-none mb-2`,children:e.label}),p.length>0&&(0,o.jsx)(`ul`,{className:`flex flex-col gap-2 mb-2`,children:p.map(e=>{let t=Rv(e);return(0,o.jsxs)(`li`,{className:`flex items-center gap-3 w-full pl-2 pr-2 py-2 border border-[var(--panel-border)]`,style:Dy,children:[Oy(t)?(0,o.jsx)(Ey,{src:e,alt:t,fit:`cover`,className:`w-11 h-11 shrink-0 rounded-lg overflow-hidden`}):(0,o.jsx)(`span`,{"aria-hidden":`true`,className:`w-11 h-11 shrink-0 rounded-lg bg-foreground/[0.05] flex items-center justify-center text-[11px] font-semibold uppercase tracking-wide text-foreground/60`,children:ky(t)}),(0,o.jsx)(`span`,{className:`flex-1 min-w-0 truncate text-[14px] text-foreground`,children:t}),(0,o.jsx)(`button`,{type:`button`,onClick:()=>h(e),"aria-label":`Remove ${t}`,title:`Remove`,className:`w-8 h-8 shrink-0 inline-flex items-center justify-center rounded-lg text-foreground/45 hover:text-foreground hover:bg-foreground/[0.06] active:scale-[0.97] transition-colors cursor-pointer`,children:(0,o.jsx)(n.o,{className:`w-4 h-4`})})]},e)})}),(0,o.jsxs)(`label`,{..._,className:`flex flex-col items-center justify-center gap-1 w-full px-5 text-center border border-dashed transition-[border-color,background-color] duration-200 cursor-pointer ${p.length?`py-4`:`py-7`} ${g?`border-accent bg-accent/[0.05]`:`border-foreground/15 bg-foreground/[0.015] hover:border-accent/50 hover:bg-foreground/[0.03]`} ${f?`pointer-events-none`:``}`,style:Dy,children:[f?(0,o.jsx)(V_,{size:`sm`,label:s>1?`Uploading ${s} files...`:`Uploading...`}):(0,o.jsx)(`span`,{className:`text-[14px] font-medium ${g?`text-accent`:`text-foreground/70`}`,children:y}),(0,o.jsx)(`input`,{ref:d,type:`file`,multiple:!0,accept:e.accept,"aria-label":e.label,disabled:f,onChange:e=>m(e.target.files),className:`hidden`})]}),v&&(0,o.jsx)(`span`,{className:`text-[13px] text-red-500 font-medium mt-1.5`,children:v})]})}var jy=[`mon`,`tue`,`wed`,`thu`,`fri`,`sat`,`sun`],My={mon:`Monday`,tue:`Tuesday`,wed:`Wednesday`,thu:`Thursday`,fri:`Friday`,sat:`Saturday`,sun:`Sunday`},Ny={mon:`Mon`,tue:`Tue`,wed:`Wed`,thu:`Thu`,fri:`Fri`,sat:`Sat`,sun:`Sun`},Py=[`sun`,`mon`,`tue`,`wed`,`thu`,`fri`,`sat`],Fy=[{value:`text`,label:`Short text`},{value:`textarea`,label:`Long text`},{value:`tel`,label:`Phone`},{value:`email`,label:`Email`},{value:`number`,label:`Number`},{value:`date`,label:`Date`},{value:`select`,label:`Choose one`},{value:`checkbox`,label:`Yes-no`},{value:`file`,label:`A file`}],Iy=new Set(Fy.map(e=>e.value)),Ly={text:`Your answer`,textarea:`A sentence or two`,tel:`+1 555 0123`,email:`jane@example.com`,number:`2`,date:``,select:`Choose one…`,checkbox:``,file:`Attach a file, or drop it here`},Ry=new Set(Object.values(Ly).filter(Boolean)),zy=e=>e!==`date`&&e!==`checkbox`,By=(e,t)=>{if(!zy(t))return``;let n=String(e.placeholder||``).trim();return!n||Ry.has(n)?Ly[t]:e.placeholder},Vy=[{name:`name`,type:`text`,label:`Your name`,placeholder:`Jane Doe`},{name:`email`,type:`email`,label:`Your email`,placeholder:`jane@example.com`}],Hy=new Set(Vy.map(e=>e.name)),Uy=e=>Hy.has(e),Wy=e=>{let t=Vy.find(t=>t.name===e);return{name:t.name,label:t.label,type:t.type,required:!0,placeholder:t.placeholder,options:[]}},Gy=(e,t)=>e.find(e=>e.name===t)||Wy(t),Ky=()=>[Wy(`name`),Wy(`email`),{name:`note`,label:`Anything we should know?`,type:`textarea`,required:!1,placeholder:``,options:[]}],qy=()=>({name:``,label:``,type:`text`,required:!1,placeholder:Ly.text,options:[]}),Jy=e=>String(e||``).toLowerCase().trim().replace(/[^a-z0-9]+/g,`_`).replace(/^_+|_+$/g,``).slice(0,60);function Yy(e,t,n){if(e.name&&e.name!==Jy(e.label))return e.name;let r=Jy(t);if(!r)return``;let i=n.filter(t=>t!==e).map(e=>e.name);if(!i.includes(r))return r;let a=2;for(;i.includes(`${r}_${a}`);)a++;return`${r}_${a}`}var Xy=(e,t)=>{let n=String(e?.label||``),r=Iy.has(String(e?.type))?String(e.type):`text`;return{name:String(e?.name||``).trim()||Jy(n)||(n.trim()?`answer_${t+1}`:``),label:n,type:r,required:e?.required===!0,placeholder:String(e?.placeholder||``),options:r===`select`&&Array.isArray(e?.options)?e.options.map(e=>String(e||``)):[]}};function Zy(e){let t=Array.isArray(e)?e.map(Xy).filter(e=>e.name):Ky();return[...Vy.map(e=>{let n=t.find(t=>t.name===e.name),r=Wy(e.name);return n?{...r,label:n.label.trim()?n.label:r.label,placeholder:n.placeholder}:r}),...t.filter(e=>!Uy(e.name))]}var Qy=e=>e.filter(e=>e.label.trim()&&!Uy(e.name));function $y(e,t){let n={};for(let r of Qy(e))r.required&&(String(t[r.name]||``).trim()||(n[r.name]=r.type===`checkbox`?`Please tick this to book.`:r.type===`file`?`Please attach a file to book.`:`Please answer this.`));return n}function eb(e,t){let n={};for(let r of Qy(e)){let e=String(t[r.name]||``).trim();e&&(n[r.name]=e)}return n}function tb(e,t){let n={};for(let r of Qy(e)){let e=String(t[r.name]||``).trim();e&&(n[r.label.trim()]=e)}return n}var nb=`booking`,rb=`sys_schedules`,ib=`pub_bookings`,ab=`mem_bookings`,ob=[{value:`15`,label:`15 minutes`},{value:`30`,label:`30 minutes`},{value:`45`,label:`45 minutes`},{value:`60`,label:`1 hour`},{value:`90`,label:`1½ hours`},{value:`120`,label:`2 hours`}],sb=[{value:`7`,label:`A week ahead`},{value:`14`,label:`Two weeks ahead`},{value:`30`,label:`A month ahead`},{value:`60`,label:`Two months ahead`},{value:`90`,label:`Three months ahead`}],cb=[{value:`0`,label:`No notice needed`},{value:`2`,label:`At least 2 hours`},{value:`12`,label:`At least 12 hours`},{value:`24`,label:`At least a day`},{value:`48`,label:`At least two days`}],lb=Array.from({length:48},(e,t)=>{let n=`${String(Math.floor(t/2)).padStart(2,`0`)}:${t%2?`30`:`00`}`;return{value:n,label:n}}),ub=[...lb.slice(1),{value:`24:00`,label:`Midnight`}],db={from:`09:00`,to:`17:00`},fb=(e,t=e,n=``,r=wb())=>({id:e,memberId:t,memberName:n,name:``,description:``,questions:Ky(),paymentId:``,notifyOwner:!0,confirmBooker:!0,enabled:!1,timeZone:r,slotMinutes:30,days:{mon:[db],tue:[db],wed:[db],thu:[db],fri:[db],sat:[],sun:[]},blocked:[],horizonDays:30,noticeHours:12}),pb=/^([01]\d|2[0-3]):[0-5]\d$/,mb=/^(([01]\d|2[0-3]):[0-5]\d|24:00)$/,hb=e=>{let t=String(e?.from||``),n=String(e?.to||``);return pb.test(t)&&mb.test(n)?{from:t,to:n}:null},$=e=>{let[t,n]=e.split(`:`).map(Number);return t*60+n},gb=/^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$/,_b=e=>{let t=String(e||``);if(!gb.test(t))return!1;let[n,r,i]=t.split(`-`).map(Number),a=new Date(Date.UTC(n,r-1,i));return a.getUTCFullYear()===n&&a.getUTCMonth()===r-1&&a.getUTCDate()===i};function vb(e){if(!Array.isArray(e))return[];let t=new Map;for(let n of e){let e=typeof n==`string`?n:String(n?.date||``);if(!_b(e))continue;let r=Array.isArray(n?.windows)?n.windows.map(e=>hb(e)).filter(e=>!!e&&$(e.to)>$(e.from)):[],i=t.get(e);i&&i.length&&r.length?t.set(e,[...i,...r]):t.set(e,i&&!i.length?[]:r)}return[...t.entries()].map(([e,t])=>({date:e,windows:t.sort((e,t)=>$(e.from)-$(t.from))})).sort((e,t)=>e.date.localeCompare(t.date))}function yb(e,t){let n=e.blocked.find(e=>e.date===t);return n?n.windows.length?n.windows:[xb]:[]}var bb=(e,t)=>e.blocked.some(e=>e.date===t&&e.windows.length===0),xb={from:`00:00`,to:`24:00`},Sb=(e,t,n)=>{let r=typeof e==`number`?e:Number(e);return!Number.isFinite(r)||r<0||n&&!n.includes(r)?t:r},Cb=(e,t)=>{let n=!String(t?.memberId||``).trim(),r=n?e:String(t.memberId),i=String((n?t?.name:t?.memberName)||``),a=fb(e,r,i,`UTC`),o={...a.days};for(let e of jy){let n=t?.days?.[e];o[e]=Array.isArray(n)?n.map(hb).filter(e=>!!e):[]}let s=t?.days&&typeof t.days==`object`;return{id:e,memberId:r,memberName:i,name:String(t?.name||``),description:String(t?.description||``),questions:Zy(t?.questions),paymentId:String(t?.paymentId||``),notifyOwner:t?.notifyOwner!==!1,confirmBooker:t?.confirmBooker!==!1,enabled:t?.enabled===!0,timeZone:Eb(t?.timeZone)?String(t.timeZone):a.timeZone,slotMinutes:Sb(t?.slotMinutes,30,ob.map(e=>Number(e.value))),days:s?o:a.days,blocked:vb(t?.blocked),horizonDays:Sb(t?.horizonDays,30),noticeHours:Sb(t?.noticeHours,12),createdAt:typeof t?.createdAt==`number`?t.createdAt:void 0,updatedAt:typeof t?.updatedAt==`number`?t.updatedAt:void 0}};function wb(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone||`UTC`}catch{return`UTC`}}var Tb=new Map;function Eb(e){if(typeof e!=`string`||!e.trim())return!1;let t=Tb.get(e);if(t!==void 0)return t;let n=!1;try{new Intl.DateTimeFormat(`en-US`,{timeZone:e}),n=!0}catch{n=!1}return Tb.set(e,n),n}function Db(){try{return Intl.supportedValuesOf?Intl.supportedValuesOf(`timeZone`):[`UTC`]}catch{return[`UTC`]}}function Ob(e,t=12){let n=e.trim().toLowerCase().replace(/\s+/g,`_`),r=Db(),i=wb(),a=n?r.filter(e=>e.toLowerCase().includes(n)):r;return(a.includes(i)?[i,...a.filter(e=>e!==i)]:a).slice(0,t)}var kb=new Map,Ab=e=>{let t=kb.get(e);return t||(t=new Intl.DateTimeFormat(`en-US`,{timeZone:e,hourCycle:`h23`,weekday:`short`,year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`}),kb.set(e,t)),t};function jb(e,t){let n={};for(let r of Ab(t).formatToParts(e))n[r.type]=r.value;let r=Number(n.year),i=Number(n.month),a=Number(n.day),o=Number(n.hour)%24,s=Number(n.minute);return{year:r,month:i,day:a,hour:o,minute:s,second:Number(n.second),weekday:(n.weekday||`Mon`).slice(0,3).toLowerCase(),dateKey:`${r}-${String(i).padStart(2,`0`)}-${String(a).padStart(2,`0`)}`,time:`${String(o).padStart(2,`0`)}:${String(s).padStart(2,`0`)}`}}function Mb(e,t){let n=jb(t,e),r=Date.UTC(n.year,n.month-1,n.day,n.hour,n.minute,n.second);return Math.round((r-t.getTime())/6e4)}function Nb(e,t,n){let[r,i,a]=e.split(`-`).map(Number),[o,s]=t.split(`:`).map(Number),c=Date.UTC(r,i-1,a,o,s),l=Mb(n,new Date(c)),u=c-l*6e4,d=Mb(n,new Date(u));return d!==l&&(u=c-d*6e4,Mb(n,new Date(u))!==d&&(u=c-Math.min(l,d)*6e4)),new Date(u)}function Pb(e,t){let[n,r,i]=e.split(`-`).map(Number),a=new Date(Date.UTC(n,r-1,i+t));return`${a.getUTCFullYear()}-${String(a.getUTCMonth()+1).padStart(2,`0`)}-${String(a.getUTCDate()).padStart(2,`0`)}`}function Fb(e){let[t,n,r]=e.split(`-`).map(Number);return Py[new Date(Date.UTC(t,n-1,r)).getUTCDay()]}function Ib(e,t){let[n,r]=e.split(`-`).map(Number);return new Intl.DateTimeFormat(t,{month:`long`,year:`numeric`,timeZone:`UTC`}).format(new Date(Date.UTC(n,r-1,1)))}function Lb(e,t){let[n,r]=e.split(`-`).map(Number),i=new Date(Date.UTC(n,r-1+t,1));return`${i.getUTCFullYear()}-${String(i.getUTCMonth()+1).padStart(2,`0`)}`}var Rb=(e,t)=>e.start<t.end&&t.start<e.end,zb=(e,t)=>`${e}__${t.replace(/[-:]/g,``).slice(0,15)}`,Bb=[{value:``,label:`Theme`,hex:`var(--accent-color)`},{value:`rose`,label:`Rose`,hex:`#f43f5e`},{value:`amber`,label:`Amber`,hex:`#f59e0b`},{value:`emerald`,label:`Green`,hex:`#10b981`},{value:`sky`,label:`Blue`,hex:`#0ea5e9`},{value:`fuchsia`,label:`Pink`,hex:`#d946ef`},{value:`slate`,label:`Grey`,hex:`#64748b`}],Vb=e=>(Bb.find(t=>t.value===e)||Bb[0]).hex,Hb=(e,t)=>`color-mix(in srgb, ${Vb(e)} ${t}%, transparent)`,Ub=Array.from({length:96},(e,t)=>{let n=`${String(Math.floor(t/4)).padStart(2,`0`)}:${String(t%4*15).padStart(2,`0`)}`;return{value:n,label:n}}),Wb=[...ob,{value:`180`,label:`3 hours`},{value:`240`,label:`4 hours`}],Gb=e=>e.own?(e.title||``).trim()||`Busy`:(e.name||``).trim()||`Someone`;function Kb(e,t){let{hour:n,minute:r}=jb(e,t),i=Math.ceil((n*60+r)/15);return i>=96?`23:45`:Ub[i].value}function qb(e,t){if(!wx(e))return[];let{now:n}=t,r=(t.taken||[]).filter(t=>t.memberId===e.memberId),i=e.timeZone,a=e.slotMinutes*6e4,o=n.getTime()+e.noticeHours*36e5,s=Math.max(1,Math.min(t.days??e.horizonDays,e.horizonDays)),c=jb(n,i).dateKey,l=new Map;for(let t=0;t<s;t++){let n=Pb(c,t);if(bb(e,n))continue;let s=yb(e,n).map(e=>({start:Nb(n,e.from,i).toISOString(),end:Nb(n,e.to,i).toISOString()})),u=(e.days[Fb(n)]||[]).filter(e=>$(e.to)>$(e.from)).sort((e,t)=>$(e.from)-$(t.from));for(let t of u){let c=Nb(n,t.from,i).getTime(),u=Nb(n,t.to,i).getTime();for(let t=c;t+a<=u;t+=a){if(t<o||l.has(t))continue;let n={start:new Date(t).toISOString(),end:new Date(t+a).toISOString(),memberId:e.memberId,scheduleId:e.id};r.some(e=>Rb(e,n))||s.some(e=>Rb(e,n))||l.set(t,n)}}}return[...l.keys()].sort((e,t)=>e-t).map(e=>l.get(e))}function Jb(e,t){return e.flatMap(e=>qb(e,t)).sort((e,t)=>e.start.localeCompare(t.start)||e.memberId.localeCompare(t.memberId)||e.scheduleId.localeCompare(t.scheduleId))}function Yb(e){let t=new Set,n=[];for(let r of e)t.has(r.memberId)||(t.add(r.memberId),n.push(r));return n}function Xb(e,t,n){let r=e.timeZone,i=jb(t,r).dateKey,a=[],o=[];for(let t=0;t<n;t++){let n=Pb(i,t);if(!bb(e,n)){for(let t of e.days[Fb(n)]||[])$(t.to)<=$(t.from)||a.push({from:Nb(n,t.from,r).getTime(),to:Nb(n,t.to,r).getTime()});for(let t of yb(e,n))o.push({from:Nb(n,t.from,r).getTime(),to:Nb(n,t.to,r).getTime()})}}return o.reduce((e,t)=>$b(e,t),Zb(a))}function Zb(e){let t=[...e].sort((e,t)=>e.from-t.from),n=[];for(let e of t){let t=n[n.length-1];t&&e.from<=t.to?t.to=Math.max(t.to,e.to):n.push({...e})}return n}function Qb(e,t){let n=[],r=0,i=0;for(;r<e.length&&i<t.length;){let a=Math.max(e[r].from,t[i].from),o=Math.min(e[r].to,t[i].to);a<o&&n.push({from:a,to:o}),e[r].to<t[i].to?r++:i++}return n}function $b(e,t){let n=[];for(let r of e){if(t.to<=r.from||t.from>=r.to){n.push(r);continue}t.from>r.from&&n.push({from:r.from,to:t.from}),t.to<r.to&&n.push({from:t.to,to:r.to})}return n}function ex(e,t){let n=Yb(e.filter(wx));if(!n.length)return[];if(n.length===1)return qb(n[0],t);let{now:r}=t,i=Math.max(...n.map(e=>e.slotMinutes))*6e4,a=Math.min(...n.map(e=>e.horizonDays)),o=Math.max(1,Math.min(t.days??a,a)),s=r.getTime()+Math.max(...n.map(e=>e.noticeHours))*36e5,c=Xb(n[0],r,o);for(let e of n.slice(1)){if(!c.length)break;c=Qb(c,Xb(e,r,o))}let l=new Set(n.map(e=>e.memberId));for(let e of t.taken||[]){if(!c.length)break;if(!l.has(e.memberId))continue;let t=Date.parse(e.start),n=Date.parse(e.end);!Number.isFinite(t)||!Number.isFinite(n)||n<=t||(c=$b(c,{from:t,to:n}))}let u=n[0],d=[];for(let e of c)for(let t=e.from;t+i<=e.to;t+=i)t<s||d.push({start:new Date(t).toISOString(),end:new Date(t+i).toISOString(),memberId:u.memberId,scheduleId:u.id});return d.sort((e,t)=>e.start.localeCompare(t.start))}var tx=(e,t,n)=>n?ex(e,t):Jb(e,t),nx=(e,t)=>{let n=Yb(t);return n.length?n.map(t=>({start:e.start,end:e.end,memberId:t.memberId,scheduleId:t.id})):[e]},rx=e=>new Set(e.map(e=>e.memberId)).size>1,ix=(e,t)=>t.find(t=>t.id===e.scheduleId)||t.find(t=>t.memberId===e.memberId),ax=e=>`/book/${e}`,ox=e=>`/pay/${e}`;function sx(e){let t=typeof window<`u`&&window.location?.origin?window.location.origin:``;return t?`${t}${e}`:e}function cx(e,t,n){let r=new Map;for(let i of e){let e=new Date(i.start),{dateKey:a}=jb(e,t),o=r.get(a);o||(o={dateKey:a,label:lx(e,t,n),slots:[]},r.set(a,o)),o.slots.push(i)}return[...r.values()].sort((e,t)=>e.dateKey.localeCompare(t.dateKey))}function lx(e,t,n){return new Intl.DateTimeFormat(n,{timeZone:t,weekday:`short`,day:`numeric`,month:`short`,year:`numeric`}).format(e)}function ux(e,t,n){return new Intl.DateTimeFormat(n,{timeZone:t,hour:`numeric`,minute:`2-digit`}).resolvedOptions().hour12===!0?new Intl.DateTimeFormat(n,{timeZone:t,hour:`numeric`,minute:`2-digit`}).format(e):new Intl.DateTimeFormat(n,{timeZone:t,hour:`2-digit`,minute:`2-digit`,hourCycle:`h23`}).format(e)}function dx(e,t,n){let r=new Date(e.start),i=new Date(e.end);return`${lx(r,t,n)}, ${ux(r,t,n)}–${ux(i,t,n)}`}function fx(e,t,n){let r=new Date(e.start);return{day:lx(r,t,n),time:`${ux(r,t,n)} – ${ux(new Date(e.end),t,n)}`}}var px=e=>e.replace(/_/g,` `).replace(/\//g,` / `);function mx(e,t,n,r){let i=t.trim();return`${dx(e,n,r)} (${px(n)})${i?` with ${i}`:``}`}var hx=(e,t=!1)=>`${e.start}|${e.end}|${e.memberId}|${e.scheduleId}${t?`|t`:``}`;function gx(e){if(typeof e!=`string`)return null;let[t,n,r,i]=e.split(`|`);return!t||!n||!r||Number.isNaN(Date.parse(t))||Number.isNaN(Date.parse(n))?null:{start:t,end:n,memberId:r,scheduleId:i||``}}var _x=e=>typeof e==`string`&&e.split(`|`)[4]===`t`;function vx(e,t,n,r,i){return{[e]:mx(t,n,r,i),[`${e}Start`]:t.start,[`${e}End`]:t.end,[`${e}With`]:n,[`${e}TimeZone`]:r}}function yx(e,t){let n=e[`${t}Start`],r=e[`${t}End`];if(typeof n!=`string`||typeof r!=`string`||Number.isNaN(Date.parse(n))||Number.isNaN(Date.parse(r)))return null;let i=e[`${t}With`],a=e[`${t}TimeZone`];return{start:n,end:r,with:typeof i==`string`?i:``,timeZone:typeof a==`string`?a:``}}var bx=e=>Object.keys(e||{}).some(t=>yx(e,t)!==null);function xx(e){return e.memberName.trim()?e.memberId.trim()?Eb(e.timeZone)?ob.some(t=>Number(t.value)===e.slotMinutes)?Sx(e,e.slotMinutes):`Say how long a booking lasts.`:`Pick a time zone we know, like Europe/Rome.`:`Say whose time this is.`:`Give the person the name visitors will see.`}function Sx(e,t=0){if(!Eb(e.timeZone))return`Pick a time zone we know, like Europe/Rome.`;let n=!1;for(let r of jy){let i=e.days[r]||[];for(let e of i){if(n=!0,$(e.to)<=$(e.from))return`On ${My[r]}, the end must come after the start.`;if(t&&$(e.to)-$(e.from)<t)return`On ${My[r]}, the hours are shorter than one booking.`}let a=i.slice().sort((e,t)=>$(e.from)-$(t.from));for(let e=1;e<a.length;e++)if($(a[e].from)<$(a[e-1].to))return`On ${My[r]}, the two stretches of hours overlap.`}return n?``:`Turn on at least one day.`}var Cx=e=>Sx(e)===``,wx=e=>e.enabled&&xx(e)===``,Tx={15:`A short meeting`,30:`A short meeting`,45:`A 45-minute meeting`,60:`A 1-hour meeting`,90:`A 1½-hour meeting`,120:`A 2-hour meeting`},Ex=e=>Tx[e.slotMinutes]||`A meeting`,Dx=e=>e.name.trim()||Ex(e),Ox=e=>{let t=Dx(e),n=e.memberName.trim();return n?`${t} with ${n}`:t},kx=(e,t=Gx())=>!!e&&t.some(t=>t.id===e);function Ax(e,t=``,n=Gx()){return e&&kx(e.id,n)?Dx(e):t.trim()}var jx=e=>{let t=(e.scheduleName||``).trim(),n=(e.memberName||``).trim();return t&&n?`${t} with ${n}`:t||(n?`A meeting with ${n}`:`A meeting`)},Mx=e=>ob.find(t=>Number(t.value)===e)?.label||`${e} min`,Nx=e=>{let t=e.memberName.trim();return`${Mx(e.slotMinutes)}${t?` with ${t}`:``}. Pick a time that suits you.`},Px=e=>{let t=e.description.trim();return t&&t!==Nx(e)?t:``},Fx=e=>{let[t,...n]=Mx(e).split(` `),r=n.join(` `)||`min`;return{value:t,unit:r.startsWith(`minute`)?`min`:r}},Ix=(e,t)=>e.length===t.length&&e.every((e,n)=>e.from===t[n].from&&e.to===t[n].to);function Lx(e){let t=jy.filter(t=>(e.days[t]||[]).length);if(!t.length)return``;let n=e.days[t[0]],r=t.every(t=>Ix(e.days[t],n)),i=t.map(e=>jy.indexOf(e)),a=i.every((e,t)=>t===0||e===i[t-1]+1)&&t.length>2?`${Ny[t[0]]}–${Ny[t[t.length-1]]}`:t.map(e=>Ny[e]).join(`, `);return r?`${a} ${n.map(e=>`${e.from}–${e.to}`).join(`, `)}`:`${a}, hours vary`}function Rx(e){let t=Ox(e),n=Lx(e);return n?`${t} — ${n} · ${Mx(e.slotMinutes)} · ${px(e.timeZone)}`:`${t} — no hours yet`}var zx=(e=new Date)=>new Date(e.getTime()-e.getTimezoneOffset()*6e4).toISOString().slice(0,10),Bx=e=>e.name.trim()||`Working hours`,Vx=e=>{let t=e.memberName.trim();return t?`${t} · ${Bx(e)}`:Bx(e)};function Hx(e,t=zx()){let n=Lx(e),r=Bx(e);if(!n)return`${r} — no hours yet`;let i=e.blocked.filter(e=>e.date>=t).length,a=i?` · ${i} day${i===1?``:`s`} blocked`:``;return`${r} — ${n} · ${px(e.timeZone)}${a}`}var Ux=[],Wx=e=>{Ux=e},Gx=()=>Ux,Kx=[],qx=e=>{Kx=e},Jx=()=>Kx,Yx=()=>{let e=new Set(Ux.map(e=>e.id));return[...Ux,...Kx.filter(t=>!e.has(t.id)&&wx(t))]},Xx=[{value:`calendar`,label:`A full calendar — the page is about booking`},{value:`compact`,label:`A compact time picker — one question among others`}],Zx=[{value:`each`,label:`An individual schedule — they book one of us`},{value:`all`,label:`The united team schedule — one meeting with all of us`},{value:`choose`,label:`Both — the visitor chooses one of us or all of us`}],Qx=new Set(Zx.map(e=>e.value)),$x=e=>Qx.has(String(e?.party))?String(e.party):e?.together===!0?`all`:`each`,eS=e=>(Array.isArray(e?.schedules)?e.schedules:Array.isArray(e?.members)?e.members:[]).filter(e=>typeof e==`string`||typeof e==`number`).map(e=>String(e).trim()).filter(Boolean);function tS(e){let t=e?.booking;if(!t||typeof t!=`object`)return null;let n=eS(t);return n.length?{schedules:n,party:$x(t),ask:String(t.ask||``),how:String(t.how||``)}:null}var nS=(e,t,n=[])=>{let r=t.find(t=>t.id===e);if(r)return r;let i=n.find(t=>t.id===e);return i?t.find(e=>e.id===(i.scheduleId||i.id)):void 0},rS=(e,t,n=[])=>{let r=[];for(let i of e){let e=nS(i,t,n),a=e?e.id:i;r.includes(a)||r.push(a)}return r},iS=(e,t,n=[])=>{let r=[];for(let i of e.schedules){let e=nS(i,t,n);e&&!r.some(t=>t.id===e.id)&&r.push(e)}return r};function aS(e,t,n){if(e.includes(t))return e.filter(e=>e!==t);let r=n.find(e=>e.id===t)?.memberId;return[...r?e.filter(e=>n.find(t=>t.id===e)?.memberId!==r):e,t]}var oS=e=>{let t=e.map(e=>e.memberName.trim()||`a team member`);return t.length<=1?t.join(``):`${t.slice(0,-1).join(`, `)} and ${t[t.length-1]}`},sS=e=>{let t=e.map(Ox);return t.length<=1?t.join(``):`${t.slice(0,-1).join(`, `)}, and ${t[t.length-1]}`};function cS(e,t,n=t){let r=tS(e);if(!r)return``;let i=iS(r,t,n);if(!i.length)return`The schedules picked for this page no longer exist — pick one on the Schedule screen.`;let a=i.find(e=>!Cx(e));return a?`Finish ${Vx(a)} on the Schedule screen first.`:r.how.trim()?``:`Say what this page should do with those hours.`}var lS=`calls?|meetings?|times?|slots?|sessions?|appointments?|visits?|consultations?|chats?|demos?`,uS=e=>/\b(book|books|booked|booking|bookings|appointment|appointments|reservation|reservations)\b/i.test(e)||RegExp(`\\bschedul\\w*\\s+(?:a|an|my|our|your|their|the|some)?\\s*(?:${lS})\\b`,`i`).test(e),dS=/\b(calls?|meetings?|sessions?|appointments?|consultations?|chats?|demos?|visits?|interviews?|viewings?|classes|lessons?|slots?|times?|diar(?:y|ies)|calendars?)\b/i,fS=e=>{let t=tS(e);return[e?.brief,e?.pageChange,t?.how,t?.ask].map(e=>String(e||``).trim()).filter(Boolean).join(`
|
|
12
|
+
`)},pS=e=>uS(e)||dS.test(e),mS=(e,t=tS(e))=>!!t&&(!!t.ask.trim()||t.party!==`each`||pS(fS(e))),hS=`Booking goes through the app's own form system: the page's form gets ONE question of type 'schedule', and the built-in form draws the picker — never build a calendar, a time picker, a list of times or a bookings collection of your own. The app shows every visitor the free times in their own time zone, stops two people taking the same time, and lists every booking on my Schedule screen. It also tells the people it was booked with — the booking is in their bell and on their own calendar the moment it is made — so never send a notification of your own about a booking.`,gS=(e,t=`time`,n=`each`)=>{let r=n===`all`?`, together: true`:n===`choose`?`, party: 'choose'`:``;return`{ name: '${t}', type: 'schedule', label: 'Pick a time', required: true, schedules: [${e.map(e=>`'${e}'`).join(`, `)}]${r} }`},_S=`With together: true the app offers only the times every single one of them is free at the same moment — in the visitor's own time zone — and one booking takes that time in every one of their calendars and tells every one of them. Never work the shared times out yourself, never draw a calendar or a list of anyone's hours, never ask the visitor to pick a person first, and never make more than one booking or more than one time question.`,vS=`With party: 'choose' the built-in picker shows the visitor a switch above the times — meet one of us, or meet all of us. On 'one of us' it offers each person's own free times with their name under each; on 'all of us' only the times every one of them is free at once, and the booking is then made and announced the right way for whichever they chose. Never build that switch, a calendar or a list of anyone's hours yourself, never ask the visitor to pick a person before the switch, and never make more than one time question.`,yS=()=>`More than one person can be booked here, so decide from my words which kind of booking this is. If my words ask for ONE meeting that all of them attend — a united calendar, a time that suits everyone, all of us in it together — add together: true to that question. ${_S} If my words ask to let the visitor pick either — one of us or all of us — add party: 'choose' instead. ${vS} If my words ask only for a time with ONE of them, leave the question as it is: the app then offers each person's own free times, with their name under each, and the visitor picks one of them.`,bS=e=>`Before the time is picked, this page asks the visitor: ${e}. Put each of those on the same form as one more question, choosing the kind of box each answer needs, and keep a name question and an email question on it as well — a visitor who is already signed in is never asked those two, the app fills them in from their account itself.`,xS=`Decide how the picker looks from my words and add a look to that question. look: 'calendar' when the page is about booking — the question draws a whole calendar with the free times under it, so show the form inline with <ContactPopup formId='…' isInline /> and give it the full width of the page, the other questions following once a time is picked. look: 'compact' when booking is one question among others — the question draws a compact picker of days and times and sits among the other questions like any of them, and the form shows the way any other form on the page does. If my words do not say, a page that is about nothing but booking gets the calendar and every other page gets the compact picker.`,SS=`Read them with useBookings() from 'your-ai-workflow-firebase-os' — { loading, bookings, error }, each booking with id, start and end (ISO, UTC), memberId, memberName, name, email, answers and formId — the upcoming ones, soonest first; show error when it is set, format times in the reader's own zone, and cancel one with cancelBooking(id, { reason, side: 'host' }) from the same package — always with a reason, because it is what the other side reads. Never read mem_bookings or pub_bookings by hand, and never write to them. An entry with own:true is an event the owner put on their own calendar rather than a booking: it has no name or email, so title every entry with eventName(booking) from the same package. An entry with cancelled:true was called off — its time is free again, so keep it in the list greyed out and struck through rather than dropping it, and show its cancelReason when it has one. An entry with pending:true is booked but NOT yet agreed to by the person whose hour it is: mark it Pending and never draw it as a settled meeting. They accept their own with acceptBooking(id) — offer that only when booking.memberId is the signed-in person's own uid, because a meeting in somebody else's diary is not theirs to agree to. Turning a booking down is cancelBooking with a reason, never a state of its own.`,CS=`A person's OWN meetings are read with useMyBookings() from 'your-ai-workflow-firebase-os' — { loading, bookings, error }, the same shape useBookings() gives, and it needs no arguments: it answers about whoever is signed in, and finds what they booked as a guest before they had an account as well. NEVER useBookings() on a page like this and never mem_bookings by hand — both are my team's and everybody else is refused, which shows as an error and never as an empty list. Title each one with eventName(booking) from the same package, show the times in the reader's own zone, keep a cancelled one in the list greyed out with its cancelReason rather than dropping it, and mark one that is pending:true as still waiting. They call one off with cancelBooking(id, { ids: booking.copyIds, reason, side: 'booker' }) from the same package — always with a reason — and never accept or decline anything, because the meeting is not in their diary to agree to.`,wS=e=>{let t=Yb(e).map(e=>`'${e.memberId}'`).join(`, `);return`This page is built on ${oS(e)}'s hours — their week, their own time zone and the days they are away, kept on my Schedule screen. Read them with useTeamHours() from 'your-ai-workflow-firebase-os' and use the ones whose memberId is ${t}; my app's instructions say what is ready to use with them. Never type anybody's hours or times into the page, never invent one, and never read or write sys_schedules yourself.`},TS=(e,t,n)=>{let r=`The free times come from my Schedule screen and follow my hours there, so a change to my week changes this page — never state a length, and never type a day, an hour or a time into the page. ${hS}`;return t===`all`?`People book ONE meeting with ${e} on this page — all of them in it together. ${r}`:t===`choose`?`People book time with ${e} on this page and choose for themselves whether it is with one of them or with all of them at once. ${r}`:`People book time with ${e} on this page${n?` — the visitor picks one of them, then one of that person’s free times`:``}. ${r}`};function ES(e,t,n,r=t){let i=tS(e);if(!i)return[];let a=iS(i,t,r);if(!a.length)return[];let o=i.how.trim(),s=i.ask.trim();if(!mS(e,i))return[wS(a),...o?[`Here is what this page should do with those hours: ${o}`]:[]];let c=Yb(a),l=oS(c),u=[];if(n)u.push(`This page is where my team follows the times people book with ${l}. ${SS}`);else{let t=rx(c),n=t?i.party:`each`;u.push(TS(l,n,t),`Add exactly this question to the page's form, copied as it is: ${gS(c.map(e=>e.id),`time`,n)}`),n===`all`?u.push(_S):n===`choose`?u.push(vS):t&&u.push(yS()),u.push(xS),e?.pageType&&u.push(`If my words below also ask for the person reading to see what THEY have booked, that is a list and never a second picker. ${CS} If my words do not ask for it, put no such list on the page.`)}return s&&!n&&u.push(bS(s)),o&&u.push(`Here is how booking should work on this page: ${o}`),u}function DS(e,t,n,r,i=n){let a=tS(t);if(!a||!mS(t,a))return``;let o=Yb(iS(a,n,i));if(!o.length)return``;let s=oS(o);return r?`Times are booked with ${s} on the page at ${e}, which this page is linked to. Show those bookings here. ${SS}`:`Times are booked with ${s} on the page at ${e}, which this page is linked to — the booking itself happens there. Put no picker on this page unless I ask for one below.`}var OS=`rounded-2xl border border-[var(--panel-border)] bg-[var(--panel-bg)] transition-colors hover:border-accent/40`,kS=`inline-flex items-center justify-center gap-1.5 h-8 px-2.5 sm:h-9 sm:px-3 shrink-0 whitespace-nowrap rounded-[var(--btn-radius,0.75rem)] text-[12.5px] font-semibold border border-[var(--panel-border)] bg-transparent text-foreground/60 hover:text-foreground hover:border-accent/40 hover:bg-foreground/[0.04] active:scale-[0.98] transition-all cursor-pointer disabled:opacity-40 disabled:pointer-events-none`,AS=`w-full h-11 px-4 rounded-[var(--input-radius,0.75rem)] border border-[var(--panel-border)] bg-[var(--panel-bg)] text-[14px] text-foreground outline-none transition-all duration-300 placeholder:text-foreground/35 hover:border-accent/40 focus:border-accent disabled:opacity-50 disabled:cursor-not-allowed console-field`,jS=`w-full h-11 flex items-center px-4 rounded-[var(--input-radius,0.75rem)] border border-[var(--panel-border)] bg-[var(--panel-bg)] transition-all duration-300 hover:border-accent/40 focus-within:border-accent console-field`,MS=`flex-1 min-w-0 h-full bg-transparent border-none outline-none shadow-none text-[14px] text-foreground placeholder:text-foreground/35 disabled:cursor-not-allowed`,NS=`text-[12.5px] sm:text-[13px] font-medium text-foreground/50 select-none`,PS=`text-[11px] sm:text-[11.5px] text-foreground/40 font-medium leading-snug`;function FS({label:e=`cog`}){return(0,o.jsx)(n.N,{role:`img`,"aria-label":e,className:`inline-block w-[1.1em] h-[1.1em] align-[-0.18em] mx-[0.08em] text-foreground/85`})}function IS({children:e,tone:t=`quiet`}){return(0,o.jsx)(`p`,{className:`text-[12.5px] font-medium leading-relaxed px-1 ${t===`error`?`text-red-500`:`text-foreground/50`}`,children:e})}function LS({onClick:e,children:t}){return(0,o.jsx)(`button`,{type:`button`,onClick:e,className:`text-accent font-bold hover:underline cursor-pointer`,children:t})}function RS({state:e=`saved`,label:t}){return(0,o.jsxs)(`span`,{className:`inline-flex items-center gap-1.5 text-[11.5px] font-semibold text-foreground/50 whitespace-nowrap shrink-0`,children:[e===`saving`?(0,o.jsx)(n.ht,{className:`w-3 h-3 animate-spin text-foreground/40 shrink-0`}):(0,o.jsx)(`span`,{className:`w-1.5 h-1.5 rounded-full shrink-0 ${e===`saved`?`bg-emerald-500`:e===`error`?`bg-red-500`:`bg-foreground/25`}`}),t]})}function zS({icon:e,children:t,onClick:r,disabled:i,busy:a,tone:s=`default`,className:c=``,title:l,compact:u}){return(0,o.jsxs)(`button`,{type:`button`,title:l,onClick:r,disabled:i||a,className:`${kS} ${s===`danger`?`hover:text-red-500 hover:border-red-500/40 hover:bg-red-500/[0.06]`:``} ${u?`max-sm:w-8 max-sm:px-0 max-sm:gap-0 max-sm:border-transparent max-sm:hover:border-transparent max-sm:hover:bg-foreground/[0.06]`:``} ${c}`,children:[a?(0,o.jsx)(n.ht,{className:`w-3.5 h-3.5 animate-spin shrink-0`}):e?(0,o.jsx)(e,{className:`w-3.5 h-3.5 shrink-0`}):null,u?(0,o.jsx)(`span`,{className:`max-sm:hidden sm:inline-flex items-center gap-1.5`,children:t}):t]})}function BS({to:e,title:t,children:r,className:i=``}){return(0,o.jsxs)(`a`,{href:e,target:`_blank`,rel:`noreferrer`,title:t,onClick:e=>e.stopPropagation(),className:`${kS} max-sm:w-8 max-sm:px-0 max-sm:gap-0 max-sm:border-transparent max-sm:hover:border-transparent max-sm:hover:bg-foreground/[0.06] ${i}`,children:[(0,o.jsx)(n.Ht,{className:`w-3.5 h-3.5 shrink-0`}),(0,o.jsx)(`span`,{className:`max-sm:hidden`,children:r})]})}var VS=`w-6 h-6 rounded-md flex items-center justify-center text-inherit outline-none hover:text-foreground hover:bg-foreground/[0.07] focus-visible:text-foreground focus-visible:ring-2 focus-visible:ring-accent transition-colors cursor-pointer disabled:opacity-25 disabled:pointer-events-none`;function HS({label:e,canUp:t=!0,canDown:r=!0,onMove:i,hideOnPhone:a,className:s=``}){let c=(t,r)=>(0,o.jsx)(`button`,{type:`button`,title:t===`up`?`Move up`:`Move down`,"aria-label":`Move ${e} ${t}`,disabled:!r,onClick:()=>i(t),className:VS,children:t===`up`?(0,o.jsx)(n._n,{className:`w-3 h-3`}):(0,o.jsx)(n.xn,{className:`w-3 h-3`})});return(0,o.jsxs)(`div`,{className:`${a?`max-sm:hidden sm:flex`:`flex`} items-center shrink-0 text-foreground/40 [@media(hover:hover)]:opacity-0 group-hover:opacity-100 group-focus-within:opacity-100 transition-opacity duration-150 `+s,onClick:e=>e.stopPropagation(),children:[c(`up`,t),c(`down`,r)]})}function US({icon:e,title:t,description:r,actions:i,children:s,defaultOpen:c=!0,collapsible:l=!0}){let[u,d]=(0,a.useState)(c),f=l?u:!0,p=typeof i==`function`?i({open:()=>d(!0)}):i;return(0,o.jsxs)(`div`,{className:`rounded-2xl border border-[var(--panel-border)]/60 bg-foreground/[0.015] overflow-hidden transition-all`,children:[(0,o.jsxs)(`div`,{className:`w-full px-4 sm:px-5 py-4 grid grid-cols-[auto_minmax(0,1fr)_auto_auto] items-center gap-x-3 sm:gap-x-3.5 gap-y-0.5 text-left`,children:[e&&(0,o.jsx)(`div`,{className:`row-start-1 col-start-1 row-span-2 self-center w-10 h-10 rounded-2xl flex items-center justify-center shrink-0 border border-[var(--panel-border)]/50 bg-accent/10 text-accent`,children:(0,o.jsx)(e,{className:`w-5 h-5`})}),(0,o.jsx)(`span`,{className:`row-start-1 col-start-2 min-w-0 text-[15px] font-bold text-foreground tracking-tight leading-tight truncate self-end`,children:t}),p&&(0,o.jsx)(`div`,{className:`row-start-1 row-span-2 col-start-3 self-center justify-self-end flex items-center gap-1 sm:gap-2 shrink-0`,children:p}),l&&(0,o.jsx)(`button`,{type:`button`,onClick:()=>d(e=>!e),"aria-expanded":f,"aria-label":f?`Collapse ${t}`:`Expand ${t}`,className:`row-start-1 col-start-4 row-span-2 self-center w-8 h-8 rounded-xl border border-[var(--panel-border)]/60 hover:border-accent/40 flex items-center justify-center text-foreground/50 hover:text-foreground hover:bg-foreground/5 transition-all cursor-pointer justify-self-end`,children:(0,o.jsx)(n.on,{className:`w-4 h-4 transition-transform duration-200 ${f?`rotate-180`:``}`})}),r&&(0,o.jsx)(`span`,{className:`row-start-2 col-start-2 min-w-0 text-[12px] text-foreground/50 font-normal leading-snug truncate self-start`,children:r})]}),(0,o.jsx)(um,{initial:!1,children:f&&(0,o.jsx)(J.div,{initial:{height:0,opacity:0},animate:{height:`auto`,opacity:1},exit:{height:0,opacity:0},className:`overflow-hidden`,children:(0,o.jsx)(`div`,{className:`border-t border-[var(--panel-border)]/40 p-4 sm:p-5 flex flex-col gap-5 bg-background/30`,children:s})})})]})}function WS({icon:e,title:t,description:n,chip:r,enabled:i,onChange:a,label:s,children:c}){return(0,o.jsxs)(`div`,{className:`rounded-2xl border border-[var(--panel-border)]/60 bg-foreground/[0.015] overflow-hidden`,children:[(0,o.jsxs)(`div`,{className:`w-full px-4 sm:px-5 py-4 grid grid-cols-[auto_minmax(0,1fr)_auto] items-center gap-x-3 sm:gap-x-3.5 gap-y-0.5`,children:[(0,o.jsx)(`div`,{className:`row-start-1 col-start-1 row-span-2 self-center w-10 h-10 rounded-2xl flex items-center justify-center shrink-0 border border-[var(--panel-border)]/50 bg-accent/10 text-accent`,children:(0,o.jsx)(e,{className:`w-5 h-5`})}),(0,o.jsx)(`span`,{className:`row-start-1 col-start-2 min-w-0 text-[15px] font-bold text-foreground tracking-tight leading-tight truncate self-end`,children:t}),(0,o.jsx)(`span`,{className:`row-start-2 col-start-2 min-w-0 text-[12px] text-foreground/50 font-normal leading-snug truncate self-start`,children:n}),(0,o.jsxs)(`div`,{className:`row-start-1 row-span-2 col-start-3 self-center justify-self-end flex items-center gap-2 sm:gap-3 shrink-0`,children:[r&&(0,o.jsx)(`span`,{className:`max-sm:hidden`,children:(0,o.jsx)(RS,{state:r.state,label:r.label})}),i!==null&&(0,o.jsx)(XS,{enabled:i,onChange:a,label:s||t})]})]}),c&&(0,o.jsx)(`div`,{className:`border-t border-[var(--panel-border)]/40 p-4 sm:p-5 flex flex-col gap-4 bg-background/30`,children:c})]})}function GS({label:e,hint:t,action:n,children:r,error:i}){return(0,o.jsxs)(`div`,{className:`flex flex-col w-full`,children:[(0,o.jsxs)(`div`,{className:`flex items-center justify-between gap-3 mb-1 sm:mb-1.5 ml-1`,children:[(0,o.jsx)(`label`,{className:NS,children:e}),n]}),r,t&&!i&&(0,o.jsx)(`span`,{className:`text-[11px] sm:text-[11.5px] text-foreground/40 font-medium leading-snug mt-1 sm:mt-1.5 px-1`,children:t}),i&&(0,o.jsx)(`span`,{className:`text-[11.5px] font-semibold text-red-500 leading-snug mt-1 sm:mt-1.5 px-1`,children:i})]})}function KS({label:e,hint:t,value:n,onChange:r,onBlur:i,placeholder:a,prefix:s,error:c,disabled:l,action:u}){return(0,o.jsx)(GS,{label:e,hint:t,error:c,action:u,children:s?(0,o.jsxs)(`div`,{className:`${jS} ${c?`is-invalid border-red-500/60`:``} ${l?`opacity-50`:``}`,children:[(0,o.jsx)(`span`,{className:`mr-0.5 text-[14px] font-semibold text-foreground/40 select-none shrink-0`,children:s}),(0,o.jsx)(`input`,{type:`text`,value:n??``,disabled:l,placeholder:a,onChange:e=>r(e.target.value),onBlur:i,"aria-label":e,className:`${MS} no-glow`})]}):(0,o.jsx)(`input`,{type:`text`,value:n??``,disabled:l,placeholder:a,onChange:e=>r(e.target.value),onBlur:i,"aria-label":e,className:`${AS} ${c?`is-invalid border-red-500/60`:``}`})})}function qS({label:e,hint:t,value:n,onChange:r,onBlur:i,placeholder:a,rows:s,error:c}){return(0,o.jsx)(GS,{label:e,hint:t,error:c,children:(0,o.jsx)(F_,{value:n??``,placeholder:a,rows:s,onChange:e=>r(e.target.value),onBlur:i,"aria-label":e,className:`${AS.replace(`h-11 `,``)} min-h-11 py-2.5 leading-5 ${c?`is-invalid border-red-500/60`:``}`})})}function JS({label:e,hint:t,value:n,onChange:r,options:i,placeholder:a=`None`,allowEmpty:s=!0,disabled:c}){let l=[...s?[{value:``,label:a}]:[],...i.filter(e=>e.value!==``)];return(0,o.jsx)(GS,{label:e,hint:t,children:(0,o.jsx)(z_,{ariaLabel:e,value:n??``,options:l,onChange:r,disabled:c,className:`console-select`,dense:!0,portal:!0,direction:`auto`})})}function YS({label:e,hint:t,enabled:n,onChange:r,disabled:i,hintWideOnly:a}){return(0,o.jsxs)(`div`,{className:`flex items-center justify-between gap-4 w-full`,children:[(0,o.jsxs)(`div`,{className:`flex flex-col gap-0.5 min-w-0 ml-1`,children:[(0,o.jsx)(`span`,{className:`text-[13px] font-medium text-foreground/80`,children:e}),t&&(0,o.jsx)(`span`,{className:`text-[11px] sm:text-[11.5px] text-foreground/40 font-medium leading-snug${a?` max-sm:hidden`:``}`,children:t})]}),(0,o.jsx)(XS,{enabled:n,onChange:r,disabled:i,label:e})]})}function XS({enabled:e,onChange:t,disabled:n,label:r}){return(0,o.jsx)(`button`,{type:`button`,role:`switch`,"aria-checked":e,"aria-label":r,disabled:n,onClick:n=>{n.stopPropagation(),t(!e)},className:`relative w-10 h-6 rounded-full transition-colors shrink-0 cursor-pointer disabled:opacity-40 disabled:cursor-not-allowed ${e?`bg-accent`:`bg-foreground/15`}`,children:(0,o.jsx)(`span`,{className:`absolute top-1 left-1 w-4 h-4 rounded-full bg-[var(--button-fg,#fff)] shadow transition-transform ${e?`translate-x-4`:`translate-x-0`}`})})}function ZS({saving:e,savedAt:t,error:n}){return n?(0,o.jsx)(RS,{state:`error`,label:n}):e?(0,o.jsx)(RS,{state:`saving`,label:`Saving`}):t?(0,o.jsx)(RS,{state:`saved`,label:`Saved`}):null}function QS({label:e=`Time zone`,hint:t,value:r,onChange:i,compact:s}){let[c,l]=(0,a.useState)(``),u=wb(),d=(r||``).trim(),f=(0,a.useMemo)(()=>Ob(c),[c]),p=c.trim().length>0,m=t??(d===u?`Detected from your browser.`:`Your browser is in ${px(u)}.`),h=(0,o.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,o.jsxs)(`div`,{className:jS,children:[d&&!p?(0,o.jsxs)(`span`,{className:`inline-flex items-center gap-2 mr-2.5 shrink-0 min-w-0 text-accent`,children:[(0,o.jsx)(n.jt,{className:`w-4 h-4 shrink-0`}),(0,o.jsx)(`span`,{className:`text-[13px] font-semibold truncate`,children:px(d)}),(0,o.jsx)(n.sn,{className:`w-3.5 h-3.5 shrink-0`})]}):(0,o.jsx)(n.F,{className:`w-4 h-4 mr-2.5 text-foreground/30 shrink-0`}),(0,o.jsx)(`input`,{type:`text`,value:c,onChange:e=>l(e.target.value),placeholder:d?`Type a city to change it`:`Type a city, e.g. Rome`,"aria-label":`Search time zones`,className:`${MS} no-glow`})]}),p&&(0,o.jsx)(`div`,{className:`rounded-[var(--input-radius,0.75rem)] border border-[var(--panel-border)] bg-[var(--panel-bg)] p-1.5 max-h-56 overflow-y-auto`,children:f.length>0?(0,o.jsx)(`div`,{className:`flex flex-col`,children:f.map(e=>(0,o.jsxs)(`button`,{type:`button`,"aria-pressed":e===d,onClick:()=>{i(e),l(``)},className:`w-full text-left px-2.5 py-1.5 rounded-lg text-[13px] font-medium transition-colors cursor-pointer ${e===d?`bg-accent text-[var(--button-fg,#fff)]`:`text-foreground/70 hover:text-foreground hover:bg-foreground/[0.06]`}`,children:[px(e),e===u?` · detected`:``]},e))}):(0,o.jsx)(`span`,{className:`block px-2 py-2 text-[12px] font-medium text-foreground/45`,children:`Nothing close to that. Try a big city near you, like London or Chicago.`})})]});return s?h:(0,o.jsx)(GS,{label:e,hint:m,children:h})}function $S({timeZone:e,onTimeZone:t,action:r}){let[i,s]=(0,a.useState)(!1);return(0,o.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,o.jsxs)(`div`,{className:`flex gap-3 ${r?`max-sm:flex-col max-sm:items-stretch sm:items-center sm:justify-between`:``}`,children:[(0,o.jsxs)(`p`,{className:`flex items-center gap-1.5 text-[12px] font-medium text-foreground/50`,children:[(0,o.jsx)(n.jt,{className:`w-3.5 h-3.5 text-foreground/35 shrink-0`,"aria-hidden":!0}),(0,o.jsxs)(`span`,{children:[`Times in `,px(e),` · `,(0,o.jsx)(`button`,{type:`button`,onClick:()=>s(e=>!e),className:`text-accent font-semibold hover:underline cursor-pointer`,children:i?`Done`:`Change`})]})]}),r]}),i&&(0,o.jsx)(QS,{compact:!0,value:e,onChange:e=>{t(e),s(!1)}})]})}var eC=(e,t)=>!!e&&e.memberId===t.memberId&&e.start===t.start&&e.scheduleId===t.scheduleId,tC=`relative flex flex-col items-center justify-center w-full min-h-11 px-3 py-2 rounded-[var(--input-radius,0.75rem)] border text-[14px] font-semibold transition-all duration-200 cursor-pointer`;function nC({slots:e,value:t,onChange:r,timeZone:i,members:a,together:s}){let c=!s&&new Set(a.map(e=>e.memberId)).size>1,l=e=>(a.find(t=>t.id===e.scheduleId)||a.find(t=>t.memberId===e.memberId))?.memberName.trim()||``;return e.length?(0,o.jsx)(`div`,{className:`grid gap-2 [grid-template-columns:repeat(auto-fill,minmax(96px,1fr))]`,role:`listbox`,"aria-label":`Free times`,children:e.map(e=>{let a=eC(t,e),s=ux(new Date(e.start),i),u=c?l(e):``;return(0,o.jsxs)(`button`,{type:`button`,role:`option`,"aria-selected":a,"aria-label":u?`${s} with ${u}`:s,onClick:()=>r(a?null:e),className:`${tC} ${a?`bg-accent border-accent text-[var(--button-fg,#fff)] shadow-md shadow-accent/25`:`border-[var(--panel-border)] bg-transparent text-foreground/75 hover:border-accent/50 hover:text-foreground hover:bg-foreground/[0.04] active:scale-[0.98]`}`,children:[a&&(0,o.jsx)(n.sn,{className:`absolute left-2.5 w-3.5 h-3.5`,"aria-hidden":!0}),(0,o.jsx)(`span`,{className:`tabular-nums`,children:s}),u&&(0,o.jsx)(`span`,{className:`text-[11px] font-medium leading-tight ${a?`opacity-90`:`text-foreground/50`}`,children:u})]},`${zb(e.memberId,e.start)}__${e.scheduleId}`)})}):null}function rC(e,t,n,r,i){let o=(0,a.useMemo)(()=>cx(tx(e,{now:r?r():new Date,taken:t},!!i),n),[e,t,n,r,i]),s=i&&e.length?Yb(e).reduce((e,t)=>Math.min(e,t.horizonDays),1/0):e.reduce((e,t)=>Math.max(e,t.horizonDays),0);return{days:o,horizon:Number.isFinite(s)?s:0}}var iC=(e,t)=>e?jb(new Date(e.start),t).dateKey:``;function aC({horizon:e}){return(0,o.jsx)(`p`,{className:`text-[13px] font-medium text-foreground/50 py-2`,children:e?`No free times in the next ${e} days.`:`No free times at the moment.`})}function oC({members:e,value:t,onChange:n,taken:r,timeZone:i,onTimeZone:s,now:c,together:l}){let{days:u,horizon:d}=rC(e,r,i,c,l),[f,p]=(0,a.useState)({tz:i,day:``}),m=f.tz===i?f.day:``,h=(u.some(e=>e.dateKey===m)?m:``)||iC(t,i)||u[0]?.dateKey||``,g=u.find(e=>e.dateKey===h)||u[0];return(0,o.jsxs)(`div`,{className:`flex flex-col gap-3 w-full`,children:[u.length===0?(0,o.jsx)(aC,{horizon:d}):(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(`div`,{className:`flex gap-2 overflow-x-auto no-scrollbar pb-1 -mx-1 px-1`,role:`tablist`,"aria-label":`Days with free times`,children:u.map(e=>{let t=e.dateKey===g?.dateKey;return(0,o.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":t,onClick:()=>p({tz:i,day:e.dateKey}),className:`shrink-0 px-3.5 py-2 rounded-xl text-[13px] font-semibold whitespace-nowrap transition-all cursor-pointer glass-panel ${t?`bg-accent text-[var(--button-fg,#fff)] border-accent shadow-lg shadow-accent/20`:`text-foreground/70 hover:text-foreground hover:border-accent`}`,style:{borderRadius:`var(--input-radius, 0.75rem)`},children:e.label},e.dateKey)})}),g&&(0,o.jsx)(nC,{slots:g.slots,value:t,onChange:n,timeZone:i,members:e,together:l})]}),(0,o.jsx)($S,{timeZone:i,onTimeZone:s})]})}var sC=`rounded-2xl flex items-center justify-center shrink-0 border border-[var(--panel-border)]/50 bg-accent/10 text-accent`;function cC({slot:e,timeZone:t,who:r,onChange:i}){let a=fx(e,t),s=(r||``).trim();return(0,o.jsxs)(`div`,{className:`flex items-center gap-3 rounded-2xl border border-[var(--panel-border)]/60 bg-foreground/[0.015] px-3.5 py-3`,children:[(0,o.jsx)(`div`,{className:`w-10 h-10 ${sC}`,children:(0,o.jsx)(n.pn,{className:`w-4 h-4`})}),(0,o.jsxs)(`div`,{className:`flex flex-col min-w-0 flex-1 gap-0.5`,children:[(0,o.jsx)(`span`,{className:`text-[14px] sm:text-[15px] font-bold text-foreground leading-tight truncate`,children:a.day}),(0,o.jsxs)(`span`,{className:`text-[12.5px] sm:text-[13px] font-semibold text-foreground/55 leading-tight tabular-nums truncate`,children:[a.time,s?` · with ${s}`:``]})]}),(0,o.jsxs)(`button`,{type:`button`,onClick:i,"aria-label":`Change the time`,className:`shrink-0 cursor-pointer flex items-center justify-center transition-all max-sm:w-9 max-sm:h-9 max-sm:rounded-xl max-sm:border max-sm:border-[var(--panel-border)] max-sm:text-foreground/50 max-sm:hover:text-accent max-sm:hover:border-accent/40 max-sm:active:scale-[0.98] sm:text-[12.5px] sm:font-bold sm:text-accent sm:hover:underline`,children:[(0,o.jsx)(n.X,{className:`w-3.5 h-3.5 sm:hidden`,"aria-hidden":!0}),(0,o.jsx)(`span`,{className:`max-sm:hidden`,children:`Change`})]})]})}var lC=[`M`,`T`,`W`,`T`,`F`,`S`,`S`],uC=`rounded-2xl border border-[var(--panel-border)]/60 bg-foreground/[0.015] overflow-hidden`,dC=`flex items-center justify-between gap-2 px-3.5 py-2.5 border-b border-[var(--panel-border)]/40`,fC=`w-8 h-8 rounded-xl border border-[var(--panel-border)]/60 flex items-center justify-center shrink-0 text-foreground/50 hover:text-foreground hover:border-accent/40 hover:bg-foreground/5 active:scale-[0.98] transition-all cursor-pointer`;function pC(...e){let t=(0,a.useRef)(null),[n,r]=(0,a.useState)(!1);return(0,a.useEffect)(()=>{let e=t.current;if(!e)return;let n=()=>r(e.scrollTop+e.clientHeight<e.scrollHeight-2);n(),e.addEventListener(`scroll`,n,{passive:!0});let i=typeof ResizeObserver>`u`?null:new ResizeObserver(n);return i?.observe(e),()=>{e.removeEventListener(`scroll`,n),i?.disconnect()}},e),{ref:t,moreBelow:n}}var mC=()=>(0,o.jsx)(`div`,{"aria-hidden":!0,className:`pointer-events-none absolute inset-x-px bottom-px h-10 rounded-b-2xl bg-gradient-to-t from-[var(--bg-color)] to-transparent`}),hC=e=>e.slice(0,7);function gC(e){let t=`${e}-01`,n=jy.indexOf(Fb(t)),r=Array.from({length:n},()=>null);for(let n=0;;n++){let i=Pb(t,n);if(hC(i)!==e)break;r.push(i)}return r}function _C({members:e,value:t,onChange:r,taken:i,timeZone:s,onTimeZone:c,now:l,together:u}){let{days:d,horizon:f}=rC(e,i,s,l,u),p=jb(l?l():new Date,s).dateKey,m=new Map(d.map(e=>[e.dateKey,e])),h=iC(t,s),[g,_]=(0,a.useState)(()=>({tz:s,day:h,month:hC(h||d[0]?.dateKey||p)})),v=g.tz===s,y=v?g.day:h,b=v?g.month:hC(h||d[0]?.dateKey||p),x=e=>_({tz:s,day:y,month:e(b)}),S=e=>_({tz:s,day:e,month:b}),C=y?m.get(y):void 0,w=gC(b),T=C?.slots.length||0,{ref:ee,moreBelow:E}=pC(T,y);return(0,o.jsxs)(`div`,{className:`flex flex-col gap-4 w-full`,children:[d.length===0&&(0,o.jsx)(aC,{horizon:f}),(0,o.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-[minmax(0,1.15fr)_minmax(0,1fr)] gap-3 md:gap-4 w-full md:items-stretch`,children:[(0,o.jsxs)(`div`,{className:`${uC} w-full min-w-0`,children:[(0,o.jsxs)(`div`,{className:dC,children:[(0,o.jsx)(`h4`,{className:`text-[14px] font-bold text-foreground tracking-tight truncate`,children:Ib(b)}),(0,o.jsxs)(`div`,{className:`flex items-center gap-1.5 shrink-0`,children:[(0,o.jsx)(`button`,{type:`button`,onClick:()=>x(()=>hC(p)),className:`h-8 px-3 rounded-xl border border-[var(--panel-border)]/60 text-[12.5px] font-semibold text-foreground/60 hover:text-foreground hover:border-accent/40 hover:bg-foreground/5 active:scale-[0.98] transition-all cursor-pointer`,children:`Today`}),(0,o.jsx)(`button`,{type:`button`,"aria-label":`Previous month`,onClick:()=>x(e=>Lb(e,-1)),className:fC,children:(0,o.jsx)(n.an,{className:`w-4 h-4`})}),(0,o.jsx)(`button`,{type:`button`,"aria-label":`Next month`,onClick:()=>x(e=>Lb(e,1)),className:fC,children:(0,o.jsx)(n.in,{className:`w-4 h-4`})})]})]}),(0,o.jsx)(`div`,{className:`p-3`,children:(0,o.jsxs)(`div`,{className:`grid grid-cols-7 gap-1 w-full max-w-[26rem] mx-auto`,role:`grid`,"aria-label":Ib(b),children:[lC.map((e,t)=>(0,o.jsx)(`div`,{className:`text-center text-[10.5px] font-bold uppercase tracking-wider text-foreground/35 pb-1`,children:e},t)),w.map((e,t)=>{if(!e)return(0,o.jsx)(`div`,{"aria-hidden":!0},`blank-${t}`);let n=m.has(e),r=e===y,i=e===p,a=Number(e.slice(8,10));return(0,o.jsxs)(`button`,{type:`button`,role:`gridcell`,"aria-label":m.get(e)?.label||e,"aria-selected":r,"aria-disabled":!n,disabled:!n,onClick:()=>S(e),className:`relative flex items-center justify-center h-10 md:h-11 rounded-xl text-[13.5px] md:text-[14px] font-semibold tabular-nums transition-all ${r?`bg-accent text-[var(--button-fg,#fff)] shadow-md shadow-accent/25 cursor-pointer`:n?`text-foreground hover:bg-foreground/[0.06] cursor-pointer`:`text-foreground/25 cursor-default`} ${i&&!r?`ring-1 ring-inset ring-accent/45`:``}`,children:[a,n&&(0,o.jsx)(`span`,{"aria-hidden":!0,className:`absolute bottom-1 w-1 h-1 rounded-full ${r?`bg-[var(--button-fg,#fff)]`:`bg-accent`}`})]},e)})]})})]}),(0,o.jsx)(`div`,{className:`w-full min-w-0 md:relative md:min-h-[320px]`,children:(0,o.jsxs)(`div`,{className:`${uC} flex flex-col md:absolute md:inset-0`,children:[(0,o.jsxs)(`div`,{className:dC,children:[(0,o.jsx)(`p`,{className:`text-[13px] font-bold text-foreground tracking-tight truncate`,children:C?C.label:`Pick a day`}),T>0&&(0,o.jsxs)(`span`,{className:`text-[11.5px] font-semibold text-foreground/40 shrink-0 tabular-nums`,children:[T,` `,T===1?`time`:`times`]})]}),(0,o.jsxs)(`div`,{className:`relative flex-1 min-h-0`,children:[(0,o.jsx)(`div`,{ref:ee,className:`p-3 h-full overflow-y-auto styled-scrollbars-mini`,children:C?(0,o.jsx)(nC,{slots:C.slots,value:t,onChange:r,timeZone:s,members:e,together:u}):(0,o.jsxs)(`div`,{className:`flex flex-col items-center justify-center text-center gap-2 py-8 px-2`,children:[(0,o.jsx)(n.dn,{className:`w-5 h-5 text-foreground/25`,"aria-hidden":!0}),(0,o.jsx)(`p`,{className:`text-[12.5px] font-medium text-foreground/45 leading-relaxed`,children:d.length>0?`Pick a day with a dot to see its times.`:`No times to show.`})]})}),E&&(0,o.jsx)(mC,{})]})]})})]}),(0,o.jsx)($S,{timeZone:s,onTimeZone:c})]})}var vC=e=>e?.kind===`link`?`link`:`schedule`,yC=e=>e?.kind!==`schedule`&&e?.kind!==`link`,bC=()=>`l_${Date.now().toString(36)}${Math.random().toString(36).slice(2,6)}`,xC=()=>`s_${Date.now().toString(36)}${Math.random().toString(36).slice(2,6)}`,SC=(e,t)=>({id:e,scheduleId:t.id,memberId:t.memberId,memberName:t.memberName,name:``,description:``,slotMinutes:30,horizonDays:30,noticeHours:12,questions:Ky(),paymentId:``,notifyOwner:!0,confirmBooker:!0,enabled:!0}),CC=(e,t,n)=>{let r=typeof e==`number`?e:Number(e);return!Number.isFinite(r)||r<0||n&&!n.includes(r)?t:r},wC=(e,t)=>({id:e,scheduleId:String(t?.scheduleId||``),memberId:String(t?.memberId||``),memberName:String(t?.memberName||``),name:String(t?.name||``),description:String(t?.description||``),slotMinutes:CC(t?.slotMinutes,30,ob.map(e=>Number(e.value))),horizonDays:CC(t?.horizonDays,30),noticeHours:CC(t?.noticeHours,12),questions:Zy(t?.questions),paymentId:String(t?.paymentId||``),notifyOwner:t?.notifyOwner!==!1,confirmBooker:t?.confirmBooker!==!1,enabled:t?.enabled===!0,createdAt:typeof t?.createdAt==`number`?t.createdAt:void 0,updatedAt:typeof t?.updatedAt==`number`?t.updatedAt:void 0});function TC(e,t){return t?{...t,id:e.id,scheduleId:t.id,memberId:t.memberId,memberName:e.memberName||t.memberName,name:e.name,description:e.description,slotMinutes:e.slotMinutes,horizonDays:e.horizonDays,noticeHours:e.noticeHours,questions:e.questions,paymentId:e.paymentId,notifyOwner:e.notifyOwner,confirmBooker:e.confirmBooker,enabled:e.enabled,createdAt:e.createdAt,updatedAt:e.updatedAt,joined:!0}:null}function EC(e){let t=new Map(e.schedules.map(e=>[e.id,e])),n=new Set(e.legacyIds),r=e.schedules.filter(e=>n.has(e.id));for(let n of e.links){let e=TC(n,t.get(n.scheduleId));e&&r.push(e)}return r.sort((e,t)=>(e.createdAt||0)-(t.createdAt||0)||e.id.localeCompare(t.id))}var DC=e=>e.name.trim()||Ex(e),OC=(e,t)=>t?`${DC(e)} — ${Mx(e.slotMinutes)} · ${Vx(t)}`:`${DC(e)} — the hours it was booked in are gone`,kC=(e,t)=>{let n=t?TC(e,t):null;return n&&wx(n)?{state:`saved`,label:`Bookable`}:{state:`off`,label:e.enabled?`In progress`:`Turned off`}};function AC(e,t){if(!t)return`The hours this link was booked in are gone — pick another set.`;let n=TC(e,t);return n?xx({...n,enabled:!0}):`The hours this link was booked in are gone — pick another set.`}function jC(e,t=`Working hours`){let n=[],r=[],i=new Map;for(let a of e){let e=[a.memberId,a.timeZone,JSON.stringify(a.days),JSON.stringify(a.blocked)].join(`|`),o=i.get(e);o||(o={...fb(xC(),a.memberId,a.memberName,a.timeZone),name:t,days:a.days,blocked:a.blocked,enabled:!0,createdAt:a.createdAt},i.set(e,o),n.push(o)),r.push({...SC(a.id,o),memberName:a.memberName,name:a.name,description:a.description,slotMinutes:a.slotMinutes,horizonDays:a.horizonDays,noticeHours:a.noticeHours,questions:a.questions,paymentId:a.paymentId,notifyOwner:a.notifyOwner,confirmBooker:a.confirmBooker,enabled:a.enabled,createdAt:a.createdAt})}return{schedules:n,links:r}}var MC=e=>{let{id:t,...n}=e;return{...n,kind:`link`}},NC=e=>({kind:`schedule`,memberId:e.memberId,memberName:e.memberName,name:e.name,timeZone:e.timeZone,days:e.days,blocked:e.blocked,enabled:!0,createdAt:e.createdAt||Date.now()}),PC=e=>e.entryId?`${e.entryId}__${e.start}`:e.id;function FC(e){let t=e.filter(e=>!e.cancelled),n=t.length?t:e;return{copyIds:e.map(e=>e.id),pending:n.some(e=>e.pending),partySize:n.length,partyAccepted:n.filter(e=>!e.pending).length}}function IC(e){let t=new Map;for(let n of e){if(n.own)continue;let e=PC(n),r=t.get(e);r?r.push(n):t.set(e,[n])}let n=new Map;for(let e of t.values()){let t=FC(e);for(let r of e)n.set(r.id,t)}return n}var LC=5*6e4;function RC(e,t,n){let r=new Set(t.map(e=>e.id));return e.filter(e=>r.has(zb(e.memberId,e.start))?!1:(e.createdAt||0)<n-LC)}var zC=(e,t=``)=>({id:zb(e.memberId,e.start),memberId:e.memberId,memberName:t,scheduleId:``,scheduleName:``,own:!1,title:``,color:``,paymentId:``,paymentSession:``,cancelled:!1,cancelledAt:0,cancelReason:``,cancelledBy:``,cancelledSide:``,cancelledByUid:``,pending:!1,acceptedAt:0,heldOnly:!0,copyIds:[],partySize:0,partyAccepted:0,start:e.start,end:e.end,timeZone:``,name:``,email:``,answers:{},formId:``,entryId:``,uid:``,createdAt:e.createdAt||0}),BC=(e,t)=>(e.createdAt||0)-(t.createdAt||0)||e.id.localeCompare(t.id),VC={schedules:[],links:[],legacyIds:[]};function HC(){let[e,t]=(0,a.useState)({loading:!0,docs:VC});return(0,a.useEffect)(()=>{let e=ke(rb,()=>(0,l.collection)(S,rb),e=>{let n=[],r=[],i=[];e.forEach(e=>{let t=e.data();if(vC(t)===`link`){r.push(wC(e.id,t));return}let a=Cb(e.id,t);if(yC(t)){n.push(a),i.push(e.id);return}n.push({...a,enabled:!0})}),n.sort(BC),r.sort(BC);let a={schedules:n,links:r,legacyIds:i};Wx(EC(a)),qx(n),t({loading:!1,docs:a})},()=>t({loading:!1,docs:VC}));return()=>e()},[]),e}function UC(){let{loading:e,docs:t}=HC();return{loading:e,schedules:(0,a.useMemo)(()=>EC(t),[t])}}function WC(){let{loading:e,docs:t}=HC();return{loading:e,schedules:t.schedules}}function GC(){let{loading:e,docs:t}=HC();return{loading:e,schedules:(0,a.useMemo)(()=>{let e=EC(t),n=new Set(e.map(e=>e.id));return[...e,...t.schedules.filter(e=>!n.has(e.id)&&wx(e))]},[t])}}function KC(e){let[t,n]=(0,a.useState)({id:``,schedule:null});return(0,a.useEffect)(()=>{if(!e)return;let t=!1;return qC(e).then(r=>{t||n({id:e,schedule:r})}).catch(()=>{t||n({id:e,schedule:null})}),()=>{t=!0}},[e]),e?t.id===e?{loading:!1,schedule:t.schedule}:{loading:!0,schedule:null}:{loading:!1,schedule:null}}async function qC(e){let t=await(0,l.getDoc)((0,l.doc)(S,rb,e));if(!t.exists())return null;let n=t.data();if(vC(n)!==`link`){let e=Cb(t.id,n);return yC(n)?e:{...e,name:``}}let r=wC(t.id,n);if(!r.scheduleId)return null;let i=await(0,l.getDoc)((0,l.doc)(S,rb,r.scheduleId));return i.exists()?TC(r,Cb(i.id,i.data())):null}async function JC(e){if(e.joined)return console.error(`Refused to save a joined bookable as one schedule`,e.id),`That meeting is a booking link on a schedule — change the link or the schedule, not the two at once.`;try{return await(0,l.setDoc)((0,l.doc)(S,rb,e.id),{...NC(e),updatedAt:Date.now()}),null}catch(e){return console.error(`Could not save the schedule`,e),`The hours could not be saved — make sure you are signed in and that this schedule is yours, then try again.`}}async function YC(e){try{return await(0,l.setDoc)((0,l.doc)(S,rb,e.id),{...MC(e),updatedAt:Date.now()}),null}catch(e){return console.error(`Could not save the booking link`,e),`The link could not be saved — make sure you are signed in and that this schedule is yours, then try again.`}}async function XC(e){try{return await(0,l.deleteDoc)((0,l.doc)(S,rb,e)),null}catch(e){return console.error(`Could not remove the booking link`,e),`It could not be removed — make sure you are signed in and that this link is yours, then try again.`}}async function ZC(e){if(!e.length)return null;let{schedules:t,links:n}=jC(e);try{let e=Date.now();for(let n of t)await(0,l.setDoc)((0,l.doc)(S,rb,n.id),{...NC(n),updatedAt:e});for(let t of n)await(0,l.setDoc)((0,l.doc)(S,rb,t.id),{...MC(t),updatedAt:e});return null}catch(e){return console.error(`Could not split the older schedules into hours and links`,e),`Your older schedules could not be tidied into hours and booking links — make sure you are signed in, then reload the screen.`}}async function QC(e){try{return await(0,l.deleteDoc)((0,l.doc)(S,rb,e)),null}catch(e){return console.error(`Could not remove the schedule`,e),`It could not be removed — make sure you are signed in and that this schedule is yours, then try again.`}}var $C=e=>e.name.trim()||e.email.split(`@`)[0]||``;function ew(){let[e,t]=(0,a.useState)({loading:!0,members:[]});return(0,a.useEffect)(()=>{let e=ke(`user_profiles/team`,()=>(0,l.query)((0,l.collection)(S,`user_profiles`),(0,l.where)(`role`,`in`,[`internal`,`admin`])),e=>{let n=[];e.forEach(e=>{let t=e.data()||{},r=t.role===`admin`||t.role===`internal`?t.role:null;!r||t.inactive===!0||n.push({id:e.id,name:String(t.displayName||``),email:String(t.email||``),role:r})}),n.sort((e,t)=>(e.name||e.email).localeCompare(t.name||t.email)),t({loading:!1,members:n})},()=>t({loading:!1,members:[]}));return()=>e()},[]),e}function tw(e,t){let[n,r]=(0,a.useState)([]),i=e.slice().sort().join(`,`),o=t.toISOString();return(0,a.useEffect)(()=>{if(!i)return;let e=new Set(i.split(`,`)),n=new Date(t.getTime()-rw).toISOString(),a=(0,l.onSnapshot)((0,l.query)((0,l.collection)(S,ib),(0,l.where)(`start`,`>=`,n)),t=>{let n=[];t.forEach(t=>{let r=t.data()||{},i=String(r.memberId||``);if(!e.has(i))return;let a={memberId:i,start:String(r.start||``),end:String(r.end||``),createdAt:typeof r.createdAt==`number`?r.createdAt:0};a.end>=o&&n.push(a)}),r(n)},()=>r([]));return()=>a()},[i,o]),i?n:nw}var nw=[],rw=4*36e5,iw=15*6e4,aw=`taken`,ow=`That time was just taken — pick another.`;function sw(e){let t=Date.parse(e.start),n=Date.parse(e.end),r=Math.ceil((t-rw)/iw)*iw,i=[];for(let t=r;t<n;t+=iw)i.push(zb(e.memberId,new Date(t).toISOString()));return i}async function cw(e){let t=zb(e.memberId,e.start);try{return await(0,l.runTransaction)(S,async n=>{let r=(0,l.doc)(S,ib,t),i=sw(e).filter(e=>e!==t),[a,...o]=await Promise.all([n.get(r),...i.map(e=>n.get((0,l.doc)(S,ib,e)))]);if(a.exists())throw Error(aw);for(let t of o){if(!t.exists())continue;let n=t.data()||{};if(Rb({start:String(n.start||``),end:String(n.end||``)},e))throw Error(aw)}n.set(r,{memberId:e.memberId,start:e.start,end:e.end,createdAt:Date.now()})}),null}catch(e){return e?.message===aw?ow:(console.error(`Could not claim the time`,e),`The time could not be saved — check your connection and try again.`)}}async function lw(e){try{await(0,l.deleteDoc)((0,l.doc)(S,ib,zb(e.memberId,e.start)))}catch{}}async function uw(e,t){try{return await(0,l.setDoc)((0,l.doc)(S,ab,zb(e.memberId,e.start)),{memberId:e.memberId,memberName:t.memberName,scheduleId:t.scheduleId,scheduleName:t.scheduleName,paymentId:t.paymentId||``,paymentSession:t.paymentSession||``,start:e.start,end:e.end,timeZone:t.timeZone,name:t.name,email:t.email.trim().toLowerCase(),answers:t.answers,formId:t.formId,entryId:t.entryId,uid:x.currentUser?.uid||`guest`,createdAt:Date.now(),pending:!0}),null}catch(e){return console.error(`Could not write the booking`,e),`The booking could not be saved — check your connection and try again.`}}var dw=(e,t)=>({id:e,memberId:String(t?.memberId||``),scheduleId:String(t?.scheduleId||``),scheduleName:String(t?.scheduleName||``),own:t?.own===!0,title:String(t?.title||``),color:String(t?.color||``),paymentId:String(t?.paymentId||``),paymentSession:String(t?.paymentSession||``),cancelled:t?.cancelled===!0,cancelledAt:typeof t?.cancelledAt==`number`?t.cancelledAt:0,cancelReason:String(t?.cancelReason||``),cancelledBy:String(t?.cancelledBy||``),cancelledSide:t?.cancelledSide===`host`||t?.cancelledSide===`booker`?t.cancelledSide:``,cancelledByUid:String(t?.cancelledByUid||``),pending:t?.pending===!0,acceptedAt:typeof t?.acceptedAt==`number`?t.acceptedAt:0,heldOnly:!1,copyIds:[e],partySize:1,partyAccepted:t?.pending===!0?0:1,start:String(t?.start||``),end:String(t?.end||``),memberName:String(t?.memberName||``),timeZone:String(t?.timeZone||``),name:String(t?.name||``),email:String(t?.email||``),answers:t?.answers&&typeof t.answers==`object`?Object.fromEntries(Object.entries(t.answers).map(([e,t])=>[e,String(t??``)])):{},formId:String(t?.formId||``),entryId:String(t?.entryId||``),uid:String(t?.uid||``),createdAt:typeof t?.createdAt==`number`?t.createdAt:0});function fw(e={}){let[t,n]=(0,a.useState)({loading:!0,bookings:[],error:null}),r=(e.members||[]).slice().sort().join(`,`),i=!!e.includePast,o=e.now;return(0,a.useEffect)(()=>{let e=r?new Set(r.split(`,`)):null,t=(o?o():new Date).toISOString(),a=(0,l.onSnapshot)(i?(0,l.collection)(S,ab):(0,l.query)((0,l.collection)(S,ab),(0,l.where)(`end`,`>=`,t)),t=>{let r=(o?o():new Date).toISOString(),a=[];t.forEach(t=>{let n=dw(t.id,t.data());e&&!e.has(n.memberId)||a.push(n)});let s=a.filter(e=>e.end>=r).sort((e,t)=>e.start.localeCompare(t.start)),c=i?a.filter(e=>e.end<r).sort((e,t)=>t.start.localeCompare(e.start)):[];n({loading:!1,bookings:[...s,...c],error:null})},e=>{n({loading:!1,bookings:[],error:String(e?.code||``).includes(`permission`)?`This is for the team — sign in as a team member or admin to see the bookings.`:`The bookings could not be loaded.`})});return()=>a()},[r,i,o]),t}function pw(e,t,n){return ke(`${ab}/uid=${e}`,()=>(0,l.query)((0,l.collection)(S,ab),(0,l.where)(`uid`,`==`,e)),e=>t(e.docs),n)}function mw(e,t,n){return ke(`${ab}/email=${e}`,()=>(0,l.query)((0,l.collection)(S,ab),(0,l.where)(`email`,`==`,e)),e=>t(e.docs),n)}function hw(e,t){let{user:n}=fa(),r=e===void 0&&t===void 0,i=r?n?.uid||``:e||``,o=(r?n?.email||``:t||``).trim().toLowerCase(),[s,c]=(0,a.useState)(gw),[l,u]=(0,a.useState)(gw);(0,a.useEffect)(()=>{if(i)return pw(i,e=>c({done:!0,list:e.map(e=>dw(e.id,e.data())),error:null}),e=>c({done:!0,list:[],error:vw(e)}))},[i]),(0,a.useEffect)(()=>{if(o)return mw(o,e=>u({done:!0,list:e.map(e=>dw(e.id,e.data())),error:null}),e=>u({done:!0,list:[],error:vw(e)}))},[o]);let d=i?s:_w,f=o?l:_w;return{loading:!d.done||!f.done,bookings:(0,a.useMemo)(()=>Sw(xw(d.list,f.list)),[d.list,f.list]),error:d.error&&f.error?d.error:null}}var gw={done:!1,list:[],error:null},_w={done:!0,list:[],error:null},vw=e=>String(e?.code||``).includes(`permission`)?`These are not readable from this account.`:`The bookings could not be loaded.`,yw=e=>{let t=new Set(e.legacyIds);return new Set(e.schedules.filter(e=>!t.has(e.id)).map(e=>e.id))},bw=(e,t)=>e.map(e=>e.scheduleId&&t.has(e.scheduleId)?{...e,scheduleName:``}:e);function xw(...e){let t=new Map;for(let n of e)for(let e of n)e.own||t.set(e.id,e);return[...t.values()].sort((e,t)=>e.start.localeCompare(t.start))}function Sw(e){let t=new Map;for(let n of e){let e=PC(n),r=t.get(e);r?r.push(n):t.set(e,[n])}return[...t.values()].map(e=>{let t=FC(e);if(e.length===1)return{...e[0],...t};let n=e.map(e=>e.memberName.trim()).filter(Boolean),r=n.length<=1?n.join(``):`${n.slice(0,-1).join(`, `)} and ${n[n.length-1]}`,i=e.find(e=>e.cancelled&&(e.cancelReason||e.cancelledBy));return{...e[0],...t,memberName:r,cancelled:e.every(e=>e.cancelled),cancelReason:i?.cancelReason||e[0].cancelReason,cancelledBy:i?.cancelledBy||e[0].cancelledBy,cancelledSide:i?.cancelledSide||e[0].cancelledSide}})}async function Cw(e,t){try{return await(0,l.setDoc)((0,l.doc)(S,ab,e),{color:t},{merge:!0}),null}catch(e){return console.error(`Could not colour the booking`,e),`The colour could not be saved — make sure you are signed in as a team member and try again.`}}async function ww(e){let t={memberId:e.memberId,scheduleId:``,start:e.start,end:e.end},n=await cw(t);if(n)return n===`That time was just taken — pick another.`?`Something is already booked at that time — pick another.`:n;try{return await(0,l.setDoc)((0,l.doc)(S,ab,zb(e.memberId,e.start)),{memberId:e.memberId,memberName:e.memberName,scheduleId:``,scheduleName:``,paymentId:``,paymentSession:``,own:!0,title:e.title,color:e.color,start:e.start,end:e.end,timeZone:e.timeZone,name:``,email:``,answers:e.note?{note:e.note}:{},formId:``,entryId:``,uid:x.currentUser?.uid||``,createdAt:Date.now()}),null}catch(e){return console.error(`Could not save the event`,e),await lw(t),`The event could not be saved — make sure you are signed in as a team member and try again.`}}async function Tw(e){try{return await(0,l.setDoc)((0,l.doc)(S,ab,e),{pending:!1,acceptedAt:Date.now()},{merge:!0}),null}catch(e){return console.error(`Could not accept the booking`,e),`It could not be accepted — make sure you are signed in as a team member and try again.`}}async function Ew(e,t={}){try{let n=t.ids?.length?t.ids:await Dw(e),r={cancelled:!0,cancelledAt:Date.now(),cancelReason:(t.reason||``).trim(),cancelledBy:(t.by||``).trim(),cancelledSide:t.side||``,...t.byUid&&t.side!==`booker`?{cancelledByUid:t.byUid}:{}};for(let e of n)await(0,l.setDoc)((0,l.doc)(S,ab,e),r,{merge:!0}),await(0,l.deleteDoc)((0,l.doc)(S,ib,e));return null}catch(e){return console.error(`Could not cancel the booking`,e),t.side===`booker`?`It could not be cancelled — check your connection and try again.`:`It could not be cancelled — make sure you are signed in as a team member and try again.`}}async function Dw(e){try{let t=await(0,l.getDoc)((0,l.doc)(S,ab,e)),n=t.exists()&&t.data()||{},r=String(n.entryId||``),i=String(n.start||``);if(!r||!i)return[e];let a=await(0,l.getDocs)((0,l.query)((0,l.collection)(S,ab),(0,l.where)(`entryId`,`==`,r))),o=new Set([e]);return a.forEach(e=>{String(e.data()?.start||``)===i&&o.add(e.id)}),[...o]}catch{return[e]}}async function Ow(e,t){try{let n=t?.length?t:await Dw(e);for(let e of n)await(0,l.deleteDoc)((0,l.doc)(S,ab,e)),await(0,l.deleteDoc)((0,l.doc)(S,ib,e));return null}catch(e){return console.error(`Could not remove the booking`,e),`It could not be removed — make sure you are signed in as a team member and try again.`}}async function kw(e,t){try{return await(0,l.deleteDoc)((0,l.doc)(S,ib,zb(e,t))),null}catch(e){return console.error(`Could not free the held time`,e),`The time could not be freed — make sure you are signed in as a team member and try again.`}}var Aw=new Set([`uid`,`formId`,`submittedAt`,`submitterName`,`submitterEmail`,`submitterAvatar`]),jw=(e,t)=>{if(!e||typeof e!=`object`)return{};let n;try{n=JSON.parse(JSON.stringify(e))}catch{return{}}let r={};for(let[e,i]of Object.entries(n||{}))Aw.has(e)||e in t||(r[e]=i);return r},Mw=ie(()=>Promise.resolve().then(()=>require(`./PhoneInputField-B3P_vUDW.cjs`))),Nw=ie(()=>Promise.resolve().then(()=>require(`./AddressField-BBv8NGX8.cjs`))),Pw=/^[^\s@,;]+@[^\s@,;.]+(\.[^\s@,;.]+)*\.[a-z]{2,}$/i,Fw=`text-[13px] font-medium text-foreground/70 select-none mb-2`,Iw=`text-[13px] text-red-500 font-medium mt-1.5`,Lw=`block h-12 w-full text-[15px] text-foreground py-2 transition-all duration-300 placeholder:text-foreground/40 focus:outline-none focus:border-accent glow-focus disabled:cursor-not-allowed disabled:opacity-50 glass-panel`,Rw={borderRadius:`var(--input-radius, 0.75rem)`},zw=[.16,1,.3,1];function Bw({field:e,value:t,error:n,timeZone:r,onTimeZone:i,onChange:s}){let{schedules:c}=GC(),l=eS(e),u=c.filter(e=>l.includes(e.id)&&wx(e)),d=new Set(u.map(e=>e.memberId)).size>1,f=$x(e),p=f===`choose`&&d,[m,h]=(0,a.useState)(!1),g=d&&(f===`all`||p&&m),_=g?Yb(u):[],[v]=(0,a.useState)(()=>new Date),y=tw(u.map(e=>e.memberId),v),b=gx(t),x=e.look===`calendar`?_C:oC;return(0,o.jsxs)(`div`,{className:`flex flex-col w-full`,children:[(0,o.jsx)(`label`,{className:Fw,children:e.label}),p&&(0,o.jsx)(`div`,{className:`flex gap-1.5 mb-2.5 p-1 rounded-[var(--input-radius,0.75rem)] border border-[var(--panel-border)] bg-[var(--panel-bg)] w-fit`,children:[{on:!m,label:`One of them`,v:!1},{on:m,label:`All of them`,v:!0}].map(e=>(0,o.jsx)(`button`,{type:`button`,"aria-pressed":e.on,onClick:()=>{e.v!==m&&(h(e.v),s(``))},className:`px-3 h-8 rounded-[calc(var(--input-radius,0.75rem)-0.25rem)] text-[12.5px] font-semibold transition-all cursor-pointer ${e.on?`bg-accent text-[var(--button-fg,#fff)] shadow-sm`:`text-foreground/55 hover:text-foreground`}`,children:e.label},e.label))}),g&&(0,o.jsxs)(`p`,{className:`text-[12.5px] font-medium text-foreground/50 mb-2 ml-1`,children:[`Times `,oS(_),` are all free.`]}),(0,o.jsx)(x,{members:u,value:b,onChange:e=>s(e?hx(e,g):``),taken:y,timeZone:r,onTimeZone:i,together:g}),n&&(0,o.jsx)(`span`,{className:Iw,children:n})]})}var Vw=(e,t)=>{let n=e.find(e=>e.type===`text`&&/name/i.test(String(e.name||``)))||e.find(e=>e.type===`text`);return String(n&&t[n.name]||x.currentUser?.displayName||``).trim()},Hw=(e,t)=>{let n=e.find(e=>e.type===`email`);return String(n&&t[n.name]||x.currentUser?.email||``).trim()},Uw=(e,t)=>{let n=$x(e);if(!(n===`all`||n===`choose`&&_x(t)))return[];let r=eS(e),i=Yb(Yx().filter(e=>r.includes(e.id)&&wx(e)));return i.length>1?i:[]};function Ww(e,t){if(!t||!e.some(e=>e?.type===`schedule`))return{};let n={},r=String(t.email||``).trim(),i=e.find(e=>e?.type===`email`&&e.name);i&&r&&(n[i.name]=r);let a=String(t.displayName||``).trim(),o=e.find(e=>e?.type===`text`&&e.name&&/name/i.test(`${e.name} ${e.label||``}`));return o&&a&&(n[o.name]=a),n}function Gw(e,t){let n={};for(let[r,i]of Object.entries(t||{})){if(i===``||i==null||i===!1)continue;let t=(e||[]).find(e=>e?.name&&(r===e.name||e.type===`address`&&r.startsWith(e.name)));!t||t.type===`schedule`||(n[r]=i)}return n}var Kw=(e,t)=>Object.fromEntries(e.filter(e=>e.type!==`schedule`&&e.name&&t[e.name]!==void 0&&t[e.name]!==``).map(e=>[e.name,String(t[e.name])])),qw=(e,t)=>Object.fromEntries(Object.entries(jw(e,t)).filter(([,e])=>e!=null&&e!==``).map(([e,t])=>[e,typeof t==`object`?JSON.stringify(t):String(t)]));function Jw({onClose:e,formId:t,formConfig:r,isInline:s,bare:c,onSubmitted:u,extra:p}){let[h,_]=(0,a.useState)({}),[v,b]=(0,a.useState)(`idle`),[C,w]=(0,a.useState)(``),[T,ee]=(0,a.useState)({}),[E,D]=(0,a.useState)(()=>wb()),[te,ne]=(0,a.useState)(``),O=(0,a.useRef)(null),[k,A]=(0,a.useState)(r||null),[re,j]=(0,a.useState)(!r),M=(0,d.useNavigate)(),N=y(),{user:P}=fa(),ie=Ww(k?.fields||[],P),F=String(P?.displayName||``).trim(),I=String(P?.email||``).trim(),L=e=>{let t=(typeof window<`u`?window.__FBOS_FORMS__:null)||{};return N?.defaultConfigs?.[e]||N?.defaultConfigs?.[`${e}Form`]||t[e]||(e===`contact`?m:e===`support`?g:null)};(0,a.useEffect)(()=>{if(r){A(r),j(!1);return}if(!t){A(L(`contact`)),j(!1);return}if(!localStorage.getItem(`fbos_custom_form_${t}`)){let e=L(t);if(e){A(e),j(!1);return}}try{let e=localStorage.getItem(`fbos_form_${t}`);e&&(A(JSON.parse(e)),j(!1))}catch{}(async()=>{try{let e=await(0,l.getDoc)((0,l.doc)(S,`sys_forms`,t));if(e.exists()){let n={...e.data(),id:e.id};A(n),localStorage.setItem(`fbos_form_${t}`,JSON.stringify(n))}else{let e=L(t);e&&(A(e),localStorage.removeItem(`fbos_custom_form_${t}`))}}catch(e){console.error(`Failed to load form config:`,e);let n=L(t);n&&A(n)}finally{j(!1)}})()},[t,r]),(0,a.useEffect)(()=>{k&&k.fields&&_(e=>{let t={...e},n=!1;return k.fields.forEach(e=>{(e.name===`contactEmail`||e.type===`email`)&&!t[e.name]&&x.currentUser?.email&&(t[e.name]=x.currentUser.email,n=!0)}),n?t:e})},[k]);let R=Y_(`form.${t||``}`,{}),ae=(0,a.useRef)(!1),z=R.setValue;(0,a.useEffect)(()=>{!t||!ae.current||v===`success`||z(Gw(k?.fields||[],h))},[t,h,k,v,z]),(0,a.useEffect)(()=>{if(!t||ae.current||!R.ready||!k?.fields)return;ae.current=!0;let e=Gw(k.fields,R.value);Object.keys(e).length&&_(t=>({...e,...t}))},[t,R.ready,R.value,k]),(0,a.useEffect)(()=>{function t(t){O.current&&!O.current.contains(t.target)&&e?.()}return document.addEventListener(`mousedown`,t),()=>document.removeEventListener(`mousedown`,t)},[e]),(0,a.useEffect)(()=>{if(s)return;let t=t=>{t.key===`Escape`&&e?.()};return document.addEventListener(`keydown`,t),()=>document.removeEventListener(`keydown`,t)},[e,s]),(0,a.useEffect)(()=>{if(!s)return document.body.style.overflow=`hidden`,()=>{document.body.style.overflow=`unset`}},[s]);let oe=async n=>{n.preventDefault();let a=(k?.fields||[]).filter(e=>e.type===`email`),o={},s={};a.forEach(e=>{let t=String(h[e.name]??``).trim();t&&(s[e.name]=t,Pw.test(t)||(o[e.name]=`That does not look like an email address — check for a typo, e.g. jane@example.com`))}),(k?.fields||[]).filter(e=>e.type===`address`).forEach(e=>{Object.assign(s,i.r(e.name,i.u(i.i(e.name,h))))}),(k?.fields||[]).filter(e=>e.type===`file`&&e.required&&!h[e.name]).forEach(e=>{o[e.name]=`Please attach a file before sending.`});let c=(k?.fields||[]).filter(e=>e.type===`schedule`);if(c.filter(e=>e.required&&!gx(h[e.name])).forEach(e=>{o[e.name]=`Pick a time before sending.`}),Object.keys(o).length>0){ee(o);return}ee({}),b(`loading`),w(``);try{let n=sg(k),i=t||k?.systemName||k?.title||`unknown`,a=[],o=[],d=async()=>{for(let e of o)await lw(e)};for(let e of c){let t=gx(h[e.name]);if(!t)continue;let n=Uw(e,h[e.name]),r=n.length?nx(t,n):[t],i=[],s=null;for(let e of r){if(s=await cw(e),s)break;o.push(e);let t=ix(e,Yx());i.push({slot:e,memberName:t?.memberName||``,scheduleId:t?.id||e.scheduleId,scheduleName:Ax(t,String(k?.title||``))})}if(s){await d(),ee({[e.name]:s}),b(`idle`);return}a.push({field:e,slot:t,whoName:n.length?oS(n):i[0]?.memberName||``,each:i})}let f={...h,...s,...ie};for(let e of a)delete f[e.field.name],Object.assign(f,vx(e.field.name,e.slot,e.whoName,E));let m=x.currentUser?{uid:x.currentUser.uid,submitterName:x.currentUser.displayName||``,submitterEmail:x.currentUser.email||``,submitterAvatar:x.currentUser.photoURL||``}:{uid:`guest`},g=a.length>0,v;if(g)v=(0,l.doc)((0,l.collection)(S,n));else try{v=await(0,l.addDoc)((0,l.collection)(S,n),{...jw(p,f),...f,...m,formId:i,submittedAt:(0,l.serverTimestamp)(),...k?.transaction===!0?{transaction:!0}:{}})}catch(e){throw await d(),e}let y=k?.fields||[],C=``;for(let e of a)for(let t of e.each){let e=await uw(t.slot,{memberName:t.memberName,scheduleId:t.scheduleId,scheduleName:t.scheduleName,timeZone:E,name:Vw(y,f),email:Hw(y,f),answers:{...qw(p,f),...Kw(y,f)},formId:i,entryId:v.id});if(e){await d(),b(`error`),w(e);return}C||=zb(t.slot.memberId,t.slot.start)}a.length&&ne(a.map(e=>mx(e.slot,e.whoName,E)).join(`; `)),b(`success`),t&&R.clear();try{u?.(Object.fromEntries(Object.entries(f).map(([e,t])=>[e,String(t??``)])),g?{collection:ab,id:C}:{collection:n,id:v.id})}catch{}setTimeout(()=>{k?.redirectTo&&!r&&(k.redirectTo.startsWith(`/`)?M(k.redirectTo):window.location.href=k.redirectTo),e?.(),b(`idle`),_({}),ne(``)},3e3)}catch(e){console.error(`Submission error:`,e),b(`error`),w(`We could not send your message right now. Please try again.`)}},[se,ce]=(0,a.useState)(!1),le=og();if((0,a.useEffect)(()=>{let e;return re||!k&&!r?e=setTimeout(()=>ce(!0),150):ce(!1),()=>clearTimeout(e)},[re,k,r]),re||!k)return se?s?(0,o.jsx)(`div`,{className:`w-full flex items-center justify-center py-[10vh]`,children:(0,o.jsx)(V_,{size:`sm`,label:`Loading the form`})}):(0,f.createPortal)((0,o.jsx)(`div`,{className:`fixed inset-0 z-[100] flex items-center justify-center bg-background/10 backdrop-blur-sm`,children:(0,o.jsx)(`div`,{className:`px-5 py-4 glass-popover border border-[var(--panel-border)]`,style:{borderRadius:`var(--card-radius, 1.5rem)`},children:(0,o.jsx)(V_,{size:`sm`,label:`Loading the form`})})}),document.body):null;let B=(k.fields||[]).find(e=>e.type===`schedule`&&e.look===`calendar`),ue=B?gx(h[B.name]):null,de=!!B&&!ue,fe=de?`max-w-[880px]`:`max-w-[500px]`,pe=ue?Uw(B,h[B.name]):[],me=ue?pe.length?oS(pe):ix(ue,Yx())?.memberName||``:``,he=e=>le?{initial:!1}:{initial:{opacity:0,y:8},animate:{opacity:1,y:0},transition:{duration:.35,ease:zw,delay:Math.min(e,12)*.04}},ge=!de&&Object.keys(ie).length>0,_e=+!!B+ +!!ge,ve=v===`loading`,ye=k.submitText||k.buttonName||`Submit`,be=(0,o.jsx)(`div`,{className:`relative z-10 w-full`,children:v===`success`?(0,o.jsxs)(J.div,{role:`status`,"aria-live":`polite`,initial:le?!1:{opacity:0,y:8},animate:{opacity:1,y:0},transition:{duration:.4,ease:zw},className:`flex flex-col items-center text-center gap-2 py-2`,children:[(0,o.jsxs)(`div`,{className:`flex items-center justify-center gap-2.5`,children:[(0,o.jsx)(`svg`,{viewBox:`0 0 20 20`,className:`w-5 h-5 text-accent shrink-0`,fill:`none`,"aria-hidden":`true`,children:(0,o.jsx)(J.path,{d:`M4 10.5l4 4 8-9`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,initial:le?!1:{pathLength:0,opacity:0},animate:{pathLength:1,opacity:1},transition:{duration:.45,ease:zw,delay:.15}})}),(0,o.jsx)(`h4`,{className:`text-lg font-semibold text-foreground tracking-tight`,children:`Sent. Thank you.`})]}),te?(0,o.jsxs)(`p`,{className:`text-[14px] font-medium text-foreground leading-relaxed`,children:[`Booked: `,te]}):(0,o.jsx)(`p`,{className:`text-[14px] text-foreground/60 leading-relaxed`,children:`We'll be in touch soon.`})]},`sent`):(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(`div`,{className:s&&c?`sr-only`:`mb-7`,children:[(0,o.jsx)(`h3`,{className:`text-[22px] sm:text-2xl font-semibold text-foreground tracking-tight leading-snug break-words`,children:k.title}),k.description&&(0,o.jsx)(`p`,{className:`mt-1.5 text-[14px] text-foreground/60 leading-relaxed`,children:k.description})]}),(0,o.jsx)(um,{initial:!1,children:v===`error`&&C&&(0,o.jsx)(J.p,{role:`alert`,initial:{opacity:0,y:-4},animate:{opacity:1,y:0},exit:{opacity:0},transition:{duration:.2,ease:zw},className:`mb-5 text-[13px] font-medium text-red-500 leading-relaxed`,children:C},`error`)}),(0,o.jsxs)(`form`,{onSubmit:oe,"aria-busy":ve||void 0,className:`flex flex-col gap-5 w-full`,children:[B&&(0,o.jsx)(J.div,{...he(0),className:`w-full`,children:ue?(0,o.jsx)(cC,{slot:ue,timeZone:E,who:me,onChange:()=>_(e=>({...e,[B.name]:``}))}):(0,o.jsx)(Bw,{field:B,value:h[B.name]||``,error:T[B.name],timeZone:E,onTimeZone:D,onChange:e=>_(t=>({...t,[B.name]:e}))})},ue?`picked`:`calendar`),ge&&(0,o.jsxs)(J.div,{...he(+!!B),className:`flex items-center gap-2 px-4 py-3 border border-[var(--panel-border)]`,style:Rw,children:[(0,o.jsx)(`span`,{className:`text-[13px] font-medium text-foreground/60 shrink-0`,children:`Booking as`}),(0,o.jsx)(`span`,{className:`text-[14px] font-medium text-foreground truncate`,children:[F,I].filter(Boolean).join(` · `)})]}),!de&&[...k.fields||[]].filter(e=>e!==B&&!(e.name in ie)).sort((e,t)=>{let n=e.type===`checkbox`,r=t.type===`checkbox`;return n&&!r?1:!n&&r?-1:0}).map((e,t)=>{let r=he(_e+t),s=()=>{T[e.name]&&ee(t=>{let n={...t};return delete n[e.name],n})};if(e.type===`schedule`)return(0,o.jsx)(J.div,{...r,className:`w-full`,children:(0,o.jsx)(Bw,{field:e,value:h[e.name]||``,error:T[e.name],timeZone:E,onTimeZone:D,onChange:t=>{_(n=>({...n,[e.name]:t})),s()}})},t);if(e.type===`tel`)return(0,o.jsx)(J.div,{...r,className:`w-full`,children:(0,o.jsx)(a.Suspense,{fallback:(0,o.jsx)(`div`,{className:`h-12 w-full glass-panel animate-pulse`,style:Rw}),children:(0,o.jsx)(Mw,{field:e,value:h[e.name]||``,onChange:t=>_(n=>({...n,[e.name]:t}))})})},t);if(e.type===`address`)return(0,o.jsx)(J.div,{...r,className:`w-full`,children:(0,o.jsx)(a.Suspense,{fallback:(0,o.jsx)(`div`,{className:`h-12 w-full glass-panel animate-pulse`,style:Rw}),children:(0,o.jsx)(Nw,{id:`form-${e.name}`,label:e.label,required:e.required,placeholder:e.placeholder,error:T[e.name],value:i.i(e.name,h),onChange:t=>{_(n=>({...n,...i.r(e.name,t)})),s()}})})},t);if(e.type===`file`)return(0,o.jsx)(J.div,{...r,className:`w-full`,children:(0,o.jsx)(Ay,{field:e,value:h[e.name]||``,error:T[e.name],onChange:t=>{_(n=>({...n,[e.name]:t(n[e.name]||``)})),s()}})},t);if(e.type===`textarea`)return(0,o.jsx)(J.div,{...r,className:`w-full`,children:(0,o.jsx)(I_,{label:e.label,required:e.required,placeholder:e.placeholder,value:h[e.name]||``,onChange:t=>_(n=>({...n,[e.name]:t.target.value}))})},t);if(e.type===`select`)return(0,o.jsx)(J.div,{...r,className:`w-full`,children:(0,o.jsx)(z_,{label:e.label,direction:`auto`,value:h[e.name]||``,options:[{value:``,label:(0,o.jsx)(`span`,{className:`text-foreground/40`,children:`Select an option...`})},...(e.options||[]).map(e=>({value:e,label:e}))],onChange:t=>_(n=>({...n,[e.name]:t}))})},t);if(e.type===`checkbox`){let n=!!h[e.name];return(0,o.jsxs)(J.label,{...r,className:`flex items-start gap-3 w-full cursor-pointer group py-1`,children:[(0,o.jsxs)(`span`,{className:`relative mt-0.5 flex items-center justify-center w-5 h-5 shrink-0 rounded-md border border-foreground/25 group-hover:border-accent/60 group-focus-within:border-accent group-focus-within:ring-[3px] group-focus-within:ring-accent/20 transition-colors`,children:[(0,o.jsx)(`input`,{type:`checkbox`,required:e.required,checked:n,onChange:t=>_(n=>({...n,[e.name]:t.target.checked})),className:`absolute inset-0 opacity-0 w-full h-full cursor-pointer`}),n&&(0,o.jsx)(`span`,{className:`w-2.5 h-2.5 bg-accent rounded-[3px] shrink-0`})]}),(0,o.jsx)(`span`,{className:`text-[14px] text-foreground/80 leading-snug group-hover:text-foreground transition-colors`,children:e.label})]},t)}if(e.type===`date`){let i=h[e.name]||``;return(0,o.jsxs)(J.div,{...r,className:`flex flex-col w-full relative`,children:[(0,o.jsx)(`label`,{className:Fw,children:e.label}),(0,o.jsxs)(`div`,{className:`relative flex items-center`,children:[(0,o.jsx)(`input`,{type:`date`,required:e.required,value:i,onChange:t=>_(n=>({...n,[e.name]:t.target.value})),className:`date-field ${Lw} pl-4 pr-11 ${i?`text-foreground`:`text-foreground/40`}`,style:Rw}),(0,o.jsx)(n.ln,{className:`w-4 h-4 text-foreground/40 absolute right-4 pointer-events-none`})]})]},t)}return e.type===`age`?(0,o.jsx)(J.div,{...r,className:`w-full`,children:(0,o.jsx)(P_,{label:e.label,required:e.required,type:`number`,min:0,max:120,placeholder:e.placeholder||`Age (Max 120)`,value:h[e.name]||``,onChange:t=>{let n=t.target.value;if(n===``)_(t=>({...t,[e.name]:``}));else{let t=Math.max(0,Math.min(120,parseInt(n,10)));_(n=>({...n,[e.name]:isNaN(t)?``:String(t)}))}}})},t):e.type===`currency`||e.type===`number`&&e.name===`budget`?(0,o.jsxs)(J.div,{...r,className:`flex flex-col w-full relative`,children:[(0,o.jsx)(`label`,{className:Fw,children:e.label}),(0,o.jsxs)(`div`,{className:`relative flex items-center`,children:[(0,o.jsx)(`span`,{className:`absolute left-4 text-foreground/60 font-medium flex items-center h-full z-10 pointer-events-none text-[15px]`,children:e.currencySymbol||`$`}),(0,o.jsx)(`input`,{required:e.required,type:`number`,placeholder:e.placeholder,value:h[e.name]||``,onChange:t=>_(n=>({...n,[e.name]:t.target.value})),className:`${Lw} pl-8 pr-4`,style:Rw})]})]},t):(0,o.jsx)(J.div,{...r,className:`w-full`,children:(0,o.jsx)(P_,{label:e.label,required:e.required,type:e.type,placeholder:e.placeholder,currencySymbol:e.currencySymbol,error:T[e.name],value:h[e.name]||``,onChange:t=>{_(n=>({...n,[e.name]:t.target.value})),s()}})},t)}),ue?(0,o.jsxs)(`div`,{className:`flex flex-col gap-4 pt-1`,children:[(0,o.jsx)(`div`,{className:`h-px bg-[var(--panel-border)]/60`}),(0,o.jsx)($S,{timeZone:E,onTimeZone:D,action:(0,o.jsx)(L_,{type:`submit`,className:`max-sm:w-full h-11 px-6 text-[13.5px] font-semibold shrink-0`,isLoading:ve,children:ye})})]}):!de&&(0,o.jsx)(J.div,{...he(_e+(k.fields||[]).length),className:`pt-2`,children:(0,o.jsx)(L_,{type:`submit`,className:`w-full h-12 text-[15px] font-semibold`,isLoading:ve,children:ye})})]})]})});return s&&c?(0,o.jsx)(`div`,{className:`form-calm w-full ${fe} mx-auto relative transition-[max-width] duration-500 ease-out`,children:be}):s?(0,o.jsx)(`div`,{className:`form-calm w-full flex justify-center flex-col items-center`,children:(0,o.jsx)(J.div,{initial:le?!1:{opacity:0,y:10},animate:{opacity:1,y:0},transition:{duration:.4,ease:zw},className:`w-full ${fe} p-6 sm:p-8 glass-form relative shadow-[0_8px_32px_rgba(0,0,0,0.06)] z-10 mx-auto transition-[max-width] duration-500 ease-out`,style:{borderRadius:`var(--card-radius, 1.5rem)`},children:be})}):(0,f.createPortal)((0,o.jsxs)(`div`,{className:`form-calm fixed inset-0 z-[100] flex items-start justify-center p-4 py-20 md:py-10 h-[-webkit-fill-available] md:h-screen w-screen overflow-y-auto no-scrollbar`,children:[(0,o.jsx)(J.div,{onClick:e,initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.25},className:`fixed inset-0 bg-background/60 backdrop-blur-xl cursor-pointer`}),(0,o.jsx)(J.div,{initial:le?!1:{opacity:0,scale:.98,y:10},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.98,y:10},transition:{duration:.35,ease:zw},ref:O,className:`w-full ${fe} p-6 sm:p-8 glass-popover relative z-10 mx-auto my-auto border border-[var(--panel-border)] shrink-0 transition-[max-width] duration-500 ease-out`,style:{borderRadius:`var(--card-radius, 1.5rem)`},children:be})]}),document.body)}Object.defineProperty(exports,`$`,{enumerable:!0,get:function(){return OS}}),Object.defineProperty(exports,`$a`,{enumerable:!0,get:function(){return He}}),Object.defineProperty(exports,`$i`,{enumerable:!0,get:function(){return dn}}),Object.defineProperty(exports,`$n`,{enumerable:!0,get:function(){return px}}),Object.defineProperty(exports,`$r`,{enumerable:!0,get:function(){return Si}}),Object.defineProperty(exports,`$t`,{enumerable:!0,get:function(){return tb}}),Object.defineProperty(exports,`A`,{enumerable:!0,get:function(){return IC}}),Object.defineProperty(exports,`Aa`,{enumerable:!0,get:function(){return et}}),Object.defineProperty(exports,`Ai`,{enumerable:!0,get:function(){return zr}}),Object.defineProperty(exports,`An`,{enumerable:!0,get:function(){return uS}}),Object.defineProperty(exports,`Ar`,{enumerable:!0,get:function(){return G_}}),Object.defineProperty(exports,`At`,{enumerable:!0,get:function(){return My}}),Object.defineProperty(exports,`B`,{enumerable:!0,get:function(){return fC}}),Object.defineProperty(exports,`Ba`,{enumerable:!0,get:function(){return pt}}),Object.defineProperty(exports,`Bi`,{enumerable:!0,get:function(){return jn}}),Object.defineProperty(exports,`Bn`,{enumerable:!0,get:function(){return xx}}),Object.defineProperty(exports,`Br`,{enumerable:!0,get:function(){return P_}}),Object.defineProperty(exports,`Bt`,{enumerable:!0,get:function(){return SS}}),Object.defineProperty(exports,`C`,{enumerable:!0,get:function(){return ew}}),Object.defineProperty(exports,`Ca`,{enumerable:!0,get:function(){return st}}),Object.defineProperty(exports,`Ci`,{enumerable:!0,get:function(){return kr}}),Object.defineProperty(exports,`Cn`,{enumerable:!0,get:function(){return Cx}}),Object.defineProperty(exports,`Cr`,{enumerable:!0,get:function(){return X_}}),Object.defineProperty(exports,`Ct`,{enumerable:!0,get:function(){return Xx}}),Object.defineProperty(exports,`D`,{enumerable:!0,get:function(){return bw}}),Object.defineProperty(exports,`Da`,{enumerable:!0,get:function(){return Et}}),Object.defineProperty(exports,`Di`,{enumerable:!0,get:function(){return Ar}}),Object.defineProperty(exports,`Dn`,{enumerable:!0,get:function(){return Jx}}),Object.defineProperty(exports,`Dr`,{enumerable:!0,get:function(){return vv}}),Object.defineProperty(exports,`Dt`,{enumerable:!0,get:function(){return Fy}}),Object.defineProperty(exports,`E`,{enumerable:!0,get:function(){return yw}}),Object.defineProperty(exports,`Ea`,{enumerable:!0,get:function(){return $e}}),Object.defineProperty(exports,`Ei`,{enumerable:!0,get:function(){return Cr}}),Object.defineProperty(exports,`En`,{enumerable:!0,get:function(){return Gx}}),Object.defineProperty(exports,`Er`,{enumerable:!0,get:function(){return yv}}),Object.defineProperty(exports,`Et`,{enumerable:!0,get:function(){return Ly}}),Object.defineProperty(exports,`F`,{enumerable:!0,get:function(){return AC}}),Object.defineProperty(exports,`Fa`,{enumerable:!0,get:function(){return St}}),Object.defineProperty(exports,`Fi`,{enumerable:!0,get:function(){return Br}}),Object.defineProperty(exports,`Fn`,{enumerable:!0,get:function(){return nx}}),Object.defineProperty(exports,`Fr`,{enumerable:!0,get:function(){return H_}}),Object.defineProperty(exports,`Ft`,{enumerable:!0,get:function(){return sb}}),Object.defineProperty(exports,`G`,{enumerable:!0,get:function(){return gC}}),Object.defineProperty(exports,`Ga`,{enumerable:!0,get:function(){return je}}),Object.defineProperty(exports,`Gi`,{enumerable:!0,get:function(){return On}}),Object.defineProperty(exports,`Gn`,{enumerable:!0,get:function(){return Lb}}),Object.defineProperty(exports,`Gr`,{enumerable:!0,get:function(){return um}}),Object.defineProperty(exports,`Gt`,{enumerable:!0,get:function(){return Ex}}),Object.defineProperty(exports,`H`,{enumerable:!0,get:function(){return uC}}),Object.defineProperty(exports,`Ha`,{enumerable:!0,get:function(){return jt}}),Object.defineProperty(exports,`Hi`,{enumerable:!0,get:function(){return kn}}),Object.defineProperty(exports,`Hn`,{enumerable:!0,get:function(){return Rx}}),Object.defineProperty(exports,`Hr`,{enumerable:!0,get:function(){return cg}}),Object.defineProperty(exports,`Ht`,{enumerable:!0,get:function(){return Gy}}),Object.defineProperty(exports,`I`,{enumerable:!0,get:function(){return OC}}),Object.defineProperty(exports,`Ia`,{enumerable:!0,get:function(){return ft}}),Object.defineProperty(exports,`Ii`,{enumerable:!0,get:function(){return Qr}}),Object.defineProperty(exports,`In`,{enumerable:!0,get:function(){return ox}}),Object.defineProperty(exports,`Ir`,{enumerable:!0,get:function(){return z_}}),Object.defineProperty(exports,`It`,{enumerable:!0,get:function(){return CS}}),Object.defineProperty(exports,`J`,{enumerable:!0,get:function(){return sC}}),Object.defineProperty(exports,`Ja`,{enumerable:!0,get:function(){return Ke}}),Object.defineProperty(exports,`Ji`,{enumerable:!0,get:function(){return rr}}),Object.defineProperty(exports,`Jn`,{enumerable:!0,get:function(){return Fx}}),Object.defineProperty(exports,`Jr`,{enumerable:!0,get:function(){return fa}}),Object.defineProperty(exports,`Jt`,{enumerable:!0,get:function(){return qy}}),Object.defineProperty(exports,`K`,{enumerable:!0,get:function(){return pC}}),Object.defineProperty(exports,`Ka`,{enumerable:!0,get:function(){return Ne}}),Object.defineProperty(exports,`Ki`,{enumerable:!0,get:function(){return Hn}}),Object.defineProperty(exports,`Kn`,{enumerable:!0,get:function(){return zb}}),Object.defineProperty(exports,`Kr`,{enumerable:!0,get:function(){return da}}),Object.defineProperty(exports,`Kt`,{enumerable:!0,get:function(){return qb}}),Object.defineProperty(exports,`L`,{enumerable:!0,get:function(){return DC}}),Object.defineProperty(exports,`La`,{enumerable:!0,get:function(){return at}}),Object.defineProperty(exports,`Li`,{enumerable:!0,get:function(){return vr}}),Object.defineProperty(exports,`Ln`,{enumerable:!0,get:function(){return aS}}),Object.defineProperty(exports,`Lr`,{enumerable:!0,get:function(){return L_}}),Object.defineProperty(exports,`Lt`,{enumerable:!0,get:function(){return cb}}),Object.defineProperty(exports,`M`,{enumerable:!0,get:function(){return SC}}),Object.defineProperty(exports,`Ma`,{enumerable:!0,get:function(){return ct}}),Object.defineProperty(exports,`Mi`,{enumerable:!0,get:function(){return Fr}}),Object.defineProperty(exports,`Mn`,{enumerable:!0,get:function(){return Kb}}),Object.defineProperty(exports,`Mr`,{enumerable:!0,get:function(){return U_}}),Object.defineProperty(exports,`Mt`,{enumerable:!0,get:function(){return Bb}}),Object.defineProperty(exports,`N`,{enumerable:!0,get:function(){return TC}}),Object.defineProperty(exports,`Na`,{enumerable:!0,get:function(){return kt}}),Object.defineProperty(exports,`Ni`,{enumerable:!0,get:function(){return Pr}}),Object.defineProperty(exports,`Nn`,{enumerable:!0,get:function(){return Yb}}),Object.defineProperty(exports,`Nr`,{enumerable:!0,get:function(){return Y_}}),Object.defineProperty(exports,`Nt`,{enumerable:!0,get:function(){return Wb}}),Object.defineProperty(exports,`O`,{enumerable:!0,get:function(){return uw}}),Object.defineProperty(exports,`Oa`,{enumerable:!0,get:function(){return At}}),Object.defineProperty(exports,`Oi`,{enumerable:!0,get:function(){return Rr}}),Object.defineProperty(exports,`On`,{enumerable:!0,get:function(){return DS}}),Object.defineProperty(exports,`Or`,{enumerable:!0,get:function(){return sv}}),Object.defineProperty(exports,`Ot`,{enumerable:!0,get:function(){return hS}}),Object.defineProperty(exports,`P`,{enumerable:!0,get:function(){return kC}}),Object.defineProperty(exports,`Pa`,{enumerable:!0,get:function(){return lt}}),Object.defineProperty(exports,`Pi`,{enumerable:!0,get:function(){return Ir}}),Object.defineProperty(exports,`Pn`,{enumerable:!0,get:function(){return tS}}),Object.defineProperty(exports,`Pr`,{enumerable:!0,get:function(){return V_}}),Object.defineProperty(exports,`Pt`,{enumerable:!0,get:function(){return lb}}),Object.defineProperty(exports,`Q`,{enumerable:!0,get:function(){return FS}}),Object.defineProperty(exports,`Qa`,{enumerable:!0,get:function(){return Ge}}),Object.defineProperty(exports,`Qi`,{enumerable:!0,get:function(){return Sn}}),Object.defineProperty(exports,`Qn`,{enumerable:!0,get:function(){return eS}}),Object.defineProperty(exports,`Qr`,{enumerable:!0,get:function(){return Li}}),Object.defineProperty(exports,`Qt`,{enumerable:!0,get:function(){return eb}}),Object.defineProperty(exports,`R`,{enumerable:!0,get:function(){return bC}}),Object.defineProperty(exports,`Ra`,{enumerable:!0,get:function(){return zt}}),Object.defineProperty(exports,`Ri`,{enumerable:!0,get:function(){return _r}}),Object.defineProperty(exports,`Rn`,{enumerable:!0,get:function(){return Px}}),Object.defineProperty(exports,`Rr`,{enumerable:!0,get:function(){return I_}}),Object.defineProperty(exports,`Rt`,{enumerable:!0,get:function(){return Ub}}),Object.defineProperty(exports,`S`,{enumerable:!0,get:function(){return WC}}),Object.defineProperty(exports,`Sa`,{enumerable:!0,get:function(){return Ot}}),Object.defineProperty(exports,`Si`,{enumerable:!0,get:function(){return xr}}),Object.defineProperty(exports,`Sn`,{enumerable:!0,get:function(){return Sx}}),Object.defineProperty(exports,`Sr`,{enumerable:!0,get:function(){return Tv}}),Object.defineProperty(exports,`St`,{enumerable:!0,get:function(){return nb}}),Object.defineProperty(exports,`T`,{enumerable:!0,get:function(){return pw}}),Object.defineProperty(exports,`Ta`,{enumerable:!0,get:function(){return Pt}}),Object.defineProperty(exports,`Ti`,{enumerable:!0,get:function(){return Or}}),Object.defineProperty(exports,`Tn`,{enumerable:!0,get:function(){return Uy}}),Object.defineProperty(exports,`Tr`,{enumerable:!0,get:function(){return ov}}),Object.defineProperty(exports,`Tt`,{enumerable:!0,get:function(){return Zx}}),Object.defineProperty(exports,`U`,{enumerable:!0,get:function(){return dC}}),Object.defineProperty(exports,`Ua`,{enumerable:!0,get:function(){return Dt}}),Object.defineProperty(exports,`Ui`,{enumerable:!0,get:function(){return Dn}}),Object.defineProperty(exports,`Un`,{enumerable:!0,get:function(){return Ox}}),Object.defineProperty(exports,`Ur`,{enumerable:!0,get:function(){return og}}),Object.defineProperty(exports,`Ut`,{enumerable:!0,get:function(){return Qy}}),Object.defineProperty(exports,`V`,{enumerable:!0,get:function(){return _C}}),Object.defineProperty(exports,`Va`,{enumerable:!0,get:function(){return Tt}}),Object.defineProperty(exports,`Vi`,{enumerable:!0,get:function(){return bn}}),Object.defineProperty(exports,`Vn`,{enumerable:!0,get:function(){return gS}}),Object.defineProperty(exports,`Vr`,{enumerable:!0,get:function(){return N_}}),Object.defineProperty(exports,`Vt`,{enumerable:!0,get:function(){return sx}}),Object.defineProperty(exports,`W`,{enumerable:!0,get:function(){return mC}}),Object.defineProperty(exports,`Wa`,{enumerable:!0,get:function(){return Pe}}),Object.defineProperty(exports,`Wi`,{enumerable:!0,get:function(){return Un}}),Object.defineProperty(exports,`Wn`,{enumerable:!0,get:function(){return sS}}),Object.defineProperty(exports,`Wr`,{enumerable:!0,get:function(){return J}}),Object.defineProperty(exports,`Wt`,{enumerable:!0,get:function(){return Nx}}),Object.defineProperty(exports,`X`,{enumerable:!0,get:function(){return $S}}),Object.defineProperty(exports,`Xa`,{enumerable:!0,get:function(){return Me}}),Object.defineProperty(exports,`Xi`,{enumerable:!0,get:function(){return qn}}),Object.defineProperty(exports,`Xn`,{enumerable:!0,get:function(){return tx}}),Object.defineProperty(exports,`Xr`,{enumerable:!0,get:function(){return Qi}}),Object.defineProperty(exports,`Xt`,{enumerable:!0,get:function(){return yb}}),Object.defineProperty(exports,`Y`,{enumerable:!0,get:function(){return nC}}),Object.defineProperty(exports,`Ya`,{enumerable:!0,get:function(){return Ue}}),Object.defineProperty(exports,`Yi`,{enumerable:!0,get:function(){return ir}}),Object.defineProperty(exports,`Yn`,{enumerable:!0,get:function(){return fx}}),Object.defineProperty(exports,`Yr`,{enumerable:!0,get:function(){return Ji}}),Object.defineProperty(exports,`Yt`,{enumerable:!0,get:function(){return fb}}),Object.defineProperty(exports,`Z`,{enumerable:!0,get:function(){return QS}}),Object.defineProperty(exports,`Za`,{enumerable:!0,get:function(){return Be}}),Object.defineProperty(exports,`Zi`,{enumerable:!0,get:function(){return ar}}),Object.defineProperty(exports,`Zn`,{enumerable:!0,get:function(){return $x}}),Object.defineProperty(exports,`Zr`,{enumerable:!0,get:function(){return Zi}}),Object.defineProperty(exports,`Zt`,{enumerable:!0,get:function(){return wx}}),Object.defineProperty(exports,`_`,{enumerable:!0,get:function(){return UC}}),Object.defineProperty(exports,`_a`,{enumerable:!0,get:function(){return Ze}}),Object.defineProperty(exports,`_i`,{enumerable:!0,get:function(){return si}}),Object.defineProperty(exports,`_n`,{enumerable:!0,get:function(){return lx}}),Object.defineProperty(exports,`_o`,{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,`_r`,{enumerable:!0,get:function(){return Ov}}),Object.defineProperty(exports,`_t`,{enumerable:!0,get:function(){return KS}}),Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return cw}}),Object.defineProperty(exports,`aa`,{enumerable:!0,get:function(){return tn}}),Object.defineProperty(exports,`ai`,{enumerable:!0,get:function(){return Ui}}),Object.defineProperty(exports,`an`,{enumerable:!0,get:function(){return ax}}),Object.defineProperty(exports,`ao`,{enumerable:!0,get:function(){return ce}}),Object.defineProperty(exports,`ar`,{enumerable:!0,get:function(){return Nb}}),Object.defineProperty(exports,`at`,{enumerable:!0,get:function(){return jS}}),Object.defineProperty(exports,`b`,{enumerable:!0,get:function(){return HC}}),Object.defineProperty(exports,`ba`,{enumerable:!0,get:function(){return Ft}}),Object.defineProperty(exports,`bi`,{enumerable:!0,get:function(){return Dr}}),Object.defineProperty(exports,`bn`,{enumerable:!0,get:function(){return Vx}}),Object.defineProperty(exports,`bo`,{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,`br`,{enumerable:!0,get:function(){return Av}}),Object.defineProperty(exports,`bt`,{enumerable:!0,get:function(){return BS}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return lw}}),Object.defineProperty(exports,`ca`,{enumerable:!0,get:function(){return ht}}),Object.defineProperty(exports,`ci`,{enumerable:!0,get:function(){return Di}}),Object.defineProperty(exports,`cn`,{enumerable:!0,get:function(){return Yy}}),Object.defineProperty(exports,`co`,{enumerable:!0,get:function(){return Ee}}),Object.defineProperty(exports,`cr`,{enumerable:!0,get:function(){return wy}}),Object.defineProperty(exports,`ct`,{enumerable:!0,get:function(){return HS}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return YC}}),Object.defineProperty(exports,`da`,{enumerable:!0,get:function(){return xt}}),Object.defineProperty(exports,`di`,{enumerable:!0,get:function(){return di}}),Object.defineProperty(exports,`dn`,{enumerable:!0,get:function(){return Lx}}),Object.defineProperty(exports,`do`,{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,`dr`,{enumerable:!0,get:function(){return Mv}}),Object.defineProperty(exports,`dt`,{enumerable:!0,get:function(){return US}}),Object.defineProperty(exports,`ea`,{enumerable:!0,get:function(){return _n}}),Object.defineProperty(exports,`ei`,{enumerable:!0,get:function(){return Ti}}),Object.defineProperty(exports,`en`,{enumerable:!0,get:function(){return $y}}),Object.defineProperty(exports,`eo`,{enumerable:!0,get:function(){return ze}}),Object.defineProperty(exports,`er`,{enumerable:!0,get:function(){return zx}}),Object.defineProperty(exports,`et`,{enumerable:!0,get:function(){return GS}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return JC}}),Object.defineProperty(exports,`fa`,{enumerable:!0,get:function(){return vt}}),Object.defineProperty(exports,`fi`,{enumerable:!0,get:function(){return pi}}),Object.defineProperty(exports,`fn`,{enumerable:!0,get:function(){return wb}}),Object.defineProperty(exports,`fo`,{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,`fr`,{enumerable:!0,get:function(){return Ev}}),Object.defineProperty(exports,`ft`,{enumerable:!0,get:function(){return IS}}),Object.defineProperty(exports,`g`,{enumerable:!0,get:function(){return fw}}),Object.defineProperty(exports,`ga`,{enumerable:!0,get:function(){return wt}}),Object.defineProperty(exports,`gi`,{enumerable:!0,get:function(){return ri}}),Object.defineProperty(exports,`gn`,{enumerable:!0,get:function(){return Hb}}),Object.defineProperty(exports,`go`,{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,`gr`,{enumerable:!0,get:function(){return Lv}}),Object.defineProperty(exports,`gt`,{enumerable:!0,get:function(){return qS}}),Object.defineProperty(exports,`h`,{enumerable:!0,get:function(){return $C}}),Object.defineProperty(exports,`ha`,{enumerable:!0,get:function(){return It}}),Object.defineProperty(exports,`hi`,{enumerable:!0,get:function(){return mi}}),Object.defineProperty(exports,`hn`,{enumerable:!0,get:function(){return Gb}}),Object.defineProperty(exports,`ho`,{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,`hr`,{enumerable:!0,get:function(){return kv}}),Object.defineProperty(exports,`ht`,{enumerable:!0,get:function(){return WS}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return Ew}}),Object.defineProperty(exports,`ia`,{enumerable:!0,get:function(){return Yt}}),Object.defineProperty(exports,`ii`,{enumerable:!0,get:function(){return Ei}}),Object.defineProperty(exports,`in`,{enumerable:!0,get:function(){return iS}}),Object.defineProperty(exports,`io`,{enumerable:!0,get:function(){return ae}}),Object.defineProperty(exports,`ir`,{enumerable:!0,get:function(){return jb}}),Object.defineProperty(exports,`it`,{enumerable:!0,get:function(){return AS}}),Object.defineProperty(exports,`j`,{enumerable:!0,get:function(){return RC}}),Object.defineProperty(exports,`ja`,{enumerable:!0,get:function(){return dt}}),Object.defineProperty(exports,`ji`,{enumerable:!0,get:function(){return Lr}}),Object.defineProperty(exports,`jn`,{enumerable:!0,get:function(){return Ib}}),Object.defineProperty(exports,`jr`,{enumerable:!0,get:function(){return K_}}),Object.defineProperty(exports,`jt`,{enumerable:!0,get:function(){return ub}}),Object.defineProperty(exports,`k`,{enumerable:!0,get:function(){return zC}}),Object.defineProperty(exports,`ka`,{enumerable:!0,get:function(){return ut}}),Object.defineProperty(exports,`ki`,{enumerable:!0,get:function(){return Sr}}),Object.defineProperty(exports,`kn`,{enumerable:!0,get:function(){return oS}}),Object.defineProperty(exports,`kr`,{enumerable:!0,get:function(){return W_}}),Object.defineProperty(exports,`kt`,{enumerable:!0,get:function(){return jy}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return XC}}),Object.defineProperty(exports,`la`,{enumerable:!0,get:function(){return qe}}),Object.defineProperty(exports,`li`,{enumerable:!0,get:function(){return ui}}),Object.defineProperty(exports,`ln`,{enumerable:!0,get:function(){return mx}}),Object.defineProperty(exports,`lo`,{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,`lr`,{enumerable:!0,get:function(){return qv}}),Object.defineProperty(exports,`lt`,{enumerable:!0,get:function(){return MS}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return ZC}}),Object.defineProperty(exports,`ma`,{enumerable:!0,get:function(){return Nt}}),Object.defineProperty(exports,`mi`,{enumerable:!0,get:function(){return oi}}),Object.defineProperty(exports,`mn`,{enumerable:!0,get:function(){return Vb}}),Object.defineProperty(exports,`mo`,{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,`mr`,{enumerable:!0,get:function(){return Pv}}),Object.defineProperty(exports,`mt`,{enumerable:!0,get:function(){return RS}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return Tw}}),Object.defineProperty(exports,`na`,{enumerable:!0,get:function(){return Qt}}),Object.defineProperty(exports,`ni`,{enumerable:!0,get:function(){return wi}}),Object.defineProperty(exports,`nn`,{enumerable:!0,get:function(){return jx}}),Object.defineProperty(exports,`no`,{enumerable:!0,get:function(){return ke}}),Object.defineProperty(exports,`nr`,{enumerable:!0,get:function(){return rx}}),Object.defineProperty(exports,`nt`,{enumerable:!0,get:function(){return zS}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return Ow}}),Object.defineProperty(exports,`oa`,{enumerable:!0,get:function(){return rn}}),Object.defineProperty(exports,`oi`,{enumerable:!0,get:function(){return vi}}),Object.defineProperty(exports,`on`,{enumerable:!0,get:function(){return By}}),Object.defineProperty(exports,`oo`,{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,`or`,{enumerable:!0,get:function(){return Ay}}),Object.defineProperty(exports,`ot`,{enumerable:!0,get:function(){return NS}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return Cw}}),Object.defineProperty(exports,`pa`,{enumerable:!0,get:function(){return Mt}}),Object.defineProperty(exports,`pi`,{enumerable:!0,get:function(){return li}}),Object.defineProperty(exports,`pn`,{enumerable:!0,get:function(){return bx}}),Object.defineProperty(exports,`po`,{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,`pr`,{enumerable:!0,get:function(){return Rv}}),Object.defineProperty(exports,`pt`,{enumerable:!0,get:function(){return JS}}),Object.defineProperty(exports,`q`,{enumerable:!0,get:function(){return cC}}),Object.defineProperty(exports,`qa`,{enumerable:!0,get:function(){return Fe}}),Object.defineProperty(exports,`qi`,{enumerable:!0,get:function(){return En}}),Object.defineProperty(exports,`qn`,{enumerable:!0,get:function(){return Mx}}),Object.defineProperty(exports,`qr`,{enumerable:!0,get:function(){return aa}}),Object.defineProperty(exports,`qt`,{enumerable:!0,get:function(){return Jb}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return ww}}),Object.defineProperty(exports,`ra`,{enumerable:!0,get:function(){return Xt}}),Object.defineProperty(exports,`ri`,{enumerable:!0,get:function(){return xi}}),Object.defineProperty(exports,`rn`,{enumerable:!0,get:function(){return ES}}),Object.defineProperty(exports,`ro`,{enumerable:!0,get:function(){return De}}),Object.defineProperty(exports,`rr`,{enumerable:!0,get:function(){return ex}}),Object.defineProperty(exports,`rt`,{enumerable:!0,get:function(){return PS}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return kw}}),Object.defineProperty(exports,`sa`,{enumerable:!0,get:function(){return _t}}),Object.defineProperty(exports,`si`,{enumerable:!0,get:function(){return zi}}),Object.defineProperty(exports,`sn`,{enumerable:!0,get:function(){return zy}}),Object.defineProperty(exports,`so`,{enumerable:!0,get:function(){return Te}}),Object.defineProperty(exports,`sr`,{enumerable:!0,get:function(){return Ey}}),Object.defineProperty(exports,`st`,{enumerable:!0,get:function(){return LS}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return Jw}}),Object.defineProperty(exports,`ta`,{enumerable:!0,get:function(){return qt}}),Object.defineProperty(exports,`ti`,{enumerable:!0,get:function(){return _i}}),Object.defineProperty(exports,`tn`,{enumerable:!0,get:function(){return cS}}),Object.defineProperty(exports,`to`,{enumerable:!0,get:function(){return Ve}}),Object.defineProperty(exports,`tr`,{enumerable:!0,get:function(){return yS}}),Object.defineProperty(exports,`tt`,{enumerable:!0,get:function(){return kS}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return QC}}),Object.defineProperty(exports,`ua`,{enumerable:!0,get:function(){return Je}}),Object.defineProperty(exports,`ui`,{enumerable:!0,get:function(){return fi}}),Object.defineProperty(exports,`un`,{enumerable:!0,get:function(){return bb}}),Object.defineProperty(exports,`uo`,{enumerable:!0,get:function(){return ie}}),Object.defineProperty(exports,`ur`,{enumerable:!0,get:function(){return Hv}}),Object.defineProperty(exports,`ut`,{enumerable:!0,get:function(){return ZS}}),Object.defineProperty(exports,`v`,{enumerable:!0,get:function(){return hw}}),Object.defineProperty(exports,`va`,{enumerable:!0,get:function(){return Xe}}),Object.defineProperty(exports,`vi`,{enumerable:!0,get:function(){return ci}}),Object.defineProperty(exports,`vn`,{enumerable:!0,get:function(){return ux}}),Object.defineProperty(exports,`vo`,{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,`vr`,{enumerable:!0,get:function(){return zv}}),Object.defineProperty(exports,`vt`,{enumerable:!0,get:function(){return XS}}),Object.defineProperty(exports,`w`,{enumerable:!0,get:function(){return mw}}),Object.defineProperty(exports,`wa`,{enumerable:!0,get:function(){return Bt}}),Object.defineProperty(exports,`wi`,{enumerable:!0,get:function(){return wr}}),Object.defineProperty(exports,`wn`,{enumerable:!0,get:function(){return Hx}}),Object.defineProperty(exports,`wr`,{enumerable:!0,get:function(){return _v}}),Object.defineProperty(exports,`wt`,{enumerable:!0,get:function(){return xS}}),Object.defineProperty(exports,`x`,{enumerable:!0,get:function(){return tw}}),Object.defineProperty(exports,`xa`,{enumerable:!0,get:function(){return Wt}}),Object.defineProperty(exports,`xi`,{enumerable:!0,get:function(){return br}}),Object.defineProperty(exports,`xn`,{enumerable:!0,get:function(){return Bx}}),Object.defineProperty(exports,`xr`,{enumerable:!0,get:function(){return bv}}),Object.defineProperty(exports,`xt`,{enumerable:!0,get:function(){return ab}}),Object.defineProperty(exports,`y`,{enumerable:!0,get:function(){return KC}}),Object.defineProperty(exports,`ya`,{enumerable:!0,get:function(){return Qe}}),Object.defineProperty(exports,`yi`,{enumerable:!0,get:function(){return ni}}),Object.defineProperty(exports,`yn`,{enumerable:!0,get:function(){return rS}}),Object.defineProperty(exports,`yo`,{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,`yr`,{enumerable:!0,get:function(){return jv}}),Object.defineProperty(exports,`yt`,{enumerable:!0,get:function(){return YS}}),Object.defineProperty(exports,`z`,{enumerable:!0,get:function(){return xC}}),Object.defineProperty(exports,`za`,{enumerable:!0,get:function(){return Vt}}),Object.defineProperty(exports,`zi`,{enumerable:!0,get:function(){return gr}}),Object.defineProperty(exports,`zn`,{enumerable:!0,get:function(){return Dx}}),Object.defineProperty(exports,`zr`,{enumerable:!0,get:function(){return F_}}),Object.defineProperty(exports,`zt`,{enumerable:!0,get:function(){return ob}});
|