PageSourceSearch

https://www.outrank.so/_feather/build/_shared/chunk-23UC2UNS.js

js outrank.so collected 2026-09-24 18:36:40 UTC 90,204 bytes, 30 lines download raw bytes

vendor: 4,225 bytes, line 1
1import{b as Qt,c as tt,e as we}from"/_feather/build/_shared/chunk-WKCTKT6D.js";var Vr=tt((fs,Br)=>{"use strict";var $r=Object.getOwnPropertySymbols,Go=Object.prototype.hasOwnProperty,qo=Object.prototype.propertyIsEnumerable;function Qo(e){if(e==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}function Zo(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de",Object.getOwnPropertyNames(e)[0]==="5")return!1;for(var t={},r=0;r<10;r++)t["_"+String.fromCharCode(r)]=r;var n=Object.getOwnPropertyNames(t).map(function(a){return t[a]});if(n.join("")!=="0123456789")return!1;var o={};return"abcdefghijklmnopqrst".split("").forEach(function(a){o[a]=a}),Object.keys(Object.assign({},o)).join("")==="abcdefghijklmnopqrst"}catch{return!1}}Br.exports=Zo()?Object.assign:function(e,t){for(var r,n=Qo(e),o,a=1;a<arguments.length;a++){r=Object(arguments[a]);for(var i in r)Go.call(r,i)&&(n[i]=r[i]);if($r){o=$r(r);for(var l=0;l<o.length;l++)qo.call(r,o[l])&&(n[o[l]]=r[o[l]])}}return n}});var an=tt(U=>{"use strict";var er=Vr(),Be=60103,Jr=60106;U.Fragment=60107;U.StrictMode=60108;U.Profiler=60114;var Kr=60109,Yr=60110,Xr=60112;U.Suspense=60113;var Gr=60115,qr=60116;typeof Symbol=="function"&&Symbol.for&&(re=Symbol.for,Be=re("react.element"),Jr=re("react.portal"),U.Fragment=re("react.fragment"),U.StrictMode=re("react.strict_mode"),U.Profiler=re("react.profiler"),Kr=re("react.provider"),Yr=re("react.context"),Xr=re("react.forward_ref"),U.Suspense=re("react.suspense"),Gr=re("react.memo"),qr=re("react.lazy"));var re,Wr=typeof Symbol=="function"&&Symbol.iterator;function ea(e){return e===null||typeof e!="object"?null:(e=Wr&&e[Wr]||e["@@iterator"],typeof e=="function"?e:null)}function rt(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,r=1;r<arguments.length;r++)t+="&args[]="+encodeURIComponent(arguments[r]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var Qr={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Zr={};function Ve(e,t,r){this.props=e,this.context=t,this.refs=Zr,this.updater=r||Qr}Ve.prototype.isReactComponent={};Ve.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error(rt(85));this.updater.enqueueSetState(this,e,t,"setState")};Ve.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function en(){}en.prototype=Ve.prototype;function tr(e,t,r){this.props=e,this.context=t,this.refs=Zr,this.updater=r||Qr}var rr=tr.prototype=new en;rr.constructor=tr;er(rr,Ve.prototype);rr.isPureReactComponent=!0;var nr={current:null},tn=Object.prototype.hasOwnProperty,rn={key:!0,ref:!0,__self:!0,__source:!0};function nn(e,t,r){var n,o={},a=null,i=null;if(t!=null)for(n in t.ref!==void 0&&(i=t.ref),t.key!==void 0&&(a=""+t.key),t)tn.call(t,n)&&!rn.hasOwnProperty(n)&&(o[n]=t[n]);var l=arguments.length-2;if(l===1)o.children=r;else if(1<l){for(var u=Array(l),s=0;s<l;s++)u[s]=arguments[s+2];o.children=u}if(e&&e.defaultProps)for(n in l=e.defaultProps,l)o[n]===void 0&&(o[n]=l[n]);return{$$typeof:Be,type:e,key:a,ref:i,props:o,_owner:nr.current}}function ta(e,t){return{$$typeof:Be,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}function or(e){return typeof e=="object"&&e!==null&&e.$$typeof===Be}function ra(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(r){return t[r]})}var zr=/\/+/g;function Zt(e,t){return typeof e=="object"&&e!==null&&e.key!=null?ra(""+e.key):t.toString(36)}function wt(e,t,r,n,o){var a=typeof e;(a==="undefined"||a==="boolean")&&(e=null);var i=!1;if(e===null)i=!0;else switch(a){case"string":case"number":i=!0;break;case"object":switch(e.$$typeof){case Be:case Jr:i=!0}}if(i)return i=e,o=o(i),e=n===""?"."+Zt(i,0):n,Array.isArray(o)?(r="",e!=null&&(r=e.replace(zr,"$&/")+"/"),wt(o,t,r,"",function(s){return s})):o!=null&&(or(o)&&(o=ta(o,r+(!o.key||i&&i.key===o.key?"":(""+o.key).replace(zr,"$&/")+"/")+e)),t.push(o)),1;if(i=0,n=n===""?".":n+":",Array.isArray(e))for(var l=0;l<e.length;l++){a=e[l];var u=n+Zt(a,l);
1i+=wt(a,t,r,u,o)}else if(u=ea(e),typeof u=="function")for(e=u.call(e),l=0;!(a=e.next()).done;)a=a.value,u=n+Zt(a,l++),i+=wt(a,t,r,u,o);else if(a==="object")throw t=""+e,Error(rt(31,t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t));return i}function Et(e,t,r){if(e==null)return e;var n=[],o=0;return wt(e,n,"","",function(a){return t.call(r,a,o++)}),n}function na(e){if(e._status===-1){var t=e._result;t=t(),e._status=0,e._result=t,t.then(function(r){e._status===0&&(r=r.default,e._status=1,e._result=r)},function(r){e._status===0&&(e._status=2,e._result=r)})}if(e._status===1)return e._result;throw e._result}var on={current:null};function pe(){var e=on.current;if(e===null)throw Error(rt(321));return e}var oa={ReactCurrentDispatcher:on,ReactCurrentBatchConfig:{transition:0},ReactCurrentOwner:nr,IsSomeRendererActing:{current:!1},assign:er};U.Children={map:Et,forEach:function(e,t,r){Et(e,function(){t.apply(this,arguments)},r)},count:function(e){var t=0;return Et(e,function(){t++}),t},toArray:function(e){return Et(e,function(t){return t})||[]},only:function(e){if(!or(e))throw Error(rt(143));return e}};U.Component=Ve;U.PureComponent=tr;U.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=oa;U.cloneElement=function(e,t,r){if(e==null)throw Error(rt(267,e));var n=er({},e.props),o=e.key,a=e.ref,i=e._owner;if(t!=null){if(t.ref!==void 0&&(a=t.ref,i=nr.current),t.key!==void 0&&(o=""+t.key),e.type&&e.type.defaultProps)var l=e.type.defaultProps;for(u in t)tn.call(t,u)&&!rn.hasOwnProperty(u)&&(n[u]=t[u]===void 0&&l!==void 0?l[u]:t[u])}var u=arguments.length-2;if(u===1)n.children=r;else if(1<u){l=Array(u);for(var s=0;s<u;s++)l[s]=arguments[s+2];n.children=l}return{$$typeof:Be,type:e.type,key:o,ref:a,props:n,_owner:i}};U.createContext=function(e,t){return t===void 0&&(t=null),e={$$typeof:Yr,_calculateChangedBits:t,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider={$$typeof:Kr,_context:e},e.Consumer=e};U.createElement=nn;U.createFactory=function(e){var t=nn.bind(null,e);return t.type=e,t};U.createRef=function(){return{current:null}};U.forwardRef=function(e){return{$$typeof:Xr,render:e}};U.isValidElement=or;U.lazy=function(e){return{$$typeof:qr,_payload:{_status:-1,_result:e},_init:na}};U.memo=function(e,t){return{$$typeof:Gr,type:e,compare:t===void 0?null:t}};U.useCallback=function(e,t){return pe().useCallback(e,t)};U.useContext=function(e,t){return pe().useContext(e,t)};U.useDebugValue=function(){};U.useEffect=function(e,t){return pe().useEffect(e,t)};U.useImperativeHandle=function(e,t,r){return pe().useImperativeHandle(e,t,r)};U.useLayoutEffect=function(e,t){return pe().useLayoutEffect(e,t)};U.useMemo=function(e,t){return pe().useMemo(e,t)};U.useReducer=function(e,t,r){return pe().useReducer(e,t,r)};U.useRef=function(e){return pe().useRef(e)};U.useState=function(e){return pe().useState(e)};U.version="17.0.2"});var ye=tt((ms,sn)=>{"use strict";sn.exports=an()});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 wn(e){e===void 0&&(e={});function t(n,o){let{pathname:a,search:i,hash:l}=n.location;return Ue("",{pathname:a,search:i,hash:l},o.state&&o.state.usr||null,o.state&&o.state.key||"default")}function r(n,o){return typeof o=="string"?o:q(o)}return ia(t,r,null,e)}function P(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}function aa(){return Math.random().toString(36).substr(2,8)}function un(e,t){return{usr:e.state,key:e.key,idx:t}}function Ue(e,t,r,n){return r===void 0&&(r=null),A({pathname:typeof e=="string"?e:e.pathname,search:"",hash:""},typeof t=="string"?ee(t):t,{state:r,key:t&&t.key||n||aa()})}function q(e){let{pathname:t="/",search:r="",hash:n=""}=e;return r&&r!=="?"&&(t+=r.charAt(0)==="?"?r:"?"+r),n&&n!=="#"&&(t+=n.charAt(0)==="#"?n:"#"+n),t}function ee(e){let t={};if(e){let r=e.indexOf("#");r>=0&&(t.hash=e.substr(r),e=e.substr(0,r));let n=e.indexOf("?");n>=0&&(t.search=e.substr(n),e=e.substr(0,n)),e&&(t.pathname=e)}return t}function ia(e,t,r,n){n===void 0&&(n={});let{window:o=document.defaultView,v5Compat:a=!1}=n,i=o.history,l=H.Pop,u=null,s=d();s==null&&(s=0,i.replaceState(A({},i.state,{idx:s}),""));function d(){return(i.state||{idx:null}).idx}function f(){l=H.Pop;let R=d(),S=R==null?null:R-s;s=R,u&&u({action:l,location:b.location,delta:S})}function v(R,S){l=H.Push;let w=Ue(b.location,R,S);r&&r(w,R),s=d()+1;let O=un(w,s),k=b.createHref(w);try{i.pushState(O,"",k)}catch{o.location.assign(k)}a&&u&&u({action:l,location:b.location,delta:1})}function c(R,S){l=H.Replace;let w=Ue(b.location,R,S);r&&r(w,R),s=d();let O=un(w,s),k=b.createHref(w);i.replaceState(O,"",k),a&&u&&u({action:l,location:b.location,delta:0})}function m(R){let S=o.location.origin!=="null"?o.location.origin:o.location.href,w=typeof R=="str
1ing"?R:q(R);return P(S,"No window.location.(origin|href) available to create URL for href: "+w),new URL(w,S)}let b={get action(){return l},get location(){return e(o,i)},listen(R){if(u)throw new Error("A history only accepts one active listener");return o.addEventListener(ln,f),u=R,()=>{o.removeEventListener(ln,f),u=null}},createHref(R){return t(o,R)},createURL:m,encodeLocation(R){let S=m(R);return{pathname:S.pathname,search:S.search,hash:S.hash}},push:v,replace:c,go(R){return i.go(R)}};return b}function sa(e){return e.index===!0}function lr(e,t,r){return t===void 0&&(t=[]),r===void 0&&(r=new Set),e.map((n,o)=>{let a=[...t,o],i=typeof n.id=="string"?n.id:a.join("-");return P(n.index!==!0||!n.children,"Cannot specify children on an index route"),P(!r.has(i),'Found a route id collision on id "'+i+`".  Route id's must be globally unique within Data Router usages`),r.add(i),sa(n)?A({},n,{id:i}):A({},n,{id:i,children:n.children?lr(n.children,a,r):void 0})})}function Z(e,t,r){r===void 0&&(r="/");let n=typeof t=="string"?ee(t):t,o=Te(n.pathname||"/",r);if(o==null)return null;let a=Sn(e);la(a);let i=null;for(let l=0;i==null&&l<a.length;++l)i=ga(a[l],Ra(o));return i}function Sn(e,t,r,n){t===void 0&&(t=[]),r===void 0&&(r=[]),n===void 0&&(n="");let o=(a,i,l)=>{let u={relativePath:l===void 0?a.path||"":l,caseSensitive:a.caseSensitive===!0,childrenIndex:i,route:a};u.relativePath.startsWith("/")&&(P(u.relativePath.startsWith(n),'Absolute route path "'+u.relativePath+'" nested under path '+('"'+n+'" is not valid. An absolute child route path ')+"must start with the combined path of all its parent routes."),u.relativePath=u.relativePath.slice(n.length));let s=ne([n,u.relativePath]),d=r.concat(u);a.children&&a.children.length>0&&(P(a.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+s+'".')),Sn(a.children,t,d,s)),!(a.path==null&&!a.index)&&t.push({path:s,score:pa(s,a.index),routesMeta:d})};return e.forEach((a,i)=>{var l;if(a.path===""||!((l=a.path)!=null&&l.includes("?")))o(a,i);else for(let u of bn(a.path))o(a,i,u)}),t}function bn(e){let t=e.split("/");if(t.length===0)return[];let[r,...n]=t,o=r.endsWith("?"),a=r.replace(/\?$/,"");if(n.length===0)return o?[a,""]:[a];let i=bn(n.join("/")),l=[];return l.push(...i.map(u=>u===""?a:[a,u].join("/"))),o&&l.push(...i),l.map(u=>e.startsWith("/")&&u===""?"/":u)}function la(e){e.sort((t,r)=>t.score!==r.score?r.score-t.score:ya(t.routesMeta.map(n=>n.childrenIndex),r.routesMeta.map(n=>n.childrenIndex)))}function pa(e,t){let r=e.split("/"),n=r.length;return r.some(cn)&&(n+=ma),t&&(n+=da),r.filter(o=>!cn(o)).reduce((o,a)=>o+(ua.test(a)?ca:a===""?fa:ha),n)}function ya(e,t){return e.length===t.length&&e.slice(0,-1).every((n,o)=>n===t[o])?e[e.length-1]-t[t.length-1]:0}function ga(e,t){let{routesMeta:r}=e,n={},o="/",a=[];for(let i=0;i<r.length;++i){let l=r[i],u=i===r.length-1,s=o==="/"?t:t.slice(o.length)||"/",d=bt({path:l.relativePath,caseSensitive:l.caseSensitive,end:u},s);if(!d)return null;
1Object.assign(n,d.params);let f=l.route;a.push({params:n,pathname:ne([o,d.pathname]),pathnameBase:Sa(ne([o,d.pathnameBase])),route:f}),d.pathnameBase!=="/"&&(o=ne([o,d.pathnameBase]))}return a}function bt(e,t){typeof e=="string"&&(e={path:e,caseSensitive:!1,end:!0});let[r,n]=va(e.path,e.caseSensitive,e.end),o=t.match(r);if(!o)return null;let a=o[0],i=a.replace(/(.)\/+$/,"$1"),l=o.slice(1);return{params:n.reduce((s,d,f)=>{if(d==="*"){let v=l[f]||"";i=a.slice(0,a.length-v.length).replace(/(.)\/+$/,"$1")}return s[d]=Ea(l[f]||"",d),s},{}),pathname:a,pathnameBase:i,pattern:e}}function va(e,t,r){t===void 0&&(t=!1),r===void 0&&(r=!0),ot(e==="*"||!e.endsWith("*")||e.endsWith("/*"),'Route path "'+e+'" will be treated as if it were '+('"'+e.replace(/\*$/,"/*")+'" because the `*` character must ')+"always follow a `/` in the pattern. To get rid of this warning, "+('please change the route path to "'+e.replace(/\*$/,"/*")+'".'));let n=[],o="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^$?{}|()[\]]/g,"\\$&").replace(/\/:(\w+)/g,(i,l)=>(n.push(l),"/([^\\/]+)"));return e.endsWith("*")?(n.push("*"),o+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):r?o+="\\/*$":e!==""&&e!=="/"&&(o+="(?:(?=\\/|$))"),[new RegExp(o,t?void 0:"i"),n]}function Ra(e){try{return decodeURI(e)}catch(t){return ot(!1,'The URL path "'+e+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent '+("encoding ("+t+").")),e}}function Ea(e,t){try{return decodeURIComponent(e)}catch(r){return ot(!1,'The value for the URL param "'+t+'" will not be decoded because'+(' the string "'+e+'" is a malformed URL segment. This is probably')+(" due to a bad percent encoding ("+r+").")),e}}function Te(e,t){if(t==="/")return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let r=t.endsWith("/")?t.length-1:t.length,n=e.charAt(r);return n&&n!=="/"?null:e.slice(r)||"/"}function ot(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function ur(e,t){t===void 0&&(t="/");let{pathname:r,search:n="",hash:o=""}=typeof e=="string"?ee(e):e;return{pathname:r?r.startsWith("/")?r:wa(r,t):t,search:ba(n),hash:xa(o)}}function wa(e,t){let r=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(o=>{o===".."?r.length>1&&r.pop():o!=="."&&r.push(o)}),r.length>1?r.join("/"):"/"}function ar(e,t,r,n){return"Cannot include a '"+e+"' character in a manually specified "+("`to."+t+"` field ["+JSON.stringify(n)+"].  Please separate it out to the ")+("`to."+r+"` field. Alternatively you may provide the full path as ")+'a string in <Link to="..."> and the router will parse it for you.'}function it(e){return e.filter((t,r)=>r===0||t.route.path&&t.route.path.length>0)}function xt(e,t,r,n){n===void 0&&(n=!1);let o;typeof e=="string"?o=ee(e):(o=A({},e),P(!o.pathname||!o.pathname.includes("?"),ar("?","pathname","search",o)),P(!o.pathname||!o.pathname.includes("#"),ar("#","pathname","hash",o)),P(!o.search||!o.search.includes("#"),ar("#","search","hash",o)));let a=e===""||o.pathname==="",i=a?"/":o.pathname,l;if(n||i==null)l=r;else{let f=t.length-1;if(i.startsWith("..")){let v=i.split("/");for(;v[0]==="..";)v.shift(),f-=1;o.pathname=v.join("/")}l=f>=0?t[f]:"/"}let u=ur(o,l),s=i&&i!=="/"&&i.endsWith("/"),d=(a||i===".")&&r.endsWith("/");return!u.pathname.endsWith("/")&&(s||d)&&(u.pathname+="/"),u}function _a(e){return e instanceof Promise&&e._tracked===!0}function Da(e){if(!_a(e))return e;if(e._error)throw e._error;return e._data}function ae(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}function cr(e){P(e.routes.length>0,"You must provide a non-empty routes array to createRouter");let t=lr(e.routes),r,n=null,o=new Set,a=null,i=null,l=null,u=e.hydrationData!=null,s=Z(t,e.history.location,e.basename),d=null;if(s==null){let h=V(404,{pathname:e.history.location.pathname}),{matches:p,route:y}=St(t);s=p,d={[y.id]:h}}let f=!s.some(h=>h.route.loader)||e.hydrationData!=null,v,c={historyAction:e.history.action,location:e.history.location,matches:s,initialized:f,navigation:ir,restoreScrollPosition:e.hydrationData!=null?!1:null,preventScrollReset:!1,revalidation:"idle",loaderData:e.hydrationData&&e.hydrationData.loaderData||{},actionData:e.hydrationData&&e.hydrationData.actionData||null,errors:e.hydrationData&&e.hydrationData.errors||d,fetchers:new Map,blockers:new Map},m=H.Pop,b=!1,R,S=!1,w=!1,O=[],k=[],x=new Map,I=0,J=-1,Q=new Map,Ne=new Set,Re=new Map,Pe=new Map,Ee=new Map,Wt=!1;function Mo(){return n=e.history.listen(h=>{let{action:p,location:y,delta:_}=h;if(Wt){Wt=!1;return}ot(Ee.size===0||_!=null,"You are trying to use a blocker on a POP navigation to a location that was not created by @remix-run/router. This will fail silently in production. This can happen if you are navigating outside the router via `window.history.pushState`/`window.location.hash` instead of using router navigation APIs.  This can also happen if you are using createHashRouter and the user manually changes the URL.");let D=jr({currentLocation:c.location,nextLocation:y,historyAction:p});if(D&&_!=null){Wt=!0,e.history.go(_*-1),yt(D,{state:"blocked",location:y,proceed(){yt(D,{state:"proceeding",proceed:void 0,reset:void 0,location:y}),e.history.go(_)},reset(){Ze(D),K({blockers:new Map(v.state.blockers)})}});return}return Oe(p,y)}),c.initialized||Oe(H.Pop,c.location),v}
1function Fo(){n&&n(),o.clear(),R&&R.abort(),c.fetchers.forEach((h,p)=>Kt(p)),c.blockers.forEach((h,p)=>Ze(p))}function ko(h){return o.add(h),()=>o.delete(h)}function K(h){c=A({},c,h),o.forEach(p=>p(c))}function qe(h,p){var y,_;let D=c.actionData!=null&&c.navigation.formMethod!=null&&ue(c.navigation.formMethod)&&c.navigation.state==="loading"&&((y=h.state)==null?void 0:y._isRedirect)!==!0,L;p.actionData?Object.keys(p.actionData).length>0?L=p.actionData:L=null:D?L=c.actionData:L=null;let N=p.loaderData?yn(c.loaderData,p.loaderData,p.matches||[],p.errors):c.loaderData;for(let[C]of Ee)Ze(C);let M=b===!0||c.navigation.formMethod!=null&&ue(c.navigation.formMethod)&&((_=h.state)==null?void 0:_._isRedirect)!==!0;r&&(t=r,r=void 0),K(A({},p,{actionData:L,loaderData:N,historyAction:m,location:h,initialized:!0,navigation:ir,revalidation:"idle",restoreScrollPosition:Ir(h,p.matches||c.matches),preventScrollReset:M,blockers:new Map(c.blockers)})),S||m===H.Pop||(m===H.Push?e.history.push(h,h.state):m===H.Replace&&e.history.replace(h,h.state)),m=H.Pop,b=!1,S=!1,w=!1,O=[],k=[]}async function Mr(h,p){if(typeof h=="number"){e.history.go(h);return}let{path:y,submission:_,error:D}=fn(h,p),L=c.location,N=Ue(c.location,y,p&&p.state);N=A({},N,e.history.encodeLocation(N));let M=p&&p.replace!=null?p.replace:void 0,C=H.Push;M===!0?C=H.Replace:M===!1||_!=null&&ue(_.formMethod)&&_.formAction===c.location.pathname+c.location.search&&(C=H.Replace);let Y=p&&"preventScrollReset"in p?p.preventScrollReset===!0:void 0,j=jr({currentLocation:L,nextLocation:N,historyAction:C});if(j){yt(j,{state:"blocked",location:N,proceed(){yt(j,{state:"proceeding",proceed:void 0,reset:void 0,location:N}),Mr(h,p)},reset(){Ze(j),K({blockers:new Map(c.blockers)})}});return}return await Oe(C,N,{submission:_,pendingError:D,preventScrollReset:Y,replace:p&&p.replace})}function Uo(){if(zt(),K({revalidation:"loading"}),c.navigation.state!=="submitting"){if(c.navigation.state==="idle"){Oe(c.historyAction,c.location,{startUninterruptedRevalidation:!0});return}Oe(m||c.historyAction,c.navigation.location,{overrideNavigation:c.navigation})}}async function Oe(h,p,y){R&&R.abort(),R=null,m=h,S=(y&&y.startUninterruptedRevalidation)===!0,zo(c.location,c.matches),b=(y&&y.preventScrollReset)===!0;let _=r||t,D=y&&y.overrideNavigation,L=Z(_,p,e.basename);if(!L){let B=V(404,{pathname:p.pathname}),{matches:se,route:oe}=St(_);Yt(),qe(p,{matches:se,loaderData:{},errors:{[oe.id]:B}});return}if(Ta(c.location,p)&&!(y&&y.submission&&ue(y.submission.formMethod))){qe(p,{matches:L});return}R=new AbortController;let N=nt(e.history,p,R.signal,y&&y.submission),M,C;if(y&&y.pendingError)C={[Me(L).route.id]:y.pendingError};else if(y&&y.submission&&ue(y.submission.formMethod)){let B=await To(N,p,y.submission,L,{replace:y.replace});if(B.shortCircuited)return;M=B.pendingActionData,C=B.pendingActionError,D=A({state:"loading",location:p},y.submission),N=new Request(N.url,{signal:N.signal})}let{shortCircuited:Y,loaderData:j,errors:G}=await jo(N,p,L,D,y&&y.submission,y&&y.replace,M,C);Y||(R=null,qe(p,A({matches:L},M?{actionData:M}:{},{loaderData:j,errors:G})))}async function To(h,p,y,_,D){zt();let L=A({state:"submitting",location:p},y);K({navigation:L});let N,M=at(_,p);if(!M.route.action)N={type:$.error,error:V(405,{method:h.method,pathname:p.pathname,routeId:M.route.id})};else if(N=await Ae("action",h,M,_,v.basename),h.signal.aborted)return{shortCircuited:!0};if(ke(N)){let C;return D&&D.replace!=null?C=D.replace:C=N.location===c.location.pathname+c.location.search,await Qe(c,N,{submission:y,replace:C}),{shortCircuited:!0}}if(Fe(N)){let C=Me(_,M.route.id);return(D&&D.replace)!==!0&&(m=H.Push),{pendingActionData:{},pendingActionError:{[C.route.id]:N.error}}}if(Se(N))throw V(400,{type:"defer-action"});return{pendingActionData:{[M.route.id]:N.data}}}async function jo(h,p,y,_,D,L,N,M){let C=_;C||(C=A({state:"loading",location:p,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0},D));let Y=D||(C.formMethod&&C.formAction&&C.formData&&C.formEncType?{formMethod:C.formMethod,formAction:C.formAction,formData:C.formData,formEncType:C.formEncType}:void 0),j=r||t,[G,B]=hn(e.history,c,y,Y,p,w,O,k,Re,j,e.basename,N,M);if(Yt(X=>!(y&&y.some(le=>le.route.id===X))||G&&G.some(le=>le.route.id===X)),G.length===0&&B.length===0)return qe(p,A({matches:y,loaderData:{},errors:M||null},N?{actionData:N}:{})),{shortCircuited:!0};if(!S){B.forEach(le=>{let Le=c.fetchers.get(le.key),Rt={state:"loading",data:Le&&Le.data,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0," _hasFetcherDoneAnything ":!0};c.fetchers.set(le.key,Rt)});let X=N||c.actionData;K(A({navigation:C},X?Object.keys(X).length===0?{actionData:null}:{actionData:X}:{},B.length>0?{fetchers:new Map(c.fetchers)}:{}))}J=++I,B.forEach(X=>x.set(X.key,R));let{results:se,loaderResults:oe,fetcherResults:et}=await kr(c.matches,y,G,B,h);if(h.signal.aborted)return{shortCircuited:!0};B.forEach(X=>x.delete(X.key));let gt=gn(se);if(gt)return await Qe(c,gt,{replace:L}),{shortCircuited:!0};let{loaderData:vt,errors:$e}=pn(c,y,G,oe,M,B,et,Pe);Pe.forEach((X,le)=>{X.subscribe(Le=>{(Le||X.done)&&Pe.delete(le)})}),Bo();let Xt=Tr(J);return A({loaderData:vt,errors:$e},Xt||B.length>0?{fetchers:new Map(c.fetchers)}:{})}function Fr(h){return c.fetchers.get(h)||Aa}function Io(h,p,y,_){if(Ma)throw new Error("router.fetch() was called during the server render, but it shouldn't be. You are likely calling a useFetcher() method in the body of your component. Try moving it to a useEffect or a callback.");x.has(h)&&pt(h);let L=Z(r||t,y,e.basename);if(!L){Jt(h,p,V(404,{pathname:y}));return}let{path:N,submission:M}=fn(y,_,!0),C=at(L,N);if(b=(_&&_.preventScrollReset)===!0,M&&ue(M.formMethod)){Ho(h,p,N,C,L,M);return}Re.set(h,{routeId:p,path:N}),$o(h,p,N,C,L,M)}async function Ho(h,p,y,_,D,L){if(zt(),Re.delete(h),!_.route.action){let me=V(405,{method:L.formMethod,pathname:y,routeId:p});Jt(h,p,me);return}let N=c.fetchers.get(h),M=A({state:"submitting"},L,{data:N&&N.data," _hasFetcherDoneAnything ":!0});c.fetchers.set(h,M),K({fetchers:new Map(c.fetchers)});let C=new AbortController,Y=nt(e.history,y,C.signal,L);x.set(h,C);let j=await Ae("action",Y,_,D,v.basename);if(Y.signal.aborted){x.get(h)===C&&x.delete(h);return}if(ke(j)){x.delete(h),Ne.add(h);let me=A({state:"loading"},L,{data:void 0," _hasFetcherDoneAnything ":!0});return c.fetchers.set(h,me),K({fetchers:new Map(c.fetchers)}),Qe(c,j,{isFetchActionRedirect:!0})}if(Fe(j)){Jt(h,p,j.error);return}if(Se(j))throw V(400,{type:"defer-action"});let G=c.navigation.location||c.location,B=nt(e.history,G,C.signal),se=r||t,oe=c.navigation.state!=="idle"?Z(se,c.navigation.location,e.basename):c.matches;P(oe,"Didn't find any matches after fetcher action");let et=++I;Q.set(h,et);let gt=A({state:"loading",data:j.data},L,{" _hasFetcherDoneAnything ":!0});c.fetchers.set(h,gt);let[vt,$e]=hn(e.history,c,oe,L,G,w,O,k,Re,se,e.basename,{[_.route.id]:j.data},void 0);$e.filter(me=>
1me.key!==h).forEach(me=>{let qt=me.key,Hr=c.fetchers.get(qt),Xo={state:"loading",data:Hr&&Hr.data,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0," _hasFetcherDoneAnything ":!0};c.fetchers.set(qt,Xo),x.set(qt,C)}),K({fetchers:new Map(c.fetchers)});let{results:Xt,loaderResults:X,fetcherResults:le}=await kr(c.matches,oe,vt,$e,B);if(C.signal.aborted)return;Q.delete(h),x.delete(h),$e.forEach(me=>x.delete(me.key));let Le=gn(Xt);if(Le)return Qe(c,Le);let{loaderData:Rt,errors:Gt}=pn(c,c.matches,vt,X,void 0,$e,le,Pe),Ko={state:"idle",data:j.data,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0," _hasFetcherDoneAnything ":!0};c.fetchers.set(h,Ko);let Yo=Tr(et);c.navigation.state==="loading"&&et>J?(P(m,"Expected pending action"),R&&R.abort(),qe(c.navigation.location,{matches:oe,loaderData:Rt,errors:Gt,fetchers:new Map(c.fetchers)})):(K(A({errors:Gt,loaderData:yn(c.loaderData,Rt,oe,Gt)},Yo?{fetchers:new Map(c.fetchers)}:{})),w=!1)}async function $o(h,p,y,_,D,L){let N=c.fetchers.get(h),M=A({state:"loading",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0},L,{data:N&&N.data," _hasFetcherDoneAnything ":!0});c.fetchers.set(h,M),K({fetchers:new Map(c.fetchers)});let C=new AbortController,Y=nt(e.history,y,C.signal);x.set(h,C);let j=await Ae("loader",Y,_,D,v.basename);if(Se(j)&&(j=await Mn(j,Y.signal,!0)||j),x.get(h)===C&&x.delete(h),Y.signal.aborted)return;if(ke(j)){await Qe(c,j);return}if(Fe(j)){let B=Me(c.matches,p);c.fetchers.delete(h),K({fetchers:new Map(c.fetchers),errors:{[B.route.id]:j.error}});return}P(!Se(j),"Unhandled fetcher deferred data");let G={state:"idle",data:j.data,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0," _hasFetcherDoneAnything ":!0};c.fetchers.set(h,G),K({fetchers:new Map(c.fetchers)})}async function Qe(h,p,y){var _;let{submission:D,replace:L,isFetchActionRedirect:N}=y===void 0?{}:y;p.revalidate&&(w=!0);let M=Ue(h.location,p.location,A({_isRedirect:!0},N?{_isFetchActionRedirect:!0}:{}));if(P(M,"Expected a location on the redirect navigation"),Dn.test(p.location)&&Cn&&typeof((_=window)==null?void 0:_.location)<"u"){let se=e.history.createURL(p.location),oe=Te(se.pathname,e.basename||"/")==null;if(window.location.origin!==se.origin||oe){L?window.location.replace(p.location):window.location.assign(p.location);return}}R=null;let C=L===!0?H.Replace:H.Push,{formMethod:Y,formAction:j,formEncType:G,formData:B}=h.navigation;!D&&Y&&j&&B&&G&&(D={formMethod:Y,formAction:j,formEncType:G,formData:B}),La.has(p.status)&&D&&ue(D.formMethod)?await Oe(C,M,{submission:A({},D,{formAction:p.location}),preventScrollReset:b}):await Oe(C,M,{overrideNavigation:{state:"loading",location:M,formMethod:D?D.formMethod:void 0,formAction:D?D.formAction:void 0,formEncType:D?D.formEncType:void 0,formData:D?D.formData:void 0},preventScrollReset:b})}async function kr(h,p,y,_,D){let L=await Promise.all([...y.map(C=>Ae("loader",D,C,p,v.basename)),..._.map(C=>C.matches&&C.match?Ae("loader",nt(e.history,C.path,D.signal),C.match,C.matches,v.basename):{type:$.error,error:V(404,{pathname:C.path})})]),N=L.slice(0,y.length),M=L.slice(y.length);return await Promise.all([Rn(h,y,N,D.signal,!1,c.loaderData),Rn(h,_.map(C=>C.match),M,D.signal,!0)]),{results:L,loaderResults:N,fetcherResults:M}}function zt(){w=!0,O.push(...Yt()),Re.forEach((h,p)=>{x.has(p)&&(k.push(p),pt(p))})}function Jt(h,p,y){let _=Me(c.matches,p);Kt(h),K({errors:{[_.route.id]:y},fetchers:new Map(c.fetchers)})}function Kt(h){x.has(h)&&pt(h),Re.delete(h),Q.delete(h),Ne.delete(h),c.fetchers.delete(h)}function pt(h){let p=x.get(h);P(p,"Expected fetch controller: "+h),p.abort(),x.delete(h)}function Ur(h){for(let p of h){let _={state:"idle",data:Fr(p).data,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0," _hasFetcherDoneAnything ":!0};c.fetchers.set(p,_)}}function Bo(){let h=[];for(let p of Ne){let y=c.fetchers.get(p);P(y,"Expected fetcher: "+p),y.state==="loading"&&(Ne.delete(p),h.push(p))}Ur(h)}function Tr(h){let p=[];for(let[y,_]of Q)if(_<h){let D=c.fetchers.get(y);P(D,"Expected fetcher: "+y),D.state==="loading"&&(pt(y),Q.delete(y),p.push(y))}return Ur(p),p.length>0}function Vo(h,p){let y=c.blockers.get(h)||dn;return Ee.get(h)!==p&&Ee.set(h,p),y}function Ze(h){c.blockers.delete(h),Ee.delete(h)}function yt(h,p){let y=c.blockers.get(h)||dn;P(y.state==="unblocked"&&p.state==="blocked"||y.state==="blocked"&&p.state==="blocked"||y.state==="blocked"&&p.state==="proceeding"||y.state==="blocked"&&p.state==="unblocked"||y.state==="proceeding"&&p.state==="unblocked","Invalid blocker state transition: "+y.state+" -> "+p.state),c.blockers.set(h,p),K({blockers:new Map(c.blockers)})}function jr(h){let{currentLocation:p,nextLocation:y,historyAction:_}=h;if(Ee.size===0)return;Ee.size>1&&ot(!1,"A router only supports one blocker at a time");let D=Array.from(Ee.entries()),[L,N]=D[D.length-1],M=c.blockers.get(L);if(!(M&&M.state==="proceeding")&&N({currentLocation:p,nextLocation:y,historyAction:_}))return L}function Yt(h){let p=[];return Pe.forEach((y,_)=>{(!h||h(_))&&(y.cancel(),p.push(_),Pe.delete(_))}),p}function Wo(h,p,y){if(a=h,l=p,i=y||(_=>_.key),!u&&c.navigation===ir){u=!0;let _=Ir(c.location,c.matches);_!=null&&K({restoreScrollPosition:_})}return()=>{a=null,l=null,i=null}}function zo(h,p){if(a&&i&&l){let y=p.map(D=>En(D,c.loaderData)),_=i(h,y)||h.key;a[_]=l()}}
1function Ir(h,p){if(a&&i&&l){let y=p.map(L=>En(L,c.loaderData)),_=i(h,y)||h.key,D=a[_];if(typeof D=="number")return D}return null}function Jo(h){r=h}return v={get basename(){return e.basename},get state(){return c},get routes(){return t},initialize:Mo,subscribe:ko,enableScrollRestoration:Wo,navigate:Mr,fetch:Io,revalidate:Uo,createHref:h=>e.history.createHref(h),encodeLocation:h=>e.history.encodeLocation(h),getFetcher:Fr,deleteFetcher:Kt,dispose:Fo,getBlocker:Vo,deleteBlocker:Ze,_internalFetchControllers:x,_internalActiveDeferreds:Pe,_internalSetRoutes:Jo},v}function ps(e,t){P(e.length>0,"You must provide a non-empty routes array to createStaticHandler");let r=lr(e),n=(t?t.basename:null)||"/";async function o(s,d){let{requestContext:f}=d===void 0?{}:d,v=new URL(s.url),c=s.method.toLowerCase(),m=Ue("",q(v),null,"default"),b=Z(r,m,n);if(!sr(c)&&c!=="head"){let S=V(405,{method:c}),{matches:w,route:O}=St(r);return{basename:n,location:m,matches:w,loaderData:{},actionData:null,errors:{[O.id]:S},statusCode:S.status,loaderHeaders:{},actionHeaders:{},activeDeferreds:null}}else if(!b){let S=V(404,{pathname:m.pathname}),{matches:w,route:O}=St(r);return{basename:n,location:m,matches:w,loaderData:{},actionData:null,errors:{[O.id]:S},statusCode:S.status,loaderHeaders:{},actionHeaders:{},activeDeferreds:null}}let R=await i(s,m,b,f);return We(R)?R:A({location:m,basename:n},R)}async function a(s,d){let{routeId:f,requestContext:v}=d===void 0?{}:d,c=new URL(s.url),m=s.method.toLowerCase(),b=Ue("",q(c),null,"default"),R=Z(r,b,n);if(!sr(m)&&m!=="head"&&m!=="options")throw V(405,{method:m});if(!R)throw V(404,{pathname:b.pathname});let S=f?R.find(x=>x.route.id===f):at(R,b);if(f&&!S)throw V(403,{pathname:b.pathname,routeId:f});if(!S)throw V(404,{pathname:b.pathname});let w=await i(s,b,R,v,S);if(We(w))return w;let O=w.errors?Object.values(w.errors)[0]:void 0;if(O!==void 0)throw O;if(w.actionData)return Object.values(w.actionData)[0];if(w.loaderData){var k;let x=Object.values(w.loaderData)[0];return(k=w.activeDeferreds)!=null&&k[S.route.id]&&(x[Fa]=w.activeDeferreds[S.route.id]),x}}async function i(s,d,f,v,c){P(s.signal,"query()/queryRoute() requests must contain an AbortController signal");try{if(ue(s.method.toLowerCase()))return await l(s,f,c||at(f,d),v,c!=null);let m=await u(s,f,v,c);return We(m)?m:A({},m,{actionData:null,actionHeaders:{}})}catch(m){if(ja(m)){if(m.type===$.error&&!vn(m.response))throw m.response;return m.response}if(vn(m))return m;throw m}}async function l(s,d,f,v,c){let m;if(f.route.action){if(m=await Ae("action",s,f,d,n,!0,c,v),s.signal.aborted){let S=c?"queryRoute":"query";throw new Error(S+"() call aborted")}}else{let S=V(405,{method:s.method,pathname:new URL(s.url).pathname,routeId:f.route.id});if(c)throw S;m={type:$.error,error:S}}if(ke(m))throw new Response(null,{status:m.status,headers:{Location:m.location}});if(Se(m)){let S=V(400,{type:"defer-action"});if(c)throw S;m={type:$.error,error:S}}if(c){if(Fe(m))throw m.error;return{matches:[f],loaderData:{},actionData:{[f.route.id]:m.data},errors:null,statusCode:200,loaderHeaders:{},actionHeaders:{},activeDeferreds:null}}if(Fe(m)){let S=Me(d,f.route.id),w=await u(s,d,v,void 0,{[S.route.id]:m.error});return A({},w,{statusCode:ae(m.error)?m.error.status:500,actionData:null,actionHeaders:A({},m.headers?{[f.route.id]:m.headers}:{})})}let b=new Request(s.url,{headers:s.headers,redirect:s.redirect,signal:s.signal}),R=await u(b,d,v);return A({},R,m.statusCode?{statusCode:m.statusCode}:{},{actionData:{[f.route.id]:m.data},actionHeaders:A({},m.headers?{[f.route.id]:m.headers}:{})})}async function u(s,d,f,v,c){let m=v!=null;if(m&&!(v!=null&&v.route.loader))throw V(400,{method:s.method,pathname:new URL(s.url).pathname,routeId:v?.route.id});let R=(v?[v]:Nn(d,Object.keys(c||{})[0])).filter(x=>x.route.loader);if(R.length===0)return{matches:d,loaderData:d.reduce((x,I)=>Object.assign(x,{[I.route.id]:null}),{}),errors:c||null,statusCode:200,loaderHeaders:{},activeDeferreds:null};let S=await Promise.all([...R.map(x=>Ae("loader",s,x,d,n,!0,m,f))]);if(s.signal.aborted){let x=m?"queryRoute":"query";throw new Error(x+"() call aborted")}let w=new Map,O=Ln(d,R,S,c,w),k=new Set(R.map(x=>x.route.id));return d.forEach(x=>{k.has(x.route.id)||(O.loaderData[x.route.id]=null)}),A({},O,{matches:d,activeDeferreds:w.size>0?Object.fromEntries(w.entries()):null})}return{dataRoutes:r,query:o,queryRoute:a}}function ys(e,t,r){return A({},t,{statusCode:500,errors:{[t._deepestRenderedBoundaryId||e[0].id]:r}})}function ka(e){return e!=null&&"formData"in e}function fn(e,t,r){r===void 0&&(r=!1);let n=typeof e=="string"?e:q(e);if(!t||!ka(t))return{path:n};if(t.formMethod&&!sr(t.formMethod))return{path:n,error:V(405,{method:t.formMethod})};let o;if(t.formData&&(o={formMethod:t.formMethod||"get",formAction:An(n),formEncType:t&&t.formEncType||"application/x-www-form-urlencoded",formData:t.formData},ue(o.formMethod)))return{path:n,submission:o};let a=ee(n),i=On(t.formData);return r&&a.search&&Fn(a.search)&&i.append("index",""),a.search="?"+i,{path:q(a),submission:o}}function Nn(e,t){let r=e;if(t){let n=e.findIndex(o=>o.route.id===t);n>=0&&(r=e.slice(0,n))}return r}function hn(e,t,r,n,o,a,i,l,u,s,d,f,v){let c=v?Object.values(v)[0]:f?Object.values(f)[0]:void 0,m=e.createURL(t.location),b=e.createURL(o),R=a||m.toString()===b.toString()||m.search!==b.search,S=v?Object.keys(v)[0]:void 0,O=Nn(r,S).filter((x,I)=>
1{if(x.route.loader==null)return!1;if(Ua(t.loaderData,t.matches[I],x)||i.some(Ne=>Ne===x.route.id))return!0;let J=t.matches[I],Q=x;return mn(x,A({currentUrl:m,currentParams:J.params,nextUrl:b,nextParams:Q.params},n,{actionResult:c,defaultShouldRevalidate:R||Pn(J,Q)}))}),k=[];return u.forEach((x,I)=>{if(!r.some(Re=>Re.route.id===x.routeId))return;let J=Z(s,x.path,d);if(!J){k.push(A({key:I},x,{matches:null,match:null}));return}let Q=at(J,x.path);if(l.includes(I)){k.push(A({key:I,matches:J,match:Q},x));return}mn(Q,A({currentUrl:m,currentParams:t.matches[t.matches.length-1].params,nextUrl:b,nextParams:r[r.length-1].params},n,{actionResult:c,defaultShouldRevalidate:R}))&&k.push(A({key:I,matches:J,match:Q},x))}),[O,k]}function Ua(e,t,r){let n=!t||r.route.id!==t.route.id,o=e[r.route.id]===void 0;return n||o}function Pn(e,t){let r=e.route.path;return e.pathname!==t.pathname||r!=null&&r.endsWith("*")&&e.params["*"]!==t.params["*"]}function mn(e,t){if(e.route.shouldRevalidate){let r=e.route.shouldRevalidate(t);if(typeof r=="boolean")return r}return t.defaultShouldRevalidate}async function Ae(e,t,r,n,o,a,i,l){o===void 0&&(o="/"),a===void 0&&(a=!1),i===void 0&&(i=!1);let u,s,d,f=new Promise((b,R)=>d=R),v=()=>d();t.signal.addEventListener("abort",v);try{let b=r.route[e];P(b,"Could not find the "+e+' to run on the "'+r.route.id+'" route'),s=await Promise.race([b({request:t,params:r.params,context:l}),f]),P(s!==void 0,"You defined "+(e==="action"?"an action":"a loader")+" for route "+('"'+r.route.id+"\" but didn't return anything from your `"+e+"` ")+"function. Please return a value or `null`.")}catch(b){u=$.error,s=b}finally{t.signal.removeEventListener("abort",v)}if(We(s)){let b=s.status;if(Oa.has(b)){let w=s.headers.get("Location");if(P(w,"Redirects returned/thrown from loaders/actions must have a Location header"),Dn.test(w)){if(!a){let O=new URL(t.url),k=w.startsWith("//")?new URL(O.protocol+w):new URL(w),x=Te(k.pathname,o)!=null;k.origin===O.origin&&x&&(w=k.pathname+k.search+k.hash)}}else{let O=n.slice(0,n.indexOf(r)+1),k=it(O).map(I=>I.pathnameBase),x=xt(w,k,new URL(t.url).pathname);if(P(q(x),"Unable to resolve redirect location: "+w),o){let I=x.pathname;x.pathname=I==="/"?o:ne([o,I])}w=q(x)}if(a)throw s.headers.set("Location",w),s;return{type:$.redirect,status:b,location:w,revalidate:s.headers.get("X-Remix-Revalidate")!==null}}if(i)throw{type:u||$.data,response:s};let R,S=s.headers.get("Content-Type");return S&&/\bapplication\/json\b/.test(S)?R=await s.json():R=await s.text(),u===$.error?{type:u,error:new be(b,s.statusText,R),headers:s.headers}:{type:$.data,data:R,statusCode:s.status,headers:s.headers}}if(u===$.error)return{type:u,error:s};if(s instanceof ze){var c,m;return{type:$.deferred,deferredData:s,statusCode:(c=s.init)==null?void 0:c.status,headers:((m=s.init)==null?void 0:m.headers)&&new Headers(s.init.headers)}}return{type:$.data,data:s}}function nt(e,t,r,n){let o=e.createURL(An(t)).toString(),a={signal:r};if(n&&ue(n.formMethod)){let{formMethod:i,formEncType:l,formData:u}=n;a.method=i.toUpperCase(),a.body=l==="application/x-www-form-urlencoded"?On(u):u}return new Request(o,a)}function On(e){let t=new URLSearchParams;for(let[r,n]of e.entries())t.append(r,n instanceof File?n.name:n);return t}function Ln(e,t,r,n,o){let a={},i=null,l,u=!1,s={};return r.forEach((d,f)=>{let v=t[f].route.id;if(P(!ke(d),"Cannot handle redirect results in processLoaderData"),Fe(d)){let c=Me(e,v),m=d.error;n&&(m=Object.values(n)[0],n=void 0),i=i||{},i[c.route.id]==null&&(i[c.route.id]=m),a[v]=void 0,u||(u=!0,l=ae(d.error)?d.error.status:500),d.headers&&(s[v]=d.headers)}else Se(d)?(o.set(v,d.deferredData),a[v]=d.deferredData.data):a[v]=d.data,d.statusCode!=null&&d.statusCode!==200&&!u&&(l=d.statusCode),d.headers&&(s[v]=d.headers)}),n&&(i=n,a[Object.keys(n)[0]]=void 0),{loaderData:a,errors:i,statusCode:l||200,loaderHeaders:s}}function pn(e,t,r,n,o,a,i,l){let{loaderData:u,errors:s}=Ln(t,r,n,o,l);for(let d=0;d<a.length;d++){let{key:f,match:v}=a[d];P(i!==void 0&&i[d]!==void 0,"Did not find corresponding fetcher result");let c=i[d];if(Fe(c)){let m=Me(e.matches,v?.route.id);s&&s[m.route.id]||(s=A({},s,{[m.route.id]:c.error})),e.fetchers.delete(f)}else if(ke(c))P(!1,"Unhandled fetcher revalidation redirect");else if(Se(c))P(!1,"Unhandled fetcher deferred data");else{let m={state:"idle",data:c.data,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0," _hasFetcherDoneAnything ":!0};e.fetchers.set(f,m)}}return{loaderData:u,errors:s}}function yn(e,t,r,n){let o=A({},t);for(let a of r){let i=a.route.id;if(t.hasOwnProperty(i)?t[i]!==void 0&&(o[i]=t[i]):e[i]!==void 0&&a.route.loader&&(o[i]=e[i]),n&&n.hasOwnProperty(i))break}return o}function Me(e,t){return(t?e.slice(0,e.findIndex(n=>n.route.id===t)+1):[...e]).reverse().find(n=>n.route.hasErrorBoundary===!0)||e[0]}function St(e){let t=e.find(r=>r.index||!r.path||r.path==="/")||{id:"__shim-error-route__"};return{matches:[{params:{},pathname:"",pathnameBase:"",route:t}],route:t}}function V(e,t){let{pathname:r,routeId:n,method:o,type:a}=t===void 0?{}:t,i="Unknown Server Error",l="Unknown @remix-run/router error";return e===400?(i="Bad Request",o&&r&&n?l="You made a "+o+' request to "'+r+'" but '+('did not provide a `loader` for route "'+n+'", ')+"so there is no way to handle the request.":a==="defer-action"&&(l="defer() is not supported in actions")):e===403?(i="Forbidden",l='Route "'+n+'" does not match URL "'+r+'"'):e===404?(i="Not Found",l='No route matches URL "'+r+'"'):e===405&&(i="Method Not Allowed",o&&r&&n?l="You made a "+o.toUpperCase()+' request to "'+r+'" but '+('did not provide an `action` for route "'+n+'", ')+"so there is no way to handle the request.":o&&(l='Invalid request method "'+o.toUpperCase()+'"')),new be(e||500,i,new Error(l),!0)}function gn(e){for(let t=e.length-1;t>=0;t--){let r=e[t];if(ke(r))return r}}function An(e){let t=typeof e=="string"?ee(e):e;return q(A({},t,{hash:""}))}function Ta(e,t){return e.pathname===t.pathname&&e.search===t.search&&e.hash!==t.hash}function Se(e){return e.type===$.deferred}function Fe(e){return e.type===$.error}function ke(e){return(e&&e.type)===$.redirect}function We(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.headers=="object"&&typeof e.body<"u"}function vn(e){if(!We(e))return!1;let t=e.status,r=e.headers.get("Location");return t>=300&&t<=399&&r!=null}function ja(e){return e&&We(e.response)&&(e.type===$.data||$.error)}function sr(e){return Pa.has(e)}function ue(e){return Ca.has(e)}async function Rn(e,t,r,n,o,a){for(let i=0;i<r.length;i++){let l=r[i],u=t[i];if(!u)continue;let s=e.find(f=>f.route.id===u.route.id),d=s!=null&&!Pn(s,u)&&(a&&a[u.route.id])!==void 0;Se(l)&&(o||d)&&await Mn(l,n,o).then(f=>{f&&(r[i]=f||r[i])})}}async function Mn(e,t,r){if(r===void 0&&(r=!1),!await e.deferredData.resolveData(t)){if(r)try{return{type:$.data,data:e.deferredData.unwrappedData}
1}catch(o){return{type:$.error,error:o}}return{type:$.data,data:e.deferredData.data}}}function Fn(e){return new URLSearchParams(e).getAll("index").some(t=>t==="")}function En(e,t){let{route:r,pathname:n,params:o}=e;return{id:r.id,pathname:n,params:o,data:t[r.id],handle:r.handle}}function at(e,t){let r=typeof t=="string"?ee(t).search:t.search;if(e[e.length-1].route.index&&Fn(r||""))return e[e.length-1];let n=it(e);return n[n.length-1]}var H,ln,$,ua,ca,da,fa,ha,ma,cn,ne,Sa,ba,xa,ce,ze,xn,_t,be,_n,Ca,Na,Pa,Oa,La,ir,Aa,dn,Dn,Cn,Ma,Fa,Je=Qt(()=>{(function(e){e.Pop="POP",e.Push="PUSH",e.Replace="REPLACE"})(H||(H={}));ln="popstate";(function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"})($||($={}));ua=/^:\w+$/,ca=3,da=2,fa=1,ha=10,ma=-2,cn=e=>e==="*";ne=e=>e.join("/").replace(/\/\/+/g,"/"),Sa=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),ba=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,xa=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e,ce=class extends Error{},ze=class{constructor(t,r){this.pendingKeysSet=new Set,this.subscribers=new Set,this.deferredKeys=[],P(t&&typeof t=="object"&&!Array.isArray(t),"defer() only accepts plain objects");let n;this.abortPromise=new Promise((a,i)=>n=i),this.controller=new AbortController;let o=()=>n(new ce("Deferred data aborted"));this.unlistenAbortSignal=()=>this.controller.signal.removeEventListener("abort",o),this.controller.signal.addEventListener("abort",o),this.data=Object.entries(t).reduce((a,i)=>{let[l,u]=i;return Object.assign(a,{[l]:this.trackPromise(l,u)})},{}),this.done&&this.unlistenAbortSignal(),this.init=r}trackPromise(t,r){if(!(r instanceof Promise))return r;this.deferredKeys.push(t),this.pendingKeysSet.add(t);let n=Promise.race([r,this.abortPromise]).then(o=>this.onSettle(n,t,null,o),o=>this.onSettle(n,t,o));return n.catch(()=>{}),Object.defineProperty(n,"_tracked",{get:()=>!0}),n}onSettle(t,r,n,o){return this.controller.signal.aborted&&n instanceof ce?(this.unlistenAbortSignal(),Object.defineProperty(t,"_error",{get:()=>n}),Promise.reject(n)):(this.pendingKeysSet.delete(r),this.done&&this.unlistenAbortSignal(),n?(Object.defineProperty(t,"_error",{get:()=>n}),this.emit(!1,r),Promise.reject(n)):(Object.defineProperty(t,"_data",{get:()=>o}),this.emit(!1,r),o))}emit(t,r){this.subscribers.forEach(n=>n(t,r))}subscribe(t){return this.subscribers.add(t),()=>this.subscribers.delete(t)}cancel(){this.controller.abort(),this.pendingKeysSet.forEach((t,r)=>this.pendingKeysSet.delete(r)),this.emit(!0)}async resolveData(t){let r=!1;if(!this.done){let n=()=>this.cancel();t.addEventListener("abort",n),r=await new Promise(o=>{this.subscribe(a=>{t.removeEventListener("abort",n),(a||this.done)&&o(a)})})}return r}get done(){return this.pendingKeysSet.size===0}get unwrappedData(){return P(this.data!==null&&this.done,"Can only unwrap data on initialized and settled deferreds"),Object.entries(this.data).reduce((t,r)=>{let[n,o]=r;return Object.assign(t,{[n]:Da(o)})},{})}get pendingKeys(){return Array.from(this.pendingKeysSet)}};xn=function(t,r){r===void 0&&(r={});let n=typeof r=="number"?{status:r}:r;return new ze(t,n)},_t=function(t,r){r===void 0&&(r=302);let n=r;typeof n=="number"?n={status:n}:typeof n.status>"u"&&(n.status=302);let o=new Headers(n.headers);return o.set("Location",t),new Response(null,A({},n,{headers:o}))},be=class{constructor(t,r,n,o){o===void 0&&(o=!1),this.status=t,this.statusText=r||"",this.internal=o,n instanceof Error?(this.data=n.toString(),this.error=n):this.data=n}};_n=["post","put","patch","delete"],Ca=new Set(_n),Na=["get",..._n],Pa=new Set(Na),Oa=new Set([301,302,303,307,308]),La=new Set([307,308]),ir={state:"idle",location:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0},Aa={state:"idle",data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0},dn={state:"unblocked",proceed:void 0,reset:void 0,location:void 0},Dn=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Cn=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",Ma=!Cn;Fa=Symbol("deferred")});function Dt(){return Dt=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];
1for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},Dt.apply(this,arguments)}function $a(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}function Ka(e,t,r){let n=t(),[{inst:o},a]=Va({inst:{value:n,getSnapshot:t}});return za(()=>{o.value=n,o.getSnapshot=t,dr(o)&&a({inst:o})},[e,n,t]),Wa(()=>(dr(o)&&a({inst:o}),e(()=>{dr(o)&&a({inst:o})})),[e]),Ja(n),n}function dr(e){let t=e.getSnapshot,r=e.value;try{let n=t();return!Ba(r,n)}catch{return!0}}function Ya(e,t,r){return t()}function je(e,t){let{relative:r}=t===void 0?{}:t;Ke()||P(!1);let{basename:n,navigator:o}=E.useContext(ve),{hash:a,pathname:i,search:l}=Ie(e,{relative:r}),u=i;return n!=="/"&&(u=i==="/"?n:ne([n,i])),o.createHref({pathname:u,search:l,hash:a})}function Ke(){return E.useContext(lt)!=null}function W(){return Ke()||P(!1),E.useContext(lt).location}function ut(){Ke()||P(!1);let{basename:e,navigator:t}=E.useContext(ve),{matches:r}=E.useContext(de),{pathname:n}=W(),o=JSON.stringify(it(r).map(l=>l.pathnameBase)),a=E.useRef(!1);return E.useEffect(()=>{a.current=!0}),E.useCallback(function(l,u){if(u===void 0&&(u={}),!a.current)return;if(typeof l=="number"){t.go(l);return}let s=xt(l,JSON.parse(o),n,u.relative==="path");e!=="/"&&(s.pathname=s.pathname==="/"?e:ne([e,s.pathname])),(u.replace?t.replace:t.push)(s,u.state,u)},[e,t,o,n])}function jn(){return E.useContext(Tn)}function mr(e){let t=E.useContext(de).outlet;return t&&E.createElement(Tn.Provider,{value:e},t)}function Ie(e,t){let{relative:r}=t===void 0?{}:t,{matches:n}=E.useContext(de),{pathname:o}=W(),a=JSON.stringify(it(n).map(i=>i.pathnameBase));return E.useMemo(()=>xt(e,JSON.parse(a),o,r==="path"),[e,a,o,r])}function In(e,t){Ke()||P(!1);let{navigator:r}=E.useContext(ve),n=E.useContext(ge),{matches:o}=E.useContext(de),a=o[o.length-1],i=a?a.params:{},l=a?a.pathname:"/",u=a?a.pathnameBase:"/",s=a&&a.route,d=W(),f;if(t){var v;let S=typeof t=="string"?ee(t):t;u==="/"||((v=S.pathname)==null?void 0:v.startsWith(u))||P(!1),f=S}else f=d;let c=f.pathname||"/",m=u==="/"?c:c.slice(u.length)||"/",b=Z(e,{pathname:m}),R=ti(b&&b.map(S=>Object.assign({},S,{params:Object.assign({},i,S.params),pathname:ne([u,r.encodeLocation?r.encodeLocation(S.pathname).pathname:S.pathname]),pathnameBase:S.pathnameBase==="/"?u:ne([u,r.encodeLocation?r.encodeLocation(S.pathnameBase).pathname:S.pathnameBase])})),o,n||void 0);return t&&R?E.createElement(lt.Provider,{value:{location:Dt({pathname:"/",search:"",hash:"",state:null,key:"default"},f),navigationType:H.Pop}},R):R}function Za(){let e=He(),t=ae(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),r=e instanceof Error?e.stack:null,n="rgba(200,200,200, 0.5)",o={padding:"0.5rem",backgroundColor:n},a={padding:"2px 4px",backgroundColor:n};return E.createElement(E.Fragment,null,E.createElement("h2",null,"Unexpected Application Error!"),E.createElement("h3",{style:{fontStyle:"italic"}},t),r?E.createElement("pre",{style:o},r):null,null)}function ei(e){let{routeContext:t,match:r,children:n}=e,o=E.useContext(_e);return o&&o.static&&o.staticContext&&r.route.errorElement&&(o.staticContext._deepestRenderedBoundaryId=r.route.id),E.createElement(de.Provider,{value:t},n)}function ti(e,t,r){if(t===void 0&&(t=[]),e==null)if(r!=null&&r.errors)e=r.matches;else return null;let n=e,o=r?.errors;if(o!=null){let a=n.findIndex(i=>i.route.id&&o?.[i.route.id]);a>=0||P(!1),n=n.slice(0,Math.min(n.length,a+1))}return n.reduceRight((a,i,l)=>{let u=i.route.id?o?.[i.route.id]:null,s=r?i.route.errorElement||E.createElement(Za,null):null,d=t.concat(n.slice(0,l+1)),f=()=>E.createElement(ei,{match:i,routeContext:{outlet:a,matches:d}},u?s:i.route.element!==void 0?i.route.element:a);return r&&(i.route.errorElement||l===0)?E.createElement(fr,{location:r.location,component:s,error:u,children:f(),routeContext:{outlet:null,matches:d}}):f()},null)}function Nt(e){let t=E.useContext(ge);return t||P(!1),t}function ri(e){let t=E.useContext(de);return t||P(!1),t}function Hn(e){let t=ri(e),r=t.matches[t.matches.length-1];return r.route.id||P(!1),r.route.id}function Ye(){return Nt(xe.UseNavigation).navigation}function ct(){let{matches:e,loaderData:t}=Nt(xe.UseMatches);return E.useMemo(()=>e.map(r=>{let{pathname:n,params:o}=r;return{id:r.route.id,pathname:n,params:o,data:t[r.route.id],handle:r.route.handle}}),[e,t])}function pr(){let e=Nt(xe.UseLoaderData),t=Hn(xe.UseLoaderData);if(e.errors&&e.errors[t]!=null){console.error("You cannot `useLoaderData` in an errorElement (routeId: "+t+")");return}return e.loaderData[t]}function He(){var e;let t=E.useContext(Un),r=Nt(xe.UseRouteError),n=Hn(xe.UseRouteError);return t||((e=r.errors)==null?void 0:e[n])}function yr(){let e=E.useContext(Ct);return e?._data}function Pt(){let e=E.useContext(Ct);return e?._error}function gr(e){let{fallbackElement:t,router:r}
1=e,n=Qa(r.subscribe,()=>r.state,()=>r.state),o=E.useMemo(()=>({createHref:r.createHref,encodeLocation:r.encodeLocation,go:i=>r.navigate(i),push:(i,l,u)=>r.navigate(i,{state:l,preventScrollReset:u?.preventScrollReset}),replace:(i,l,u)=>r.navigate(i,{replace:!0,state:l,preventScrollReset:u?.preventScrollReset})}),[r]),a=r.basename||"/";return E.createElement(E.Fragment,null,E.createElement(_e.Provider,{value:{router:r,navigator:o,static:!1,basename:a}},E.createElement(ge.Provider,{value:n},E.createElement(vr,{basename:r.basename,location:r.state.location,navigationType:r.state.historyAction,navigator:o},r.state.initialized?E.createElement(Vn,null):t))),null)}function $n(e){return mr(e.context)}function Bn(e){P(!1)}function vr(e){let{basename:t="/",children:r=null,location:n,navigationType:o=H.Pop,navigator:a,static:i=!1}=e;Ke()&&P(!1);let l=t.replace(/^\/*/,"/"),u=E.useMemo(()=>({basename:l,navigator:a,static:i}),[l,a,i]);typeof n=="string"&&(n=ee(n));let{pathname:s="/",search:d="",hash:f="",state:v=null,key:c="default"}=n,m=E.useMemo(()=>{let b=Te(s,l);return b==null?null:{pathname:b,search:d,hash:f,state:v,key:c}},[l,s,d,f,v,c]);return m==null?null:E.createElement(ve.Provider,{value:u},E.createElement(lt.Provider,{children:r,value:{location:m,navigationType:o}}))}function Vn(e){let{children:t,location:r}=e,n=E.useContext(_e),o=n&&!t?n.router.routes:st(t);return In(o,r)}function Rr(e){let{children:t,errorElement:r,resolve:n}=e;return E.createElement(hr,{resolve:n,errorElement:r},E.createElement(oi,null,t))}function oi(e){let{children:t}=e,r=yr(),n=typeof t=="function"?t(r):t;return E.createElement(E.Fragment,null,n)}function st(e,t){t===void 0&&(t=[]);let r=[];return E.Children.forEach(e,(n,o)=>{if(!E.isValidElement(n))return;if(n.type===E.Fragment){r.push.apply(r,st(n.props.children,t));return}n.type!==Bn&&P(!1),!n.props.index||!n.props.children||P(!1);let a=[...t,o],i={id:n.props.id||a.join("-"),caseSensitive:n.props.caseSensitive,element:n.props.element,index:n.props.index,path:n.props.path,loader:n.props.loader,action:n.props.action,errorElement:n.props.errorElement,hasErrorBoundary:n.props.errorElement!=null,shouldRevalidate:n.props.shouldRevalidate,handle:n.props.handle};n.props.children&&(i.children=st(n.props.children,a)),r.push(i)}),r}function Ot(e){return e.map(t=>{let r=Dt({},t);return r.hasErrorBoundary==null&&(r.hasErrorBoundary=r.errorElement!=null),r.children&&(r.children=Ot(r.children)),r})}var E,Ba,Va,Wa,za,Ja,Xa,Ga,qa,Qa,_e,ge,Ct,ve,lt,de,Un,Tn,fr,kn,xe,te,ni,hr,Er=Qt(()=>{Je();Je();E=we(ye());Ba=typeof Object.is=="function"?Object.is:$a,{useState:Va,useEffect:Wa,useLayoutEffect:za,useDebugValue:Ja}=E;Xa=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",Ga=!Xa,qa=Ga?Ya:Ka,Qa="useSyncExternalStore"in E?(e=>e.useSyncExternalStore)(E):qa,_e=E.createContext(null),ge=E.createContext(null),Ct=E.createContext(null),ve=E.createContext(null),lt=E.createContext(null),de=E.createContext({outlet:null,matches:[]}),Un=E.createContext(null);Tn=E.createContext(null);fr=class extends E.Component{constructor(t){super(t),this.state={location:t.location,error:t.error}}static getDerivedStateFromError(t){return{error:t}}static getDerivedStateFromProps(t,r){return r.location!==t.location?{error:t.error,location:t.location}:{error:t.error||r.error,location:r.location}}componentDidCatch(t,r){console.error("React Router caught the following error during render",t,r)}render(){return this.state.error?E.createElement(de.Provider,{value:this.props.routeContext},E.createElement(Un.Provider,{value:this.state.error,children:this.props.component})):this.props.children}};(function(e){e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator"})(kn||(kn={}));(function(e){e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator"})(xe||(xe={}));(function(e){e[e.pending=0]="pending",e[e.success=1]="success",e[e.error=2]="error"})(te||(te={}));ni=new Promise(()=>{}
1),hr=class extends E.Component{constructor(t){super(t),this.state={error:null}}static getDerivedStateFromError(t){return{error:t}}componentDidCatch(t,r){console.error("<Await> caught the following error during render",t,r)}render(){let{children:t,errorElement:r,resolve:n}=this.props,o=null,a=te.pending;if(!(n instanceof Promise))a=te.success,o=Promise.resolve(),Object.defineProperty(o,"_tracked",{get:()=>!0}),Object.defineProperty(o,"_data",{get:()=>n});else if(this.state.error){a=te.error;let i=this.state.error;o=Promise.reject().catch(()=>{}),Object.defineProperty(o,"_tracked",{get:()=>!0}),Object.defineProperty(o,"_error",{get:()=>i})}else n._tracked?(o=n,a=o._error!==void 0?te.error:o._data!==void 0?te.success:te.pending):(a=te.pending,Object.defineProperty(n,"_tracked",{get:()=>!0}),o=n.then(i=>Object.defineProperty(n,"_data",{get:()=>i}),i=>Object.defineProperty(n,"_error",{get:()=>i})));if(a===te.error&&o._error instanceof ce)throw ni;if(a===te.error&&!r)throw o._error;if(a===te.error)return E.createElement(Ct.Provider,{value:o,children:r});if(a===te.success)return E.createElement(Ct.Provider,{value:o,children:t});throw o}}});function De(){return De=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},De.apply(this,arguments)}function xr(e,t){if(e==null)return{};var r={},n=Object.keys(e),o,a;for(a=0;a<n.length;a++)o=n[a],!(t.indexOf(o)>=0)&&(r[o]=e[o]);return r}function Ft(e){return e!=null&&typeof e.tagName=="string"}function ci(e){return Ft(e)&&e.tagName.toLowerCase()==="button"}function di(e){return Ft(e)&&e.tagName.toLowerCase()==="form"}function fi(e){return Ft(e)&&e.tagName.toLowerCase()==="input"}function hi(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function mi(e,t){return e.button===0&&(!t||t==="_self")&&!hi(e)}function Sr(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(o=>[r,o]):[[r,n]])},[]))}function pi(e,t){let r=Sr(e);if(t)for(let n of t.keys())r.has(n)||t.getAll(n).forEach(o=>{r.append(n,o)});return r}function yi(e,t,r){let n,o,a,i;if(di(e)){let d=r.submissionTrigger;n=r.method||e.getAttribute("method")||At,o=r.action||e.getAttribute("action")||t,a=r.encType||e.getAttribute("enctype")||wr,i=new FormData(e),d&&d.name&&i.append(d.name,d.value)}else if(ci(e)||fi(e)&&(e.type==="submit"||e.type==="image")){let d=e.form;if(d==null)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');n=r.method||e.getAttribute("formmethod")||d.getAttribute("method")||At,o=r.action||e.getAttribute("formaction")||d.getAttribute("action")||t,a=r.encType||e.getAttribute("formenctype")||d.getAttribute("enctype")||wr,i=new FormData(d),e.name&&i.append(e.name,e.value)}else{if(Ft(e))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');if(n=r.method||At,o=r.action||t,a=r.encType||wr,e instanceof FormData)i=e;else if(i=new FormData,e instanceof URLSearchParams)for(let[d,f]of e)i.append(d,f);else if(e!=null)for(let d of Object.keys(e))i.append(d,e[d])}let{protocol:l,host:u}=window.location;return{url:new URL(o,l+"//"+u),method:n.toLowerCase(),encType:a,formData:i}}function Jn(e,t){return cr({basename:t?.basename,history:wn({window:t?.window}),hydrationData:t?.hydrationData||Ei(),routes:Ot(e)}).initialize()}function Ei(){var e;let t=(e=window)==null?void 0:e.__staticRouterHydrationData;return t&&t.errors&&(t=De({},t,{errors:wi(t.errors)})),t}function wi(e){if(!e)return null;let t=Object.entries(e),r={};for(let[n,o]of t)if(o&&o.__type==="RouteErrorResponse")r[n]=new be(o.status,o.statusText,o.data,o.internal===!0);else if(o&&o.__type==="Error"){let a=new Error(o.message);a.stack="",r[n]=a}else r[n]=o;return r}function Yn(e){let t=F.useContext(_e);return t||P(!1),t}function Di(e){let t=F.useContext(ge);return t||P(!1),t}function Ci(e,t){let{target:r,replace:n,state:o,preventScrollReset:a,relative:i}=t===void 0?{}:t,l=ut(),u=W(),s=Ie(e,{relative:i});return F.useCallback(d=>
1{if(mi(d,r)){d.preventDefault();let f=n!==void 0?n:q(u)===q(s);l(e,{replace:f,state:o,preventScrollReset:a,relative:i})}},[u,l,s,n,o,r,e,a,i])}function Ni(e){let t=F.useRef(Sr(e)),r=F.useRef(!1),n=W(),o=F.useMemo(()=>pi(n.search,r.current?null:t.current),[n.search]),a=ut(),i=F.useCallback((l,u)=>{let s=Sr(typeof l=="function"?l(o):l);r.current=!0,a("?"+s,u)},[a,o]);return[o,i]}function Pi(){return Xn()}function Xn(e,t){let{router:r}=Yn(Mt.UseSubmitImpl),n=Dr();return F.useCallback(function(o,a){if(a===void 0&&(a={}),typeof document>"u")throw new Error("You are calling submit during the server render. Try calling submit within a `useEffect` or callback instead.");let{method:i,encType:l,formData:u,url:s}=yi(o,n,a),d=s.pathname+s.search,f={replace:a.replace,preventScrollReset:a.preventScrollReset,formData:u,formMethod:i,formEncType:l};e?(t==null&&P(!1),r.fetch(e,t,d,f)):r.navigate(d,f)},[n,r,e,t])}function Dr(e,t){let{relative:r}=t===void 0?{}:t,{basename:n}=F.useContext(ve),o=F.useContext(de);o||P(!1);let[a]=o.matches.slice(-1),i=De({},Ie(e||".",{relative:r})),l=W();if(e==null&&(i.search=l.search,i.hash=l.hash,a.route.index)){let u=new URLSearchParams(i.search);u.delete("index"),i.search=u.toString()?"?"+u.toString():""}return(!e||e===".")&&a.route.index&&(i.search=i.search?i.search.replace(/^\?/,"?index&"):"?index"),n!=="/"&&(i.pathname=i.pathname==="/"?n:ne([n,i.pathname])),q(i)}function Gn(e){let{getKey:t,storageKey:r}=e===void 0?{}:e,{router:n}=Yn(Mt.UseScrollRestoration),{restoreScrollPosition:o,preventScrollReset:a}=Di(br.UseScrollRestoration),i=W(),l=ct(),u=Ye();F.useEffect(()=>(window.history.scrollRestoration="manual",()=>{window.history.scrollRestoration="auto"}),[]),Oi(F.useCallback(()=>{if(u.state==="idle"){let s=(t?t(i,l):null)||i.key;Lt[s]=window.scrollY}sessionStorage.setItem(r||Wn,JSON.stringify(Lt)),window.history.scrollRestoration="auto"},[r,t,u.state,i,l])),typeof document<"u"&&(F.useLayoutEffect(()=>{try{let s=sessionStorage.getItem(r||Wn);s&&(Lt=JSON.parse(s))}catch{}},[r]),F.useLayoutEffect(()=>{let s=n?.enableScrollRestoration(Lt,()=>window.scrollY,t);return()=>s&&s()},[n,t]),F.useLayoutEffect(()=>{if(o!==!1){if(typeof o=="number"){window.scrollTo(0,o);return}if(i.hash){let s=document.getElementById(i.hash.slice(1));if(s){s.scrollIntoView();return}}a!==!0&&window.scrollTo(0,0)}},[i,o,a]))}function Oi(e,t){let{capture:r}=t||{};F.useEffect(()=>{let n=r!=null?{capture:r}:void 0;return window.addEventListener("pagehide",e,n),()=>{window.removeEventListener("pagehide",e,n)}},[e,r])}var F,At,wr,gi,vi,Ri,Si,bi,_r,Kn,xi,_i,Mt,br,Wn,Lt,Ce=Qt(()=>{F=we(ye());Er();Er();Je();At="get",wr="application/x-www-form-urlencoded";gi=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset"],vi=["aria-current","caseSensitive","className","end","style","to","children"],Ri=["reloadDocument","replace","method","action","onSubmit","fetcherKey","routeId","relative","preventScrollReset"];Si=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",bi=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,_r=F.forwardRef(function(t,r){let{onClick:n,relative:o,reloadDocument:a,replace:i,state:l,target:u,to:s,preventScrollReset:d}=t,f=xr(t,gi),{basename:v}=F.useContext(ve),c,m=!1;if(typeof s=="string"&&bi.test(s)&&(c=s,Si)){let w=new URL(window.location.href),O=s.startsWith("//")?new URL(w.protocol+s):new URL(s),k=Te(O.pathname,v);O.origin===w.origin&&k!=null?s=k+O.search+O.hash:m=!0}let b=je(s,{relative:o}),R=Ci(s,{replace:i,state:l,target:u,preventScrollReset:d,relative:o});function S(w){n&&n(w),w.defaultPrevented||R(w)}return F.createElement("a",De({},f,{href:c||b,onClick:m||a?n:S,ref:r,target:u}))}),Kn=F.forwardRef(function(t,r){let{"aria-current":n="page",caseSensitive:o=!1,className:a="",end:i=!1,style:l,to:u,children:s}=t,d=xr(t,vi),f=Ie(u,{relative:d.relative}),v=W(),c=F.useContext(ge),{navigator:m}=F.useContext(ve),b=m.encodeLocation?m.encodeLocation(f).pathname:f.pathname,R=v.pathname,S=c&&c.navigation&&c.navigation.location?c.navigation.location.pathname:null;o||(R=R.toLowerCase(),S=S?S.toLowerCase():null,b=b.toLowerCase());let w=R===b||!i&&R.startsWith(b)&&R.charAt(b.length)==="/",O=S!=null&&(S===b||!i&&S.startsWith(b)&&S.charAt(b.length)==="/"),k=w?n:void 0,x;typeof a=="function"?x=a({isActive:w,isPending:O}
1):x=[a,w?"active":null,O?"pending":null].filter(Boolean).join(" ");let I=typeof l=="function"?l({isActive:w,isPending:O}):l;return F.createElement(_r,De({},d,{"aria-current":k,className:x,ref:r,style:I,to:u}),typeof s=="function"?s({isActive:w,isPending:O}):s)}),xi=F.forwardRef((e,t)=>F.createElement(_i,De({},e,{ref:t}))),_i=F.forwardRef((e,t)=>{let{reloadDocument:r,replace:n,method:o=At,action:a,onSubmit:i,fetcherKey:l,routeId:u,relative:s,preventScrollReset:d}=e,f=xr(e,Ri),v=Xn(l,u),c=o.toLowerCase()==="get"?"get":"post",m=Dr(a,{relative:s});return F.createElement("form",De({ref:t,method:c,action:m,onSubmit:r?i:R=>{if(i&&i(R),R.defaultPrevented)return;R.preventDefault();let S=R.nativeEvent.submitter,w=S?.getAttribute("formmethod")||o;v(S||R.currentTarget,{method:w,replace:n,relative:s,preventScrollReset:d})}},f))});(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmitImpl="useSubmitImpl",e.UseFetcher="useFetcher"})(Mt||(Mt={}));(function(e){e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"})(br||(br={}));Wn="react-router-scroll-positions",Lt={}});var Qn=tt(qn=>{"use strict";var Xe=ye();function Li(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Ai=typeof Object.is=="function"?Object.is:Li,Mi=Xe.useState,Fi=Xe.useEffect,ki=Xe.useLayoutEffect,Ui=Xe.useDebugValue;function Ti(e,t){var r=t(),n=Mi({inst:{value:r,getSnapshot:t}}),o=n[0].inst,a=n[1];return ki(function(){o.value=r,o.getSnapshot=t,Cr(o)&&a({inst:o})},[e,r,t]),Fi(function(){return Cr(o)&&a({inst:o}),e(function(){Cr(o)&&a({inst:o})})},[e]),Ui(r),r}function Cr(e){var t=e.getSnapshot;e=e.value;try{var r=t();return!Ai(e,r)}catch{return!0}}function ji(e,t){return t()}var Ii=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?ji:Ti;qn.useSyncExternalStore=Xe.useSyncExternalStore!==void 0?Xe.useSyncExternalStore:Ii});var eo=tt((Fs,Zn)=>{"use strict";Zn.exports=Qn()});var Bt=we(ye());Ce();var Lo=we(eo());function z(){return z=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},z.apply(this,arguments)}var g=we(ye());Ce();var T=we(ye());Ce();var kt=class extends T.default.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?T.default.createElement(this.props.component,{error:this.state.error}):this.props.children}};function Ge({error:e}){return console.error(e),T.default.createElement("html",{lang:"en"},T.default.createElement("head",null,T.default.createElement("meta",{charSet:"utf-8"}),T.default.createElement("meta",{name:"viewport",content:"width=device-width,initial-scale=1,viewport-fit=cover"}),T.default.createElement("title",null,"Application Error!")),T.default.createElement("body",null,T.default.createElement("main",{style:{fontFamily:"system-ui, sans-serif",padding:"2rem"}},T.default.createElement("h1",{style:{fontSize:"24px"}},"Application Error"),T.default.createElement("pre",{style:{padding:"2rem",background:"hsla(10, 50%, 50%, 0.1)",color:"red",overflow:"auto"}},e.stack)),T.default.createElement("script",{dangerouslySetInnerHTML:{__html:`
2              console.log(
3                "\u{1F4BF} Hey developer\u{1F44B}. You can provide a way better UX than this when your app throws errors. Check out https://remix.run/guides/errors for more information."
4              );
5            `}})))}function to(){let e=He();if(ae(e))return T.default.createElement(io,{caught:e});if(e instanceof Error)return T.default.createElement(Ge,{error:e});{let t=e==null?"Unknown Error":typeof e=="object"&&"toString"in e?e.toString():JSON.stringify(e);return T.default.createElement(Ge,{error:new Error(t)})}}var ro=T.default.createContext(void 0);function no(){return(0,T.useContext)(ro)}function oo({catch:e,component:t,children:r}){return e?T.default.createElement(ro.Provider,{value:e},T.default.createElement(t,null)):T.default.createElement(T.default.Fragment,null,r)}function ao(){let e=no();return T.default.createElement(io,{caught:e})}function io({caught:e}){return T.default.createElement("html",{lang:"en"},T.default.createElement("head",null,T.default.createElement("meta",{charSet:"utf-8"}),T.default.createElement("meta",{name:"viewport",content:"width=device-width,initial-scale=1,viewport-fit=cover"}),T.default.createElement("title",null,"Unhandled Thrown Response!")),T.default.createElement("body",null,T.default.createElement("h1",{style:{fontFamily:"system-ui, sans-serif",padding:"2rem"}},e.status," ",e.statusText),T.default.createElement("script",{dangerouslySetInnerHTML:{__html:`
6              console.log(
7                "\u{1F4BF} Hey developer\u{1F44B}. You can provide a way better UX than this when your app throws 404s (and other responses). Check out https://remix.run/guides/not-found for more information."
8              );
9            `}})))}function ie(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}Ce();async function Ut(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{return window.location.reload(),new Promise(()=>{})}}function so(e,t,r){let n=e.map(a=>{var i;let l=t[a.route.id];return((i=l.links)===null||i===void 0?void 0:i.call(l))||[]}).flat(1),o=Bi(e,r);return Vi(n,o)}async function lo(e){if(!e.links)return;let t=e.links();if(!t)return;let r=[];for(let o of t)!Tt(o)&&o.rel==="stylesheet"&&r.push({...o,rel:"preload",as:"style"});let n=r.filter(o=>!o.media||window.matchMedia(o.media).matches);await Promise.all(n.map(Hi))}async function Hi(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 Tt(e){return e!=null&&typeof e.page=="string"}function $i(e){return e==null?!1:e.href==null?e.rel==="preload"&&(typeof e.imageSrcSet=="string"||typeof e.imagesrcset=="string")&&(typeof e.imageSizes=="string"||typeof e.imagesizes=="string"):typeof e.rel=="string"&&typeof e.href=="string"}async function uo(e,t,r){return(await Promise.all(e.map(async o=>{let a=await Ut(t.routes[o.route.id],r);return a.links?a.links():[]}))).flat(1).filter($i).filter(o=>o.rel==="stylesheet"||o.rel==="preload").map(o=>o.rel==="preload"?{...o,rel:"prefetch"}:{...o,rel:"prefetch",as:"style"})}function Nr(e,t,r,n,o,a){let i=ho(e),l=(d,f)=>r[f]?d.route.id!==r[f].route.id:!0,u=(d,f)=>{var v;return r[f].pathname!==d.pathname||((v=r[f].route.path)===null||v===void 0?void 0:v.endsWith("*"))&&r[f].params["*"]!==d.params["*"]};return a==="data"&&o.search!==i.search?t.filter((d,f)=>{if(!n.routes[d.route.id].hasLoader)return!1;if(l(d,f)||u(d,f))return!0;
9if(d.route.shouldRevalidate){var c;let m=d.route.shouldRevalidate({currentUrl:new URL(o.pathname+o.search+o.hash,window.origin),currentParams:((c=r[0])===null||c===void 0?void 0:c.params)||{},nextUrl:new URL(e,window.origin),nextParams:d.params,defaultShouldRevalidate:!0});if(typeof m=="boolean")return m}return!0}):t.filter((d,f)=>{let v=n.routes[d.route.id];return(a==="assets"||v.hasLoader)&&(l(d,f)||u(d,f))})}function co(e,t,r){let n=ho(e);return Pr(t.filter(o=>r.routes[o.route.id].hasLoader).map(o=>{let{pathname:a,search:i}=n,l=new URLSearchParams(i);return l.set("_data",o.route.id),`${a}?${l}`}))}function fo(e,t){return Pr(e.map(r=>{let n=t.routes[r.route.id],o=[n.module];return n.imports&&(o=o.concat(n.imports)),o}).flat(1))}function Bi(e,t){return Pr(e.map(r=>{let n=t.routes[r.route.id],o=[n.module];return n.imports&&(o=o.concat(n.imports)),o}).flat(1))}function Pr(e){return[...new Set(e)]}function Vi(e,t){let r=new Set,n=new Set(t);return e.reduce((o,a)=>{if(!Tt(a)&&a.as==="script"&&a.href&&n.has(a.href))return o;let l=JSON.stringify(a);return r.has(l)||(r.add(l),o.push(a)),o},[])}function ho(e){let t=ee(e);return t.search===void 0&&(t.search=""),t}var Wi={"&":"\\u0026",">":"\\u003e","<":"\\u003c","\u2028":"\\u2028","\u2029":"\\u2029"},zi=/[&><\u2028\u2029]/g;function dt(e){return e.replace(zi,t=>Wi[t])}function Or(e){return{__html:e}}function po(){let e=g.useContext(_e);return ie(e,"You must render this element inside a <DataRouterContext.Provider> element"),e}function ht(){let e=g.useContext(ge);return ie(e,"You must render this element inside a <DataRouterStateContext.Provider> element"),e}var mt=g.createContext(void 0);mt.displayName="Remix";function fe(){let e=g.useContext(mt);return ie(e,"You must render this element inside a <Remix> element"),e}function yo({id:e}){let{routeModules:t}=fe();ie(t,`Cannot initialize 'routeModules'. This normally occurs when you have server code in your client modules.
10Check this link for more details:
11https://remix.run/pages/gotchas#server-code-in-client-bundles`);let{default:r}=t[e];return ie(r,`Route "${e}" has no component! Please go add a \`default\` export in the route module file.
12If you were trying to navigate or submit to a resource route, use \`<a>\` instead of \`<Link>\` or \`<Form reloadDocument>\`.`),g.createElement(r,null)}function go({id:e}){let{future:t,routeModules:r}=fe();ie(r,`Cannot initialize 'routeModules'. This normally occurs when you have server code in your client modules.
13Check this link for more details:
14https://remix.run/pages/gotchas#server-code-in-client-bundles`);let n=He(),{CatchBoundary:o,ErrorBoundary:a}=r[e];if(t.v2_errorBoundary){if(e==="root"&&(a||(a=to)),a)return g.createElement(a,null);throw n}if(e==="root"&&(o||(o=ao),a||(a=Ge)),ae(n)){let i=n;if(i?.error instanceof Error&&i.status!==404&&a)return g.createElement(a,{error:i.error});if(o)return g.createElement(oo,{component:o,catch:n})}if(n instanceof Error&&a)return g.createElement(a,{error:n});throw n}function vo(e,t){let[r,n]=g.useState(!1),[o,a]=g.useState(!1),{onFocus:i,onBlur:l,onMouseEnter:u,onMouseLeave:s,onTouchStart:d}=t;g.useEffect(()=>{e==="render"&&a(!0)},[e]);let f=()=>{e==="intent"&&n(!0)},v=()=>{e==="intent"&&(n(!1),a(!1))};return g.useEffect(()=>{if(r){let c=setTimeout(()=>{a(!0)},100);return()=>{clearTimeout(c)}}},[r]),[o,{onFocus:ft(i,f),onBlur:ft(l,v),onMouseEnter:ft(u,f),onMouseLeave:ft(s,v),onTouchStart:ft(d,f)}]}var Ro=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Eo=g.forwardRef(({to:e,prefetch:t="none",...r},n)=>{let o=typeof e=="string"&&Ro.test(e),a=je(e),[i,l]=vo(t,r);return g.createElement(g.Fragment,null,g.createElement(Kn,z({ref:n,to:e},r,l)),i&&!o?g.createElement(It,{page:a}):null)});Eo.displayName="NavLink";var wo=g.forwardRef(({to:e,prefetch:t="none",...r},n)=>{let o=typeof e=="string"&&Ro.test(e),a=je(e),[i,l]=vo(t,r);return g.createElement(g.Fragment,null,g.createElement(_r,z({ref:n,to:e},r,l)),i&&!o?g.createElement(It,{page:a}):null)});wo.displayName="Link";function ft(e,t){return r=>{e&&e(r),r.defaultPrevented||t(r)}}function Ji(){let{manifest:e,routeModules:t}=fe(),{matches:r}
14=ht(),n=g.useMemo(()=>so(r,t,e),[r,t,e]);return g.createElement(g.Fragment,null,n.map(o=>{if(Tt(o))return g.createElement(It,z({key:o.page},o));let a=null;return"useId"in g?(o.imagesrcset&&(o.imageSrcSet=a=o.imagesrcset,delete o.imagesrcset),o.imagesizes&&(o.imageSizes=o.imagesizes,delete o.imagesizes)):(o.imageSrcSet&&(o.imagesrcset=a=o.imageSrcSet,delete o.imageSrcSet),o.imageSizes&&(o.imagesizes=o.imageSizes,delete o.imageSizes)),g.createElement("link",z({key:o.rel+(o.href||"")+(a||"")},o))}))}function It({page:e,...t}){let{router:r}=po(),n=g.useMemo(()=>Z(r.routes,e),[r.routes,e]);return n?g.createElement(Yi,z({page:e,matches:n},t)):(console.warn(`Tried to prefetch ${e} but no routes matched.`),null)}function Ki(e){let{manifest:t,routeModules:r}=fe(),[n,o]=g.useState([]);return g.useEffect(()=>{let a=!1;return uo(e,t,r).then(i=>{a||o(i)}),()=>{a=!0}},[e,t,r]),n}function Yi({page:e,matches:t,...r}){let n=W(),{manifest:o}=fe(),{matches:a}=ht(),i=g.useMemo(()=>Nr(e,t,a,o,n,"data"),[e,t,a,o,n]),l=g.useMemo(()=>Nr(e,t,a,o,n,"assets"),[e,t,a,o,n]),u=g.useMemo(()=>co(e,i,o),[i,e,o]),s=g.useMemo(()=>fo(l,o),[l,o]),d=Ki(l);return g.createElement(g.Fragment,null,u.map(f=>g.createElement("link",z({key:f,rel:"prefetch",as:"fetch",href:f},r))),s.map(f=>g.createElement("link",z({key:f,rel:"modulepreload",href:f},r))),d.map(f=>g.createElement("link",z({key:f.href},f))))}function Xi(){let{routeModules:e}=fe(),{matches:t,loaderData:r}=ht(),n=W(),o={},a={};for(let i of t){let l=i.route.id,u=r[l],s=i.params,d=e[l];if(d.meta){let f=typeof d.meta=="function"?d.meta({data:u,parentsData:a,params:s,location:n,matches:void 0}):d.meta;if(f&&Array.isArray(f))throw new Error("The route at "+i.route.path+" returns an array. This is only supported with the `v2_meta` future flag in the Remix config. Either set the flag to `true` or update the route's meta function to return an object.\n\nTo reference the v1 meta function API, see https://remix.run/route/meta");Object.assign(o,f)}a[l]=u}return g.createElement(g.Fragment,null,Object.entries(o).map(([i,l])=>{if(!l)return null;if(["charset","charSet"].includes(i))return g.createElement("meta",{key:"charset",charSet:l});if(i==="title")return g.createElement("title",{key:"title"},String(l));let u=/^(og|music|video|article|book|profile|fb):.+$/.test(i);return[l].flat().map(s=>u?g.createElement("meta",{property:i,content:s,key:i+s}):typeof s=="string"?g.createElement("meta",{name:i,content:s,key:i+s}):g.createElement("meta",z({key:i+JSON.stringify(s)},s)))}))}function Gi(){let{routeModules:e}=fe(),{matches:t,loaderData:r}=ht(),n=W(),o=[],a=null,i={},l=t.map(s=>({...s,meta:[]})),u=-1;for(let s of t){u++;let d=s.route.id,f=r[d],v=s.params,c=e[d],m=[];if(c!=null&&c.meta?m=typeof c.meta=="function"?c.meta({data:f,parentsData:i,params:v,location:n,matches:l}):c.meta:a&&(m=a),m=m||[],!Array.isArray(m))throw new Error("The `v2_meta` API is enabled in the Remix config, but the route at "+s.route.path+` returns an invalid value. In v2, all route meta functions must return an array of meta objects.
15
16To reference the v1 meta function API, see https://remix.run/route/meta`);l[u].meta=m,o=m,i[d]=f,a=o}return g.createElement(g.Fragment,null,o.flat().map(s=>s?"title"in s?g.createElement("title",{key:"title"},String(s.title)):"charSet"in s||"charset"in s?g.createElement("meta",{key:"charset",charSet:s.charSet||s.charset}):g.createElement("meta",z({key:JSON.stringify(s)},s)):null))}function qi(){let{future:e}=fe();return e!=null&&e.v2_meta?g.createElement(Gi,null):g.createElement(Xi,null)}function So(e){return g.createElement(Rr,e)}var jt=!1;function Qi(e){let{manifest:t,serverHandoffString:r,abortDelay:n}=fe(),{router:o,static:a,staticContext:i}=po(),{matches:l}=ht(),u=Ye();g.useEffect(()=>{jt=!0},[]);let s=[],d=g.useMemo(()=>{var m;let b=i?`window.__remixContext = ${r};`:" ",R=i?.activeDeferreds;b+=R?["__remixContext.p = function(v,e,p,x) {","  if (typeof e !== 'undefined') {","    x=new Error(e.message);","","    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(e.message);","","    p.e(x);","  } else {","    p.r(v);","  }","};"].join(`
17`)+Object.entries(R).map(([w,O])=>{let k=new Set(O.pendingKeys),x=O.deferredKeys.map(I=>
17{if(k.has(I))return s.push(g.createElement(mo,{key:`${w} | ${I}`,deferredData:O,routeId:w,dataKey:I})),`${JSON.stringify(I)}:__remixContext.n(${JSON.stringify(w)}, ${JSON.stringify(I)})`;{let J=O.data[I];if(typeof J._error<"u"){let Q={message:J._error.message,stack:void 0};return`${JSON.stringify(I)}:__remixContext.p(!1, ${dt(JSON.stringify(Q))})`}else{if(typeof J._data>"u")throw new Error(`The deferred data for ${I} was not resolved, did you forget to return data from a deferred promise?`);return`${JSON.stringify(I)}:__remixContext.p(${dt(JSON.stringify(J._data))})`}}}).join(`,
18`);return`Object.assign(__remixContext.state.loaderData[${JSON.stringify(w)}], {${x}});`}).join(`
19`)+(s.length>0?`__remixContext.a=${s.length};`:""):"";let S=a?`${(m=t.hmr)!==null&&m!==void 0&&m.runtime?`import ${JSON.stringify(t.hmr.runtime)};`:""}import ${JSON.stringify(t.url)};
20${l.map((w,O)=>`import * as route${O} from ${JSON.stringify(t.routes[w.route.id].module)};`).join(`
21`)}
22window.__remixRouteModules = {${l.map((w,O)=>`${JSON.str
22ingify(w.route.id)}:route${O}`).join(",")}};
23
24import(${JSON.stringify(t.entry.module)});`:" ";return g.createElement(g.Fragment,null,g.createElement("script",z({},e,{suppressHydrationWarning:!0,dangerouslySetInnerHTML:Or(b),type:void 0})),g.createElement("script",z({},e,{suppressHydrationWarning:!0,dangerouslySetInnerHTML:Or(S),type:"module",async:!0})))},[]);if(!a&&typeof __remixContext=="object"&&__remixContext.a)for(let m=0;m<__remixContext.a;m++)s.push(g.createElement(mo,{key:m}));let f=g.useMemo(()=>{if(u.location){let m=Z(o.routes,u.location);return ie(m,`No routes match path "${u.location.pathname}"`),m}return[]},[u.location,o.routes]),v=l.concat(f).map(m=>{let b=t.routes[m.route.id];return(b.imports||[]).concat([b.module])}).flat(1),c=jt?[]:t.entry.imports.concat(v);return g.createElement(g.Fragment,null,g.createElement("link",{rel:"modulepreload",href:t.url,crossOrigin:e.crossOrigin}),g.createElement("link",{rel:"modulepreload",href:t.entry.module,crossOrigin:e.crossOrigin}),es(c).map(m=>g.createElement("link",{key:m,rel:"modulepreload",href:m,crossOrigin:e.crossOrigin})),!jt&&d,!jt&&s)}function mo({dataKey:e,deferredData:t,routeId:r}){return typeof document>"u"&&t&&e&&r&&ie(t.pendingKeys.includes(e),`Deferred data for route ${r} with key ${e} was not pending but tried to render a script for it.`),g.createElement(g.Suspense,{fallback:typeof document>"u"&&t&&e&&r?null:g.createElement("script",{async:!0,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:" "}})},typeof document>"u"&&t&&e&&r?g.createElement(So,{resolve:t.data[e],errorElement:g.createElement(Zi,{dataKey:e,routeId:r}),children:n=>g.createElement("script",{async:!0,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:`__remixContext.r(${JSON.stringify(r)}, ${JSON.stringify(e)}, ${dt(JSON.stringify(n))});`}})}):g.createElement("script",{async:!0,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:" "}}))}function Zi({dataKey:e,routeId:t}){let n={message:Pt().message,stack:void 0};return g.createElement("script",{suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:`__remixContext.r(${JSON.stringify(t)}, ${JSON.stringify(e)}, !1, ${dt(JSON.stringify(n))});`}})}function es(e){return[...new Set(e)]}function Lr(){let{routeModules:e}=fe(),t=ct();return g.useMemo(()=>t.map(r=>({id:r.id,pathname:r.pathname,params:r.params,data:r.data,handle:e[r.id].handle})),[t,e])}function ts(){return pr()}var rs=()=>null;Je();function bo(e){if(!e)return null;let t=Object.entries(e),r={};for(let[n,o]of t)if(o&&o.__type==="RouteErrorResponse")r[n]=new be(o.status,o.statusText,o.data,o.internal===!0);else if(o&&o.__type==="Error"){let a=new Error(o.message);a.stack=o.stack,r[n]=a}else r[n]=o;return r}var Ar=we(ye());Ce();Je();function _o(e){return e instanceof Response&&e.headers.get("X-Remix-Catch")!=null}function ns(e){return e instanceof Response&&e.headers.get("X-Remix-Error")!=null}function Do(e){return e instanceof Response&&e.headers.get("X-Remix-Redirect")!=null}function Co(e){var t;return e instanceof Response&&!!((t=e.headers.get("Content-Type"))!==null&&t!==void 0&&t.match(/text\/remix-deferred/))}async function No(e,t){let r=new URL(e.url);r.searchParams.set("_data",t);let n={signal:e.signal};if(e.method!=="GET"){n.method=e.method;let a=e.headers.get("Content-Type");n.body=a&&/\bapplication\/x-www-form-urlencoded\b/.test(a)?new URLSearchParams(await e.text()):await e.formData()}let o=await fetch(r.href,n);if(ns(o)){let a=await o.json(),i=new Error(a.message);return i.stack=a.stack,i}return o}var os="__deferred_promise:";async function Po(e){if(!e)throw new Error("parseDeferredReadableStream requires stream argument");let t,r={};try{let n=as(e),a=(await n.next()).value;if(!a)throw new Error("no critical data");let i=JSON.parse(a);if(typeof i=="object"&&i!==null)for(let[l,u]of Object.entries(i))typeof u!="string"||!u.startsWith(os)||(t=t||{},t[l]=new Promise((s,d)=>{r[l]={resolve:f=>{s(f),delete r[l]},reject:f=>{d(f),delete r[l]}}}));return(async()=>{try{for await(let l of n){let[u,...s]=l.split(":"),d=s.join(":"),f=JSON.parse(d);if(u==="data")for(let[v,c]of Object.entries(f))r[v]&&r[v].resolve(c);else if(u==="error")for(let[v,c]of Object.entries(f)){let m=new Error(c.message);m.stack=c.stack,r[v]&&r[v].reject(m)}}for(let[l,u]of Object.entries(r))u.reject(new ce(`Deferred ${l} will never be resolved`))}catch(l){for(let u of Object.values(r))u.reject(l)}})(),new ze({...i,...t})}catch(n){for(let o of Object.values(r))o.reject(n);throw n}}
24async function*as(e){let t=e.getReader(),r=[],n=[],o=!1,a=new TextEncoder,i=new TextDecoder,l=async()=>{if(n.length>0)return n.shift();for(;!o&&n.length===0;){let s=await t.read();if(s.done){o=!0;break}r.push(s.value);try{let f=i.decode(xo(...r)).split(`
25
26`);if(f.length>=2&&(n.push(...f.slice(0,-1)),r=[a.encode(f.slice(-1).join(`
27
28`))]),n.length>0)break}catch{continue}}return n.length>0||r.length>0&&(n=i.decode(xo(...r)).split(`
29
30`).filter(d=>d),r=[]),n.shift()},u=await l();for(;u;)yield u,u=await l()}function xo(...e){let t=new Uint8Array(e.reduce((n,o)=>n+o.length,0)),r=0;for(let n of e)t.set(n,r),r+=n.length;return t}function is(e){let t={};return Object.values(e).forEach(r=>{let n=r.parentId||"";t[n]||(t[n]=[]),t[n].push(r)}),t}function Ht(e,t,r,n="",o=is(e)){return(o[n]||[]).map(a=>{let i=r.v2_errorBoundary===!0?a.id==="root"||a.hasErrorBoundary:a.id==="root"||a.hasCatchBoundary||a.hasErrorBoundary,l={caseSensitive:a.caseSensitive,element:Ar.createElement(yo,{id:a.id}),errorElement:i?Ar.createElement(go,{id:a.id}):void 0,id:a.id,index:a.index,path:a.path,handle:void 0,loader:Oo(a,t,!1),action:Oo(a,t,!0),shouldRevalidate:ss(a,t)},u=Ht(e,t,r,a.id);return u.length>0&&(l.children=u),l})}function ss(e,t){return function(r){let n=t[e.id];return ie(n,`Expected route module to be loaded for ${e.id}`),n.shouldRevalidate?n.shouldRevalidate(r):r.defaultShouldRevalidate}}async function ls(e,t){let r=await Ut(e,t);return await lo(r),r}function Oo(e,t,r){return async({request:n})=>{let o=ls(e,t);try{if(r&&!e.hasAction){let i=`Route "${e.id}" does not have an action, but you are trying to submit to it. To fix this, please add an \`action\` function to the route`;throw console.error(i),new Error(i)}else if(!r&&!e.hasLoader)return null;let a=await No(n,e.id);if(a instanceof Error)throw a;if(Do(a))throw us(a);if(_o(a))throw a;return Co(a)&&a.body?await Po(a.body):a}finally{await o}}}function us(e){let t=parseInt(e.headers.get("X-Remix-Status"),10)||302,r=e.headers.get("X-Remix-Redirect"),n={},o=e.headers.get("X-Remix-Revalidate");return o&&(n["X-Remix-Revalidate"]=o),_t(r,{status:t,headers:n})}var he,$t;import.meta&&import.meta.hot&&import.meta.hot.accept("remix:manifest",async e=>{let t=[...new Set(he.state.matches.map(i=>i.route.id).concat(Object.keys(window.__remixRouteModules)))],r=Object.assign({},window.__remixRouteModules,Object.fromEntries((await Promise.all(t.map(async i=>{var l,u,s,d;if(!e.routes[i])return null;let f=await import(e.routes[i].module+`?t=${(l=e.hmr)===null||l===void 0?void 0:l.timestamp}`);return[i,{...f,default:f.default?((u=window.__remixRouteModules[i])===null||u===void 0?void 0:u.default)??f.default:f.default,CatchBoundary:f.CatchBoundary?((s=window.__remixRouteModules[i])===null||s===void 0?void 0:s.CatchBoundary)??f.CatchBoundary:f.CatchBoundary,ErrorBoundary:f.ErrorBoundary?((d=window.__remixRouteModules[i])===null||d===void 0?void 0:d.ErrorBoundary)??f.ErrorBoundary:f.ErrorBoundary}]}))).filter(Boolean)));Object.assign(window.__remixRouteModules,r);let n=Ht(e.routes,window.__remixRouteModules,window.__remixContext.future);he._internalSetRoutes(n),$t&&$t.abort(),$t=new AbortController;let o=$t.signal,a=he.subscribe(i=>{i.revalidation==="idle"&&!o.aborted&&(a(),Object.assign(window.__remixManifest,e),window.$RefreshRuntime$.performReactRefresh())});he.revalidate()});function cs(e){if(!he){let r=Ht(window.__remixManifest.routes,window.__remixRouteModules,window.__remixContext.future),n=window.__remixContext.state;n&&n.errors&&(n={...n,errors:bo(n.errors)}),he=Jn(r,{hydrationData:n})}let t=(0,Lo.useSyncExternalStore)(he.subscribe,()=>he.state.location,()=>he.state.location);return Bt.createElement(mt.Provider,{value:{manifest:window.__remixManifest,routeModules:window.__remixRouteModules,future:window.__remixContext.future}},Bt.createElement(kt,{location:t,component:Ge},Bt.createElement(gr,{router:he,fallbackElement:null})))}Ce();var Vt=we(ye());Ce();var Ao="positions";function ds({getKey:e,...t}){let r=W(),n=Lr();Gn({getKey:e,storageKey:Ao});let o=Vt.useMemo(()=>{if(!e)return null;let i=e(r,n);return i!==r.key?i:null},[]),a=((i,l)=>{if(!window.history.state||!window.history.state.key){let u=Math.random().toString(32).slice(2);window.history.replaceState({key:u},"")}try{let s=JSON.parse(sessionStorage.getItem(i)||"{}")[l||window.history.state.key];typeof s=="number"&&window.scrollTo(0,s)}catch(u){console.error(u),sessionStorage.removeItem(i)}}).toString();return Vt.createElement("script",z({},t,{suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:`(${a})(${JSON.stringify(Ao)}, ${JSON.stringify(o)})`}}))}export{Vr as a,ye as b,Z as c,xn as d,ae as e,Fa as f,ps as g,ys as h,Je as i,W as j,ut as k,jn as l,Ye as m,$n as n,xi as o,Ni as p,Pi as q,no as r,wo as s,Ji as t,qi as u,Qi as v,Lr as w,ts as x,rs as y,cs as z,ds as A};

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.