PageSourceSearch

https://www.social-rv.com/assets/components-CRzdxFhY.js

js social-rv.com collected 2026-10-02 00:08:19 UTC 53,161 bytes, 149 lines download raw bytes

1var bt=Object.defineProperty;var Lt=(e,t,r)=>t in e?bt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var J=(e,t,r)=>Lt(e,typeof t!="symbol"?t+"":t,r);import{r as o,R as Be}from"./jsx-runtime-Dze956XF.js";import{R as _t}from"./index-DXJTLv09.js";import{c as j,a as Ve,l as Tt,D as ve,i as te,R as Pt,j as Ct,N as z,s as I,k as Ee,n as re,o as me,p as kt,q as Ye,r as F,t as Ot,I as At,v as Ke,b as Dt,w as Ae,x as Nt,A as Ft,y as It,z as We,B as jt,C as Xe,E as Q,F as $t,m as Ge,G as Ut,H as Ht,J as Mt,K as zt,L as Jt}from"./index-BT-EbHd4.js";/**
2 * React Router DOM v6.28.1
3 *
4 * Copyright (c) Remix Software Inc.
5 *
6 * This source code is licensed under the MIT license found in the
7 * LICENSE.md file in the root directory of this source tree.
8 *
9 * @license MIT
10 */function A(){return A=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},A.apply(this,arguments)}function Se(e,t){if(e==null)return{};var r={},n=Object.keys(e),a,i;for(i=0;i<n.length;i++)a=n[i],!(t.indexOf(a)>=0)&&(r[a]=e[a]);return r}const X="get",ce="application/x-www-form-urlencoded";function ne(e){return e!=null&&typeof e.tagName=="string"}function Bt(e){return ne(e)&&e.tagName.toLowerCase()==="button"}function Vt(e){return ne(e)&&e.tagName.toLowerCase()==="form"}function Yt(e){return ne(e)&&e.tagName.toLowerCase()==="input"}function Kt(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function Wt(e,t){return e.button===0&&(!t||t==="_self")&&!Kt(e)}function pe(e){return e===void 0&&(e=""),new URLSearchParams(typeof e=="string"||Array.isArray(e)||e instanceof URLSearchParams?e:Object.keys(e).reduce((t,r)=>{let n=e[r];return t.concat(Array.isArray(n)?n.map(a=>[r,a]):[[r,n]])},[]))}function Xt(e,t){let r=pe(e);return t&&t.forEach((n,a)=>{r.has(a)||t.getAll(a).forEach(i=>{r.append(a,i)})}),r}let B=null;function Gt(){if(B===null)try{new FormData(document.createElement("form"),0),B=!1}catch{B=!0}return B}const Zt=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function de(e){return e!=null&&!Zt.has(e)?null:e}function Qt(e,t){let r,n,a,i,u;if(Vt(e)){let l=e.getAttribute("action");n=l?I(l,t):null,r=e.getAttribute("method")||X,a=de(e.getAttribute("enctype"))||ce,i=new FormData(e)}else if(Bt(e)||Yt(e)&&(e.type==="submit"||e.type==="image")){let l=e.form;if(l==null)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let s=e.getAttribute("formaction")||l.getAttribute("action");if(n=s?I(s,t):null,r=e.getAttribute("formmethod")||l.getAttribute("method")||X,a=de(e.getAttribute("formenctype"))||de(l.getAttribute("enctype"))||ce,i=new FormData(l,e),!Gt()){let{name:c,type:m,value:f}=e;if(m==="image"){let d=c?c+".":"";i.append(d+"x","0"),i.append(d+"y","0")}else c&&i.append(c,f)}}else{if(ne(e))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');r=X,n=null,a=ce,u=e}return i&&a==="text/plain"&&(u=i,i=void 0),{action:n,method:r.toLowerCase(),encType:a,formData:i,body:u}}const qt=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","viewTransition"],er=["aria-current","caseSensitive","className","end","style","to","viewTransition","children"],tr=["fetcherKey","navigate","reloadDocument","replace","state","method","action","onSubmit","relative","preventScrollReset","viewTransition"],rr="6";try{window.__reactRouterVersion=rr}catch{}const Ze=o.createContext({isTransitioning:!1}),Qe=o.createContext(new Map),nr="startTransition",De=Be[nr],ar="flushSync",Ne=_t[ar],ir="useId",Fe=Be[ir];function or(e){De?De(e):e()}function H(e){Ne?Ne(e):e()}let lr=class{constructor(){this.status="pending",this.promise=new Promise((t,r)=>{this.resolve=n=>{this.status==="pending"&&(this.status="resolved",t(n))},this.reject=n=>{this.status==="pending"&&(this.status="rejected",r(n))}})}};function Un(e){let{fallbackElement:t,router:r,future:n}=e,[a,i]=o.useState(r.state),[u,l]=o.useState(),[s,c]=o.useState({isTransitioning:!1}),[m,f]=o.useState(),[d,y]=o.useState(),[h,E]=o.useState(),S=o.useRef(new Map),{v7_startTransition:R}=n||{},w=o.useCallback(x=>{R?or(x):x()},[R]),v=o.useCallback((x,_)=>{let{deletedFetchers:T,flushSync:k,viewTransitionOpts:C}=_;T.forEach(D=>
10S.current.delete(D)),x.fetchers.forEach((D,O)=>{D.data!==void 0&&S.current.set(O,D.data)});let se=r.window==null||r.window.document==null||typeof r.window.document.startViewTransition!="function";if(!C||se){k?H(()=>i(x)):w(()=>i(x));return}if(k){H(()=>{d&&(m&&m.resolve(),d.skipTransition()),c({isTransitioning:!0,flushSync:!0,currentLocation:C.currentLocation,nextLocation:C.nextLocation})});let D=r.window.document.startViewTransition(()=>{H(()=>i(x))});D.finished.finally(()=>{H(()=>{f(void 0),y(void 0),l(void 0),c({isTransitioning:!1})})}),H(()=>y(D));return}d?(m&&m.resolve(),d.skipTransition(),E({state:x,currentLocation:C.currentLocation,nextLocation:C.nextLocation})):(l(x),c({isTransitioning:!0,flushSync:!1,currentLocation:C.currentLocation,nextLocation:C.nextLocation}))},[r.window,d,m,S,w]);o.useLayoutEffect(()=>r.subscribe(v),[r,v]),o.useEffect(()=>{s.isTransitioning&&!s.flushSync&&f(new lr)},[s]),o.useEffect(()=>{if(m&&u&&r.window){let x=u,_=m.promise,T=r.window.document.startViewTransition(async()=>{w(()=>i(x)),await _});T.finished.finally(()=>{f(void 0),y(void 0),l(void 0),c({isTransitioning:!1})}),y(T)}},[w,u,m,r.window]),o.useEffect(()=>{m&&u&&a.location.key===u.location.key&&m.resolve()},[m,d,a.location,u]),o.useEffect(()=>{!s.isTransitioning&&h&&(l(h.state),c({isTransitioning:!0,flushSync:!1,currentLocation:h.currentLocation,nextLocation:h.nextLocation}),E(void 0))},[s.isTransitioning,h]),o.useEffect(()=>{},[]);let p=o.useMemo(()=>({createHref:r.createHref,encodeLocation:r.encodeLocation,go:x=>r.navigate(x),push:(x,_,T)=>r.navigate(x,{state:_,preventScrollReset:T==null?void 0:T.preventScrollReset}),replace:(x,_,T)=>r.navigate(x,{replace:!0,state:_,preventScrollReset:T==null?void 0:T.preventScrollReset})}),[r]),b=r.basename||"/",g=o.useMemo(()=>({router:r,navigator:p,static:!1,basename:b}),[r,p,b]),L=o.useMemo(()=>({v7_relativeSplatPath:r.future.v7_relativeSplatPath}),[r.future.v7_relativeSplatPath]);return o.useEffect(()=>Tt(n,r.future),[n,r.future]),o.createElement(o.Fragment,null,o.createElement(ve.Provider,{value:g},o.createElement(te.Provider,{value:a},o.createElement(Qe.Provider,{value:S.current},o.createElement(Ze.Provider,{value:s},o.createElement(Pt,{basename:b,location:a.location,navigationType:a.historyAction,navigator:p,future:L},a.initialized||r.future.v7_partialHydration?o.createElement(sr,{routes:r.routes,future:r.future,state:a}):t))))),null)}const sr=o.memo(ur);function ur(e){let{routes:t,future:r,state:n}=e;return Ct(t,void 0,n,r)}const cr=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",dr=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,qe=o.forwardRef(function(t,r){let{onClick:n,relative:a,reloadDocument:i,replace:u,state:l,target:s,to:c,preventScrollReset:m,viewTransition:f}=t,d=Se(t,qt),{basename:y}=o.useContext(z),h,E=!1;if(typeof c=="string"&&dr.test(c)&&(h=c,cr))try{let v=new URL(window.location.href),p=c.startsWith("//")?new URL(v.protocol+c):new URL(c),b=I(p.pathname,y);p.origin===v.origin&&b!=null?c=b+p.search+p.hash:E=!0}catch{}let S=Ee(c,{relative:a}),R=hr(c,{replace:u,state:l,target:s,preventScrollReset:m,relative:a,viewTransition:f});function w(v){n&&n(v),v.defaultPrevented||R(v)}return o.createElement("a",A({},d,{href:h||S,onClick:E||i?n:w,ref:r,target:s}))}),fr=o.forwardRef(function(t,r){let{"aria-current":n="page",caseSensitive:a=!1,className:i="",end:u=!1,style:l,to:s,viewTransition:c,children:m}=t,f=Se(t,er),d=re(s,{relative:f.relative}),y=j(),h=o.useContext(te),{navigator:E,basename:S}=o.useContext(z),R=h!=null&&vr(d)&&c===!0,w=E.encodeLocation?E.encodeLocation(d).pathname:d.pathname,v=y.pathname,p=h&&h.navigation&&h.navigation.location?h.navigation.location.pathname:null;a||(v=v.toLowerCase(),p=p?p.toLowerCase():null,w=w.toLowerCase()),p&&S&&(p=I(p,S)||p);const b=w!=="/"&&w.endsWith("/")?w.length-1:w.length;let g=v===w||!u&&v.startsWith(w)&&v.charAt(b)==="/",L=p!=null&&(p===w||!u&&p.startsWith(w)&&p.charAt(w.length)==="/"),x={isActive:g,isPending:L,isTransitioning:R},_=g?n:void 0,T;typeof i=="function"?T=i(x):T=[i,g?"active":null,L?"pending":null,R?"transitioning":null].filter(
10Boolean).join(" ");let k=typeof l=="function"?l(x):l;return o.createElement(qe,A({},f,{"aria-current":_,className:T,ref:r,style:k,to:s,viewTransition:c}),typeof m=="function"?m(x):m)}),et=o.forwardRef((e,t)=>{let{fetcherKey:r,navigate:n,reloadDocument:a,replace:i,state:u,method:l=X,action:s,onSubmit:c,relative:m,preventScrollReset:f,viewTransition:d}=e,y=Se(e,tr),h=nt(),E=yr(s,{relative:m}),S=l.toLowerCase()==="get"?"get":"post",R=w=>{if(c&&c(w),w.defaultPrevented)return;w.preventDefault();let v=w.nativeEvent.submitter,p=(v==null?void 0:v.getAttribute("formmethod"))||l;h(v||w.currentTarget,{fetcherKey:r,method:p,navigate:n,replace:i,state:u,relative:m,preventScrollReset:f,viewTransition:d})};return o.createElement("form",A({ref:t,method:S,action:E,onSubmit:a?c:R},y))});var $;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})($||($={}));var q;(function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"})(q||(q={}));function ae(e){let t=o.useContext(ve);return t||F(!1),t}function tt(e){let t=o.useContext(te);return t||F(!1),t}function hr(e,t){let{target:r,replace:n,state:a,preventScrollReset:i,relative:u,viewTransition:l}=t===void 0?{}:t,s=Ve(),c=j(),m=re(e,{relative:u});return o.useCallback(f=>{if(Wt(f,r)){f.preventDefault();let d=n!==void 0?n:me(c)===me(m);s(e,{replace:d,state:a,preventScrollReset:i,relative:u,viewTransition:l})}},[c,s,m,n,a,r,e,i,u,l])}function Hn(e){let t=o.useRef(pe(e)),r=o.useRef(!1),n=j(),a=o.useMemo(()=>Xt(n.search,r.current?null:t.current),[n.search]),i=Ve(),u=o.useCallback((l,s)=>{const c=pe(typeof l=="function"?l(a):l);r.current=!0,i("?"+c,s)},[i,a]);return[a,u]}function mr(){if(typeof document>"u")throw new Error("You are calling submit during the server render. Try calling submit within a `useEffect` or callback instead.")}let pr=0,rt=()=>"__"+String(++pr)+"__";function nt(){let{router:e}
10=ae($.UseSubmit),{basename:t}=o.useContext(z),r=kt();return o.useCallback(function(n,a){a===void 0&&(a={}),mr();let{action:i,method:u,encType:l,formData:s,body:c}=Qt(n,t);if(a.navigate===!1){let m=a.fetcherKey||rt();e.fetch(m,r,a.action||i,{preventScrollReset:a.preventScrollReset,formData:s,body:c,formMethod:a.method||u,formEncType:a.encType||l,flushSync:a.flushSync})}else e.navigate(a.action||i,{preventScrollReset:a.preventScrollReset,formData:s,body:c,formMethod:a.method||u,formEncType:a.encType||l,replace:a.replace,state:a.state,fromRouteId:r,flushSync:a.flushSync,viewTransition:a.viewTransition})},[e,t,r])}function yr(e,t){let{relative:r}=t===void 0?{}:t,{basename:n}=o.useContext(z),a=o.useContext(Ye);a||F(!1);let[i]=a.matches.slice(-1),u=A({},re(e||".",{relative:r})),l=j();if(e==null){u.search=l.search;let s=new URLSearchParams(u.search),c=s.getAll("index");if(c.some(f=>f==="")){s.delete("index"),c.filter(d=>d).forEach(d=>s.append("index",d));let f=s.toString();u.search=f?"?"+f:""}}return(!e||e===".")&&i.route.index&&(u.search=u.search?u.search.replace(/^\?/,"?index&"):"?index"),n!=="/"&&(u.pathname=u.pathname==="/"?n:Ot([n,u.pathname])),me(u)}function wr(e){var t;let{key:r}=e===void 0?{}:e,{router:n}=ae($.UseFetcher),a=tt(q.UseFetcher),i=o.useContext(Qe),u=o.useContext(Ye),l=(t=u.matches[u.matches.length-1])==null?void 0:t.route.id;i||F(!1),u||F(!1),l==null&&F(!1);let s=Fe?Fe():"",[c,m]=o.useState(r||s);r&&r!==c?m(r):c||m(rt()),o.useEffect(()=>(n.getFetcher(c),()=>{n.deleteFetcher(c)}),[n,c]);let f=o.useCallback((w,v)=>{l||F(!1),n.fetch(c,l,w,v)},[c,l,n]),d=nt(),y=o.useCallback((w,v)=>{d(w,A({},v,{navigate:!1,fetcherKey:c}))},[c,d]),h=o.useMemo(()=>o.forwardRef((v,p)=>o.createElement(et,A({},v,{navigate:!1,fetcherKey:c,ref:p}))),[c]),E=a.fetchers.get(c)||At,S=i.get(c);return o.useMemo(()=>A({Form:h,submit:y,load:f},E,{data:S}),[h,y,f,E,S])}const Ie="react-router-scroll-positions";let V={};function Mn(e){let{getKey:t,storageKey:r}=e===void 0?{}:e,{router:n}=ae($.UseScrollRestoration),{restoreScrollPosition:a,preventScrollReset:i}=tt(q.UseScrollRestoration),{basename:u}=o.useContext(z),l=j(),s=Ke(),c=Dt();o.useEffect(()=>(window.history.scrollRestoration="manual",()=>{window.history.scrollRestoration="auto"}),[]),gr(o.useCallback(()=>{if(c.state==="idle"){let m=(t?t(l,s):null)||l.key;V[m]=window.scrollY}try{sessionStorage.setItem(r||Ie,JSON.stringify(V))}catch{}window.history.scrollRestoration="auto"},[r,t,c.state,l,s])),typeof document<"u"&&(o.useLayoutEffect(()=>{try{let m=sessionStorage.getItem(r||Ie);m&&(V=JSON.parse(m))}catch{}},[r]),o.useLayoutEffect(()=>{let m=t&&u!=="/"?(d,y)=>t(A({},d,{pathname:I(d.pathname,u)||d.pathname}),y):t,f=n==null?void 0:n.enableScrollRestoration(V,()=>window.scrollY,m);return()=>f&&f()},[n,u,t]),o.useLayoutEffect(()=>{if(a!==!1){if(typeof a=="number"){window.scrollTo(0,a);return}if(l.hash){let m=document.getElementById(decodeURIComponent(l.hash.slice(1)));if(m){m.scrollIntoView();return}}i!==!0&&window.scrollTo(0,0)}},[l,a,i]))}function gr(e,t){let{capture:r}={};o.useEffect(()=>{let n=r!=null?{capture:r}:void 0;return window.addEventListener("pagehide",e,n),()=>{window.removeEventListener("pagehide",e,n)}},[e,r])}function vr(e,t){t===void 0&&(t={});let r=o.useContext(Ze);r==null&&F(!1);let{basename:n}=ae($.useViewTransitionState),a=re(e,{relative:t.relative});if(!r.isTransitioning)return!1;let i=I(r.currentLocation.pathname,n)||r.currentLocation.pathname,u=I(r.nextLocation.pathname,n)||r.nextLocation.pathname;return Ae(a.pathname,u)!=null||Ae(a.pathname,i)!=null}var Er=-1,Sr=-2,Rr=-3,xr=-4,br=-5,Lr=-6,_r=-7,Tr="B",Pr="D",at="E",Cr="M",kr="N",it="P",Or="R",Ar="S",Dr="Y",Nr="U",Fr="Z",ot=class{constructor(){J(this,"promise");J(this,"resolve");J(this,"reject");this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}};function Ir(){const e=new TextDecoder;let t="";return new TransformStream({transform(r,n){const a=e.decode(r,{stream:!0}),i=(t+a).split(`
11`);t=i.pop()||"";for(const u of i)n.enqueue(u)},flush(r){t&&r.enqueue(t)}})}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var fe=typeof window<"u"?window:typeof globalThis<"u"?globalThis:void 0;function ye(e){const{hydrated:t,values:r}=this;if(typeof e=="number")return je.call(this,e);if(!Array.isArray(e)||!e.length)throw new SyntaxError;const n=r.length;for(const a of e)r.push(a);return t.length=r.length,je.call(this,n)}function je(e){const{hydrated:t,values:r,deferred:n,plugins:a}=this;let i;const u=[[e,s=>{i=s}]];let l=[];for(;u.length>0;){const[s,c]=u.pop();switch(s){case _r:c(void 0);continue;case br:c(null);continue;case Sr:c(NaN);continue;case Lr:c(1/0);continue;case Rr:c(-1/0);continue;case xr:c(-0);continue}if(t[s]){c(t[s]);continue}const m=r[s];if(!m||typeof m!="object"){t[s]=m,c(m);continue}if(Array.isArray(m))if(typeof m[0]=="string"){const[f,d,y]=m;switch(f){case Pr:c(t[s]=new Date(d));continue;case Nr:c(t[s]=new URL(d));continue;case Tr:c(t[s]=BigInt(d));continue;case Or:c(t[s]=new RegExp(d,y));continue;case Dr:c(t[s]=Symbol.for(d));continue;case Ar:const h=new Set;t[s]=h;for(let p=1;p<m.length;p++)u.push([m[p],b=>{h.add(b)}]);c(h);continue;case Cr:const E=new Map;t[s]=E;for(let p=1;p<m.length;p+=2){const b=[];u.push([m[p+1],g=>{b[1]=g}]),u.push([m[p],g=>{b[0]=g}]),l.push(()=>{E.set(b[0],b[1])})}c(E);continue;case kr:const S=Object.create(null);t[s]=S;for(const p of Object.keys(d).reverse()){const b=[];u.push([d[p],g=>{b[1]=g}]),u.push([Number(p.slice(1)),g=>{b[0]=g}]),l.push(()=>{S[b[0]]=b[1]})}c(S);continue;case it:if(t[d])c(t[s]=t[d]);else{const p=new ot;n[d]=p,c(t[s]=p.promise)}continue;case at:const[,R,w]=m;let v=w&&fe&&fe[w]?new fe[w](R):new Error(R);t[s]=v,c(v);continue;case Fr:c(t[s]=t[d]);continue;default:if(Array.isArray(a)){const p=[],b=m.slice(1);for(let g=0;g<b.length;g++){const L=b[g];u.push([L,x=>{p[g]=x}])}l.push(()=>{for(const g of a){const L=g(m[0],...p);if(L){c(t[s]=L.value);return}}throw new SyntaxError});continue}throw new SyntaxError}}else{const f=[];t[s]=f;for(let d=0;d<m.length;d++){const y=m[d];y!==Er&&u.push([y,h=>{f[d]=h}])}c(f);continue}else{const f={};t[s]=f;for(const d of Object.keys(m).reverse()){const y=[];u.push([m[d],h=>{y[1]=h}]),u.push([Number(d.slice(1)),h=>{y[0]=h}]),l.push(()=>{f[y[0]]=y[1]})}c(f);continue}}for(;l.length>0;)l.pop()();return i}async function jr(e,t){const{plugins:r}=t,n=new ot,a=e.pipeThrough(Ir()).getReader(),i={values:[],hydrated:[],deferred:{},plugins:r},u=await $r.call(i,a);let l=n.promise;
11return u.done?n.resolve():l=Ur.call(i,a).then(n.resolve).catch(s=>{for(const c of Object.values(i.deferred))c.reject(s);n.reject(s)}),{done:l.then(()=>a.closed),value:u.value}}async function $r(e){const t=await e.read();if(!t.value)throw new SyntaxError;let r;try{r=JSON.parse(t.value)}catch{throw new SyntaxError}return{done:t.done,value:ye.call(this,r)}}async function Ur(e){let t=await e.read();for(;!t.done;){if(!t.value)continue;const r=t.value;switch(r[0]){case it:{const n=r.indexOf(":"),a=Number(r.slice(1,n)),i=this.deferred[a];if(!i)throw new Error(`Deferred ID ${a} not found in stream`);const u=r.slice(n+1);let l;try{l=JSON.parse(u)}catch{throw new SyntaxError}const s=ye.call(this,l);i.resolve(s);break}case at:{const n=r.indexOf(":"),a=Number(r.slice(1,n)),i=this.deferred[a];if(!i)throw new Error(`Deferred ID ${a} not found in stream`);const u=r.slice(n+1);let l;try{l=JSON.parse(u)}catch{throw new SyntaxError}const s=ye.call(this,l);i.reject(s);break}default:throw new SyntaxError}t=await e.read()}}/**
12 * @remix-run/server-runtime v2.15.2
13 *
14 * Copyright (c) Remix Software Inc.
15 *
16 * This source code is licensed under the MIT license found in the
17 * LICENSE.md file in the root directory of this source tree.
18 *
19 * @license MIT
20 */const lt=Symbol("SingleFetchRedirect");/**
21 * @remix-run/react v2.15.2
22 *
23 * Copyright (c) Remix Software Inc.
24 *
25 * This source code is licensed under the MIT license found in the
26 * LICENSE.md file in the root directory of this source tree.
27 *
28 * @license MIT
29 */function P(){return P=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},P.apply(this,arguments)}/**
30 * @remix-run/react v2.15.2
31 *
32 * Copyright (c) Remix Software Inc.
33 *
34 * This source code is licensed under the MIT license found in the
35 * LICENSE.md file in the root directory of this source tree.
36 *
37 * @license MIT
38 */function N(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}/**
39 * @remix-run/react v2.15.2
40 *
41 * Copyright (c) Remix Software Inc.
42 *
43 * This source code is licensed under the MIT license found in the
44 * LICENSE.md file in the root directory of this source tree.
45 *
46 * @license MIT
47 */async function st(e,t){if(e.id in t)return t[e.id];try{let r=await import(e.module);return t[e.id]=r,r}catch(r){return console.error(`Error loading route module \`${e.module}\`, reloading page...`),console.error(r),window.__remixContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}/**
48 * @remix-run/react v2.15.2
49 *
50 * Copyright (c) Remix Software Inc.
51 *
52 * This source code is licensed under the MIT license found in the
53 * LICENSE.md file in the root directory of this source tree.
54 *
55 * @license MIT
56 */function Hr(e,t,r){let n=e.map(i=>{var u;let l=t[i.route.id],s=r.routes[i.route.id];return[s.css?s.css.map(c=>({rel:"stylesheet",href:c})):[],(l==null||(u=l.links)===null||u===void 0?void 0:u.call(l))||[]]}).flat(2),a=Yr(e,r);return ct(n,a)}async function ut(e,t){var r,n;if(!e.css&&!t.links||!Wr())return;let a=[((r=e.css)===null||r===void 0?void 0:r.map(l=>({rel:"stylesheet",href:l})))??[],((n=t.links)===null||n===void 0?void 0:n.call(t))??[]].flat(1);if(a.length===0)return;let i=[];for(let l of a)!Re(l)&&l.rel==="stylesheet"&&i.push({...l,rel:"preload",as:"style"});let u=i.filter(l=>(!l.media||window.matchMedia(l.media).matches)&&!document.querySelector(`link[rel="stylesheet"][href="${l.href}"]`));await Promise.all(u.map(Mr))}async function Mr(e){return new Promise(t=>{let r=document.createElement("link");Object.assign(r,e);function n(){document.head.contains(r)&&document.head.removeChild(r)}r.onload=()=>{n(),t()},r.onerror=()=>{n(),t()},document.head.appendChild(r)})}function Re(e){return e!=null&&typeof e.page=="string"}function zr(e){return e==null?!1:e.href==null?e.rel==="preload"&&typeof e.imageSrcSet=="string"&&typeof e.imageSizes=="string":typeof e.rel=="string"&&typeof e.href=="string"}async function Jr(e,t,r){let n=await Promise.all(e.map(async a=>{let i=await st(t.routes[a.route.id],r);return i.links?i.links():[]}));return ct(n.flat(1).filter(zr).filter(a=>a.rel==="stylesheet"||a.rel==="preload").map(a=>a.rel==="stylesheet"?{...a,rel:"prefetch",as:"style"}:{...a,rel:"prefetch"}))}function $e(e,t,r,n,a,i,u){let l=dt(e),s=(f,d)=>r[d]?f.route.id!==r[d].route.id:!0,c=(f,d)=>{var y;return r[d].pathname!==f.pathname||((y=r[d].route.path)===null||y===void 0?void 0:y.endsWith("*"))&&r[d].params["*"]!==f.params["*"]};return u==="data"&&(i.v3_singleFetch||a.search!==l.search)?t.filter((f,d)=>{if(!n.routes[f.route.id].hasLoader)return!1;if(s(f,d)||c(f,d))return!0;let h=i.v3_singleFetch||a.search!==l.search;if(f.route.shouldRevalidate){var E;let S=f.route.shouldRevalidate({currentUrl:new URL(a.pathname+a.search+a.hash,window.origin),currentParam
56s:((E=r[0])===null||E===void 0?void 0:E.params)||{},nextUrl:new URL(e,window.origin),nextParams:f.params,defaultShouldRevalidate:h});if(typeof S=="boolean")return S}return h}):t.filter((f,d)=>{let y=n.routes[f.route.id];return(u==="assets"||y.hasLoader)&&(s(f,d)||c(f,d))})}function Br(e,t,r){let n=dt(e);return xe(t.filter(a=>r.routes[a.route.id].hasLoader&&!r.routes[a.route.id].hasClientLoader).map(a=>{let{pathname:i,search:u}=n,l=new URLSearchParams(u);return l.set("_data",a.route.id),`${i}?${l}`}))}function Vr(e,t){return xe(e.map(r=>{let n=t.routes[r.route.id],a=[n.module];return n.imports&&(a=a.concat(n.imports)),a}).flat(1))}function Yr(e,t){return xe(e.map(r=>{let n=t.routes[r.route.id],a=[n.module];return n.imports&&(a=a.concat(n.imports)),a}).flat(1))}function xe(e){return[...new Set(e)]}function Kr(e){let t={},r=Object.keys(e).sort();for(let n of r)t[n]=e[n];return t}function ct(e,t){let r=new Set,n=new Set(t);return e.reduce((a,i)=>{if(t&&!Re(i)&&i.as==="script"&&i.href&&n.has(i.href))return a;let l=JSON.stringify(Kr(i));return r.has(l)||(r.add(l),a.push({key:l,link:i})),a},[])}function dt(e){let t=Nt(e);return t.search===void 0&&(t.search=""),t}let Y;function Wr(){if(Y!==void 0)return Y;let e=document.createElement("link");return Y=e.relList.supports("preload"),e=null,Y}/**
57 * @remix-run/react v2.15.2
58 *
59 * Copyright (c) Remix Software Inc.
60 *
61 * This source code is licensed under the MIT license found in the
62 * LICENSE.md file in the root directory of this source tree.
63 *
64 * @license MIT
65 */const Xr={"&":"\\u0026",">":"\\u003e","<":"\\u003c","\u2028":"\\u2028","\u2029":"\\u2029"},Gr=/[&><\u2028\u2029]/g;function K(e){return e.replace(Gr,t=>Xr[t])}function Ue(e){return{__html:e}}/**
66 * @remix-run/react v2.15.2
67 *
68 * Copyright (c) Remix Software Inc.
69 *
70 * This source code is licensed under the MIT license found in the
71 * LICENSE.md file in the root directory of this source tree.
72 *
73 * @license MIT
74 */function Zr(e){return e.headers.get("X-Remix-Catch")!=null}function Qr(e){return e.headers.get("X-Remix-Error")!=null}function qr(e){return be(e)&&e.status>=400&&e.headers.get("X-Remix-Error")==null&&e.headers.get("X-Remix-Catch")==null&&e.headers.get("X-Remix-Response")==null}function en(e){return e.headers.get("X-Remix-Redirect")!=null}function tn(e){var t;return!!((t=e.headers.get("Content-Type"))!==null&&t!==void 0&&t.match(/text\/remix-deferred/))}function be(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.headers=="object"&&typeof e.body<"u"}function rn(e){let t=e;return t&&typeof t=="object"&&typeof t.data=="object"&&typeof t.subscribe=="function"&&typeof t.cancel=="function"&&typeof t.resolveData=="function"}async function ft(e,t,r=0){let n=new URL(e.url);n.searchParams.set("_data",t),r>0&&await new Promise(l=>setTimeout(l,5**r*10));let a=await ie(e),i=window.__remixRevalidation,u=await fetch(n.href,a).catch(l=>{if(typeof i=="number"&&i===window.__remixRevalidation&&(l==null?void 0:l.name)==="TypeError"&&r<3)return ft(e,t,r+1);throw l});if(Qr(u)){let l=await u.json(),s=new Error(l.message);return s.stack=l.stack,s}if(qr(u)){let l=await u.text(),s=new Error(l);return s.stack=void 0,s}return u}async function ie(e){let t={signal:e.signal};if(e.method!=="GET"){t.method=e.method;let r=e.headers.get("Content-Type");r&&/\bapplication\/json\b/.test(r)?(t.headers={"Content-Type":r},t.body=JSON.stringify(await e.json())):r&&/\btext\/plain\b/.test(r)?(t.headers={"Content-Type":r},t.body=await e.text()):r&&/\bapplication\/x-www-form-urlencoded\b/.test(r)?t.body=new URLSearchParams(await e.text()):t.body=await e.formData()}return t}const nn="__deferred_promise:";async function an(e){if(!e)throw new Error("parseDeferredReadableStream requires stream argument");let t,r={};try{let n=on(e),i=(await n.next()).value;if(!i)throw new Error("no critical data");let u=JSON.parse(i);if(typeof u=="object"&&u!==null)for(let[l,s]of Object.entries(u))typeof s!="string"||!s.startsWith(nn)||(t=t||{},t[l]=new Promise((c,m)=>{r[l]={resolve:f=>{c(f),delete r[l]},reject:f=>{m(f),delete r[l]}}}));return(async()=>{try{for await(let l of n){let[s,...c]=l.split(":"),m=c.join(":"),f=JSON.parse(m);
74if(s==="data")for(let[d,y]of Object.entries(f))r[d]&&r[d].resolve(y);else if(s==="error")for(let[d,y]of Object.entries(f)){let h=new Error(y.message);h.stack=y.stack,r[d]&&r[d].reject(h)}}for(let[l,s]of Object.entries(r))s.reject(new Ft(`Deferred ${l} will never be resolved`))}catch(l){for(let s of Object.values(r))s.reject(l)}})(),new It({...u,...t})}catch(n){for(let a of Object.values(r))a.reject(n);throw n}}async function*on(e){let t=e.getReader(),r=[],n=[],a=!1,i=new TextEncoder,u=new TextDecoder,l=async()=>{if(n.length>0)return n.shift();for(;!a&&n.length===0;){let c=await t.read();if(c.done){a=!0;break}r.push(c.value);try{let f=u.decode(He(...r)).split(`
75
76`);if(f.length>=2&&(n.push(...f.slice(0,-1)),r=[i.encode(f.slice(-1).join(`
77
78`))]),n.length>0)break}catch{continue}}return n.length>0||r.length>0&&(n=u.decode(He(...r)).split(`
79
80`).filter(m=>m),r=[]),n.shift()},s=await l();for(;s;)yield s,s=await l()}function He(...e){let t=new Uint8Array(e.reduce((n,a)=>n+a.length,0)),r=0;for(let n of e)t.set(n,r),r+=n.length;return t}/**
81 * @remix-run/react v2.15.2
82 *
83 * Copyright (c) Remix Software Inc.
84 *
85 * This source code is licensed under the MIT license found in the
86 * LICENSE.md file in the root directory of this source tree.
87 *
88 * @license MIT
89 */function zn(e,t,r){return async({request:n,matches:a,fetcherKey:i})=>n.method!=="GET"?ln(n,a):i?un(n,a):sn(e,t,r(),n,a)}async function ln(e,t){let r=t.find(i=>i.shouldLoad);N(r,"No action match found");let n,a=await r.resolve(async i=>await i(async()=>{let l=oe(e.url),s=await ie(e),{data:c,status:m}=await Le(l,s);return n=m,we(c,r.route.id)}));return be(a.result)||We(a.result)?{[r.route.id]:a}:{[r.route.id]:{type:a.type,result:jt(a.result,n)}}}async function sn(e,t,r,n,a){let i=new Set,u=!1,l=a.map(()=>Me()),s=Promise.all(l.map(h=>h.promise)),c=Me(),m=mt(oe(n.url)),f=await ie(n),d={},y=Promise.all(a.map(async(h,E)=>h.resolve(async S=>{if(l[E].resolve(),!h.shouldLoad){var R;if(!r.state.initialized)return;if(h.route.id in r.state.loaderData&&e.routes[h.route.id].hasLoader&&(R=t[h.route.id])!==null&&R!==void 0&&R.shouldRevalidate){u=!0;return}}if(e.routes[h.route.id].hasClientLoader){e.routes[h.route.id].hasLoader&&(u=!0);try{let w=await ht(S,m,f,h.route.id);d[h.route.id]={type:"data",result:w}}catch(w){d[h.route.id]={type:"error",result:w}}return}e.routes[h.route.id].hasLoader&&i.add(h.route.id);try{let w=await S(async()=>{let v=await c.promise;return pt(v,h.route.id)});d[h.route.id]={type:"data",result:w}}catch(w){d[h.route.id]={type:"error",result:w}}})));if(await s,(!r.state.initialized||i.size===0)&&!window.__remixHdrActive)c.resolve({});else try{u&&i.size>0&&m.searchParams.set("_routes",a.filter(E=>i.has(E.route.id)).map(E=>E.route.id).join(","));let h=await Le(m,f);c.resolve(h.data)}catch(h){c.reject(h)}return await y,d}async function un(e,t){let r=t.find(a=>a.shouldLoad);N(r,"No fetcher match found");let n=await r.resolve(async a=>{let i=mt(oe(e.url)),u=await ie(e);return ht(a,i,u,r.route.id)});return{[r.route.id]:n}}function ht(e,t,r,n){return e(async()=>{let a=new URL(t);a.searchParams.set("_routes",n);let{data:i}=await Le(a,r);return pt(i,n)})}function mt(e){let t=e.searchParams.getAll("index");e.searchParams.delete("index");let r=[];for(let n of t)n&&r.push(n);for(let n of r)e.searchParams.append("index",n);return e}function oe(e){let t=typeof e=="string"?new URL(e,window.location.origin):e;return t.pathname==="/"?t.pathname="_root.data":t.pathname=`${t.pathname.replace(/\/$/,"")}.data`,t}async function Le(e,t){let r=await fetch(e,t);N(r.body,"No response body to decode");try{let n=await cn(r.body,window);return{status:r.status,data:n.value}}catch(n){throw console.error(n),new Error(`Unable to decode turbo-stream response from URL: ${e.toString()}`)}}function cn(e,t){return jr(e,{plugins:[(r,...n)=>{if(r==="SanitizedError"){let[a,i,u]=n,l=Error;a&&a in t&&typeof t[a]=="function"&&(l=t[a]);let s=new l(i);return s.stack=u,{value:s}}if(r==="ErrorResponse"){let[a,i,u]=n;return{value:new Q(i,u,a)}}if(r==="SingleFetchRedirect")return{value:{[lt]:n[0]}}},(r,n)=>{if(r==="SingleFetchFallback")return{value:void 0};if(r==="SingleFetchClassInstance")return{value:n}}]})}function pt(e,t){let r=e[lt];return r?we(r,t):e[t]!==void 0?we(e[t],t):null}function we(e,t){if("error"in e)throw e.error;if("redirect"in e){let r={};throw e.revalidate&&(r["X-Remix-Revalidate"]="yes"),e.reload&&(r["X-Remix-Reload-Document"]="yes"),e.replace&&(r["X-Remix-Replace"]="yes"),Xe(e.redirect,{status:e.status,headers:r})}else{if("data"in e)return e.data;throw new Error(`No response found for routeId "${t}"`)}}function Me(){let e,t,r=new Promise((n,a)=>{e=async i=>{n(i);try{await r}catch{}},t=async i=>{a(i);try{await r}catch{}}});return{promise:r,resolve:e,reject:t}}/**
90 * @remix-run/react v2.15.2
91 *
92 * Copyright (c) Remix Software Inc.
93 *
94 * This source code is licensed under the MIT license found in the
95 * LICENSE.md file in the root directory of this source tree.
96 *
97 * @license MIT
98 */class Jn extends o.Component{constructor(t){super(t),this.state={error:t.error||null,location:t.location}}static getDerivedStateFromError(t){return{error:t}}static getDerivedStateFromProps(t,r){return r.location!==t.location?{error:t.error||null,location:t.location}:{error:t.error||r.error,location:r.location}}render(){return this.state.error?o.createElement(yt,{error:this.state.error,isOutsideRemixApp:!0}):this.props.children}}function yt({error:e,isOutsideRemixApp:t}){console.error(e);let r=o.createElement("script",{dangerouslySetInnerHTML:{__html:`
99        console.log(
100          "💿 Hey developer 👋. You can provide a way better UX than this when your app throws errors. Check out https://remix.run/guides/errors for more information."
101        );
102      `}});if(We(e))return o.createElement(ge,{title:"Unhandled Thrown Response!"},o.createElement("h1",{style:{fontSize:"24px"}},e.status," ",e.statusText),r);let n;if(e instanceof Error)n=e;else{let a=e==null?"Unknown Error":typeof e=="object"&&"toString"in e?e.toString():JSON.stringify(e);n=new Error(a)}
102return o.createElement(ge,{title:"Application Error!",isOutsideRemixApp:t},o.createElement("h1",{style:{fontSize:"24px"}},"Application Error"),o.createElement("pre",{style:{padding:"2rem",background:"hsla(10, 50%, 50%, 0.1)",color:"red",overflow:"auto"}},n.stack),r)}function ge({title:e,renderScripts:t,isOutsideRemixApp:r,children:n}){var a;let{routeModules:i}=U();return(a=i.root)!==null&&a!==void 0&&a.Layout&&!r?n:o.createElement("html",{lang:"en"},o.createElement("head",null,o.createElement("meta",{charSet:"utf-8"}),o.createElement("meta",{name:"viewport",content:"width=device-width,initial-scale=1,viewport-fit=cover"}),o.createElement("title",null,e)),o.createElement("body",null,o.createElement("main",{style:{fontFamily:"system-ui, sans-serif",padding:"2rem"}},n,t?o.createElement(On,null):null)))}/**
103 * @remix-run/react v2.15.2
104 *
105 * Copyright (c) Remix Software Inc.
106 *
107 * This source code is licensed under the MIT license found in the
108 * LICENSE.md file in the root directory of this source tree.
109 *
110 * @license MIT
111 */function dn(){return o.createElement(ge,{title:"Loading...",renderScripts:!0},o.createElement("script",{dangerouslySetInnerHTML:{__html:`
112              console.log(
113                "💿 Hey developer 👋. You can provide a way better UX than this " +
114                "when your app is loading JS modules and/or running \`clientLoader\` " +
115                "functions. Check out https://remix.run/route/hydrate-fallback " +
116                "for more information."
117              );
118            `}}))}/**
119 * @remix-run/react v2.15.2
120 *
121 * Copyright (c) Remix Software Inc.
122 *
123 * This source code is licensed under the MIT license found in the
124 * LICENSE.md file in the root directory of this source tree.
125 *
126 * @license MIT
127 */function wt(e){let t={};return Object.values(e).forEach(r=>{let n=r.parentId||"";t[n]||(t[n]=[]),t[n].push(r)}),t}function fn(e,t,r){let n=gt(t),a=t.HydrateFallback&&(!r||e.id==="root")?t.HydrateFallback:e.id==="root"?dn:void 0,i=t.ErrorBoundary?t.ErrorBoundary:e.id==="root"?()=>o.createElement(yt,{error:$t()}):void 0;return e.id==="root"&&t.Layout?{...n?{element:o.createElement(t.Layout,null,o.createElement(n,null))}:{Component:n},...i?{errorElement:o.createElement(t.Layout,null,o.createElement(i,null))}:{ErrorBoundary:i},...a?{hydrateFallbackElement:o.createElement(t.Layout,null,o.createElement(a,null))}:{HydrateFallback:a}}:{Component:n,ErrorBoundary:i,HydrateFallback:a}}function Bn(e,t,r,n,a,i){return _e(t,r,n,a,i,"",wt(t),e)}function W(e,t,r){if(r){let u=`You cannot call ${e==="action"?"serverAction()":"serverLoader()"} in SPA Mode (routeId: "${t.id}")`;throw console.error(u),new Q(400,"Bad Request",new Error(u),!0)}let a=`You are trying to call ${e==="action"?"serverAction()":"serverLoader()"} on a route that does not have a server ${e} (routeId: "${t.id}")`;if(e==="loader"&&!t.hasLoader||e==="action"&&!t.hasAction)throw console.error(a),new Q(400,"Bad Request",new Error(a),!0)}function he(e,t){let r=e==="clientAction"?"a":"an",n=`Route "${t}" does not have ${r} ${e}, but you are trying to submit to it. To fix this, please add ${r} \`${e}\` function to the route`;throw console.error(n),new Q(405,"Method Not Allowed",new Error(n),!0)}function _e(e,t,r,n,a,i="",u=wt(e),l){return(u[i]||[]).map(s=>{let c=t[s.id];async function m(v,p,b){if(typeof b=="function")return await b();let g=await pn(v,s);return p?yn(g):g}function f(v,p,b){return s.hasLoader?m(v,p,b):Promise.resolve(null)}function d(v,p,b){if(!s.hasAction)throw he("action",s.id);return m(v,p,b)}async function y(v){let p=t[s.id],b=p?ut(s,p):Promise.resolve();try{return v()}finally{await b}}let h={id:s.id,index:s.index,path:s.path};if(c){var E,S,R;Object.assign(h,{...h,...fn(s,c,a),handle:c.handle,shouldRevalidate:ze(n,c,s.id,l)});let v=r==null||(E=r.loaderData)===null||E===void 0?void 0:E[s.id],p=r==null||(S=r.errors)===null||S===void 0?void 0:S[s.id],b=l==null&&(((R=c.clientLoader)===null||R===void 0?void 0:R.hydrate)===!0||!s.hasLoader);h.loader=async({request:g,params:L},x)=>{try{return await y(async()=>(N(c,"No `routeModule` available for critical-route loader"),c.clientLoader?c.clientLoader({request:g,params:L,async serverLoader(){if
127(W("loader",s,a),b){if(v!==void 0)return v;if(p!==void 0)throw p;return null}return f(g,!0,x)}}):a?null:f(g,!1,x)))}finally{b=!1}},h.loader.hydrate=gn(s,c,a),h.action=({request:g,params:L},x)=>y(async()=>{if(N(c,"No `routeModule` available for critical-route action"),!c.clientAction){if(a)throw he("clientAction",s.id);return d(g,!1,x)}return c.clientAction({request:g,params:L,async serverAction(){return W("action",s,a),d(g,!0,x)}})})}else s.hasClientLoader||(h.loader=({request:v},p)=>y(()=>a?Promise.resolve(null):f(v,!1,p))),s.hasClientAction||(h.action=({request:v},p)=>y(()=>{if(a)throw he("clientAction",s.id);return d(v,!1,p)})),h.lazy=async()=>{let v=await mn(s,t),p={...v};if(v.clientLoader){let b=v.clientLoader;p.loader=(g,L)=>b({...g,async serverLoader(){return W("loader",s,a),f(g.request,!0,L)}})}if(v.clientAction){let b=v.clientAction;p.action=(g,L)=>b({...g,async serverAction(){return W("action",s,a),d(g.request,!0,L)}})}return{...p.loader?{loader:p.loader}:{},...p.action?{action:p.action}:{},hasErrorBoundary:p.hasErrorBoundary,shouldRevalidate:ze(n,p,s.id,l),handle:p.handle,Component:p.Component,ErrorBoundary:p.ErrorBoundary}};let w=_e(e,t,r,n,a,s.id,u,l);return w.length>0&&(h.children=w),h})}function ze(e,t,r,n){if(n)return hn(r,t.shouldRevalidate,n);if(e.v3_singleFetch&&t.shouldRevalidate){let a=t.shouldRevalidate;return i=>a({...i,defaultShouldRevalidate:!0})}return t.shouldRevalidate}function hn(e,t,r){let n=!1;return a=>n?t?t(a):a.defaultShouldRevalidate:(n=!0,r.has(e))}async function mn(e,t){let r=await st(e,t);return await ut(e,r),{Component:gt(r),ErrorBoundary:r.ErrorBoundary,clientAction:r.clientAction,clientLoader:r.clientLoader,handle:r.handle,links:r.links,meta:r.meta,shouldRevalidate:r.shouldRevalidate}}async function pn(e,t){let r=await ft(e,t.id);if(r instanceof Error)throw r;if(en(r))throw wn(r);if(Zr(r))throw r;return tn(r)&&r.body?await an(r.body):r}function yn(e){if(rn(e))return e.data;if(be(e)){let t=e.headers.get("Content-Type");return t&&/\bapplication\/json\b/.test(t)?e.json():e.text()}return e}function wn(e){let t=parseInt(e.headers.get("X-Remix-Status"),10)||302,r=e.headers.get("X-Remix-Redirect"),n={},a=e.headers.get("X-Remix-Revalidate");a&&(n["X-Remix-Revalidate"]=a);let i=e.headers.get("X-Remix-Reload-Document");i&&(n["X-Remix-Reload-Document"]=i);let u=e.headers.get("X-Remix-Replace");return u&&(n["X-Remix-Replace"]=u),Xe(r,{status:t,headers:n})}function gt(e){if(e.default==null)return;if(!(typeof e.default=="object"&&Object.keys(e.default).length===0))return e.default}function gn(e,t,r){return r&&e.id!=="root"||t.clientLoader!=null&&(t.clientLoader.hydrate===!0||e.hasLoader!==!0)}/**
128 * @remix-run/react v2.15.2
129 *
130 * Copyright (c) Remix Software Inc.
131 *
132 * This source code is licensed under the MIT license found in the
133 * LICENSE.md file in the root directory of this source tree.
134 *
135 * @license MIT
136 */const G=new Set,vn=1e3,ee=new Set,En=7680;function Te(e,t){return e.v3_lazyRouteDiscovery===!0&&!t}function Sn(e,t){let r=new Set(t.state.matches.map(u=>u.route.id)),n=t.state.location.pathname.split("/").filter(Boolean),a=["/"];for(n.pop();n.length>0;)a.push(`/${n.join("/")}`),n.pop();a.forEach(u=>{let l=Ge(t.routes,u,t.basename);l&&l.forEach(s=>r.add(s.route.id))});let i=[...r].reduce((u,l)=>Object.assign(u,{[l]:e.routes[l]}),{});return{...e,routes:i}}function Vn(e,t,r,n,a){if(Te(r,n))return async({path:i,patch:u})=>{ee.has(i)||await vt([i],e,t,r,n,a,u)}}function Yn(e,t,r,n,a){o.useEffect(()=>{var i;if(!Te(n,a)||((i=navigator.connection)===null||i===void 0?void 0:i.saveData)===!0)return;function u(f){let d=f.tagName==="FORM"?f.getAttribute("action"):f.getAttribute("href");if(!d)return;let y=new URL(d,window.location.origin);ee.has(y.pathname)||G.add(y.pathname)}async function l(){let f=Array.from(G.keys()).filter(d=>ee.has(d)?(G.delete(d),!1):!0);if(f.length!==0)try{await vt(f,t,r,n,a,e.basename,e.patchRoutes)}catch(d){console.error("Failed to fetch manifest patches",d)}}document.body.querySelectorAll("a[data-discover], form[data-discover]").forEach(f=>u(f)),l();let s=xn(l,100);function c(f){return f.nodeType===Node.ELEMENT_NODE}let m=new MutationObserver(f=>{let d=new Set;f.forEach(y=>
136{[y.target,...y.addedNodes].forEach(h=>{c(h)&&((h.tagName==="A"&&h.getAttribute("data-discover")||h.tagName==="FORM"&&h.getAttribute("data-discover"))&&d.add(h),h.tagName!=="A"&&h.querySelectorAll("a[data-discover], form[data-discover]").forEach(E=>d.add(E)))})}),d.forEach(y=>u(y)),s()});return m.observe(document.documentElement,{subtree:!0,childList:!0,attributes:!0,attributeFilter:["data-discover","href","action"]}),()=>m.disconnect()},[n,a,t,r,e])}async function vt(e,t,r,n,a,i,u){let l=`${i??"/"}/__manifest`.replace(/\/+/g,"/"),s=new URL(l,window.location.origin);if(e.sort().forEach(h=>s.searchParams.append("p",h)),s.searchParams.set("version",t.version),s.toString().length>En){G.clear();return}let c=await fetch(s);if(c.ok){if(c.status>=400)throw new Error(await c.text())}else throw new Error(`${c.status} ${c.statusText}`);let m=await c.json(),f=new Set(Object.keys(t.routes)),d=Object.values(m).reduce((h,E)=>f.has(E.id)?h:Object.assign(h,{[E.id]:E}),{});Object.assign(t.routes,d),e.forEach(h=>Rn(h,ee));let y=new Set;Object.values(d).forEach(h=>{(!h.parentId||!d[h.parentId])&&y.add(h.parentId)}),y.forEach(h=>u(h||null,_e(d,r,null,n,a,h)))}function Rn(e,t){if(t.size>=vn){let r=t.values().next().value;typeof r=="string"&&t.delete(r)}t.add(e)}function xn(e,t){let r;return(...n)=>{window.clearTimeout(r),r=window.setTimeout(()=>e(...n),t)}}function Et(){let e=o.useContext(ve);return N(e,"You must render this element inside a <DataRouterContext.Provider> element"),e}function le(){let e=o.useContext(te);return N(e,"You must render this element inside a <DataRouterStateContext.Provider> element"),e}const St=o.createContext(void 0);St.displayName="Remix";function U(){let e=o.useContext(St);return N(e,"You must render this element inside a <Remix> element"),e}function Rt(e,t){let[r,n]=o.useState(!1),[a,i]=o.useState(!1),{onFocus:u,onBlur:l,onMouseEnter:s,onMouseLeave:c,onTouchStart:m}=t,f=o.useRef(null);o.useEffect(()=>{if(e==="render"&&i(!0),e==="viewport"){let h=S=>{S.forEach(R=>{i(R.isIntersecting)})},E=new IntersectionObserver(h,{threshold:.5});return f.current&&E.observe(f.current),()=>{E.disconnect()}}},[e]);let d=()=>{e==="intent"&&n(!0)},y=()=>{e==="intent"&&(n(!1),i(!1))};return o.useEffect(()=>{if(r){let h=setTimeout(()=>{i(!0)},100);return()=>{clearTimeout(h)}}},[r]),[a,f,{onFocus:M(u,d),onBlur:M(l,y),onMouseEnter:M(s,d),onMouseLeave:M(c,y),onTouchStart:M(m,d)}]}const Pe=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i;function Ce(e,t,r){return e==="render"&&!t&&!r?"true":void 0}let bn=o.forwardRef(({to:e,prefetch:t="none",discover:r="render",...n},a)=>{let i=typeof e=="string"&&Pe.test(e),u=Ee(e),[l,s,c]=Rt(t,n);return o.createElement(o.Fragment,null,o.createElement(fr,P({},n,c,{ref:xt(a,s),to:e,"data-discover":Ce(r,i,n.reloadDocument)})),l&&!i?o.createElement(Oe,{page:u}):null)});bn.displayName="NavLink";let Ln=o.forwardRef(({to:e,prefetch:t="none",discover:r="render",...n},a)=>{let i=typeof e=="string"&&Pe.test(e),u=Ee(e),[l,s,c]=Rt(t,n);return o.createElement(o.Fragment,null,o.createElement(qe,P({},n,c,{ref:xt(a,s),to:e,"data-discover":Ce(r,i,n.reloadDocument)})),l&&!i?o.createElement(Oe,{page:u}):null)});Ln.displayName="Link";let _n=o.forwardRef(({discover:e="render",...t},r)=>{let n=typeof t.action=="string"&&Pe.test(t.action);return o.createElement(et,P({},t,{ref:r,"data-discover":Ce(e,n,t.reloadDocument)}))});_n.displayName="Form";function M(e,t){return r=>{e&&e(r),r.defaultPrevented||t(r)}}function ke(e,t,r){if(r&&!Z)return[e[0]];if(t){let n=e.findIndex(a=>t[a.route.id]!==void 0);return e.slice(0,n+1)}return e}function Kn(){let{isSpaMode:e,manifest:t,routeModules:r,criticalCss:n}=U(),{errors:a,matches:i}=le(),u=ke(i,a,e),l=o.useMemo(()=>Hr(u,r,t),[u,r,t]);return o.createElement(o.Fragment,null,n?o.createElement("style",{dangerouslySetInnerHTML:{__html:n}}):null,l.map(({key:s,link:c})=>Re(c)?o.createElement(Oe,P({key:s},c)):o.createElement("link",P({key:s},c))))}function Oe({page:e,...t}){let{router:r}=Et(),n=o.useMemo(()=>Ge(r.routes,e,r.basename),[r.routes,e,r.basename]);return n?o.createElement(Pn,P({page:e,matches:n},t)):(console.warn(`Tried to prefetch ${e} but no routes matched.`),null)}function Tn(e){let{manifest:t,routeModules:r}
136=U(),[n,a]=o.useState([]);return o.useEffect(()=>{let i=!1;return Jr(e,t,r).then(u=>{i||a(u)}),()=>{i=!0}},[e,t,r]),n}function Pn({page:e,matches:t,...r}){let n=j(),{future:a,manifest:i,routeModules:u}=U(),{loaderData:l,matches:s}=le(),c=o.useMemo(()=>$e(e,t,s,i,n,a,"data"),[e,t,s,i,n,a]),m=o.useMemo(()=>{if(!a.v3_singleFetch)return Br(e,c,i);if(e===n.pathname+n.search+n.hash)return[];let h=new Set,E=!1;if(t.forEach(R=>{var w;i.routes[R.route.id].hasLoader&&(!c.some(v=>v.route.id===R.route.id)&&R.route.id in l&&(w=u[R.route.id])!==null&&w!==void 0&&w.shouldRevalidate||i.routes[R.route.id].hasClientLoader?E=!0:h.add(R.route.id))}),h.size===0)return[];let S=oe(e);return E&&h.size>0&&S.searchParams.set("_routes",t.filter(R=>h.has(R.route.id)).map(R=>R.route.id).join(",")),[S.pathname+S.search]},[a.v3_singleFetch,l,n,i,c,t,e,u]),f=o.useMemo(()=>$e(e,t,s,i,n,a,"assets"),[e,t,s,i,n,a]),d=o.useMemo(()=>Vr(f,i),[f,i]),y=Tn(f);return o.createElement(o.Fragment,null,m.map(h=>o.createElement("link",P({key:h,rel:"prefetch",as:"fetch",href:h},r))),d.map(h=>o.createElement("link",P({key:h,rel:"modulepreload",href:h},r))),y.map(({key:h,link:E})=>o.createElement("link",P({key:h},E))))}function Wn(){let{isSpaMode:e,routeModules:t}=U(),{errors:r,matches:n,loaderData:a}=le(),i=j(),u=ke(n,r,e),l=null;r&&(l=r[u[u.length-1].route.id]);let s=[],c=null,m=[];for(let f=0;f<u.length;f++){let d=u[f],y=d.route.id,h=a[y],E=d.params,S=t[y],R=[],w={id:y,data:h,meta:[],params:d.params,pathname:d.pathname,handle:d.route.handle,error:l};if(m[f]=w,S!=null&&S.meta?R=typeof S.meta=="function"?S.meta({data:h,params:E,location:i,matches:m,error:l}):Array.isArray(S.meta)?[...S.meta]:S.meta:c&&(R=[...c]),R=R||[],!Array.isArray(R))throw new Error("The route at "+d.route.path+` returns an invalid value. All route meta functions must return an array of meta objects.
137
138To reference the meta function API, see https://remix.run/route/meta`);w.meta=R,m[f]=w,s=[...R],c=s}return o.createElement(o.Fragment,null,s.flat().map(f=>{if(!f)return null;if("tagName"in f){let{tagName:d,...y}=f;if(!Cn(d))return console.warn(`A meta object uses an invalid tagName: ${d}. Expected either 'link' or 'meta'`),null;let h=d;return o.createElement(h,P({key:JSON.stringify(y)},y))}if("title"in f)return o.createElement("title",{key:"title"},String(f.title));if("charset"in f&&(f.charSet??(f.charSet=f.charset),delete f.charset),"charSet"in f&&f.charSet!=null)return typeof f.charSet=="string"?o.createElement("meta",{key:"charSet",charSet:f.charSet}):null;if("script:ld+json"in f)try{let d=JSON.stringify(f["script:ld+json"]);return o.createElement("script",{key:`script:ld+json:${d}`,type:"application/ld+json",dangerouslySetInnerHTML:{__html:d}})}catch{return null}return o.createElement("meta",P({key:JSON.stringify(f)},f))}))}function Cn(e){return typeof e=="string"&&/^(meta|link)$/.test(e)}function kn(e){return o.createElement(zt,e)}let Z=!1;function On(e){let{manifest:t,serverHandoffString:r,abortDelay:n,serializeError:a,isSpaMode:i,future:u,renderMeta:l}=U(),{router:s,static:c,staticContext:m}=Et(),{matches:f}=le(),d=Te(u,i);l&&(l.didRenderScripts=!0);let y=ke(f,null,i);o.useEffect(()=>{Z=!0},[]);let h=(g,L)=>{let x;return a&&L instanceof Error?x=a(L):x=L,`${JSON.stringify(g)}:__remixContext.p(!1, ${K(JSON.stringify(x))})`},E=(g,L,x)=>{let _;try{_=JSON.stringify(x)}catch(T){return h(L,T)}return`${JSON.stringify(L)}:__remixContext.p(${K(_)})`},S=(g,L,x)=>{let _;return a&&x instanceof Error?_=a(x):_=x,`__remixContext.r(${JSON.stringify(g)}, ${JSON.stringify(L)}, !1, ${K(JSON.stringify(_))})`},R=(g,L,x)=>{let _;try{_=JSON.stringify(x)}catch(T){return S(g,L,T)}return`__remixContext.r(${JSON.stringify(g)}, ${JSON.stringify(L)}, ${K(_)})`},w=[],v=o.useMemo(()=>{var g;let L=u.v3_singleFetch?"window.__remixContext.stream = new ReadableStream({start(controller){window.__remixContext.streamController = controller;}}).pipeThrough(new TextEncoderStream());":"",x=m?`window.__remixContext = ${r};${L}`:" ",_=u.v3_singleFetch||m==null?void 0:m.activeDeferreds;x+=_?["__remixContext.p = function(v,e,p,x) {","  if (typeof e !== 'undefined') {",`    x=new Error("Unexpected Server Error");
139    x.stack=undefined;`,"    p=Promise.reject(x);","  } else {","    p=Promise.resolve(v);","  }","  return p;","};","__remixContext.n = function(i,k) {","  __remixContext.t = __remixContext.t || {};","  __remixContext.t[i] = __remixContext.t[i] || {};","  let p = new Promise((r, e) => {__remixContext.t[i][k] = {r:(v)=>{r(v);},e:(v)=>{e(v);}};});",typeof n=="number"?`setTimeout(() => {if(typeof p._error !== "undefined" || typeof p._data !== "undefined"){return;} __remixContext.t[i][k].e(new Error("Server timeout."))}, ${n});`:"","  return p;","};","__remixContext.r = function(i,k,v,e,p,x) {","  p = __remixContext.t[i][k];","  if (typeof e !== 'undefined') {",`    x=new Error("Unexpected Server Error");
140    x.stack=undefined;`,"    p.e(x);","  } else {","    p.r(v);","  }","};"].join(`
141`)+Object.entries(_).map(([k,C])=>{let se=new Set(C.pendingKeys),D=C.deferredKeys.map(O=>{if(se.has(O))return w.push(o.createElement(Je,{key:`${k} | ${O}`,deferredData:C,routeId:k,dataKey:O,scriptProps:e,serializeData:R,serializeError:S})),`${JSON.stringify(O)}:__remixContext.n(${JSON.stringify(k)}, ${JSON.stringify(O)})`;{let ue=C.data[O];return typeof ue._error<"u"?h(O,ue._error):E(k,O,ue._data)}}).join(`,
142`);return`Object.assign(__remixContext.state.loaderData[${JSON.stringify(k)}], {${D}});`}).join(`
143`)+(w.length>0?`__remixContext.a=${w.length};`:""):"";let T=c?`${(g=t.hmr)!==null&&g!==void 0&&g.runtime?`import ${JSON.stringify(t.hmr.runtime)};`:""}${d?"":`import ${JSON.stringify(t.url)}`};
144${y.map((k,C)=>`import * as route${C} from ${JSON.stringify(t.routes[k.route.id].module)};`).join(`
145`)}
146${d?`window.__remixManifest = ${JSON.stringify(Sn(t,s),null,2)};`:""}
147window.__remixRouteModules = {${y.map((k,C)=>`${JSON.stringify(k.route.id)}:route${C}`).join(",")}};
148
149import(${JSON.stringify(t.entry.module)});`:" ";return o.createElement(o.Fragment,null,o.createElement("script",P({},e,{suppressHydrationWarning:!0,dangerouslySetInnerHTML:Ue(x),type:void 0})),o.createElement("script",P({},e,{suppressHydrationWarning:!0,dangerouslySetInnerHTML:Ue(T),type:"module",async:!0})))},[]);if(!c&&typeof __remixContext=="object"&&__remixContext.a)for(let g=0;g<__remixContext.a;g++)w.push(o.createElement(Je,{key:g,scriptProps:e,serializeData:R,serializeError:S}));let p=y.map(g=>{let L=t.routes[g.route.id];return(L.imports||[]).concat([L.module])}).flat(1),b=Z?[]:t.entry.imports.concat(p);return Z?null:o.createElement(o.Fragment,null,d?null:o.createElement("link",{rel:"modulepreload",href:t.url,crossOrigin:e.crossOrigin}),o.createElement("link",{rel:"modulepreload",href:t.entry.module,crossOrigin:e.crossOrigin}),Dn(b).map(g=>o.createElement("link",{key:g,rel:"modulepreload",href:g,crossOrigin:e.crossOrigin})),v,w)}function Je({dataKey:e,deferredData:t,routeId:r,scriptProps:n,serializeData:a,serializeError:i}){return typeof document>"u"&&t&&e&&r&&N(t.pendingKeys.includes(e),`Deferred data for route ${r} with key ${e}
149 was not pending but tried to render a script for it.`),o.createElement(o.Suspense,{fallback:typeof document>"u"&&t&&e&&r?null:o.createElement("script",P({},n,{async:!0,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:" "}}))},typeof document>"u"&&t&&e&&r?o.createElement(kn,{resolve:t.data[e],errorElement:o.createElement(An,{dataKey:e,routeId:r,scriptProps:n,serializeError:i}),children:u=>o.createElement("script",P({},n,{async:!0,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:a(r,e,u)}}))}):o.createElement("script",P({},n,{async:!0,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:" "}})))}function An({dataKey:e,routeId:t,scriptProps:r,serializeError:n}){let a=Jt();return o.createElement("script",P({},r,{suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:n(t,e,a)}}))}function Dn(e){return[...new Set(e)]}function Xn(){return Ke()}function Gn(){return Ut()}function Zn(e){return Ht(e)}function Qn(){return Mt()}function qn(e={}){return wr(e)}function xt(...e){return t=>{e.forEach(r=>{typeof r=="function"?r(t):r!=null&&(r.current=t)})}}export{kn as A,_n as F,Ln as L,Wn as M,bn as N,St as R,On as S,P as _,Gn as a,Hn as b,qn as c,Qn as d,cn as e,_e as f,zn as g,Vn as h,N as i,Bn as j,Yn as k,Jn as l,Un as m,U as n,Mn as o,Xn as p,Kn as q,gn as s,Zn as u};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.