@khanglvm/llm-router 2.4.1 → 2.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,19 +1,19 @@
1
- (()=>{var LN=Object.create;var Mv=Object.defineProperty;var DN=Object.getOwnPropertyDescriptor;var IN=Object.getOwnPropertyNames;var zN=Object.getPrototypeOf,BN=Object.prototype.hasOwnProperty;var wo=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var UN=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of IN(t))!BN.call(e,o)&&o!==n&&Mv(e,o,{get:()=>t[o],enumerable:!(r=DN(t,o))||r.enumerable});return e};var _=(e,t,n)=>(n=e!=null?LN(zN(e)):{},UN(t||!e||!e.__esModule?Mv(n,"default",{value:e,enumerable:!0}):n,e));var Pv=wo(Vt=>{"use strict";function Qm(e,t){var n=e.length;e.push(t);e:for(;0<n;){var r=n-1>>>1,o=e[r];if(0<_u(o,t))e[r]=t,e[n]=o,n=r;else break e}}function Ao(e){return e.length===0?null:e[0]}function Lu(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;e:for(var r=0,o=e.length,a=o>>>1;r<a;){var i=2*(r+1)-1,l=e[i],s=i+1,c=e[s];if(0>_u(l,n))s<o&&0>_u(c,l)?(e[r]=c,e[s]=n,r=s):(e[r]=l,e[i]=n,r=i);else if(s<o&&0>_u(c,n))e[r]=c,e[s]=n,r=s;else break e}}return t}function _u(e,t){var n=e.sortIndex-t.sortIndex;return n!==0?n:e.id-t.id}Vt.unstable_now=void 0;typeof performance=="object"&&typeof performance.now=="function"?(Ov=performance,Vt.unstable_now=function(){return Ov.now()}):(qm=Date,_v=qm.now(),Vt.unstable_now=function(){return qm.now()-_v});var Ov,qm,_v,Wo=[],Ma=[],PN=1,Br=null,Kn=3,Xm=!1,js=!1,Vs=!1,Zm=!1,Dv=typeof setTimeout=="function"?setTimeout:null,Iv=typeof clearTimeout=="function"?clearTimeout:null,kv=typeof setImmediate<"u"?setImmediate:null;function ku(e){for(var t=Ao(Ma);t!==null;){if(t.callback===null)Lu(Ma);else if(t.startTime<=e)Lu(Ma),t.sortIndex=t.expirationTime,Qm(Wo,t);else break;t=Ao(Ma)}}function Jm(e){if(Vs=!1,ku(e),!js)if(Ao(Wo)!==null)js=!0,xl||(xl=!0,bl());else{var t=Ao(Ma);t!==null&&ep(Jm,t.startTime-e)}}var xl=!1,Hs=-1,zv=5,Bv=-1;function Uv(){return Zm?!0:!(Vt.unstable_now()-Bv<zv)}function Wm(){if(Zm=!1,xl){var e=Vt.unstable_now();Bv=e;var t=!0;try{e:{js=!1,Vs&&(Vs=!1,Iv(Hs),Hs=-1),Xm=!0;var n=Kn;try{t:{for(ku(e),Br=Ao(Wo);Br!==null&&!(Br.expirationTime>e&&Uv());){var r=Br.callback;if(typeof r=="function"){Br.callback=null,Kn=Br.priorityLevel;var o=r(Br.expirationTime<=e);if(e=Vt.unstable_now(),typeof o=="function"){Br.callback=o,ku(e),t=!0;break t}Br===Ao(Wo)&&Lu(Wo),ku(e)}else Lu(Wo);Br=Ao(Wo)}if(Br!==null)t=!0;else{var a=Ao(Ma);a!==null&&ep(Jm,a.startTime-e),t=!1}}break e}finally{Br=null,Kn=n,Xm=!1}t=void 0}}finally{t?bl():xl=!1}}}var bl;typeof kv=="function"?bl=function(){kv(Wm)}:typeof MessageChannel<"u"?(Ym=new MessageChannel,Lv=Ym.port2,Ym.port1.onmessage=Wm,bl=function(){Lv.postMessage(null)}):bl=function(){Dv(Wm,0)};var Ym,Lv;function ep(e,t){Hs=Dv(function(){e(Vt.unstable_now())},t)}Vt.unstable_IdlePriority=5;Vt.unstable_ImmediatePriority=1;Vt.unstable_LowPriority=4;Vt.unstable_NormalPriority=3;Vt.unstable_Profiling=null;Vt.unstable_UserBlockingPriority=2;Vt.unstable_cancelCallback=function(e){e.callback=null};Vt.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):zv=0<e?Math.floor(1e3/e):5};Vt.unstable_getCurrentPriorityLevel=function(){return Kn};Vt.unstable_next=function(e){switch(Kn){case 1:case 2:case 3:var t=3;break;default:t=Kn}var n=Kn;Kn=t;try{return e()}finally{Kn=n}};Vt.unstable_requestPaint=function(){Zm=!0};Vt.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=Kn;Kn=e;try{return t()}finally{Kn=n}};Vt.unstable_scheduleCallback=function(e,t,n){var r=Vt.unstable_now();switch(typeof n=="object"&&n!==null?(n=n.delay,n=typeof n=="number"&&0<n?r+n:r):n=r,e){case 1:var o=-1;break;case 2:o=250;break;case 5:o=1073741823;break;case 4:o=1e4;break;default:o=5e3}return o=n+o,e={id:PN++,callback:t,priorityLevel:e,startTime:n,expirationTime:o,sortIndex:-1},n>r?(e.sortIndex=n,Qm(Ma,e),Ao(Wo)===null&&e===Ao(Ma)&&(Vs?(Iv(Hs),Hs=-1):Vs=!0,ep(Jm,n-r))):(e.sortIndex=o,Qm(Wo,e),js||Xm||(js=!0,xl||(xl=!0,bl()))),e};Vt.unstable_shouldYield=Uv;Vt.unstable_wrapCallback=function(e){var t=Kn;return function(){var n=Kn;Kn=t;try{return e.apply(this,arguments)}finally{Kn=n}}}});var Vv=wo((H5,jv)=>{"use strict";jv.exports=Pv()});var Zv=wo(Ve=>{"use strict";var rp=Symbol.for("react.transitional.element"),jN=Symbol.for("react.portal"),VN=Symbol.for("react.fragment"),HN=Symbol.for("react.strict_mode"),FN=Symbol.for("react.profiler"),KN=Symbol.for("react.consumer"),$N=Symbol.for("react.context"),GN=Symbol.for("react.forward_ref"),qN=Symbol.for("react.suspense"),WN=Symbol.for("react.memo"),Gv=Symbol.for("react.lazy"),YN=Symbol.for("react.activity"),Hv=Symbol.iterator;function QN(e){return e===null||typeof e!="object"?null:(e=Hv&&e[Hv]||e["@@iterator"],typeof e=="function"?e:null)}var qv={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Wv=Object.assign,Yv={};function wl(e,t,n){this.props=e,this.context=t,this.refs=Yv,this.updater=n||qv}wl.prototype.isReactComponent={};wl.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};wl.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function Qv(){}Qv.prototype=wl.prototype;function op(e,t,n){this.props=e,this.context=t,this.refs=Yv,this.updater=n||qv}var ap=op.prototype=new Qv;ap.constructor=op;Wv(ap,wl.prototype);ap.isPureReactComponent=!0;var Fv=Array.isArray;function np(){}var It={H:null,A:null,T:null,S:null},Xv=Object.prototype.hasOwnProperty;function ip(e,t,n){var r=n.ref;return{$$typeof:rp,type:e,key:t,ref:r!==void 0?r:null,props:n}}function XN(e,t){return ip(e.type,t,e.props)}function lp(e){return typeof e=="object"&&e!==null&&e.$$typeof===rp}function ZN(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(n){return t[n]})}var Kv=/\/+/g;function tp(e,t){return typeof e=="object"&&e!==null&&e.key!=null?ZN(""+e.key):t.toString(36)}function JN(e){switch(e.status){case"fulfilled":return e.value;case"rejected":throw e.reason;default:switch(typeof e.status=="string"?e.then(np,np):(e.status="pending",e.then(function(t){e.status==="pending"&&(e.status="fulfilled",e.value=t)},function(t){e.status==="pending"&&(e.status="rejected",e.reason=t)})),e.status){case"fulfilled":return e.value;case"rejected":throw e.reason}}throw e}function Sl(e,t,n,r,o){var a=typeof e;(a==="undefined"||a==="boolean")&&(e=null);var i=!1;if(e===null)i=!0;else switch(a){case"bigint":case"string":case"number":i=!0;break;case"object":switch(e.$$typeof){case rp:case jN:i=!0;break;case Gv:return i=e._init,Sl(i(e._payload),t,n,r,o)}}if(i)return o=o(e),i=r===""?"."+tp(e,0):r,Fv(o)?(n="",i!=null&&(n=i.replace(Kv,"$&/")+"/"),Sl(o,t,n,"",function(c){return c})):o!=null&&(lp(o)&&(o=XN(o,n+(o.key==null||e&&e.key===o.key?"":(""+o.key).replace(Kv,"$&/")+"/")+i)),t.push(o)),1;i=0;var l=r===""?".":r+":";if(Fv(e))for(var s=0;s<e.length;s++)r=e[s],a=l+tp(r,s),i+=Sl(r,t,n,a,o);else if(s=QN(e),typeof s=="function")for(e=s.call(e),s=0;!(r=e.next()).done;)r=r.value,a=l+tp(r,s++),i+=Sl(r,t,n,a,o);else if(a==="object"){if(typeof e.then=="function")return Sl(JN(e),t,n,r,o);throw t=String(e),Error("Objects are not valid as a React child (found: "+(t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.")}return i}function Du(e,t,n){if(e==null)return e;var r=[],o=0;return Sl(e,r,"","",function(a){return t.call(n,a,o++)}),r}function eM(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(n){(e._status===0||e._status===-1)&&(e._status=1,e._result=n)},function(n){(e._status===0||e._status===-1)&&(e._status=2,e._result=n)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var $v=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)},tM={map:Du,forEach:function(e,t,n){Du(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return Du(e,function(){t++}),t},toArray:function(e){return Du(e,function(t){return t})||[]},only:function(e){if(!lp(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};Ve.Activity=YN;Ve.Children=tM;Ve.Component=wl;Ve.Fragment=VN;Ve.Profiler=FN;Ve.PureComponent=op;Ve.StrictMode=HN;Ve.Suspense=qN;Ve.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=It;Ve.__COMPILER_RUNTIME={__proto__:null,c:function(e){return It.H.useMemoCache(e)}};Ve.cache=function(e){return function(){return e.apply(null,arguments)}};Ve.cacheSignal=function(){return null};Ve.cloneElement=function(e,t,n){if(e==null)throw Error("The argument must be a React element, but you passed "+e+".");var r=Wv({},e.props),o=e.key;if(t!=null)for(a in t.key!==void 0&&(o=""+t.key),t)!Xv.call(t,a)||a==="key"||a==="__self"||a==="__source"||a==="ref"&&t.ref===void 0||(r[a]=t[a]);var a=arguments.length-2;if(a===1)r.children=n;else if(1<a){for(var i=Array(a),l=0;l<a;l++)i[l]=arguments[l+2];r.children=i}return ip(e.type,o,r)};Ve.createContext=function(e){return e={$$typeof:$N,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:KN,_context:e},e};Ve.createElement=function(e,t,n){var r,o={},a=null;if(t!=null)for(r in t.key!==void 0&&(a=""+t.key),t)Xv.call(t,r)&&r!=="key"&&r!=="__self"&&r!=="__source"&&(o[r]=t[r]);var i=arguments.length-2;if(i===1)o.children=n;else if(1<i){for(var l=Array(i),s=0;s<i;s++)l[s]=arguments[s+2];o.children=l}if(e&&e.defaultProps)for(r in i=e.defaultProps,i)o[r]===void 0&&(o[r]=i[r]);return ip(e,a,o)};Ve.createRef=function(){return{current:null}};Ve.forwardRef=function(e){return{$$typeof:GN,render:e}};Ve.isValidElement=lp;Ve.lazy=function(e){return{$$typeof:Gv,_payload:{_status:-1,_result:e},_init:eM}};Ve.memo=function(e,t){return{$$typeof:WN,type:e,compare:t===void 0?null:t}};Ve.startTransition=function(e){var t=It.T,n={};It.T=n;try{var r=e(),o=It.S;o!==null&&o(n,r),typeof r=="object"&&r!==null&&typeof r.then=="function"&&r.then(np,$v)}catch(a){$v(a)}finally{t!==null&&n.types!==null&&(t.types=n.types),It.T=t}};Ve.unstable_useCacheRefresh=function(){return It.H.useCacheRefresh()};Ve.use=function(e){return It.H.use(e)};Ve.useActionState=function(e,t,n){return It.H.useActionState(e,t,n)};Ve.useCallback=function(e,t){return It.H.useCallback(e,t)};Ve.useContext=function(e){return It.H.useContext(e)};Ve.useDebugValue=function(){};Ve.useDeferredValue=function(e,t){return It.H.useDeferredValue(e,t)};Ve.useEffect=function(e,t){return It.H.useEffect(e,t)};Ve.useEffectEvent=function(e){return It.H.useEffectEvent(e)};Ve.useId=function(){return It.H.useId()};Ve.useImperativeHandle=function(e,t,n){return It.H.useImperativeHandle(e,t,n)};Ve.useInsertionEffect=function(e,t){return It.H.useInsertionEffect(e,t)};Ve.useLayoutEffect=function(e,t){return It.H.useLayoutEffect(e,t)};Ve.useMemo=function(e,t){return It.H.useMemo(e,t)};Ve.useOptimistic=function(e,t){return It.H.useOptimistic(e,t)};Ve.useReducer=function(e,t,n){return It.H.useReducer(e,t,n)};Ve.useRef=function(e){return It.H.useRef(e)};Ve.useState=function(e){return It.H.useState(e)};Ve.useSyncExternalStore=function(e,t,n){return It.H.useSyncExternalStore(e,t,n)};Ve.useTransition=function(){return It.H.useTransition()};Ve.version="19.2.4"});var pe=wo((K5,Jv)=>{"use strict";Jv.exports=Zv()});var tb=wo(Wn=>{"use strict";var nM=pe();function eb(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n])}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."}function Oa(){}var qn={d:{f:Oa,r:function(){throw Error(eb(522))},D:Oa,C:Oa,L:Oa,m:Oa,X:Oa,S:Oa,M:Oa},p:0,findDOMNode:null},rM=Symbol.for("react.portal");function oM(e,t,n){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:rM,key:r==null?null:""+r,children:e,containerInfo:t,implementation:n}}var Fs=nM.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function Iu(e,t){if(e==="font")return"";if(typeof t=="string")return t==="use-credentials"?t:""}Wn.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=qn;Wn.createPortal=function(e,t){var n=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)throw Error(eb(299));return oM(e,t,null,n)};Wn.flushSync=function(e){var t=Fs.T,n=qn.p;try{if(Fs.T=null,qn.p=2,e)return e()}finally{Fs.T=t,qn.p=n,qn.d.f()}};Wn.preconnect=function(e,t){typeof e=="string"&&(t?(t=t.crossOrigin,t=typeof t=="string"?t==="use-credentials"?t:"":void 0):t=null,qn.d.C(e,t))};Wn.prefetchDNS=function(e){typeof e=="string"&&qn.d.D(e)};Wn.preinit=function(e,t){if(typeof e=="string"&&t&&typeof t.as=="string"){var n=t.as,r=Iu(n,t.crossOrigin),o=typeof t.integrity=="string"?t.integrity:void 0,a=typeof t.fetchPriority=="string"?t.fetchPriority:void 0;n==="style"?qn.d.S(e,typeof t.precedence=="string"?t.precedence:void 0,{crossOrigin:r,integrity:o,fetchPriority:a}):n==="script"&&qn.d.X(e,{crossOrigin:r,integrity:o,fetchPriority:a,nonce:typeof t.nonce=="string"?t.nonce:void 0})}};Wn.preinitModule=function(e,t){if(typeof e=="string")if(typeof t=="object"&&t!==null){if(t.as==null||t.as==="script"){var n=Iu(t.as,t.crossOrigin);qn.d.M(e,{crossOrigin:n,integrity:typeof t.integrity=="string"?t.integrity:void 0,nonce:typeof t.nonce=="string"?t.nonce:void 0})}}else t==null&&qn.d.M(e)};Wn.preload=function(e,t){if(typeof e=="string"&&typeof t=="object"&&t!==null&&typeof t.as=="string"){var n=t.as,r=Iu(n,t.crossOrigin);qn.d.L(e,n,{crossOrigin:r,integrity:typeof t.integrity=="string"?t.integrity:void 0,nonce:typeof t.nonce=="string"?t.nonce:void 0,type:typeof t.type=="string"?t.type:void 0,fetchPriority:typeof t.fetchPriority=="string"?t.fetchPriority:void 0,referrerPolicy:typeof t.referrerPolicy=="string"?t.referrerPolicy:void 0,imageSrcSet:typeof t.imageSrcSet=="string"?t.imageSrcSet:void 0,imageSizes:typeof t.imageSizes=="string"?t.imageSizes:void 0,media:typeof t.media=="string"?t.media:void 0})}};Wn.preloadModule=function(e,t){if(typeof e=="string")if(t){var n=Iu(t.as,t.crossOrigin);qn.d.m(e,{as:typeof t.as=="string"&&t.as!=="script"?t.as:void 0,crossOrigin:n,integrity:typeof t.integrity=="string"?t.integrity:void 0})}else qn.d.m(e)};Wn.requestFormReset=function(e){qn.d.r(e)};Wn.unstable_batchedUpdates=function(e,t){return e(t)};Wn.useFormState=function(e,t,n){return Fs.H.useFormState(e,t,n)};Wn.useFormStatus=function(){return Fs.H.useHostTransitionStatus()};Wn.version="19.2.4"});var Ei=wo((G5,rb)=>{"use strict";function nb(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(nb)}catch(e){console.error(e)}}nb(),rb.exports=tb()});var gw=wo(lf=>{"use strict";var En=Vv(),Mx=pe(),aM=Ei();function B(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n])}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."}function Ox(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function Mc(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,(t.flags&4098)!==0&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function _x(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function kx(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function ob(e){if(Mc(e)!==e)throw Error(B(188))}function iM(e){var t=e.alternate;if(!t){if(t=Mc(e),t===null)throw Error(B(188));return t!==e?null:e}for(var n=e,r=t;;){var o=n.return;if(o===null)break;var a=o.alternate;if(a===null){if(r=o.return,r!==null){n=r;continue}break}if(o.child===a.child){for(a=o.child;a;){if(a===n)return ob(o),e;if(a===r)return ob(o),t;a=a.sibling}throw Error(B(188))}if(n.return!==r.return)n=o,r=a;else{for(var i=!1,l=o.child;l;){if(l===n){i=!0,n=o,r=a;break}if(l===r){i=!0,r=o,n=a;break}l=l.sibling}if(!i){for(l=a.child;l;){if(l===n){i=!0,n=a,r=o;break}if(l===r){i=!0,r=a,n=o;break}l=l.sibling}if(!i)throw Error(B(189))}}if(n.alternate!==r)throw Error(B(190))}if(n.tag!==3)throw Error(B(188));return n.stateNode.current===n?e:t}function Lx(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=Lx(e),t!==null)return t;e=e.sibling}return null}var Ut=Object.assign,lM=Symbol.for("react.element"),zu=Symbol.for("react.transitional.element"),Xs=Symbol.for("react.portal"),Nl=Symbol.for("react.fragment"),Dx=Symbol.for("react.strict_mode"),Vp=Symbol.for("react.profiler"),Ix=Symbol.for("react.consumer"),na=Symbol.for("react.context"),zg=Symbol.for("react.forward_ref"),Hp=Symbol.for("react.suspense"),Fp=Symbol.for("react.suspense_list"),Bg=Symbol.for("react.memo"),_a=Symbol.for("react.lazy"),Kp=Symbol.for("react.activity"),sM=Symbol.for("react.memo_cache_sentinel"),ab=Symbol.iterator;function Ks(e){return e===null||typeof e!="object"?null:(e=ab&&e[ab]||e["@@iterator"],typeof e=="function"?e:null)}var cM=Symbol.for("react.client.reference");function $p(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===cM?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Nl:return"Fragment";case Vp:return"Profiler";case Dx:return"StrictMode";case Hp:return"Suspense";case Fp:return"SuspenseList";case Kp:return"Activity"}if(typeof e=="object")switch(e.$$typeof){case Xs:return"Portal";case na:return e.displayName||"Context";case Ix:return(e._context.displayName||"Context")+".Consumer";case zg:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Bg:return t=e.displayName||null,t!==null?t:$p(e.type)||"Memo";case _a:t=e._payload,e=e._init;try{return $p(e(t))}catch{}}return null}var Zs=Array.isArray,De=Mx.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,gt=aM.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,ki={pending:!1,data:null,method:null,action:null},Gp=[],Ml=-1;function No(e){return{current:e}}function kn(e){0>Ml||(e.current=Gp[Ml],Gp[Ml]=null,Ml--)}function _t(e,t){Ml++,Gp[Ml]=e.current,e.current=t}var To=No(null),gc=No(null),Ha=No(null),gd=No(null);function hd(e,t){switch(_t(Ha,t),_t(gc,e),_t(To,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?fx(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=fx(t),e=tw(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}kn(To),_t(To,e)}function ql(){kn(To),kn(gc),kn(Ha)}function qp(e){e.memoizedState!==null&&_t(gd,e);var t=To.current,n=tw(t,e.type);t!==n&&(_t(gc,e),_t(To,n))}function yd(e){gc.current===e&&(kn(To),kn(gc)),gd.current===e&&(kn(gd),Ec._currentValue=ki)}var sp,ib;function Ni(e){if(sp===void 0)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);sp=t&&t[1]||"",ib=-1<n.stack.indexOf(`
1
+ (()=>{var EM=Object.create;var Gb=Object.defineProperty;var TM=Object.getOwnPropertyDescriptor;var MM=Object.getOwnPropertyNames;var OM=Object.getPrototypeOf,kM=Object.prototype.hasOwnProperty;var Eo=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var _M=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of MM(t))!kM.call(e,o)&&o!==n&&Gb(e,o,{get:()=>t[o],enumerable:!(r=TM(t,o))||r.enumerable});return e};var B=(e,t,n)=>(n=e!=null?EM(OM(e)):{},_M(t||!e||!e.__esModule?Gb(n,"default",{value:e,enumerable:!0}):n,e));var nv=Eo(Yt=>{"use strict";function cp(e,t){var n=e.length;e.push(t);e:for(;0<n;){var r=n-1>>>1,o=e[r];if(0<Uu(o,t))e[r]=t,e[n]=o,n=r;else break e}}function To(e){return e.length===0?null:e[0]}function Vu(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;e:for(var r=0,o=e.length,a=o>>>1;r<a;){var i=2*(r+1)-1,l=e[i],s=i+1,c=e[s];if(0>Uu(l,n))s<o&&0>Uu(c,l)?(e[r]=c,e[s]=n,r=s):(e[r]=l,e[i]=n,r=i);else if(s<o&&0>Uu(c,n))e[r]=c,e[s]=n,r=s;else break e}}return t}function Uu(e,t){var n=e.sortIndex-t.sortIndex;return n!==0?n:e.id-t.id}Yt.unstable_now=void 0;typeof performance=="object"&&typeof performance.now=="function"?(qb=performance,Yt.unstable_now=function(){return qb.now()}):(ip=Date,Wb=ip.now(),Yt.unstable_now=function(){return ip.now()-Wb});var qb,ip,Wb,ta=[],za=[],LM=1,Vr=null,Xn=3,up=!1,Ws=!1,Ys=!1,dp=!1,Xb=typeof setTimeout=="function"?setTimeout:null,Jb=typeof clearTimeout=="function"?clearTimeout:null,Yb=typeof setImmediate<"u"?setImmediate:null;function ju(e){for(var t=To(za);t!==null;){if(t.callback===null)Vu(za);else if(t.startTime<=e)Vu(za),t.sortIndex=t.expirationTime,cp(ta,t);else break;t=To(za)}}function fp(e){if(Ys=!1,ju(e),!Ws)if(To(ta)!==null)Ws=!0,Ml||(Ml=!0,Tl());else{var t=To(za);t!==null&&mp(fp,t.startTime-e)}}var Ml=!1,Qs=-1,Zb=5,ev=-1;function tv(){return dp?!0:!(Yt.unstable_now()-ev<Zb)}function lp(){if(dp=!1,Ml){var e=Yt.unstable_now();ev=e;var t=!0;try{e:{Ws=!1,Ys&&(Ys=!1,Jb(Qs),Qs=-1),up=!0;var n=Xn;try{t:{for(ju(e),Vr=To(ta);Vr!==null&&!(Vr.expirationTime>e&&tv());){var r=Vr.callback;if(typeof r=="function"){Vr.callback=null,Xn=Vr.priorityLevel;var o=r(Vr.expirationTime<=e);if(e=Yt.unstable_now(),typeof o=="function"){Vr.callback=o,ju(e),t=!0;break t}Vr===To(ta)&&Vu(ta),ju(e)}else Vu(ta);Vr=To(ta)}if(Vr!==null)t=!0;else{var a=To(za);a!==null&&mp(fp,a.startTime-e),t=!1}}break e}finally{Vr=null,Xn=n,up=!1}t=void 0}}finally{t?Tl():Ml=!1}}}var Tl;typeof Yb=="function"?Tl=function(){Yb(lp)}:typeof MessageChannel<"u"?(sp=new MessageChannel,Qb=sp.port2,sp.port1.onmessage=lp,Tl=function(){Qb.postMessage(null)}):Tl=function(){Xb(lp,0)};var sp,Qb;function mp(e,t){Qs=Xb(function(){e(Yt.unstable_now())},t)}Yt.unstable_IdlePriority=5;Yt.unstable_ImmediatePriority=1;Yt.unstable_LowPriority=4;Yt.unstable_NormalPriority=3;Yt.unstable_Profiling=null;Yt.unstable_UserBlockingPriority=2;Yt.unstable_cancelCallback=function(e){e.callback=null};Yt.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):Zb=0<e?Math.floor(1e3/e):5};Yt.unstable_getCurrentPriorityLevel=function(){return Xn};Yt.unstable_next=function(e){switch(Xn){case 1:case 2:case 3:var t=3;break;default:t=Xn}var n=Xn;Xn=t;try{return e()}finally{Xn=n}};Yt.unstable_requestPaint=function(){dp=!0};Yt.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=Xn;Xn=e;try{return t()}finally{Xn=n}};Yt.unstable_scheduleCallback=function(e,t,n){var r=Yt.unstable_now();switch(typeof n=="object"&&n!==null?(n=n.delay,n=typeof n=="number"&&0<n?r+n:r):n=r,e){case 1:var o=-1;break;case 2:o=250;break;case 5:o=1073741823;break;case 4:o=1e4;break;default:o=5e3}return o=n+o,e={id:LM++,callback:t,priorityLevel:e,startTime:n,expirationTime:o,sortIndex:-1},n>r?(e.sortIndex=n,cp(za,e),To(ta)===null&&e===To(za)&&(Ys?(Jb(Qs),Qs=-1):Ys=!0,mp(fp,n-r))):(e.sortIndex=o,cp(ta,e),Ws||up||(Ws=!0,Ml||(Ml=!0,Tl()))),e};Yt.unstable_shouldYield=tv;Yt.unstable_wrapCallback=function(e){var t=Xn;return function(){var n=Xn;Xn=t;try{return e.apply(this,arguments)}finally{Xn=n}}}});var ov=Eo((GB,rv)=>{"use strict";rv.exports=nv()});var gv=Eo(Ye=>{"use strict";var hp=Symbol.for("react.transitional.element"),DM=Symbol.for("react.portal"),BM=Symbol.for("react.fragment"),IM=Symbol.for("react.strict_mode"),zM=Symbol.for("react.profiler"),PM=Symbol.for("react.consumer"),UM=Symbol.for("react.context"),jM=Symbol.for("react.forward_ref"),VM=Symbol.for("react.suspense"),FM=Symbol.for("react.memo"),cv=Symbol.for("react.lazy"),HM=Symbol.for("react.activity"),av=Symbol.iterator;function $M(e){return e===null||typeof e!="object"?null:(e=av&&e[av]||e["@@iterator"],typeof e=="function"?e:null)}var uv={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},dv=Object.assign,fv={};function kl(e,t,n){this.props=e,this.context=t,this.refs=fv,this.updater=n||uv}kl.prototype.isReactComponent={};kl.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};kl.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function mv(){}mv.prototype=kl.prototype;function yp(e,t,n){this.props=e,this.context=t,this.refs=fv,this.updater=n||uv}var bp=yp.prototype=new mv;bp.constructor=yp;dv(bp,kl.prototype);bp.isPureReactComponent=!0;var iv=Array.isArray;function gp(){}var Ht={H:null,A:null,T:null,S:null},pv=Object.prototype.hasOwnProperty;function vp(e,t,n){var r=n.ref;return{$$typeof:hp,type:e,key:t,ref:r!==void 0?r:null,props:n}}function KM(e,t){return vp(e.type,t,e.props)}function xp(e){return typeof e=="object"&&e!==null&&e.$$typeof===hp}function GM(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(n){return t[n]})}var lv=/\/+/g;function pp(e,t){return typeof e=="object"&&e!==null&&e.key!=null?GM(""+e.key):t.toString(36)}function qM(e){switch(e.status){case"fulfilled":return e.value;case"rejected":throw e.reason;default:switch(typeof e.status=="string"?e.then(gp,gp):(e.status="pending",e.then(function(t){e.status==="pending"&&(e.status="fulfilled",e.value=t)},function(t){e.status==="pending"&&(e.status="rejected",e.reason=t)})),e.status){case"fulfilled":return e.value;case"rejected":throw e.reason}}throw e}function Ol(e,t,n,r,o){var a=typeof e;(a==="undefined"||a==="boolean")&&(e=null);var i=!1;if(e===null)i=!0;else switch(a){case"bigint":case"string":case"number":i=!0;break;case"object":switch(e.$$typeof){case hp:case DM:i=!0;break;case cv:return i=e._init,Ol(i(e._payload),t,n,r,o)}}if(i)return o=o(e),i=r===""?"."+pp(e,0):r,iv(o)?(n="",i!=null&&(n=i.replace(lv,"$&/")+"/"),Ol(o,t,n,"",function(c){return c})):o!=null&&(xp(o)&&(o=KM(o,n+(o.key==null||e&&e.key===o.key?"":(""+o.key).replace(lv,"$&/")+"/")+i)),t.push(o)),1;i=0;var l=r===""?".":r+":";if(iv(e))for(var s=0;s<e.length;s++)r=e[s],a=l+pp(r,s),i+=Ol(r,t,n,a,o);else if(s=$M(e),typeof s=="function")for(e=s.call(e),s=0;!(r=e.next()).done;)r=r.value,a=l+pp(r,s++),i+=Ol(r,t,n,a,o);else if(a==="object"){if(typeof e.then=="function")return Ol(qM(e),t,n,r,o);throw t=String(e),Error("Objects are not valid as a React child (found: "+(t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.")}return i}function Fu(e,t,n){if(e==null)return e;var r=[],o=0;return Ol(e,r,"","",function(a){return t.call(n,a,o++)}),r}function WM(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(n){(e._status===0||e._status===-1)&&(e._status=1,e._result=n)},function(n){(e._status===0||e._status===-1)&&(e._status=2,e._result=n)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var sv=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)},YM={map:Fu,forEach:function(e,t,n){Fu(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return Fu(e,function(){t++}),t},toArray:function(e){return Fu(e,function(t){return t})||[]},only:function(e){if(!xp(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};Ye.Activity=HM;Ye.Children=YM;Ye.Component=kl;Ye.Fragment=BM;Ye.Profiler=zM;Ye.PureComponent=yp;Ye.StrictMode=IM;Ye.Suspense=VM;Ye.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=Ht;Ye.__COMPILER_RUNTIME={__proto__:null,c:function(e){return Ht.H.useMemoCache(e)}};Ye.cache=function(e){return function(){return e.apply(null,arguments)}};Ye.cacheSignal=function(){return null};Ye.cloneElement=function(e,t,n){if(e==null)throw Error("The argument must be a React element, but you passed "+e+".");var r=dv({},e.props),o=e.key;if(t!=null)for(a in t.key!==void 0&&(o=""+t.key),t)!pv.call(t,a)||a==="key"||a==="__self"||a==="__source"||a==="ref"&&t.ref===void 0||(r[a]=t[a]);var a=arguments.length-2;if(a===1)r.children=n;else if(1<a){for(var i=Array(a),l=0;l<a;l++)i[l]=arguments[l+2];r.children=i}return vp(e.type,o,r)};Ye.createContext=function(e){return e={$$typeof:UM,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:PM,_context:e},e};Ye.createElement=function(e,t,n){var r,o={},a=null;if(t!=null)for(r in t.key!==void 0&&(a=""+t.key),t)pv.call(t,r)&&r!=="key"&&r!=="__self"&&r!=="__source"&&(o[r]=t[r]);var i=arguments.length-2;if(i===1)o.children=n;else if(1<i){for(var l=Array(i),s=0;s<i;s++)l[s]=arguments[s+2];o.children=l}if(e&&e.defaultProps)for(r in i=e.defaultProps,i)o[r]===void 0&&(o[r]=i[r]);return vp(e,a,o)};Ye.createRef=function(){return{current:null}};Ye.forwardRef=function(e){return{$$typeof:jM,render:e}};Ye.isValidElement=xp;Ye.lazy=function(e){return{$$typeof:cv,_payload:{_status:-1,_result:e},_init:WM}};Ye.memo=function(e,t){return{$$typeof:FM,type:e,compare:t===void 0?null:t}};Ye.startTransition=function(e){var t=Ht.T,n={};Ht.T=n;try{var r=e(),o=Ht.S;o!==null&&o(n,r),typeof r=="object"&&r!==null&&typeof r.then=="function"&&r.then(gp,sv)}catch(a){sv(a)}finally{t!==null&&n.types!==null&&(t.types=n.types),Ht.T=t}};Ye.unstable_useCacheRefresh=function(){return Ht.H.useCacheRefresh()};Ye.use=function(e){return Ht.H.use(e)};Ye.useActionState=function(e,t,n){return Ht.H.useActionState(e,t,n)};Ye.useCallback=function(e,t){return Ht.H.useCallback(e,t)};Ye.useContext=function(e){return Ht.H.useContext(e)};Ye.useDebugValue=function(){};Ye.useDeferredValue=function(e,t){return Ht.H.useDeferredValue(e,t)};Ye.useEffect=function(e,t){return Ht.H.useEffect(e,t)};Ye.useEffectEvent=function(e){return Ht.H.useEffectEvent(e)};Ye.useId=function(){return Ht.H.useId()};Ye.useImperativeHandle=function(e,t,n){return Ht.H.useImperativeHandle(e,t,n)};Ye.useInsertionEffect=function(e,t){return Ht.H.useInsertionEffect(e,t)};Ye.useLayoutEffect=function(e,t){return Ht.H.useLayoutEffect(e,t)};Ye.useMemo=function(e,t){return Ht.H.useMemo(e,t)};Ye.useOptimistic=function(e,t){return Ht.H.useOptimistic(e,t)};Ye.useReducer=function(e,t,n){return Ht.H.useReducer(e,t,n)};Ye.useRef=function(e){return Ht.H.useRef(e)};Ye.useState=function(e){return Ht.H.useState(e)};Ye.useSyncExternalStore=function(e,t,n){return Ht.H.useSyncExternalStore(e,t,n)};Ye.useTransition=function(){return Ht.H.useTransition()};Ye.version="19.2.4"});var xe=Eo((WB,hv)=>{"use strict";hv.exports=gv()});var bv=Eo(tr=>{"use strict";var QM=xe();function yv(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n])}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."}function Pa(){}var er={d:{f:Pa,r:function(){throw Error(yv(522))},D:Pa,C:Pa,L:Pa,m:Pa,X:Pa,S:Pa,M:Pa},p:0,findDOMNode:null},XM=Symbol.for("react.portal");function JM(e,t,n){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:XM,key:r==null?null:""+r,children:e,containerInfo:t,implementation:n}}var Xs=QM.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function Hu(e,t){if(e==="font")return"";if(typeof t=="string")return t==="use-credentials"?t:""}tr.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=er;tr.createPortal=function(e,t){var n=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)throw Error(yv(299));return JM(e,t,null,n)};tr.flushSync=function(e){var t=Xs.T,n=er.p;try{if(Xs.T=null,er.p=2,e)return e()}finally{Xs.T=t,er.p=n,er.d.f()}};tr.preconnect=function(e,t){typeof e=="string"&&(t?(t=t.crossOrigin,t=typeof t=="string"?t==="use-credentials"?t:"":void 0):t=null,er.d.C(e,t))};tr.prefetchDNS=function(e){typeof e=="string"&&er.d.D(e)};tr.preinit=function(e,t){if(typeof e=="string"&&t&&typeof t.as=="string"){var n=t.as,r=Hu(n,t.crossOrigin),o=typeof t.integrity=="string"?t.integrity:void 0,a=typeof t.fetchPriority=="string"?t.fetchPriority:void 0;n==="style"?er.d.S(e,typeof t.precedence=="string"?t.precedence:void 0,{crossOrigin:r,integrity:o,fetchPriority:a}):n==="script"&&er.d.X(e,{crossOrigin:r,integrity:o,fetchPriority:a,nonce:typeof t.nonce=="string"?t.nonce:void 0})}};tr.preinitModule=function(e,t){if(typeof e=="string")if(typeof t=="object"&&t!==null){if(t.as==null||t.as==="script"){var n=Hu(t.as,t.crossOrigin);er.d.M(e,{crossOrigin:n,integrity:typeof t.integrity=="string"?t.integrity:void 0,nonce:typeof t.nonce=="string"?t.nonce:void 0})}}else t==null&&er.d.M(e)};tr.preload=function(e,t){if(typeof e=="string"&&typeof t=="object"&&t!==null&&typeof t.as=="string"){var n=t.as,r=Hu(n,t.crossOrigin);er.d.L(e,n,{crossOrigin:r,integrity:typeof t.integrity=="string"?t.integrity:void 0,nonce:typeof t.nonce=="string"?t.nonce:void 0,type:typeof t.type=="string"?t.type:void 0,fetchPriority:typeof t.fetchPriority=="string"?t.fetchPriority:void 0,referrerPolicy:typeof t.referrerPolicy=="string"?t.referrerPolicy:void 0,imageSrcSet:typeof t.imageSrcSet=="string"?t.imageSrcSet:void 0,imageSizes:typeof t.imageSizes=="string"?t.imageSizes:void 0,media:typeof t.media=="string"?t.media:void 0})}};tr.preloadModule=function(e,t){if(typeof e=="string")if(t){var n=Hu(t.as,t.crossOrigin);er.d.m(e,{as:typeof t.as=="string"&&t.as!=="script"?t.as:void 0,crossOrigin:n,integrity:typeof t.integrity=="string"?t.integrity:void 0})}else er.d.m(e)};tr.requestFormReset=function(e){er.d.r(e)};tr.unstable_batchedUpdates=function(e,t){return e(t)};tr.useFormState=function(e,t,n){return Xs.H.useFormState(e,t,n)};tr.useFormStatus=function(){return Xs.H.useHostTransitionStatus()};tr.version="19.2.4"});var Bi=Eo((QB,xv)=>{"use strict";function vv(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(vv)}catch(e){console.error(e)}}vv(),xv.exports=bv()});var _w=Eo(gf=>{"use strict";var Mn=ov(),Gx=xe(),ZM=Bi();function K(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n])}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."}function qx(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function zc(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,(t.flags&4098)!==0&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function Wx(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function Yx(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function Sv(e){if(zc(e)!==e)throw Error(K(188))}function eO(e){var t=e.alternate;if(!t){if(t=zc(e),t===null)throw Error(K(188));return t!==e?null:e}for(var n=e,r=t;;){var o=n.return;if(o===null)break;var a=o.alternate;if(a===null){if(r=o.return,r!==null){n=r;continue}break}if(o.child===a.child){for(a=o.child;a;){if(a===n)return Sv(o),e;if(a===r)return Sv(o),t;a=a.sibling}throw Error(K(188))}if(n.return!==r.return)n=o,r=a;else{for(var i=!1,l=o.child;l;){if(l===n){i=!0,n=o,r=a;break}if(l===r){i=!0,r=o,n=a;break}l=l.sibling}if(!i){for(l=a.child;l;){if(l===n){i=!0,n=a,r=o;break}if(l===r){i=!0,r=a,n=o;break}l=l.sibling}if(!i)throw Error(K(189))}}if(n.alternate!==r)throw Error(K(190))}if(n.tag!==3)throw Error(K(188));return n.stateNode.current===n?e:t}function Qx(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=Qx(e),t!==null)return t;e=e.sibling}return null}var Gt=Object.assign,tO=Symbol.for("react.element"),$u=Symbol.for("react.transitional.element"),ac=Symbol.for("react.portal"),zl=Symbol.for("react.fragment"),Xx=Symbol.for("react.strict_mode"),eg=Symbol.for("react.profiler"),Jx=Symbol.for("react.consumer"),ca=Symbol.for("react.context"),Yg=Symbol.for("react.forward_ref"),tg=Symbol.for("react.suspense"),ng=Symbol.for("react.suspense_list"),Qg=Symbol.for("react.memo"),Ua=Symbol.for("react.lazy"),rg=Symbol.for("react.activity"),nO=Symbol.for("react.memo_cache_sentinel"),wv=Symbol.iterator;function Js(e){return e===null||typeof e!="object"?null:(e=wv&&e[wv]||e["@@iterator"],typeof e=="function"?e:null)}var rO=Symbol.for("react.client.reference");function og(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===rO?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case zl:return"Fragment";case eg:return"Profiler";case Xx:return"StrictMode";case tg:return"Suspense";case ng:return"SuspenseList";case rg:return"Activity"}if(typeof e=="object")switch(e.$$typeof){case ac:return"Portal";case ca:return e.displayName||"Context";case Jx:return(e._context.displayName||"Context")+".Consumer";case Yg:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Qg:return t=e.displayName||null,t!==null?t:og(e.type)||"Memo";case Ua:t=e._payload,e=e._init;try{return og(e(t))}catch{}}return null}var ic=Array.isArray,je=Gx.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,At=ZM.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,Vi={pending:!1,data:null,method:null,action:null},ag=[],Pl=-1;function Lo(e){return{current:e}}function zn(e){0>Pl||(e.current=ag[Pl],ag[Pl]=null,Pl--)}function jt(e,t){Pl++,ag[Pl]=e.current,e.current=t}var _o=Lo(null),Ac=Lo(null),Qa=Lo(null),Ad=Lo(null);function Cd(e,t){switch(jt(Qa,t),jt(Ac,e),jt(_o,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Mx(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Mx(t),e=bw(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}zn(_o),jt(_o,e)}function ns(){zn(_o),zn(Ac),zn(Qa)}function ig(e){e.memoizedState!==null&&jt(Ad,e);var t=_o.current,n=bw(t,e.type);t!==n&&(jt(Ac,e),jt(_o,n))}function Rd(e){Ac.current===e&&(zn(_o),zn(Ac)),Ad.current===e&&(zn(Ad),Dc._currentValue=Vi)}var Sp,Av;function zi(e){if(Sp===void 0)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);Sp=t&&t[1]||"",Av=-1<n.stack.indexOf(`
2
2
  at`)?" (<anonymous>)":-1<n.stack.indexOf("@")?"@unknown:0:0":""}return`
3
- `+sp+e+ib}var cp=!1;function up(e,t){if(!e||cp)return"";cp=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var r={DetermineComponentFrameRoot:function(){try{if(t){var u=function(){throw Error()};if(Object.defineProperty(u.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(u,[])}catch(p){var f=p}Reflect.construct(e,[],u)}else{try{u.call()}catch(p){f=p}e.call(u.prototype)}}else{try{throw Error()}catch(p){f=p}(u=e())&&typeof u.catch=="function"&&u.catch(function(){})}}catch(p){if(p&&f&&typeof p.stack=="string")return[p.stack,f.stack]}return[null,null]}};r.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var o=Object.getOwnPropertyDescriptor(r.DetermineComponentFrameRoot,"name");o&&o.configurable&&Object.defineProperty(r.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var a=r.DetermineComponentFrameRoot(),i=a[0],l=a[1];if(i&&l){var s=i.split(`
3
+ `+Sp+e+Av}var wp=!1;function Ap(e,t){if(!e||wp)return"";wp=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var r={DetermineComponentFrameRoot:function(){try{if(t){var u=function(){throw Error()};if(Object.defineProperty(u.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(u,[])}catch(p){var f=p}Reflect.construct(e,[],u)}else{try{u.call()}catch(p){f=p}e.call(u.prototype)}}else{try{throw Error()}catch(p){f=p}(u=e())&&typeof u.catch=="function"&&u.catch(function(){})}}catch(p){if(p&&f&&typeof p.stack=="string")return[p.stack,f.stack]}return[null,null]}};r.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var o=Object.getOwnPropertyDescriptor(r.DetermineComponentFrameRoot,"name");o&&o.configurable&&Object.defineProperty(r.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var a=r.DetermineComponentFrameRoot(),i=a[0],l=a[1];if(i&&l){var s=i.split(`
4
4
  `),c=l.split(`
5
5
  `);for(o=r=0;r<s.length&&!s[r].includes("DetermineComponentFrameRoot");)r++;for(;o<c.length&&!c[o].includes("DetermineComponentFrameRoot");)o++;if(r===s.length||o===c.length)for(r=s.length-1,o=c.length-1;1<=r&&0<=o&&s[r]!==c[o];)o--;for(;1<=r&&0<=o;r--,o--)if(s[r]!==c[o]){if(r!==1||o!==1)do if(r--,o--,0>o||s[r]!==c[o]){var d=`
6
- `+s[r].replace(" at new "," at ");return e.displayName&&d.includes("<anonymous>")&&(d=d.replace("<anonymous>",e.displayName)),d}while(1<=r&&0<=o);break}}}finally{cp=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:"")?Ni(n):""}function uM(e,t){switch(e.tag){case 26:case 27:case 5:return Ni(e.type);case 16:return Ni("Lazy");case 13:return e.child!==t&&t!==null?Ni("Suspense Fallback"):Ni("Suspense");case 19:return Ni("SuspenseList");case 0:case 15:return up(e.type,!1);case 11:return up(e.type.render,!1);case 1:return up(e.type,!0);case 31:return Ni("Activity");default:return""}}function lb(e){try{var t="",n=null;do t+=uM(e,n),n=e,e=e.return;while(e);return t}catch(r){return`
6
+ `+s[r].replace(" at new "," at ");return e.displayName&&d.includes("<anonymous>")&&(d=d.replace("<anonymous>",e.displayName)),d}while(1<=r&&0<=o);break}}}finally{wp=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:"")?zi(n):""}function oO(e,t){switch(e.tag){case 26:case 27:case 5:return zi(e.type);case 16:return zi("Lazy");case 13:return e.child!==t&&t!==null?zi("Suspense Fallback"):zi("Suspense");case 19:return zi("SuspenseList");case 0:case 15:return Ap(e.type,!1);case 11:return Ap(e.type.render,!1);case 1:return Ap(e.type,!0);case 31:return zi("Activity");default:return""}}function Cv(e){try{var t="",n=null;do t+=oO(e,n),n=e,e=e.return;while(e);return t}catch(r){return`
7
7
  Error generating stack: `+r.message+`
8
- `+r.stack}}var Wp=Object.prototype.hasOwnProperty,Ug=En.unstable_scheduleCallback,dp=En.unstable_cancelCallback,dM=En.unstable_shouldYield,fM=En.unstable_requestPaint,Cr=En.unstable_now,mM=En.unstable_getCurrentPriorityLevel,zx=En.unstable_ImmediatePriority,Bx=En.unstable_UserBlockingPriority,vd=En.unstable_NormalPriority,pM=En.unstable_LowPriority,Ux=En.unstable_IdlePriority,gM=En.log,hM=En.unstable_setDisableYieldValue,Oc=null,Rr=null;function Ba(e){if(typeof gM=="function"&&hM(e),Rr&&typeof Rr.setStrictMode=="function")try{Rr.setStrictMode(Oc,e)}catch{}}var Er=Math.clz32?Math.clz32:bM,yM=Math.log,vM=Math.LN2;function bM(e){return e>>>=0,e===0?32:31-(yM(e)/vM|0)|0}var Bu=256,Uu=262144,Pu=4194304;function Mi(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function Kd(e,t,n){var r=e.pendingLanes;if(r===0)return 0;var o=0,a=e.suspendedLanes,i=e.pingedLanes;e=e.warmLanes;var l=r&134217727;return l!==0?(r=l&~a,r!==0?o=Mi(r):(i&=l,i!==0?o=Mi(i):n||(n=l&~e,n!==0&&(o=Mi(n))))):(l=r&~a,l!==0?o=Mi(l):i!==0?o=Mi(i):n||(n=r&~e,n!==0&&(o=Mi(n)))),o===0?0:t!==0&&t!==o&&(t&a)===0&&(a=o&-o,n=t&-t,a>=n||a===32&&(n&4194048)!==0)?t:o}function _c(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function xM(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Px(){var e=Pu;return Pu<<=1,(Pu&62914560)===0&&(Pu=4194304),e}function fp(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function kc(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function SM(e,t,n,r,o,a){var i=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var l=e.entanglements,s=e.expirationTimes,c=e.hiddenUpdates;for(n=i&~n;0<n;){var d=31-Er(n),u=1<<d;l[d]=0,s[d]=-1;var f=c[d];if(f!==null)for(c[d]=null,d=0;d<f.length;d++){var p=f[d];p!==null&&(p.lane&=-536870913)}n&=~u}r!==0&&jx(e,r,0),a!==0&&o===0&&e.tag!==0&&(e.suspendedLanes|=a&~(i&~t))}function jx(e,t,n){e.pendingLanes|=t,e.suspendedLanes&=~t;var r=31-Er(t);e.entangledLanes|=t,e.entanglements[r]=e.entanglements[r]|1073741824|n&261930}function Vx(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-Er(n),o=1<<r;o&t|e[r]&t&&(e[r]|=t),n&=~o}}function Hx(e,t){var n=t&-t;return n=(n&42)!==0?1:Pg(n),(n&(e.suspendedLanes|t))!==0?0:n}function Pg(e){switch(e){case 2:e=1;break;case 8:e=4;break;case 32:e=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:e=128;break;case 268435456:e=134217728;break;default:e=0}return e}function jg(e){return e&=-e,2<e?8<e?(e&134217727)!==0?32:268435456:8:2}function Fx(){var e=gt.p;return e!==0?e:(e=window.event,e===void 0?32:fw(e.type))}function sb(e,t){var n=gt.p;try{return gt.p=e,t()}finally{gt.p=n}}var ti=Math.random().toString(36).slice(2),Un="__reactFiber$"+ti,ir="__reactProps$"+ti,os="__reactContainer$"+ti,Yp="__reactEvents$"+ti,wM="__reactListeners$"+ti,AM="__reactHandles$"+ti,cb="__reactResources$"+ti,Lc="__reactMarker$"+ti;function Vg(e){delete e[Un],delete e[ir],delete e[Yp],delete e[wM],delete e[AM]}function Ol(e){var t=e[Un];if(t)return t;for(var n=e.parentNode;n;){if(t=n[os]||n[Un]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=yx(e);e!==null;){if(n=e[Un])return n;e=yx(e)}return t}e=n,n=e.parentNode}return null}function as(e){if(e=e[Un]||e[os]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function Js(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(B(33))}function jl(e){var t=e[cb];return t||(t=e[cb]={hoistableStyles:new Map,hoistableScripts:new Map}),t}function _n(e){e[Lc]=!0}var Kx=new Set,$x={};function Hi(e,t){Wl(e,t),Wl(e+"Capture",t)}function Wl(e,t){for($x[e]=t,e=0;e<t.length;e++)Kx.add(t[e])}var CM=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"),ub={},db={};function RM(e){return Wp.call(db,e)?!0:Wp.call(ub,e)?!1:CM.test(e)?db[e]=!0:(ub[e]=!0,!1)}function ed(e,t,n){if(RM(t))if(n===null)e.removeAttribute(t);else{switch(typeof n){case"undefined":case"function":case"symbol":e.removeAttribute(t);return;case"boolean":var r=t.toLowerCase().slice(0,5);if(r!=="data-"&&r!=="aria-"){e.removeAttribute(t);return}}e.setAttribute(t,""+n)}}function ju(e,t,n){if(n===null)e.removeAttribute(t);else{switch(typeof n){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(t);return}e.setAttribute(t,""+n)}}function Yo(e,t,n,r){if(r===null)e.removeAttribute(n);else{switch(typeof r){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(n);return}e.setAttributeNS(t,n,""+r)}}function Pr(e){switch(typeof e){case"bigint":case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Gx(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function EM(e,t,n){var r=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);if(!e.hasOwnProperty(t)&&typeof r<"u"&&typeof r.get=="function"&&typeof r.set=="function"){var o=r.get,a=r.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return o.call(this)},set:function(i){n=""+i,a.call(this,i)}}),Object.defineProperty(e,t,{enumerable:r.enumerable}),{getValue:function(){return n},setValue:function(i){n=""+i},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Qp(e){if(!e._valueTracker){var t=Gx(e)?"checked":"value";e._valueTracker=EM(e,t,""+e[t])}}function qx(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=Gx(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function bd(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var TM=/[\n"\\]/g;function Hr(e){return e.replace(TM,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function Xp(e,t,n,r,o,a,i,l){e.name="",i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"?e.type=i:e.removeAttribute("type"),t!=null?i==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+Pr(t)):e.value!==""+Pr(t)&&(e.value=""+Pr(t)):i!=="submit"&&i!=="reset"||e.removeAttribute("value"),t!=null?Zp(e,i,Pr(t)):n!=null?Zp(e,i,Pr(n)):r!=null&&e.removeAttribute("value"),o==null&&a!=null&&(e.defaultChecked=!!a),o!=null&&(e.checked=o&&typeof o!="function"&&typeof o!="symbol"),l!=null&&typeof l!="function"&&typeof l!="symbol"&&typeof l!="boolean"?e.name=""+Pr(l):e.removeAttribute("name")}function Wx(e,t,n,r,o,a,i,l){if(a!=null&&typeof a!="function"&&typeof a!="symbol"&&typeof a!="boolean"&&(e.type=a),t!=null||n!=null){if(!(a!=="submit"&&a!=="reset"||t!=null)){Qp(e);return}n=n!=null?""+Pr(n):"",t=t!=null?""+Pr(t):n,l||t===e.value||(e.value=t),e.defaultValue=t}r=r??o,r=typeof r!="function"&&typeof r!="symbol"&&!!r,e.checked=l?e.checked:!!r,e.defaultChecked=!!r,i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"&&(e.name=i),Qp(e)}function Zp(e,t,n){t==="number"&&bd(e.ownerDocument)===e||e.defaultValue===""+n||(e.defaultValue=""+n)}function Vl(e,t,n,r){if(e=e.options,t){t={};for(var o=0;o<n.length;o++)t["$"+n[o]]=!0;for(n=0;n<e.length;n++)o=t.hasOwnProperty("$"+e[n].value),e[n].selected!==o&&(e[n].selected=o),o&&r&&(e[n].defaultSelected=!0)}else{for(n=""+Pr(n),t=null,o=0;o<e.length;o++){if(e[o].value===n){e[o].selected=!0,r&&(e[o].defaultSelected=!0);return}t!==null||e[o].disabled||(t=e[o])}t!==null&&(t.selected=!0)}}function Yx(e,t,n){if(t!=null&&(t=""+Pr(t),t!==e.value&&(e.value=t),n==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=n!=null?""+Pr(n):""}function Qx(e,t,n,r){if(t==null){if(r!=null){if(n!=null)throw Error(B(92));if(Zs(r)){if(1<r.length)throw Error(B(93));r=r[0]}n=r}n==null&&(n=""),t=n}n=Pr(t),e.defaultValue=n,r=e.textContent,r===n&&r!==""&&r!==null&&(e.value=r),Qp(e)}function Yl(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var NM=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function fb(e,t,n){var r=t.indexOf("--")===0;n==null||typeof n=="boolean"||n===""?r?e.setProperty(t,""):t==="float"?e.cssFloat="":e[t]="":r?e.setProperty(t,n):typeof n!="number"||n===0||NM.has(t)?t==="float"?e.cssFloat=n:e[t]=(""+n).trim():e[t]=n+"px"}function Xx(e,t,n){if(t!=null&&typeof t!="object")throw Error(B(62));if(e=e.style,n!=null){for(var r in n)!n.hasOwnProperty(r)||t!=null&&t.hasOwnProperty(r)||(r.indexOf("--")===0?e.setProperty(r,""):r==="float"?e.cssFloat="":e[r]="");for(var o in t)r=t[o],t.hasOwnProperty(o)&&n[o]!==r&&fb(e,o,r)}else for(var a in t)t.hasOwnProperty(a)&&fb(e,a,t[a])}function Hg(e){if(e.indexOf("-")===-1)return!1;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var MM=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRendering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),OM=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function td(e){return OM.test(""+e)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":e}function ra(){}var Jp=null;function Fg(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var _l=null,Hl=null;function mb(e){var t=as(e);if(t&&(e=t.stateNode)){var n=e[ir]||null;e:switch(e=t.stateNode,t.type){case"input":if(Xp(e,n.value,n.defaultValue,n.defaultValue,n.checked,n.defaultChecked,n.type,n.name),t=n.name,n.type==="radio"&&t!=null){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll('input[name="'+Hr(""+t)+'"][type="radio"]'),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var o=r[ir]||null;if(!o)throw Error(B(90));Xp(r,o.value,o.defaultValue,o.defaultValue,o.checked,o.defaultChecked,o.type,o.name)}}for(t=0;t<n.length;t++)r=n[t],r.form===e.form&&qx(r)}break e;case"textarea":Yx(e,n.value,n.defaultValue);break e;case"select":t=n.value,t!=null&&Vl(e,!!n.multiple,t,!1)}}}var mp=!1;function Zx(e,t,n){if(mp)return e(t,n);mp=!0;try{var r=e(t);return r}finally{if(mp=!1,(_l!==null||Hl!==null)&&(nf(),_l&&(t=_l,e=Hl,Hl=_l=null,mb(t),e)))for(t=0;t<e.length;t++)mb(e[t])}}function hc(e,t){var n=e.stateNode;if(n===null)return null;var r=n[ir]||null;if(r===null)return null;n=r[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(r=!r.disabled)||(e=e.type,r=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!r;break e;default:e=!1}if(e)return null;if(n&&typeof n!="function")throw Error(B(231,t,typeof n));return n}var sa=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),eg=!1;if(sa)try{Al={},Object.defineProperty(Al,"passive",{get:function(){eg=!0}}),window.addEventListener("test",Al,Al),window.removeEventListener("test",Al,Al)}catch{eg=!1}var Al,Ua=null,Kg=null,nd=null;function Jx(){if(nd)return nd;var e,t=Kg,n=t.length,r,o="value"in Ua?Ua.value:Ua.textContent,a=o.length;for(e=0;e<n&&t[e]===o[e];e++);var i=n-e;for(r=1;r<=i&&t[n-r]===o[a-r];r++);return nd=o.slice(e,1<r?1-r:void 0)}function rd(e){var t=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function Vu(){return!0}function pb(){return!1}function lr(e){function t(n,r,o,a,i){this._reactName=n,this._targetInst=o,this.type=r,this.nativeEvent=a,this.target=i,this.currentTarget=null;for(var l in e)e.hasOwnProperty(l)&&(n=e[l],this[l]=n?n(a):a[l]);return this.isDefaultPrevented=(a.defaultPrevented!=null?a.defaultPrevented:a.returnValue===!1)?Vu:pb,this.isPropagationStopped=pb,this}return Ut(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var n=this.nativeEvent;n&&(n.preventDefault?n.preventDefault():typeof n.returnValue!="unknown"&&(n.returnValue=!1),this.isDefaultPrevented=Vu)},stopPropagation:function(){var n=this.nativeEvent;n&&(n.stopPropagation?n.stopPropagation():typeof n.cancelBubble!="unknown"&&(n.cancelBubble=!0),this.isPropagationStopped=Vu)},persist:function(){},isPersistent:Vu}),t}var Fi={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},$d=lr(Fi),Dc=Ut({},Fi,{view:0,detail:0}),_M=lr(Dc),pp,gp,$s,Gd=Ut({},Dc,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:$g,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==$s&&($s&&e.type==="mousemove"?(pp=e.screenX-$s.screenX,gp=e.screenY-$s.screenY):gp=pp=0,$s=e),pp)},movementY:function(e){return"movementY"in e?e.movementY:gp}}),gb=lr(Gd),kM=Ut({},Gd,{dataTransfer:0}),LM=lr(kM),DM=Ut({},Dc,{relatedTarget:0}),hp=lr(DM),IM=Ut({},Fi,{animationName:0,elapsedTime:0,pseudoElement:0}),zM=lr(IM),BM=Ut({},Fi,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),UM=lr(BM),PM=Ut({},Fi,{data:0}),hb=lr(PM),jM={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},VM={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},HM={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function FM(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=HM[e])?!!t[e]:!1}function $g(){return FM}var KM=Ut({},Dc,{key:function(e){if(e.key){var t=jM[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=rd(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?VM[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:$g,charCode:function(e){return e.type==="keypress"?rd(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?rd(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),$M=lr(KM),GM=Ut({},Gd,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),yb=lr(GM),qM=Ut({},Dc,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:$g}),WM=lr(qM),YM=Ut({},Fi,{propertyName:0,elapsedTime:0,pseudoElement:0}),QM=lr(YM),XM=Ut({},Gd,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),ZM=lr(XM),JM=Ut({},Fi,{newState:0,oldState:0}),eO=lr(JM),tO=[9,13,27,32],Gg=sa&&"CompositionEvent"in window,nc=null;sa&&"documentMode"in document&&(nc=document.documentMode);var nO=sa&&"TextEvent"in window&&!nc,e0=sa&&(!Gg||nc&&8<nc&&11>=nc),vb=" ",bb=!1;function t0(e,t){switch(e){case"keyup":return tO.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function n0(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var kl=!1;function rO(e,t){switch(e){case"compositionend":return n0(t);case"keypress":return t.which!==32?null:(bb=!0,vb);case"textInput":return e=t.data,e===vb&&bb?null:e;default:return null}}function oO(e,t){if(kl)return e==="compositionend"||!Gg&&t0(e,t)?(e=Jx(),nd=Kg=Ua=null,kl=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return e0&&t.locale!=="ko"?null:t.data;default:return null}}var aO={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function xb(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!aO[e.type]:t==="textarea"}function r0(e,t,n,r){_l?Hl?Hl.push(r):Hl=[r]:_l=r,t=Bd(t,"onChange"),0<t.length&&(n=new $d("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var rc=null,yc=null;function iO(e){ZS(e,0)}function qd(e){var t=Js(e);if(qx(t))return e}function Sb(e,t){if(e==="change")return t}var o0=!1;sa&&(sa?(Fu="oninput"in document,Fu||(yp=document.createElement("div"),yp.setAttribute("oninput","return;"),Fu=typeof yp.oninput=="function"),Hu=Fu):Hu=!1,o0=Hu&&(!document.documentMode||9<document.documentMode));var Hu,Fu,yp;function wb(){rc&&(rc.detachEvent("onpropertychange",a0),yc=rc=null)}function a0(e){if(e.propertyName==="value"&&qd(yc)){var t=[];r0(t,yc,e,Fg(e)),Zx(iO,t)}}function lO(e,t,n){e==="focusin"?(wb(),rc=t,yc=n,rc.attachEvent("onpropertychange",a0)):e==="focusout"&&wb()}function sO(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return qd(yc)}function cO(e,t){if(e==="click")return qd(t)}function uO(e,t){if(e==="input"||e==="change")return qd(t)}function dO(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Nr=typeof Object.is=="function"?Object.is:dO;function vc(e,t){if(Nr(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var o=n[r];if(!Wp.call(t,o)||!Nr(e[o],t[o]))return!1}return!0}function Ab(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Cb(e,t){var n=Ab(e);e=0;for(var r;n;){if(n.nodeType===3){if(r=e+n.textContent.length,e<=t&&r>=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=Ab(n)}}function i0(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?i0(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function l0(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=bd(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=bd(e.document)}return t}function qg(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}var fO=sa&&"documentMode"in document&&11>=document.documentMode,Ll=null,tg=null,oc=null,ng=!1;function Rb(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;ng||Ll==null||Ll!==bd(r)||(r=Ll,"selectionStart"in r&&qg(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),oc&&vc(oc,r)||(oc=r,r=Bd(tg,"onSelect"),0<r.length&&(t=new $d("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=Ll)))}function Ti(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var Dl={animationend:Ti("Animation","AnimationEnd"),animationiteration:Ti("Animation","AnimationIteration"),animationstart:Ti("Animation","AnimationStart"),transitionrun:Ti("Transition","TransitionRun"),transitionstart:Ti("Transition","TransitionStart"),transitioncancel:Ti("Transition","TransitionCancel"),transitionend:Ti("Transition","TransitionEnd")},vp={},s0={};sa&&(s0=document.createElement("div").style,"AnimationEvent"in window||(delete Dl.animationend.animation,delete Dl.animationiteration.animation,delete Dl.animationstart.animation),"TransitionEvent"in window||delete Dl.transitionend.transition);function Ki(e){if(vp[e])return vp[e];if(!Dl[e])return e;var t=Dl[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in s0)return vp[e]=t[n];return e}var c0=Ki("animationend"),u0=Ki("animationiteration"),d0=Ki("animationstart"),mO=Ki("transitionrun"),pO=Ki("transitionstart"),gO=Ki("transitioncancel"),f0=Ki("transitionend"),m0=new Map,rg="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");rg.push("scrollEnd");function so(e,t){m0.set(e,t),Hi(t,[e])}var xd=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)},Ur=[],Il=0,Wg=0;function Wd(){for(var e=Il,t=Wg=Il=0;t<e;){var n=Ur[t];Ur[t++]=null;var r=Ur[t];Ur[t++]=null;var o=Ur[t];Ur[t++]=null;var a=Ur[t];if(Ur[t++]=null,r!==null&&o!==null){var i=r.pending;i===null?o.next=o:(o.next=i.next,i.next=o),r.pending=o}a!==0&&p0(n,o,a)}}function Yd(e,t,n,r){Ur[Il++]=e,Ur[Il++]=t,Ur[Il++]=n,Ur[Il++]=r,Wg|=r,e.lanes|=r,e=e.alternate,e!==null&&(e.lanes|=r)}function Yg(e,t,n,r){return Yd(e,t,n,r),Sd(e)}function $i(e,t){return Yd(e,null,null,t),Sd(e)}function p0(e,t,n){e.lanes|=n;var r=e.alternate;r!==null&&(r.lanes|=n);for(var o=!1,a=e.return;a!==null;)a.childLanes|=n,r=a.alternate,r!==null&&(r.childLanes|=n),a.tag===22&&(e=a.stateNode,e===null||e._visibility&1||(o=!0)),e=a,a=a.return;return e.tag===3?(a=e.stateNode,o&&t!==null&&(o=31-Er(n),e=a.hiddenUpdates,r=e[o],r===null?e[o]=[t]:r.push(t),t.lane=n|536870912),a):null}function Sd(e){if(50<mc)throw mc=0,Cg=null,Error(B(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var zl={};function hO(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function wr(e,t,n,r){return new hO(e,t,n,r)}function Qg(e){return e=e.prototype,!(!e||!e.isReactComponent)}function aa(e,t){var n=e.alternate;return n===null?(n=wr(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&65011712,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n.refCleanup=e.refCleanup,n}function g0(e,t){e.flags&=65011714;var n=e.alternate;return n===null?(e.childLanes=0,e.lanes=t,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null):(e.childLanes=n.childLanes,e.lanes=n.lanes,e.child=n.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=n.memoizedProps,e.memoizedState=n.memoizedState,e.updateQueue=n.updateQueue,e.type=n.type,t=n.dependencies,e.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),e}function od(e,t,n,r,o,a){var i=0;if(r=e,typeof e=="function")Qg(e)&&(i=1);else if(typeof e=="string")i=b_(e,n,To.current)?26:e==="html"||e==="head"||e==="body"?27:5;else e:switch(e){case Kp:return e=wr(31,n,t,o),e.elementType=Kp,e.lanes=a,e;case Nl:return Li(n.children,o,a,t);case Dx:i=8,o|=24;break;case Vp:return e=wr(12,n,t,o|2),e.elementType=Vp,e.lanes=a,e;case Hp:return e=wr(13,n,t,o),e.elementType=Hp,e.lanes=a,e;case Fp:return e=wr(19,n,t,o),e.elementType=Fp,e.lanes=a,e;default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case na:i=10;break e;case Ix:i=9;break e;case zg:i=11;break e;case Bg:i=14;break e;case _a:i=16,r=null;break e}i=29,n=Error(B(130,e===null?"null":typeof e,"")),r=null}return t=wr(i,n,t,o),t.elementType=e,t.type=r,t.lanes=a,t}function Li(e,t,n,r){return e=wr(7,e,r,t),e.lanes=n,e}function bp(e,t,n){return e=wr(6,e,null,t),e.lanes=n,e}function h0(e){var t=wr(18,null,null,0);return t.stateNode=e,t}function xp(e,t,n){return t=wr(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var Eb=new WeakMap;function Fr(e,t){if(typeof e=="object"&&e!==null){var n=Eb.get(e);return n!==void 0?n:(t={value:e,source:t,stack:lb(t)},Eb.set(e,t),t)}return{value:e,source:t,stack:lb(t)}}var Bl=[],Ul=0,wd=null,bc=0,jr=[],Vr=0,Xa=null,Co=1,Ro="";function ea(e,t){Bl[Ul++]=bc,Bl[Ul++]=wd,wd=e,bc=t}function y0(e,t,n){jr[Vr++]=Co,jr[Vr++]=Ro,jr[Vr++]=Xa,Xa=e;var r=Co;e=Ro;var o=32-Er(r)-1;r&=~(1<<o),n+=1;var a=32-Er(t)+o;if(30<a){var i=o-o%5;a=(r&(1<<i)-1).toString(32),r>>=i,o-=i,Co=1<<32-Er(t)+o|n<<o|r,Ro=a+e}else Co=1<<a|n<<o|r,Ro=e}function Xg(e){e.return!==null&&(ea(e,1),y0(e,1,0))}function Zg(e){for(;e===wd;)wd=Bl[--Ul],Bl[Ul]=null,bc=Bl[--Ul],Bl[Ul]=null;for(;e===Xa;)Xa=jr[--Vr],jr[Vr]=null,Ro=jr[--Vr],jr[Vr]=null,Co=jr[--Vr],jr[Vr]=null}function v0(e,t){jr[Vr++]=Co,jr[Vr++]=Ro,jr[Vr++]=Xa,Co=t.id,Ro=t.overflow,Xa=e}var Pn=null,Bt=null,lt=!1,Fa=null,Kr=!1,og=Error(B(519));function Za(e){var t=Error(B(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw xc(Fr(t,e)),og}function Tb(e){var t=e.stateNode,n=e.type,r=e.memoizedProps;switch(t[Un]=e,t[ir]=r,n){case"dialog":tt("cancel",t),tt("close",t);break;case"iframe":case"object":case"embed":tt("load",t);break;case"video":case"audio":for(n=0;n<Cc.length;n++)tt(Cc[n],t);break;case"source":tt("error",t);break;case"img":case"image":case"link":tt("error",t),tt("load",t);break;case"details":tt("toggle",t);break;case"input":tt("invalid",t),Wx(t,r.value,r.defaultValue,r.checked,r.defaultChecked,r.type,r.name,!0);break;case"select":tt("invalid",t);break;case"textarea":tt("invalid",t),Qx(t,r.value,r.defaultValue,r.children)}n=r.children,typeof n!="string"&&typeof n!="number"&&typeof n!="bigint"||t.textContent===""+n||r.suppressHydrationWarning===!0||ew(t.textContent,n)?(r.popover!=null&&(tt("beforetoggle",t),tt("toggle",t)),r.onScroll!=null&&tt("scroll",t),r.onScrollEnd!=null&&tt("scrollend",t),r.onClick!=null&&(t.onclick=ra),t=!0):t=!1,t||Za(e,!0)}function Nb(e){for(Pn=e.return;Pn;)switch(Pn.tag){case 5:case 31:case 13:Kr=!1;return;case 27:case 3:Kr=!0;return;default:Pn=Pn.return}}function Cl(e){if(e!==Pn)return!1;if(!lt)return Nb(e),lt=!0,!1;var t=e.tag,n;if((n=t!==3&&t!==27)&&((n=t===5)&&(n=e.type,n=!(n!=="form"&&n!=="button")||Mg(e.type,e.memoizedProps)),n=!n),n&&Bt&&Za(e),Nb(e),t===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(B(317));Bt=hx(e)}else if(t===31){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(B(317));Bt=hx(e)}else t===27?(t=Bt,ni(e.type)?(e=Lg,Lg=null,Bt=e):Bt=t):Bt=Pn?Gr(e.stateNode.nextSibling):null;return!0}function Bi(){Bt=Pn=null,lt=!1}function Sp(){var e=Fa;return e!==null&&(or===null?or=e:or.push.apply(or,e),Fa=null),e}function xc(e){Fa===null?Fa=[e]:Fa.push(e)}var ag=No(null),Gi=null,oa=null;function La(e,t,n){_t(ag,t._currentValue),t._currentValue=n}function ia(e){e._currentValue=ag.current,kn(ag)}function ig(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,r!==null&&(r.childLanes|=t)):r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function lg(e,t,n,r){var o=e.child;for(o!==null&&(o.return=e);o!==null;){var a=o.dependencies;if(a!==null){var i=o.child;a=a.firstContext;e:for(;a!==null;){var l=a;a=o;for(var s=0;s<t.length;s++)if(l.context===t[s]){a.lanes|=n,l=a.alternate,l!==null&&(l.lanes|=n),ig(a.return,n,e),r||(i=null);break e}a=l.next}}else if(o.tag===18){if(i=o.return,i===null)throw Error(B(341));i.lanes|=n,a=i.alternate,a!==null&&(a.lanes|=n),ig(i,n,e),i=null}else i=o.child;if(i!==null)i.return=o;else for(i=o;i!==null;){if(i===e){i=null;break}if(o=i.sibling,o!==null){o.return=i.return,i=o;break}i=i.return}o=i}}function is(e,t,n,r){e=null;for(var o=t,a=!1;o!==null;){if(!a){if((o.flags&524288)!==0)a=!0;else if((o.flags&262144)!==0)break}if(o.tag===10){var i=o.alternate;if(i===null)throw Error(B(387));if(i=i.memoizedProps,i!==null){var l=o.type;Nr(o.pendingProps.value,i.value)||(e!==null?e.push(l):e=[l])}}else if(o===gd.current){if(i=o.alternate,i===null)throw Error(B(387));i.memoizedState.memoizedState!==o.memoizedState.memoizedState&&(e!==null?e.push(Ec):e=[Ec])}o=o.return}e!==null&&lg(t,e,n,r),t.flags|=262144}function Ad(e){for(e=e.firstContext;e!==null;){if(!Nr(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function Ui(e){Gi=e,oa=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function jn(e){return b0(Gi,e)}function Ku(e,t){return Gi===null&&Ui(e),b0(e,t)}function b0(e,t){var n=t._currentValue;if(t={context:t,memoizedValue:n,next:null},oa===null){if(e===null)throw Error(B(308));oa=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else oa=oa.next=t;return n}var yO=typeof AbortController<"u"?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(n,r){e.push(r)}};this.abort=function(){t.aborted=!0,e.forEach(function(n){return n()})}},vO=En.unstable_scheduleCallback,bO=En.unstable_NormalPriority,hn={$$typeof:na,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function Jg(){return{controller:new yO,data:new Map,refCount:0}}function Ic(e){e.refCount--,e.refCount===0&&vO(bO,function(){e.controller.abort()})}var ac=null,sg=0,Ql=0,Fl=null;function xO(e,t){if(ac===null){var n=ac=[];sg=0,Ql=Ch(),Fl={status:"pending",value:void 0,then:function(r){n.push(r)}}}return sg++,t.then(Mb,Mb),t}function Mb(){if(--sg===0&&ac!==null){Fl!==null&&(Fl.status="fulfilled");var e=ac;ac=null,Ql=0,Fl=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function SO(e,t){var n=[],r={status:"pending",value:null,reason:null,then:function(o){n.push(o)}};return e.then(function(){r.status="fulfilled",r.value=t;for(var o=0;o<n.length;o++)(0,n[o])(t)},function(o){for(r.status="rejected",r.reason=o,o=0;o<n.length;o++)(0,n[o])(void 0)}),r}var Ob=De.S;De.S=function(e,t){LS=Cr(),typeof t=="object"&&t!==null&&typeof t.then=="function"&&xO(e,t),Ob!==null&&Ob(e,t)};var Di=No(null);function eh(){var e=Di.current;return e!==null?e:Mt.pooledCache}function ad(e,t){t===null?_t(Di,Di.current):_t(Di,t.pool)}function x0(){var e=eh();return e===null?null:{parent:hn._currentValue,pool:e}}var ls=Error(B(460)),th=Error(B(474)),Qd=Error(B(542)),Cd={then:function(){}};function _b(e){return e=e.status,e==="fulfilled"||e==="rejected"}function S0(e,t,n){switch(n=e[n],n===void 0?e.push(t):n!==t&&(t.then(ra,ra),t=n),t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,Lb(e),e;default:if(typeof t.status=="string")t.then(ra,ra);else{if(e=Mt,e!==null&&100<e.shellSuspendCounter)throw Error(B(482));e=t,e.status="pending",e.then(function(r){if(t.status==="pending"){var o=t;o.status="fulfilled",o.value=r}},function(r){if(t.status==="pending"){var o=t;o.status="rejected",o.reason=r}})}switch(t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,Lb(e),e}throw Ii=t,ls}}function Oi(e){try{var t=e._init;return t(e._payload)}catch(n){throw n!==null&&typeof n=="object"&&typeof n.then=="function"?(Ii=n,ls):n}}var Ii=null;function kb(){if(Ii===null)throw Error(B(459));var e=Ii;return Ii=null,e}function Lb(e){if(e===ls||e===Qd)throw Error(B(483))}var Kl=null,Sc=0;function $u(e){var t=Sc;return Sc+=1,Kl===null&&(Kl=[]),S0(Kl,e,t)}function Gs(e,t){t=t.props.ref,e.ref=t!==void 0?t:null}function Gu(e,t){throw t.$$typeof===lM?Error(B(525)):(e=Object.prototype.toString.call(t),Error(B(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e)))}function w0(e){function t(h,g){if(e){var y=h.deletions;y===null?(h.deletions=[g],h.flags|=16):y.push(g)}}function n(h,g){if(!e)return null;for(;g!==null;)t(h,g),g=g.sibling;return null}function r(h){for(var g=new Map;h!==null;)h.key!==null?g.set(h.key,h):g.set(h.index,h),h=h.sibling;return g}function o(h,g){return h=aa(h,g),h.index=0,h.sibling=null,h}function a(h,g,y){return h.index=y,e?(y=h.alternate,y!==null?(y=y.index,y<g?(h.flags|=67108866,g):y):(h.flags|=67108866,g)):(h.flags|=1048576,g)}function i(h){return e&&h.alternate===null&&(h.flags|=67108866),h}function l(h,g,y,x){return g===null||g.tag!==6?(g=bp(y,h.mode,x),g.return=h,g):(g=o(g,y),g.return=h,g)}function s(h,g,y,x){var w=y.type;return w===Nl?d(h,g,y.props.children,x,y.key):g!==null&&(g.elementType===w||typeof w=="object"&&w!==null&&w.$$typeof===_a&&Oi(w)===g.type)?(g=o(g,y.props),Gs(g,y),g.return=h,g):(g=od(y.type,y.key,y.props,null,h.mode,x),Gs(g,y),g.return=h,g)}function c(h,g,y,x){return g===null||g.tag!==4||g.stateNode.containerInfo!==y.containerInfo||g.stateNode.implementation!==y.implementation?(g=xp(y,h.mode,x),g.return=h,g):(g=o(g,y.children||[]),g.return=h,g)}function d(h,g,y,x,w){return g===null||g.tag!==7?(g=Li(y,h.mode,x,w),g.return=h,g):(g=o(g,y),g.return=h,g)}function u(h,g,y){if(typeof g=="string"&&g!==""||typeof g=="number"||typeof g=="bigint")return g=bp(""+g,h.mode,y),g.return=h,g;if(typeof g=="object"&&g!==null){switch(g.$$typeof){case zu:return y=od(g.type,g.key,g.props,null,h.mode,y),Gs(y,g),y.return=h,y;case Xs:return g=xp(g,h.mode,y),g.return=h,g;case _a:return g=Oi(g),u(h,g,y)}if(Zs(g)||Ks(g))return g=Li(g,h.mode,y,null),g.return=h,g;if(typeof g.then=="function")return u(h,$u(g),y);if(g.$$typeof===na)return u(h,Ku(h,g),y);Gu(h,g)}return null}function f(h,g,y,x){var w=g!==null?g.key:null;if(typeof y=="string"&&y!==""||typeof y=="number"||typeof y=="bigint")return w!==null?null:l(h,g,""+y,x);if(typeof y=="object"&&y!==null){switch(y.$$typeof){case zu:return y.key===w?s(h,g,y,x):null;case Xs:return y.key===w?c(h,g,y,x):null;case _a:return y=Oi(y),f(h,g,y,x)}if(Zs(y)||Ks(y))return w!==null?null:d(h,g,y,x,null);if(typeof y.then=="function")return f(h,g,$u(y),x);if(y.$$typeof===na)return f(h,g,Ku(h,y),x);Gu(h,y)}return null}function p(h,g,y,x,w){if(typeof x=="string"&&x!==""||typeof x=="number"||typeof x=="bigint")return h=h.get(y)||null,l(g,h,""+x,w);if(typeof x=="object"&&x!==null){switch(x.$$typeof){case zu:return h=h.get(x.key===null?y:x.key)||null,s(g,h,x,w);case Xs:return h=h.get(x.key===null?y:x.key)||null,c(g,h,x,w);case _a:return x=Oi(x),p(h,g,y,x,w)}if(Zs(x)||Ks(x))return h=h.get(y)||null,d(g,h,x,w,null);if(typeof x.then=="function")return p(h,g,y,$u(x),w);if(x.$$typeof===na)return p(h,g,y,Ku(g,x),w);Gu(g,x)}return null}function v(h,g,y,x){for(var w=null,R=null,E=g,A=g=0,N=null;E!==null&&A<y.length;A++){E.index>A?(N=E,E=null):N=E.sibling;var L=f(h,E,y[A],x);if(L===null){E===null&&(E=N);break}e&&E&&L.alternate===null&&t(h,E),g=a(L,g,A),R===null?w=L:R.sibling=L,R=L,E=N}if(A===y.length)return n(h,E),lt&&ea(h,A),w;if(E===null){for(;A<y.length;A++)E=u(h,y[A],x),E!==null&&(g=a(E,g,A),R===null?w=E:R.sibling=E,R=E);return lt&&ea(h,A),w}for(E=r(E);A<y.length;A++)N=p(E,h,A,y[A],x),N!==null&&(e&&N.alternate!==null&&E.delete(N.key===null?A:N.key),g=a(N,g,A),R===null?w=N:R.sibling=N,R=N);return e&&E.forEach(function(j){return t(h,j)}),lt&&ea(h,A),w}function m(h,g,y,x){if(y==null)throw Error(B(151));for(var w=null,R=null,E=g,A=g=0,N=null,L=y.next();E!==null&&!L.done;A++,L=y.next()){E.index>A?(N=E,E=null):N=E.sibling;var j=f(h,E,L.value,x);if(j===null){E===null&&(E=N);break}e&&E&&j.alternate===null&&t(h,E),g=a(j,g,A),R===null?w=j:R.sibling=j,R=j,E=N}if(L.done)return n(h,E),lt&&ea(h,A),w;if(E===null){for(;!L.done;A++,L=y.next())L=u(h,L.value,x),L!==null&&(g=a(L,g,A),R===null?w=L:R.sibling=L,R=L);return lt&&ea(h,A),w}for(E=r(E);!L.done;A++,L=y.next())L=p(E,h,A,L.value,x),L!==null&&(e&&L.alternate!==null&&E.delete(L.key===null?A:L.key),g=a(L,g,A),R===null?w=L:R.sibling=L,R=L);return e&&E.forEach(function(D){return t(h,D)}),lt&&ea(h,A),w}function b(h,g,y,x){if(typeof y=="object"&&y!==null&&y.type===Nl&&y.key===null&&(y=y.props.children),typeof y=="object"&&y!==null){switch(y.$$typeof){case zu:e:{for(var w=y.key;g!==null;){if(g.key===w){if(w=y.type,w===Nl){if(g.tag===7){n(h,g.sibling),x=o(g,y.props.children),x.return=h,h=x;break e}}else if(g.elementType===w||typeof w=="object"&&w!==null&&w.$$typeof===_a&&Oi(w)===g.type){n(h,g.sibling),x=o(g,y.props),Gs(x,y),x.return=h,h=x;break e}n(h,g);break}else t(h,g);g=g.sibling}y.type===Nl?(x=Li(y.props.children,h.mode,x,y.key),x.return=h,h=x):(x=od(y.type,y.key,y.props,null,h.mode,x),Gs(x,y),x.return=h,h=x)}return i(h);case Xs:e:{for(w=y.key;g!==null;){if(g.key===w)if(g.tag===4&&g.stateNode.containerInfo===y.containerInfo&&g.stateNode.implementation===y.implementation){n(h,g.sibling),x=o(g,y.children||[]),x.return=h,h=x;break e}else{n(h,g);break}else t(h,g);g=g.sibling}x=xp(y,h.mode,x),x.return=h,h=x}return i(h);case _a:return y=Oi(y),b(h,g,y,x)}if(Zs(y))return v(h,g,y,x);if(Ks(y)){if(w=Ks(y),typeof w!="function")throw Error(B(150));return y=w.call(y),m(h,g,y,x)}if(typeof y.then=="function")return b(h,g,$u(y),x);if(y.$$typeof===na)return b(h,g,Ku(h,y),x);Gu(h,y)}return typeof y=="string"&&y!==""||typeof y=="number"||typeof y=="bigint"?(y=""+y,g!==null&&g.tag===6?(n(h,g.sibling),x=o(g,y),x.return=h,h=x):(n(h,g),x=bp(y,h.mode,x),x.return=h,h=x),i(h)):n(h,g)}return function(h,g,y,x){try{Sc=0;var w=b(h,g,y,x);return Kl=null,w}catch(E){if(E===ls||E===Qd)throw E;var R=wr(29,E,null,h.mode);return R.lanes=x,R.return=h,R}}}var Pi=w0(!0),A0=w0(!1),ka=!1;function nh(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function cg(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function Ka(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function $a(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,(pt&2)!==0){var o=r.pending;return o===null?t.next=t:(t.next=o.next,o.next=t),r.pending=t,t=Sd(e),p0(e,null,n),t}return Yd(e,r,t,n),Sd(e)}function ic(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194048)!==0)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Vx(e,n)}}function wp(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var o=null,a=null;if(n=n.firstBaseUpdate,n!==null){do{var i={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};a===null?o=a=i:a=a.next=i,n=n.next}while(n!==null);a===null?o=a=t:a=a.next=t}else o=a=t;n={baseState:r.baseState,firstBaseUpdate:o,lastBaseUpdate:a,shared:r.shared,callbacks:r.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var ug=!1;function lc(){if(ug){var e=Fl;if(e!==null)throw e}}function sc(e,t,n,r){ug=!1;var o=e.updateQueue;ka=!1;var a=o.firstBaseUpdate,i=o.lastBaseUpdate,l=o.shared.pending;if(l!==null){o.shared.pending=null;var s=l,c=s.next;s.next=null,i===null?a=c:i.next=c,i=s;var d=e.alternate;d!==null&&(d=d.updateQueue,l=d.lastBaseUpdate,l!==i&&(l===null?d.firstBaseUpdate=c:l.next=c,d.lastBaseUpdate=s))}if(a!==null){var u=o.baseState;i=0,d=c=s=null,l=a;do{var f=l.lane&-536870913,p=f!==l.lane;if(p?(ot&f)===f:(r&f)===f){f!==0&&f===Ql&&(ug=!0),d!==null&&(d=d.next={lane:0,tag:l.tag,payload:l.payload,callback:null,next:null});e:{var v=e,m=l;f=t;var b=n;switch(m.tag){case 1:if(v=m.payload,typeof v=="function"){u=v.call(b,u,f);break e}u=v;break e;case 3:v.flags=v.flags&-65537|128;case 0:if(v=m.payload,f=typeof v=="function"?v.call(b,u,f):v,f==null)break e;u=Ut({},u,f);break e;case 2:ka=!0}}f=l.callback,f!==null&&(e.flags|=64,p&&(e.flags|=8192),p=o.callbacks,p===null?o.callbacks=[f]:p.push(f))}else p={lane:f,tag:l.tag,payload:l.payload,callback:l.callback,next:null},d===null?(c=d=p,s=u):d=d.next=p,i|=f;if(l=l.next,l===null){if(l=o.shared.pending,l===null)break;p=l,l=p.next,p.next=null,o.lastBaseUpdate=p,o.shared.pending=null}}while(!0);d===null&&(s=u),o.baseState=s,o.firstBaseUpdate=c,o.lastBaseUpdate=d,a===null&&(o.shared.lanes=0),ei|=i,e.lanes=i,e.memoizedState=u}}function C0(e,t){if(typeof e!="function")throw Error(B(191,e));e.call(t)}function R0(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;e<n.length;e++)C0(n[e],t)}var Xl=No(null),Rd=No(0);function Db(e,t){e=fa,_t(Rd,e),_t(Xl,t),fa=e|t.baseLanes}function dg(){_t(Rd,fa),_t(Xl,Xl.current)}function rh(){fa=Rd.current,kn(Xl),kn(Rd)}var Mr=No(null),$r=null;function Da(e){var t=e.alternate;_t(sn,sn.current&1),_t(Mr,e),$r===null&&(t===null||Xl.current!==null||t.memoizedState!==null)&&($r=e)}function fg(e){_t(sn,sn.current),_t(Mr,e),$r===null&&($r=e)}function E0(e){e.tag===22?(_t(sn,sn.current),_t(Mr,e),$r===null&&($r=e)):Ia(e)}function Ia(){_t(sn,sn.current),_t(Mr,Mr.current)}function Sr(e){kn(Mr),$r===e&&($r=null),kn(sn)}var sn=No(0);function Ed(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||_g(n)||kg(n)))return t}else if(t.tag===19&&(t.memoizedProps.revealOrder==="forwards"||t.memoizedProps.revealOrder==="backwards"||t.memoizedProps.revealOrder==="unstable_legacy-backwards"||t.memoizedProps.revealOrder==="together")){if((t.flags&128)!==0)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var ca=0,Fe=null,Ct=null,pn=null,Td=!1,$l=!1,ji=!1,Nd=0,wc=0,Gl=null,wO=0;function Jt(){throw Error(B(321))}function oh(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!Nr(e[n],t[n]))return!1;return!0}function ah(e,t,n,r,o,a){return ca=a,Fe=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,De.H=e===null||e.memoizedState===null?rS:hh,ji=!1,a=n(r,o),ji=!1,$l&&(a=N0(t,n,r,o)),T0(e),a}function T0(e){De.H=Ac;var t=Ct!==null&&Ct.next!==null;if(ca=0,pn=Ct=Fe=null,Td=!1,wc=0,Gl=null,t)throw Error(B(300));e===null||yn||(e=e.dependencies,e!==null&&Ad(e)&&(yn=!0))}function N0(e,t,n,r){Fe=e;var o=0;do{if($l&&(Gl=null),wc=0,$l=!1,25<=o)throw Error(B(301));if(o+=1,pn=Ct=null,e.updateQueue!=null){var a=e.updateQueue;a.lastEffect=null,a.events=null,a.stores=null,a.memoCache!=null&&(a.memoCache.index=0)}De.H=oS,a=t(n,r)}while($l);return a}function AO(){var e=De.H,t=e.useState()[0];return t=typeof t.then=="function"?zc(t):t,e=e.useState()[0],(Ct!==null?Ct.memoizedState:null)!==e&&(Fe.flags|=1024),t}function ih(){var e=Nd!==0;return Nd=0,e}function lh(e,t,n){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~n}function sh(e){if(Td){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}Td=!1}ca=0,pn=Ct=Fe=null,$l=!1,wc=Nd=0,Gl=null}function Yn(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return pn===null?Fe.memoizedState=pn=e:pn=pn.next=e,pn}function cn(){if(Ct===null){var e=Fe.alternate;e=e!==null?e.memoizedState:null}else e=Ct.next;var t=pn===null?Fe.memoizedState:pn.next;if(t!==null)pn=t,Ct=e;else{if(e===null)throw Fe.alternate===null?Error(B(467)):Error(B(310));Ct=e,e={memoizedState:Ct.memoizedState,baseState:Ct.baseState,baseQueue:Ct.baseQueue,queue:Ct.queue,next:null},pn===null?Fe.memoizedState=pn=e:pn=pn.next=e}return pn}function Xd(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function zc(e){var t=wc;return wc+=1,Gl===null&&(Gl=[]),e=S0(Gl,e,t),t=Fe,(pn===null?t.memoizedState:pn.next)===null&&(t=t.alternate,De.H=t===null||t.memoizedState===null?rS:hh),e}function Zd(e){if(e!==null&&typeof e=="object"){if(typeof e.then=="function")return zc(e);if(e.$$typeof===na)return jn(e)}throw Error(B(438,String(e)))}function ch(e){var t=null,n=Fe.updateQueue;if(n!==null&&(t=n.memoCache),t==null){var r=Fe.alternate;r!==null&&(r=r.updateQueue,r!==null&&(r=r.memoCache,r!=null&&(t={data:r.data.map(function(o){return o.slice()}),index:0})))}if(t==null&&(t={data:[],index:0}),n===null&&(n=Xd(),Fe.updateQueue=n),n.memoCache=t,n=t.data[t.index],n===void 0)for(n=t.data[t.index]=Array(e),r=0;r<e;r++)n[r]=sM;return t.index++,n}function ua(e,t){return typeof t=="function"?t(e):t}function id(e){var t=cn();return uh(t,Ct,e)}function uh(e,t,n){var r=e.queue;if(r===null)throw Error(B(311));r.lastRenderedReducer=n;var o=e.baseQueue,a=r.pending;if(a!==null){if(o!==null){var i=o.next;o.next=a.next,a.next=i}t.baseQueue=o=a,r.pending=null}if(a=e.baseState,o===null)e.memoizedState=a;else{t=o.next;var l=i=null,s=null,c=t,d=!1;do{var u=c.lane&-536870913;if(u!==c.lane?(ot&u)===u:(ca&u)===u){var f=c.revertLane;if(f===0)s!==null&&(s=s.next={lane:0,revertLane:0,gesture:null,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null}),u===Ql&&(d=!0);else if((ca&f)===f){c=c.next,f===Ql&&(d=!0);continue}else u={lane:0,revertLane:c.revertLane,gesture:null,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null},s===null?(l=s=u,i=a):s=s.next=u,Fe.lanes|=f,ei|=f;u=c.action,ji&&n(a,u),a=c.hasEagerState?c.eagerState:n(a,u)}else f={lane:u,revertLane:c.revertLane,gesture:c.gesture,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null},s===null?(l=s=f,i=a):s=s.next=f,Fe.lanes|=u,ei|=u;c=c.next}while(c!==null&&c!==t);if(s===null?i=a:s.next=l,!Nr(a,e.memoizedState)&&(yn=!0,d&&(n=Fl,n!==null)))throw n;e.memoizedState=a,e.baseState=i,e.baseQueue=s,r.lastRenderedState=a}return o===null&&(r.lanes=0),[e.memoizedState,r.dispatch]}function Ap(e){var t=cn(),n=t.queue;if(n===null)throw Error(B(311));n.lastRenderedReducer=e;var r=n.dispatch,o=n.pending,a=t.memoizedState;if(o!==null){n.pending=null;var i=o=o.next;do a=e(a,i.action),i=i.next;while(i!==o);Nr(a,t.memoizedState)||(yn=!0),t.memoizedState=a,t.baseQueue===null&&(t.baseState=a),n.lastRenderedState=a}return[a,r]}function M0(e,t,n){var r=Fe,o=cn(),a=lt;if(a){if(n===void 0)throw Error(B(407));n=n()}else n=t();var i=!Nr((Ct||o).memoizedState,n);if(i&&(o.memoizedState=n,yn=!0),o=o.queue,dh(k0.bind(null,r,o,e),[e]),o.getSnapshot!==t||i||pn!==null&&pn.memoizedState.tag&1){if(r.flags|=2048,Zl(9,{destroy:void 0},_0.bind(null,r,o,n,t),null),Mt===null)throw Error(B(349));a||(ca&127)!==0||O0(r,t,n)}return n}function O0(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=Fe.updateQueue,t===null?(t=Xd(),Fe.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function _0(e,t,n,r){t.value=n,t.getSnapshot=r,L0(t)&&D0(e)}function k0(e,t,n){return n(function(){L0(t)&&D0(e)})}function L0(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!Nr(e,n)}catch{return!0}}function D0(e){var t=$i(e,2);t!==null&&ar(t,e,2)}function mg(e){var t=Yn();if(typeof e=="function"){var n=e;if(e=n(),ji){Ba(!0);try{n()}finally{Ba(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:ua,lastRenderedState:e},t}function I0(e,t,n,r){return e.baseState=n,uh(e,Ct,typeof r=="function"?r:ua)}function CO(e,t,n,r,o){if(ef(e))throw Error(B(485));if(e=t.action,e!==null){var a={payload:o,action:e,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(i){a.listeners.push(i)}};De.T!==null?n(!0):a.isTransition=!1,r(a),n=t.pending,n===null?(a.next=t.pending=a,z0(t,a)):(a.next=n.next,t.pending=n.next=a)}}function z0(e,t){var n=t.action,r=t.payload,o=e.state;if(t.isTransition){var a=De.T,i={};De.T=i;try{var l=n(o,r),s=De.S;s!==null&&s(i,l),Ib(e,t,l)}catch(c){pg(e,t,c)}finally{a!==null&&i.types!==null&&(a.types=i.types),De.T=a}}else try{a=n(o,r),Ib(e,t,a)}catch(c){pg(e,t,c)}}function Ib(e,t,n){n!==null&&typeof n=="object"&&typeof n.then=="function"?n.then(function(r){zb(e,t,r)},function(r){return pg(e,t,r)}):zb(e,t,n)}function zb(e,t,n){t.status="fulfilled",t.value=n,B0(t),e.state=n,t=e.pending,t!==null&&(n=t.next,n===t?e.pending=null:(n=n.next,t.next=n,z0(e,n)))}function pg(e,t,n){var r=e.pending;if(e.pending=null,r!==null){r=r.next;do t.status="rejected",t.reason=n,B0(t),t=t.next;while(t!==r)}e.action=null}function B0(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function U0(e,t){return t}function Bb(e,t){if(lt){var n=Mt.formState;if(n!==null){e:{var r=Fe;if(lt){if(Bt){t:{for(var o=Bt,a=Kr;o.nodeType!==8;){if(!a){o=null;break t}if(o=Gr(o.nextSibling),o===null){o=null;break t}}a=o.data,o=a==="F!"||a==="F"?o:null}if(o){Bt=Gr(o.nextSibling),r=o.data==="F!";break e}}Za(r)}r=!1}r&&(t=n[0])}}return n=Yn(),n.memoizedState=n.baseState=t,r={pending:null,lanes:0,dispatch:null,lastRenderedReducer:U0,lastRenderedState:t},n.queue=r,n=eS.bind(null,Fe,r),r.dispatch=n,r=mg(!1),a=gh.bind(null,Fe,!1,r.queue),r=Yn(),o={state:t,dispatch:null,action:e,pending:null},r.queue=o,n=CO.bind(null,Fe,o,a,n),o.dispatch=n,r.memoizedState=e,[t,n,!1]}function Ub(e){var t=cn();return P0(t,Ct,e)}function P0(e,t,n){if(t=uh(e,t,U0)[0],e=id(ua)[0],typeof t=="object"&&t!==null&&typeof t.then=="function")try{var r=zc(t)}catch(i){throw i===ls?Qd:i}else r=t;t=cn();var o=t.queue,a=o.dispatch;return n!==t.memoizedState&&(Fe.flags|=2048,Zl(9,{destroy:void 0},RO.bind(null,o,n),null)),[r,a,e]}function RO(e,t){e.action=t}function Pb(e){var t=cn(),n=Ct;if(n!==null)return P0(t,n,e);cn(),t=t.memoizedState,n=cn();var r=n.queue.dispatch;return n.memoizedState=e,[t,r,!1]}function Zl(e,t,n,r){return e={tag:e,create:n,deps:r,inst:t,next:null},t=Fe.updateQueue,t===null&&(t=Xd(),Fe.updateQueue=t),n=t.lastEffect,n===null?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e),e}function j0(){return cn().memoizedState}function ld(e,t,n,r){var o=Yn();Fe.flags|=e,o.memoizedState=Zl(1|t,{destroy:void 0},n,r===void 0?null:r)}function Jd(e,t,n,r){var o=cn();r=r===void 0?null:r;var a=o.memoizedState.inst;Ct!==null&&r!==null&&oh(r,Ct.memoizedState.deps)?o.memoizedState=Zl(t,a,n,r):(Fe.flags|=e,o.memoizedState=Zl(1|t,a,n,r))}function jb(e,t){ld(8390656,8,e,t)}function dh(e,t){Jd(2048,8,e,t)}function EO(e){Fe.flags|=4;var t=Fe.updateQueue;if(t===null)t=Xd(),Fe.updateQueue=t,t.events=[e];else{var n=t.events;n===null?t.events=[e]:n.push(e)}}function V0(e){var t=cn().memoizedState;return EO({ref:t,nextImpl:e}),function(){if((pt&2)!==0)throw Error(B(440));return t.impl.apply(void 0,arguments)}}function H0(e,t){return Jd(4,2,e,t)}function F0(e,t){return Jd(4,4,e,t)}function K0(e,t){if(typeof t=="function"){e=e();var n=t(e);return function(){typeof n=="function"?n():t(null)}}if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function $0(e,t,n){n=n!=null?n.concat([e]):null,Jd(4,4,K0.bind(null,t,e),n)}function fh(){}function G0(e,t){var n=cn();t=t===void 0?null:t;var r=n.memoizedState;return t!==null&&oh(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function q0(e,t){var n=cn();t=t===void 0?null:t;var r=n.memoizedState;if(t!==null&&oh(t,r[1]))return r[0];if(r=e(),ji){Ba(!0);try{e()}finally{Ba(!1)}}return n.memoizedState=[r,t],r}function mh(e,t,n){return n===void 0||(ca&1073741824)!==0&&(ot&261930)===0?e.memoizedState=t:(e.memoizedState=n,e=IS(),Fe.lanes|=e,ei|=e,n)}function W0(e,t,n,r){return Nr(n,t)?n:Xl.current!==null?(e=mh(e,n,r),Nr(e,t)||(yn=!0),e):(ca&42)===0||(ca&1073741824)!==0&&(ot&261930)===0?(yn=!0,e.memoizedState=n):(e=IS(),Fe.lanes|=e,ei|=e,t)}function Y0(e,t,n,r,o){var a=gt.p;gt.p=a!==0&&8>a?a:8;var i=De.T,l={};De.T=l,gh(e,!1,t,n);try{var s=o(),c=De.S;if(c!==null&&c(l,s),s!==null&&typeof s=="object"&&typeof s.then=="function"){var d=SO(s,r);cc(e,t,d,Tr(e))}else cc(e,t,r,Tr(e))}catch(u){cc(e,t,{then:function(){},status:"rejected",reason:u},Tr())}finally{gt.p=a,i!==null&&l.types!==null&&(i.types=l.types),De.T=i}}function TO(){}function gg(e,t,n,r){if(e.tag!==5)throw Error(B(476));var o=Q0(e).queue;Y0(e,o,t,ki,n===null?TO:function(){return X0(e),n(r)})}function Q0(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:ki,baseState:ki,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ua,lastRenderedState:ki},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ua,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function X0(e){var t=Q0(e);t.next===null&&(t=e.alternate.memoizedState),cc(e,t.next.queue,{},Tr())}function ph(){return jn(Ec)}function Z0(){return cn().memoizedState}function J0(){return cn().memoizedState}function NO(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=Tr();e=Ka(n);var r=$a(t,e,n);r!==null&&(ar(r,t,n),ic(r,t,n)),t={cache:Jg()},e.payload=t;return}t=t.return}}function MO(e,t,n){var r=Tr();n={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},ef(e)?tS(t,n):(n=Yg(e,t,n,r),n!==null&&(ar(n,e,r),nS(n,t,r)))}function eS(e,t,n){var r=Tr();cc(e,t,n,r)}function cc(e,t,n,r){var o={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(ef(e))tS(t,o);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var i=t.lastRenderedState,l=a(i,n);if(o.hasEagerState=!0,o.eagerState=l,Nr(l,i))return Yd(e,t,o,0),Mt===null&&Wd(),!1}catch{}if(n=Yg(e,t,o,r),n!==null)return ar(n,e,r),nS(n,t,r),!0}return!1}function gh(e,t,n,r){if(r={lane:2,revertLane:Ch(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},ef(e)){if(t)throw Error(B(479))}else t=Yg(e,n,r,2),t!==null&&ar(t,e,2)}function ef(e){var t=e.alternate;return e===Fe||t!==null&&t===Fe}function tS(e,t){$l=Td=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function nS(e,t,n){if((n&4194048)!==0){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Vx(e,n)}}var Ac={readContext:jn,use:Zd,useCallback:Jt,useContext:Jt,useEffect:Jt,useImperativeHandle:Jt,useLayoutEffect:Jt,useInsertionEffect:Jt,useMemo:Jt,useReducer:Jt,useRef:Jt,useState:Jt,useDebugValue:Jt,useDeferredValue:Jt,useTransition:Jt,useSyncExternalStore:Jt,useId:Jt,useHostTransitionStatus:Jt,useFormState:Jt,useActionState:Jt,useOptimistic:Jt,useMemoCache:Jt,useCacheRefresh:Jt};Ac.useEffectEvent=Jt;var rS={readContext:jn,use:Zd,useCallback:function(e,t){return Yn().memoizedState=[e,t===void 0?null:t],e},useContext:jn,useEffect:jb,useImperativeHandle:function(e,t,n){n=n!=null?n.concat([e]):null,ld(4194308,4,K0.bind(null,t,e),n)},useLayoutEffect:function(e,t){return ld(4194308,4,e,t)},useInsertionEffect:function(e,t){ld(4,2,e,t)},useMemo:function(e,t){var n=Yn();t=t===void 0?null:t;var r=e();if(ji){Ba(!0);try{e()}finally{Ba(!1)}}return n.memoizedState=[r,t],r},useReducer:function(e,t,n){var r=Yn();if(n!==void 0){var o=n(t);if(ji){Ba(!0);try{n(t)}finally{Ba(!1)}}}else o=t;return r.memoizedState=r.baseState=o,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:o},r.queue=e,e=e.dispatch=MO.bind(null,Fe,e),[r.memoizedState,e]},useRef:function(e){var t=Yn();return e={current:e},t.memoizedState=e},useState:function(e){e=mg(e);var t=e.queue,n=eS.bind(null,Fe,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:fh,useDeferredValue:function(e,t){var n=Yn();return mh(n,e,t)},useTransition:function(){var e=mg(!1);return e=Y0.bind(null,Fe,e.queue,!0,!1),Yn().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var r=Fe,o=Yn();if(lt){if(n===void 0)throw Error(B(407));n=n()}else{if(n=t(),Mt===null)throw Error(B(349));(ot&127)!==0||O0(r,t,n)}o.memoizedState=n;var a={value:n,getSnapshot:t};return o.queue=a,jb(k0.bind(null,r,a,e),[e]),r.flags|=2048,Zl(9,{destroy:void 0},_0.bind(null,r,a,n,t),null),n},useId:function(){var e=Yn(),t=Mt.identifierPrefix;if(lt){var n=Ro,r=Co;n=(r&~(1<<32-Er(r)-1)).toString(32)+n,t="_"+t+"R_"+n,n=Nd++,0<n&&(t+="H"+n.toString(32)),t+="_"}else n=wO++,t="_"+t+"r_"+n.toString(32)+"_";return e.memoizedState=t},useHostTransitionStatus:ph,useFormState:Bb,useActionState:Bb,useOptimistic:function(e){var t=Yn();t.memoizedState=t.baseState=e;var n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=n,t=gh.bind(null,Fe,!0,n),n.dispatch=t,[e,t]},useMemoCache:ch,useCacheRefresh:function(){return Yn().memoizedState=NO.bind(null,Fe)},useEffectEvent:function(e){var t=Yn(),n={impl:e};return t.memoizedState=n,function(){if((pt&2)!==0)throw Error(B(440));return n.impl.apply(void 0,arguments)}}},hh={readContext:jn,use:Zd,useCallback:G0,useContext:jn,useEffect:dh,useImperativeHandle:$0,useInsertionEffect:H0,useLayoutEffect:F0,useMemo:q0,useReducer:id,useRef:j0,useState:function(){return id(ua)},useDebugValue:fh,useDeferredValue:function(e,t){var n=cn();return W0(n,Ct.memoizedState,e,t)},useTransition:function(){var e=id(ua)[0],t=cn().memoizedState;return[typeof e=="boolean"?e:zc(e),t]},useSyncExternalStore:M0,useId:Z0,useHostTransitionStatus:ph,useFormState:Ub,useActionState:Ub,useOptimistic:function(e,t){var n=cn();return I0(n,Ct,e,t)},useMemoCache:ch,useCacheRefresh:J0};hh.useEffectEvent=V0;var oS={readContext:jn,use:Zd,useCallback:G0,useContext:jn,useEffect:dh,useImperativeHandle:$0,useInsertionEffect:H0,useLayoutEffect:F0,useMemo:q0,useReducer:Ap,useRef:j0,useState:function(){return Ap(ua)},useDebugValue:fh,useDeferredValue:function(e,t){var n=cn();return Ct===null?mh(n,e,t):W0(n,Ct.memoizedState,e,t)},useTransition:function(){var e=Ap(ua)[0],t=cn().memoizedState;return[typeof e=="boolean"?e:zc(e),t]},useSyncExternalStore:M0,useId:Z0,useHostTransitionStatus:ph,useFormState:Pb,useActionState:Pb,useOptimistic:function(e,t){var n=cn();return Ct!==null?I0(n,Ct,e,t):(n.baseState=e,[e,n.queue.dispatch])},useMemoCache:ch,useCacheRefresh:J0};oS.useEffectEvent=V0;function Cp(e,t,n,r){t=e.memoizedState,n=n(r,t),n=n==null?t:Ut({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var hg={enqueueSetState:function(e,t,n){e=e._reactInternals;var r=Tr(),o=Ka(r);o.payload=t,n!=null&&(o.callback=n),t=$a(e,o,r),t!==null&&(ar(t,e,r),ic(t,e,r))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=Tr(),o=Ka(r);o.tag=1,o.payload=t,n!=null&&(o.callback=n),t=$a(e,o,r),t!==null&&(ar(t,e,r),ic(t,e,r))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=Tr(),r=Ka(n);r.tag=2,t!=null&&(r.callback=t),t=$a(e,r,n),t!==null&&(ar(t,e,n),ic(t,e,n))}};function Vb(e,t,n,r,o,a,i){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(r,a,i):t.prototype&&t.prototype.isPureReactComponent?!vc(n,r)||!vc(o,a):!0}function Hb(e,t,n,r){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(n,r),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&hg.enqueueReplaceState(t,t.state,null)}function Vi(e,t){var n=t;if("ref"in t){n={};for(var r in t)r!=="ref"&&(n[r]=t[r])}if(e=e.defaultProps){n===t&&(n=Ut({},n));for(var o in e)n[o]===void 0&&(n[o]=e[o])}return n}function aS(e){xd(e)}function iS(e){console.error(e)}function lS(e){xd(e)}function Md(e,t){try{var n=e.onUncaughtError;n(t.value,{componentStack:t.stack})}catch(r){setTimeout(function(){throw r})}}function Fb(e,t,n){try{var r=e.onCaughtError;r(n.value,{componentStack:n.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(o){setTimeout(function(){throw o})}}function yg(e,t,n){return n=Ka(n),n.tag=3,n.payload={element:null},n.callback=function(){Md(e,t)},n}function sS(e){return e=Ka(e),e.tag=3,e}function cS(e,t,n,r){var o=n.type.getDerivedStateFromError;if(typeof o=="function"){var a=r.value;e.payload=function(){return o(a)},e.callback=function(){Fb(t,n,r)}}var i=n.stateNode;i!==null&&typeof i.componentDidCatch=="function"&&(e.callback=function(){Fb(t,n,r),typeof o!="function"&&(Ga===null?Ga=new Set([this]):Ga.add(this));var l=r.stack;this.componentDidCatch(r.value,{componentStack:l!==null?l:""})})}function OO(e,t,n,r,o){if(n.flags|=32768,r!==null&&typeof r=="object"&&typeof r.then=="function"){if(t=n.alternate,t!==null&&is(t,n,o,!0),n=Mr.current,n!==null){switch(n.tag){case 31:case 13:return $r===null?Dd():n.alternate===null&&en===0&&(en=3),n.flags&=-257,n.flags|=65536,n.lanes=o,r===Cd?n.flags|=16384:(t=n.updateQueue,t===null?n.updateQueue=new Set([r]):t.add(r),Ip(e,r,o)),!1;case 22:return n.flags|=65536,r===Cd?n.flags|=16384:(t=n.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([r])},n.updateQueue=t):(n=t.retryQueue,n===null?t.retryQueue=new Set([r]):n.add(r)),Ip(e,r,o)),!1}throw Error(B(435,n.tag))}return Ip(e,r,o),Dd(),!1}if(lt)return t=Mr.current,t!==null?((t.flags&65536)===0&&(t.flags|=256),t.flags|=65536,t.lanes=o,r!==og&&(e=Error(B(422),{cause:r}),xc(Fr(e,n)))):(r!==og&&(t=Error(B(423),{cause:r}),xc(Fr(t,n))),e=e.current.alternate,e.flags|=65536,o&=-o,e.lanes|=o,r=Fr(r,n),o=yg(e.stateNode,r,o),wp(e,o),en!==4&&(en=2)),!1;var a=Error(B(520),{cause:r});if(a=Fr(a,n),fc===null?fc=[a]:fc.push(a),en!==4&&(en=2),t===null)return!0;r=Fr(r,n),n=t;do{switch(n.tag){case 3:return n.flags|=65536,e=o&-o,n.lanes|=e,e=yg(n.stateNode,r,e),wp(n,e),!1;case 1:if(t=n.type,a=n.stateNode,(n.flags&128)===0&&(typeof t.getDerivedStateFromError=="function"||a!==null&&typeof a.componentDidCatch=="function"&&(Ga===null||!Ga.has(a))))return n.flags|=65536,o&=-o,n.lanes|=o,o=sS(o),cS(o,e,n,r),wp(n,o),!1}n=n.return}while(n!==null);return!1}var yh=Error(B(461)),yn=!1;function Bn(e,t,n,r){t.child=e===null?A0(t,null,n,r):Pi(t,e.child,n,r)}function Kb(e,t,n,r,o){n=n.render;var a=t.ref;if("ref"in r){var i={};for(var l in r)l!=="ref"&&(i[l]=r[l])}else i=r;return Ui(t),r=ah(e,t,n,i,a,o),l=ih(),e!==null&&!yn?(lh(e,t,o),da(e,t,o)):(lt&&l&&Xg(t),t.flags|=1,Bn(e,t,r,o),t.child)}function $b(e,t,n,r,o){if(e===null){var a=n.type;return typeof a=="function"&&!Qg(a)&&a.defaultProps===void 0&&n.compare===null?(t.tag=15,t.type=a,uS(e,t,a,r,o)):(e=od(n.type,null,r,t,t.mode,o),e.ref=t.ref,e.return=t,t.child=e)}if(a=e.child,!vh(e,o)){var i=a.memoizedProps;if(n=n.compare,n=n!==null?n:vc,n(i,r)&&e.ref===t.ref)return da(e,t,o)}return t.flags|=1,e=aa(a,r),e.ref=t.ref,e.return=t,t.child=e}function uS(e,t,n,r,o){if(e!==null){var a=e.memoizedProps;if(vc(a,r)&&e.ref===t.ref)if(yn=!1,t.pendingProps=r=a,vh(e,o))(e.flags&131072)!==0&&(yn=!0);else return t.lanes=e.lanes,da(e,t,o)}return vg(e,t,n,r,o)}function dS(e,t,n,r){var o=r.children,a=e!==null?e.memoizedState:null;if(e===null&&t.stateNode===null&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),r.mode==="hidden"){if((t.flags&128)!==0){if(a=a!==null?a.baseLanes|n:n,e!==null){for(r=t.child=e.child,o=0;r!==null;)o=o|r.lanes|r.childLanes,r=r.sibling;r=o&~a}else r=0,t.child=null;return Gb(e,t,a,n,r)}if((n&536870912)!==0)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&ad(t,a!==null?a.cachePool:null),a!==null?Db(t,a):dg(),E0(t);else return r=t.lanes=536870912,Gb(e,t,a!==null?a.baseLanes|n:n,n,r)}else a!==null?(ad(t,a.cachePool),Db(t,a),Ia(t),t.memoizedState=null):(e!==null&&ad(t,null),dg(),Ia(t));return Bn(e,t,o,n),t.child}function ec(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function Gb(e,t,n,r,o){var a=eh();return a=a===null?null:{parent:hn._currentValue,pool:a},t.memoizedState={baseLanes:n,cachePool:a},e!==null&&ad(t,null),dg(),E0(t),e!==null&&is(e,t,r,!0),t.childLanes=o,null}function sd(e,t){return t=Od({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function qb(e,t,n){return Pi(t,e.child,null,n),e=sd(t,t.pendingProps),e.flags|=2,Sr(t),t.memoizedState=null,e}function _O(e,t,n){var r=t.pendingProps,o=(t.flags&128)!==0;if(t.flags&=-129,e===null){if(lt){if(r.mode==="hidden")return e=sd(t,r),t.lanes=536870912,ec(null,e);if(fg(t),(e=Bt)?(e=rw(e,Kr),e=e!==null&&e.data==="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:Xa!==null?{id:Co,overflow:Ro}:null,retryLane:536870912,hydrationErrors:null},n=h0(e),n.return=t,t.child=n,Pn=t,Bt=null)):e=null,e===null)throw Za(t);return t.lanes=536870912,null}return sd(t,r)}var a=e.memoizedState;if(a!==null){var i=a.dehydrated;if(fg(t),o)if(t.flags&256)t.flags&=-257,t=qb(e,t,n);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(B(558));else if(yn||is(e,t,n,!1),o=(n&e.childLanes)!==0,yn||o){if(r=Mt,r!==null&&(i=Hx(r,n),i!==0&&i!==a.retryLane))throw a.retryLane=i,$i(e,i),ar(r,e,i),yh;Dd(),t=qb(e,t,n)}else e=a.treeContext,Bt=Gr(i.nextSibling),Pn=t,lt=!0,Fa=null,Kr=!1,e!==null&&v0(t,e),t=sd(t,r),t.flags|=4096;return t}return e=aa(e.child,{mode:r.mode,children:r.children}),e.ref=t.ref,t.child=e,e.return=t,e}function cd(e,t){var n=t.ref;if(n===null)e!==null&&e.ref!==null&&(t.flags|=4194816);else{if(typeof n!="function"&&typeof n!="object")throw Error(B(284));(e===null||e.ref!==n)&&(t.flags|=4194816)}}function vg(e,t,n,r,o){return Ui(t),n=ah(e,t,n,r,void 0,o),r=ih(),e!==null&&!yn?(lh(e,t,o),da(e,t,o)):(lt&&r&&Xg(t),t.flags|=1,Bn(e,t,n,o),t.child)}function Wb(e,t,n,r,o,a){return Ui(t),t.updateQueue=null,n=N0(t,r,n,o),T0(e),r=ih(),e!==null&&!yn?(lh(e,t,a),da(e,t,a)):(lt&&r&&Xg(t),t.flags|=1,Bn(e,t,n,a),t.child)}function Yb(e,t,n,r,o){if(Ui(t),t.stateNode===null){var a=zl,i=n.contextType;typeof i=="object"&&i!==null&&(a=jn(i)),a=new n(r,a),t.memoizedState=a.state!==null&&a.state!==void 0?a.state:null,a.updater=hg,t.stateNode=a,a._reactInternals=t,a=t.stateNode,a.props=r,a.state=t.memoizedState,a.refs={},nh(t),i=n.contextType,a.context=typeof i=="object"&&i!==null?jn(i):zl,a.state=t.memoizedState,i=n.getDerivedStateFromProps,typeof i=="function"&&(Cp(t,n,i,r),a.state=t.memoizedState),typeof n.getDerivedStateFromProps=="function"||typeof a.getSnapshotBeforeUpdate=="function"||typeof a.UNSAFE_componentWillMount!="function"&&typeof a.componentWillMount!="function"||(i=a.state,typeof a.componentWillMount=="function"&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount=="function"&&a.UNSAFE_componentWillMount(),i!==a.state&&hg.enqueueReplaceState(a,a.state,null),sc(t,r,a,o),lc(),a.state=t.memoizedState),typeof a.componentDidMount=="function"&&(t.flags|=4194308),r=!0}else if(e===null){a=t.stateNode;var l=t.memoizedProps,s=Vi(n,l);a.props=s;var c=a.context,d=n.contextType;i=zl,typeof d=="object"&&d!==null&&(i=jn(d));var u=n.getDerivedStateFromProps;d=typeof u=="function"||typeof a.getSnapshotBeforeUpdate=="function",l=t.pendingProps!==l,d||typeof a.UNSAFE_componentWillReceiveProps!="function"&&typeof a.componentWillReceiveProps!="function"||(l||c!==i)&&Hb(t,a,r,i),ka=!1;var f=t.memoizedState;a.state=f,sc(t,r,a,o),lc(),c=t.memoizedState,l||f!==c||ka?(typeof u=="function"&&(Cp(t,n,u,r),c=t.memoizedState),(s=ka||Vb(t,n,s,r,f,c,i))?(d||typeof a.UNSAFE_componentWillMount!="function"&&typeof a.componentWillMount!="function"||(typeof a.componentWillMount=="function"&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount=="function"&&a.UNSAFE_componentWillMount()),typeof a.componentDidMount=="function"&&(t.flags|=4194308)):(typeof a.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=c),a.props=r,a.state=c,a.context=i,r=s):(typeof a.componentDidMount=="function"&&(t.flags|=4194308),r=!1)}else{a=t.stateNode,cg(e,t),i=t.memoizedProps,d=Vi(n,i),a.props=d,u=t.pendingProps,f=a.context,c=n.contextType,s=zl,typeof c=="object"&&c!==null&&(s=jn(c)),l=n.getDerivedStateFromProps,(c=typeof l=="function"||typeof a.getSnapshotBeforeUpdate=="function")||typeof a.UNSAFE_componentWillReceiveProps!="function"&&typeof a.componentWillReceiveProps!="function"||(i!==u||f!==s)&&Hb(t,a,r,s),ka=!1,f=t.memoizedState,a.state=f,sc(t,r,a,o),lc();var p=t.memoizedState;i!==u||f!==p||ka||e!==null&&e.dependencies!==null&&Ad(e.dependencies)?(typeof l=="function"&&(Cp(t,n,l,r),p=t.memoizedState),(d=ka||Vb(t,n,d,r,f,p,s)||e!==null&&e.dependencies!==null&&Ad(e.dependencies))?(c||typeof a.UNSAFE_componentWillUpdate!="function"&&typeof a.componentWillUpdate!="function"||(typeof a.componentWillUpdate=="function"&&a.componentWillUpdate(r,p,s),typeof a.UNSAFE_componentWillUpdate=="function"&&a.UNSAFE_componentWillUpdate(r,p,s)),typeof a.componentDidUpdate=="function"&&(t.flags|=4),typeof a.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof a.componentDidUpdate!="function"||i===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!="function"||i===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=p),a.props=r,a.state=p,a.context=s,r=d):(typeof a.componentDidUpdate!="function"||i===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!="function"||i===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),r=!1)}return a=r,cd(e,t),r=(t.flags&128)!==0,a||r?(a=t.stateNode,n=r&&typeof n.getDerivedStateFromError!="function"?null:a.render(),t.flags|=1,e!==null&&r?(t.child=Pi(t,e.child,null,o),t.child=Pi(t,null,n,o)):Bn(e,t,n,o),t.memoizedState=a.state,e=t.child):e=da(e,t,o),e}function Qb(e,t,n,r){return Bi(),t.flags|=256,Bn(e,t,n,r),t.child}var Rp={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function Ep(e){return{baseLanes:e,cachePool:x0()}}function Tp(e,t,n){return e=e!==null?e.childLanes&~n:0,t&&(e|=Ar),e}function fS(e,t,n){var r=t.pendingProps,o=!1,a=(t.flags&128)!==0,i;if((i=a)||(i=e!==null&&e.memoizedState===null?!1:(sn.current&2)!==0),i&&(o=!0,t.flags&=-129),i=(t.flags&32)!==0,t.flags&=-33,e===null){if(lt){if(o?Da(t):Ia(t),(e=Bt)?(e=rw(e,Kr),e=e!==null&&e.data!=="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:Xa!==null?{id:Co,overflow:Ro}:null,retryLane:536870912,hydrationErrors:null},n=h0(e),n.return=t,t.child=n,Pn=t,Bt=null)):e=null,e===null)throw Za(t);return kg(e)?t.lanes=32:t.lanes=536870912,null}var l=r.children;return r=r.fallback,o?(Ia(t),o=t.mode,l=Od({mode:"hidden",children:l},o),r=Li(r,o,n,null),l.return=t,r.return=t,l.sibling=r,t.child=l,r=t.child,r.memoizedState=Ep(n),r.childLanes=Tp(e,i,n),t.memoizedState=Rp,ec(null,r)):(Da(t),bg(t,l))}var s=e.memoizedState;if(s!==null&&(l=s.dehydrated,l!==null)){if(a)t.flags&256?(Da(t),t.flags&=-257,t=Np(e,t,n)):t.memoizedState!==null?(Ia(t),t.child=e.child,t.flags|=128,t=null):(Ia(t),l=r.fallback,o=t.mode,r=Od({mode:"visible",children:r.children},o),l=Li(l,o,n,null),l.flags|=2,r.return=t,l.return=t,r.sibling=l,t.child=r,Pi(t,e.child,null,n),r=t.child,r.memoizedState=Ep(n),r.childLanes=Tp(e,i,n),t.memoizedState=Rp,t=ec(null,r));else if(Da(t),kg(l)){if(i=l.nextSibling&&l.nextSibling.dataset,i)var c=i.dgst;i=c,r=Error(B(419)),r.stack="",r.digest=i,xc({value:r,source:null,stack:null}),t=Np(e,t,n)}else if(yn||is(e,t,n,!1),i=(n&e.childLanes)!==0,yn||i){if(i=Mt,i!==null&&(r=Hx(i,n),r!==0&&r!==s.retryLane))throw s.retryLane=r,$i(e,r),ar(i,e,r),yh;_g(l)||Dd(),t=Np(e,t,n)}else _g(l)?(t.flags|=192,t.child=e.child,t=null):(e=s.treeContext,Bt=Gr(l.nextSibling),Pn=t,lt=!0,Fa=null,Kr=!1,e!==null&&v0(t,e),t=bg(t,r.children),t.flags|=4096);return t}return o?(Ia(t),l=r.fallback,o=t.mode,s=e.child,c=s.sibling,r=aa(s,{mode:"hidden",children:r.children}),r.subtreeFlags=s.subtreeFlags&65011712,c!==null?l=aa(c,l):(l=Li(l,o,n,null),l.flags|=2),l.return=t,r.return=t,r.sibling=l,t.child=r,ec(null,r),r=t.child,l=e.child.memoizedState,l===null?l=Ep(n):(o=l.cachePool,o!==null?(s=hn._currentValue,o=o.parent!==s?{parent:s,pool:s}:o):o=x0(),l={baseLanes:l.baseLanes|n,cachePool:o}),r.memoizedState=l,r.childLanes=Tp(e,i,n),t.memoizedState=Rp,ec(e.child,r)):(Da(t),n=e.child,e=n.sibling,n=aa(n,{mode:"visible",children:r.children}),n.return=t,n.sibling=null,e!==null&&(i=t.deletions,i===null?(t.deletions=[e],t.flags|=16):i.push(e)),t.child=n,t.memoizedState=null,n)}function bg(e,t){return t=Od({mode:"visible",children:t},e.mode),t.return=e,e.child=t}function Od(e,t){return e=wr(22,e,null,t),e.lanes=0,e}function Np(e,t,n){return Pi(t,e.child,null,n),e=bg(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Xb(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),ig(e.return,t,n)}function Mp(e,t,n,r,o,a){var i=e.memoizedState;i===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:o,treeForkCount:a}:(i.isBackwards=t,i.rendering=null,i.renderingStartTime=0,i.last=r,i.tail=n,i.tailMode=o,i.treeForkCount=a)}function mS(e,t,n){var r=t.pendingProps,o=r.revealOrder,a=r.tail;r=r.children;var i=sn.current,l=(i&2)!==0;if(l?(i=i&1|2,t.flags|=128):i&=1,_t(sn,i),Bn(e,t,r,n),r=lt?bc:0,!l&&e!==null&&(e.flags&128)!==0)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Xb(e,n,t);else if(e.tag===19)Xb(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}switch(o){case"forwards":for(n=t.child,o=null;n!==null;)e=n.alternate,e!==null&&Ed(e)===null&&(o=n),n=n.sibling;n=o,n===null?(o=t.child,t.child=null):(o=n.sibling,n.sibling=null),Mp(t,!1,o,n,a,r);break;case"backwards":case"unstable_legacy-backwards":for(n=null,o=t.child,t.child=null;o!==null;){if(e=o.alternate,e!==null&&Ed(e)===null){t.child=o;break}e=o.sibling,o.sibling=n,n=o,o=e}Mp(t,!0,n,null,a,r);break;case"together":Mp(t,!1,null,null,void 0,r);break;default:t.memoizedState=null}return t.child}function da(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),ei|=t.lanes,(n&t.childLanes)===0)if(e!==null){if(is(e,t,n,!1),(n&t.childLanes)===0)return null}else return null;if(e!==null&&t.child!==e.child)throw Error(B(153));if(t.child!==null){for(e=t.child,n=aa(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=aa(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function vh(e,t){return(e.lanes&t)!==0?!0:(e=e.dependencies,!!(e!==null&&Ad(e)))}function kO(e,t,n){switch(t.tag){case 3:hd(t,t.stateNode.containerInfo),La(t,hn,e.memoizedState.cache),Bi();break;case 27:case 5:qp(t);break;case 4:hd(t,t.stateNode.containerInfo);break;case 10:La(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,fg(t),null;break;case 13:var r=t.memoizedState;if(r!==null)return r.dehydrated!==null?(Da(t),t.flags|=128,null):(n&t.child.childLanes)!==0?fS(e,t,n):(Da(t),e=da(e,t,n),e!==null?e.sibling:null);Da(t);break;case 19:var o=(e.flags&128)!==0;if(r=(n&t.childLanes)!==0,r||(is(e,t,n,!1),r=(n&t.childLanes)!==0),o){if(r)return mS(e,t,n);t.flags|=128}if(o=t.memoizedState,o!==null&&(o.rendering=null,o.tail=null,o.lastEffect=null),_t(sn,sn.current),r)break;return null;case 22:return t.lanes=0,dS(e,t,n,t.pendingProps);case 24:La(t,hn,e.memoizedState.cache)}return da(e,t,n)}function pS(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps)yn=!0;else{if(!vh(e,n)&&(t.flags&128)===0)return yn=!1,kO(e,t,n);yn=(e.flags&131072)!==0}else yn=!1,lt&&(t.flags&1048576)!==0&&y0(t,bc,t.index);switch(t.lanes=0,t.tag){case 16:e:{var r=t.pendingProps;if(e=Oi(t.elementType),t.type=e,typeof e=="function")Qg(e)?(r=Vi(e,r),t.tag=1,t=Yb(null,t,e,r,n)):(t.tag=0,t=vg(null,t,e,r,n));else{if(e!=null){var o=e.$$typeof;if(o===zg){t.tag=11,t=Kb(null,t,e,r,n);break e}else if(o===Bg){t.tag=14,t=$b(null,t,e,r,n);break e}}throw t=$p(e)||e,Error(B(306,t,""))}}return t;case 0:return vg(e,t,t.type,t.pendingProps,n);case 1:return r=t.type,o=Vi(r,t.pendingProps),Yb(e,t,r,o,n);case 3:e:{if(hd(t,t.stateNode.containerInfo),e===null)throw Error(B(387));r=t.pendingProps;var a=t.memoizedState;o=a.element,cg(e,t),sc(t,r,null,n);var i=t.memoizedState;if(r=i.cache,La(t,hn,r),r!==a.cache&&lg(t,[hn],n,!0),lc(),r=i.element,a.isDehydrated)if(a={element:r,isDehydrated:!1,cache:i.cache},t.updateQueue.baseState=a,t.memoizedState=a,t.flags&256){t=Qb(e,t,r,n);break e}else if(r!==o){o=Fr(Error(B(424)),t),xc(o),t=Qb(e,t,r,n);break e}else for(e=t.stateNode.containerInfo,e.nodeType===9?e=e.body:e=e.nodeName==="HTML"?e.ownerDocument.body:e,Bt=Gr(e.firstChild),Pn=t,lt=!0,Fa=null,Kr=!0,n=A0(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(Bi(),r===o){t=da(e,t,n);break e}Bn(e,t,r,n)}t=t.child}return t;case 26:return cd(e,t),e===null?(n=bx(t.type,null,t.pendingProps,null))?t.memoizedState=n:lt||(n=t.type,e=t.pendingProps,r=Ud(Ha.current).createElement(n),r[Un]=t,r[ir]=e,Vn(r,n,e),_n(r),t.stateNode=r):t.memoizedState=bx(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return qp(t),e===null&&lt&&(r=t.stateNode=ow(t.type,t.pendingProps,Ha.current),Pn=t,Kr=!0,o=Bt,ni(t.type)?(Lg=o,Bt=Gr(r.firstChild)):Bt=o),Bn(e,t,t.pendingProps.children,n),cd(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&lt&&((o=r=Bt)&&(r=i_(r,t.type,t.pendingProps,Kr),r!==null?(t.stateNode=r,Pn=t,Bt=Gr(r.firstChild),Kr=!1,o=!0):o=!1),o||Za(t)),qp(t),o=t.type,a=t.pendingProps,i=e!==null?e.memoizedProps:null,r=a.children,Mg(o,a)?r=null:i!==null&&Mg(o,i)&&(t.flags|=32),t.memoizedState!==null&&(o=ah(e,t,AO,null,null,n),Ec._currentValue=o),cd(e,t),Bn(e,t,r,n),t.child;case 6:return e===null&&lt&&((e=n=Bt)&&(n=l_(n,t.pendingProps,Kr),n!==null?(t.stateNode=n,Pn=t,Bt=null,e=!0):e=!1),e||Za(t)),null;case 13:return fS(e,t,n);case 4:return hd(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=Pi(t,null,r,n):Bn(e,t,r,n),t.child;case 11:return Kb(e,t,t.type,t.pendingProps,n);case 7:return Bn(e,t,t.pendingProps,n),t.child;case 8:return Bn(e,t,t.pendingProps.children,n),t.child;case 12:return Bn(e,t,t.pendingProps.children,n),t.child;case 10:return r=t.pendingProps,La(t,t.type,r.value),Bn(e,t,r.children,n),t.child;case 9:return o=t.type._context,r=t.pendingProps.children,Ui(t),o=jn(o),r=r(o),t.flags|=1,Bn(e,t,r,n),t.child;case 14:return $b(e,t,t.type,t.pendingProps,n);case 15:return uS(e,t,t.type,t.pendingProps,n);case 19:return mS(e,t,n);case 31:return _O(e,t,n);case 22:return dS(e,t,n,t.pendingProps);case 24:return Ui(t),r=jn(hn),e===null?(o=eh(),o===null&&(o=Mt,a=Jg(),o.pooledCache=a,a.refCount++,a!==null&&(o.pooledCacheLanes|=n),o=a),t.memoizedState={parent:r,cache:o},nh(t),La(t,hn,o)):((e.lanes&n)!==0&&(cg(e,t),sc(t,null,null,n),lc()),o=e.memoizedState,a=t.memoizedState,o.parent!==r?(o={parent:r,cache:r},t.memoizedState=o,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=o),La(t,hn,r)):(r=a.cache,La(t,hn,r),r!==o.cache&&lg(t,[hn],n,!0))),Bn(e,t,t.pendingProps.children,n),t.child;case 29:throw t.pendingProps}throw Error(B(156,t.tag))}function Qo(e){e.flags|=4}function Op(e,t,n,r,o){if((t=(e.mode&32)!==0)&&(t=!1),t){if(e.flags|=16777216,(o&335544128)===o)if(e.stateNode.complete)e.flags|=8192;else if(US())e.flags|=8192;else throw Ii=Cd,th}else e.flags&=-16777217}function Zb(e,t){if(t.type!=="stylesheet"||(t.state.loading&4)!==0)e.flags&=-16777217;else if(e.flags|=16777216,!lw(t))if(US())e.flags|=8192;else throw Ii=Cd,th}function qu(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag!==22?Px():536870912,e.lanes|=t,Jl|=t)}function qs(e,t){if(!lt)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var r=null;n!==null;)n.alternate!==null&&(r=n),n=n.sibling;r===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function zt(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,r=0;if(t)for(var o=e.child;o!==null;)n|=o.lanes|o.childLanes,r|=o.subtreeFlags&65011712,r|=o.flags&65011712,o.return=e,o=o.sibling;else for(o=e.child;o!==null;)n|=o.lanes|o.childLanes,r|=o.subtreeFlags,r|=o.flags,o.return=e,o=o.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function LO(e,t,n){var r=t.pendingProps;switch(Zg(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return zt(t),null;case 1:return zt(t),null;case 3:return n=t.stateNode,r=null,e!==null&&(r=e.memoizedState.cache),t.memoizedState.cache!==r&&(t.flags|=2048),ia(hn),ql(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),(e===null||e.child===null)&&(Cl(t)?Qo(t):e===null||e.memoizedState.isDehydrated&&(t.flags&256)===0||(t.flags|=1024,Sp())),zt(t),null;case 26:var o=t.type,a=t.memoizedState;return e===null?(Qo(t),a!==null?(zt(t),Zb(t,a)):(zt(t),Op(t,o,null,r,n))):a?a!==e.memoizedState?(Qo(t),zt(t),Zb(t,a)):(zt(t),t.flags&=-16777217):(e=e.memoizedProps,e!==r&&Qo(t),zt(t),Op(t,o,e,r,n)),null;case 27:if(yd(t),n=Ha.current,o=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==r&&Qo(t);else{if(!r){if(t.stateNode===null)throw Error(B(166));return zt(t),null}e=To.current,Cl(t)?Tb(t,e):(e=ow(o,r,n),t.stateNode=e,Qo(t))}return zt(t),null;case 5:if(yd(t),o=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==r&&Qo(t);else{if(!r){if(t.stateNode===null)throw Error(B(166));return zt(t),null}if(a=To.current,Cl(t))Tb(t,a);else{var i=Ud(Ha.current);switch(a){case 1:a=i.createElementNS("http://www.w3.org/2000/svg",o);break;case 2:a=i.createElementNS("http://www.w3.org/1998/Math/MathML",o);break;default:switch(o){case"svg":a=i.createElementNS("http://www.w3.org/2000/svg",o);break;case"math":a=i.createElementNS("http://www.w3.org/1998/Math/MathML",o);break;case"script":a=i.createElement("div"),a.innerHTML="<script><\/script>",a=a.removeChild(a.firstChild);break;case"select":a=typeof r.is=="string"?i.createElement("select",{is:r.is}):i.createElement("select"),r.multiple?a.multiple=!0:r.size&&(a.size=r.size);break;default:a=typeof r.is=="string"?i.createElement(o,{is:r.is}):i.createElement(o)}}a[Un]=t,a[ir]=r;e:for(i=t.child;i!==null;){if(i.tag===5||i.tag===6)a.appendChild(i.stateNode);else if(i.tag!==4&&i.tag!==27&&i.child!==null){i.child.return=i,i=i.child;continue}if(i===t)break e;for(;i.sibling===null;){if(i.return===null||i.return===t)break e;i=i.return}i.sibling.return=i.return,i=i.sibling}t.stateNode=a;e:switch(Vn(a,o,r),o){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break e;case"img":r=!0;break e;default:r=!1}r&&Qo(t)}}return zt(t),Op(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==r&&Qo(t);else{if(typeof r!="string"&&t.stateNode===null)throw Error(B(166));if(e=Ha.current,Cl(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,o=Pn,o!==null)switch(o.tag){case 27:case 5:r=o.memoizedProps}e[Un]=t,e=!!(e.nodeValue===n||r!==null&&r.suppressHydrationWarning===!0||ew(e.nodeValue,n)),e||Za(t,!0)}else e=Ud(e).createTextNode(r),e[Un]=t,t.stateNode=e}return zt(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(r=Cl(t),n!==null){if(e===null){if(!r)throw Error(B(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(B(557));e[Un]=t}else Bi(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;zt(t),e=!1}else n=Sp(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(Sr(t),t):(Sr(t),null);if((t.flags&128)!==0)throw Error(B(558))}return zt(t),null;case 13:if(r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(o=Cl(t),r!==null&&r.dehydrated!==null){if(e===null){if(!o)throw Error(B(318));if(o=t.memoizedState,o=o!==null?o.dehydrated:null,!o)throw Error(B(317));o[Un]=t}else Bi(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;zt(t),o=!1}else o=Sp(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=o),o=!0;if(!o)return t.flags&256?(Sr(t),t):(Sr(t),null)}return Sr(t),(t.flags&128)!==0?(t.lanes=n,t):(n=r!==null,e=e!==null&&e.memoizedState!==null,n&&(r=t.child,o=null,r.alternate!==null&&r.alternate.memoizedState!==null&&r.alternate.memoizedState.cachePool!==null&&(o=r.alternate.memoizedState.cachePool.pool),a=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(a=r.memoizedState.cachePool.pool),a!==o&&(r.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),qu(t,t.updateQueue),zt(t),null);case 4:return ql(),e===null&&Rh(t.stateNode.containerInfo),zt(t),null;case 10:return ia(t.type),zt(t),null;case 19:if(kn(sn),r=t.memoizedState,r===null)return zt(t),null;if(o=(t.flags&128)!==0,a=r.rendering,a===null)if(o)qs(r,!1);else{if(en!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(a=Ed(e),a!==null){for(t.flags|=128,qs(r,!1),e=a.updateQueue,t.updateQueue=e,qu(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)g0(n,e),n=n.sibling;return _t(sn,sn.current&1|2),lt&&ea(t,r.treeForkCount),t.child}e=e.sibling}r.tail!==null&&Cr()>kd&&(t.flags|=128,o=!0,qs(r,!1),t.lanes=4194304)}else{if(!o)if(e=Ed(a),e!==null){if(t.flags|=128,o=!0,e=e.updateQueue,t.updateQueue=e,qu(t,e),qs(r,!0),r.tail===null&&r.tailMode==="hidden"&&!a.alternate&&!lt)return zt(t),null}else 2*Cr()-r.renderingStartTime>kd&&n!==536870912&&(t.flags|=128,o=!0,qs(r,!1),t.lanes=4194304);r.isBackwards?(a.sibling=t.child,t.child=a):(e=r.last,e!==null?e.sibling=a:t.child=a,r.last=a)}return r.tail!==null?(e=r.tail,r.rendering=e,r.tail=e.sibling,r.renderingStartTime=Cr(),e.sibling=null,n=sn.current,_t(sn,o?n&1|2:n&1),lt&&ea(t,r.treeForkCount),e):(zt(t),null);case 22:case 23:return Sr(t),rh(),r=t.memoizedState!==null,e!==null?e.memoizedState!==null!==r&&(t.flags|=8192):r&&(t.flags|=8192),r?(n&536870912)!==0&&(t.flags&128)===0&&(zt(t),t.subtreeFlags&6&&(t.flags|=8192)):zt(t),n=t.updateQueue,n!==null&&qu(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),r=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(r=t.memoizedState.cachePool.pool),r!==n&&(t.flags|=2048),e!==null&&kn(Di),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),ia(hn),zt(t),null;case 25:return null;case 30:return null}throw Error(B(156,t.tag))}function DO(e,t){switch(Zg(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ia(hn),ql(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return yd(t),null;case 31:if(t.memoizedState!==null){if(Sr(t),t.alternate===null)throw Error(B(340));Bi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(Sr(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(B(340));Bi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return kn(sn),null;case 4:return ql(),null;case 10:return ia(t.type),null;case 22:case 23:return Sr(t),rh(),e!==null&&kn(Di),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return ia(hn),null;case 25:return null;default:return null}}function gS(e,t){switch(Zg(t),t.tag){case 3:ia(hn),ql();break;case 26:case 27:case 5:yd(t);break;case 4:ql();break;case 31:t.memoizedState!==null&&Sr(t);break;case 13:Sr(t);break;case 19:kn(sn);break;case 10:ia(t.type);break;case 22:case 23:Sr(t),rh(),e!==null&&kn(Di);break;case 24:ia(hn)}}function Bc(e,t){try{var n=t.updateQueue,r=n!==null?n.lastEffect:null;if(r!==null){var o=r.next;n=o;do{if((n.tag&e)===e){r=void 0;var a=n.create,i=n.inst;r=a(),i.destroy=r}n=n.next}while(n!==o)}}catch(l){vt(t,t.return,l)}}function Ja(e,t,n){try{var r=t.updateQueue,o=r!==null?r.lastEffect:null;if(o!==null){var a=o.next;r=a;do{if((r.tag&e)===e){var i=r.inst,l=i.destroy;if(l!==void 0){i.destroy=void 0,o=t;var s=n,c=l;try{c()}catch(d){vt(o,s,d)}}}r=r.next}while(r!==a)}}catch(d){vt(t,t.return,d)}}function hS(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{R0(t,n)}catch(r){vt(e,e.return,r)}}}function yS(e,t,n){n.props=Vi(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(r){vt(e,t,r)}}function uc(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var r=e.stateNode;break;case 30:r=e.stateNode;break;default:r=e.stateNode}typeof n=="function"?e.refCleanup=n(r):n.current=r}}catch(o){vt(e,t,o)}}function Eo(e,t){var n=e.ref,r=e.refCleanup;if(n!==null)if(typeof r=="function")try{r()}catch(o){vt(e,t,o)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n=="function")try{n(null)}catch(o){vt(e,t,o)}else n.current=null}function vS(e){var t=e.type,n=e.memoizedProps,r=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":n.autoFocus&&r.focus();break e;case"img":n.src?r.src=n.src:n.srcSet&&(r.srcset=n.srcSet)}}catch(o){vt(e,e.return,o)}}function _p(e,t,n){try{var r=e.stateNode;e_(r,e.type,n,t),r[ir]=t}catch(o){vt(e,e.return,o)}}function bS(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&ni(e.type)||e.tag===4}function kp(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||bS(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&ni(e.type)||e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function xg(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=ra));else if(r!==4&&(r===27&&ni(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(xg(e,t,n),e=e.sibling;e!==null;)xg(e,t,n),e=e.sibling}function _d(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(r===27&&ni(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(_d(e,t,n),e=e.sibling;e!==null;)_d(e,t,n),e=e.sibling}function xS(e){var t=e.stateNode,n=e.memoizedProps;try{for(var r=e.type,o=t.attributes;o.length;)t.removeAttributeNode(o[0]);Vn(t,r,n),t[Un]=e,t[ir]=n}catch(a){vt(e,e.return,a)}}var ta=!1,gn=!1,Lp=!1,Jb=typeof WeakSet=="function"?WeakSet:Set,On=null;function IO(e,t){if(e=e.containerInfo,Tg=Hd,e=l0(e),qg(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var o=r.anchorOffset,a=r.focusNode;r=r.focusOffset;try{n.nodeType,a.nodeType}catch{n=null;break e}var i=0,l=-1,s=-1,c=0,d=0,u=e,f=null;t:for(;;){for(var p;u!==n||o!==0&&u.nodeType!==3||(l=i+o),u!==a||r!==0&&u.nodeType!==3||(s=i+r),u.nodeType===3&&(i+=u.nodeValue.length),(p=u.firstChild)!==null;)f=u,u=p;for(;;){if(u===e)break t;if(f===n&&++c===o&&(l=i),f===a&&++d===r&&(s=i),(p=u.nextSibling)!==null)break;u=f,f=u.parentNode}u=p}n=l===-1||s===-1?null:{start:l,end:s}}else n=null}n=n||{start:0,end:0}}else n=null;for(Ng={focusedElem:e,selectionRange:n},Hd=!1,On=t;On!==null;)if(t=On,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,On=e;else for(;On!==null;){switch(t=On,a=t.alternate,e=t.flags,t.tag){case 0:if((e&4)!==0&&(e=t.updateQueue,e=e!==null?e.events:null,e!==null))for(n=0;n<e.length;n++)o=e[n],o.ref.impl=o.nextImpl;break;case 11:case 15:break;case 1:if((e&1024)!==0&&a!==null){e=void 0,n=t,o=a.memoizedProps,a=a.memoizedState,r=n.stateNode;try{var v=Vi(n.type,o);e=r.getSnapshotBeforeUpdate(v,a),r.__reactInternalSnapshotBeforeUpdate=e}catch(m){vt(n,n.return,m)}}break;case 3:if((e&1024)!==0){if(e=t.stateNode.containerInfo,n=e.nodeType,n===9)Og(e);else if(n===1)switch(e.nodeName){case"HEAD":case"HTML":case"BODY":Og(e);break;default:e.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((e&1024)!==0)throw Error(B(163))}if(e=t.sibling,e!==null){e.return=t.return,On=e;break}On=t.return}}function SS(e,t,n){var r=n.flags;switch(n.tag){case 0:case 11:case 15:Zo(e,n),r&4&&Bc(5,n);break;case 1:if(Zo(e,n),r&4)if(e=n.stateNode,t===null)try{e.componentDidMount()}catch(i){vt(n,n.return,i)}else{var o=Vi(n.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(o,t,e.__reactInternalSnapshotBeforeUpdate)}catch(i){vt(n,n.return,i)}}r&64&&hS(n),r&512&&uc(n,n.return);break;case 3:if(Zo(e,n),r&64&&(e=n.updateQueue,e!==null)){if(t=null,n.child!==null)switch(n.child.tag){case 27:case 5:t=n.child.stateNode;break;case 1:t=n.child.stateNode}try{R0(e,t)}catch(i){vt(n,n.return,i)}}break;case 27:t===null&&r&4&&xS(n);case 26:case 5:Zo(e,n),t===null&&r&4&&vS(n),r&512&&uc(n,n.return);break;case 12:Zo(e,n);break;case 31:Zo(e,n),r&4&&CS(e,n);break;case 13:Zo(e,n),r&4&&RS(e,n),r&64&&(e=n.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(n=KO.bind(null,n),s_(e,n))));break;case 22:if(r=n.memoizedState!==null||ta,!r){t=t!==null&&t.memoizedState!==null||gn,o=ta;var a=gn;ta=r,(gn=t)&&!a?Jo(e,n,(n.subtreeFlags&8772)!==0):Zo(e,n),ta=o,gn=a}break;case 30:break;default:Zo(e,n)}}function wS(e){var t=e.alternate;t!==null&&(e.alternate=null,wS(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&Vg(t)),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}var Ht=null,rr=!1;function Xo(e,t,n){for(n=n.child;n!==null;)AS(e,t,n),n=n.sibling}function AS(e,t,n){if(Rr&&typeof Rr.onCommitFiberUnmount=="function")try{Rr.onCommitFiberUnmount(Oc,n)}catch{}switch(n.tag){case 26:gn||Eo(n,t),Xo(e,t,n),n.memoizedState?n.memoizedState.count--:n.stateNode&&(n=n.stateNode,n.parentNode.removeChild(n));break;case 27:gn||Eo(n,t);var r=Ht,o=rr;ni(n.type)&&(Ht=n.stateNode,rr=!1),Xo(e,t,n),pc(n.stateNode),Ht=r,rr=o;break;case 5:gn||Eo(n,t);case 6:if(r=Ht,o=rr,Ht=null,Xo(e,t,n),Ht=r,rr=o,Ht!==null)if(rr)try{(Ht.nodeType===9?Ht.body:Ht.nodeName==="HTML"?Ht.ownerDocument.body:Ht).removeChild(n.stateNode)}catch(a){vt(n,t,a)}else try{Ht.removeChild(n.stateNode)}catch(a){vt(n,t,a)}break;case 18:Ht!==null&&(rr?(e=Ht,px(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,n.stateNode),rs(e)):px(Ht,n.stateNode));break;case 4:r=Ht,o=rr,Ht=n.stateNode.containerInfo,rr=!0,Xo(e,t,n),Ht=r,rr=o;break;case 0:case 11:case 14:case 15:Ja(2,n,t),gn||Ja(4,n,t),Xo(e,t,n);break;case 1:gn||(Eo(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"&&yS(n,t,r)),Xo(e,t,n);break;case 21:Xo(e,t,n);break;case 22:gn=(r=gn)||n.memoizedState!==null,Xo(e,t,n),gn=r;break;default:Xo(e,t,n)}}function CS(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{rs(e)}catch(n){vt(t,t.return,n)}}}function RS(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{rs(e)}catch(n){vt(t,t.return,n)}}function zO(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new Jb),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new Jb),t;default:throw Error(B(435,e.tag))}}function Wu(e,t){var n=zO(e);t.forEach(function(r){if(!n.has(r)){n.add(r);var o=$O.bind(null,e,r);r.then(o,o)}})}function tr(e,t){var n=t.deletions;if(n!==null)for(var r=0;r<n.length;r++){var o=n[r],a=e,i=t,l=i;e:for(;l!==null;){switch(l.tag){case 27:if(ni(l.type)){Ht=l.stateNode,rr=!1;break e}break;case 5:Ht=l.stateNode,rr=!1;break e;case 3:case 4:Ht=l.stateNode.containerInfo,rr=!0;break e}l=l.return}if(Ht===null)throw Error(B(160));AS(a,i,o),Ht=null,rr=!1,a=o.alternate,a!==null&&(a.return=null),o.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)ES(t,e),t=t.sibling}var lo=null;function ES(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:tr(t,e),nr(e),r&4&&(Ja(3,e,e.return),Bc(3,e),Ja(5,e,e.return));break;case 1:tr(t,e),nr(e),r&512&&(gn||n===null||Eo(n,n.return)),r&64&&ta&&(e=e.updateQueue,e!==null&&(r=e.callbacks,r!==null&&(n=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=n===null?r:n.concat(r))));break;case 26:var o=lo;if(tr(t,e),nr(e),r&512&&(gn||n===null||Eo(n,n.return)),r&4){var a=n!==null?n.memoizedState:null;if(r=e.memoizedState,n===null)if(r===null)if(e.stateNode===null){e:{r=e.type,n=e.memoizedProps,o=o.ownerDocument||o;t:switch(r){case"title":a=o.getElementsByTagName("title")[0],(!a||a[Lc]||a[Un]||a.namespaceURI==="http://www.w3.org/2000/svg"||a.hasAttribute("itemprop"))&&(a=o.createElement(r),o.head.insertBefore(a,o.querySelector("head > title"))),Vn(a,r,n),a[Un]=e,_n(a),r=a;break e;case"link":var i=Sx("link","href",o).get(r+(n.href||""));if(i){for(var l=0;l<i.length;l++)if(a=i[l],a.getAttribute("href")===(n.href==null||n.href===""?null:n.href)&&a.getAttribute("rel")===(n.rel==null?null:n.rel)&&a.getAttribute("title")===(n.title==null?null:n.title)&&a.getAttribute("crossorigin")===(n.crossOrigin==null?null:n.crossOrigin)){i.splice(l,1);break t}}a=o.createElement(r),Vn(a,r,n),o.head.appendChild(a);break;case"meta":if(i=Sx("meta","content",o).get(r+(n.content||""))){for(l=0;l<i.length;l++)if(a=i[l],a.getAttribute("content")===(n.content==null?null:""+n.content)&&a.getAttribute("name")===(n.name==null?null:n.name)&&a.getAttribute("property")===(n.property==null?null:n.property)&&a.getAttribute("http-equiv")===(n.httpEquiv==null?null:n.httpEquiv)&&a.getAttribute("charset")===(n.charSet==null?null:n.charSet)){i.splice(l,1);break t}}a=o.createElement(r),Vn(a,r,n),o.head.appendChild(a);break;default:throw Error(B(468,r))}a[Un]=e,_n(a),r=a}e.stateNode=r}else wx(o,e.type,e.stateNode);else e.stateNode=xx(o,r,e.memoizedProps);else a!==r?(a===null?n.stateNode!==null&&(n=n.stateNode,n.parentNode.removeChild(n)):a.count--,r===null?wx(o,e.type,e.stateNode):xx(o,r,e.memoizedProps)):r===null&&e.stateNode!==null&&_p(e,e.memoizedProps,n.memoizedProps)}break;case 27:tr(t,e),nr(e),r&512&&(gn||n===null||Eo(n,n.return)),n!==null&&r&4&&_p(e,e.memoizedProps,n.memoizedProps);break;case 5:if(tr(t,e),nr(e),r&512&&(gn||n===null||Eo(n,n.return)),e.flags&32){o=e.stateNode;try{Yl(o,"")}catch(v){vt(e,e.return,v)}}r&4&&e.stateNode!=null&&(o=e.memoizedProps,_p(e,o,n!==null?n.memoizedProps:o)),r&1024&&(Lp=!0);break;case 6:if(tr(t,e),nr(e),r&4){if(e.stateNode===null)throw Error(B(162));r=e.memoizedProps,n=e.stateNode;try{n.nodeValue=r}catch(v){vt(e,e.return,v)}}break;case 3:if(fd=null,o=lo,lo=Pd(t.containerInfo),tr(t,e),lo=o,nr(e),r&4&&n!==null&&n.memoizedState.isDehydrated)try{rs(t.containerInfo)}catch(v){vt(e,e.return,v)}Lp&&(Lp=!1,TS(e));break;case 4:r=lo,lo=Pd(e.stateNode.containerInfo),tr(t,e),nr(e),lo=r;break;case 12:tr(t,e),nr(e);break;case 31:tr(t,e),nr(e),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,Wu(e,r)));break;case 13:tr(t,e),nr(e),e.child.flags&8192&&e.memoizedState!==null!=(n!==null&&n.memoizedState!==null)&&(tf=Cr()),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,Wu(e,r)));break;case 22:o=e.memoizedState!==null;var s=n!==null&&n.memoizedState!==null,c=ta,d=gn;if(ta=c||o,gn=d||s,tr(t,e),gn=d,ta=c,nr(e),r&8192)e:for(t=e.stateNode,t._visibility=o?t._visibility&-2:t._visibility|1,o&&(n===null||s||ta||gn||_i(e)),n=null,t=e;;){if(t.tag===5||t.tag===26){if(n===null){s=n=t;try{if(a=s.stateNode,o)i=a.style,typeof i.setProperty=="function"?i.setProperty("display","none","important"):i.display="none";else{l=s.stateNode;var u=s.memoizedProps.style,f=u!=null&&u.hasOwnProperty("display")?u.display:null;l.style.display=f==null||typeof f=="boolean"?"":(""+f).trim()}}catch(v){vt(s,s.return,v)}}}else if(t.tag===6){if(n===null){s=t;try{s.stateNode.nodeValue=o?"":s.memoizedProps}catch(v){vt(s,s.return,v)}}}else if(t.tag===18){if(n===null){s=t;try{var p=s.stateNode;o?gx(p,!0):gx(s.stateNode,!1)}catch(v){vt(s,s.return,v)}}}else if((t.tag!==22&&t.tag!==23||t.memoizedState===null||t===e)&&t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break e;for(;t.sibling===null;){if(t.return===null||t.return===e)break e;n===t&&(n=null),t=t.return}n===t&&(n=null),t.sibling.return=t.return,t=t.sibling}r&4&&(r=e.updateQueue,r!==null&&(n=r.retryQueue,n!==null&&(r.retryQueue=null,Wu(e,n))));break;case 19:tr(t,e),nr(e),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,Wu(e,r)));break;case 30:break;case 21:break;default:tr(t,e),nr(e)}}function nr(e){var t=e.flags;if(t&2){try{for(var n,r=e.return;r!==null;){if(bS(r)){n=r;break}r=r.return}if(n==null)throw Error(B(160));switch(n.tag){case 27:var o=n.stateNode,a=kp(e);_d(e,a,o);break;case 5:var i=n.stateNode;n.flags&32&&(Yl(i,""),n.flags&=-33);var l=kp(e);_d(e,l,i);break;case 3:case 4:var s=n.stateNode.containerInfo,c=kp(e);xg(e,c,s);break;default:throw Error(B(161))}}catch(d){vt(e,e.return,d)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function TS(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;TS(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),e=e.sibling}}function Zo(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)SS(e,t.alternate,t),t=t.sibling}function _i(e){for(e=e.child;e!==null;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:Ja(4,t,t.return),_i(t);break;case 1:Eo(t,t.return);var n=t.stateNode;typeof n.componentWillUnmount=="function"&&yS(t,t.return,n),_i(t);break;case 27:pc(t.stateNode);case 26:case 5:Eo(t,t.return),_i(t);break;case 22:t.memoizedState===null&&_i(t);break;case 30:_i(t);break;default:_i(t)}e=e.sibling}}function Jo(e,t,n){for(n=n&&(t.subtreeFlags&8772)!==0,t=t.child;t!==null;){var r=t.alternate,o=e,a=t,i=a.flags;switch(a.tag){case 0:case 11:case 15:Jo(o,a,n),Bc(4,a);break;case 1:if(Jo(o,a,n),r=a,o=r.stateNode,typeof o.componentDidMount=="function")try{o.componentDidMount()}catch(c){vt(r,r.return,c)}if(r=a,o=r.updateQueue,o!==null){var l=r.stateNode;try{var s=o.shared.hiddenCallbacks;if(s!==null)for(o.shared.hiddenCallbacks=null,o=0;o<s.length;o++)C0(s[o],l)}catch(c){vt(r,r.return,c)}}n&&i&64&&hS(a),uc(a,a.return);break;case 27:xS(a);case 26:case 5:Jo(o,a,n),n&&r===null&&i&4&&vS(a),uc(a,a.return);break;case 12:Jo(o,a,n);break;case 31:Jo(o,a,n),n&&i&4&&CS(o,a);break;case 13:Jo(o,a,n),n&&i&4&&RS(o,a);break;case 22:a.memoizedState===null&&Jo(o,a,n),uc(a,a.return);break;case 30:break;default:Jo(o,a,n)}t=t.sibling}}function bh(e,t){var n=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),e=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),e!==n&&(e!=null&&e.refCount++,n!=null&&Ic(n))}function xh(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Ic(e))}function io(e,t,n,r){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)NS(e,t,n,r),t=t.sibling}function NS(e,t,n,r){var o=t.flags;switch(t.tag){case 0:case 11:case 15:io(e,t,n,r),o&2048&&Bc(9,t);break;case 1:io(e,t,n,r);break;case 3:io(e,t,n,r),o&2048&&(e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Ic(e)));break;case 12:if(o&2048){io(e,t,n,r),e=t.stateNode;try{var a=t.memoizedProps,i=a.id,l=a.onPostCommit;typeof l=="function"&&l(i,t.alternate===null?"mount":"update",e.passiveEffectDuration,-0)}catch(s){vt(t,t.return,s)}}else io(e,t,n,r);break;case 31:io(e,t,n,r);break;case 13:io(e,t,n,r);break;case 23:break;case 22:a=t.stateNode,i=t.alternate,t.memoizedState!==null?a._visibility&2?io(e,t,n,r):dc(e,t):a._visibility&2?io(e,t,n,r):(a._visibility|=2,El(e,t,n,r,(t.subtreeFlags&10256)!==0||!1)),o&2048&&bh(i,t);break;case 24:io(e,t,n,r),o&2048&&xh(t.alternate,t);break;default:io(e,t,n,r)}}function El(e,t,n,r,o){for(o=o&&((t.subtreeFlags&10256)!==0||!1),t=t.child;t!==null;){var a=e,i=t,l=n,s=r,c=i.flags;switch(i.tag){case 0:case 11:case 15:El(a,i,l,s,o),Bc(8,i);break;case 23:break;case 22:var d=i.stateNode;i.memoizedState!==null?d._visibility&2?El(a,i,l,s,o):dc(a,i):(d._visibility|=2,El(a,i,l,s,o)),o&&c&2048&&bh(i.alternate,i);break;case 24:El(a,i,l,s,o),o&&c&2048&&xh(i.alternate,i);break;default:El(a,i,l,s,o)}t=t.sibling}}function dc(e,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var n=e,r=t,o=r.flags;switch(r.tag){case 22:dc(n,r),o&2048&&bh(r.alternate,r);break;case 24:dc(n,r),o&2048&&xh(r.alternate,r);break;default:dc(n,r)}t=t.sibling}}var tc=8192;function Rl(e,t,n){if(e.subtreeFlags&tc)for(e=e.child;e!==null;)MS(e,t,n),e=e.sibling}function MS(e,t,n){switch(e.tag){case 26:Rl(e,t,n),e.flags&tc&&e.memoizedState!==null&&x_(n,lo,e.memoizedState,e.memoizedProps);break;case 5:Rl(e,t,n);break;case 3:case 4:var r=lo;lo=Pd(e.stateNode.containerInfo),Rl(e,t,n),lo=r;break;case 22:e.memoizedState===null&&(r=e.alternate,r!==null&&r.memoizedState!==null?(r=tc,tc=16777216,Rl(e,t,n),tc=r):Rl(e,t,n));break;default:Rl(e,t,n)}}function OS(e){var t=e.alternate;if(t!==null&&(e=t.child,e!==null)){t.child=null;do t=e.sibling,e.sibling=null,e=t;while(e!==null)}}function Ws(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var n=0;n<t.length;n++){var r=t[n];On=r,kS(r,e)}OS(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)_S(e),e=e.sibling}function _S(e){switch(e.tag){case 0:case 11:case 15:Ws(e),e.flags&2048&&Ja(9,e,e.return);break;case 3:Ws(e);break;case 12:Ws(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&2&&(e.return===null||e.return.tag!==13)?(t._visibility&=-3,ud(e)):Ws(e);break;default:Ws(e)}}function ud(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var n=0;n<t.length;n++){var r=t[n];On=r,kS(r,e)}OS(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:Ja(8,t,t.return),ud(t);break;case 22:n=t.stateNode,n._visibility&2&&(n._visibility&=-3,ud(t));break;default:ud(t)}e=e.sibling}}function kS(e,t){for(;On!==null;){var n=On;switch(n.tag){case 0:case 11:case 15:Ja(8,n,t);break;case 23:case 22:if(n.memoizedState!==null&&n.memoizedState.cachePool!==null){var r=n.memoizedState.cachePool.pool;r!=null&&r.refCount++}break;case 24:Ic(n.memoizedState.cache)}if(r=n.child,r!==null)r.return=n,On=r;else e:for(n=e;On!==null;){r=On;var o=r.sibling,a=r.return;if(wS(r),r===n){On=null;break e}if(o!==null){o.return=a,On=o;break e}On=a}}}var BO={getCacheForType:function(e){var t=jn(hn),n=t.data.get(e);return n===void 0&&(n=e(),t.data.set(e,n)),n},cacheSignal:function(){return jn(hn).controller.signal}},UO=typeof WeakMap=="function"?WeakMap:Map,pt=0,Mt=null,nt=null,ot=0,yt=0,xr=null,Pa=!1,ss=!1,Sh=!1,fa=0,en=0,ei=0,zi=0,wh=0,Ar=0,Jl=0,fc=null,or=null,Sg=!1,tf=0,LS=0,kd=1/0,Ld=null,Ga=null,Rn=0,qa=null,es=null,la=0,wg=0,Ag=null,DS=null,mc=0,Cg=null;function Tr(){return(pt&2)!==0&&ot!==0?ot&-ot:De.T!==null?Ch():Fx()}function IS(){if(Ar===0)if((ot&536870912)===0||lt){var e=Uu;Uu<<=1,(Uu&3932160)===0&&(Uu=262144),Ar=e}else Ar=536870912;return e=Mr.current,e!==null&&(e.flags|=32),Ar}function ar(e,t,n){(e===Mt&&(yt===2||yt===9)||e.cancelPendingCommit!==null)&&(ts(e,0),ja(e,ot,Ar,!1)),kc(e,n),((pt&2)===0||e!==Mt)&&(e===Mt&&((pt&2)===0&&(zi|=n),en===4&&ja(e,ot,Ar,!1)),Mo(e))}function zS(e,t,n){if((pt&6)!==0)throw Error(B(327));var r=!n&&(t&127)===0&&(t&e.expiredLanes)===0||_c(e,t),o=r?VO(e,t):Dp(e,t,!0),a=r;do{if(o===0){ss&&!r&&ja(e,t,0,!1);break}else{if(n=e.current.alternate,a&&!PO(n)){o=Dp(e,t,!1),a=!1;continue}if(o===2){if(a=t,e.errorRecoveryDisabledLanes&a)var i=0;else i=e.pendingLanes&-536870913,i=i!==0?i:i&536870912?536870912:0;if(i!==0){t=i;e:{var l=e;o=fc;var s=l.current.memoizedState.isDehydrated;if(s&&(ts(l,i).flags|=256),i=Dp(l,i,!1),i!==2){if(Sh&&!s){l.errorRecoveryDisabledLanes|=a,zi|=a,o=4;break e}a=or,or=o,a!==null&&(or===null?or=a:or.push.apply(or,a))}o=i}if(a=!1,o!==2)continue}}if(o===1){ts(e,0),ja(e,t,0,!0);break}e:{switch(r=e,a=o,a){case 0:case 1:throw Error(B(345));case 4:if((t&4194048)!==t)break;case 6:ja(r,t,Ar,!Pa);break e;case 2:or=null;break;case 3:case 5:break;default:throw Error(B(329))}if((t&62914560)===t&&(o=tf+300-Cr(),10<o)){if(ja(r,t,Ar,!Pa),Kd(r,0,!0)!==0)break e;la=t,r.timeoutHandle=nw(ex.bind(null,r,n,or,Ld,Sg,t,Ar,zi,Jl,Pa,a,"Throttled",-0,0),o);break e}ex(r,n,or,Ld,Sg,t,Ar,zi,Jl,Pa,a,null,-0,0)}}break}while(!0);Mo(e)}function ex(e,t,n,r,o,a,i,l,s,c,d,u,f,p){if(e.timeoutHandle=-1,u=t.subtreeFlags,u&8192||(u&16785408)===16785408){u={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:ra},MS(t,a,u);var v=(a&62914560)===a?tf-Cr():(a&4194048)===a?LS-Cr():0;if(v=S_(u,v),v!==null){la=a,e.cancelPendingCommit=v(nx.bind(null,e,t,a,n,r,o,i,l,s,d,u,null,f,p)),ja(e,a,i,!c);return}}nx(e,t,a,n,r,o,i,l,s)}function PO(e){for(var t=e;;){var n=t.tag;if((n===0||n===11||n===15)&&t.flags&16384&&(n=t.updateQueue,n!==null&&(n=n.stores,n!==null)))for(var r=0;r<n.length;r++){var o=n[r],a=o.getSnapshot;o=o.value;try{if(!Nr(a(),o))return!1}catch{return!1}}if(n=t.child,t.subtreeFlags&16384&&n!==null)n.return=t,t=n;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function ja(e,t,n,r){t&=~wh,t&=~zi,e.suspendedLanes|=t,e.pingedLanes&=~t,r&&(e.warmLanes|=t),r=e.expirationTimes;for(var o=t;0<o;){var a=31-Er(o),i=1<<a;r[a]=-1,o&=~i}n!==0&&jx(e,n,t)}function nf(){return(pt&6)===0?(Uc(0,!1),!1):!0}function Ah(){if(nt!==null){if(yt===0)var e=nt.return;else e=nt,oa=Gi=null,sh(e),Kl=null,Sc=0,e=nt;for(;e!==null;)gS(e.alternate,e),e=e.return;nt=null}}function ts(e,t){var n=e.timeoutHandle;n!==-1&&(e.timeoutHandle=-1,r_(n)),n=e.cancelPendingCommit,n!==null&&(e.cancelPendingCommit=null,n()),la=0,Ah(),Mt=e,nt=n=aa(e.current,null),ot=t,yt=0,xr=null,Pa=!1,ss=_c(e,t),Sh=!1,Jl=Ar=wh=zi=ei=en=0,or=fc=null,Sg=!1,(t&8)!==0&&(t|=t&32);var r=e.entangledLanes;if(r!==0)for(e=e.entanglements,r&=t;0<r;){var o=31-Er(r),a=1<<o;t|=e[o],r&=~a}return fa=t,Wd(),n}function BS(e,t){Fe=null,De.H=Ac,t===ls||t===Qd?(t=kb(),yt=3):t===th?(t=kb(),yt=4):yt=t===yh?8:t!==null&&typeof t=="object"&&typeof t.then=="function"?6:1,xr=t,nt===null&&(en=1,Md(e,Fr(t,e.current)))}function US(){var e=Mr.current;return e===null?!0:(ot&4194048)===ot?$r===null:(ot&62914560)===ot||(ot&536870912)!==0?e===$r:!1}function PS(){var e=De.H;return De.H=Ac,e===null?Ac:e}function jS(){var e=De.A;return De.A=BO,e}function Dd(){en=4,Pa||(ot&4194048)!==ot&&Mr.current!==null||(ss=!0),(ei&134217727)===0&&(zi&134217727)===0||Mt===null||ja(Mt,ot,Ar,!1)}function Dp(e,t,n){var r=pt;pt|=2;var o=PS(),a=jS();(Mt!==e||ot!==t)&&(Ld=null,ts(e,t)),t=!1;var i=en;e:do try{if(yt!==0&&nt!==null){var l=nt,s=xr;switch(yt){case 8:Ah(),i=6;break e;case 3:case 2:case 9:case 6:Mr.current===null&&(t=!0);var c=yt;if(yt=0,xr=null,Pl(e,l,s,c),n&&ss){i=0;break e}break;default:c=yt,yt=0,xr=null,Pl(e,l,s,c)}}jO(),i=en;break}catch(d){BS(e,d)}while(!0);return t&&e.shellSuspendCounter++,oa=Gi=null,pt=r,De.H=o,De.A=a,nt===null&&(Mt=null,ot=0,Wd()),i}function jO(){for(;nt!==null;)VS(nt)}function VO(e,t){var n=pt;pt|=2;var r=PS(),o=jS();Mt!==e||ot!==t?(Ld=null,kd=Cr()+500,ts(e,t)):ss=_c(e,t);e:do try{if(yt!==0&&nt!==null){t=nt;var a=xr;t:switch(yt){case 1:yt=0,xr=null,Pl(e,t,a,1);break;case 2:case 9:if(_b(a)){yt=0,xr=null,tx(t);break}t=function(){yt!==2&&yt!==9||Mt!==e||(yt=7),Mo(e)},a.then(t,t);break e;case 3:yt=7;break e;case 4:yt=5;break e;case 7:_b(a)?(yt=0,xr=null,tx(t)):(yt=0,xr=null,Pl(e,t,a,7));break;case 5:var i=null;switch(nt.tag){case 26:i=nt.memoizedState;case 5:case 27:var l=nt;if(i?lw(i):l.stateNode.complete){yt=0,xr=null;var s=l.sibling;if(s!==null)nt=s;else{var c=l.return;c!==null?(nt=c,rf(c)):nt=null}break t}}yt=0,xr=null,Pl(e,t,a,5);break;case 6:yt=0,xr=null,Pl(e,t,a,6);break;case 8:Ah(),en=6;break e;default:throw Error(B(462))}}HO();break}catch(d){BS(e,d)}while(!0);return oa=Gi=null,De.H=r,De.A=o,pt=n,nt!==null?0:(Mt=null,ot=0,Wd(),en)}function HO(){for(;nt!==null&&!dM();)VS(nt)}function VS(e){var t=pS(e.alternate,e,fa);e.memoizedProps=e.pendingProps,t===null?rf(e):nt=t}function tx(e){var t=e,n=t.alternate;switch(t.tag){case 15:case 0:t=Wb(n,t,t.pendingProps,t.type,void 0,ot);break;case 11:t=Wb(n,t,t.pendingProps,t.type.render,t.ref,ot);break;case 5:sh(t);default:gS(n,t),t=nt=g0(t,fa),t=pS(n,t,fa)}e.memoizedProps=e.pendingProps,t===null?rf(e):nt=t}function Pl(e,t,n,r){oa=Gi=null,sh(t),Kl=null,Sc=0;var o=t.return;try{if(OO(e,o,t,n,ot)){en=1,Md(e,Fr(n,e.current)),nt=null;return}}catch(a){if(o!==null)throw nt=o,a;en=1,Md(e,Fr(n,e.current)),nt=null;return}t.flags&32768?(lt||r===1?e=!0:ss||(ot&536870912)!==0?e=!1:(Pa=e=!0,(r===2||r===9||r===3||r===6)&&(r=Mr.current,r!==null&&r.tag===13&&(r.flags|=16384))),HS(t,e)):rf(t)}function rf(e){var t=e;do{if((t.flags&32768)!==0){HS(t,Pa);return}e=t.return;var n=LO(t.alternate,t,fa);if(n!==null){nt=n;return}if(t=t.sibling,t!==null){nt=t;return}nt=t=e}while(t!==null);en===0&&(en=5)}function HS(e,t){do{var n=DO(e.alternate,e);if(n!==null){n.flags&=32767,nt=n;return}if(n=e.return,n!==null&&(n.flags|=32768,n.subtreeFlags=0,n.deletions=null),!t&&(e=e.sibling,e!==null)){nt=e;return}nt=e=n}while(e!==null);en=6,nt=null}function nx(e,t,n,r,o,a,i,l,s){e.cancelPendingCommit=null;do of();while(Rn!==0);if((pt&6)!==0)throw Error(B(327));if(t!==null){if(t===e.current)throw Error(B(177));if(a=t.lanes|t.childLanes,a|=Wg,SM(e,n,a,i,l,s),e===Mt&&(nt=Mt=null,ot=0),es=t,qa=e,la=n,wg=a,Ag=o,DS=r,(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?(e.callbackNode=null,e.callbackPriority=0,GO(vd,function(){return qS(),null})):(e.callbackNode=null,e.callbackPriority=0),r=(t.flags&13878)!==0,(t.subtreeFlags&13878)!==0||r){r=De.T,De.T=null,o=gt.p,gt.p=2,i=pt,pt|=4;try{IO(e,t,n)}finally{pt=i,gt.p=o,De.T=r}}Rn=1,FS(),KS(),$S()}}function FS(){if(Rn===1){Rn=0;var e=qa,t=es,n=(t.flags&13878)!==0;if((t.subtreeFlags&13878)!==0||n){n=De.T,De.T=null;var r=gt.p;gt.p=2;var o=pt;pt|=4;try{ES(t,e);var a=Ng,i=l0(e.containerInfo),l=a.focusedElem,s=a.selectionRange;if(i!==l&&l&&l.ownerDocument&&i0(l.ownerDocument.documentElement,l)){if(s!==null&&qg(l)){var c=s.start,d=s.end;if(d===void 0&&(d=c),"selectionStart"in l)l.selectionStart=c,l.selectionEnd=Math.min(d,l.value.length);else{var u=l.ownerDocument||document,f=u&&u.defaultView||window;if(f.getSelection){var p=f.getSelection(),v=l.textContent.length,m=Math.min(s.start,v),b=s.end===void 0?m:Math.min(s.end,v);!p.extend&&m>b&&(i=b,b=m,m=i);var h=Cb(l,m),g=Cb(l,b);if(h&&g&&(p.rangeCount!==1||p.anchorNode!==h.node||p.anchorOffset!==h.offset||p.focusNode!==g.node||p.focusOffset!==g.offset)){var y=u.createRange();y.setStart(h.node,h.offset),p.removeAllRanges(),m>b?(p.addRange(y),p.extend(g.node,g.offset)):(y.setEnd(g.node,g.offset),p.addRange(y))}}}}for(u=[],p=l;p=p.parentNode;)p.nodeType===1&&u.push({element:p,left:p.scrollLeft,top:p.scrollTop});for(typeof l.focus=="function"&&l.focus(),l=0;l<u.length;l++){var x=u[l];x.element.scrollLeft=x.left,x.element.scrollTop=x.top}}Hd=!!Tg,Ng=Tg=null}finally{pt=o,gt.p=r,De.T=n}}e.current=t,Rn=2}}function KS(){if(Rn===2){Rn=0;var e=qa,t=es,n=(t.flags&8772)!==0;if((t.subtreeFlags&8772)!==0||n){n=De.T,De.T=null;var r=gt.p;gt.p=2;var o=pt;pt|=4;try{SS(e,t.alternate,t)}finally{pt=o,gt.p=r,De.T=n}}Rn=3}}function $S(){if(Rn===4||Rn===3){Rn=0,fM();var e=qa,t=es,n=la,r=DS;(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?Rn=5:(Rn=0,es=qa=null,GS(e,e.pendingLanes));var o=e.pendingLanes;if(o===0&&(Ga=null),jg(n),t=t.stateNode,Rr&&typeof Rr.onCommitFiberRoot=="function")try{Rr.onCommitFiberRoot(Oc,t,void 0,(t.current.flags&128)===128)}catch{}if(r!==null){t=De.T,o=gt.p,gt.p=2,De.T=null;try{for(var a=e.onRecoverableError,i=0;i<r.length;i++){var l=r[i];a(l.value,{componentStack:l.stack})}}finally{De.T=t,gt.p=o}}(la&3)!==0&&of(),Mo(e),o=e.pendingLanes,(n&261930)!==0&&(o&42)!==0?e===Cg?mc++:(mc=0,Cg=e):mc=0,Uc(0,!1)}}function GS(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,Ic(t)))}function of(){return FS(),KS(),$S(),qS()}function qS(){if(Rn!==5)return!1;var e=qa,t=wg;wg=0;var n=jg(la),r=De.T,o=gt.p;try{gt.p=32>n?32:n,De.T=null,n=Ag,Ag=null;var a=qa,i=la;if(Rn=0,es=qa=null,la=0,(pt&6)!==0)throw Error(B(331));var l=pt;if(pt|=4,_S(a.current),NS(a,a.current,i,n),pt=l,Uc(0,!1),Rr&&typeof Rr.onPostCommitFiberRoot=="function")try{Rr.onPostCommitFiberRoot(Oc,a)}catch{}return!0}finally{gt.p=o,De.T=r,GS(e,t)}}function rx(e,t,n){t=Fr(n,t),t=yg(e.stateNode,t,2),e=$a(e,t,2),e!==null&&(kc(e,2),Mo(e))}function vt(e,t,n){if(e.tag===3)rx(e,e,n);else for(;t!==null;){if(t.tag===3){rx(t,e,n);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof r.componentDidCatch=="function"&&(Ga===null||!Ga.has(r))){e=Fr(n,e),n=sS(2),r=$a(t,n,2),r!==null&&(cS(n,r,t,e),kc(r,2),Mo(r));break}}t=t.return}}function Ip(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new UO;var o=new Set;r.set(t,o)}else o=r.get(t),o===void 0&&(o=new Set,r.set(t,o));o.has(n)||(Sh=!0,o.add(n),e=FO.bind(null,e,t,n),t.then(e,e))}function FO(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,Mt===e&&(ot&n)===n&&(en===4||en===3&&(ot&62914560)===ot&&300>Cr()-tf?(pt&2)===0&&ts(e,0):wh|=n,Jl===ot&&(Jl=0)),Mo(e)}function WS(e,t){t===0&&(t=Px()),e=$i(e,t),e!==null&&(kc(e,t),Mo(e))}function KO(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),WS(e,n)}function $O(e,t){var n=0;switch(e.tag){case 31:case 13:var r=e.stateNode,o=e.memoizedState;o!==null&&(n=o.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(B(314))}r!==null&&r.delete(t),WS(e,n)}function GO(e,t){return Ug(e,t)}var Id=null,Tl=null,Rg=!1,zd=!1,zp=!1,Va=0;function Mo(e){e!==Tl&&e.next===null&&(Tl===null?Id=Tl=e:Tl=Tl.next=e),zd=!0,Rg||(Rg=!0,WO())}function Uc(e,t){if(!zp&&zd){zp=!0;do for(var n=!1,r=Id;r!==null;){if(!t)if(e!==0){var o=r.pendingLanes;if(o===0)var a=0;else{var i=r.suspendedLanes,l=r.pingedLanes;a=(1<<31-Er(42|e)+1)-1,a&=o&~(i&~l),a=a&201326741?a&201326741|1:a?a|2:0}a!==0&&(n=!0,ox(r,a))}else a=ot,a=Kd(r,r===Mt?a:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),(a&3)===0||_c(r,a)||(n=!0,ox(r,a));r=r.next}while(n);zp=!1}}function qO(){YS()}function YS(){zd=Rg=!1;var e=0;Va!==0&&n_()&&(e=Va);for(var t=Cr(),n=null,r=Id;r!==null;){var o=r.next,a=QS(r,t);a===0?(r.next=null,n===null?Id=o:n.next=o,o===null&&(Tl=n)):(n=r,(e!==0||(a&3)!==0)&&(zd=!0)),r=o}Rn!==0&&Rn!==5||Uc(e,!1),Va!==0&&(Va=0)}function QS(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,o=e.expirationTimes,a=e.pendingLanes&-62914561;0<a;){var i=31-Er(a),l=1<<i,s=o[i];s===-1?((l&n)===0||(l&r)!==0)&&(o[i]=xM(l,t)):s<=t&&(e.expiredLanes|=l),a&=~l}if(t=Mt,n=ot,n=Kd(e,e===t?n:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r=e.callbackNode,n===0||e===t&&(yt===2||yt===9)||e.cancelPendingCommit!==null)return r!==null&&r!==null&&dp(r),e.callbackNode=null,e.callbackPriority=0;if((n&3)===0||_c(e,n)){if(t=n&-n,t===e.callbackPriority)return t;switch(r!==null&&dp(r),jg(n)){case 2:case 8:n=Bx;break;case 32:n=vd;break;case 268435456:n=Ux;break;default:n=vd}return r=XS.bind(null,e),n=Ug(n,r),e.callbackPriority=t,e.callbackNode=n,t}return r!==null&&r!==null&&dp(r),e.callbackPriority=2,e.callbackNode=null,2}function XS(e,t){if(Rn!==0&&Rn!==5)return e.callbackNode=null,e.callbackPriority=0,null;var n=e.callbackNode;if(of()&&e.callbackNode!==n)return null;var r=ot;return r=Kd(e,e===Mt?r:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r===0?null:(zS(e,r,t),QS(e,Cr()),e.callbackNode!=null&&e.callbackNode===n?XS.bind(null,e):null)}function ox(e,t){if(of())return null;zS(e,t,!0)}function WO(){o_(function(){(pt&6)!==0?Ug(zx,qO):YS()})}function Ch(){if(Va===0){var e=Ql;e===0&&(e=Bu,Bu<<=1,(Bu&261888)===0&&(Bu=256)),Va=e}return Va}function ax(e){return e==null||typeof e=="symbol"||typeof e=="boolean"?null:typeof e=="function"?e:td(""+e)}function ix(e,t){var n=t.ownerDocument.createElement("input");return n.name=t.name,n.value=t.value,e.id&&n.setAttribute("form",e.id),t.parentNode.insertBefore(n,t),e=new FormData(e),n.parentNode.removeChild(n),e}function YO(e,t,n,r,o){if(t==="submit"&&n&&n.stateNode===o){var a=ax((o[ir]||null).action),i=r.submitter;i&&(t=(t=i[ir]||null)?ax(t.formAction):i.getAttribute("formAction"),t!==null&&(a=t,i=null));var l=new $d("action","action",null,r,o);e.push({event:l,listeners:[{instance:null,listener:function(){if(r.defaultPrevented){if(Va!==0){var s=i?ix(o,i):new FormData(o);gg(n,{pending:!0,data:s,method:o.method,action:a},null,s)}}else typeof a=="function"&&(l.preventDefault(),s=i?ix(o,i):new FormData(o),gg(n,{pending:!0,data:s,method:o.method,action:a},a,s))},currentTarget:o}]})}}for(Yu=0;Yu<rg.length;Yu++)Qu=rg[Yu],lx=Qu.toLowerCase(),sx=Qu[0].toUpperCase()+Qu.slice(1),so(lx,"on"+sx);var Qu,lx,sx,Yu;so(c0,"onAnimationEnd");so(u0,"onAnimationIteration");so(d0,"onAnimationStart");so("dblclick","onDoubleClick");so("focusin","onFocus");so("focusout","onBlur");so(mO,"onTransitionRun");so(pO,"onTransitionStart");so(gO,"onTransitionCancel");so(f0,"onTransitionEnd");Wl("onMouseEnter",["mouseout","mouseover"]);Wl("onMouseLeave",["mouseout","mouseover"]);Wl("onPointerEnter",["pointerout","pointerover"]);Wl("onPointerLeave",["pointerout","pointerover"]);Hi("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));Hi("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));Hi("onBeforeInput",["compositionend","keypress","textInput","paste"]);Hi("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));Hi("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));Hi("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Cc="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),QO=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(Cc));function ZS(e,t){t=(t&4)!==0;for(var n=0;n<e.length;n++){var r=e[n],o=r.event;r=r.listeners;e:{var a=void 0;if(t)for(var i=r.length-1;0<=i;i--){var l=r[i],s=l.instance,c=l.currentTarget;if(l=l.listener,s!==a&&o.isPropagationStopped())break e;a=l,o.currentTarget=c;try{a(o)}catch(d){xd(d)}o.currentTarget=null,a=s}else for(i=0;i<r.length;i++){if(l=r[i],s=l.instance,c=l.currentTarget,l=l.listener,s!==a&&o.isPropagationStopped())break e;a=l,o.currentTarget=c;try{a(o)}catch(d){xd(d)}o.currentTarget=null,a=s}}}}function tt(e,t){var n=t[Yp];n===void 0&&(n=t[Yp]=new Set);var r=e+"__bubble";n.has(r)||(JS(t,e,2,!1),n.add(r))}function Bp(e,t,n){var r=0;t&&(r|=4),JS(n,e,r,t)}var Xu="_reactListening"+Math.random().toString(36).slice(2);function Rh(e){if(!e[Xu]){e[Xu]=!0,Kx.forEach(function(n){n!=="selectionchange"&&(QO.has(n)||Bp(n,!1,e),Bp(n,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[Xu]||(t[Xu]=!0,Bp("selectionchange",!1,t))}}function JS(e,t,n,r){switch(fw(t)){case 2:var o=C_;break;case 8:o=R_;break;default:o=Mh}n=o.bind(null,t,n,e),o=void 0,!eg||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(o=!0),r?o!==void 0?e.addEventListener(t,n,{capture:!0,passive:o}):e.addEventListener(t,n,!0):o!==void 0?e.addEventListener(t,n,{passive:o}):e.addEventListener(t,n,!1)}function Up(e,t,n,r,o){var a=r;if((t&1)===0&&(t&2)===0&&r!==null)e:for(;;){if(r===null)return;var i=r.tag;if(i===3||i===4){var l=r.stateNode.containerInfo;if(l===o)break;if(i===4)for(i=r.return;i!==null;){var s=i.tag;if((s===3||s===4)&&i.stateNode.containerInfo===o)return;i=i.return}for(;l!==null;){if(i=Ol(l),i===null)return;if(s=i.tag,s===5||s===6||s===26||s===27){r=a=i;continue e}l=l.parentNode}}r=r.return}Zx(function(){var c=a,d=Fg(n),u=[];e:{var f=m0.get(e);if(f!==void 0){var p=$d,v=e;switch(e){case"keypress":if(rd(n)===0)break e;case"keydown":case"keyup":p=$M;break;case"focusin":v="focus",p=hp;break;case"focusout":v="blur",p=hp;break;case"beforeblur":case"afterblur":p=hp;break;case"click":if(n.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":p=gb;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":p=LM;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":p=WM;break;case c0:case u0:case d0:p=zM;break;case f0:p=QM;break;case"scroll":case"scrollend":p=_M;break;case"wheel":p=ZM;break;case"copy":case"cut":case"paste":p=UM;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":p=yb;break;case"toggle":case"beforetoggle":p=eO}var m=(t&4)!==0,b=!m&&(e==="scroll"||e==="scrollend"),h=m?f!==null?f+"Capture":null:f;m=[];for(var g=c,y;g!==null;){var x=g;if(y=x.stateNode,x=x.tag,x!==5&&x!==26&&x!==27||y===null||h===null||(x=hc(g,h),x!=null&&m.push(Rc(g,x,y))),b)break;g=g.return}0<m.length&&(f=new p(f,v,null,n,d),u.push({event:f,listeners:m}))}}if((t&7)===0){e:{if(f=e==="mouseover"||e==="pointerover",p=e==="mouseout"||e==="pointerout",f&&n!==Jp&&(v=n.relatedTarget||n.fromElement)&&(Ol(v)||v[os]))break e;if((p||f)&&(f=d.window===d?d:(f=d.ownerDocument)?f.defaultView||f.parentWindow:window,p?(v=n.relatedTarget||n.toElement,p=c,v=v?Ol(v):null,v!==null&&(b=Mc(v),m=v.tag,v!==b||m!==5&&m!==27&&m!==6)&&(v=null)):(p=null,v=c),p!==v)){if(m=gb,x="onMouseLeave",h="onMouseEnter",g="mouse",(e==="pointerout"||e==="pointerover")&&(m=yb,x="onPointerLeave",h="onPointerEnter",g="pointer"),b=p==null?f:Js(p),y=v==null?f:Js(v),f=new m(x,g+"leave",p,n,d),f.target=b,f.relatedTarget=y,x=null,Ol(d)===c&&(m=new m(h,g+"enter",v,n,d),m.target=y,m.relatedTarget=b,x=m),b=x,p&&v)t:{for(m=XO,h=p,g=v,y=0,x=h;x;x=m(x))y++;x=0;for(var w=g;w;w=m(w))x++;for(;0<y-x;)h=m(h),y--;for(;0<x-y;)g=m(g),x--;for(;y--;){if(h===g||g!==null&&h===g.alternate){m=h;break t}h=m(h),g=m(g)}m=null}else m=null;p!==null&&cx(u,f,p,m,!1),v!==null&&b!==null&&cx(u,b,v,m,!0)}}e:{if(f=c?Js(c):window,p=f.nodeName&&f.nodeName.toLowerCase(),p==="select"||p==="input"&&f.type==="file")var R=Sb;else if(xb(f))if(o0)R=uO;else{R=sO;var E=lO}else p=f.nodeName,!p||p.toLowerCase()!=="input"||f.type!=="checkbox"&&f.type!=="radio"?c&&Hg(c.elementType)&&(R=Sb):R=cO;if(R&&(R=R(e,c))){r0(u,R,n,d);break e}E&&E(e,f,c),e==="focusout"&&c&&f.type==="number"&&c.memoizedProps.value!=null&&Zp(f,"number",f.value)}switch(E=c?Js(c):window,e){case"focusin":(xb(E)||E.contentEditable==="true")&&(Ll=E,tg=c,oc=null);break;case"focusout":oc=tg=Ll=null;break;case"mousedown":ng=!0;break;case"contextmenu":case"mouseup":case"dragend":ng=!1,Rb(u,n,d);break;case"selectionchange":if(fO)break;case"keydown":case"keyup":Rb(u,n,d)}var A;if(Gg)e:{switch(e){case"compositionstart":var N="onCompositionStart";break e;case"compositionend":N="onCompositionEnd";break e;case"compositionupdate":N="onCompositionUpdate";break e}N=void 0}else kl?t0(e,n)&&(N="onCompositionEnd"):e==="keydown"&&n.keyCode===229&&(N="onCompositionStart");N&&(e0&&n.locale!=="ko"&&(kl||N!=="onCompositionStart"?N==="onCompositionEnd"&&kl&&(A=Jx()):(Ua=d,Kg="value"in Ua?Ua.value:Ua.textContent,kl=!0)),E=Bd(c,N),0<E.length&&(N=new hb(N,e,null,n,d),u.push({event:N,listeners:E}),A?N.data=A:(A=n0(n),A!==null&&(N.data=A)))),(A=nO?rO(e,n):oO(e,n))&&(N=Bd(c,"onBeforeInput"),0<N.length&&(E=new hb("onBeforeInput","beforeinput",null,n,d),u.push({event:E,listeners:N}),E.data=A)),YO(u,e,c,n,d)}ZS(u,t)})}function Rc(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Bd(e,t){for(var n=t+"Capture",r=[];e!==null;){var o=e,a=o.stateNode;if(o=o.tag,o!==5&&o!==26&&o!==27||a===null||(o=hc(e,n),o!=null&&r.unshift(Rc(e,o,a)),o=hc(e,t),o!=null&&r.push(Rc(e,o,a))),e.tag===3)return r;e=e.return}return[]}function XO(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function cx(e,t,n,r,o){for(var a=t._reactName,i=[];n!==null&&n!==r;){var l=n,s=l.alternate,c=l.stateNode;if(l=l.tag,s!==null&&s===r)break;l!==5&&l!==26&&l!==27||c===null||(s=c,o?(c=hc(n,a),c!=null&&i.unshift(Rc(n,c,s))):o||(c=hc(n,a),c!=null&&i.push(Rc(n,c,s)))),n=n.return}i.length!==0&&e.push({event:t,listeners:i})}var ZO=/\r\n?/g,JO=/\u0000|\uFFFD/g;function ux(e){return(typeof e=="string"?e:""+e).replace(ZO,`
9
- `).replace(JO,"")}function ew(e,t){return t=ux(t),ux(e)===t}function At(e,t,n,r,o,a){switch(n){case"children":typeof r=="string"?t==="body"||t==="textarea"&&r===""||Yl(e,r):(typeof r=="number"||typeof r=="bigint")&&t!=="body"&&Yl(e,""+r);break;case"className":ju(e,"class",r);break;case"tabIndex":ju(e,"tabindex",r);break;case"dir":case"role":case"viewBox":case"width":case"height":ju(e,n,r);break;case"style":Xx(e,r,a);break;case"data":if(t!=="object"){ju(e,"data",r);break}case"src":case"href":if(r===""&&(t!=="a"||n!=="href")){e.removeAttribute(n);break}if(r==null||typeof r=="function"||typeof r=="symbol"||typeof r=="boolean"){e.removeAttribute(n);break}r=td(""+r),e.setAttribute(n,r);break;case"action":case"formAction":if(typeof r=="function"){e.setAttribute(n,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof a=="function"&&(n==="formAction"?(t!=="input"&&At(e,t,"name",o.name,o,null),At(e,t,"formEncType",o.formEncType,o,null),At(e,t,"formMethod",o.formMethod,o,null),At(e,t,"formTarget",o.formTarget,o,null)):(At(e,t,"encType",o.encType,o,null),At(e,t,"method",o.method,o,null),At(e,t,"target",o.target,o,null)));if(r==null||typeof r=="symbol"||typeof r=="boolean"){e.removeAttribute(n);break}r=td(""+r),e.setAttribute(n,r);break;case"onClick":r!=null&&(e.onclick=ra);break;case"onScroll":r!=null&&tt("scroll",e);break;case"onScrollEnd":r!=null&&tt("scrollend",e);break;case"dangerouslySetInnerHTML":if(r!=null){if(typeof r!="object"||!("__html"in r))throw Error(B(61));if(n=r.__html,n!=null){if(o.children!=null)throw Error(B(60));e.innerHTML=n}}break;case"multiple":e.multiple=r&&typeof r!="function"&&typeof r!="symbol";break;case"muted":e.muted=r&&typeof r!="function"&&typeof r!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(r==null||typeof r=="function"||typeof r=="boolean"||typeof r=="symbol"){e.removeAttribute("xlink:href");break}n=td(""+r),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",n);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":r!=null&&typeof r!="function"&&typeof r!="symbol"?e.setAttribute(n,""+r):e.removeAttribute(n);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":r&&typeof r!="function"&&typeof r!="symbol"?e.setAttribute(n,""):e.removeAttribute(n);break;case"capture":case"download":r===!0?e.setAttribute(n,""):r!==!1&&r!=null&&typeof r!="function"&&typeof r!="symbol"?e.setAttribute(n,r):e.removeAttribute(n);break;case"cols":case"rows":case"size":case"span":r!=null&&typeof r!="function"&&typeof r!="symbol"&&!isNaN(r)&&1<=r?e.setAttribute(n,r):e.removeAttribute(n);break;case"rowSpan":case"start":r==null||typeof r=="function"||typeof r=="symbol"||isNaN(r)?e.removeAttribute(n):e.setAttribute(n,r);break;case"popover":tt("beforetoggle",e),tt("toggle",e),ed(e,"popover",r);break;case"xlinkActuate":Yo(e,"http://www.w3.org/1999/xlink","xlink:actuate",r);break;case"xlinkArcrole":Yo(e,"http://www.w3.org/1999/xlink","xlink:arcrole",r);break;case"xlinkRole":Yo(e,"http://www.w3.org/1999/xlink","xlink:role",r);break;case"xlinkShow":Yo(e,"http://www.w3.org/1999/xlink","xlink:show",r);break;case"xlinkTitle":Yo(e,"http://www.w3.org/1999/xlink","xlink:title",r);break;case"xlinkType":Yo(e,"http://www.w3.org/1999/xlink","xlink:type",r);break;case"xmlBase":Yo(e,"http://www.w3.org/XML/1998/namespace","xml:base",r);break;case"xmlLang":Yo(e,"http://www.w3.org/XML/1998/namespace","xml:lang",r);break;case"xmlSpace":Yo(e,"http://www.w3.org/XML/1998/namespace","xml:space",r);break;case"is":ed(e,"is",r);break;case"innerText":case"textContent":break;default:(!(2<n.length)||n[0]!=="o"&&n[0]!=="O"||n[1]!=="n"&&n[1]!=="N")&&(n=MM.get(n)||n,ed(e,n,r))}}function Eg(e,t,n,r,o,a){switch(n){case"style":Xx(e,r,a);break;case"dangerouslySetInnerHTML":if(r!=null){if(typeof r!="object"||!("__html"in r))throw Error(B(61));if(n=r.__html,n!=null){if(o.children!=null)throw Error(B(60));e.innerHTML=n}}break;case"children":typeof r=="string"?Yl(e,r):(typeof r=="number"||typeof r=="bigint")&&Yl(e,""+r);break;case"onScroll":r!=null&&tt("scroll",e);break;case"onScrollEnd":r!=null&&tt("scrollend",e);break;case"onClick":r!=null&&(e.onclick=ra);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!$x.hasOwnProperty(n))e:{if(n[0]==="o"&&n[1]==="n"&&(o=n.endsWith("Capture"),t=n.slice(2,o?n.length-7:void 0),a=e[ir]||null,a=a!=null?a[n]:null,typeof a=="function"&&e.removeEventListener(t,a,o),typeof r=="function")){typeof a!="function"&&a!==null&&(n in e?e[n]=null:e.hasAttribute(n)&&e.removeAttribute(n)),e.addEventListener(t,r,o);break e}n in e?e[n]=r:r===!0?e.setAttribute(n,""):ed(e,n,r)}}}function Vn(e,t,n){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":tt("error",e),tt("load",e);var r=!1,o=!1,a;for(a in n)if(n.hasOwnProperty(a)){var i=n[a];if(i!=null)switch(a){case"src":r=!0;break;case"srcSet":o=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(B(137,t));default:At(e,t,a,i,n,null)}}o&&At(e,t,"srcSet",n.srcSet,n,null),r&&At(e,t,"src",n.src,n,null);return;case"input":tt("invalid",e);var l=a=i=o=null,s=null,c=null;for(r in n)if(n.hasOwnProperty(r)){var d=n[r];if(d!=null)switch(r){case"name":o=d;break;case"type":i=d;break;case"checked":s=d;break;case"defaultChecked":c=d;break;case"value":a=d;break;case"defaultValue":l=d;break;case"children":case"dangerouslySetInnerHTML":if(d!=null)throw Error(B(137,t));break;default:At(e,t,r,d,n,null)}}Wx(e,a,l,s,c,i,o,!1);return;case"select":tt("invalid",e),r=i=a=null;for(o in n)if(n.hasOwnProperty(o)&&(l=n[o],l!=null))switch(o){case"value":a=l;break;case"defaultValue":i=l;break;case"multiple":r=l;default:At(e,t,o,l,n,null)}t=a,n=i,e.multiple=!!r,t!=null?Vl(e,!!r,t,!1):n!=null&&Vl(e,!!r,n,!0);return;case"textarea":tt("invalid",e),a=o=r=null;for(i in n)if(n.hasOwnProperty(i)&&(l=n[i],l!=null))switch(i){case"value":r=l;break;case"defaultValue":o=l;break;case"children":a=l;break;case"dangerouslySetInnerHTML":if(l!=null)throw Error(B(91));break;default:At(e,t,i,l,n,null)}Qx(e,r,o,a);return;case"option":for(s in n)n.hasOwnProperty(s)&&(r=n[s],r!=null)&&(s==="selected"?e.selected=r&&typeof r!="function"&&typeof r!="symbol":At(e,t,s,r,n,null));return;case"dialog":tt("beforetoggle",e),tt("toggle",e),tt("cancel",e),tt("close",e);break;case"iframe":case"object":tt("load",e);break;case"video":case"audio":for(r=0;r<Cc.length;r++)tt(Cc[r],e);break;case"image":tt("error",e),tt("load",e);break;case"details":tt("toggle",e);break;case"embed":case"source":case"link":tt("error",e),tt("load",e);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(c in n)if(n.hasOwnProperty(c)&&(r=n[c],r!=null))switch(c){case"children":case"dangerouslySetInnerHTML":throw Error(B(137,t));default:At(e,t,c,r,n,null)}return;default:if(Hg(t)){for(d in n)n.hasOwnProperty(d)&&(r=n[d],r!==void 0&&Eg(e,t,d,r,n,void 0));return}}for(l in n)n.hasOwnProperty(l)&&(r=n[l],r!=null&&At(e,t,l,r,n,null))}function e_(e,t,n,r){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var o=null,a=null,i=null,l=null,s=null,c=null,d=null;for(p in n){var u=n[p];if(n.hasOwnProperty(p)&&u!=null)switch(p){case"checked":break;case"value":break;case"defaultValue":s=u;default:r.hasOwnProperty(p)||At(e,t,p,null,r,u)}}for(var f in r){var p=r[f];if(u=n[f],r.hasOwnProperty(f)&&(p!=null||u!=null))switch(f){case"type":a=p;break;case"name":o=p;break;case"checked":c=p;break;case"defaultChecked":d=p;break;case"value":i=p;break;case"defaultValue":l=p;break;case"children":case"dangerouslySetInnerHTML":if(p!=null)throw Error(B(137,t));break;default:p!==u&&At(e,t,f,p,r,u)}}Xp(e,i,l,s,c,d,a,o);return;case"select":p=i=l=f=null;for(a in n)if(s=n[a],n.hasOwnProperty(a)&&s!=null)switch(a){case"value":break;case"multiple":p=s;default:r.hasOwnProperty(a)||At(e,t,a,null,r,s)}for(o in r)if(a=r[o],s=n[o],r.hasOwnProperty(o)&&(a!=null||s!=null))switch(o){case"value":f=a;break;case"defaultValue":l=a;break;case"multiple":i=a;default:a!==s&&At(e,t,o,a,r,s)}t=l,n=i,r=p,f!=null?Vl(e,!!n,f,!1):!!r!=!!n&&(t!=null?Vl(e,!!n,t,!0):Vl(e,!!n,n?[]:"",!1));return;case"textarea":p=f=null;for(l in n)if(o=n[l],n.hasOwnProperty(l)&&o!=null&&!r.hasOwnProperty(l))switch(l){case"value":break;case"children":break;default:At(e,t,l,null,r,o)}for(i in r)if(o=r[i],a=n[i],r.hasOwnProperty(i)&&(o!=null||a!=null))switch(i){case"value":f=o;break;case"defaultValue":p=o;break;case"children":break;case"dangerouslySetInnerHTML":if(o!=null)throw Error(B(91));break;default:o!==a&&At(e,t,i,o,r,a)}Yx(e,f,p);return;case"option":for(var v in n)f=n[v],n.hasOwnProperty(v)&&f!=null&&!r.hasOwnProperty(v)&&(v==="selected"?e.selected=!1:At(e,t,v,null,r,f));for(s in r)f=r[s],p=n[s],r.hasOwnProperty(s)&&f!==p&&(f!=null||p!=null)&&(s==="selected"?e.selected=f&&typeof f!="function"&&typeof f!="symbol":At(e,t,s,f,r,p));return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var m in n)f=n[m],n.hasOwnProperty(m)&&f!=null&&!r.hasOwnProperty(m)&&At(e,t,m,null,r,f);for(c in r)if(f=r[c],p=n[c],r.hasOwnProperty(c)&&f!==p&&(f!=null||p!=null))switch(c){case"children":case"dangerouslySetInnerHTML":if(f!=null)throw Error(B(137,t));break;default:At(e,t,c,f,r,p)}return;default:if(Hg(t)){for(var b in n)f=n[b],n.hasOwnProperty(b)&&f!==void 0&&!r.hasOwnProperty(b)&&Eg(e,t,b,void 0,r,f);for(d in r)f=r[d],p=n[d],!r.hasOwnProperty(d)||f===p||f===void 0&&p===void 0||Eg(e,t,d,f,r,p);return}}for(var h in n)f=n[h],n.hasOwnProperty(h)&&f!=null&&!r.hasOwnProperty(h)&&At(e,t,h,null,r,f);for(u in r)f=r[u],p=n[u],!r.hasOwnProperty(u)||f===p||f==null&&p==null||At(e,t,u,f,r,p)}function dx(e){switch(e){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function t_(){if(typeof performance.getEntriesByType=="function"){for(var e=0,t=0,n=performance.getEntriesByType("resource"),r=0;r<n.length;r++){var o=n[r],a=o.transferSize,i=o.initiatorType,l=o.duration;if(a&&l&&dx(i)){for(i=0,l=o.responseEnd,r+=1;r<n.length;r++){var s=n[r],c=s.startTime;if(c>l)break;var d=s.transferSize,u=s.initiatorType;d&&dx(u)&&(s=s.responseEnd,i+=d*(s<l?1:(l-c)/(s-c)))}if(--r,t+=8*(a+i)/(o.duration/1e3),e++,10<e)break}}if(0<e)return t/e/1e6}return navigator.connection&&(e=navigator.connection.downlink,typeof e=="number")?e:5}var Tg=null,Ng=null;function Ud(e){return e.nodeType===9?e:e.ownerDocument}function fx(e){switch(e){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function tw(e,t){if(e===0)switch(t){case"svg":return 1;case"math":return 2;default:return 0}return e===1&&t==="foreignObject"?0:e}function Mg(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.children=="bigint"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var Pp=null;function n_(){var e=window.event;return e&&e.type==="popstate"?e===Pp?!1:(Pp=e,!0):(Pp=null,!1)}var nw=typeof setTimeout=="function"?setTimeout:void 0,r_=typeof clearTimeout=="function"?clearTimeout:void 0,mx=typeof Promise=="function"?Promise:void 0,o_=typeof queueMicrotask=="function"?queueMicrotask:typeof mx<"u"?function(e){return mx.resolve(null).then(e).catch(a_)}:nw;function a_(e){setTimeout(function(){throw e})}function ni(e){return e==="head"}function px(e,t){var n=t,r=0;do{var o=n.nextSibling;if(e.removeChild(n),o&&o.nodeType===8)if(n=o.data,n==="/$"||n==="/&"){if(r===0){e.removeChild(o),rs(t);return}r--}else if(n==="$"||n==="$?"||n==="$~"||n==="$!"||n==="&")r++;else if(n==="html")pc(e.ownerDocument.documentElement);else if(n==="head"){n=e.ownerDocument.head,pc(n);for(var a=n.firstChild;a;){var i=a.nextSibling,l=a.nodeName;a[Lc]||l==="SCRIPT"||l==="STYLE"||l==="LINK"&&a.rel.toLowerCase()==="stylesheet"||n.removeChild(a),a=i}}else n==="body"&&pc(e.ownerDocument.body);n=o}while(n);rs(t)}function gx(e,t){var n=e;e=0;do{var r=n.nextSibling;if(n.nodeType===1?t?(n._stashedDisplay=n.style.display,n.style.display="none"):(n.style.display=n._stashedDisplay||"",n.getAttribute("style")===""&&n.removeAttribute("style")):n.nodeType===3&&(t?(n._stashedText=n.nodeValue,n.nodeValue=""):n.nodeValue=n._stashedText||""),r&&r.nodeType===8)if(n=r.data,n==="/$"){if(e===0)break;e--}else n!=="$"&&n!=="$?"&&n!=="$~"&&n!=="$!"||e++;n=r}while(n)}function Og(e){var t=e.firstChild;for(t&&t.nodeType===10&&(t=t.nextSibling);t;){var n=t;switch(t=t.nextSibling,n.nodeName){case"HTML":case"HEAD":case"BODY":Og(n),Vg(n);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(n.rel.toLowerCase()==="stylesheet")continue}e.removeChild(n)}}function i_(e,t,n,r){for(;e.nodeType===1;){var o=n;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!r&&(e.nodeName!=="INPUT"||e.type!=="hidden"))break}else if(r){if(!e[Lc])switch(t){case"meta":if(!e.hasAttribute("itemprop"))break;return e;case"link":if(a=e.getAttribute("rel"),a==="stylesheet"&&e.hasAttribute("data-precedence"))break;if(a!==o.rel||e.getAttribute("href")!==(o.href==null||o.href===""?null:o.href)||e.getAttribute("crossorigin")!==(o.crossOrigin==null?null:o.crossOrigin)||e.getAttribute("title")!==(o.title==null?null:o.title))break;return e;case"style":if(e.hasAttribute("data-precedence"))break;return e;case"script":if(a=e.getAttribute("src"),(a!==(o.src==null?null:o.src)||e.getAttribute("type")!==(o.type==null?null:o.type)||e.getAttribute("crossorigin")!==(o.crossOrigin==null?null:o.crossOrigin))&&a&&e.hasAttribute("async")&&!e.hasAttribute("itemprop"))break;return e;default:return e}}else if(t==="input"&&e.type==="hidden"){var a=o.name==null?null:""+o.name;if(o.type==="hidden"&&e.getAttribute("name")===a)return e}else return e;if(e=Gr(e.nextSibling),e===null)break}return null}function l_(e,t,n){if(t==="")return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!n||(e=Gr(e.nextSibling),e===null))return null;return e}function rw(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!t||(e=Gr(e.nextSibling),e===null))return null;return e}function _g(e){return e.data==="$?"||e.data==="$~"}function kg(e){return e.data==="$!"||e.data==="$?"&&e.ownerDocument.readyState!=="loading"}function s_(e,t){var n=e.ownerDocument;if(e.data==="$~")e._reactRetry=t;else if(e.data!=="$?"||n.readyState!=="loading")t();else{var r=function(){t(),n.removeEventListener("DOMContentLoaded",r)};n.addEventListener("DOMContentLoaded",r),e._reactRetry=r}}function Gr(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?"||t==="$~"||t==="&"||t==="F!"||t==="F")break;if(t==="/$"||t==="/&")return null}}return e}var Lg=null;function hx(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="/$"||n==="/&"){if(t===0)return Gr(e.nextSibling);t--}else n!=="$"&&n!=="$!"&&n!=="$?"&&n!=="$~"&&n!=="&"||t++}e=e.nextSibling}return null}function yx(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="$"||n==="$!"||n==="$?"||n==="$~"||n==="&"){if(t===0)return e;t--}else n!=="/$"&&n!=="/&"||t++}e=e.previousSibling}return null}function ow(e,t,n){switch(t=Ud(n),e){case"html":if(e=t.documentElement,!e)throw Error(B(452));return e;case"head":if(e=t.head,!e)throw Error(B(453));return e;case"body":if(e=t.body,!e)throw Error(B(454));return e;default:throw Error(B(451))}}function pc(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);Vg(e)}var qr=new Map,vx=new Set;function Pd(e){return typeof e.getRootNode=="function"?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var ma=gt.d;gt.d={f:c_,r:u_,D:d_,C:f_,L:m_,m:p_,X:h_,S:g_,M:y_};function c_(){var e=ma.f(),t=nf();return e||t}function u_(e){var t=as(e);t!==null&&t.tag===5&&t.type==="form"?X0(t):ma.r(e)}var cs=typeof document>"u"?null:document;function aw(e,t,n){var r=cs;if(r&&typeof t=="string"&&t){var o=Hr(t);o='link[rel="'+e+'"][href="'+o+'"]',typeof n=="string"&&(o+='[crossorigin="'+n+'"]'),vx.has(o)||(vx.add(o),e={rel:e,crossOrigin:n,href:t},r.querySelector(o)===null&&(t=r.createElement("link"),Vn(t,"link",e),_n(t),r.head.appendChild(t)))}}function d_(e){ma.D(e),aw("dns-prefetch",e,null)}function f_(e,t){ma.C(e,t),aw("preconnect",e,t)}function m_(e,t,n){ma.L(e,t,n);var r=cs;if(r&&e&&t){var o='link[rel="preload"][as="'+Hr(t)+'"]';t==="image"&&n&&n.imageSrcSet?(o+='[imagesrcset="'+Hr(n.imageSrcSet)+'"]',typeof n.imageSizes=="string"&&(o+='[imagesizes="'+Hr(n.imageSizes)+'"]')):o+='[href="'+Hr(e)+'"]';var a=o;switch(t){case"style":a=ns(e);break;case"script":a=us(e)}qr.has(a)||(e=Ut({rel:"preload",href:t==="image"&&n&&n.imageSrcSet?void 0:e,as:t},n),qr.set(a,e),r.querySelector(o)!==null||t==="style"&&r.querySelector(Pc(a))||t==="script"&&r.querySelector(jc(a))||(t=r.createElement("link"),Vn(t,"link",e),_n(t),r.head.appendChild(t)))}}function p_(e,t){ma.m(e,t);var n=cs;if(n&&e){var r=t&&typeof t.as=="string"?t.as:"script",o='link[rel="modulepreload"][as="'+Hr(r)+'"][href="'+Hr(e)+'"]',a=o;switch(r){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":a=us(e)}if(!qr.has(a)&&(e=Ut({rel:"modulepreload",href:e},t),qr.set(a,e),n.querySelector(o)===null)){switch(r){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(n.querySelector(jc(a)))return}r=n.createElement("link"),Vn(r,"link",e),_n(r),n.head.appendChild(r)}}}function g_(e,t,n){ma.S(e,t,n);var r=cs;if(r&&e){var o=jl(r).hoistableStyles,a=ns(e);t=t||"default";var i=o.get(a);if(!i){var l={loading:0,preload:null};if(i=r.querySelector(Pc(a)))l.loading=5;else{e=Ut({rel:"stylesheet",href:e,"data-precedence":t},n),(n=qr.get(a))&&Eh(e,n);var s=i=r.createElement("link");_n(s),Vn(s,"link",e),s._p=new Promise(function(c,d){s.onload=c,s.onerror=d}),s.addEventListener("load",function(){l.loading|=1}),s.addEventListener("error",function(){l.loading|=2}),l.loading|=4,dd(i,t,r)}i={type:"stylesheet",instance:i,count:1,state:l},o.set(a,i)}}}function h_(e,t){ma.X(e,t);var n=cs;if(n&&e){var r=jl(n).hoistableScripts,o=us(e),a=r.get(o);a||(a=n.querySelector(jc(o)),a||(e=Ut({src:e,async:!0},t),(t=qr.get(o))&&Th(e,t),a=n.createElement("script"),_n(a),Vn(a,"link",e),n.head.appendChild(a)),a={type:"script",instance:a,count:1,state:null},r.set(o,a))}}function y_(e,t){ma.M(e,t);var n=cs;if(n&&e){var r=jl(n).hoistableScripts,o=us(e),a=r.get(o);a||(a=n.querySelector(jc(o)),a||(e=Ut({src:e,async:!0,type:"module"},t),(t=qr.get(o))&&Th(e,t),a=n.createElement("script"),_n(a),Vn(a,"link",e),n.head.appendChild(a)),a={type:"script",instance:a,count:1,state:null},r.set(o,a))}}function bx(e,t,n,r){var o=(o=Ha.current)?Pd(o):null;if(!o)throw Error(B(446));switch(e){case"meta":case"title":return null;case"style":return typeof n.precedence=="string"&&typeof n.href=="string"?(t=ns(n.href),n=jl(o).hoistableStyles,r=n.get(t),r||(r={type:"style",instance:null,count:0,state:null},n.set(t,r)),r):{type:"void",instance:null,count:0,state:null};case"link":if(n.rel==="stylesheet"&&typeof n.href=="string"&&typeof n.precedence=="string"){e=ns(n.href);var a=jl(o).hoistableStyles,i=a.get(e);if(i||(o=o.ownerDocument||o,i={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},a.set(e,i),(a=o.querySelector(Pc(e)))&&!a._p&&(i.instance=a,i.state.loading=5),qr.has(e)||(n={rel:"preload",as:"style",href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},qr.set(e,n),a||v_(o,e,n,i.state))),t&&r===null)throw Error(B(528,""));return i}if(t&&r!==null)throw Error(B(529,""));return null;case"script":return t=n.async,n=n.src,typeof n=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=us(n),n=jl(o).hoistableScripts,r=n.get(t),r||(r={type:"script",instance:null,count:0,state:null},n.set(t,r)),r):{type:"void",instance:null,count:0,state:null};default:throw Error(B(444,e))}}function ns(e){return'href="'+Hr(e)+'"'}function Pc(e){return'link[rel="stylesheet"]['+e+"]"}function iw(e){return Ut({},e,{"data-precedence":e.precedence,precedence:null})}function v_(e,t,n,r){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?r.loading=1:(t=e.createElement("link"),r.preload=t,t.addEventListener("load",function(){return r.loading|=1}),t.addEventListener("error",function(){return r.loading|=2}),Vn(t,"link",n),_n(t),e.head.appendChild(t))}function us(e){return'[src="'+Hr(e)+'"]'}function jc(e){return"script[async]"+e}function xx(e,t,n){if(t.count++,t.instance===null)switch(t.type){case"style":var r=e.querySelector('style[data-href~="'+Hr(n.href)+'"]');if(r)return t.instance=r,_n(r),r;var o=Ut({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return r=(e.ownerDocument||e).createElement("style"),_n(r),Vn(r,"style",o),dd(r,n.precedence,e),t.instance=r;case"stylesheet":o=ns(n.href);var a=e.querySelector(Pc(o));if(a)return t.state.loading|=4,t.instance=a,_n(a),a;r=iw(n),(o=qr.get(o))&&Eh(r,o),a=(e.ownerDocument||e).createElement("link"),_n(a);var i=a;return i._p=new Promise(function(l,s){i.onload=l,i.onerror=s}),Vn(a,"link",r),t.state.loading|=4,dd(a,n.precedence,e),t.instance=a;case"script":return a=us(n.src),(o=e.querySelector(jc(a)))?(t.instance=o,_n(o),o):(r=n,(o=qr.get(a))&&(r=Ut({},n),Th(r,o)),e=e.ownerDocument||e,o=e.createElement("script"),_n(o),Vn(o,"link",r),e.head.appendChild(o),t.instance=o);case"void":return null;default:throw Error(B(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(r=t.instance,t.state.loading|=4,dd(r,n.precedence,e));return t.instance}function dd(e,t,n){for(var r=n.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),o=r.length?r[r.length-1]:null,a=o,i=0;i<r.length;i++){var l=r[i];if(l.dataset.precedence===t)a=l;else if(a!==o)break}a?a.parentNode.insertBefore(e,a.nextSibling):(t=n.nodeType===9?n.head:n,t.insertBefore(e,t.firstChild))}function Eh(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.title==null&&(e.title=t.title)}function Th(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.integrity==null&&(e.integrity=t.integrity)}var fd=null;function Sx(e,t,n){if(fd===null){var r=new Map,o=fd=new Map;o.set(n,r)}else o=fd,r=o.get(n),r||(r=new Map,o.set(n,r));if(r.has(e))return r;for(r.set(e,null),n=n.getElementsByTagName(e),o=0;o<n.length;o++){var a=n[o];if(!(a[Lc]||a[Un]||e==="link"&&a.getAttribute("rel")==="stylesheet")&&a.namespaceURI!=="http://www.w3.org/2000/svg"){var i=a.getAttribute(t)||"";i=e+i;var l=r.get(i);l?l.push(a):r.set(i,[a])}}return r}function wx(e,t,n){e=e.ownerDocument||e,e.head.insertBefore(n,t==="title"?e.querySelector("head > title"):null)}function b_(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;return t.rel==="stylesheet"?(e=t.disabled,typeof t.precedence=="string"&&e==null):!0;case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function lw(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function x_(e,t,n,r){if(n.type==="stylesheet"&&(typeof r.media!="string"||matchMedia(r.media).matches!==!1)&&(n.state.loading&4)===0){if(n.instance===null){var o=ns(r.href),a=t.querySelector(Pc(o));if(a){t=a._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=jd.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=a,_n(a);return}a=t.ownerDocument||t,r=iw(r),(o=qr.get(o))&&Eh(r,o),a=a.createElement("link"),_n(a);var i=a;i._p=new Promise(function(l,s){i.onload=l,i.onerror=s}),Vn(a,"link",r),n.instance=a}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&(n.state.loading&3)===0&&(e.count++,n=jd.bind(e),t.addEventListener("load",n),t.addEventListener("error",n))}}var jp=0;function S_(e,t){return e.stylesheets&&e.count===0&&md(e,e.stylesheets),0<e.count||0<e.imgCount?function(n){var r=setTimeout(function(){if(e.stylesheets&&md(e,e.stylesheets),e.unsuspend){var a=e.unsuspend;e.unsuspend=null,a()}},6e4+t);0<e.imgBytes&&jp===0&&(jp=62500*t_());var o=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&md(e,e.stylesheets),e.unsuspend)){var a=e.unsuspend;e.unsuspend=null,a()}},(e.imgBytes>jp?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(o)}}:null}function jd(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)md(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Vd=null;function md(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Vd=new Map,t.forEach(w_,e),Vd=null,jd.call(e))}function w_(e,t){if(!(t.state.loading&4)){var n=Vd.get(e);if(n)var r=n.get(null);else{n=new Map,Vd.set(e,n);for(var o=e.querySelectorAll("link[data-precedence],style[data-precedence]"),a=0;a<o.length;a++){var i=o[a];(i.nodeName==="LINK"||i.getAttribute("media")!=="not all")&&(n.set(i.dataset.precedence,i),r=i)}r&&n.set(null,r)}o=t.instance,i=o.getAttribute("data-precedence"),a=n.get(i)||r,a===r&&n.set(null,o),n.set(i,o),this.count++,r=jd.bind(this),o.addEventListener("load",r),o.addEventListener("error",r),a?a.parentNode.insertBefore(o,a.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(o,e.firstChild)),t.state.loading|=4}}var Ec={$$typeof:na,Provider:null,Consumer:null,_currentValue:ki,_currentValue2:ki,_threadCount:0};function A_(e,t,n,r,o,a,i,l,s){this.tag=1,this.containerInfo=e,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=fp(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=fp(0),this.hiddenUpdates=fp(null),this.identifierPrefix=r,this.onUncaughtError=o,this.onCaughtError=a,this.onRecoverableError=i,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=s,this.incompleteTransitions=new Map}function sw(e,t,n,r,o,a,i,l,s,c,d,u){return e=new A_(e,t,n,i,s,c,d,u,l),t=1,a===!0&&(t|=24),a=wr(3,null,null,t),e.current=a,a.stateNode=e,t=Jg(),t.refCount++,e.pooledCache=t,t.refCount++,a.memoizedState={element:r,isDehydrated:n,cache:t},nh(a),e}function cw(e){return e?(e=zl,e):zl}function uw(e,t,n,r,o,a){o=cw(o),r.context===null?r.context=o:r.pendingContext=o,r=Ka(t),r.payload={element:n},a=a===void 0?null:a,a!==null&&(r.callback=a),n=$a(e,r,t),n!==null&&(ar(n,e,t),ic(n,e,t))}function Ax(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function Nh(e,t){Ax(e,t),(e=e.alternate)&&Ax(e,t)}function dw(e){if(e.tag===13||e.tag===31){var t=$i(e,67108864);t!==null&&ar(t,e,67108864),Nh(e,67108864)}}function Cx(e){if(e.tag===13||e.tag===31){var t=Tr();t=Pg(t);var n=$i(e,t);n!==null&&ar(n,e,t),Nh(e,t)}}var Hd=!0;function C_(e,t,n,r){var o=De.T;De.T=null;var a=gt.p;try{gt.p=2,Mh(e,t,n,r)}finally{gt.p=a,De.T=o}}function R_(e,t,n,r){var o=De.T;De.T=null;var a=gt.p;try{gt.p=8,Mh(e,t,n,r)}finally{gt.p=a,De.T=o}}function Mh(e,t,n,r){if(Hd){var o=Dg(r);if(o===null)Up(e,t,r,Fd,n),Rx(e,r);else if(T_(o,e,t,n,r))r.stopPropagation();else if(Rx(e,r),t&4&&-1<E_.indexOf(e)){for(;o!==null;){var a=as(o);if(a!==null)switch(a.tag){case 3:if(a=a.stateNode,a.current.memoizedState.isDehydrated){var i=Mi(a.pendingLanes);if(i!==0){var l=a;for(l.pendingLanes|=2,l.entangledLanes|=2;i;){var s=1<<31-Er(i);l.entanglements[1]|=s,i&=~s}Mo(a),(pt&6)===0&&(kd=Cr()+500,Uc(0,!1))}}break;case 31:case 13:l=$i(a,2),l!==null&&ar(l,a,2),nf(),Nh(a,2)}if(a=Dg(r),a===null&&Up(e,t,r,Fd,n),a===o)break;o=a}o!==null&&r.stopPropagation()}else Up(e,t,r,null,n)}}function Dg(e){return e=Fg(e),Oh(e)}var Fd=null;function Oh(e){if(Fd=null,e=Ol(e),e!==null){var t=Mc(e);if(t===null)e=null;else{var n=t.tag;if(n===13){if(e=_x(t),e!==null)return e;e=null}else if(n===31){if(e=kx(t),e!==null)return e;e=null}else if(n===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return Fd=e,null}function fw(e){switch(e){case"beforetoggle":case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"toggle":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 2;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(mM()){case zx:return 2;case Bx:return 8;case vd:case pM:return 32;case Ux:return 268435456;default:return 32}default:return 32}}var Ig=!1,Wa=null,Ya=null,Qa=null,Tc=new Map,Nc=new Map,za=[],E_="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split(" ");function Rx(e,t){switch(e){case"focusin":case"focusout":Wa=null;break;case"dragenter":case"dragleave":Ya=null;break;case"mouseover":case"mouseout":Qa=null;break;case"pointerover":case"pointerout":Tc.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Nc.delete(t.pointerId)}}function Ys(e,t,n,r,o,a){return e===null||e.nativeEvent!==a?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:a,targetContainers:[o]},t!==null&&(t=as(t),t!==null&&dw(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,o!==null&&t.indexOf(o)===-1&&t.push(o),e)}function T_(e,t,n,r,o){switch(t){case"focusin":return Wa=Ys(Wa,e,t,n,r,o),!0;case"dragenter":return Ya=Ys(Ya,e,t,n,r,o),!0;case"mouseover":return Qa=Ys(Qa,e,t,n,r,o),!0;case"pointerover":var a=o.pointerId;return Tc.set(a,Ys(Tc.get(a)||null,e,t,n,r,o)),!0;case"gotpointercapture":return a=o.pointerId,Nc.set(a,Ys(Nc.get(a)||null,e,t,n,r,o)),!0}return!1}function mw(e){var t=Ol(e.target);if(t!==null){var n=Mc(t);if(n!==null){if(t=n.tag,t===13){if(t=_x(n),t!==null){e.blockedOn=t,sb(e.priority,function(){Cx(n)});return}}else if(t===31){if(t=kx(n),t!==null){e.blockedOn=t,sb(e.priority,function(){Cx(n)});return}}else if(t===3&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function pd(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=Dg(e.nativeEvent);if(n===null){n=e.nativeEvent;var r=new n.constructor(n.type,n);Jp=r,n.target.dispatchEvent(r),Jp=null}else return t=as(n),t!==null&&dw(t),e.blockedOn=n,!1;t.shift()}return!0}function Ex(e,t,n){pd(e)&&n.delete(t)}function N_(){Ig=!1,Wa!==null&&pd(Wa)&&(Wa=null),Ya!==null&&pd(Ya)&&(Ya=null),Qa!==null&&pd(Qa)&&(Qa=null),Tc.forEach(Ex),Nc.forEach(Ex)}function Zu(e,t){e.blockedOn===t&&(e.blockedOn=null,Ig||(Ig=!0,En.unstable_scheduleCallback(En.unstable_NormalPriority,N_)))}var Ju=null;function Tx(e){Ju!==e&&(Ju=e,En.unstable_scheduleCallback(En.unstable_NormalPriority,function(){Ju===e&&(Ju=null);for(var t=0;t<e.length;t+=3){var n=e[t],r=e[t+1],o=e[t+2];if(typeof r!="function"){if(Oh(r||n)===null)continue;break}var a=as(n);a!==null&&(e.splice(t,3),t-=3,gg(a,{pending:!0,data:o,method:n.method,action:r},r,o))}}))}function rs(e){function t(s){return Zu(s,e)}Wa!==null&&Zu(Wa,e),Ya!==null&&Zu(Ya,e),Qa!==null&&Zu(Qa,e),Tc.forEach(t),Nc.forEach(t);for(var n=0;n<za.length;n++){var r=za[n];r.blockedOn===e&&(r.blockedOn=null)}for(;0<za.length&&(n=za[0],n.blockedOn===null);)mw(n),n.blockedOn===null&&za.shift();if(n=(e.ownerDocument||e).$$reactFormReplay,n!=null)for(r=0;r<n.length;r+=3){var o=n[r],a=n[r+1],i=o[ir]||null;if(typeof a=="function")i||Tx(n);else if(i){var l=null;if(a&&a.hasAttribute("formAction")){if(o=a,i=a[ir]||null)l=i.formAction;else if(Oh(o)!==null)continue}else l=i.action;typeof l=="function"?n[r+1]=l:(n.splice(r,3),r-=3),Tx(n)}}}function pw(){function e(a){a.canIntercept&&a.info==="react-transition"&&a.intercept({handler:function(){return new Promise(function(i){return o=i})},focusReset:"manual",scroll:"manual"})}function t(){o!==null&&(o(),o=null),r||setTimeout(n,20)}function n(){if(!r&&!navigation.transition){var a=navigation.currentEntry;a&&a.url!=null&&navigation.navigate(a.url,{state:a.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var r=!1,o=null;return navigation.addEventListener("navigate",e),navigation.addEventListener("navigatesuccess",t),navigation.addEventListener("navigateerror",t),setTimeout(n,100),function(){r=!0,navigation.removeEventListener("navigate",e),navigation.removeEventListener("navigatesuccess",t),navigation.removeEventListener("navigateerror",t),o!==null&&(o(),o=null)}}}function _h(e){this._internalRoot=e}af.prototype.render=_h.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(B(409));var n=t.current,r=Tr();uw(n,r,e,t,null,null)};af.prototype.unmount=_h.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;uw(e.current,2,null,e,null,null),nf(),t[os]=null}};function af(e){this._internalRoot=e}af.prototype.unstable_scheduleHydration=function(e){if(e){var t=Fx();e={blockedOn:null,target:e,priority:t};for(var n=0;n<za.length&&t!==0&&t<za[n].priority;n++);za.splice(n,0,e),n===0&&mw(e)}};var Nx=Mx.version;if(Nx!=="19.2.4")throw Error(B(527,Nx,"19.2.4"));gt.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(B(188)):(e=Object.keys(e).join(","),Error(B(268,e)));return e=iM(t),e=e!==null?Lx(e):null,e=e===null?null:e.stateNode,e};var M_={bundleType:0,version:"19.2.4",rendererPackageName:"react-dom",currentDispatcherRef:De,reconcilerVersion:"19.2.4"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&(Qs=__REACT_DEVTOOLS_GLOBAL_HOOK__,!Qs.isDisabled&&Qs.supportsFiber))try{Oc=Qs.inject(M_),Rr=Qs}catch{}var Qs;lf.createRoot=function(e,t){if(!Ox(e))throw Error(B(299));var n=!1,r="",o=aS,a=iS,i=lS;return t!=null&&(t.unstable_strictMode===!0&&(n=!0),t.identifierPrefix!==void 0&&(r=t.identifierPrefix),t.onUncaughtError!==void 0&&(o=t.onUncaughtError),t.onCaughtError!==void 0&&(a=t.onCaughtError),t.onRecoverableError!==void 0&&(i=t.onRecoverableError)),t=sw(e,1,!1,null,null,n,r,null,o,a,i,pw),e[os]=t.current,Rh(e),new _h(t)};lf.hydrateRoot=function(e,t,n){if(!Ox(e))throw Error(B(299));var r=!1,o="",a=aS,i=iS,l=lS,s=null;return n!=null&&(n.unstable_strictMode===!0&&(r=!0),n.identifierPrefix!==void 0&&(o=n.identifierPrefix),n.onUncaughtError!==void 0&&(a=n.onUncaughtError),n.onCaughtError!==void 0&&(i=n.onCaughtError),n.onRecoverableError!==void 0&&(l=n.onRecoverableError),n.formState!==void 0&&(s=n.formState)),t=sw(e,1,!0,t,n??null,r,o,s,a,i,l,pw),t.context=cw(null),n=t.current,r=Tr(),r=Pg(r),o=Ka(r),o.callback=null,$a(n,o,r),n=r,t.current.lanes=n,kc(t,n),Mo(t),e[os]=t.current,Rh(e),new af(t)};lf.version="19.2.4"});var vw=wo((W5,yw)=>{"use strict";function hw(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(hw)}catch(e){console.error(e)}}hw(),yw.exports=gw()});var Fw=wo(ff=>{"use strict";var vk=Symbol.for("react.transitional.element"),bk=Symbol.for("react.fragment");function Hw(e,t,n){var r=null;if(n!==void 0&&(r=""+n),t.key!==void 0&&(r=""+t.key),"key"in t){n={};for(var o in t)o!=="key"&&(n[o]=t[o])}else n=t;return t=n.ref,{$$typeof:vk,type:e,key:r,ref:t!==void 0?t:null,props:n}}ff.Fragment=bk;ff.jsx=Hw;ff.jsxs=Hw});var J=wo((rI,Kw)=>{"use strict";Kw.exports=Fw()});var NT=_(vw(),1);var me=_(pe(),1);function bw(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(n=bw(e[t]))&&(r&&(r+=" "),r+=n)}else for(n in e)e[n]&&(r&&(r+=" "),r+=n);return r}function sf(){for(var e,t,n=0,r="",o=arguments.length;n<o;n++)(e=arguments[n])&&(t=bw(e))&&(r&&(r+=" "),r+=t);return r}var xw=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,Sw=sf,cf=(e,t)=>n=>{var r;if(t?.variants==null)return Sw(e,n?.class,n?.className);let{variants:o,defaultVariants:a}=t,i=Object.keys(o).map(c=>{let d=n?.[c],u=a?.[c];if(d===null)return null;let f=xw(d)||xw(u);return o[c][f]}),l=n&&Object.entries(n).reduce((c,d)=>{let[u,f]=d;return f===void 0||(c[u]=f),c},{}),s=t==null||(r=t.compoundVariants)===null||r===void 0?void 0:r.reduce((c,d)=>{let{class:u,className:f,...p}=d;return Object.entries(p).every(v=>{let[m,b]=v;return Array.isArray(b)?b.includes({...a,...l}[m]):{...a,...l}[m]===b})?[...c,u,f]:c},[]);return Sw(e,i,s,n?.class,n?.className)};var O_=(e,t)=>{let n=new Array(e.length+t.length);for(let r=0;r<e.length;r++)n[r]=e[r];for(let r=0;r<t.length;r++)n[e.length+r]=t[r];return n},__=(e,t)=>({classGroupId:e,validator:t}),Tw=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n});var ww=[],k_="arbitrary..",L_=e=>{let t=I_(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:i=>{if(i.startsWith("[")&&i.endsWith("]"))return D_(i);let l=i.split("-"),s=l[0]===""&&l.length>1?1:0;return Nw(l,s,t)},getConflictingClassGroupIds:(i,l)=>{if(l){let s=r[i],c=n[i];return s?c?O_(c,s):s:c||ww}return n[i]||ww}}},Nw=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;let o=e[t],a=n.nextPart.get(o);if(a){let c=Nw(e,t+1,a);if(c)return c}let i=n.validators;if(i===null)return;let l=t===0?e.join("-"):e.slice(t).join("-"),s=i.length;for(let c=0;c<s;c++){let d=i[c];if(d.validator(l))return d.classGroupId}},D_=e=>e.slice(1,-1).indexOf(":")===-1?void 0:(()=>{let t=e.slice(1,-1),n=t.indexOf(":"),r=t.slice(0,n);return r?k_+r:void 0})(),I_=e=>{let{theme:t,classGroups:n}=e;return z_(n,t)},z_=(e,t)=>{let n=Tw();for(let r in e){let o=e[r];Lh(o,n,r,t)}return n},Lh=(e,t,n,r)=>{let o=e.length;for(let a=0;a<o;a++){let i=e[a];B_(i,t,n,r)}},B_=(e,t,n,r)=>{if(typeof e=="string"){U_(e,t,n);return}if(typeof e=="function"){P_(e,t,n,r);return}j_(e,t,n,r)},U_=(e,t,n)=>{let r=e===""?t:Mw(t,e);r.classGroupId=n},P_=(e,t,n,r)=>{if(V_(e)){Lh(e(r),t,n,r);return}t.validators===null&&(t.validators=[]),t.validators.push(__(n,e))},j_=(e,t,n,r)=>{let o=Object.entries(e),a=o.length;for(let i=0;i<a;i++){let[l,s]=o[i];Lh(s,Mw(t,l),n,r)}},Mw=(e,t)=>{let n=e,r=t.split("-"),o=r.length;for(let a=0;a<o;a++){let i=r[a],l=n.nextPart.get(i);l||(l=Tw(),n.nextPart.set(i,l)),n=l}return n},V_=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,H_=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,n=Object.create(null),r=Object.create(null),o=(a,i)=>{n[a]=i,t++,t>e&&(t=0,r=n,n=Object.create(null))};return{get(a){let i=n[a];if(i!==void 0)return i;if((i=r[a])!==void 0)return o(a,i),i},set(a,i){a in n?n[a]=i:o(a,i)}}};var F_=[],Aw=(e,t,n,r,o)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:o}),K_=e=>{let{prefix:t,experimentalParseClassName:n}=e,r=o=>{let a=[],i=0,l=0,s=0,c,d=o.length;for(let m=0;m<d;m++){let b=o[m];if(i===0&&l===0){if(b===":"){a.push(o.slice(s,m)),s=m+1;continue}if(b==="/"){c=m;continue}}b==="["?i++:b==="]"?i--:b==="("?l++:b===")"&&l--}let u=a.length===0?o:o.slice(s),f=u,p=!1;u.endsWith("!")?(f=u.slice(0,-1),p=!0):u.startsWith("!")&&(f=u.slice(1),p=!0);let v=c&&c>s?c-s:void 0;return Aw(a,p,f,v)};if(t){let o=t+":",a=r;r=i=>i.startsWith(o)?a(i.slice(o.length)):Aw(F_,!1,i,void 0,!0)}if(n){let o=r;r=a=>n({className:a,parseClassName:o})}return r},$_=e=>{let t=new Map;return e.orderSensitiveModifiers.forEach((n,r)=>{t.set(n,1e6+r)}),n=>{let r=[],o=[];for(let a=0;a<n.length;a++){let i=n[a],l=i[0]==="[",s=t.has(i);l||s?(o.length>0&&(o.sort(),r.push(...o),o=[]),r.push(i)):o.push(i)}return o.length>0&&(o.sort(),r.push(...o)),r}},G_=e=>({cache:H_(e.cacheSize),parseClassName:K_(e),sortModifiers:$_(e),...L_(e)}),q_=/\s+/,W_=(e,t)=>{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:o,sortModifiers:a}=t,i=[],l=e.trim().split(q_),s="";for(let c=l.length-1;c>=0;c-=1){let d=l[c],{isExternal:u,modifiers:f,hasImportantModifier:p,baseClassName:v,maybePostfixModifierPosition:m}=n(d);if(u){s=d+(s.length>0?" "+s:s);continue}let b=!!m,h=r(b?v.substring(0,m):v);if(!h){if(!b){s=d+(s.length>0?" "+s:s);continue}if(h=r(v),!h){s=d+(s.length>0?" "+s:s);continue}b=!1}let g=f.length===0?"":f.length===1?f[0]:a(f).join(":"),y=p?g+"!":g,x=y+h;if(i.indexOf(x)>-1)continue;i.push(x);let w=o(h,b);for(let R=0;R<w.length;++R){let E=w[R];i.push(y+E)}s=d+(s.length>0?" "+s:s)}return s},Y_=(...e)=>{let t=0,n,r,o="";for(;t<e.length;)(n=e[t++])&&(r=Ow(n))&&(o&&(o+=" "),o+=r);return o},Ow=e=>{if(typeof e=="string")return e;let t,n="";for(let r=0;r<e.length;r++)e[r]&&(t=Ow(e[r]))&&(n&&(n+=" "),n+=t);return n},Q_=(e,...t)=>{let n,r,o,a,i=s=>{let c=t.reduce((d,u)=>u(d),e());return n=G_(c),r=n.cache.get,o=n.cache.set,a=l,l(s)},l=s=>{let c=r(s);if(c)return c;let d=W_(s,n);return o(s,d),d};return a=i,(...s)=>a(Y_(...s))},X_=[],Tn=e=>{let t=n=>n[e]||X_;return t.isThemeGetter=!0,t},_w=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,kw=/^\((?:(\w[\w-]*):)?(.+)\)$/i,Z_=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,J_=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,ek=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,tk=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,nk=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,rk=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,ri=e=>Z_.test(e),Qe=e=>!!e&&!Number.isNaN(Number(e)),oi=e=>!!e&&Number.isInteger(Number(e)),kh=e=>e.endsWith("%")&&Qe(e.slice(0,-1)),pa=e=>J_.test(e),Lw=()=>!0,ok=e=>ek.test(e)&&!tk.test(e),Dh=()=>!1,ak=e=>nk.test(e),ik=e=>rk.test(e),lk=e=>!ge(e)&&!he(e),sk=e=>ai(e,zw,Dh),ge=e=>_w.test(e),qi=e=>ai(e,Bw,ok),Cw=e=>ai(e,hk,Qe),ck=e=>ai(e,Pw,Lw),uk=e=>ai(e,Uw,Dh),Rw=e=>ai(e,Dw,Dh),dk=e=>ai(e,Iw,ik),uf=e=>ai(e,jw,ak),he=e=>kw.test(e),Vc=e=>Wi(e,Bw),fk=e=>Wi(e,Uw),Ew=e=>Wi(e,Dw),mk=e=>Wi(e,zw),pk=e=>Wi(e,Iw),df=e=>Wi(e,jw,!0),gk=e=>Wi(e,Pw,!0),ai=(e,t,n)=>{let r=_w.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},Wi=(e,t,n=!1)=>{let r=kw.exec(e);return r?r[1]?t(r[1]):n:!1},Dw=e=>e==="position"||e==="percentage",Iw=e=>e==="image"||e==="url",zw=e=>e==="length"||e==="size"||e==="bg-size",Bw=e=>e==="length",hk=e=>e==="number",Uw=e=>e==="family-name",Pw=e=>e==="number"||e==="weight",jw=e=>e==="shadow";var yk=()=>{let e=Tn("color"),t=Tn("font"),n=Tn("text"),r=Tn("font-weight"),o=Tn("tracking"),a=Tn("leading"),i=Tn("breakpoint"),l=Tn("container"),s=Tn("spacing"),c=Tn("radius"),d=Tn("shadow"),u=Tn("inset-shadow"),f=Tn("text-shadow"),p=Tn("drop-shadow"),v=Tn("blur"),m=Tn("perspective"),b=Tn("aspect"),h=Tn("ease"),g=Tn("animate"),y=()=>["auto","avoid","all","avoid-page","page","left","right","column"],x=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],w=()=>[...x(),he,ge],R=()=>["auto","hidden","clip","visible","scroll"],E=()=>["auto","contain","none"],A=()=>[he,ge,s],N=()=>[ri,"full","auto",...A()],L=()=>[oi,"none","subgrid",he,ge],j=()=>["auto",{span:["full",oi,he,ge]},oi,he,ge],D=()=>[oi,"auto",he,ge],W=()=>["auto","min","max","fr",he,ge],ie=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],ye=()=>["start","end","center","stretch","center-safe","end-safe"],V=()=>["auto",...A()],ee=()=>[ri,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...A()],Q=()=>[ri,"screen","full","dvw","lvw","svw","min","max","fit",...A()],F=()=>[ri,"screen","full","lh","dvh","lvh","svh","min","max","fit",...A()],P=()=>[e,he,ge],ct=()=>[...x(),Ew,Rw,{position:[he,ge]}],X=()=>["no-repeat",{repeat:["","x","y","space","round"]}],je=()=>["auto","cover","contain",mk,sk,{size:[he,ge]}],le=()=>[kh,Vc,qi],xe=()=>["","none","full",c,he,ge],Ie=()=>["",Qe,Vc,qi],I=()=>["solid","dashed","dotted","double"],ue=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],ve=()=>[Qe,kh,Ew,Rw],ke=()=>["","none",v,he,ge],Se=()=>["none",Qe,he,ge],Ce=()=>["none",Qe,he,ge],He=()=>[Qe,he,ge],Ke=()=>[ri,"full",...A()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[pa],breakpoint:[pa],color:[Lw],container:[pa],"drop-shadow":[pa],ease:["in","out","in-out"],font:[lk],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[pa],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[pa],shadow:[pa],spacing:["px",Qe],text:[pa],"text-shadow":[pa],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",ri,ge,he,b]}],container:["container"],columns:[{columns:[Qe,ge,he,l]}],"break-after":[{"break-after":y()}],"break-before":[{"break-before":y()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:w()}],overflow:[{overflow:R()}],"overflow-x":[{"overflow-x":R()}],"overflow-y":[{"overflow-y":R()}],overscroll:[{overscroll:E()}],"overscroll-x":[{"overscroll-x":E()}],"overscroll-y":[{"overscroll-y":E()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:N()}],"inset-x":[{"inset-x":N()}],"inset-y":[{"inset-y":N()}],start:[{"inset-s":N(),start:N()}],end:[{"inset-e":N(),end:N()}],"inset-bs":[{"inset-bs":N()}],"inset-be":[{"inset-be":N()}],top:[{top:N()}],right:[{right:N()}],bottom:[{bottom:N()}],left:[{left:N()}],visibility:["visible","invisible","collapse"],z:[{z:[oi,"auto",he,ge]}],basis:[{basis:[ri,"full","auto",l,...A()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[Qe,ri,"auto","initial","none",ge]}],grow:[{grow:["",Qe,he,ge]}],shrink:[{shrink:["",Qe,he,ge]}],order:[{order:[oi,"first","last","none",he,ge]}],"grid-cols":[{"grid-cols":L()}],"col-start-end":[{col:j()}],"col-start":[{"col-start":D()}],"col-end":[{"col-end":D()}],"grid-rows":[{"grid-rows":L()}],"row-start-end":[{row:j()}],"row-start":[{"row-start":D()}],"row-end":[{"row-end":D()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":W()}],"auto-rows":[{"auto-rows":W()}],gap:[{gap:A()}],"gap-x":[{"gap-x":A()}],"gap-y":[{"gap-y":A()}],"justify-content":[{justify:[...ie(),"normal"]}],"justify-items":[{"justify-items":[...ye(),"normal"]}],"justify-self":[{"justify-self":["auto",...ye()]}],"align-content":[{content:["normal",...ie()]}],"align-items":[{items:[...ye(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...ye(),{baseline:["","last"]}]}],"place-content":[{"place-content":ie()}],"place-items":[{"place-items":[...ye(),"baseline"]}],"place-self":[{"place-self":["auto",...ye()]}],p:[{p:A()}],px:[{px:A()}],py:[{py:A()}],ps:[{ps:A()}],pe:[{pe:A()}],pbs:[{pbs:A()}],pbe:[{pbe:A()}],pt:[{pt:A()}],pr:[{pr:A()}],pb:[{pb:A()}],pl:[{pl:A()}],m:[{m:V()}],mx:[{mx:V()}],my:[{my:V()}],ms:[{ms:V()}],me:[{me:V()}],mbs:[{mbs:V()}],mbe:[{mbe:V()}],mt:[{mt:V()}],mr:[{mr:V()}],mb:[{mb:V()}],ml:[{ml:V()}],"space-x":[{"space-x":A()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":A()}],"space-y-reverse":["space-y-reverse"],size:[{size:ee()}],"inline-size":[{inline:["auto",...Q()]}],"min-inline-size":[{"min-inline":["auto",...Q()]}],"max-inline-size":[{"max-inline":["none",...Q()]}],"block-size":[{block:["auto",...F()]}],"min-block-size":[{"min-block":["auto",...F()]}],"max-block-size":[{"max-block":["none",...F()]}],w:[{w:[l,"screen",...ee()]}],"min-w":[{"min-w":[l,"screen","none",...ee()]}],"max-w":[{"max-w":[l,"screen","none","prose",{screen:[i]},...ee()]}],h:[{h:["screen","lh",...ee()]}],"min-h":[{"min-h":["screen","lh","none",...ee()]}],"max-h":[{"max-h":["screen","lh",...ee()]}],"font-size":[{text:["base",n,Vc,qi]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[r,gk,ck]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",kh,ge]}],"font-family":[{font:[fk,uk,t]}],"font-features":[{"font-features":[ge]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[o,he,ge]}],"line-clamp":[{"line-clamp":[Qe,"none",he,Cw]}],leading:[{leading:[a,...A()]}],"list-image":[{"list-image":["none",he,ge]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",he,ge]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:P()}],"text-color":[{text:P()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...I(),"wavy"]}],"text-decoration-thickness":[{decoration:[Qe,"from-font","auto",he,qi]}],"text-decoration-color":[{decoration:P()}],"underline-offset":[{"underline-offset":[Qe,"auto",he,ge]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:A()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",he,ge]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",he,ge]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:ct()}],"bg-repeat":[{bg:X()}],"bg-size":[{bg:je()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},oi,he,ge],radial:["",he,ge],conic:[oi,he,ge]},pk,dk]}],"bg-color":[{bg:P()}],"gradient-from-pos":[{from:le()}],"gradient-via-pos":[{via:le()}],"gradient-to-pos":[{to:le()}],"gradient-from":[{from:P()}],"gradient-via":[{via:P()}],"gradient-to":[{to:P()}],rounded:[{rounded:xe()}],"rounded-s":[{"rounded-s":xe()}],"rounded-e":[{"rounded-e":xe()}],"rounded-t":[{"rounded-t":xe()}],"rounded-r":[{"rounded-r":xe()}],"rounded-b":[{"rounded-b":xe()}],"rounded-l":[{"rounded-l":xe()}],"rounded-ss":[{"rounded-ss":xe()}],"rounded-se":[{"rounded-se":xe()}],"rounded-ee":[{"rounded-ee":xe()}],"rounded-es":[{"rounded-es":xe()}],"rounded-tl":[{"rounded-tl":xe()}],"rounded-tr":[{"rounded-tr":xe()}],"rounded-br":[{"rounded-br":xe()}],"rounded-bl":[{"rounded-bl":xe()}],"border-w":[{border:Ie()}],"border-w-x":[{"border-x":Ie()}],"border-w-y":[{"border-y":Ie()}],"border-w-s":[{"border-s":Ie()}],"border-w-e":[{"border-e":Ie()}],"border-w-bs":[{"border-bs":Ie()}],"border-w-be":[{"border-be":Ie()}],"border-w-t":[{"border-t":Ie()}],"border-w-r":[{"border-r":Ie()}],"border-w-b":[{"border-b":Ie()}],"border-w-l":[{"border-l":Ie()}],"divide-x":[{"divide-x":Ie()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":Ie()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...I(),"hidden","none"]}],"divide-style":[{divide:[...I(),"hidden","none"]}],"border-color":[{border:P()}],"border-color-x":[{"border-x":P()}],"border-color-y":[{"border-y":P()}],"border-color-s":[{"border-s":P()}],"border-color-e":[{"border-e":P()}],"border-color-bs":[{"border-bs":P()}],"border-color-be":[{"border-be":P()}],"border-color-t":[{"border-t":P()}],"border-color-r":[{"border-r":P()}],"border-color-b":[{"border-b":P()}],"border-color-l":[{"border-l":P()}],"divide-color":[{divide:P()}],"outline-style":[{outline:[...I(),"none","hidden"]}],"outline-offset":[{"outline-offset":[Qe,he,ge]}],"outline-w":[{outline:["",Qe,Vc,qi]}],"outline-color":[{outline:P()}],shadow:[{shadow:["","none",d,df,uf]}],"shadow-color":[{shadow:P()}],"inset-shadow":[{"inset-shadow":["none",u,df,uf]}],"inset-shadow-color":[{"inset-shadow":P()}],"ring-w":[{ring:Ie()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:P()}],"ring-offset-w":[{"ring-offset":[Qe,qi]}],"ring-offset-color":[{"ring-offset":P()}],"inset-ring-w":[{"inset-ring":Ie()}],"inset-ring-color":[{"inset-ring":P()}],"text-shadow":[{"text-shadow":["none",f,df,uf]}],"text-shadow-color":[{"text-shadow":P()}],opacity:[{opacity:[Qe,he,ge]}],"mix-blend":[{"mix-blend":[...ue(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":ue()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[Qe]}],"mask-image-linear-from-pos":[{"mask-linear-from":ve()}],"mask-image-linear-to-pos":[{"mask-linear-to":ve()}],"mask-image-linear-from-color":[{"mask-linear-from":P()}],"mask-image-linear-to-color":[{"mask-linear-to":P()}],"mask-image-t-from-pos":[{"mask-t-from":ve()}],"mask-image-t-to-pos":[{"mask-t-to":ve()}],"mask-image-t-from-color":[{"mask-t-from":P()}],"mask-image-t-to-color":[{"mask-t-to":P()}],"mask-image-r-from-pos":[{"mask-r-from":ve()}],"mask-image-r-to-pos":[{"mask-r-to":ve()}],"mask-image-r-from-color":[{"mask-r-from":P()}],"mask-image-r-to-color":[{"mask-r-to":P()}],"mask-image-b-from-pos":[{"mask-b-from":ve()}],"mask-image-b-to-pos":[{"mask-b-to":ve()}],"mask-image-b-from-color":[{"mask-b-from":P()}],"mask-image-b-to-color":[{"mask-b-to":P()}],"mask-image-l-from-pos":[{"mask-l-from":ve()}],"mask-image-l-to-pos":[{"mask-l-to":ve()}],"mask-image-l-from-color":[{"mask-l-from":P()}],"mask-image-l-to-color":[{"mask-l-to":P()}],"mask-image-x-from-pos":[{"mask-x-from":ve()}],"mask-image-x-to-pos":[{"mask-x-to":ve()}],"mask-image-x-from-color":[{"mask-x-from":P()}],"mask-image-x-to-color":[{"mask-x-to":P()}],"mask-image-y-from-pos":[{"mask-y-from":ve()}],"mask-image-y-to-pos":[{"mask-y-to":ve()}],"mask-image-y-from-color":[{"mask-y-from":P()}],"mask-image-y-to-color":[{"mask-y-to":P()}],"mask-image-radial":[{"mask-radial":[he,ge]}],"mask-image-radial-from-pos":[{"mask-radial-from":ve()}],"mask-image-radial-to-pos":[{"mask-radial-to":ve()}],"mask-image-radial-from-color":[{"mask-radial-from":P()}],"mask-image-radial-to-color":[{"mask-radial-to":P()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":x()}],"mask-image-conic-pos":[{"mask-conic":[Qe]}],"mask-image-conic-from-pos":[{"mask-conic-from":ve()}],"mask-image-conic-to-pos":[{"mask-conic-to":ve()}],"mask-image-conic-from-color":[{"mask-conic-from":P()}],"mask-image-conic-to-color":[{"mask-conic-to":P()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:ct()}],"mask-repeat":[{mask:X()}],"mask-size":[{mask:je()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",he,ge]}],filter:[{filter:["","none",he,ge]}],blur:[{blur:ke()}],brightness:[{brightness:[Qe,he,ge]}],contrast:[{contrast:[Qe,he,ge]}],"drop-shadow":[{"drop-shadow":["","none",p,df,uf]}],"drop-shadow-color":[{"drop-shadow":P()}],grayscale:[{grayscale:["",Qe,he,ge]}],"hue-rotate":[{"hue-rotate":[Qe,he,ge]}],invert:[{invert:["",Qe,he,ge]}],saturate:[{saturate:[Qe,he,ge]}],sepia:[{sepia:["",Qe,he,ge]}],"backdrop-filter":[{"backdrop-filter":["","none",he,ge]}],"backdrop-blur":[{"backdrop-blur":ke()}],"backdrop-brightness":[{"backdrop-brightness":[Qe,he,ge]}],"backdrop-contrast":[{"backdrop-contrast":[Qe,he,ge]}],"backdrop-grayscale":[{"backdrop-grayscale":["",Qe,he,ge]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[Qe,he,ge]}],"backdrop-invert":[{"backdrop-invert":["",Qe,he,ge]}],"backdrop-opacity":[{"backdrop-opacity":[Qe,he,ge]}],"backdrop-saturate":[{"backdrop-saturate":[Qe,he,ge]}],"backdrop-sepia":[{"backdrop-sepia":["",Qe,he,ge]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":A()}],"border-spacing-x":[{"border-spacing-x":A()}],"border-spacing-y":[{"border-spacing-y":A()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",he,ge]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[Qe,"initial",he,ge]}],ease:[{ease:["linear","initial",h,he,ge]}],delay:[{delay:[Qe,he,ge]}],animate:[{animate:["none",g,he,ge]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[m,he,ge]}],"perspective-origin":[{"perspective-origin":w()}],rotate:[{rotate:Se()}],"rotate-x":[{"rotate-x":Se()}],"rotate-y":[{"rotate-y":Se()}],"rotate-z":[{"rotate-z":Se()}],scale:[{scale:Ce()}],"scale-x":[{"scale-x":Ce()}],"scale-y":[{"scale-y":Ce()}],"scale-z":[{"scale-z":Ce()}],"scale-3d":["scale-3d"],skew:[{skew:He()}],"skew-x":[{"skew-x":He()}],"skew-y":[{"skew-y":He()}],transform:[{transform:[he,ge,"","none","gpu","cpu"]}],"transform-origin":[{origin:w()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:Ke()}],"translate-x":[{"translate-x":Ke()}],"translate-y":[{"translate-y":Ke()}],"translate-z":[{"translate-z":Ke()}],"translate-none":["translate-none"],accent:[{accent:P()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:P()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",he,ge]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":A()}],"scroll-mx":[{"scroll-mx":A()}],"scroll-my":[{"scroll-my":A()}],"scroll-ms":[{"scroll-ms":A()}],"scroll-me":[{"scroll-me":A()}],"scroll-mbs":[{"scroll-mbs":A()}],"scroll-mbe":[{"scroll-mbe":A()}],"scroll-mt":[{"scroll-mt":A()}],"scroll-mr":[{"scroll-mr":A()}],"scroll-mb":[{"scroll-mb":A()}],"scroll-ml":[{"scroll-ml":A()}],"scroll-p":[{"scroll-p":A()}],"scroll-px":[{"scroll-px":A()}],"scroll-py":[{"scroll-py":A()}],"scroll-ps":[{"scroll-ps":A()}],"scroll-pe":[{"scroll-pe":A()}],"scroll-pbs":[{"scroll-pbs":A()}],"scroll-pbe":[{"scroll-pbe":A()}],"scroll-pt":[{"scroll-pt":A()}],"scroll-pr":[{"scroll-pr":A()}],"scroll-pb":[{"scroll-pb":A()}],"scroll-pl":[{"scroll-pl":A()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",he,ge]}],fill:[{fill:["none",...P()]}],"stroke-w":[{stroke:[Qe,Vc,qi,Cw]}],stroke:[{stroke:["none",...P()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}};var Vw=Q_(yk);function $(...e){return Vw(sf(e))}var $w=_(J(),1),xk=cf("inline-flex items-center rounded-full border px-2.5 py-1 text-[11px] font-medium tracking-wide",{variants:{variant:{default:"border-border bg-secondary text-secondary-foreground",success:"border-emerald-200 bg-emerald-50 text-emerald-700",warning:"border-amber-200 bg-amber-50 text-amber-700",danger:"border-rose-200 bg-rose-50 text-rose-700",info:"border-sky-200 bg-sky-50 text-sky-700",outline:"border-border bg-background/70 text-muted-foreground"}},defaultVariants:{variant:"default"}});function Je({className:e,variant:t,...n}){return(0,$w.jsx)("span",{className:$(xk({variant:t}),e),...n})}var Gw=_(J(),1),Sk=cf("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-lg text-sm font-medium uppercase tracking-[0.16em] transition-colors disabled:pointer-events-none disabled:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/60 focus-visible:ring-offset-2 focus-visible:ring-offset-background",{variants:{variant:{default:"bg-primary text-primary-foreground shadow-sm hover:bg-primary/92",outline:"border border-border bg-background/80 text-foreground hover:bg-accent hover:text-accent-foreground",ghost:"text-muted-foreground hover:bg-accent hover:text-accent-foreground",danger:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/92"},size:{default:"h-9 px-3.5",sm:"h-8 px-3 text-xs",lg:"h-10 px-4"}},defaultVariants:{variant:"default",size:"default"}});function q({className:e,variant:t,size:n,type:r="button",...o}){return(0,Gw.jsx)("button",{className:$(Sk({variant:t,size:n}),e),type:r,...o})}var ds=_(J(),1);function Ft({className:e,...t}){return(0,ds.jsx)("section",{className:$("rounded-2xl border border-border/70 bg-card/92 shadow-sm backdrop-blur",e),...t})}function Wr({className:e,...t}){return(0,ds.jsx)("div",{className:$("flex flex-col gap-1.5 p-5 pb-0",e),...t})}function Oo({className:e,...t}){return(0,ds.jsx)("h2",{className:$("text-sm font-semibold tracking-tight text-foreground",e),...t})}function ii({className:e,...t}){return(0,ds.jsx)("p",{className:$("text-sm text-muted-foreground",e),...t})}function Kt({className:e,...t}){return(0,ds.jsx)("div",{className:$("p-5",e),...t})}var co=_(pe(),1);var fI=!!(typeof window<"u"&&window.document&&window.document.createElement);function st(e,t,{checkForDefaultPrevented:n=!0}={}){return function(o){if(e?.(o),n===!1||!o.defaultPrevented)return t?.(o)}}var Ww=_(pe(),1);function qw(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function Ih(...e){return t=>{let n=!1,r=e.map(o=>{let a=qw(o,t);return!n&&typeof a=="function"&&(n=!0),a});if(n)return()=>{for(let o=0;o<r.length;o++){let a=r[o];typeof a=="function"?a():qw(e[o],null)}}}}function bt(...e){return Ww.useCallback(Ih(...e),e)}var ga=_(pe(),1),Yw=_(J(),1);function Yr(e,t=[]){let n=[];function r(a,i){let l=ga.createContext(i),s=n.length;n=[...n,i];let c=u=>{let{scope:f,children:p,...v}=u,m=f?.[e]?.[s]||l,b=ga.useMemo(()=>v,Object.values(v));return(0,Yw.jsx)(m.Provider,{value:b,children:p})};c.displayName=a+"Provider";function d(u,f){let p=f?.[e]?.[s]||l,v=ga.useContext(p);if(v)return v;if(i!==void 0)return i;throw new Error(`\`${u}\` must be used within \`${a}\``)}return[c,d]}let o=()=>{let a=n.map(i=>ga.createContext(i));return function(l){let s=l?.[e]||a;return ga.useMemo(()=>({[`__scope${e}`]:{...l,[e]:s}}),[l,s])}};return o.scopeName=e,[r,wk(o,...t)]}function wk(...e){let t=e[0];if(e.length===1)return t;let n=()=>{let r=e.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(a){let i=r.reduce((l,{useScope:s,scopeName:c})=>{let u=s(a)[`__scope${c}`];return{...l,...u}},{});return ga.useMemo(()=>({[`__scope${t.scopeName}`]:i}),[i])}};return n.scopeName=t.scopeName,n}var Qr=_(pe(),1);var Qw=_(pe(),1),qt=globalThis?.document?Qw.useLayoutEffect:()=>{};var mf=_(pe(),1);var Ak=Qr[" useInsertionEffect ".trim().toString()]||qt;function ha({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){let[o,a,i]=Ck({defaultProp:t,onChange:n}),l=e!==void 0,s=l?e:o;{let d=Qr.useRef(e!==void 0);Qr.useEffect(()=>{let u=d.current;u!==l&&console.warn(`${r} is changing from ${u?"controlled":"uncontrolled"} to ${l?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),d.current=l},[l,r])}let c=Qr.useCallback(d=>{if(l){let u=Rk(d)?d(e):d;u!==e&&i.current?.(u)}else a(d)},[l,e,a,i]);return[s,c]}function Ck({defaultProp:e,onChange:t}){let[n,r]=Qr.useState(e),o=Qr.useRef(n),a=Qr.useRef(t);return Ak(()=>{a.current=t},[t]),Qr.useEffect(()=>{o.current!==n&&(a.current?.(n),o.current=n)},[n,o]),[n,r,a]}function Rk(e){return typeof e=="function"}var pf=_(pe(),1);function gf(e){let t=pf.useRef({value:e,previous:e});return pf.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}var Xw=_(pe(),1);function hf(e){let[t,n]=Xw.useState(void 0);return qt(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});let r=new ResizeObserver(o=>{if(!Array.isArray(o)||!o.length)return;let a=o[0],i,l;if("borderBoxSize"in a){let s=a.borderBoxSize,c=Array.isArray(s)?s[0]:s;i=c.inlineSize,l=c.blockSize}else i=e.offsetWidth,l=e.offsetHeight;n({width:i,height:l})});return r.observe(e,{box:"border-box"}),()=>r.unobserve(e)}else n(void 0)},[e]),t}var Zw=_(pe(),1),Jw=_(Ei(),1);var Nn=_(pe(),1);var yf=_(J(),1);function Yi(e){let t=Ek(e),n=Nn.forwardRef((r,o)=>{let{children:a,...i}=r,l=Nn.Children.toArray(a),s=l.find(Nk);if(s){let c=s.props.children,d=l.map(u=>u===s?Nn.Children.count(c)>1?Nn.Children.only(null):Nn.isValidElement(c)?c.props.children:null:u);return(0,yf.jsx)(t,{...i,ref:o,children:Nn.isValidElement(c)?Nn.cloneElement(c,void 0,d):null})}return(0,yf.jsx)(t,{...i,ref:o,children:a})});return n.displayName=`${e}.Slot`,n}function Ek(e){let t=Nn.forwardRef((n,r)=>{let{children:o,...a}=n;if(Nn.isValidElement(o)){let i=Ok(o),l=Mk(a,o.props);return o.type!==Nn.Fragment&&(l.ref=r?Ih(r,i):i),Nn.cloneElement(o,l)}return Nn.Children.count(o)>1?Nn.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var Tk=Symbol("radix.slottable");function Nk(e){return Nn.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===Tk}function Mk(e,t){let n={...t};for(let r in t){let o=e[r],a=t[r];/^on[A-Z]/.test(r)?o&&a?n[r]=(...l)=>{let s=a(...l);return o(...l),s}:o&&(n[r]=o):r==="style"?n[r]={...o,...a}:r==="className"&&(n[r]=[o,a].filter(Boolean).join(" "))}return{...e,...n}}function Ok(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var eA=_(J(),1),_k=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Xe=_k.reduce((e,t)=>{let n=Yi(`Primitive.${t}`),r=Zw.forwardRef((o,a)=>{let{asChild:i,...l}=o,s=i?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),(0,eA.jsx)(s,{...l,ref:a})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function tA(e,t){e&&Jw.flushSync(()=>e.dispatchEvent(t))}var Qi=_(J(),1),vf="Switch",[kk,LI]=Yr(vf),[Lk,Dk]=kk(vf),nA=co.forwardRef((e,t)=>{let{__scopeSwitch:n,name:r,checked:o,defaultChecked:a,required:i,disabled:l,value:s="on",onCheckedChange:c,form:d,...u}=e,[f,p]=co.useState(null),v=bt(t,y=>p(y)),m=co.useRef(!1),b=f?d||!!f.closest("form"):!0,[h,g]=ha({prop:o,defaultProp:a??!1,onChange:c,caller:vf});return(0,Qi.jsxs)(Lk,{scope:n,checked:h,disabled:l,children:[(0,Qi.jsx)(Xe.button,{type:"button",role:"switch","aria-checked":h,"aria-required":i,"data-state":iA(h),"data-disabled":l?"":void 0,disabled:l,value:s,...u,ref:v,onClick:st(e.onClick,y=>{g(x=>!x),b&&(m.current=y.isPropagationStopped(),m.current||y.stopPropagation())})}),b&&(0,Qi.jsx)(aA,{control:f,bubbles:!m.current,name:r,value:s,checked:h,required:i,disabled:l,form:d,style:{transform:"translateX(-100%)"}})]})});nA.displayName=vf;var rA="SwitchThumb",oA=co.forwardRef((e,t)=>{let{__scopeSwitch:n,...r}=e,o=Dk(rA,n);return(0,Qi.jsx)(Xe.span,{"data-state":iA(o.checked),"data-disabled":o.disabled?"":void 0,...r,ref:t})});oA.displayName=rA;var Ik="SwitchBubbleInput",aA=co.forwardRef(({__scopeSwitch:e,control:t,checked:n,bubbles:r=!0,...o},a)=>{let i=co.useRef(null),l=bt(i,a),s=gf(n),c=hf(t);return co.useEffect(()=>{let d=i.current;if(!d)return;let u=window.HTMLInputElement.prototype,p=Object.getOwnPropertyDescriptor(u,"checked").set;if(s!==n&&p){let v=new Event("click",{bubbles:r});p.call(d,n),d.dispatchEvent(v)}},[s,n,r]),(0,Qi.jsx)("input",{type:"checkbox","aria-hidden":!0,defaultChecked:n,...o,tabIndex:-1,ref:l,style:{...o.style,...c,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});aA.displayName=Ik;function iA(e){return e?"checked":"unchecked"}var lA=nA,sA=oA;var zh=_(J(),1);function Hc({className:e,...t}){return(0,zh.jsx)(lA,{className:$("peer inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border border-transparent bg-muted transition-colors outline-none focus-visible:ring-2 focus-visible:ring-ring/50 focus-visible:ring-offset-2 focus-visible:ring-offset-background data-[state=checked]:bg-primary data-[state=unchecked]:bg-secondary",e),...t,children:(0,zh.jsx)(sA,{className:"pointer-events-none block size-4 rounded-full bg-background shadow-sm transition-transform data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0.5"})})}var va=_(pe(),1);var Ln=_(pe(),1);var li=_(pe(),1);var bf=_(J(),1),Bk=_(pe(),1);var Uk=_(J(),1);function xf(e){let t=e+"CollectionProvider",[n,r]=Yr(t),[o,a]=n(t,{collectionRef:{current:null},itemMap:new Map}),i=m=>{let{scope:b,children:h}=m,g=li.default.useRef(null),y=li.default.useRef(new Map).current;return(0,bf.jsx)(o,{scope:b,itemMap:y,collectionRef:g,children:h})};i.displayName=t;let l=e+"CollectionSlot",s=Yi(l),c=li.default.forwardRef((m,b)=>{let{scope:h,children:g}=m,y=a(l,h),x=bt(b,y.collectionRef);return(0,bf.jsx)(s,{ref:x,children:g})});c.displayName=l;let d=e+"CollectionItemSlot",u="data-radix-collection-item",f=Yi(d),p=li.default.forwardRef((m,b)=>{let{scope:h,children:g,...y}=m,x=li.default.useRef(null),w=bt(b,x),R=a(d,h);return li.default.useEffect(()=>(R.itemMap.set(x,{ref:x,...y}),()=>{R.itemMap.delete(x)})),(0,bf.jsx)(f,{[u]:"",ref:w,children:g})});p.displayName=d;function v(m){let b=a(e+"CollectionConsumer",m);return li.default.useCallback(()=>{let g=b.collectionRef.current;if(!g)return[];let y=Array.from(g.querySelectorAll(`[${u}]`));return Array.from(b.itemMap.values()).sort((R,E)=>y.indexOf(R.ref.current)-y.indexOf(E.ref.current))},[b.collectionRef,b.itemMap])}return[{Provider:i,Slot:c,ItemSlot:p},v,r]}var Bh=_(pe(),1);var Pk=Bh[" useId ".trim().toString()]||(()=>{}),jk=0;function si(e){let[t,n]=Bh.useState(Pk());return qt(()=>{e||n(r=>r??String(jk++))},[e]),e||(t?`radix-${t}`:"")}var fs=_(pe(),1);function sr(e){let t=fs.useRef(e);return fs.useEffect(()=>{t.current=e}),fs.useMemo(()=>(...n)=>t.current?.(...n),[])}var Sf=_(pe(),1),Vk=_(J(),1),Hk=Sf.createContext(void 0);function ms(e){let t=Sf.useContext(Hk);return e||t||"ltr"}var ci=_(J(),1),Uh="rovingFocusGroup.onEntryFocus",Fk={bubbles:!1,cancelable:!0},Fc="RovingFocusGroup",[Ph,cA,Kk]=xf(Fc),[$k,jh]=Yr(Fc,[Kk]),[Gk,qk]=$k(Fc),uA=Ln.forwardRef((e,t)=>(0,ci.jsx)(Ph.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,ci.jsx)(Ph.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,ci.jsx)(Wk,{...e,ref:t})})}));uA.displayName=Fc;var Wk=Ln.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,orientation:r,loop:o=!1,dir:a,currentTabStopId:i,defaultCurrentTabStopId:l,onCurrentTabStopIdChange:s,onEntryFocus:c,preventScrollOnEntryFocus:d=!1,...u}=e,f=Ln.useRef(null),p=bt(t,f),v=ms(a),[m,b]=ha({prop:i,defaultProp:l??null,onChange:s,caller:Fc}),[h,g]=Ln.useState(!1),y=sr(c),x=cA(n),w=Ln.useRef(!1),[R,E]=Ln.useState(0);return Ln.useEffect(()=>{let A=f.current;if(A)return A.addEventListener(Uh,y),()=>A.removeEventListener(Uh,y)},[y]),(0,ci.jsx)(Gk,{scope:n,orientation:r,dir:v,loop:o,currentTabStopId:m,onItemFocus:Ln.useCallback(A=>b(A),[b]),onItemShiftTab:Ln.useCallback(()=>g(!0),[]),onFocusableItemAdd:Ln.useCallback(()=>E(A=>A+1),[]),onFocusableItemRemove:Ln.useCallback(()=>E(A=>A-1),[]),children:(0,ci.jsx)(Xe.div,{tabIndex:h||R===0?-1:0,"data-orientation":r,...u,ref:p,style:{outline:"none",...e.style},onMouseDown:st(e.onMouseDown,()=>{w.current=!0}),onFocus:st(e.onFocus,A=>{let N=!w.current;if(A.target===A.currentTarget&&N&&!h){let L=new CustomEvent(Uh,Fk);if(A.currentTarget.dispatchEvent(L),!L.defaultPrevented){let j=x().filter(V=>V.focusable),D=j.find(V=>V.active),W=j.find(V=>V.id===m),ye=[D,W,...j].filter(Boolean).map(V=>V.ref.current);mA(ye,d)}}w.current=!1}),onBlur:st(e.onBlur,()=>g(!1))})})}),dA="RovingFocusGroupItem",fA=Ln.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,focusable:r=!0,active:o=!1,tabStopId:a,children:i,...l}=e,s=si(),c=a||s,d=qk(dA,n),u=d.currentTabStopId===c,f=cA(n),{onFocusableItemAdd:p,onFocusableItemRemove:v,currentTabStopId:m}=d;return Ln.useEffect(()=>{if(r)return p(),()=>v()},[r,p,v]),(0,ci.jsx)(Ph.ItemSlot,{scope:n,id:c,focusable:r,active:o,children:(0,ci.jsx)(Xe.span,{tabIndex:u?0:-1,"data-orientation":d.orientation,...l,ref:t,onMouseDown:st(e.onMouseDown,b=>{r?d.onItemFocus(c):b.preventDefault()}),onFocus:st(e.onFocus,()=>d.onItemFocus(c)),onKeyDown:st(e.onKeyDown,b=>{if(b.key==="Tab"&&b.shiftKey){d.onItemShiftTab();return}if(b.target!==b.currentTarget)return;let h=Xk(b,d.orientation,d.dir);if(h!==void 0){if(b.metaKey||b.ctrlKey||b.altKey||b.shiftKey)return;b.preventDefault();let y=f().filter(x=>x.focusable).map(x=>x.ref.current);if(h==="last")y.reverse();else if(h==="prev"||h==="next"){h==="prev"&&y.reverse();let x=y.indexOf(b.currentTarget);y=d.loop?Zk(y,x+1):y.slice(x+1)}setTimeout(()=>mA(y))}}),children:typeof i=="function"?i({isCurrentTabStop:u,hasTabStop:m!=null}):i})})});fA.displayName=dA;var Yk={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function Qk(e,t){return t!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function Xk(e,t,n){let r=Qk(e.key,n);if(!(t==="vertical"&&["ArrowLeft","ArrowRight"].includes(r))&&!(t==="horizontal"&&["ArrowUp","ArrowDown"].includes(r)))return Yk[r]}function mA(e,t=!1){let n=document.activeElement;for(let r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}function Zk(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var pA=uA,gA=fA;var cr=_(pe(),1);var hA=_(pe(),1);function e2(e,t){return hA.useReducer((n,r)=>t[n][r]??n,e)}var Vh=e=>{let{present:t,children:n}=e,r=t2(t),o=typeof n=="function"?n({present:r.isPresent}):cr.Children.only(n),a=bt(r.ref,n2(o));return typeof n=="function"||r.isPresent?cr.cloneElement(o,{ref:a}):null};Vh.displayName="Presence";function t2(e){let[t,n]=cr.useState(),r=cr.useRef(null),o=cr.useRef(e),a=cr.useRef("none"),i=e?"mounted":"unmounted",[l,s]=e2(i,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return cr.useEffect(()=>{let c=wf(r.current);a.current=l==="mounted"?c:"none"},[l]),qt(()=>{let c=r.current,d=o.current;if(d!==e){let f=a.current,p=wf(c);e?s("MOUNT"):p==="none"||c?.display==="none"?s("UNMOUNT"):s(d&&f!==p?"ANIMATION_OUT":"UNMOUNT"),o.current=e}},[e,s]),qt(()=>{if(t){let c,d=t.ownerDocument.defaultView??window,u=p=>{let m=wf(r.current).includes(CSS.escape(p.animationName));if(p.target===t&&m&&(s("ANIMATION_END"),!o.current)){let b=t.style.animationFillMode;t.style.animationFillMode="forwards",c=d.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=b)})}},f=p=>{p.target===t&&(a.current=wf(r.current))};return t.addEventListener("animationstart",f),t.addEventListener("animationcancel",u),t.addEventListener("animationend",u),()=>{d.clearTimeout(c),t.removeEventListener("animationstart",f),t.removeEventListener("animationcancel",u),t.removeEventListener("animationend",u)}}else s("ANIMATION_END")},[t,s]),{isPresent:["mounted","unmountSuspended"].includes(l),ref:cr.useCallback(c=>{r.current=c?getComputedStyle(c):null,n(c)},[])}}function wf(e){return e?.animationName||"none"}function n2(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var ya=_(J(),1),Af="Tabs",[r2,pz]=Yr(Af,[jh]),yA=jh(),[o2,Hh]=r2(Af),vA=va.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,onValueChange:o,defaultValue:a,orientation:i="horizontal",dir:l,activationMode:s="automatic",...c}=e,d=ms(l),[u,f]=ha({prop:r,onChange:o,defaultProp:a??"",caller:Af});return(0,ya.jsx)(o2,{scope:n,baseId:si(),value:u,onValueChange:f,orientation:i,dir:d,activationMode:s,children:(0,ya.jsx)(Xe.div,{dir:d,"data-orientation":i,...c,ref:t})})});vA.displayName=Af;var bA="TabsList",xA=va.forwardRef((e,t)=>{let{__scopeTabs:n,loop:r=!0,...o}=e,a=Hh(bA,n),i=yA(n);return(0,ya.jsx)(pA,{asChild:!0,...i,orientation:a.orientation,dir:a.dir,loop:r,children:(0,ya.jsx)(Xe.div,{role:"tablist","aria-orientation":a.orientation,...o,ref:t})})});xA.displayName=bA;var SA="TabsTrigger",wA=va.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,disabled:o=!1,...a}=e,i=Hh(SA,n),l=yA(n),s=RA(i.baseId,r),c=EA(i.baseId,r),d=r===i.value;return(0,ya.jsx)(gA,{asChild:!0,...l,focusable:!o,active:d,children:(0,ya.jsx)(Xe.button,{type:"button",role:"tab","aria-selected":d,"aria-controls":c,"data-state":d?"active":"inactive","data-disabled":o?"":void 0,disabled:o,id:s,...a,ref:t,onMouseDown:st(e.onMouseDown,u=>{!o&&u.button===0&&u.ctrlKey===!1?i.onValueChange(r):u.preventDefault()}),onKeyDown:st(e.onKeyDown,u=>{[" ","Enter"].includes(u.key)&&i.onValueChange(r)}),onFocus:st(e.onFocus,()=>{let u=i.activationMode!=="manual";!d&&!o&&u&&i.onValueChange(r)})})})});wA.displayName=SA;var AA="TabsContent",CA=va.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,forceMount:o,children:a,...i}=e,l=Hh(AA,n),s=RA(l.baseId,r),c=EA(l.baseId,r),d=r===l.value,u=va.useRef(d);return va.useEffect(()=>{let f=requestAnimationFrame(()=>u.current=!1);return()=>cancelAnimationFrame(f)},[]),(0,ya.jsx)(Vh,{present:o||d,children:({present:f})=>(0,ya.jsx)(Xe.div,{"data-state":d?"active":"inactive","data-orientation":l.orientation,role:"tabpanel","aria-labelledby":s,hidden:!f,id:c,tabIndex:0,...i,ref:t,style:{...e.style,animationDuration:u.current?"0s":void 0},children:f&&a})})});CA.displayName=AA;function RA(e,t){return`${e}-trigger-${t}`}function EA(e,t){return`${e}-content-${t}`}var TA=vA,NA=xA,MA=wA,OA=CA;var Kc=_(J(),1);function ps(e){return(0,Kc.jsx)(TA,{...e})}function gs({className:e,...t}){return(0,Kc.jsx)(NA,{className:$("inline-flex h-9 items-center gap-1 rounded-xl border border-border/70 bg-secondary/70 p-1",e),...t})}function ur({className:e,...t}){return(0,Kc.jsx)(MA,{className:$("inline-flex h-7 items-center justify-center rounded-lg px-3 text-sm text-muted-foreground transition data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm",e),...t})}function dr({className:e,...t}){return(0,Kc.jsx)(OA,{className:$("mt-4 outline-none",e),...t})}var Fh=Object.freeze(["gpt-5.3-codex","gpt-5.2-codex","gpt-5.1-codex-mini"]),Kh=Object.freeze(["claude-sonnet-4-6","claude-opus-4-6","claude-haiku-4-5"]),Lz=Object.freeze({authorizeUrl:"https://auth.openai.com/oauth/authorize",tokenUrl:"https://auth.openai.com/oauth/token",deviceCodeUrl:"https://auth.openai.com/oauth/device/code",callbackPort:1455,callbackPath:"/auth/callback",scopes:"openid profile email offline_access",clientId:"app_EMoamEEZ73f0CkXaXp7hrann",authorizeParams:Object.freeze({id_token_add_organizations:"true",codex_cli_simplified_flow:"true",originator:"codex_cli_rs"}),tokenRefreshBufferMs:300*1e3}),Dz=Object.freeze({authorizeUrl:"https://claude.ai/oauth/authorize",tokenUrl:"https://platform.claude.com/v1/oauth/token",callbackPort:1456,callbackPath:"/callback",manualRedirectUrl:"https://platform.claude.com/oauth/code/callback",scopes:"user:profile user:inference user:sessions:claude_code user:mcp_servers",clientId:"9d1c250a-e61b-44d9-88ed-5944d1962f5e",authorizeParams:Object.freeze({code:"true"}),oauthBeta:"oauth-2025-04-20",apiBaseUrl:"https://api.anthropic.com",messagesPath:"/v1/messages?beta=true",tokenRefreshBufferMs:300*1e3});var l2="127.0.0.1";var $c=`http://${l2}:8376`,zz=`${$c}/openai/v1`,Bz=`${$c}/anthropic`,Uz=Object.freeze({enabled:!0});var xt="default",s2="AICodeClient",c2="1.0.0",Kz=d2();var $z=Object.freeze({CHATGPT_CODEX:"chatgpt-codex",CLAUDE_CODE:"claude-code"});var Gz=Object.freeze(["5m","10m","30m","1h","24h","-1","0"]);function u2(){if(typeof process>"u"||!process)return{runtime:"runtime/unknown",platform:"unknown",arch:"unknown"};let e=process?.versions?.node?String(process.versions.node):"",t=e?`node/${e}`:"runtime/unknown",n=process?.platform?String(process.platform):"unknown",r=process?.arch?String(process.arch):"unknown";return{runtime:t,platform:n,arch:r}}function d2(){let{runtime:e,platform:t,arch:n}=u2();return`${s2}/${c2} (${t}; ${n}) ${e}`}var qz=Object.freeze(["brave","tavily","exa","searxng"]),Wz=Object.freeze({brave:1e3,tavily:1e3,exa:1e3,searxng:0});var Cf=Object.freeze([Object.freeze({id:"@anthropic-opus",description:"Anthropic Opus family used by AMP smart-like flows.",match:[{vendor:"anthropic",family:"opus",variantAbsent:!0}],defaultMatch:"claude-opus-{number}"}),Object.freeze({id:"@anthropic-sonnet",description:"Anthropic Sonnet family used by AMP librarian-like flows.",match:[{vendor:"anthropic",family:"sonnet",variantAbsent:!0}],defaultMatch:"claude-sonnet-{number}"}),Object.freeze({id:"@anthropic-haiku-shared",description:"Anthropic Haiku family shared by AMP rush/title-like flows.",match:[{vendor:"anthropic",family:"haiku",variantAbsent:!0}],defaultMatch:"claude-haiku-{number}"}),Object.freeze({id:"@openai-gpt-base",description:"Base GPT family currently observed for AMP Oracle-like flows.",match:[{vendor:"openai",family:"gpt",variantAbsent:!0}],defaultMatch:"gpt-{number}"}),Object.freeze({id:"@openai-gpt-codex",description:"OpenAI GPT Codex family used by AMP deep-like flows.",match:[{vendor:"openai",family:"gpt",variantPrefix:"codex"},"gpt-*-codex*"],defaultMatch:"gpt-*-codex*"}),Object.freeze({id:"@google-gemini-pro",description:"Google Gemini Pro family used by AMP review-like flows.",match:[{vendor:"google",family:"gemini",variant:"pro"},"gemini-*-pro*"],defaultMatch:"gemini-*-pro*"}),Object.freeze({id:"@google-gemini-pro-image",description:"Google Gemini image family used by AMP painter-like flows.",match:["gemini-3-pro-image","gemini-3-pro-image*","gemini-*-image*"],defaultMatch:"gemini-*-image*"}),Object.freeze({id:"@google-gemini-flash-shared",description:"Google Gemini Flash family shared by AMP search/look-at/handoff-like flows.",match:[{vendor:"google",family:"gemini",variantPrefix:"flash"},"gemini-*-flash*"],defaultMatch:"gemini-*-flash*"})]),Gc=Object.freeze([Object.freeze({id:"smart",type:"mode",description:"Unconstrained state-of-the-art model use",signatures:["@anthropic-opus"]}),Object.freeze({id:"rush",type:"mode",description:"Faster and cheaper, for small well-defined tasks",signatures:["@anthropic-haiku-shared"]}),Object.freeze({id:"deep",type:"mode",description:"Deep reasoning with extended thinking",signatures:["@openai-gpt-codex"]}),Object.freeze({id:"review",type:"feature",description:"Bug identification and code review assistance",signatures:["@google-gemini-pro"]}),Object.freeze({id:"search",type:"agent",description:"Fast, accurate codebase retrieval",signatures:["@google-gemini-flash-shared"]}),Object.freeze({id:"oracle",type:"agent",description:"Complex reasoning and planning on code",signatures:["@openai-gpt-base"]}),Object.freeze({id:"librarian",type:"agent",description:"Large-scale retrieval and research on external code",signatures:["@anthropic-sonnet"]}),Object.freeze({id:"look-at",type:"system",description:"Image, PDF, and media file analysis",aliases:["look at","lookat"],signatures:["@google-gemini-flash-shared"]}),Object.freeze({id:"painter",type:"system",description:"Image generation and editing",signatures:["@google-gemini-pro-image"]}),Object.freeze({id:"handoff",type:"system",description:"Fallback context analysis for task continuation",signatures:["@google-gemini-flash-shared"]}),Object.freeze({id:"title",type:"system",description:"Fast title generation for threads",aliases:["titling"],signatures:["@anthropic-haiku-shared"]})]),Yz=Object.freeze([Object.freeze({id:"oracle",patterns:["/^gpt-\\d+(?:\\.\\d+)?$/"]}),Object.freeze({id:"librarian",patterns:["/^(?:claude-)?sonnet-\\d+(?:\\.\\d+)?$/"]}),Object.freeze({id:"title",patterns:["/^(?:claude-)?haiku-\\d+(?:\\.\\d+)?$/"]}),Object.freeze({id:"painter",patterns:["gemini-3-pro-image","gemini-3-pro-image*"]}),Object.freeze({id:"search",patterns:["gemini-2.5-flash","gemini-2.5-flash*","gemini-3-flash","gemini-3-flash*"]}),Object.freeze({id:"look-at",patterns:["gemini-2.5-flash","gemini-2.5-flash*","gemini-3-flash","gemini-3-flash*"]}),Object.freeze({id:"handoff",patterns:["gemini-3-flash","gemini-3-flash*"]})]);var $h=["second","minute","hour","day","week","month"];function _o(e,t=0){let n=Number.parseInt(String(e||""),10);return Number.isFinite(n)&&n>0?n:t}function Xi(e,t=""){let n=String(e||"").trim().toLowerCase();return $h.includes(n)?n:t}function _A(e,t=1){let n=String(e||"").trim().toLowerCase().replace(/s$/,"");return n?Number(t)===1?n:`${n}s`:"windows"}function uo(e=[]){let t=[],n=new Set;for(let r of Array.isArray(e)?e:[e]){let o=String(r||"").trim();if(o){if(o.toLowerCase()==="all")return["all"];n.has(o)||(n.add(o),t.push(o))}}return t}function qc({requests:e,windowValue:t,windowUnit:n}){let r=_o(e,0),o=_o(t,0),a=Xi(n,"");return!r||!o||!a?"":`${r}-req-per-${o}-${_A(a,o)}`}function kA(e={}){let t=_o(e?.requests??e?.limit,0),n=_o(e?.window?.size??e?.window?.value??e?.windowValue,0),r=Xi(e?.window?.unit??e?.windowUnit,"");return!t||!n||!r?"Unconfigured":`${t}/${n} ${_A(r,n)}`}function ko(e=[],{knownModelIds:t=[],requireAtLeastOne:n=!0}={}){let r=Array.isArray(e)?e:[];if(n&&r.length===0)return"Add at least one rate-limit entity.";let o=new Set((t||[]).map(i=>String(i||"").trim()).filter(Boolean)),a=new Set;for(let i of r){let l=uo(i?.models||[]);if(o.size>0&&l.some(f=>f!=="all"&&!o.has(f)))return"Rate-limit model selectors must match the provider model ids.";let s=_o(i?.requests,0);if(!s)return"Rate-limit requests must be a positive integer.";let c=_o(i?.windowValue,0);if(!c)return"Rate-limit window size must be a positive integer.";let d=Xi(i?.windowUnit,"");if(!d)return"Rate-limit window unit is invalid.";let u=qc({requests:s,windowValue:c,windowUnit:d});if(a.has(u))return"Duplicate rate-limit entities are not allowed.";a.add(u)}return""}function Wc(e=[],{existingBucketsBySourceId:t=new Map,fallbackRequests:n=60,fallbackWindowValue:r=1,fallbackWindowUnit:o="minute"}={}){return(Array.isArray(e)?e:[]).map((a,i)=>{let l=String(a?.sourceId||"").trim(),s=l&&t instanceof Map&&t.has(l)?structuredClone(t.get(l)):{},c=_o(a?.requests,_o(s?.requests??s?.limit,n)),d=_o(a?.windowValue,_o(s?.window?.size??s?.window?.value,r)),u=Xi(a?.windowUnit,Xi(s?.window?.unit,o)||o),f=uo(a?.models||[]),p=f.length>0?f:["all"],v={...s,id:qc({requests:c,windowValue:d,windowUnit:u})||`rate-limit-${i+1}`,models:p,requests:c,window:{...s?.window&&typeof s.window=="object"&&!Array.isArray(s.window)?s.window:{},size:d,unit:u}};return delete v.name,delete v.limit,v.window&&typeof v.window=="object"&&delete v.window.value,v})}function Yc(e){return JSON.parse(JSON.stringify(e??{}))}function Rf(e=[]){let t=new Set,n=[];for(let r of e){let o=String(r||"").trim();!o||t.has(o)||(t.add(o),n.push(o))}return n}function DA(e){let t=String(e||"").trim();return t?t.startsWith("alias:")?t.slice(6).trim():t:""}function f2(e={},t={}){let n=t?.[xt];if(n&&typeof n=="object"&&!Array.isArray(n))return{...n,id:xt,strategy:String(n.strategy||"ordered").trim()||"ordered",targets:fr(n.targets||[],a=>a),fallbackTargets:fr(n.fallbackTargets||[],a=>a)};let r=String(e?.defaultModel||"").trim();if(!r||r==="smart")return{id:xt,strategy:"ordered",targets:[],fallbackTargets:[]};let o=DA(r);if(o&&t?.[o]){let a=t[o];return{...a,id:xt,strategy:String(a.strategy||"ordered").trim()||"ordered",targets:fr(a.targets||[],i=>i),fallbackTargets:fr(a.fallbackTargets||[],i=>i)}}return{id:xt,strategy:"ordered",targets:r?[{ref:r}]:[],fallbackTargets:[]}}function m2(e={}){return(!e.modelAliases||typeof e.modelAliases!="object"||Array.isArray(e.modelAliases))&&(e.modelAliases={}),e.modelAliases[xt]=f2(e,e.modelAliases),e}function p2(e={}){let t=new Set;for(let n of Object.keys(e?.modelAliases||{})){let r=String(n||"").trim();r&&t.add(r)}for(let n of e?.providers||[]){let r=String(n?.id||"").trim();if(r)for(let o of n?.models||[]){let a=String(o?.id||"").trim();a&&t.add(`${r}/${a}`)}}return t}function g2(e={}){let t=Object.keys(e?.modelAliases||{}).map(n=>String(n||"").trim()).filter(Boolean);if(t.includes(xt))return xt;if(t.length>0)return t[0];for(let n of e?.providers||[]){let r=String(n?.id||"").trim();if(r)for(let o of n?.models||[]){let a=String(o?.id||"").trim();if(a)return`${r}/${a}`}}return""}function Ef(e={}){m2(e);let t=p2(e);if(e.defaultModel=xt,!e.amp||typeof e.amp!="object"||Array.isArray(e.amp))return e;let n=String(e.amp.defaultRoute||"").trim();if(!n||!t.has(DA(n))){let r=String(e.defaultModel||"").trim()||g2(e);r?e.amp.defaultRoute=r:delete e.amp.defaultRoute}return e}function hs(e,t,n,r){let o=String(e||"").trim();if(!o)return"";let a=`${t}/`;if(!o.startsWith(a))return o;let i=o.slice(a.length),l=n.get(i)||i;return r.has(l)?`${t}/${l}`:""}function ys(e,t,n=""){let r=String(e||"").trim();if(!r)return"";let o=`${t}/`;return r.startsWith(o)?n?`${n}/${r.slice(o.length)}`:"":r}function IA(e=[]){return Rf(Array.isArray(e)?e:[e])}function h2(e={},t={}){let n={...e};if(!Object.prototype.hasOwnProperty.call(t||{},"credentialInput"))return n;let o=String(t?.credentialInput||"").trim();return delete n.apiKey,delete n.apiKeyEnv,delete n.credential,o?/^[A-Z][A-Z0-9_]*$/.test(o)?(n.apiKeyEnv=o,n):(n.apiKey=o,n):n}function y2(e={},t=[]){let n={...e},r=IA(t),o=String(r[0]||"").trim(),a=n.metadata&&typeof n.metadata=="object"&&!Array.isArray(n.metadata)?{...n.metadata}:null,i=r.length>1||!!(a&&Object.prototype.hasOwnProperty.call(a,"endpointCandidates"));if(!o)delete n.baseUrl,delete n.baseUrlByFormat,a&&Object.prototype.hasOwnProperty.call(a,"endpointCandidates")&&delete a.endpointCandidates;else{n.baseUrl=o;let l=n.baseUrlByFormat&&typeof n.baseUrlByFormat=="object"&&!Array.isArray(n.baseUrlByFormat)?n.baseUrlByFormat:null;l&&Object.keys(l).length>0&&(n.baseUrlByFormat=Object.fromEntries(Object.keys(l).map(s=>[s,o]))),i&&(a=a||{},a.endpointCandidates=r)}return a&&Object.keys(a).length>0?n.metadata=a:a&&delete n.metadata,n}function v2(e={}){return e?.rateLimitLimit!==void 0||e?.rateLimitWindowValue!==void 0||e?.rateLimitWindowUnit!==void 0?[{sourceId:String(e?.rateLimitSourceId||"").trim(),models:["all"],requests:e?.rateLimitLimit,windowValue:e?.rateLimitWindowValue,windowUnit:e?.rateLimitWindowUnit}]:[]}function b2(e={},t={},n=""){let r={...e},o=Array.isArray(r.rateLimits)?r.rateLimits.map(u=>u&&typeof u=="object"?Yc(u):u).filter(Boolean):[],a=Array.isArray(t?.rateLimitRows)?t.rateLimitRows:v2(t),i=o[0]&&typeof o[0]=="object"?o[0]:null,l=Number(i?.requests??i?.limit)||60,s=Number(i?.window?.size??i?.window?.value)||1,c=String(i?.window?.unit||"minute").trim()||"minute",d=new Map(o.map(u=>[String(u?.id||"").trim(),u]).filter(([u])=>!!u));return r.rateLimits=Wc(a,{existingBucketsBySourceId:d,fallbackRequests:l,fallbackWindowValue:s,fallbackWindowUnit:c}),r}function Lo(e,t,n=""){let r=String(e||"").trim();return r?r===t?n:r===`alias:${t}`?n?`alias:${n}`:"":r:""}function fr(e=[],t){let n=new Set,r=[];for(let o of Array.isArray(e)?e:[]){let a=String(o?.ref||"").trim();if(!a)continue;let i=String(t(a)||"").trim();!i||n.has(i)||(n.add(i),r.push({...o,ref:i}))}return r}function Qc(e={},t){if(!e?.amp||typeof e.amp!="object"||Array.isArray(e.amp))return e;let n=e.amp,r={};for(let[o,a]of Object.entries(n.routes&&typeof n.routes=="object"&&!Array.isArray(n.routes)?n.routes:{})){let i=String(t(a)||"").trim();i&&(r[o]=i)}return n.routes=r,n.rawModelRoutes=(Array.isArray(n.rawModelRoutes)?n.rawModelRoutes:[]).map(o=>{if(!o||typeof o!="object")return null;if(!Object.prototype.hasOwnProperty.call(o,"to"))return{...o};let a=String(t(o.to)||"").trim();return a?{...o,to:a}:null}).filter(Boolean),e}function zA(e={}){let t=e?.modelAliases&&typeof e.modelAliases=="object"&&!Array.isArray(e.modelAliases)?e.modelAliases:{},n={};for(let[r,o]of Object.entries(t)){let a=fr(o?.targets||[],l=>l),i=fr(o?.fallbackTargets||[],l=>l);n[r]={...o,targets:a,fallbackTargets:i}}return e.modelAliases=n,Qc(e,r=>r),Ef(e)}function x2(e=[]){let t=new Set,n=[];for(let r of Array.isArray(e)?e:[]){let o=String(r?.id||"").trim(),a=String(r?.sourceId||r?.originalId||"").trim();if(!o||t.has(o))continue;t.add(o);let i=Number.parseInt(String(r?.contextWindow||"").trim(),10),l=r?.capabilities&&typeof r.capabilities=="object"&&Object.keys(r.capabilities).length>0?r.capabilities:void 0;n.push({id:o,sourceId:a,contextWindow:Number.isFinite(i)&&i>0?i:null,...l?{capabilities:l}:{}})}return n}function LA(e=[]){let t=new Set,n=[];for(let r of Array.isArray(e)?e:[]){let o=String(r?.ref||"").trim(),a=String(r?.sourceRef||r?.originalRef||"").trim(),i=String(r?.weight??"").trim(),l=Math.floor(Number(i));!o||t.has(o)||(t.add(o),n.push({ref:o,sourceRef:a,...i?{weight:Number.isFinite(l)&&l>0?l:1}:{}}))}return n}function Gh(e={},t,n=[]){let r=Yc(e),o=Array.isArray(r.providers)?r.providers:[],a=o.findIndex(b=>b?.id===t);if(a===-1)return r;let i=o[a],l=Array.isArray(i?.models)?i.models:[],s=new Map(l.map(b=>[String(b?.id||"").trim(),b])),c=x2(n),d=new Set,u=new Map,f=[];for(let b of c){let h=b.sourceId&&s.has(b.sourceId)&&!d.has(b.sourceId)?b.sourceId:"",g=!h&&s.has(b.id)&&!d.has(b.id)?b.id:"",y=h||g;if(y){d.add(y),y!==b.id&&u.set(y,b.id);let x={...s.get(y),id:b.id,...b.contextWindow?{contextWindow:b.contextWindow}:{}};b.contextWindow||delete x.contextWindow,b.capabilities&&typeof b.capabilities=="object"&&Object.keys(b.capabilities).length>0?x.capabilities=b.capabilities:delete x.capabilities,f.push(x);continue}f.push({id:b.id,...b.contextWindow?{contextWindow:b.contextWindow}:{},...b.capabilities&&typeof b.capabilities=="object"&&Object.keys(b.capabilities).length>0?{capabilities:b.capabilities}:{}})}let p=new Set(f.map(b=>String(b?.id||"").trim()).filter(Boolean));i.models=f,i.rateLimits=(Array.isArray(i.rateLimits)?i.rateLimits:[]).map(b=>{let h=Array.isArray(b?.models)?b.models:[];return{...b,models:Rf(h.map(g=>{if(String(g||"").trim()==="all")return"all";let y=u.get(String(g||"").trim())||String(g||"").trim();return p.has(y)?y:""}))}}),r.providers=o.map((b,h)=>h===a?i:b).map(b=>({...b,models:(Array.isArray(b?.models)?b.models:[]).map(h=>Array.isArray(h?.fallbackModels)?{...h,fallbackModels:Rf(h.fallbackModels.map(g=>hs(g,t,u,p)))}:h)}));let v=r.modelAliases&&typeof r.modelAliases=="object"&&!Array.isArray(r.modelAliases)?r.modelAliases:{},m={};for(let[b,h]of Object.entries(v)){let g=fr(h?.targets||[],x=>hs(x,t,u,p)),y=fr(h?.fallbackTargets||[],x=>hs(x,t,u,p));m[b]={...h,targets:g,fallbackTargets:y}}return r.modelAliases=m,r.defaultModel=hs(r.defaultModel,t,u,p),r?.amp&&typeof r.amp=="object"&&!Array.isArray(r.amp)&&(r.amp.defaultRoute=hs(r.amp.defaultRoute,t,u,p)),Qc(r,b=>hs(b,t,u,p)),Ef(r)}function qh(e={},t="",n={}){let r=Yc(e),o=Array.isArray(r.providers)?r.providers:[],a=o.findIndex(p=>p?.id===t);if(a===-1)return r;let i=o[a]||{},l=String(n?.id||t||"").trim(),s=String(n?.name??i?.name??"").trim(),c=IA(Array.isArray(n?.endpoints)?n.endpoints:[n?.endpoint]),d=i?.type==="subscription",u=l||t,f={...i,id:u,name:s||u};if(d||(f=h2(f,n),f=y2(f,c),f=b2(f,n,u)),o[a]=f,r.providers=o.map(p=>({...p,models:(Array.isArray(p?.models)?p.models:[]).map(v=>Array.isArray(v?.fallbackModels)?{...v,fallbackModels:Rf(v.fallbackModels.map(m=>ys(m,t,u)))}:v)})),u!==t){let p=r.modelAliases&&typeof r.modelAliases=="object"&&!Array.isArray(r.modelAliases)?r.modelAliases:{},v={};for(let[m,b]of Object.entries(p))v[m]={...b,targets:fr(b?.targets||[],h=>ys(h,t,u)),fallbackTargets:fr(b?.fallbackTargets||[],h=>ys(h,t,u))};r.modelAliases=v,r.defaultModel=ys(r.defaultModel,t,u),r?.amp&&typeof r.amp=="object"&&!Array.isArray(r.amp)&&(r.amp.defaultRoute=ys(r.amp.defaultRoute,t,u)),Qc(r,m=>ys(m,t,u))}return Ef(r)}function BA(e={},t="",n={}){let r=Yc(e),o=r.modelAliases&&typeof r.modelAliases=="object"&&!Array.isArray(r.modelAliases)?r.modelAliases:{},a=t?o[t]:void 0,i=t===xt?xt:String(n?.id||t||"").trim();if(!i)return r;let l=new Map((a?.targets||[]).map(p=>[String(p?.ref||"").trim(),p])),s=new Map((a?.fallbackTargets||[]).map(p=>[String(p?.ref||"").trim(),p])),c=new Set,d=LA(n?.targets).map(p=>{let v=p.sourceRef&&l.has(p.sourceRef)&&!c.has(p.sourceRef)?p.sourceRef:l.has(p.ref)&&!c.has(p.ref)?p.ref:"";return v&&c.add(v),{...v?l.get(v):{},ref:p.ref,...p.weight!==void 0?{weight:p.weight}:{}}}),u=new Set,f=LA(n?.fallbackTargets).map(p=>{let v=p.sourceRef&&s.has(p.sourceRef)&&!u.has(p.sourceRef)?p.sourceRef:s.has(p.ref)&&!u.has(p.ref)?p.ref:"";return v&&u.add(v),{...v?s.get(v):{},ref:p.ref,...p.weight!==void 0?{weight:p.weight}:{}}});if(t&&t!==i&&delete o[t],o[i]={...a?.metadata?{metadata:a.metadata}:{},...n?.metadata&&typeof n.metadata=="object"&&!Array.isArray(n.metadata)?{metadata:n.metadata}:{},id:i,strategy:String(n?.strategy||a?.strategy||"ordered").trim()||"ordered",targets:d,fallbackTargets:f},r.modelAliases=o,t&&t!==i){for(let[p,v]of Object.entries(o))p!==i&&(v.targets=fr(v?.targets||[],m=>Lo(m,t,i)),v.fallbackTargets=fr(v?.fallbackTargets||[],m=>Lo(m,t,i)));r.defaultModel=Lo(r.defaultModel,t,i),r?.amp&&typeof r.amp=="object"&&!Array.isArray(r.amp)&&(r.amp.defaultRoute=Lo(r.amp.defaultRoute,t,i)),Qc(r,p=>Lo(p,t,i))}return zA(r)}function UA(e={},t=""){let n=Yc(e),r=String(t||"").trim();if(!r)return n;let o=n.modelAliases&&typeof n.modelAliases=="object"&&!Array.isArray(n.modelAliases)?n.modelAliases:{};if(!Object.prototype.hasOwnProperty.call(o,r))return n;if(r===xt)return o[r]={...o[r],id:xt,strategy:String(o[r]?.strategy||"ordered").trim()||"ordered",targets:[],fallbackTargets:[]},n.modelAliases=o,Ef(n);delete o[r],n.modelAliases=o;for(let a of Object.values(o))a.targets=fr(a?.targets||[],i=>Lo(i,r)),a.fallbackTargets=fr(a?.fallbackTargets||[],i=>Lo(i,r));return n.defaultModel=Lo(n.defaultModel,r),n?.amp&&typeof n.amp=="object"&&!Array.isArray(n.amp)&&(n.amp.defaultRoute=Lo(n.amp.defaultRoute,r)),Qc(n,a=>Lo(a,r)),zA(n)}function PA(e="",t={}){return{id:String(e||t?.id||"").trim(),strategy:String(t?.strategy||"ordered").trim()||"ordered",targets:(Array.isArray(t?.targets)?t.targets:[]).map((n,r)=>({key:`target-${e||"alias"}-${r}-${String(n?.ref||"").trim()||"empty"}`,ref:String(n?.ref||"").trim(),sourceRef:String(n?.ref||"").trim(),weight:String(Number.isFinite(Number(n?.weight))&&Number(n.weight)>0?Math.floor(Number(n.weight)):1)})),fallbackTargets:(Array.isArray(t?.fallbackTargets)?t.fallbackTargets:[]).map((n,r)=>({key:`fallback-${e||"alias"}-${r}-${String(n?.ref||"").trim()||"empty"}`,ref:String(n?.ref||"").trim(),sourceRef:String(n?.ref||"").trim(),weight:String(Number.isFinite(Number(n?.weight))&&Number(n.weight)>0?Math.floor(Number(n.weight)):1)}))}}function jA(e={}){return(Array.isArray(e?.models)?e.models:[]).map((t,n)=>({key:`model-${e?.id||"provider"}-${n}-${String(t?.id||"").trim()||"empty"}`,id:String(t?.id||"").trim(),sourceId:String(t?.id||"").trim(),contextWindow:Number.isFinite(t?.contextWindow)?String(Math.floor(Number(t.contextWindow))):"",...t?.capabilities?{capabilities:{...t.capabilities}}:{}}))}var Wh="__codex_cli_inherit__",tB=Object.freeze(["minimal","low","medium","high","xhigh"]),S2=Object.freeze(["low","medium","high","xhigh","max"]),nB=Object.freeze({low:4096,medium:12e3,high:24e3,xhigh:28e3,max:31999});function Tf(e){return String(e||"").trim()===Wh}function w2(e){let t=String(e||"").trim().toLowerCase();return S2.includes(t)?t:""}var VA=w2;var A2=Object.freeze(["off","none","low","medium","high"]);function C2(e){let t=String(e||"").trim();return t.startsWith("custom:")?t.slice(7).trim():t}function Nf(e){let t=C2(e);if(!t.startsWith("llm-"))return null;if(t.startsWith("llm-alias:")){let i=t.slice(10).trim();return i?{kind:"alias",aliasId:i,routeRef:i}:null}if(t.startsWith("llm-alias-")){let i=t.slice(10).trim();return i?{kind:"alias",aliasId:i,routeRef:""}:null}let n=t.slice(4),r=n.indexOf(":");if(r<=0)return null;let o=n.slice(0,r).trim(),a=n.slice(r+1).trim();return!o||!a?null:{kind:"model",providerId:o,modelId:a,routeRef:`${o}/${a}`}}function HA(e){let t=String(e||"").trim().toLowerCase();return A2.includes(t)?t:""}var Rt={"content-type":"application/json"},Yh={info:"bg-sky-50 text-sky-700 ring-sky-100",success:"bg-emerald-50 text-emerald-700 ring-emerald-100",warn:"bg-amber-50 text-amber-700 ring-amber-100",error:"bg-rose-50 text-rose-700 ring-rose-100"},FA=[{value:"usage",label:"Request / response"},{value:"router",label:"LLM Router"},{value:"all",label:"All categories"}],Xc={usage:{label:"Request / response",badgeVariant:"info",emptyLabel:"request/response"},router:{label:"LLM Router",badgeVariant:"outline",emptyLabel:"LLM Router"}},KA="https://github.com/khanglvm/llm-router",$A="https://github.com/sponsors/khanglvm",Zr="AICodeClient/1.0.0",GA=3e3,Mf=4e3,qA=100,WA=6,Zi=/^[a-z][a-z0-9-]*$/,YA=/^[A-Za-z0-9][A-Za-z0-9._:\-\[\]]*$/,QA=[{value:"api",label:"API Key",description:"Test endpoint + model candidates with an API key env before saving."},{value:"subscription",label:"Subscription",description:"Use an OAuth subscription login with ChatGPT or Claude models."}],Of=[{value:"auto",label:"Auto"},{value:"ordered",label:"Ordered"},{value:"round-robin",label:"Round robin"},{value:"weighted-rr",label:"Weighted RR"},{value:"quota-aware-weighted-rr",label:"Quota-aware weighted RR"}],_f=Object.fromEntries(Of.map(e=>[e.value,e.label])),XA=Object.freeze([{value:"minimal",label:"Minimal",hint:"Fastest supported reasoning"},{value:"low",label:"Low",hint:"Lighter reasoning"},{value:"medium",label:"Medium",hint:"Balanced depth"},{value:"high",label:"High",hint:"Deeper reasoning"},{value:"xhigh",label:"XHigh",hint:"Model-dependent extra depth"}]),ZA=Object.freeze([{value:"low",label:"Low",hint:"Sets CLAUDE_CODE_EFFORT_LEVEL=low"},{value:"medium",label:"Medium",hint:"Sets CLAUDE_CODE_EFFORT_LEVEL=medium"},{value:"high",label:"High",hint:"Sets CLAUDE_CODE_EFFORT_LEVEL=high"},{value:"xhigh",label:"XHigh",hint:"Sets CLAUDE_CODE_EFFORT_LEVEL=xhigh"},{value:"max",label:"Max",hint:"Sets CLAUDE_CODE_EFFORT_LEVEL=max"}]),JA=Object.freeze([{value:"off",label:"Off",hint:"Disable reasoning"},{value:"none",label:"None",hint:"No extended reasoning"},{value:"low",label:"Low",hint:"Lighter reasoning"},{value:"medium",label:"Medium",hint:"Balanced depth"},{value:"high",label:"High",hint:"Maximum reasoning depth"}]),Qh=$h;var eC=Object.freeze([{value:"ordered",label:"Ordered"},{value:"quota-balance",label:"Quota balance"}]),kf=Object.freeze([Object.freeze({id:"brave",label:"Brave",credentialField:"apiKey",credentialLabel:"API key",credentialPlaceholder:"brv_...",defaultLimit:1e3}),Object.freeze({id:"tavily",label:"Tavily",credentialField:"apiKey",credentialLabel:"API key",credentialPlaceholder:"tvly-...",defaultLimit:1e3}),Object.freeze({id:"exa",label:"Exa",credentialField:"apiKey",credentialLabel:"API key",credentialPlaceholder:"exa_...",defaultLimit:1e3}),Object.freeze({id:"searxng",label:"SearXNG",credentialField:"url",credentialLabel:"Base URL",credentialPlaceholder:"https://searx.example.com",defaultLimit:0})]),ba=Object.fromEntries(kf.map(e=>[e.id,e])),ui=5,Zc=1,Jc=20,vs="w-[5.5rem] justify-self-end",Xh=["border-primary/45","bg-primary/5"],Zh=[{value:"5m",label:"5 minutes"},{value:"10m",label:"10 minutes"},{value:"30m",label:"30 minutes"},{value:"1h",label:"1 hour"},{value:"24h",label:"24 hours"},{value:"-1",label:"Forever (blocks eviction)"},{value:"0",label:"Disabled (unload immediately)"}];var We=_(J(),1);function bs({className:e=""}){return(0,We.jsxs)("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",className:e,children:[(0,We.jsx)("circle",{cx:"5",cy:"4",r:"1.25",fill:"currentColor"}),(0,We.jsx)("circle",{cx:"11",cy:"4",r:"1.25",fill:"currentColor"}),(0,We.jsx)("circle",{cx:"5",cy:"8",r:"1.25",fill:"currentColor"}),(0,We.jsx)("circle",{cx:"11",cy:"8",r:"1.25",fill:"currentColor"}),(0,We.jsx)("circle",{cx:"5",cy:"12",r:"1.25",fill:"currentColor"}),(0,We.jsx)("circle",{cx:"11",cy:"12",r:"1.25",fill:"currentColor"})]})}function tC({className:e=""}){return(0,We.jsxs)("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",className:e,children:[(0,We.jsx)("path",{d:"M8 3.5v9",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"}),(0,We.jsx)("path",{d:"M3.5 8h9",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]})}function nC({className:e=""}){return(0,We.jsx)("svg",{viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",className:e,children:(0,We.jsx)("path",{d:"M12 .5C5.65.5.5 5.65.5 12c0 5.08 3.29 9.39 7.86 10.91.58.11.79-.25.79-.56 0-.28-.01-1.2-.02-2.18-3.2.69-3.88-1.36-3.88-1.36-.52-1.33-1.28-1.68-1.28-1.68-1.05-.72.08-.71.08-.71 1.16.08 1.77 1.19 1.77 1.19 1.03 1.76 2.69 1.25 3.35.96.1-.74.4-1.25.72-1.54-2.56-.29-5.25-1.28-5.25-5.71 0-1.26.45-2.28 1.18-3.08-.12-.29-.51-1.46.11-3.05 0 0 .97-.31 3.17 1.18a10.9 10.9 0 0 1 5.77 0c2.2-1.49 3.17-1.18 3.17-1.18.62 1.59.23 2.76.11 3.05.74.8 1.18 1.82 1.18 3.08 0 4.44-2.69 5.41-5.26 5.69.41.35.78 1.05.78 2.11 0 1.52-.01 2.75-.01 3.12 0 .31.21.67.8.56A11.5 11.5 0 0 0 23.5 12C23.5 5.65 18.35.5 12 .5Z"})})}function rC({className:e=""}){return(0,We.jsx)("svg",{viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",className:e,children:(0,We.jsx)("path",{d:"M12 21.3 10.9 20.3C5.4 15.3 2 12.3 2 8.5 2 5.4 4.4 3 7.5 3c1.8 0 3.5.8 4.5 2.1C13 3.8 14.7 3 16.5 3 19.6 3 22 5.4 22 8.5c0 3.8-3.4 6.8-8.9 11.8L12 21.3Z"})})}function oC({className:e=""}){return(0,We.jsx)("svg",{viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",className:e,children:(0,We.jsx)("path",{d:"M6.25 4.7a.75.75 0 0 1 1.14-.64l8.1 5.05a1.05 1.05 0 0 1 0 1.78l-8.1 5.05a.75.75 0 0 1-1.14-.64V4.7Z"})})}function aC({className:e=""}){return(0,We.jsx)("svg",{viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",className:e,children:(0,We.jsx)("path",{d:"M6.25 4.5A1.25 1.25 0 0 1 7.5 3.25h.5a1.25 1.25 0 0 1 1.25 1.25v11A1.25 1.25 0 0 1 8 16.75h-.5a1.25 1.25 0 0 1-1.25-1.25v-11Zm4.5 0A1.25 1.25 0 0 1 12 3.25h.5a1.25 1.25 0 0 1 1.25 1.25v11A1.25 1.25 0 0 1 12.5 16.75H12a1.25 1.25 0 0 1-1.25-1.25v-11Z"})})}function iC({className:e=""}){return(0,We.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",className:e,children:[(0,We.jsx)("path",{d:"M2.75 6.5A1.75 1.75 0 0 1 4.5 4.75h3L9.4 6.4h6.1a1.75 1.75 0 0 1 1.75 1.75v6.35a1.75 1.75 0 0 1-1.75 1.75h-11A1.75 1.75 0 0 1 2.75 14.5v-8Z"}),(0,We.jsx)("path",{d:"M2.75 8h14.5"})]})}function lC({className:e=""}){return(0,We.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",className:e,children:[(0,We.jsx)("path",{d:"M10 3.25v5"}),(0,We.jsx)("path",{d:"M6.1 5.15a6.25 6.25 0 1 0 7.8 0"})]})}function xs({className:e=""}){return(0,We.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:[(0,We.jsx)("path",{d:"M12 20h9"}),(0,We.jsx)("path",{d:"M16.5 3.5a2.121 2.121 0 1 1 3 3L7 19l-4 1 1-4 12.5-12.5Z"})]})}function sC({className:e=""}){return(0,We.jsx)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:(0,We.jsx)("path",{d:"m5 12 4.25 4.25L19 6.5"})})}function eu({className:e=""}){return(0,We.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:[(0,We.jsx)("path",{d:"M3 6h18"}),(0,We.jsx)("path",{d:"M8 6V4.75A1.75 1.75 0 0 1 9.75 3h4.5A1.75 1.75 0 0 1 16 4.75V6"}),(0,We.jsx)("path",{d:"M18 6v12.25A1.75 1.75 0 0 1 16.25 20h-8.5A1.75 1.75 0 0 1 6 18.25V6"}),(0,We.jsx)("path",{d:"M10 10.5v5"}),(0,We.jsx)("path",{d:"M14 10.5v5"})]})}function Lf({className:e=""}){return(0,We.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:[(0,We.jsx)("rect",{x:"9",y:"9",width:"11",height:"11",rx:"2"}),(0,We.jsx)("path",{d:"M5 15V6a2 2 0 0 1 2-2h9"})]})}function tu(e,{requiresAuth:t=!0}={}){return Object.freeze({requiresAuth:t,fetchModels:async({apiKey:n,apiKeyEnv:r}={})=>{let o={endpoints:[e]};return n&&(o.apiKey=n),r&&(o.apiKeyEnv=r),((await fetchJson("/api/config/discover-provider-models",{method:"POST",headers:Rt,body:JSON.stringify(o)})).result?.models||[]).map(i=>String(i||"").trim()).filter(Boolean)}})}var nu=Object.freeze([Object.freeze({key:"custom",category:"api",label:"Custom",description:"Generic OpenAI-compatible API provider.",providerName:"My Provider",providerId:"my-provider",endpoint:"",apiKeyEnv:"",defaultModels:Object.freeze({openai:Object.freeze(["gpt-4o-mini","gpt-4.1-mini"]),claude:Object.freeze(["claude-3-5-sonnet","claude-3-5-haiku"])}),rateLimitDefaults:Object.freeze({limit:60,windowValue:1,windowUnit:"minute"})}),Object.freeze({key:"groq",category:"api",label:"Groq",description:"Groq cloud inference with Llama, Qwen, and GPT-OSS models.",providerName:"Groq",providerId:"groq",endpoint:"https://api.groq.com/openai/v1",apiKeyEnv:"",defaultModels:Object.freeze(["llama-3.3-70b-versatile","llama-3.1-8b-instant"]),rateLimitDefaults:Object.freeze({limit:30,windowValue:1,windowUnit:"minute"}),freeTierRpm:Object.freeze({host:"api.groq.com",models:Object.freeze({"llama-3.1-8b-instant":30,"llama-3.3-70b-versatile":30,"openai/gpt-oss-20b":30,"openai/gpt-oss-120b":15,"qwen/qwen3-32b":30,"meta-llama/llama-4-scout-17b-16e-instruct":15,"moonshotai/kimi-k2-instruct":15,_default:30})}),discover:tu("https://api.groq.com/openai/v1")}),Object.freeze({key:"gemini",category:"api",label:"Google Gemini",description:"Google Gemini models via OpenAI-compatible endpoint.",providerName:"Google Gemini",providerId:"gemini",endpoint:"https://generativelanguage.googleapis.com/v1beta/openai",apiKeyEnv:"",defaultModels:Object.freeze(["gemini-3-flash-preview","gemini-3.1-flash-lite-preview"]),rateLimitDefaults:Object.freeze({limit:10,windowValue:1,windowUnit:"minute"}),freeTierRpm:Object.freeze({host:"generativelanguage.googleapis.com",models:Object.freeze({"gemini-3-flash-preview":15,"gemini-3.1-flash-lite-preview":15,"gemini-3.1-pro-preview":5,"gemini-2.5-flash":15,"gemini-2.5-flash-lite":15,"gemini-2.5-pro":5,_default:10})}),discover:tu("https://generativelanguage.googleapis.com/v1beta/openai")}),Object.freeze({key:"zai-global",category:"api",label:"Z.AI Coding (Global)",description:"Z.AI coding models via the global coding endpoint.",providerName:"Z.AI Coding",providerId:"zai-coding",endpoint:"https://api.z.ai/api/coding/paas/v4",apiKeyEnv:"",defaultModels:Object.freeze(["glm-5.1","glm-5V-turbo","glm-4.7","glm-4.7-flash"]),rateLimitDefaults:Object.freeze({limit:60,windowValue:1,windowUnit:"minute"}),discover:tu("https://api.z.ai/api/coding/paas/v4")}),Object.freeze({key:"zai-china",category:"api",label:"Z.AI Coding (China)",description:"Z.AI coding models via the China mainland coding endpoint.",providerName:"Z.AI Coding CN",providerId:"zai-coding-cn",endpoint:"https://open.bigmodel.cn/api/coding/paas/v4",apiKeyEnv:"",defaultModels:Object.freeze(["glm-5.1","glm-5V-turbo","glm-4.7","glm-4.7-flash"]),rateLimitDefaults:Object.freeze({limit:60,windowValue:1,windowUnit:"minute"}),discover:tu("https://open.bigmodel.cn/api/coding/paas/v4")}),Object.freeze({key:"openrouter",category:"api",label:"OpenRouter",description:"300+ models from multiple providers, including free tier models.",providerName:"OpenRouter",providerId:"openrouter",endpoint:"https://openrouter.ai/api/v1",apiKeyEnv:"",defaultModels:Object.freeze(["qwen/qwen3.6-plus:free","google/gemma-4-26b-a4b-it"]),rateLimitDefaults:Object.freeze({limit:200,windowValue:1,windowUnit:"minute"}),discover:tu("https://openrouter.ai/api/v1",{requiresAuth:!1})}),Object.freeze({key:"oauth-gpt",category:"subscription",label:"ChatGPT",description:"Use ChatGPT subscription login with GPT models.",providerName:"ChatGPT Subscription",providerId:"chatgpt-sub",subscriptionType:"chatgpt-codex",format:"openai",defaultModels:Fh,rateLimitDefaults:Object.freeze({limit:999999,windowValue:1,windowUnit:"month"}),warning:"chatgpt-tos"}),Object.freeze({key:"oauth-claude",category:"subscription",label:"Claude",description:"Use Claude Code subscription login with Claude models.",providerName:"Claude Subscription",providerId:"claude-sub",subscriptionType:"claude-code",format:"claude",defaultModels:Kh,rateLimitDefaults:Object.freeze({limit:999999,windowValue:1,windowUnit:"month"}),warning:"claude-extra-usage"})]),fo=Object.freeze(Object.fromEntries(nu.map(e=>[e.key,e])));function Or(e){return fo[e]||fo.custom}function cC(e){return nu.find(t=>t.freeTierRpm?.host===e)||null}function uC(e){return nu.filter(t=>t.category===e)}var Jh=Object.freeze(Object.fromEntries(nu.filter(e=>e.freeTierRpm?.host&&e.freeTierRpm?.models).map(e=>[e.freeTierRpm.host,e.freeTierRpm.models]))),ru=new Map,Df=null;function dC(){return Df||(Df=Promise.allSettled(nu.filter(e=>e.discover&&!e.discover.requiresAuth).map(async e=>{try{let t=await e.discover.fetchModels();t.length&&ru.set(e.key,t)}catch{}})),Df)}function If(e){return Array.from(new Set(String(e||"").split(/[\s,]+/).map(t=>t.trim()).filter(Boolean)))}function di(e){let t=String(e||"").trim();if(!t)return!1;try{let n=new URL(t);return n.protocol==="http:"||n.protocol==="https:"}catch{return!1}}function Qn(e=[],t=""){return Array.from(new Set([...(Array.isArray(e)?e:[]).map(n=>String(n||"").trim()).filter(Boolean),...If(t)]))}function zf(e=[],t,n){if(!t||!n||t===n)return e;let r=[...e],o=r.findIndex(l=>l?.key===t),a=r.findIndex(l=>l?.key===n);if(o===-1||a===-1)return e;let[i]=r.splice(o,1);return r.splice(a,0,i),r}function Ss(e=[],t,n=r=>r?.key){if(!t)return e;let r=e.findIndex(i=>n(i)===t);if(r<=0)return e;let o=[...e],[a]=o.splice(r,1);return o.splice(r-1,0,a),o}function Bf(e=[],t,n=r=>r?.key){if(!t)return e;let r=e.findIndex(i=>n(i)===t);if(r===-1||r>=e.length-1)return e;let o=[...e],[a]=o.splice(r,1);return o.splice(r+1,0,a),o}function ey(e,t=[]){let n=e?.getBoundingClientRect?.();return{top:Number.isFinite(n?.top)?Number(n.top):Number.NaN,left:Number.isFinite(n?.left)?Number(n.left):Number.NaN,windowX:typeof window>"u"?0:Number(window.scrollX||window.pageXOffset||0),windowY:typeof window>"u"?0:Number(window.scrollY||window.pageYOffset||0),containers:t.map(r=>({top:Number(r?.scrollTop||0),left:Number(r?.scrollLeft||0)}))}}function fC(e,t,n=.5){return!e||!t||!Number.isFinite(t.top)||!Number.isFinite(t.left)||Math.abs(t.top-e.top)>n||Math.abs(t.left-e.left)>n||Math.abs(t.windowX-e.windowX)>n||Math.abs(t.windowY-e.windowY)>n||(e.containers?.length||0)!==(t.containers?.length||0)?!1:t.containers.every((r,o)=>{let a=e.containers[o];return a?Math.abs(r.top-a.top)<=n&&Math.abs(r.left-a.left)<=n:!1})}function ty(e){let t=String(e?.category||"").trim().toLowerCase();if(t==="usage"||t==="router")return t;let n=String(e?.source||"").trim().toLowerCase(),r=String(e?.kind||"").trim().toLowerCase();return n==="runtime"||r.startsWith("request")||r.startsWith("fallback")?"usage":"router"}function xa(e,t){if(e?.classList){if(t){e.classList.add(...Xh);return}e.classList.remove(...Xh)}}function ws(e){return typeof e?.closest=="function"?e.closest("[data-reorder-row='true']"):null}function Uf(e){let t=String(e||"").trim().toLowerCase();return t==="automatic"||t==="smart"?"auto":t==="rr"?"round-robin":t==="weighted-round-robin"||t==="weighted_rr"?"weighted-rr":t==="quota-aware-weighted-round-robin"?"quota-aware-weighted-rr":Object.prototype.hasOwnProperty.call(_f,t)?t:"ordered"}function Pf(e){let t=Uf(e);return _f[t]||_f.ordered}function mr(e=[]){return Array.from(new Set((e||[]).map(t=>String(t||"").trim()).filter(Boolean)))}function As(e=[]){let t=new Set;for(let n of(e||[]).map(r=>String(r||"").trim()).filter(Boolean)){if(t.has(n))return!0;t.add(n)}return!1}function mC(e=[],t="",n=-1){let r=String(t||"").trim().toLowerCase();return r?(e||[]).some((o,a)=>a!==n&&String(o?.name||"").trim().toLowerCase()===r):!1}function pC(){return{id:"",strategy:"auto",targets:[{ref:""}],fallbackTargets:[]}}function gC(e="",t={},{isNew:n=!1}={}){return JSON.stringify({aliasId:n?"":String(e||"").trim(),id:String(t?.id||(n?"":e)||"").trim(),strategy:String(t?.strategy||"ordered").trim()||"ordered",targets:(Array.isArray(t?.targets)?t.targets:[]).map(r=>String(r?.ref||"").trim()),fallbackTargets:(Array.isArray(t?.fallbackTargets)?t.fallbackTargets:[]).map(r=>String(r?.ref||"").trim())})}function ou(){if(typeof globalThis<"u"&&globalThis.crypto?.getRandomValues){let t=new Uint8Array(18);return globalThis.crypto.getRandomValues(t),`gw_${Array.from(t,n=>n.toString(16).padStart(2,"0")).join("")}`}return`gw_${Math.random().toString(36).slice(2)}${Date.now().toString(36)}`}function mo(e){return/^[A-Z][A-Z0-9_]*$/.test(String(e||"").trim())}function _r(e){let t=String(e||"").toLowerCase().replace(/[^a-z0-9-]+/g,"-").replace(/^-+|-+$/g,"").replace(/-{2,}/g,"-");return t?/^[a-z]/.test(t)?t:`provider-${t}`:""}function ny(e,t){let n=Number.parseInt(String(e||""),10);return Number.isFinite(n)&&n>0?n:t}function au(e={}){return mr((Array.isArray(e?.models)?e.models:[]).map(t=>t?.id))}function iu(e={},{keyPrefix:t="rate-limit",index:n=0,defaults:r=fo.custom.rateLimitDefaults,useDefaults:o=!0}={}){let a=String(e?.sourceId||e?.id||"").trim(),i=e?.requests??e?.limit,l=e?.windowValue??e?.window?.size??e?.window?.value,s=e?.windowUnit??e?.window?.unit;return{key:String(e?.key||"").trim()||`${t}-${a||n+1}`,sourceId:a,models:uo(Array.isArray(e?.models)?e.models:[]),modelsDraft:String(e?.modelsDraft||""),requests:i!==void 0?String(i):o?String(r.limit??""):"",windowValue:l!==void 0?String(l):o?String(r.windowValue??""):"",windowUnit:String(s!==void 0?s:o?r.windowUnit:"minute").trim()||"minute"}}function lu(e=[],{keyPrefix:t="rate-limit",defaults:n=fo.custom.rateLimitDefaults,includeDefault:r=!0}={}){return(Array.isArray(e)&&e.length>0?e:r?[{models:["all"],requests:n.limit,window:{size:n.windowValue,unit:n.windowUnit}}]:[]).map((a,i)=>iu(a,{keyPrefix:t,index:i,defaults:n,useDefaults:!0}))}function jf(e={}){return uo(Qn(e?.models,e?.modelsDraft||"")).length===0&&!String(e?.requests??"").trim()&&!String(e?.windowValue??"").trim()}function pr(e=[]){return(Array.isArray(e)?e:[]).map((t,n)=>({key:String(t?.key||`rate-limit-${n+1}`).trim()||`rate-limit-${n+1}`,sourceId:String(t?.sourceId||"").trim(),models:uo(Qn(t?.models,t?.modelsDraft||"")),requests:String(t?.requests??"").trim(),windowValue:String(t?.windowValue??"").trim(),windowUnit:Xi(t?.windowUnit,"minute")})).filter((t,n)=>!jf({...e?.[n]||{},...t}))}function ry(e=[]){return pr(e).map(t=>({sourceId:t.sourceId,models:t.models,requests:t.requests,windowValue:t.windowValue,windowUnit:t.windowUnit}))}function hC(e=[]){let t=Array.isArray(e)?e.filter(Boolean):[];return t.length===0?"":t.length===1?kA(t[0]):`${t.length} rate limits`}function Do(e){return JSON.parse(JSON.stringify(e??{}))}function oy(e,t={}){try{let n=JSON.parse(String(e||"{}"));return n&&typeof n=="object"&&!Array.isArray(n)?n:t}catch{return t}}function yC(e,t={}){try{let n=String(e||"").trim()?JSON.parse(e):{};return!n||typeof n!="object"||Array.isArray(n)?{value:t,parseError:"Config root must be a JSON object."}:{value:n,parseError:""}}catch(n){return{value:t,parseError:n instanceof Error?n.message:String(n)}}}function Cs(e){return e?new Date(e).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit"}):"\u2014"}function vC(e){return e?.parseError?"danger":(e?.validationErrors||[]).length>0?"warning":"success"}function Vf(e=Zr){return[{name:"User-Agent",value:String(e||Zr)}]}function Hf(e=[]){return(Array.isArray(e)?e:[]).map(t=>({name:String(t?.name||""),value:t?.value===void 0||t?.value===null?"":String(t.value)}))}function R2(e,t=Zr){if(!e||typeof e!="object"||Array.isArray(e))return Vf(t);let n=Object.entries(e).map(([r,o])=>({name:String(r||""),value:o==null?"":String(o)})).filter(r=>r.name.trim());return n.length>0?n:Vf(t)}function Ff(e=[]){let t={};for(let n of Hf(e)){let r=String(n.name||"").trim();if(!r)continue;let o=r.toLowerCase()==="user-agent",a=String(n.value||"").trim();!a&&!o||(t[r]=a)}return t}function iy(e={}){return JSON.stringify({connectionType:String(e?.connectionType||""),endpoints:Array.isArray(e?.endpoints)?e.endpoints.map(t=>String(t||"").trim()).filter(Boolean):[],apiKeyEnv:String(e?.apiKeyEnv||"").trim(),headers:Ff(e?.headerRows||[])})}function Rs(e,t){return String(e||"").trim().startsWith(`${t}/`)}function su(e){let t=Object.keys(e?.modelAliases||{});if(t.includes(xt))return xt;if(t.length>0)return t[0];let n=(e?.providers||[]).find(r=>(r?.models||[]).length>0);return n?.models?.[0]?.id?`${n.id}/${n.models[0].id}`:void 0}function SC(e,t){let n=Do(e&&typeof e=="object"?e:{});n.providers=(Array.isArray(n.providers)?n.providers:[]).filter(i=>i?.id!==t);let r=new Set((n.providers||[]).flatMap(i=>(i.models||[]).map(l=>`${i.id}/${l.id}`))),o=n.modelAliases&&typeof n.modelAliases=="object"?n.modelAliases:{},a={};for(let[i,l]of Object.entries(o)){let s=Array.isArray(l?.targets)?l.targets.filter(d=>!Rs(d?.ref,t)):[],c=Array.isArray(l?.fallbackTargets)?l.fallbackTargets.filter(d=>!Rs(d?.ref,t)):[];a[i]={...l,...Array.isArray(l?.targets)?{targets:s}:{},...Array.isArray(l?.fallbackTargets)?{fallbackTargets:c}:{}}}return n.modelAliases=a,n.defaultModel&&!n.modelAliases?.[n.defaultModel]&&!r.has(n.defaultModel)&&(n.defaultModel=xt),n?.amp?.defaultRoute&&!n.modelAliases?.[n.amp.defaultRoute]&&!r.has(n.amp.defaultRoute)&&(n.amp={...n.amp,defaultRoute:n.defaultModel||su(n)}),n}function Sa(e={}){let t=Array.isArray(e?.metadata?.endpointCandidates)?e.metadata.endpointCandidates:[],n=[e?.baseUrl,...Object.values(e?.baseUrlByFormat||{})];return Array.from(new Set((t.length>0?t:n).map(r=>String(r||"").trim()).filter(Boolean)))}function E2(e={}){let t=String(e?.apiKeyEnv||"").trim();if(t)return{apiKeyEnv:t};let n=String(e?.apiKey||e?.credential||"").trim();return n?{apiKey:n}:{}}function ly(e={},t={}){if(e&&Object.prototype.hasOwnProperty.call(e,"credentialInput")){let n=String(e?.credentialInput||"").trim();return n?mo(n)?{apiKeyEnv:n}:{apiKey:n}:{}}return E2(t)}function po(e={}){return e?.type==="subscription"?"subscription":"api"}function wC(e={}){if(e?.type==="subscription")return e?.subscriptionType==="claude-code"?"oauth-claude":"oauth-gpt";let t=Sa(e);for(let n of t)try{let r=new URL(String(n||"")).hostname,o=cC(r);if(o)return o.key}catch{}return"custom"}function AC(e={}){let t=Sa(e),n=po(e),r=wC(e),o=Kf(r);return{id:String(e?.id||"").trim(),name:String(e?.name||e?.id||"").trim(),credentialInput:n==="api"?String(e?.apiKeyEnv||e?.apiKey||e?.credential||"").trim():"",endpoints:n==="api"?t:[],endpointDraft:"",rateLimitRows:n==="api"?lu(e?.rateLimits,{keyPrefix:`provider-${e?.id||"new"}-rate-limit`,defaults:o,includeDefault:!0}):[]}}function CC(e){return Or(e).label||"API Key"}function sy(e){for(let t of e||[])try{let n=new URL(String(t||"")).hostname;if(Jh[n])return n}catch{}return null}function RC(e,t){let n=Jh[e];if(!n||!Array.isArray(t)||t.length===0)return null;let r=n._default||30;return t.map((o,a)=>iu({models:[String(o)],requests:n[o]||r,window:{size:1,unit:"minute"}},{keyPrefix:"preset-rl",index:a}))}function EC(e){let t=new Map;for(let n of e){let r=n.toLowerCase(),o=r.includes("flash-lite")?"flash-lite":r.includes("flash")?"flash":r.includes("pro")?"pro":r;t.has(o)||t.set(o,n)}return[...t.values()]}function cy(e,t="openai"){let n=ru.get(e);if(n?.length)return[...n];let o=Or(e).defaultModels;return o&&typeof o=="object"&&!Array.isArray(o)?[...o[t]||o.openai||[]]:Array.isArray(o)?[...o]:[]}function Kf(e){return Or(e).rateLimitDefaults||fo.custom.rateLimitDefaults}function T2(e,t,n=[]){let r=new Set((n||[]).map(a=>a?.id).filter(Boolean));if(!r.has(e))return{providerId:e,providerName:t};let o=2;for(;r.has(`${e}-${o}`);)o++;return{providerId:`${e}-${o}`,providerName:`${t} ${o}`}}function ay(e,t="openai"){let n=Or(e),r=Kf(e),o=n.category==="api";return{providerName:n.providerName,providerId:n.providerId,endpoints:o&&n.endpoint?[n.endpoint]:[],apiKeyEnv:o&&n.apiKeyEnv||"",subscriptionProfile:"",modelIds:e==="custom"?[]:cy(e,t),rateLimitRows:o?lu([],{keyPrefix:`quick-start-${e}-rate-limit`,defaults:r,includeDefault:!0}):[]}}function TC(e={},{baseConfig:t={},nextCategory:n,nextPresetKey:r,defaultProviderUserAgent:o=Zr}={}){let a=Or(r),i=n==="api",l=e.selectedConnection||"custom",s=Or(l),c=ay(l),d=Array.isArray(t?.providers)?t.providers:[],u=T2(a.providerId,a.providerName,d),f=e.connectionType==="api"?Vf(o):[],p=i?Vf(o):[],v=Hf(e.headerRows||[]),m=!e.providerId||e.providerId===s.providerId||e.providerId===c.providerId||e.providerId===_r(e.providerName||""),b=!e.providerName||e.providerName===s.providerName||e.providerName===c.providerName,h=!e.subscriptionProfile||e.subscriptionProfile===c.subscriptionProfile,g=Array.isArray(s.defaultModels)?s.defaultModels:[],y=(e.modelIds||[]).length===0||JSON.stringify(e.modelIds||[])===JSON.stringify(g)||JSON.stringify(e.modelIds||[])===JSON.stringify(c.modelIds||[]),x=JSON.stringify(v)===JSON.stringify(f),w=Qn(e.endpoints,e.endpointDraft),R=Array.isArray(c.endpoints)?c.endpoints:[],E=w.length===0||JSON.stringify(w)===JSON.stringify(R),A=String(e.apiKeyEnv||"").trim(),N=!A||A===String(s.apiKeyEnv||"").trim()||A===String(c.apiKeyEnv||"").trim(),L=Array.isArray(a.defaultModels)?[...a.defaultModels]:[],j=ay(r);return{...e,connectionType:n,selectedConnection:r,providerName:b?u.providerName:e.providerName,providerId:m?u.providerId:e.providerId,endpoints:i?E?[...j.endpoints]:Array.isArray(e.endpoints)?e.endpoints:[]:[],endpointDraft:i?E?"":String(e.endpointDraft||""):"",apiKeyEnv:i?N?a.apiKeyEnv||"":e.apiKeyEnv:"",subscriptionProfile:i?"":h?j.subscriptionProfile:e.subscriptionProfile,modelIds:y?L.length>0?L:j.modelIds:e.modelIds,modelContextWindows:y?{}:e.modelContextWindows||{},modelDraft:"",rateLimitRows:i?lu([],{keyPrefix:`quick-start-${r}-rate-limit`,defaults:a.rateLimitDefaults||fo.custom.rateLimitDefaults,includeDefault:!0}):[],headerRows:i?v.length===0||x?p:v:[]}}function N2(e={},t="",{aliasId:n=""}={}){if(!t)return null;let r=e?.modelAliases&&typeof e.modelAliases=="object"&&!Array.isArray(e.modelAliases)?e.modelAliases:{},o=n?[[n,r[n]]]:Object.entries(r);for(let[a,i]of o){if(!i||typeof i!="object")continue;let l=Array.isArray(i?.targets)?i.targets:[],s=Array.isArray(i?.fallbackTargets)?i.fallbackTargets:[];if([...l,...s].some(c=>Rs(c?.ref,t)))return{aliasId:a,alias:i}}return null}function M2(e,t="",n=[]){let r=Array.from(new Set((n||[]).map(l=>String(l||"").trim()).filter(Boolean)));if(!t||!e?.alias)return r;let o=new Set(r),a=Array.isArray(e.alias?.targets)?e.alias.targets:[],i=[];for(let l of a){let s=String(l?.ref||"").trim();if(!Rs(s,t))continue;let c=s.slice(t.length+1);!o.has(c)||i.includes(c)||i.push(c)}return i.length>0?i:r}function $f(e=[],t=[]){let n=Array.from(new Set((t||[]).map(a=>String(a||"").trim()).filter(Boolean))),r=new Set(n),o=[];for(let a of(e||[]).map(i=>String(i||"").trim()).filter(Boolean))r.has(a)&&(o.push(a),r.delete(a));return[...o,...n.filter(a=>r.has(a))]}function bC(e,{fromProviderId:t,toProviderId:n,allowedModelIds:r}){if(!e||typeof e!="object")return e;let o=String(e.ref||"").trim();if(!t||!Rs(o,t))return e;let a=o.slice(t.length+1);return r.has(a)?{...e,ref:`${n}/${a}`}:null}function O2(e,t){if(!e||typeof e!="object")return e;let n={...e},r=Array.isArray(e.targets),o=Array.isArray(e.fallbackTargets);return r&&(n.targets=e.targets.map(a=>bC(a,t)).filter(Boolean)),o&&(n.fallbackTargets=e.fallbackTargets.map(a=>bC(a,t)).filter(Boolean)),n}function _2(e,{fromProviderId:t,toProviderId:n,allowedModelIds:r}){let o=String(e||"").trim();if(!o||!t||!Rs(o,t))return o;let a=o.slice(t.length+1);return r.has(a)?`${n}/${a}`:""}function k2(e=[]){return new Set((e||[]).flatMap(t=>(t?.models||[]).map(n=>`${t.id}/${n.id}`)))}function NC(e={},{seedMode:t="blank",targetProviderId:n="",defaultProviderUserAgent:r=Zr}={}){let o=Array.isArray(e?.providers)?e.providers:[],a=n&&o.find(y=>y?.id===n)||null,i=t==="existing"||!!a,l=i?a||o[0]||{}:{},s=i?po(l):"api",c=i?wC(l):"custom",d=l?.format==="claude"?"claude":"openai",u=ay(c,d),f=Kf(c),p=Array.isArray(l?.models)?l.models.map(y=>y?.id).filter(Boolean):[],v=String(l?.id||u.providerId||_r(l?.name||u.providerName||"my-provider")||"my-provider"),m=i?N2(e,v,{aliasId:xt}):null,b=p.length>0?p:[...u.modelIds],h=Object.fromEntries((Array.isArray(l?.models)?l.models:[]).map(y=>{let x=String(y?.id||"").trim(),w=Number(y?.contextWindow);return!x||!Number.isFinite(w)||w<=0?null:[x,Math.floor(w)]}).filter(Boolean)),g=s==="api"?R2(l?.headers,r):[];return{connectionType:s,selectedConnection:c,providerName:String(l?.name||u.providerName),providerId:v,endpoints:Sa(l).length>0?Sa(l):u.endpoints,endpointDraft:"",apiKeyEnv:String(l?.apiKeyEnv||l?.apiKey||u.apiKeyEnv),subscriptionProfile:String(l?.subscriptionProfile||u.subscriptionProfile),modelIds:b,modelContextWindows:h,modelDraft:"",aliasModelIds:M2(m,v,b),headerRows:g,rateLimitRows:s==="api"?lu(l?.rateLimits,{keyPrefix:`quick-start-${v}-rate-limit`,defaults:f,includeDefault:!0}):[],enableAlias:!0,aliasId:xt,sourceAliasId:m?.aliasId||"",useAliasAsDefault:i?!!m:!0}}function xC(e,t={},n={}){return(e||[]).map(r=>{let o=t[r],a=Number(n?.[r]);return{id:r,...o?{formats:[o]}:{},...Number.isFinite(a)&&a>0?{contextWindow:Math.floor(a)}:{}}})}function uy(e={}){let t=_r(e?.providerId||e?.providerName||"")||"";return String(e?.subscriptionProfile||t||"default").trim()||t||"default"}function MC(e={},t,n=null,{targetProviderId:r=""}={}){let o=Do(e&&typeof e=="object"?e:{}),a=_r(t?.providerId||t?.providerName||"my-provider")||"my-provider",i=String(t?.providerName||a).trim()||a,l=Array.isArray(t?.modelIds)?t.modelIds.map(D=>String(D||"").trim()).filter(Boolean):[],s=$f(t?.aliasModelIds,l),c=Kf(t?.selectedConnection||t?.connectionType),d=Array.isArray(t?.rateLimitRows)?t.rateLimitRows:[],u=d.length>0?d:[{models:["all"],requests:c.limit,windowValue:c.windowValue,windowUnit:c.windowUnit}],f=Array.isArray(e?.providers)&&e.providers.length>0,p=String(r||"").trim(),v=String(t?.sourceAliasId||"").trim(),m;if(t?.connectionType==="api"){let D=Array.isArray(t?.endpoints)?t.endpoints.map(je=>String(je||"").trim()).filter(Boolean):[],W=Array.isArray(n?.workingFormats)?n.workingFormats.filter(Boolean):[],ie=n?.preferredFormat||W[0]||"openai",ye=n?.baseUrlByFormat&&typeof n.baseUrlByFormat=="object"?n.baseUrlByFormat:D[0]?{[ie]:D[0]}:void 0,V=ie&&ye?.[ie]||ye?.openai||ye?.claude||D[0]||"",ee=Array.isArray(n?.models)&&n.models.length>0?s.filter(je=>n.models.includes(je)):s,Q=ee.length>0?ee:s,F=D.length>1?{endpointCandidates:D}:void 0,P=String(t?.apiKeyEnv||"").trim(),ct=mo(P)?{apiKeyEnv:P}:P?{apiKey:P}:{},X=Ff(t?.headerRows||[]);m={id:a,name:i,baseUrl:V,baseUrlByFormat:ye,...ct,...Object.keys(X).length>0?{headers:X}:{},format:ie,formats:W.length>0?W:[ie],models:xC(Q,n?.modelPreferredFormat||{},t?.modelContextWindows||{}),...F?{metadata:F}:{}}}else{let D=Or(t?.selectedConnection||"oauth-gpt"),W=D.subscriptionType||"chatgpt-codex",ie=D.format||"openai";m={id:a,name:i,type:"subscription",subscriptionType:W,subscriptionProfile:uy(t),format:ie,formats:[ie],models:xC(s,{},t?.modelContextWindows||{})}}m.rateLimits=t?.connectionType==="api"?Wc(u,{fallbackRequests:c.limit,fallbackWindowValue:c.windowValue,fallbackWindowUnit:c.windowUnit}):Wc([{models:["all"],requests:c.limit,windowValue:c.windowValue,windowUnit:c.windowUnit}],{fallbackRequests:c.limit,fallbackWindowValue:c.windowValue,fallbackWindowUnit:c.windowUnit}),String(o.masterKey||"").trim()||(o.masterKey=ou()),o.version=typeof o.version=="number"?o.version:2;let b=Array.isArray(o.providers)?o.providers:[],h=p?b.findIndex(D=>D?.id===p):-1;h===-1&&(h=b.findIndex(D=>D?.id===a)),o.providers=h===-1?[...b,m]:b.map((D,W)=>W===h?m:D);let g=o.modelAliases&&typeof o.modelAliases=="object"&&!Array.isArray(o.modelAliases)?o.modelAliases:{},y=new Set((m.models||[]).map(D=>D.id)),x=!f||t?.useAliasAsDefault===!0,w={};for(let[D,W]of Object.entries(g)){let ie=p?O2(W,{fromProviderId:p,toProviderId:a,allowedModelIds:y}):W;w[D]=ie}let R=m.models?.[0]?.id?`${a}/${m.models[0].id}`:"",E=(s.length>0?s:(m.models||[]).map(D=>D.id)).filter(D=>y.has(D)),A=xt,N=w[A]&&typeof w[A]=="object"?w[A]:{id:A,strategy:"ordered",targets:[],fallbackTargets:[]};w[A]=x?{...N,id:A,strategy:"ordered",targets:E.map(D=>({ref:`${a}/${D}`})),fallbackTargets:[]}:{...N,id:A,strategy:String(N.strategy||"ordered").trim()||"ordered",targets:Array.isArray(N.targets)?N.targets:[],fallbackTargets:Array.isArray(N.fallbackTargets)?N.fallbackTargets:[]},o.modelAliases=w;let L=k2(o.providers);o.defaultModel=xt,(!o.amp||typeof o.amp!="object"||Array.isArray(o.amp))&&(o.amp={restrictManagementToLocalhost:!0,overrides:{entities:[]}}),o.amp.restrictManagementToLocalhost===void 0&&(o.amp.restrictManagementToLocalhost=!0),(!o.amp.overrides||typeof o.amp.overrides!="object"||Array.isArray(o.amp.overrides))&&(o.amp.overrides={entities:[]}),Array.isArray(o.amp.overrides.entities)||(o.amp.overrides.entities=[]);let j=String(o.amp.defaultRoute||"").trim();return p&&(j=_2(j,{fromProviderId:p,toProviderId:a,allowedModelIds:y})),(x||!j||!o.modelAliases?.[j]&&!L.has(j))&&(j=xt),j&&(o.amp.defaultRoute=j),(!o.metadata||typeof o.metadata!="object"||Array.isArray(o.metadata))&&(o.metadata={}),o}function Gf(e={}){return(Array.isArray(e?.providers)?e.providers:[]).some(n=>{if(n?.enabled===!1)return!1;let r=Array.isArray(n?.models)?n.models.filter(a=>String(a?.id||"").trim()):[],o=Array.isArray(n?.rateLimits)?n.rateLimits:[];return r.length>0&&o.length>0})}function OC(e,t,n={},{targetProviderId:r=""}={}){let o=_r(t?.providerId||t?.providerName||""),a=Qn(t?.modelIds,t?.modelDraft),i=$f(t?.aliasModelIds,a),l=pr(t?.rateLimitRows),s=t?.connectionType==="api"?Qn(t?.endpoints,t?.endpointDraft):[],c=Array.isArray(n?.providers)?n.providers:[],d=n?.modelAliases&&typeof n.modelAliases=="object"&&!Array.isArray(n.modelAliases)?n.modelAliases:{};if(e===0){if(!String(t?.providerName||"").trim())return"Add a provider name to continue.";if(!o||!Zi.test(o))return"Provider id must start with a letter and use lowercase letters, numbers, or hyphens.";if(c.some(u=>u?.id===o&&u?.id!==r))return"Provider id already exists. Choose another id or edit that provider instead.";if(t?.connectionType==="api"){if(s.length===0)return"Add at least one endpoint to continue.";if(!String(t?.apiKeyEnv||"").trim())return"API key or env is required before testing config."}}if(e===1){if(a.length===0)return"Add at least one model id.";if(t?.connectionType==="api"){let u=ko(l,{knownModelIds:a,requireAtLeastOne:!0});if(u)return u}}return e===2&&t?.useAliasAsDefault&&Object.prototype.hasOwnProperty.call(d,String(t?.aliasId||xt).trim())===!1,""}function _C(e){return String(e||"").split("-").filter(Boolean).map(t=>t.charAt(0).toUpperCase()+t.slice(1)).join(" ")}function kC(e){let t=String(e||"").trim();if(!t)return"";let n=Cf.find(a=>a?.id===t);if(n?.defaultMatch)return String(n.defaultMatch).trim();let r=Gc.find(a=>a?.id===t);if(!r)return"";let o=[...new Set((r.signatures||[]).map(a=>Cf.find(i=>i?.id===a)?.defaultMatch).map(a=>String(a||"").trim()).filter(Boolean))];return o.length===1?o[0]:o.join(" | ")}function LC(e){let t=String(e||"").trim();return t?t.length<=10?`${t.slice(0,2)}\u2026${t.slice(-2)}`:`${t.slice(0,4)}\u2026${t.slice(-4)}`:""}function Xn(e={}){let t=Do(e&&typeof e=="object"&&!Array.isArray(e)?e:{});return(!t.amp||typeof t.amp!="object"||Array.isArray(t.amp))&&(t.amp={}),(!t.amp.routes||typeof t.amp.routes!="object"||Array.isArray(t.amp.routes))&&(t.amp.routes={}),Array.isArray(t.amp.rawModelRoutes)||(t.amp.rawModelRoutes=[]),(!t.amp.overrides||typeof t.amp.overrides!="object"||Array.isArray(t.amp.overrides))&&(t.amp.overrides={}),Array.isArray(t.amp.overrides.entities)||(t.amp.overrides.entities=[]),t.amp.restrictManagementToLocalhost===void 0&&(t.amp.restrictManagementToLocalhost=!0),String(t.amp.preset||"").trim()||(t.amp.preset="builtin"),String(t.amp.defaultRoute||"").trim()||(t.amp.defaultRoute=String(t.defaultModel||su(t)||"").trim()),t}function Io(e,t=0,{min:n=0,max:r=Number.MAX_SAFE_INTEGER}={}){let o=Number.parseInt(String(e??""),10);return Number.isFinite(o)?Math.min(r,Math.max(n,o)):t}function L2(){return new Set([...Gc.map(e=>e.id),...Cf.map(e=>e.id)].map(e=>String(e||"").trim()).filter(Boolean))}var D2=L2();function cu(e){return D2.has(String(e||"").trim())}function qf(e){(!e.routes||typeof e.routes!="object"||Array.isArray(e.routes))&&(e.routes={}),Array.isArray(e.rawModelRoutes)||(e.rawModelRoutes=[])}function DC(e={}){return String(e?.sourceRouteKey||"").trim()}function dy(e={}){let n=Xn(e).amp;qf(n);let r=new Map,o=[];for(let[l,s]of(n.rawModelRoutes||[]).entries()){let c=DC(s);if(c&&cu(c)){r.set(c,{mapping:s,index:l});continue}o.push({id:`raw:${l}`,source:"raw",index:l,routeKey:"",inbound:String(s?.from||"").trim(),outbound:String(s?.to||"").trim(),label:"Custom mapping",description:`Wildcard/raw match: ${String(s?.from||"").trim()||"(empty)"}`,defaultMatch:"",isCustom:!0,removable:!0})}let a=Gc.map(l=>{let s=String(l.id||"").trim(),c=kC(s),d=r.get(s)?.mapping||null;return{id:`route:${s}`,source:"route",routeKey:s,inbound:String(d?.from||c||s).trim(),outbound:String(d?.to||n.routes?.[s]||"").trim(),label:_C(s),description:l.description||"",defaultMatch:c,isCustom:!1,removable:!1}}),i=Object.entries(n.routes||{}).filter(([l])=>!Gc.some(s=>s.id===l)).map(([l,s])=>{let c=String(l||"").trim(),d=kC(c),u=cu(c);return{id:`route:${c}`,source:"route",routeKey:c,inbound:c,outbound:String(s||"").trim(),label:u?d||c:_C(c),description:u?`Route key: ${c}`:`Custom route key: ${c}`,defaultMatch:d,isCustom:!0,removable:!0}});return[...a,...i,...o]}function IC(e,t){return dy(e).find(n=>n.id===t)||null}function fy(e={},t,{inbound:n,outbound:r}={}){let o=Xn(e),a=o.amp;qf(a);let i=IC(o,t);if(!i)return o;let l=String(n??i.inbound??"").trim(),s=String(r??i.outbound??"").trim(),c=i.source==="route"?String(i.routeKey||"").trim():"",d=c?String(i.defaultMatch||"").trim():"",u=c?a.rawModelRoutes.findIndex(v=>DC(v)===c):-1,f=c&&cu(c),p=cu(l)?l:c&&d&&l===d?c:"";if(i.source==="route"&&i.routeKey&&delete a.routes[i.routeKey],i.source==="raw"&&Number.isInteger(i.index)&&a.rawModelRoutes.splice(i.index,1),u>=0&&a.rawModelRoutes.splice(u,1),p)return s&&(a.routes[p]=s),o;if(f){let v=d||c;return s&&(a.routes[c]=s),l&&l!==v&&a.rawModelRoutes.push({from:l,sourceRouteKey:c}),o}return l&&s&&a.rawModelRoutes.push({from:l,to:s}),o}function zC(e={},{inbound:t,outbound:n}={}){let r=Xn(e),o=r.amp;qf(o);let a=String(t||"").trim(),i=String(n||"").trim(),l=cu(a)?a:"";return!a||!i?r:l?(o.routes[l]=i,r):(o.rawModelRoutes.push({from:a,to:i}),r)}function BC(e={},t){let n=Xn(e),r=n.amp;qf(r);let o=IC(n,t);return o?.removable&&(o.source==="route"&&o.routeKey&&delete r.routes[o.routeKey],o.source==="raw"&&Number.isInteger(o.index)&&r.rawModelRoutes.splice(o.index,1)),n}function mi(e={}){let t=e&&typeof e=="object"&&!Array.isArray(e)?e:{},n=t.amp?.webSearch&&typeof t.amp.webSearch=="object"&&!Array.isArray(t.amp.webSearch)?Do(t.amp.webSearch):null;(!t.webSearch||typeof t.webSearch!="object"||Array.isArray(t.webSearch))&&(t.webSearch=n||{}),t.amp&&typeof t.amp=="object"&&!Array.isArray(t.amp)&&Object.prototype.hasOwnProperty.call(t.amp,"webSearch")&&delete t.amp.webSearch;let r=String(t.webSearch.strategy||"").trim();return t.webSearch.strategy=r==="quota-balance"?"quota-balance":"ordered",t.webSearch.count!==void 0&&t.webSearch.count!==null&&String(t.webSearch.count).trim()!==""?t.webSearch.count=Io(t.webSearch.count,ui,{min:Zc,max:Jc}):delete t.webSearch.count,Array.isArray(t.webSearch.providers)||(t.webSearch.providers=[]),t.webSearch}function UC(e=""){return String(e||"").trim().includes("/")}function vn(e=""){let t=String(e||"").trim();return UC(t)?t:t.toLowerCase()}function fi(e="",t=""){let n=String(e||"").trim(),r=String(t||"").trim();return!n||!r?"":`${n}/${r}`}function I2(e={}){return[...new Set([e?.format,...Array.isArray(e?.formats)?e.formats:[]].map(t=>String(t||"").trim().toLowerCase()).filter(t=>t==="openai"||t==="claude"))]}function z2(e={},t={}){let n=String(t?.id||"").trim(),r=n?String(e?.lastProbe?.modelPreferredFormat?.[n]||"").trim().toLowerCase():"";if(r==="openai"||r==="claude")return[r];let o=n?[...new Set((Array.isArray(e?.lastProbe?.modelSupport?.[n])?e.lastProbe.modelSupport[n]:[]).map(a=>String(a||"").trim().toLowerCase()).filter(a=>a==="openai"||a==="claude"))]:[];return o.length>0?o:[...new Set([t?.format,...Array.isArray(t?.formats)?t.formats:[]].map(a=>String(a||"").trim().toLowerCase()).filter(a=>a==="openai"||a==="claude"))]}function PC(e={}){let t=String(e?.subscriptionType||e?.subscription_type||"").trim().toLowerCase();return String(e?.type||"").trim().toLowerCase()==="subscription"?t==="chatgpt-codex":I2(e).includes("openai")?!!String(e?.baseUrlByFormat?.openai||e?.baseUrl||"").trim():!1}function B2(e={}){return String(e?.type||"").trim().toLowerCase()==="subscription"?String(e?.subscriptionType||e?.subscription_type||"").trim().toLowerCase()==="chatgpt-codex":String(e?.apiKey||"").trim()||String(e?.apiKeyEnv||"").trim()||String(e?.auth?.type||"").trim().toLowerCase()==="none"?!0:Object.keys(e?.headers&&typeof e.headers=="object"?e.headers:{}).some(t=>{let n=String(t||"").trim().toLowerCase();return n==="authorization"||n==="x-api-key"})}function U2(e={},t={}){if(!PC(e))return!1;let n=z2(e,t);return n.length===0||n.includes("openai")}function zo(e={},t=[]){return!e||typeof e!="object"||Array.isArray(e)?!1:t.some(n=>Object.prototype.hasOwnProperty.call(e,n)&&e[n]!==void 0&&e[n]!==null&&String(e[n]).trim()!=="")}function uu(e={},t=""){let n=String(t||e?.id||"").trim().toLowerCase(),r=ba[n];if(!r)return null;let o=r.credentialField,a=String(e?.[o]||"").trim(),i=zo(e,["count","resultCount","result-count","resultsPerCall","results-per-call"]),l=zo(e,["limit","monthlyLimit","monthly-limit","quota"]),s=zo(e,["remaining","remainingQuota","remaining-quota","remainingQueries","remaining-queries"]),c=!!a||l||s,d=c&&Number(r.defaultLimit)||0,u=Io(e?.count??e?.resultCount??e?.["result-count"]??e?.resultsPerCall??e?.["results-per-call"],ui,{min:Zc,max:Jc}),f=Io(e?.limit,d,{min:0}),p=f>0?f:0,v=Io(e?.remaining,p,{min:0});return{kind:"builtin",id:n,[o]:a,...i&&u!==ui?{count:u}:{},...l||c&&f>0?{limit:f}:{},...s||c&&(f>0||v>0)?{remaining:f>0?Math.min(v,f):v}:{}}}function P2(e={},t=""){let n=String(t||e?.id||fi(e?.providerId??e?.provider,e?.model??e?.modelId)).trim();if(!UC(n))return null;let r=String(e?.providerId??e?.provider??n.slice(0,n.indexOf("/"))).trim(),o=String(e?.model??e?.modelId??n.slice(n.indexOf("/")+1)).trim(),a=fi(r,o);return!a||a!==n?null:{kind:"hosted",id:a,providerId:r,model:o}}function j2(e={},t=""){return P2(e,t)||uu(e,t)}function jC(e={},t=new Set){return(Array.isArray(e?.providers)?e.providers:[]).map(r=>{let o=String(r?.id||"").trim();if(!o||r?.enabled===!1||!PC(r)||!B2(r))return null;let a=(Array.isArray(r?.models)?r.models:[]).map(i=>{let l=String(i?.id||"").trim(),s=fi(o,l);return!l||!s||t.has(s)||!U2(r,i)||!l.toLowerCase().includes("gpt")?null:{value:l,label:l,routeId:s}}).filter(Boolean);return a.length===0?null:{providerId:o,providerLabel:String(r?.name||o).trim()||o,providerHint:String(r?.subscriptionType||"").trim().toLowerCase()==="chatgpt-codex"?"ChatGPT subscription":String(r?.baseUrlByFormat?.openai||r?.baseUrl||"").trim()||"OpenAI-compatible endpoint",models:a}}).filter(Boolean)}function VC(e={},t=null){let n=Xn(e),r=mi(n),o=Array.isArray(r.providers)?r.providers.map(u=>j2(u,u?.id)).filter(Boolean):[],a=new Set(o.map(u=>vn(u.id))),i=[...o,...kf.filter(u=>!a.has(u.id)).map(u=>uu({id:u.id},u.id)).filter(Boolean)],l=Array.isArray(t?.providers)?t.providers:[],s=new Map(l.map(u=>[vn(u?.id),u]).filter(([u])=>!!u)),c=new Map((Array.isArray(e?.providers)?e.providers:[]).map(u=>[String(u?.id||"").trim(),u]).filter(([u])=>!!u)),d=Io(r?.count,ui,{min:Zc,max:Jc});return i.map(u=>{let f=vn(u.id),p=s.get(f)||null,v=o.findIndex(R=>vn(R.id)===f),m=i.findIndex(R=>vn(R.id)===f),b=u.kind==="hosted"?p?.ready!==!1:!!u?.[ba[u.id]?.credentialField||"apiKey"];if(u.kind==="hosted"){let R=c.get(u.providerId)||null;return{id:u.id,key:u.id,kind:"hosted",label:String(R?.name||u.providerId).trim()||u.providerId,providerId:u.providerId,modelId:u.model,routeId:u.id,configured:!0,configuredIndex:v,configuredCount:o.length,displayIndex:m,displayCount:i.length,active:b,runtimeState:p}}let h=ba[u.id],g=h?.credentialField||"apiKey",y=String(u?.[g]||"").trim(),x=zo(u,["count"]),w=Io(u?.count,d,{min:Zc,max:Jc});return{id:u.id,key:u.id,kind:"builtin",label:h?.label||u.id,credentialField:g,credentialLabel:h?.credentialLabel||"Credential",credentialPlaceholder:h?.credentialPlaceholder||"",credentialValue:y,resultPerCall:w,resultPerCallInput:x?String(w):d!==ui?String(d):"",limit:Io(u?.limit,h?.defaultLimit||0,{min:0}),remaining:Io(u?.remaining,h?.defaultLimit||0,{min:0}),configured:!!y,configuredIndex:v,configuredCount:o.length,displayIndex:m,displayCount:i.length,active:b,runtimeState:p}})}function HC(e=[],t=""){let n=[],r=new Set;for(let i of Array.isArray(e)?e:[]){if(!i?.configured)continue;let l=String(i?.id||"").trim(),s=vn(l);if(!l||!s||r.has(s))continue;let c=i.kind==="hosted"?[String(i?.label||"").trim(),String(i?.modelId||"").trim()].filter(Boolean).join(" \xB7 "):String(i?.label||l).trim()||l,d=i.kind==="hosted"?String(i?.routeId||l).trim()||"Hosted web search route":i.active===!1?"Configured but not ready":"Configured provider";n.push({value:l,label:c,hint:d,groupKey:i.kind==="hosted"?"hosted-web-search-routes":"builtin-web-search-providers",groupLabel:i.kind==="hosted"?"Hosted search routes":"Built-in search providers"}),r.add(s)}let o=String(t||"").trim(),a=vn(o);return o&&a&&!r.has(a)&&n.unshift({value:o,label:o,hint:"Current config (not configured)",groupKey:"current-claude-selection",groupLabel:"Current selection"}),n}function FC(e={},t={}){let n=Xn(e),r=mi(n);return t.strategy!==void 0&&(r.strategy=String(t.strategy||"").trim()==="quota-balance"?"quota-balance":"ordered"),t.count!==void 0&&(r.count=Io(t.count,r.count,{min:1,max:20})),n}function KC(e={},t,n={}){let r=String(t||"").trim().toLowerCase();if(!ba[r])return Xn(e);let o=Xn(e),a=mi(o),i=Array.isArray(a.providers)?a.providers.slice():[],l=i.findIndex(g=>vn(g?.id)===r),s=l>=0?i[l]:null,c=uu(s||{id:r},r)||uu({id:r},r),u=ba[r].credentialField,f=uu({...s&&typeof s=="object"&&!Array.isArray(s)?s:{},...c,...n,id:r,[u]:n[u]!==void 0?String(n[u]||"").trim():c?.[u]},r),p=!!String(f?.[u]||"").trim(),v=zo(n,["count"])?!!String(n?.count||"").trim()&&Number(f?.count)!==ui:zo(s,["count"])&&Number(f?.count)!==ui,m=p||zo(n,["limit"])||zo(s,["limit"]),b=p||zo(n,["remaining"])||zo(s,["remaining"]),h={id:r,...p?{[u]:String(f?.[u]||"").trim()}:{},...v?{count:Number(f.count)}:{},...m&&Number(f?.limit)>0?{limit:Number(f.limit)}:{},...b&&(Number(f?.limit)>0||Number(f?.remaining)>0)?{remaining:Number(f.remaining)}:{}};return l>=0?i[l]=h:i.push(h),a.providers=i,o}function $C(e={},t,n){let r=fi(t,n);if(!r)return Xn(e);let o=Xn(e),a=mi(o),i=Array.isArray(a.providers)?a.providers.slice():[],l=vn(r);return i.some(s=>vn(s?.id)===l)||(i.push({id:r,providerId:String(t||"").trim(),model:String(n||"").trim()}),a.providers=i),o}function GC(e={},t){let n=vn(t),r=Xn(e),o=mi(r),a=Array.isArray(o.providers)?o.providers.slice():[],i=a.filter(l=>vn(l?.id)!==n);return i.length===a.length||(o.providers=i),r}function qC(e={},t,n="up"){let r=vn(t),o=Xn(e),a=mi(o),i=Array.isArray(a.providers)?a.providers.slice():[],l=new Map(i.map(m=>[vn(m?.id),m]).filter(([m])=>!!m)),s=i.findIndex(m=>vn(m?.id)===r);if(s!==-1){let m=n==="down"?s+1:s-1;if(m<0||m>=i.length)return o;let[b]=i.splice(s,1);return i.splice(m,0,b),a.providers=i,o}if(!ba[r])return o;let c=[...i.map(m=>vn(m?.id)).filter(Boolean),...kf.map(m=>m.id).filter(m=>!l.has(m))],d=c.indexOf(r);if(d===-1)return o;let u=n==="down"?d+1:d-1;if(u<0||u>=c.length)return o;let f=c.slice(),[p]=f.splice(d,1);f.splice(u,0,p);let v=new Set(l.keys());v.add(r);for(let m of f.slice(0,u+1))ba[m]&&v.add(m);return a.providers=f.filter(m=>v.has(m)).map(m=>l.get(m)||{id:m}),o}function WC(e,t,n){let r=String(e||"").trim().toLowerCase(),o=ba[r];return!o||String(t||"").trim()!==o.credentialField?!1:!String(n||"").trim()}function pi(e){let t=Number(e);if(!Number.isFinite(t)||t<=0)return"Unknown";if(t>=1e3){let n=t/1e3;return`${Number.isInteger(n)?String(n):n.toFixed(1).replace(/\.0$/,"")}K`}return String(t)}function ZC(e){let t=Number(e);if(!Number.isFinite(t)||t<=0)return"";let n=[{suffix:"M",divisor:1e3*1e3},{suffix:"K",divisor:1e3}];for(let r of n){if(t<r.divisor)continue;let o=t/r.divisor;return`${o>=10?String(Math.round(o)):o.toFixed(1).replace(/\.0$/,"")}${r.suffix}`}return String(t)}function du(e){let t=Bo(e),n=Number(t);return!Number.isFinite(n)||n<=0?String(e||""):new Intl.NumberFormat().format(n)}function V2(e={}){let t=new Map;for(let n of Array.isArray(e?.providers)?e.providers:[]){let r=String(n?.id||"").trim();if(r)for(let o of Array.isArray(n?.models)?n.models:[]){let a=String(o?.id||"").trim();a&&t.set(`${r}/${a}`,{ref:`${r}/${a}`,providerId:r,providerName:String(n?.name||r).trim()||r,modelId:a,contextWindow:Number.isFinite(o?.contextWindow)?Number(o.contextWindow):null})}}return t}function H2(e="",t={}){let n=t?.modelAliases&&typeof t.modelAliases=="object"&&!Array.isArray(t.modelAliases)?t.modelAliases:{},r=V2(t),o=new Set,a=new Set,i=[],l=[];function s(p){let v=String(p||"").trim();if(!v)return;if(r.has(v)){if(a.has(v))return;a.add(v),i.push(r.get(v));return}let m=v.startsWith("alias:")?v.slice(6).trim():v;if(!m||!Object.prototype.hasOwnProperty.call(n,m)){l.includes(v)||l.push(v);return}if(o.has(m))return;o.add(m);let b=n[m];for(let h of[...b?.targets||[],...b?.fallbackTargets||[]])s(h?.ref)}s(e);let c=i.filter(p=>Number.isFinite(p?.contextWindow)),d=[...new Set(c.map(p=>p.contextWindow))].sort((p,v)=>p-v),u=d[0]??null,f=d[d.length-1]??null;return{aliasId:e,models:i,unknownRefs:l,smallestContextWindow:u,largestContextWindow:f,hasMixedContextWindows:d.length>1}}function JC(e={}){let t=e?.modelAliases&&typeof e.modelAliases=="object"&&!Array.isArray(e.modelAliases)?e.modelAliases:{};return Object.keys(t).map(n=>H2(n,e)).filter(n=>n.hasMixedContextWindows).sort((n,r)=>String(n.aliasId||"").localeCompare(String(r.aliasId||"")))}function Wf(e=""){let t=String(e||"Select alias").trim()||"Select alias",n=Math.min(Math.max(Math.ceil(t.length*8.5+62),160),520);if(typeof document>"u")return n;let o=(Wf.canvas||(Wf.canvas=document.createElement("canvas"))).getContext("2d");return o?(o.font='500 14px "Inter", "SF Pro Display", ui-sans-serif, system-ui, sans-serif',Math.min(Math.max(Math.ceil(o.measureText(t).width+62),160),520)):n}function YC(e={}){return`${String(e?.model||"").trim()}::${String(e?.contextWindow||"").trim()}`}function F2(e){return String(e||"").trim().replace(/[.,\s_'`]/g,"")}function Bo(e){let t=F2(e);if(!t)return"";let n=Number.parseInt(t,10);return Number.isFinite(n)&&n>0?String(n):t}function QC(e={}){let t=String(e?.model||"").trim(),n=String(e?.provider||"").trim(),r=String(e?.mode||"").trim(),o=Number(e?.contextWindow);return!Number.isFinite(o)||o<=0?null:{model:t,provider:n,mode:r,contextWindow:Math.floor(o),...e?.capabilities?{capabilities:e.capabilities}:{}}}function XC(e="",t=""){let n=String(e||"").trim(),r=String(t||"").trim();if(!n||!r)return n;let o=n.toLowerCase(),a=r.toLowerCase(),i=[`${a}/`,`${a}:`];for(let l of i){if(!o.startsWith(l))continue;return n.slice(l.length).trim()||n}return n}function Es(e={},{fallbackQuery:t=""}={}){let n=String(e?.query||t||"").trim(),r=QC(e?.exactMatch),o=(Array.isArray(e?.suggestions)?e.suggestions:[]).map(d=>QC(d)).filter(Boolean),a=Number(e?.medianContextWindow),i=Number.isFinite(a)&&a>0?Math.floor(a):r?.contextWindow||null,l=[],s=new Set;function c(d){!d?.key||s.has(d.key)||(s.add(d.key),l.push(d))}r&&c({key:`exact::${YC(r)}`,label:XC(r.model,r.provider)||"Exact match",detail:r.provider?`Exact \xB7 ${r.provider}`:"Exact",contextWindow:r.contextWindow});for(let d of o)c({key:YC(d),label:XC(d.model,d.provider)||"Suggestion",detail:d.provider||"Known model",contextWindow:d.contextWindow});return{query:n,exactMatch:r,suggestions:o,medianContextWindow:i,options:l,status:l.length>0?"ready":"miss"}}function Yf(e={}){let t=Es(e);return t.exactMatch?.contextWindow?String(t.exactMatch.contextWindow):t.medianContextWindow?String(t.medianContextWindow):""}function e1(e=[]){let t=new Map;for(let n of Array.isArray(e)?e:[]){let r=Es(n);r.query&&t.set(r.query,r)}return t}function t1(e=[]){let t={};for(let n of Array.isArray(e)?e:[]){let r=String(n?.query||"").trim(),o=Yf(n);!r||!o||(t[r]=Number(o))}return t}async function Et(e,t={}){let n=await fetch(e,t),r=await n.json().catch(()=>({}));if(!n.ok){let o=new Error(r?.error||`Request failed (${n.status})`);throw o.statusCode=n.status,o.payload=r,o}return r}async function Qf(e,t={},{onMessage:n}={}){let r=await fetch(e,t);if(!r.ok){let c=await r.json().catch(()=>({})),d=new Error(c?.error||`Request failed (${r.status})`);throw d.statusCode=r.status,d.payload=c,d}let o=r.body?.getReader();if(!o)return null;let a=new TextDecoder,i="",l=null;for(;;){let{value:c,done:d}=await o.read();i+=a.decode(c||new Uint8Array,{stream:!d});let u=i.indexOf(`
10
- `);for(;u>=0;){let f=i.slice(0,u).trim();if(i=i.slice(u+1),f){let p=JSON.parse(f);if(n?.(p),p?.type==="result"&&(l=p.result),p?.type==="error"){let v=new Error(p.error||"Request failed.");throw v.statusCode=p.statusCode||500,v}}u=i.indexOf(`
11
- `)}if(d)break}let s=i.trim();if(s){let c=JSON.parse(s);if(n?.(c),c?.type==="result"&&(l=c.result),c?.type==="error"){let d=new Error(c.error||"Request failed.");throw d.statusCode=c.statusCode||500,d}}return l}async function n1(e,t,n){let r=EC(n);if(r.length===0)return null;try{let o=await Et("/api/config/probe-free-tier-models",{method:"POST",headers:Rt,body:JSON.stringify({baseUrl:e,...mo(t)?{apiKeyEnv:t}:{apiKey:t},modelIds:r})});if(!o?.result)return null;let a=new Set,i=new Set;for(let[l,s]of Object.entries(o.result)){let c=l.toLowerCase(),d=c.includes("flash-lite")?"flash-lite":c.includes("flash")?"flash":c.includes("pro")?"pro":c;s?.freeTier?a.add(d):i.add(d)}return n.filter(l=>{let s=l.toLowerCase(),c=s.includes("flash-lite")?"flash-lite":s.includes("flash")?"flash":s.includes("pro")?"pro":s;return a.has(c)?!0:!i.has(c)})}catch{return null}}async function fu(e=[]){let t=[...new Set((Array.isArray(e)?e:[]).map(r=>String(r||"").trim()).filter(Boolean))];if(t.length===0)return[];let n=await Et("/api/config/litellm-context-lookup",{method:"POST",headers:Rt,body:JSON.stringify({models:t,limit:WA})});return Array.isArray(n?.result)?n.result:[]}var w4=_(pe(),1);var at=_(pe(),1);var te=_(pe(),1),tv=_(Ei(),1);function my(e,[t,n]){return Math.min(n,Math.max(t,e))}var Wt=_(pe(),1);var r1=_(pe(),1);function o1(e,t=globalThis?.document){let n=sr(e);r1.useEffect(()=>{let r=o=>{o.key==="Escape"&&n(o)};return t.addEventListener("keydown",r,{capture:!0}),()=>t.removeEventListener("keydown",r,{capture:!0})},[n,t])}var gy=_(J(),1),K2="DismissableLayer",py="dismissableLayer.update",$2="dismissableLayer.pointerDownOutside",G2="dismissableLayer.focusOutside",a1,l1=Wt.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),hy=Wt.forwardRef((e,t)=>{let{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:r,onPointerDownOutside:o,onFocusOutside:a,onInteractOutside:i,onDismiss:l,...s}=e,c=Wt.useContext(l1),[d,u]=Wt.useState(null),f=d?.ownerDocument??globalThis?.document,[,p]=Wt.useState({}),v=bt(t,E=>u(E)),m=Array.from(c.layers),[b]=[...c.layersWithOutsidePointerEventsDisabled].slice(-1),h=m.indexOf(b),g=d?m.indexOf(d):-1,y=c.layersWithOutsidePointerEventsDisabled.size>0,x=g>=h,w=Y2(E=>{let A=E.target,N=[...c.branches].some(L=>L.contains(A));!x||N||(o?.(E),i?.(E),E.defaultPrevented||l?.())},f),R=Q2(E=>{let A=E.target;[...c.branches].some(L=>L.contains(A))||(a?.(E),i?.(E),E.defaultPrevented||l?.())},f);return o1(E=>{g===c.layers.size-1&&(r?.(E),!E.defaultPrevented&&l&&(E.preventDefault(),l()))},f),Wt.useEffect(()=>{if(d)return n&&(c.layersWithOutsidePointerEventsDisabled.size===0&&(a1=f.body.style.pointerEvents,f.body.style.pointerEvents="none"),c.layersWithOutsidePointerEventsDisabled.add(d)),c.layers.add(d),i1(),()=>{n&&c.layersWithOutsidePointerEventsDisabled.size===1&&(f.body.style.pointerEvents=a1)}},[d,f,n,c]),Wt.useEffect(()=>()=>{d&&(c.layers.delete(d),c.layersWithOutsidePointerEventsDisabled.delete(d),i1())},[d,c]),Wt.useEffect(()=>{let E=()=>p({});return document.addEventListener(py,E),()=>document.removeEventListener(py,E)},[]),(0,gy.jsx)(Xe.div,{...s,ref:v,style:{pointerEvents:y?x?"auto":"none":void 0,...e.style},onFocusCapture:st(e.onFocusCapture,R.onFocusCapture),onBlurCapture:st(e.onBlurCapture,R.onBlurCapture),onPointerDownCapture:st(e.onPointerDownCapture,w.onPointerDownCapture)})});hy.displayName=K2;var q2="DismissableLayerBranch",W2=Wt.forwardRef((e,t)=>{let n=Wt.useContext(l1),r=Wt.useRef(null),o=bt(t,r);return Wt.useEffect(()=>{let a=r.current;if(a)return n.branches.add(a),()=>{n.branches.delete(a)}},[n.branches]),(0,gy.jsx)(Xe.div,{...e,ref:o})});W2.displayName=q2;function Y2(e,t=globalThis?.document){let n=sr(e),r=Wt.useRef(!1),o=Wt.useRef(()=>{});return Wt.useEffect(()=>{let a=l=>{if(l.target&&!r.current){let c=function(){s1($2,n,d,{discrete:!0})};var s=c;let d={originalEvent:l};l.pointerType==="touch"?(t.removeEventListener("click",o.current),o.current=c,t.addEventListener("click",o.current,{once:!0})):c()}else t.removeEventListener("click",o.current);r.current=!1},i=window.setTimeout(()=>{t.addEventListener("pointerdown",a)},0);return()=>{window.clearTimeout(i),t.removeEventListener("pointerdown",a),t.removeEventListener("click",o.current)}},[t,n]),{onPointerDownCapture:()=>r.current=!0}}function Q2(e,t=globalThis?.document){let n=sr(e),r=Wt.useRef(!1);return Wt.useEffect(()=>{let o=a=>{a.target&&!r.current&&s1(G2,n,{originalEvent:a},{discrete:!1})};return t.addEventListener("focusin",o),()=>t.removeEventListener("focusin",o)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function i1(){let e=new CustomEvent(py);document.dispatchEvent(e)}function s1(e,t,n,{discrete:r}){let o=n.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&o.addEventListener(e,t,{once:!0}),r?tA(o,a):o.dispatchEvent(a)}var u1=_(pe(),1),yy=0;function d1(){u1.useEffect(()=>{let e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??c1()),document.body.insertAdjacentElement("beforeend",e[1]??c1()),yy++,()=>{yy===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(t=>t.remove()),yy--}},[])}function c1(){let e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var Jr=_(pe(),1);var h1=_(J(),1),vy="focusScope.autoFocusOnMount",by="focusScope.autoFocusOnUnmount",f1={bubbles:!1,cancelable:!0},X2="FocusScope",xy=Jr.forwardRef((e,t)=>{let{loop:n=!1,trapped:r=!1,onMountAutoFocus:o,onUnmountAutoFocus:a,...i}=e,[l,s]=Jr.useState(null),c=sr(o),d=sr(a),u=Jr.useRef(null),f=bt(t,m=>s(m)),p=Jr.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;Jr.useEffect(()=>{if(r){let g=function(R){if(p.paused||!l)return;let E=R.target;l.contains(E)?u.current=E:gi(u.current,{select:!0})},y=function(R){if(p.paused||!l)return;let E=R.relatedTarget;E!==null&&(l.contains(E)||gi(u.current,{select:!0}))},x=function(R){if(document.activeElement===document.body)for(let A of R)A.removedNodes.length>0&&gi(l)};var m=g,b=y,h=x;document.addEventListener("focusin",g),document.addEventListener("focusout",y);let w=new MutationObserver(x);return l&&w.observe(l,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",g),document.removeEventListener("focusout",y),w.disconnect()}}},[r,l,p.paused]),Jr.useEffect(()=>{if(l){p1.add(p);let m=document.activeElement;if(!l.contains(m)){let h=new CustomEvent(vy,f1);l.addEventListener(vy,c),l.dispatchEvent(h),h.defaultPrevented||(Z2(rL(y1(l)),{select:!0}),document.activeElement===m&&gi(l))}return()=>{l.removeEventListener(vy,c),setTimeout(()=>{let h=new CustomEvent(by,f1);l.addEventListener(by,d),l.dispatchEvent(h),h.defaultPrevented||gi(m??document.body,{select:!0}),l.removeEventListener(by,d),p1.remove(p)},0)}}},[l,c,d,p]);let v=Jr.useCallback(m=>{if(!n&&!r||p.paused)return;let b=m.key==="Tab"&&!m.altKey&&!m.ctrlKey&&!m.metaKey,h=document.activeElement;if(b&&h){let g=m.currentTarget,[y,x]=J2(g);y&&x?!m.shiftKey&&h===x?(m.preventDefault(),n&&gi(y,{select:!0})):m.shiftKey&&h===y&&(m.preventDefault(),n&&gi(x,{select:!0})):h===g&&m.preventDefault()}},[n,r,p.paused]);return(0,h1.jsx)(Xe.div,{tabIndex:-1,...i,ref:f,onKeyDown:v})});xy.displayName=X2;function Z2(e,{select:t=!1}={}){let n=document.activeElement;for(let r of e)if(gi(r,{select:t}),document.activeElement!==n)return}function J2(e){let t=y1(e),n=m1(t,e),r=m1(t.reverse(),e);return[n,r]}function y1(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{let o=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||o?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function m1(e,t){for(let n of e)if(!eL(n,{upTo:t}))return n}function eL(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function tL(e){return e instanceof HTMLInputElement&&"select"in e}function gi(e,{select:t=!1}={}){if(e&&e.focus){let n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&tL(e)&&t&&e.select()}}var p1=nL();function nL(){let e=[];return{add(t){let n=e[0];t!==n&&n?.pause(),e=g1(e,t),e.unshift(t)},remove(t){e=g1(e,t),e[0]?.resume()}}}function g1(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function rL(e){return e.filter(t=>t.tagName!=="A")}var hr=_(pe(),1);var x1=["top","right","bottom","left"];var Uo=Math.min,Zn=Math.max,pu=Math.round,gu=Math.floor,go=e=>({x:e,y:e}),oL={left:"right",right:"left",bottom:"top",top:"bottom"};function Zf(e,t,n){return Zn(e,Uo(t,n))}function Po(e,t){return typeof e=="function"?e(t):e}function jo(e){return e.split("-")[0]}function Ji(e){return e.split("-")[1]}function Jf(e){return e==="x"?"y":"x"}function em(e){return e==="y"?"height":"width"}function ho(e){let t=e[0];return t==="t"||t==="b"?"y":"x"}function tm(e){return Jf(ho(e))}function S1(e,t,n){n===void 0&&(n=!1);let r=Ji(e),o=tm(e),a=em(o),i=o==="x"?r===(n?"end":"start")?"right":"left":r==="start"?"bottom":"top";return t.reference[a]>t.floating[a]&&(i=mu(i)),[i,mu(i)]}function w1(e){let t=mu(e);return[Xf(e),t,Xf(t)]}function Xf(e){return e.includes("start")?e.replace("start","end"):e.replace("end","start")}var v1=["left","right"],b1=["right","left"],aL=["top","bottom"],iL=["bottom","top"];function lL(e,t,n){switch(e){case"top":case"bottom":return n?t?b1:v1:t?v1:b1;case"left":case"right":return t?aL:iL;default:return[]}}function A1(e,t,n,r){let o=Ji(e),a=lL(jo(e),n==="start",r);return o&&(a=a.map(i=>i+"-"+o),t&&(a=a.concat(a.map(Xf)))),a}function mu(e){let t=jo(e);return oL[t]+e.slice(t.length)}function sL(e){return{top:0,right:0,bottom:0,left:0,...e}}function Sy(e){return typeof e!="number"?sL(e):{top:e,right:e,bottom:e,left:e}}function el(e){let{x:t,y:n,width:r,height:o}=e;return{width:r,height:o,top:n,left:t,right:t+r,bottom:n+o,x:t,y:n}}function C1(e,t,n){let{reference:r,floating:o}=e,a=ho(t),i=tm(t),l=em(i),s=jo(t),c=a==="y",d=r.x+r.width/2-o.width/2,u=r.y+r.height/2-o.height/2,f=r[l]/2-o[l]/2,p;switch(s){case"top":p={x:d,y:r.y-o.height};break;case"bottom":p={x:d,y:r.y+r.height};break;case"right":p={x:r.x+r.width,y:u};break;case"left":p={x:r.x-o.width,y:u};break;default:p={x:r.x,y:r.y}}switch(Ji(t)){case"start":p[i]-=f*(n&&c?-1:1);break;case"end":p[i]+=f*(n&&c?-1:1);break}return p}async function T1(e,t){var n;t===void 0&&(t={});let{x:r,y:o,platform:a,rects:i,elements:l,strategy:s}=e,{boundary:c="clippingAncestors",rootBoundary:d="viewport",elementContext:u="floating",altBoundary:f=!1,padding:p=0}=Po(t,e),v=Sy(p),b=l[f?u==="floating"?"reference":"floating":u],h=el(await a.getClippingRect({element:(n=await(a.isElement==null?void 0:a.isElement(b)))==null||n?b:b.contextElement||await(a.getDocumentElement==null?void 0:a.getDocumentElement(l.floating)),boundary:c,rootBoundary:d,strategy:s})),g=u==="floating"?{x:r,y:o,width:i.floating.width,height:i.floating.height}:i.reference,y=await(a.getOffsetParent==null?void 0:a.getOffsetParent(l.floating)),x=await(a.isElement==null?void 0:a.isElement(y))?await(a.getScale==null?void 0:a.getScale(y))||{x:1,y:1}:{x:1,y:1},w=el(a.convertOffsetParentRelativeRectToViewportRelativeRect?await a.convertOffsetParentRelativeRectToViewportRelativeRect({elements:l,rect:g,offsetParent:y,strategy:s}):g);return{top:(h.top-w.top+v.top)/x.y,bottom:(w.bottom-h.bottom+v.bottom)/x.y,left:(h.left-w.left+v.left)/x.x,right:(w.right-h.right+v.right)/x.x}}var cL=50,N1=async(e,t,n)=>{let{placement:r="bottom",strategy:o="absolute",middleware:a=[],platform:i}=n,l=i.detectOverflow?i:{...i,detectOverflow:T1},s=await(i.isRTL==null?void 0:i.isRTL(t)),c=await i.getElementRects({reference:e,floating:t,strategy:o}),{x:d,y:u}=C1(c,r,s),f=r,p=0,v={};for(let m=0;m<a.length;m++){let b=a[m];if(!b)continue;let{name:h,fn:g}=b,{x:y,y:x,data:w,reset:R}=await g({x:d,y:u,initialPlacement:r,placement:f,strategy:o,middlewareData:v,rects:c,platform:l,elements:{reference:e,floating:t}});d=y??d,u=x??u,v[h]={...v[h],...w},R&&p<cL&&(p++,typeof R=="object"&&(R.placement&&(f=R.placement),R.rects&&(c=R.rects===!0?await i.getElementRects({reference:e,floating:t,strategy:o}):R.rects),{x:d,y:u}=C1(c,f,s)),m=-1)}return{x:d,y:u,placement:f,strategy:o,middlewareData:v}},M1=e=>({name:"arrow",options:e,async fn(t){let{x:n,y:r,placement:o,rects:a,platform:i,elements:l,middlewareData:s}=t,{element:c,padding:d=0}=Po(e,t)||{};if(c==null)return{};let u=Sy(d),f={x:n,y:r},p=tm(o),v=em(p),m=await i.getDimensions(c),b=p==="y",h=b?"top":"left",g=b?"bottom":"right",y=b?"clientHeight":"clientWidth",x=a.reference[v]+a.reference[p]-f[p]-a.floating[v],w=f[p]-a.reference[p],R=await(i.getOffsetParent==null?void 0:i.getOffsetParent(c)),E=R?R[y]:0;(!E||!await(i.isElement==null?void 0:i.isElement(R)))&&(E=l.floating[y]||a.floating[v]);let A=x/2-w/2,N=E/2-m[v]/2-1,L=Uo(u[h],N),j=Uo(u[g],N),D=L,W=E-m[v]-j,ie=E/2-m[v]/2+A,ye=Zf(D,ie,W),V=!s.arrow&&Ji(o)!=null&&ie!==ye&&a.reference[v]/2-(ie<D?L:j)-m[v]/2<0,ee=V?ie<D?ie-D:ie-W:0;return{[p]:f[p]+ee,data:{[p]:ye,centerOffset:ie-ye-ee,...V&&{alignmentOffset:ee}},reset:V}}});var O1=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var n,r;let{placement:o,middlewareData:a,rects:i,initialPlacement:l,platform:s,elements:c}=t,{mainAxis:d=!0,crossAxis:u=!0,fallbackPlacements:f,fallbackStrategy:p="bestFit",fallbackAxisSideDirection:v="none",flipAlignment:m=!0,...b}=Po(e,t);if((n=a.arrow)!=null&&n.alignmentOffset)return{};let h=jo(o),g=ho(l),y=jo(l)===l,x=await(s.isRTL==null?void 0:s.isRTL(c.floating)),w=f||(y||!m?[mu(l)]:w1(l)),R=v!=="none";!f&&R&&w.push(...A1(l,m,v,x));let E=[l,...w],A=await s.detectOverflow(t,b),N=[],L=((r=a.flip)==null?void 0:r.overflows)||[];if(d&&N.push(A[h]),u){let ie=S1(o,i,x);N.push(A[ie[0]],A[ie[1]])}if(L=[...L,{placement:o,overflows:N}],!N.every(ie=>ie<=0)){var j,D;let ie=(((j=a.flip)==null?void 0:j.index)||0)+1,ye=E[ie];if(ye&&(!(u==="alignment"?g!==ho(ye):!1)||L.every(Q=>ho(Q.placement)===g?Q.overflows[0]>0:!0)))return{data:{index:ie,overflows:L},reset:{placement:ye}};let V=(D=L.filter(ee=>ee.overflows[0]<=0).sort((ee,Q)=>ee.overflows[1]-Q.overflows[1])[0])==null?void 0:D.placement;if(!V)switch(p){case"bestFit":{var W;let ee=(W=L.filter(Q=>{if(R){let F=ho(Q.placement);return F===g||F==="y"}return!0}).map(Q=>[Q.placement,Q.overflows.filter(F=>F>0).reduce((F,P)=>F+P,0)]).sort((Q,F)=>Q[1]-F[1])[0])==null?void 0:W[0];ee&&(V=ee);break}case"initialPlacement":V=l;break}if(o!==V)return{reset:{placement:V}}}return{}}}};function R1(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function E1(e){return x1.some(t=>e[t]>=0)}var _1=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:o="referenceHidden",...a}=Po(e,t);switch(o){case"referenceHidden":{let i=await r.detectOverflow(t,{...a,elementContext:"reference"}),l=R1(i,n.reference);return{data:{referenceHiddenOffsets:l,referenceHidden:E1(l)}}}case"escaped":{let i=await r.detectOverflow(t,{...a,altBoundary:!0}),l=R1(i,n.floating);return{data:{escapedOffsets:l,escaped:E1(l)}}}default:return{}}}}};var k1=new Set(["left","top"]);async function uL(e,t){let{placement:n,platform:r,elements:o}=e,a=await(r.isRTL==null?void 0:r.isRTL(o.floating)),i=jo(n),l=Ji(n),s=ho(n)==="y",c=k1.has(i)?-1:1,d=a&&s?-1:1,u=Po(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:v}=typeof u=="number"?{mainAxis:u,crossAxis:0,alignmentAxis:null}:{mainAxis:u.mainAxis||0,crossAxis:u.crossAxis||0,alignmentAxis:u.alignmentAxis};return l&&typeof v=="number"&&(p=l==="end"?v*-1:v),s?{x:p*d,y:f*c}:{x:f*c,y:p*d}}var L1=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var n,r;let{x:o,y:a,placement:i,middlewareData:l}=t,s=await uL(t,e);return i===((n=l.offset)==null?void 0:n.placement)&&(r=l.arrow)!=null&&r.alignmentOffset?{}:{x:o+s.x,y:a+s.y,data:{...s,placement:i}}}}},D1=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){let{x:n,y:r,placement:o,platform:a}=t,{mainAxis:i=!0,crossAxis:l=!1,limiter:s={fn:h=>{let{x:g,y}=h;return{x:g,y}}},...c}=Po(e,t),d={x:n,y:r},u=await a.detectOverflow(t,c),f=ho(jo(o)),p=Jf(f),v=d[p],m=d[f];if(i){let h=p==="y"?"top":"left",g=p==="y"?"bottom":"right",y=v+u[h],x=v-u[g];v=Zf(y,v,x)}if(l){let h=f==="y"?"top":"left",g=f==="y"?"bottom":"right",y=m+u[h],x=m-u[g];m=Zf(y,m,x)}let b=s.fn({...t,[p]:v,[f]:m});return{...b,data:{x:b.x-n,y:b.y-r,enabled:{[p]:i,[f]:l}}}}}},I1=function(e){return e===void 0&&(e={}),{options:e,fn(t){let{x:n,y:r,placement:o,rects:a,middlewareData:i}=t,{offset:l=0,mainAxis:s=!0,crossAxis:c=!0}=Po(e,t),d={x:n,y:r},u=ho(o),f=Jf(u),p=d[f],v=d[u],m=Po(l,t),b=typeof m=="number"?{mainAxis:m,crossAxis:0}:{mainAxis:0,crossAxis:0,...m};if(s){let y=f==="y"?"height":"width",x=a.reference[f]-a.floating[y]+b.mainAxis,w=a.reference[f]+a.reference[y]-b.mainAxis;p<x?p=x:p>w&&(p=w)}if(c){var h,g;let y=f==="y"?"width":"height",x=k1.has(jo(o)),w=a.reference[u]-a.floating[y]+(x&&((h=i.offset)==null?void 0:h[u])||0)+(x?0:b.crossAxis),R=a.reference[u]+a.reference[y]+(x?0:((g=i.offset)==null?void 0:g[u])||0)-(x?b.crossAxis:0);v<w?v=w:v>R&&(v=R)}return{[f]:p,[u]:v}}}},z1=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){var n,r;let{placement:o,rects:a,platform:i,elements:l}=t,{apply:s=()=>{},...c}=Po(e,t),d=await i.detectOverflow(t,c),u=jo(o),f=Ji(o),p=ho(o)==="y",{width:v,height:m}=a.floating,b,h;u==="top"||u==="bottom"?(b=u,h=f===(await(i.isRTL==null?void 0:i.isRTL(l.floating))?"start":"end")?"left":"right"):(h=u,b=f==="end"?"top":"bottom");let g=m-d.top-d.bottom,y=v-d.left-d.right,x=Uo(m-d[b],g),w=Uo(v-d[h],y),R=!t.middlewareData.shift,E=x,A=w;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(A=y),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(E=g),R&&!f){let L=Zn(d.left,0),j=Zn(d.right,0),D=Zn(d.top,0),W=Zn(d.bottom,0);p?A=v-2*(L!==0||j!==0?L+j:Zn(d.left,d.right)):E=m-2*(D!==0||W!==0?D+W:Zn(d.top,d.bottom))}await s({...t,availableWidth:A,availableHeight:E});let N=await i.getDimensions(l.floating);return v!==N.width||m!==N.height?{reset:{rects:!0}}:{}}}};function nm(){return typeof window<"u"}function rl(e){return U1(e)?(e.nodeName||"").toLowerCase():"#document"}function gr(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function yo(e){var t;return(t=(U1(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function U1(e){return nm()?e instanceof Node||e instanceof gr(e).Node:!1}function eo(e){return nm()?e instanceof Element||e instanceof gr(e).Element:!1}function Vo(e){return nm()?e instanceof HTMLElement||e instanceof gr(e).HTMLElement:!1}function B1(e){return!nm()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof gr(e).ShadowRoot}function Ts(e){let{overflow:t,overflowX:n,overflowY:r,display:o}=to(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&o!=="inline"&&o!=="contents"}function P1(e){return/^(table|td|th)$/.test(rl(e))}function hu(e){try{if(e.matches(":popover-open"))return!0}catch{}try{return e.matches(":modal")}catch{return!1}}var dL=/transform|translate|scale|rotate|perspective|filter/,fL=/paint|layout|strict|content/,tl=e=>!!e&&e!=="none",wy;function rm(e){let t=eo(e)?to(e):e;return tl(t.transform)||tl(t.translate)||tl(t.scale)||tl(t.rotate)||tl(t.perspective)||!om()&&(tl(t.backdropFilter)||tl(t.filter))||dL.test(t.willChange||"")||fL.test(t.contain||"")}function j1(e){let t=wa(e);for(;Vo(t)&&!ol(t);){if(rm(t))return t;if(hu(t))return null;t=wa(t)}return null}function om(){return wy==null&&(wy=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),wy}function ol(e){return/^(html|body|#document)$/.test(rl(e))}function to(e){return gr(e).getComputedStyle(e)}function yu(e){return eo(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function wa(e){if(rl(e)==="html")return e;let t=e.assignedSlot||e.parentNode||B1(e)&&e.host||yo(e);return B1(t)?t.host:t}function V1(e){let t=wa(e);return ol(t)?e.ownerDocument?e.ownerDocument.body:e.body:Vo(t)&&Ts(t)?t:V1(t)}function nl(e,t,n){var r;t===void 0&&(t=[]),n===void 0&&(n=!0);let o=V1(e),a=o===((r=e.ownerDocument)==null?void 0:r.body),i=gr(o);if(a){let l=am(i);return t.concat(i,i.visualViewport||[],Ts(o)?o:[],l&&n?nl(l):[])}else return t.concat(o,nl(o,[],n))}function am(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function $1(e){let t=to(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,o=Vo(e),a=o?e.offsetWidth:n,i=o?e.offsetHeight:r,l=pu(n)!==a||pu(r)!==i;return l&&(n=a,r=i),{width:n,height:r,$:l}}function Cy(e){return eo(e)?e:e.contextElement}function Ns(e){let t=Cy(e);if(!Vo(t))return go(1);let n=t.getBoundingClientRect(),{width:r,height:o,$:a}=$1(t),i=(a?pu(n.width):n.width)/r,l=(a?pu(n.height):n.height)/o;return(!i||!Number.isFinite(i))&&(i=1),(!l||!Number.isFinite(l))&&(l=1),{x:i,y:l}}var mL=go(0);function G1(e){let t=gr(e);return!om()||!t.visualViewport?mL:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function pL(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==gr(e)?!1:t}function al(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let o=e.getBoundingClientRect(),a=Cy(e),i=go(1);t&&(r?eo(r)&&(i=Ns(r)):i=Ns(e));let l=pL(a,n,r)?G1(a):go(0),s=(o.left+l.x)/i.x,c=(o.top+l.y)/i.y,d=o.width/i.x,u=o.height/i.y;if(a){let f=gr(a),p=r&&eo(r)?gr(r):r,v=f,m=am(v);for(;m&&r&&p!==v;){let b=Ns(m),h=m.getBoundingClientRect(),g=to(m),y=h.left+(m.clientLeft+parseFloat(g.paddingLeft))*b.x,x=h.top+(m.clientTop+parseFloat(g.paddingTop))*b.y;s*=b.x,c*=b.y,d*=b.x,u*=b.y,s+=y,c+=x,v=gr(m),m=am(v)}}return el({width:d,height:u,x:s,y:c})}function im(e,t){let n=yu(e).scrollLeft;return t?t.left+n:al(yo(e)).left+n}function q1(e,t){let n=e.getBoundingClientRect(),r=n.left+t.scrollLeft-im(e,n),o=n.top+t.scrollTop;return{x:r,y:o}}function gL(e){let{elements:t,rect:n,offsetParent:r,strategy:o}=e,a=o==="fixed",i=yo(r),l=t?hu(t.floating):!1;if(r===i||l&&a)return n;let s={scrollLeft:0,scrollTop:0},c=go(1),d=go(0),u=Vo(r);if((u||!u&&!a)&&((rl(r)!=="body"||Ts(i))&&(s=yu(r)),u)){let p=al(r);c=Ns(r),d.x=p.x+r.clientLeft,d.y=p.y+r.clientTop}let f=i&&!u&&!a?q1(i,s):go(0);return{width:n.width*c.x,height:n.height*c.y,x:n.x*c.x-s.scrollLeft*c.x+d.x+f.x,y:n.y*c.y-s.scrollTop*c.y+d.y+f.y}}function hL(e){return Array.from(e.getClientRects())}function yL(e){let t=yo(e),n=yu(e),r=e.ownerDocument.body,o=Zn(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=Zn(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),i=-n.scrollLeft+im(e),l=-n.scrollTop;return to(r).direction==="rtl"&&(i+=Zn(t.clientWidth,r.clientWidth)-o),{width:o,height:a,x:i,y:l}}var H1=25;function vL(e,t){let n=gr(e),r=yo(e),o=n.visualViewport,a=r.clientWidth,i=r.clientHeight,l=0,s=0;if(o){a=o.width,i=o.height;let d=om();(!d||d&&t==="fixed")&&(l=o.offsetLeft,s=o.offsetTop)}let c=im(r);if(c<=0){let d=r.ownerDocument,u=d.body,f=getComputedStyle(u),p=d.compatMode==="CSS1Compat"&&parseFloat(f.marginLeft)+parseFloat(f.marginRight)||0,v=Math.abs(r.clientWidth-u.clientWidth-p);v<=H1&&(a-=v)}else c<=H1&&(a+=c);return{width:a,height:i,x:l,y:s}}function bL(e,t){let n=al(e,!0,t==="fixed"),r=n.top+e.clientTop,o=n.left+e.clientLeft,a=Vo(e)?Ns(e):go(1),i=e.clientWidth*a.x,l=e.clientHeight*a.y,s=o*a.x,c=r*a.y;return{width:i,height:l,x:s,y:c}}function F1(e,t,n){let r;if(t==="viewport")r=vL(e,n);else if(t==="document")r=yL(yo(e));else if(eo(t))r=bL(t,n);else{let o=G1(e);r={x:t.x-o.x,y:t.y-o.y,width:t.width,height:t.height}}return el(r)}function W1(e,t){let n=wa(e);return n===t||!eo(n)||ol(n)?!1:to(n).position==="fixed"||W1(n,t)}function xL(e,t){let n=t.get(e);if(n)return n;let r=nl(e,[],!1).filter(l=>eo(l)&&rl(l)!=="body"),o=null,a=to(e).position==="fixed",i=a?wa(e):e;for(;eo(i)&&!ol(i);){let l=to(i),s=rm(i);!s&&l.position==="fixed"&&(o=null),(a?!s&&!o:!s&&l.position==="static"&&!!o&&(o.position==="absolute"||o.position==="fixed")||Ts(i)&&!s&&W1(e,i))?r=r.filter(d=>d!==i):o=l,i=wa(i)}return t.set(e,r),r}function SL(e){let{element:t,boundary:n,rootBoundary:r,strategy:o}=e,i=[...n==="clippingAncestors"?hu(t)?[]:xL(t,this._c):[].concat(n),r],l=F1(t,i[0],o),s=l.top,c=l.right,d=l.bottom,u=l.left;for(let f=1;f<i.length;f++){let p=F1(t,i[f],o);s=Zn(p.top,s),c=Uo(p.right,c),d=Uo(p.bottom,d),u=Zn(p.left,u)}return{width:c-u,height:d-s,x:u,y:s}}function wL(e){let{width:t,height:n}=$1(e);return{width:t,height:n}}function AL(e,t,n){let r=Vo(t),o=yo(t),a=n==="fixed",i=al(e,!0,a,t),l={scrollLeft:0,scrollTop:0},s=go(0);function c(){s.x=im(o)}if(r||!r&&!a)if((rl(t)!=="body"||Ts(o))&&(l=yu(t)),r){let p=al(t,!0,a,t);s.x=p.x+t.clientLeft,s.y=p.y+t.clientTop}else o&&c();a&&!r&&o&&c();let d=o&&!r&&!a?q1(o,l):go(0),u=i.left+l.scrollLeft-s.x-d.x,f=i.top+l.scrollTop-s.y-d.y;return{x:u,y:f,width:i.width,height:i.height}}function Ay(e){return to(e).position==="static"}function K1(e,t){if(!Vo(e)||to(e).position==="fixed")return null;if(t)return t(e);let n=e.offsetParent;return yo(e)===n&&(n=n.ownerDocument.body),n}function Y1(e,t){let n=gr(e);if(hu(e))return n;if(!Vo(e)){let o=wa(e);for(;o&&!ol(o);){if(eo(o)&&!Ay(o))return o;o=wa(o)}return n}let r=K1(e,t);for(;r&&P1(r)&&Ay(r);)r=K1(r,t);return r&&ol(r)&&Ay(r)&&!rm(r)?n:r||j1(e)||n}var CL=async function(e){let t=this.getOffsetParent||Y1,n=this.getDimensions,r=await n(e.floating);return{reference:AL(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function RL(e){return to(e).direction==="rtl"}var Q1={convertOffsetParentRelativeRectToViewportRelativeRect:gL,getDocumentElement:yo,getClippingRect:SL,getOffsetParent:Y1,getElementRects:CL,getClientRects:hL,getDimensions:wL,getScale:Ns,isElement:eo,isRTL:RL};function X1(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function EL(e,t){let n=null,r,o=yo(e);function a(){var l;clearTimeout(r),(l=n)==null||l.disconnect(),n=null}function i(l,s){l===void 0&&(l=!1),s===void 0&&(s=1),a();let c=e.getBoundingClientRect(),{left:d,top:u,width:f,height:p}=c;if(l||t(),!f||!p)return;let v=gu(u),m=gu(o.clientWidth-(d+f)),b=gu(o.clientHeight-(u+p)),h=gu(d),y={rootMargin:-v+"px "+-m+"px "+-b+"px "+-h+"px",threshold:Zn(0,Uo(1,s))||1},x=!0;function w(R){let E=R[0].intersectionRatio;if(E!==s){if(!x)return i();E?i(!1,E):r=setTimeout(()=>{i(!1,1e-7)},1e3)}E===1&&!X1(c,e.getBoundingClientRect())&&i(),x=!1}try{n=new IntersectionObserver(w,{...y,root:o.ownerDocument})}catch{n=new IntersectionObserver(w,y)}n.observe(e)}return i(!0),a}function Ry(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:o=!0,ancestorResize:a=!0,elementResize:i=typeof ResizeObserver=="function",layoutShift:l=typeof IntersectionObserver=="function",animationFrame:s=!1}=r,c=Cy(e),d=o||a?[...c?nl(c):[],...t?nl(t):[]]:[];d.forEach(h=>{o&&h.addEventListener("scroll",n,{passive:!0}),a&&h.addEventListener("resize",n)});let u=c&&l?EL(c,n):null,f=-1,p=null;i&&(p=new ResizeObserver(h=>{let[g]=h;g&&g.target===c&&p&&t&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var y;(y=p)==null||y.observe(t)})),n()}),c&&!s&&p.observe(c),t&&p.observe(t));let v,m=s?al(e):null;s&&b();function b(){let h=al(e);m&&!X1(m,h)&&n(),m=h,v=requestAnimationFrame(b)}return n(),()=>{var h;d.forEach(g=>{o&&g.removeEventListener("scroll",n),a&&g.removeEventListener("resize",n)}),u?.(),(h=p)==null||h.disconnect(),p=null,s&&cancelAnimationFrame(v)}}var Z1=L1;var J1=D1,eR=O1,tR=z1,nR=_1,Ey=M1;var rR=I1,Ty=(e,t,n)=>{let r=new Map,o={platform:Q1,...n},a={...o.platform,_c:r};return N1(e,t,{...o,platform:a})};var bn=_(pe(),1),aR=_(pe(),1),iR=_(Ei(),1),TL=typeof document<"u",NL=function(){},lm=TL?aR.useLayoutEffect:NL;function sm(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let n,r,o;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(!sm(e[r],t[r]))return!1;return!0}if(o=Object.keys(e),n=o.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,o[r]))return!1;for(r=n;r--!==0;){let a=o[r];if(!(a==="_owner"&&e.$$typeof)&&!sm(e[a],t[a]))return!1}return!0}return e!==e&&t!==t}function lR(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function oR(e,t){let n=lR(e);return Math.round(t*n)/n}function Ny(e){let t=bn.useRef(e);return lm(()=>{t.current=e}),t}function sR(e){e===void 0&&(e={});let{placement:t="bottom",strategy:n="absolute",middleware:r=[],platform:o,elements:{reference:a,floating:i}={},transform:l=!0,whileElementsMounted:s,open:c}=e,[d,u]=bn.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[f,p]=bn.useState(r);sm(f,r)||p(r);let[v,m]=bn.useState(null),[b,h]=bn.useState(null),g=bn.useCallback(Q=>{Q!==R.current&&(R.current=Q,m(Q))},[]),y=bn.useCallback(Q=>{Q!==E.current&&(E.current=Q,h(Q))},[]),x=a||v,w=i||b,R=bn.useRef(null),E=bn.useRef(null),A=bn.useRef(d),N=s!=null,L=Ny(s),j=Ny(o),D=Ny(c),W=bn.useCallback(()=>{if(!R.current||!E.current)return;let Q={placement:t,strategy:n,middleware:f};j.current&&(Q.platform=j.current),Ty(R.current,E.current,Q).then(F=>{let P={...F,isPositioned:D.current!==!1};ie.current&&!sm(A.current,P)&&(A.current=P,iR.flushSync(()=>{u(P)}))})},[f,t,n,j,D]);lm(()=>{c===!1&&A.current.isPositioned&&(A.current.isPositioned=!1,u(Q=>({...Q,isPositioned:!1})))},[c]);let ie=bn.useRef(!1);lm(()=>(ie.current=!0,()=>{ie.current=!1}),[]),lm(()=>{if(x&&(R.current=x),w&&(E.current=w),x&&w){if(L.current)return L.current(x,w,W);W()}},[x,w,W,L,N]);let ye=bn.useMemo(()=>({reference:R,floating:E,setReference:g,setFloating:y}),[g,y]),V=bn.useMemo(()=>({reference:x,floating:w}),[x,w]),ee=bn.useMemo(()=>{let Q={position:n,left:0,top:0};if(!V.floating)return Q;let F=oR(V.floating,d.x),P=oR(V.floating,d.y);return l?{...Q,transform:"translate("+F+"px, "+P+"px)",...lR(V.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:F,top:P}},[n,l,V.floating,d.x,d.y]);return bn.useMemo(()=>({...d,update:W,refs:ye,elements:V,floatingStyles:ee}),[d,W,ye,V,ee])}var ML=e=>{function t(n){return{}.hasOwnProperty.call(n,"current")}return{name:"arrow",options:e,fn(n){let{element:r,padding:o}=typeof e=="function"?e(n):e;return r&&t(r)?r.current!=null?Ey({element:r.current,padding:o}).fn(n):{}:r?Ey({element:r,padding:o}).fn(n):{}}}},cR=(e,t)=>{let n=Z1(e);return{name:n.name,fn:n.fn,options:[e,t]}},uR=(e,t)=>{let n=J1(e);return{name:n.name,fn:n.fn,options:[e,t]}},dR=(e,t)=>({fn:rR(e).fn,options:[e,t]}),fR=(e,t)=>{let n=eR(e);return{name:n.name,fn:n.fn,options:[e,t]}},mR=(e,t)=>{let n=tR(e);return{name:n.name,fn:n.fn,options:[e,t]}};var pR=(e,t)=>{let n=nR(e);return{name:n.name,fn:n.fn,options:[e,t]}};var gR=(e,t)=>{let n=ML(e);return{name:n.name,fn:n.fn,options:[e,t]}};var hR=_(pe(),1);var My=_(J(),1),OL="Arrow",yR=hR.forwardRef((e,t)=>{let{children:n,width:r=10,height:o=5,...a}=e;return(0,My.jsx)(Xe.svg,{...a,ref:t,width:r,height:o,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?n:(0,My.jsx)("polygon",{points:"0,0 30,0 15,10"})})});yR.displayName=OL;var vR=yR;var hi=_(J(),1);var Oy="Popper",[bR,_y]=Yr(Oy),[kL,xR]=bR(Oy),SR=e=>{let{__scopePopper:t,children:n}=e,[r,o]=hr.useState(null);return(0,hi.jsx)(kL,{scope:t,anchor:r,onAnchorChange:o,children:n})};SR.displayName=Oy;var wR="PopperAnchor",AR=hr.forwardRef((e,t)=>{let{__scopePopper:n,virtualRef:r,...o}=e,a=xR(wR,n),i=hr.useRef(null),l=bt(t,i),s=hr.useRef(null);return hr.useEffect(()=>{let c=s.current;s.current=r?.current||i.current,c!==s.current&&a.onAnchorChange(s.current)}),r?null:(0,hi.jsx)(Xe.div,{...o,ref:l})});AR.displayName=wR;var ky="PopperContent",[LL,DL]=bR(ky),CR=hr.forwardRef((e,t)=>{let{__scopePopper:n,side:r="bottom",sideOffset:o=0,align:a="center",alignOffset:i=0,arrowPadding:l=0,avoidCollisions:s=!0,collisionBoundary:c=[],collisionPadding:d=0,sticky:u="partial",hideWhenDetached:f=!1,updatePositionStrategy:p="optimized",onPlaced:v,...m}=e,b=xR(ky,n),[h,g]=hr.useState(null),y=bt(t,I=>g(I)),[x,w]=hr.useState(null),R=hf(x),E=R?.width??0,A=R?.height??0,N=r+(a!=="center"?"-"+a:""),L=typeof d=="number"?d:{top:0,right:0,bottom:0,left:0,...d},j=Array.isArray(c)?c:[c],D=j.length>0,W={padding:L,boundary:j.filter(zL),altBoundary:D},{refs:ie,floatingStyles:ye,placement:V,isPositioned:ee,middlewareData:Q}=sR({strategy:"fixed",placement:N,whileElementsMounted:(...I)=>Ry(...I,{animationFrame:p==="always"}),elements:{reference:b.anchor},middleware:[cR({mainAxis:o+A,alignmentAxis:i}),s&&uR({mainAxis:!0,crossAxis:!1,limiter:u==="partial"?dR():void 0,...W}),s&&fR({...W}),mR({...W,apply:({elements:I,rects:ue,availableWidth:ve,availableHeight:ke})=>{let{width:Se,height:Ce}=ue.reference,He=I.floating.style;He.setProperty("--radix-popper-available-width",`${ve}px`),He.setProperty("--radix-popper-available-height",`${ke}px`),He.setProperty("--radix-popper-anchor-width",`${Se}px`),He.setProperty("--radix-popper-anchor-height",`${Ce}px`)}}),x&&gR({element:x,padding:l}),BL({arrowWidth:E,arrowHeight:A}),f&&pR({strategy:"referenceHidden",...W})]}),[F,P]=TR(V),ct=sr(v);qt(()=>{ee&&ct?.()},[ee,ct]);let X=Q.arrow?.x,je=Q.arrow?.y,le=Q.arrow?.centerOffset!==0,[xe,Ie]=hr.useState();return qt(()=>{h&&Ie(window.getComputedStyle(h).zIndex)},[h]),(0,hi.jsx)("div",{ref:ie.setFloating,"data-radix-popper-content-wrapper":"",style:{...ye,transform:ee?ye.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:xe,"--radix-popper-transform-origin":[Q.transformOrigin?.x,Q.transformOrigin?.y].join(" "),...Q.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:(0,hi.jsx)(LL,{scope:n,placedSide:F,onArrowChange:w,arrowX:X,arrowY:je,shouldHideArrow:le,children:(0,hi.jsx)(Xe.div,{"data-side":F,"data-align":P,...m,ref:y,style:{...m.style,animation:ee?void 0:"none"}})})})});CR.displayName=ky;var RR="PopperArrow",IL={top:"bottom",right:"left",bottom:"top",left:"right"},ER=hr.forwardRef(function(t,n){let{__scopePopper:r,...o}=t,a=DL(RR,r),i=IL[a.placedSide];return(0,hi.jsx)("span",{ref:a.onArrowChange,style:{position:"absolute",left:a.arrowX,top:a.arrowY,[i]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[a.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[a.placedSide],visibility:a.shouldHideArrow?"hidden":void 0},children:(0,hi.jsx)(vR,{...o,ref:n,style:{...o.style,display:"block"}})})});ER.displayName=RR;function zL(e){return e!==null}var BL=e=>({name:"transformOrigin",options:e,fn(t){let{placement:n,rects:r,middlewareData:o}=t,i=o.arrow?.centerOffset!==0,l=i?0:e.arrowWidth,s=i?0:e.arrowHeight,[c,d]=TR(n),u={start:"0%",center:"50%",end:"100%"}[d],f=(o.arrow?.x??0)+l/2,p=(o.arrow?.y??0)+s/2,v="",m="";return c==="bottom"?(v=i?u:`${f}px`,m=`${-s}px`):c==="top"?(v=i?u:`${f}px`,m=`${r.floating.height+s}px`):c==="right"?(v=`${-s}px`,m=i?u:`${p}px`):c==="left"&&(v=`${r.floating.width+s}px`,m=i?u:`${p}px`),{data:{x:v,y:m}}}});function TR(e){let[t,n="center"]=e.split("-");return[t,n]}var NR=SR,MR=AR,OR=CR,_R=ER;var cm=_(pe(),1),kR=_(Ei(),1);var LR=_(J(),1),PL="Portal",Ly=cm.forwardRef((e,t)=>{let{container:n,...r}=e,[o,a]=cm.useState(!1);qt(()=>a(!0),[]);let i=n||o&&globalThis?.document?.body;return i?kR.default.createPortal((0,LR.jsx)(Xe.div,{...r,ref:t}),i):null});Ly.displayName=PL;var DR=_(pe(),1);var IR=_(J(),1),Dy=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),jL="VisuallyHidden",VL=DR.forwardRef((e,t)=>(0,IR.jsx)(Xe.span,{...e,ref:t,style:{...Dy,...e.style}}));VL.displayName=jL;var HL=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},Ms=new WeakMap,um=new WeakMap,dm={},Iy=0,zR=function(e){return e&&(e.host||zR(e.parentNode))},FL=function(e,t){return t.map(function(n){if(e.contains(n))return n;var r=zR(n);return r&&e.contains(r)?r:(console.error("aria-hidden",n,"in not contained inside",e,". Doing nothing"),null)}).filter(function(n){return!!n})},KL=function(e,t,n,r){var o=FL(t,Array.isArray(e)?e:[e]);dm[n]||(dm[n]=new WeakMap);var a=dm[n],i=[],l=new Set,s=new Set(o),c=function(u){!u||l.has(u)||(l.add(u),c(u.parentNode))};o.forEach(c);var d=function(u){!u||s.has(u)||Array.prototype.forEach.call(u.children,function(f){if(l.has(f))d(f);else try{var p=f.getAttribute(r),v=p!==null&&p!=="false",m=(Ms.get(f)||0)+1,b=(a.get(f)||0)+1;Ms.set(f,m),a.set(f,b),i.push(f),m===1&&v&&um.set(f,!0),b===1&&f.setAttribute(n,"true"),v||f.setAttribute(r,"true")}catch(h){console.error("aria-hidden: cannot operate on ",f,h)}})};return d(t),l.clear(),Iy++,function(){i.forEach(function(u){var f=Ms.get(u)-1,p=a.get(u)-1;Ms.set(u,f),a.set(u,p),f||(um.has(u)||u.removeAttribute(r),um.delete(u)),p||u.removeAttribute(n)}),Iy--,Iy||(Ms=new WeakMap,Ms=new WeakMap,um=new WeakMap,dm={})}},BR=function(e,t,n){n===void 0&&(n="data-aria-hidden");var r=Array.from(Array.isArray(e)?e:[e]),o=t||HL(e);return o?(r.push.apply(r,Array.from(o.querySelectorAll("[aria-live], script"))),KL(r,o,n,"aria-hidden")):function(){return null}};var yr=function(){return yr=Object.assign||function(t){for(var n,r=1,o=arguments.length;r<o;r++){n=arguments[r];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(t[a]=n[a])}return t},yr.apply(this,arguments)};function fm(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n}function UR(e,t,n){if(n||arguments.length===2)for(var r=0,o=t.length,a;r<o;r++)(a||!(r in t))&&(a||(a=Array.prototype.slice.call(t,0,r)),a[r]=t[r]);return e.concat(a||Array.prototype.slice.call(t))}var ym=_(pe());var $n=_(pe());var il="right-scroll-bar-position",ll="width-before-scroll-bar",zy="with-scroll-bars-hidden",By="--removed-body-scroll-bar-size";function mm(e,t){return typeof e=="function"?e(t):e&&(e.current=t),e}var PR=_(pe());function jR(e,t){var n=(0,PR.useState)(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(r){var o=n.value;o!==r&&(n.value=r,n.callback(r,o))}}}})[0];return n.callback=t,n.facade}var pm=_(pe());var $L=typeof window<"u"?pm.useLayoutEffect:pm.useEffect,VR=new WeakMap;function Uy(e,t){var n=jR(t||null,function(r){return e.forEach(function(o){return mm(o,r)})});return $L(function(){var r=VR.get(n);if(r){var o=new Set(r),a=new Set(e),i=n.current;o.forEach(function(l){a.has(l)||mm(l,null)}),a.forEach(function(l){o.has(l)||mm(l,i)})}VR.set(n,e)},[e]),n}function GL(e){return e}function qL(e,t){t===void 0&&(t=GL);var n=[],r=!1,o={read:function(){if(r)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:e},useMedium:function(a){var i=t(a,r);return n.push(i),function(){n=n.filter(function(l){return l!==i})}},assignSyncMedium:function(a){for(r=!0;n.length;){var i=n;n=[],i.forEach(a)}n={push:function(l){return a(l)},filter:function(){return n}}},assignMedium:function(a){r=!0;var i=[];if(n.length){var l=n;n=[],l.forEach(a),i=n}var s=function(){var d=i;i=[],d.forEach(a)},c=function(){return Promise.resolve().then(s)};c(),n={push:function(d){i.push(d),c()},filter:function(d){return i=i.filter(d),n}}}};return o}function Py(e){e===void 0&&(e={});var t=qL(null);return t.options=yr({async:!0,ssr:!1},e),t}var HR=_(pe()),FR=function(e){var t=e.sideCar,n=fm(e,["sideCar"]);if(!t)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var r=t.read();if(!r)throw new Error("Sidecar medium not found");return HR.createElement(r,yr({},n))};FR.isSideCarExport=!0;function jy(e,t){return e.useMedium(t),FR}var gm=Py();var Vy=function(){},vu=$n.forwardRef(function(e,t){var n=$n.useRef(null),r=$n.useState({onScrollCapture:Vy,onWheelCapture:Vy,onTouchMoveCapture:Vy}),o=r[0],a=r[1],i=e.forwardProps,l=e.children,s=e.className,c=e.removeScrollBar,d=e.enabled,u=e.shards,f=e.sideCar,p=e.noRelative,v=e.noIsolation,m=e.inert,b=e.allowPinchZoom,h=e.as,g=h===void 0?"div":h,y=e.gapMode,x=fm(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),w=f,R=Uy([n,t]),E=yr(yr({},x),o);return $n.createElement($n.Fragment,null,d&&$n.createElement(w,{sideCar:gm,removeScrollBar:c,shards:u,noRelative:p,noIsolation:v,inert:m,setCallbacks:a,allowPinchZoom:!!b,lockRef:n,gapMode:y}),i?$n.cloneElement($n.Children.only(l),yr(yr({},E),{ref:R})):$n.createElement(g,yr({},E,{className:s,ref:R}),l))});vu.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};vu.classNames={fullWidth:ll,zeroRight:il};var Pt=_(pe());var _s=_(pe());var GR=_(pe());var KR;var $R=function(){if(KR)return KR;if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function WL(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=$R();return t&&e.setAttribute("nonce",t),e}function YL(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function QL(e){var t=document.head||document.getElementsByTagName("head")[0];t.appendChild(e)}var Hy=function(){var e=0,t=null;return{add:function(n){e==0&&(t=WL())&&(YL(t,n),QL(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}};var Fy=function(){var e=Hy();return function(t,n){GR.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}};var bu=function(){var e=Fy(),t=function(n){var r=n.styles,o=n.dynamic;return e(r,o),null};return t};var XL={left:0,top:0,right:0,gap:0},Ky=function(e){return parseInt(e||"",10)||0},ZL=function(e){var t=window.getComputedStyle(document.body),n=t[e==="padding"?"paddingLeft":"marginLeft"],r=t[e==="padding"?"paddingTop":"marginTop"],o=t[e==="padding"?"paddingRight":"marginRight"];return[Ky(n),Ky(r),Ky(o)]},$y=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return XL;var t=ZL(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}};var JL=bu(),Os="data-scroll-locked",eD=function(e,t,n,r){var o=e.left,a=e.top,i=e.right,l=e.gap;return n===void 0&&(n="margin"),`
12
- .`.concat(zy,` {
8
+ `+r.stack}}var lg=Object.prototype.hasOwnProperty,Xg=Mn.unstable_scheduleCallback,Cp=Mn.unstable_cancelCallback,aO=Mn.unstable_shouldYield,iO=Mn.unstable_requestPaint,Er=Mn.unstable_now,lO=Mn.unstable_getCurrentPriorityLevel,Zx=Mn.unstable_ImmediatePriority,e0=Mn.unstable_UserBlockingPriority,Nd=Mn.unstable_NormalPriority,sO=Mn.unstable_LowPriority,t0=Mn.unstable_IdlePriority,cO=Mn.log,uO=Mn.unstable_setDisableYieldValue,Pc=null,Tr=null;function Ka(e){if(typeof cO=="function"&&uO(e),Tr&&typeof Tr.setStrictMode=="function")try{Tr.setStrictMode(Pc,e)}catch{}}var Mr=Math.clz32?Math.clz32:mO,dO=Math.log,fO=Math.LN2;function mO(e){return e>>>=0,e===0?32:31-(dO(e)/fO|0)|0}var Ku=256,Gu=262144,qu=4194304;function Pi(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function Jd(e,t,n){var r=e.pendingLanes;if(r===0)return 0;var o=0,a=e.suspendedLanes,i=e.pingedLanes;e=e.warmLanes;var l=r&134217727;return l!==0?(r=l&~a,r!==0?o=Pi(r):(i&=l,i!==0?o=Pi(i):n||(n=l&~e,n!==0&&(o=Pi(n))))):(l=r&~a,l!==0?o=Pi(l):i!==0?o=Pi(i):n||(n=r&~e,n!==0&&(o=Pi(n)))),o===0?0:t!==0&&t!==o&&(t&a)===0&&(a=o&-o,n=t&-t,a>=n||a===32&&(n&4194048)!==0)?t:o}function Uc(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function pO(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function n0(){var e=qu;return qu<<=1,(qu&62914560)===0&&(qu=4194304),e}function Rp(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function jc(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function gO(e,t,n,r,o,a){var i=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var l=e.entanglements,s=e.expirationTimes,c=e.hiddenUpdates;for(n=i&~n;0<n;){var d=31-Mr(n),u=1<<d;l[d]=0,s[d]=-1;var f=c[d];if(f!==null)for(c[d]=null,d=0;d<f.length;d++){var p=f[d];p!==null&&(p.lane&=-536870913)}n&=~u}r!==0&&r0(e,r,0),a!==0&&o===0&&e.tag!==0&&(e.suspendedLanes|=a&~(i&~t))}function r0(e,t,n){e.pendingLanes|=t,e.suspendedLanes&=~t;var r=31-Mr(t);e.entangledLanes|=t,e.entanglements[r]=e.entanglements[r]|1073741824|n&261930}function o0(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-Mr(n),o=1<<r;o&t|e[r]&t&&(e[r]|=t),n&=~o}}function a0(e,t){var n=t&-t;return n=(n&42)!==0?1:Jg(n),(n&(e.suspendedLanes|t))!==0?0:n}function Jg(e){switch(e){case 2:e=1;break;case 8:e=4;break;case 32:e=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:e=128;break;case 268435456:e=134217728;break;default:e=0}return e}function Zg(e){return e&=-e,2<e?8<e?(e&134217727)!==0?32:268435456:8:2}function i0(){var e=At.p;return e!==0?e:(e=window.event,e===void 0?32:Mw(e.type))}function Rv(e,t){var n=At.p;try{return At.p=e,t()}finally{At.p=n}}var ci=Math.random().toString(36).slice(2),Fn="__reactFiber$"+ci,fr="__reactProps$"+ci,ms="__reactContainer$"+ci,sg="__reactEvents$"+ci,hO="__reactListeners$"+ci,yO="__reactHandles$"+ci,Nv="__reactResources$"+ci,Vc="__reactMarker$"+ci;function eh(e){delete e[Fn],delete e[fr],delete e[sg],delete e[hO],delete e[yO]}function Ul(e){var t=e[Fn];if(t)return t;for(var n=e.parentNode;n;){if(t=n[ms]||n[Fn]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=Dx(e);e!==null;){if(n=e[Fn])return n;e=Dx(e)}return t}e=n,n=e.parentNode}return null}function ps(e){if(e=e[Fn]||e[ms]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function lc(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(K(33))}function Yl(e){var t=e[Nv];return t||(t=e[Nv]={hoistableStyles:new Map,hoistableScripts:new Map}),t}function In(e){e[Vc]=!0}var l0=new Set,s0={};function Xi(e,t){rs(e,t),rs(e+"Capture",t)}function rs(e,t){for(s0[e]=t,e=0;e<t.length;e++)l0.add(t[e])}var bO=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"),Ev={},Tv={};function vO(e){return lg.call(Tv,e)?!0:lg.call(Ev,e)?!1:bO.test(e)?Tv[e]=!0:(Ev[e]=!0,!1)}function sd(e,t,n){if(vO(t))if(n===null)e.removeAttribute(t);else{switch(typeof n){case"undefined":case"function":case"symbol":e.removeAttribute(t);return;case"boolean":var r=t.toLowerCase().slice(0,5);if(r!=="data-"&&r!=="aria-"){e.removeAttribute(t);return}}e.setAttribute(t,""+n)}}function Wu(e,t,n){if(n===null)e.removeAttribute(t);else{switch(typeof n){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(t);return}e.setAttribute(t,""+n)}}function na(e,t,n,r){if(r===null)e.removeAttribute(n);else{switch(typeof r){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(n);return}e.setAttributeNS(t,n,""+r)}}function Hr(e){switch(typeof e){case"bigint":case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function c0(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function xO(e,t,n){var r=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);if(!e.hasOwnProperty(t)&&typeof r<"u"&&typeof r.get=="function"&&typeof r.set=="function"){var o=r.get,a=r.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return o.call(this)},set:function(i){n=""+i,a.call(this,i)}}),Object.defineProperty(e,t,{enumerable:r.enumerable}),{getValue:function(){return n},setValue:function(i){n=""+i},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function cg(e){if(!e._valueTracker){var t=c0(e)?"checked":"value";e._valueTracker=xO(e,t,""+e[t])}}function u0(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=c0(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function Ed(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var SO=/[\n"\\]/g;function Gr(e){return e.replace(SO,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function ug(e,t,n,r,o,a,i,l){e.name="",i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"?e.type=i:e.removeAttribute("type"),t!=null?i==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+Hr(t)):e.value!==""+Hr(t)&&(e.value=""+Hr(t)):i!=="submit"&&i!=="reset"||e.removeAttribute("value"),t!=null?dg(e,i,Hr(t)):n!=null?dg(e,i,Hr(n)):r!=null&&e.removeAttribute("value"),o==null&&a!=null&&(e.defaultChecked=!!a),o!=null&&(e.checked=o&&typeof o!="function"&&typeof o!="symbol"),l!=null&&typeof l!="function"&&typeof l!="symbol"&&typeof l!="boolean"?e.name=""+Hr(l):e.removeAttribute("name")}function d0(e,t,n,r,o,a,i,l){if(a!=null&&typeof a!="function"&&typeof a!="symbol"&&typeof a!="boolean"&&(e.type=a),t!=null||n!=null){if(!(a!=="submit"&&a!=="reset"||t!=null)){cg(e);return}n=n!=null?""+Hr(n):"",t=t!=null?""+Hr(t):n,l||t===e.value||(e.value=t),e.defaultValue=t}r=r??o,r=typeof r!="function"&&typeof r!="symbol"&&!!r,e.checked=l?e.checked:!!r,e.defaultChecked=!!r,i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"&&(e.name=i),cg(e)}function dg(e,t,n){t==="number"&&Ed(e.ownerDocument)===e||e.defaultValue===""+n||(e.defaultValue=""+n)}function Ql(e,t,n,r){if(e=e.options,t){t={};for(var o=0;o<n.length;o++)t["$"+n[o]]=!0;for(n=0;n<e.length;n++)o=t.hasOwnProperty("$"+e[n].value),e[n].selected!==o&&(e[n].selected=o),o&&r&&(e[n].defaultSelected=!0)}else{for(n=""+Hr(n),t=null,o=0;o<e.length;o++){if(e[o].value===n){e[o].selected=!0,r&&(e[o].defaultSelected=!0);return}t!==null||e[o].disabled||(t=e[o])}t!==null&&(t.selected=!0)}}function f0(e,t,n){if(t!=null&&(t=""+Hr(t),t!==e.value&&(e.value=t),n==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=n!=null?""+Hr(n):""}function m0(e,t,n,r){if(t==null){if(r!=null){if(n!=null)throw Error(K(92));if(ic(r)){if(1<r.length)throw Error(K(93));r=r[0]}n=r}n==null&&(n=""),t=n}n=Hr(t),e.defaultValue=n,r=e.textContent,r===n&&r!==""&&r!==null&&(e.value=r),cg(e)}function os(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var wO=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function Mv(e,t,n){var r=t.indexOf("--")===0;n==null||typeof n=="boolean"||n===""?r?e.setProperty(t,""):t==="float"?e.cssFloat="":e[t]="":r?e.setProperty(t,n):typeof n!="number"||n===0||wO.has(t)?t==="float"?e.cssFloat=n:e[t]=(""+n).trim():e[t]=n+"px"}function p0(e,t,n){if(t!=null&&typeof t!="object")throw Error(K(62));if(e=e.style,n!=null){for(var r in n)!n.hasOwnProperty(r)||t!=null&&t.hasOwnProperty(r)||(r.indexOf("--")===0?e.setProperty(r,""):r==="float"?e.cssFloat="":e[r]="");for(var o in t)r=t[o],t.hasOwnProperty(o)&&n[o]!==r&&Mv(e,o,r)}else for(var a in t)t.hasOwnProperty(a)&&Mv(e,a,t[a])}function th(e){if(e.indexOf("-")===-1)return!1;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var AO=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRendering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),CO=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function cd(e){return CO.test(""+e)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":e}function ua(){}var fg=null;function nh(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var jl=null,Xl=null;function Ov(e){var t=ps(e);if(t&&(e=t.stateNode)){var n=e[fr]||null;e:switch(e=t.stateNode,t.type){case"input":if(ug(e,n.value,n.defaultValue,n.defaultValue,n.checked,n.defaultChecked,n.type,n.name),t=n.name,n.type==="radio"&&t!=null){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll('input[name="'+Gr(""+t)+'"][type="radio"]'),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var o=r[fr]||null;if(!o)throw Error(K(90));ug(r,o.value,o.defaultValue,o.defaultValue,o.checked,o.defaultChecked,o.type,o.name)}}for(t=0;t<n.length;t++)r=n[t],r.form===e.form&&u0(r)}break e;case"textarea":f0(e,n.value,n.defaultValue);break e;case"select":t=n.value,t!=null&&Ql(e,!!n.multiple,t,!1)}}}var Np=!1;function g0(e,t,n){if(Np)return e(t,n);Np=!0;try{var r=e(t);return r}finally{if(Np=!1,(jl!==null||Xl!==null)&&(df(),jl&&(t=jl,e=Xl,Xl=jl=null,Ov(t),e)))for(t=0;t<e.length;t++)Ov(e[t])}}function Cc(e,t){var n=e.stateNode;if(n===null)return null;var r=n[fr]||null;if(r===null)return null;n=r[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(r=!r.disabled)||(e=e.type,r=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!r;break e;default:e=!1}if(e)return null;if(n&&typeof n!="function")throw Error(K(231,t,typeof n));return n}var ga=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),mg=!1;if(ga)try{_l={},Object.defineProperty(_l,"passive",{get:function(){mg=!0}}),window.addEventListener("test",_l,_l),window.removeEventListener("test",_l,_l)}catch{mg=!1}var _l,Ga=null,rh=null,ud=null;function h0(){if(ud)return ud;var e,t=rh,n=t.length,r,o="value"in Ga?Ga.value:Ga.textContent,a=o.length;for(e=0;e<n&&t[e]===o[e];e++);var i=n-e;for(r=1;r<=i&&t[n-r]===o[a-r];r++);return ud=o.slice(e,1<r?1-r:void 0)}function dd(e){var t=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function Yu(){return!0}function kv(){return!1}function mr(e){function t(n,r,o,a,i){this._reactName=n,this._targetInst=o,this.type=r,this.nativeEvent=a,this.target=i,this.currentTarget=null;for(var l in e)e.hasOwnProperty(l)&&(n=e[l],this[l]=n?n(a):a[l]);return this.isDefaultPrevented=(a.defaultPrevented!=null?a.defaultPrevented:a.returnValue===!1)?Yu:kv,this.isPropagationStopped=kv,this}return Gt(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var n=this.nativeEvent;n&&(n.preventDefault?n.preventDefault():typeof n.returnValue!="unknown"&&(n.returnValue=!1),this.isDefaultPrevented=Yu)},stopPropagation:function(){var n=this.nativeEvent;n&&(n.stopPropagation?n.stopPropagation():typeof n.cancelBubble!="unknown"&&(n.cancelBubble=!0),this.isPropagationStopped=Yu)},persist:function(){},isPersistent:Yu}),t}var Ji={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Zd=mr(Ji),Fc=Gt({},Ji,{view:0,detail:0}),RO=mr(Fc),Ep,Tp,Zs,ef=Gt({},Fc,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:oh,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==Zs&&(Zs&&e.type==="mousemove"?(Ep=e.screenX-Zs.screenX,Tp=e.screenY-Zs.screenY):Tp=Ep=0,Zs=e),Ep)},movementY:function(e){return"movementY"in e?e.movementY:Tp}}),_v=mr(ef),NO=Gt({},ef,{dataTransfer:0}),EO=mr(NO),TO=Gt({},Fc,{relatedTarget:0}),Mp=mr(TO),MO=Gt({},Ji,{animationName:0,elapsedTime:0,pseudoElement:0}),OO=mr(MO),kO=Gt({},Ji,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),_O=mr(kO),LO=Gt({},Ji,{data:0}),Lv=mr(LO),DO={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},BO={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},IO={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function zO(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=IO[e])?!!t[e]:!1}function oh(){return zO}var PO=Gt({},Fc,{key:function(e){if(e.key){var t=DO[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=dd(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?BO[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:oh,charCode:function(e){return e.type==="keypress"?dd(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?dd(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),UO=mr(PO),jO=Gt({},ef,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Dv=mr(jO),VO=Gt({},Fc,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:oh}),FO=mr(VO),HO=Gt({},Ji,{propertyName:0,elapsedTime:0,pseudoElement:0}),$O=mr(HO),KO=Gt({},ef,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),GO=mr(KO),qO=Gt({},Ji,{newState:0,oldState:0}),WO=mr(qO),YO=[9,13,27,32],ah=ga&&"CompositionEvent"in window,uc=null;ga&&"documentMode"in document&&(uc=document.documentMode);var QO=ga&&"TextEvent"in window&&!uc,y0=ga&&(!ah||uc&&8<uc&&11>=uc),Bv=" ",Iv=!1;function b0(e,t){switch(e){case"keyup":return YO.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function v0(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Vl=!1;function XO(e,t){switch(e){case"compositionend":return v0(t);case"keypress":return t.which!==32?null:(Iv=!0,Bv);case"textInput":return e=t.data,e===Bv&&Iv?null:e;default:return null}}function JO(e,t){if(Vl)return e==="compositionend"||!ah&&b0(e,t)?(e=h0(),ud=rh=Ga=null,Vl=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return y0&&t.locale!=="ko"?null:t.data;default:return null}}var ZO={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function zv(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!ZO[e.type]:t==="textarea"}function x0(e,t,n,r){jl?Xl?Xl.push(r):Xl=[r]:jl=r,t=Kd(t,"onChange"),0<t.length&&(n=new Zd("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var dc=null,Rc=null;function ek(e){gw(e,0)}function tf(e){var t=lc(e);if(u0(t))return e}function Pv(e,t){if(e==="change")return t}var S0=!1;ga&&(ga?(Xu="oninput"in document,Xu||(Op=document.createElement("div"),Op.setAttribute("oninput","return;"),Xu=typeof Op.oninput=="function"),Qu=Xu):Qu=!1,S0=Qu&&(!document.documentMode||9<document.documentMode));var Qu,Xu,Op;function Uv(){dc&&(dc.detachEvent("onpropertychange",w0),Rc=dc=null)}function w0(e){if(e.propertyName==="value"&&tf(Rc)){var t=[];x0(t,Rc,e,nh(e)),g0(ek,t)}}function tk(e,t,n){e==="focusin"?(Uv(),dc=t,Rc=n,dc.attachEvent("onpropertychange",w0)):e==="focusout"&&Uv()}function nk(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return tf(Rc)}function rk(e,t){if(e==="click")return tf(t)}function ok(e,t){if(e==="input"||e==="change")return tf(t)}function ak(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var kr=typeof Object.is=="function"?Object.is:ak;function Nc(e,t){if(kr(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var o=n[r];if(!lg.call(t,o)||!kr(e[o],t[o]))return!1}return!0}function jv(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Vv(e,t){var n=jv(e);e=0;for(var r;n;){if(n.nodeType===3){if(r=e+n.textContent.length,e<=t&&r>=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=jv(n)}}function A0(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?A0(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function C0(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Ed(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Ed(e.document)}return t}function ih(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}var ik=ga&&"documentMode"in document&&11>=document.documentMode,Fl=null,pg=null,fc=null,gg=!1;function Fv(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;gg||Fl==null||Fl!==Ed(r)||(r=Fl,"selectionStart"in r&&ih(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),fc&&Nc(fc,r)||(fc=r,r=Kd(pg,"onSelect"),0<r.length&&(t=new Zd("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=Fl)))}function Ii(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var Hl={animationend:Ii("Animation","AnimationEnd"),animationiteration:Ii("Animation","AnimationIteration"),animationstart:Ii("Animation","AnimationStart"),transitionrun:Ii("Transition","TransitionRun"),transitionstart:Ii("Transition","TransitionStart"),transitioncancel:Ii("Transition","TransitionCancel"),transitionend:Ii("Transition","TransitionEnd")},kp={},R0={};ga&&(R0=document.createElement("div").style,"AnimationEvent"in window||(delete Hl.animationend.animation,delete Hl.animationiteration.animation,delete Hl.animationstart.animation),"TransitionEvent"in window||delete Hl.transitionend.transition);function Zi(e){if(kp[e])return kp[e];if(!Hl[e])return e;var t=Hl[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in R0)return kp[e]=t[n];return e}var N0=Zi("animationend"),E0=Zi("animationiteration"),T0=Zi("animationstart"),lk=Zi("transitionrun"),sk=Zi("transitionstart"),ck=Zi("transitioncancel"),M0=Zi("transitionend"),O0=new Map,hg="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");hg.push("scrollEnd");function go(e,t){O0.set(e,t),Xi(t,[e])}var Td=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)},Fr=[],$l=0,lh=0;function nf(){for(var e=$l,t=lh=$l=0;t<e;){var n=Fr[t];Fr[t++]=null;var r=Fr[t];Fr[t++]=null;var o=Fr[t];Fr[t++]=null;var a=Fr[t];if(Fr[t++]=null,r!==null&&o!==null){var i=r.pending;i===null?o.next=o:(o.next=i.next,i.next=o),r.pending=o}a!==0&&k0(n,o,a)}}function rf(e,t,n,r){Fr[$l++]=e,Fr[$l++]=t,Fr[$l++]=n,Fr[$l++]=r,lh|=r,e.lanes|=r,e=e.alternate,e!==null&&(e.lanes|=r)}function sh(e,t,n,r){return rf(e,t,n,r),Md(e)}function el(e,t){return rf(e,null,null,t),Md(e)}function k0(e,t,n){e.lanes|=n;var r=e.alternate;r!==null&&(r.lanes|=n);for(var o=!1,a=e.return;a!==null;)a.childLanes|=n,r=a.alternate,r!==null&&(r.childLanes|=n),a.tag===22&&(e=a.stateNode,e===null||e._visibility&1||(o=!0)),e=a,a=a.return;return e.tag===3?(a=e.stateNode,o&&t!==null&&(o=31-Mr(n),e=a.hiddenUpdates,r=e[o],r===null?e[o]=[t]:r.push(t),t.lane=n|536870912),a):null}function Md(e){if(50<Sc)throw Sc=0,zg=null,Error(K(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var Kl={};function uk(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Rr(e,t,n,r){return new uk(e,t,n,r)}function ch(e){return e=e.prototype,!(!e||!e.isReactComponent)}function fa(e,t){var n=e.alternate;return n===null?(n=Rr(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&65011712,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n.refCleanup=e.refCleanup,n}function _0(e,t){e.flags&=65011714;var n=e.alternate;return n===null?(e.childLanes=0,e.lanes=t,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null):(e.childLanes=n.childLanes,e.lanes=n.lanes,e.child=n.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=n.memoizedProps,e.memoizedState=n.memoizedState,e.updateQueue=n.updateQueue,e.type=n.type,t=n.dependencies,e.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),e}function fd(e,t,n,r,o,a){var i=0;if(r=e,typeof e=="function")ch(e)&&(i=1);else if(typeof e=="string")i=m_(e,n,_o.current)?26:e==="html"||e==="head"||e==="body"?27:5;else e:switch(e){case rg:return e=Rr(31,n,t,o),e.elementType=rg,e.lanes=a,e;case zl:return Fi(n.children,o,a,t);case Xx:i=8,o|=24;break;case eg:return e=Rr(12,n,t,o|2),e.elementType=eg,e.lanes=a,e;case tg:return e=Rr(13,n,t,o),e.elementType=tg,e.lanes=a,e;case ng:return e=Rr(19,n,t,o),e.elementType=ng,e.lanes=a,e;default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case ca:i=10;break e;case Jx:i=9;break e;case Yg:i=11;break e;case Qg:i=14;break e;case Ua:i=16,r=null;break e}i=29,n=Error(K(130,e===null?"null":typeof e,"")),r=null}return t=Rr(i,n,t,o),t.elementType=e,t.type=r,t.lanes=a,t}function Fi(e,t,n,r){return e=Rr(7,e,r,t),e.lanes=n,e}function _p(e,t,n){return e=Rr(6,e,null,t),e.lanes=n,e}function L0(e){var t=Rr(18,null,null,0);return t.stateNode=e,t}function Lp(e,t,n){return t=Rr(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var Hv=new WeakMap;function qr(e,t){if(typeof e=="object"&&e!==null){var n=Hv.get(e);return n!==void 0?n:(t={value:e,source:t,stack:Cv(t)},Hv.set(e,t),t)}return{value:e,source:t,stack:Cv(t)}}var Gl=[],ql=0,Od=null,Ec=0,$r=[],Kr=0,ai=null,Mo=1,Oo="";function la(e,t){Gl[ql++]=Ec,Gl[ql++]=Od,Od=e,Ec=t}function D0(e,t,n){$r[Kr++]=Mo,$r[Kr++]=Oo,$r[Kr++]=ai,ai=e;var r=Mo;e=Oo;var o=32-Mr(r)-1;r&=~(1<<o),n+=1;var a=32-Mr(t)+o;if(30<a){var i=o-o%5;a=(r&(1<<i)-1).toString(32),r>>=i,o-=i,Mo=1<<32-Mr(t)+o|n<<o|r,Oo=a+e}else Mo=1<<a|n<<o|r,Oo=e}function uh(e){e.return!==null&&(la(e,1),D0(e,1,0))}function dh(e){for(;e===Od;)Od=Gl[--ql],Gl[ql]=null,Ec=Gl[--ql],Gl[ql]=null;for(;e===ai;)ai=$r[--Kr],$r[Kr]=null,Oo=$r[--Kr],$r[Kr]=null,Mo=$r[--Kr],$r[Kr]=null}function B0(e,t){$r[Kr++]=Mo,$r[Kr++]=Oo,$r[Kr++]=ai,Mo=t.id,Oo=t.overflow,ai=e}var Hn=null,Kt=null,bt=!1,Xa=null,Wr=!1,yg=Error(K(519));function ii(e){var t=Error(K(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw Tc(qr(t,e)),yg}function $v(e){var t=e.stateNode,n=e.type,r=e.memoizedProps;switch(t[Fn]=e,t[fr]=r,n){case"dialog":ut("cancel",t),ut("close",t);break;case"iframe":case"object":case"embed":ut("load",t);break;case"video":case"audio":for(n=0;n<_c.length;n++)ut(_c[n],t);break;case"source":ut("error",t);break;case"img":case"image":case"link":ut("error",t),ut("load",t);break;case"details":ut("toggle",t);break;case"input":ut("invalid",t),d0(t,r.value,r.defaultValue,r.checked,r.defaultChecked,r.type,r.name,!0);break;case"select":ut("invalid",t);break;case"textarea":ut("invalid",t),m0(t,r.value,r.defaultValue,r.children)}n=r.children,typeof n!="string"&&typeof n!="number"&&typeof n!="bigint"||t.textContent===""+n||r.suppressHydrationWarning===!0||yw(t.textContent,n)?(r.popover!=null&&(ut("beforetoggle",t),ut("toggle",t)),r.onScroll!=null&&ut("scroll",t),r.onScrollEnd!=null&&ut("scrollend",t),r.onClick!=null&&(t.onclick=ua),t=!0):t=!1,t||ii(e,!0)}function Kv(e){for(Hn=e.return;Hn;)switch(Hn.tag){case 5:case 31:case 13:Wr=!1;return;case 27:case 3:Wr=!0;return;default:Hn=Hn.return}}function Ll(e){if(e!==Hn)return!1;if(!bt)return Kv(e),bt=!0,!1;var t=e.tag,n;if((n=t!==3&&t!==27)&&((n=t===5)&&(n=e.type,n=!(n!=="form"&&n!=="button")||Fg(e.type,e.memoizedProps)),n=!n),n&&Kt&&ii(e),Kv(e),t===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(K(317));Kt=Lx(e)}else if(t===31){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(K(317));Kt=Lx(e)}else t===27?(t=Kt,ui(e.type)?(e=Gg,Gg=null,Kt=e):Kt=t):Kt=Hn?Qr(e.stateNode.nextSibling):null;return!0}function Gi(){Kt=Hn=null,bt=!1}function Dp(){var e=Xa;return e!==null&&(ur===null?ur=e:ur.push.apply(ur,e),Xa=null),e}function Tc(e){Xa===null?Xa=[e]:Xa.push(e)}var bg=Lo(null),tl=null,da=null;function Va(e,t,n){jt(bg,t._currentValue),t._currentValue=n}function ma(e){e._currentValue=bg.current,zn(bg)}function vg(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,r!==null&&(r.childLanes|=t)):r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function xg(e,t,n,r){var o=e.child;for(o!==null&&(o.return=e);o!==null;){var a=o.dependencies;if(a!==null){var i=o.child;a=a.firstContext;e:for(;a!==null;){var l=a;a=o;for(var s=0;s<t.length;s++)if(l.context===t[s]){a.lanes|=n,l=a.alternate,l!==null&&(l.lanes|=n),vg(a.return,n,e),r||(i=null);break e}a=l.next}}else if(o.tag===18){if(i=o.return,i===null)throw Error(K(341));i.lanes|=n,a=i.alternate,a!==null&&(a.lanes|=n),vg(i,n,e),i=null}else i=o.child;if(i!==null)i.return=o;else for(i=o;i!==null;){if(i===e){i=null;break}if(o=i.sibling,o!==null){o.return=i.return,i=o;break}i=i.return}o=i}}function gs(e,t,n,r){e=null;for(var o=t,a=!1;o!==null;){if(!a){if((o.flags&524288)!==0)a=!0;else if((o.flags&262144)!==0)break}if(o.tag===10){var i=o.alternate;if(i===null)throw Error(K(387));if(i=i.memoizedProps,i!==null){var l=o.type;kr(o.pendingProps.value,i.value)||(e!==null?e.push(l):e=[l])}}else if(o===Ad.current){if(i=o.alternate,i===null)throw Error(K(387));i.memoizedState.memoizedState!==o.memoizedState.memoizedState&&(e!==null?e.push(Dc):e=[Dc])}o=o.return}e!==null&&xg(t,e,n,r),t.flags|=262144}function kd(e){for(e=e.firstContext;e!==null;){if(!kr(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function qi(e){tl=e,da=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function $n(e){return I0(tl,e)}function Ju(e,t){return tl===null&&qi(e),I0(e,t)}function I0(e,t){var n=t._currentValue;if(t={context:t,memoizedValue:n,next:null},da===null){if(e===null)throw Error(K(308));da=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else da=da.next=t;return n}var dk=typeof AbortController<"u"?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(n,r){e.push(r)}};this.abort=function(){t.aborted=!0,e.forEach(function(n){return n()})}},fk=Mn.unstable_scheduleCallback,mk=Mn.unstable_NormalPriority,wn={$$typeof:ca,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function fh(){return{controller:new dk,data:new Map,refCount:0}}function Hc(e){e.refCount--,e.refCount===0&&fk(mk,function(){e.controller.abort()})}var mc=null,Sg=0,as=0,Jl=null;function pk(e,t){if(mc===null){var n=mc=[];Sg=0,as=zh(),Jl={status:"pending",value:void 0,then:function(r){n.push(r)}}}return Sg++,t.then(Gv,Gv),t}function Gv(){if(--Sg===0&&mc!==null){Jl!==null&&(Jl.status="fulfilled");var e=mc;mc=null,as=0,Jl=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function gk(e,t){var n=[],r={status:"pending",value:null,reason:null,then:function(o){n.push(o)}};return e.then(function(){r.status="fulfilled",r.value=t;for(var o=0;o<n.length;o++)(0,n[o])(t)},function(o){for(r.status="rejected",r.reason=o,o=0;o<n.length;o++)(0,n[o])(void 0)}),r}var qv=je.S;je.S=function(e,t){QS=Er(),typeof t=="object"&&t!==null&&typeof t.then=="function"&&pk(e,t),qv!==null&&qv(e,t)};var Hi=Lo(null);function mh(){var e=Hi.current;return e!==null?e:Pt.pooledCache}function md(e,t){t===null?jt(Hi,Hi.current):jt(Hi,t.pool)}function z0(){var e=mh();return e===null?null:{parent:wn._currentValue,pool:e}}var hs=Error(K(460)),ph=Error(K(474)),of=Error(K(542)),_d={then:function(){}};function Wv(e){return e=e.status,e==="fulfilled"||e==="rejected"}function P0(e,t,n){switch(n=e[n],n===void 0?e.push(t):n!==t&&(t.then(ua,ua),t=n),t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,Qv(e),e;default:if(typeof t.status=="string")t.then(ua,ua);else{if(e=Pt,e!==null&&100<e.shellSuspendCounter)throw Error(K(482));e=t,e.status="pending",e.then(function(r){if(t.status==="pending"){var o=t;o.status="fulfilled",o.value=r}},function(r){if(t.status==="pending"){var o=t;o.status="rejected",o.reason=r}})}switch(t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,Qv(e),e}throw $i=t,hs}}function Ui(e){try{var t=e._init;return t(e._payload)}catch(n){throw n!==null&&typeof n=="object"&&typeof n.then=="function"?($i=n,hs):n}}var $i=null;function Yv(){if($i===null)throw Error(K(459));var e=$i;return $i=null,e}function Qv(e){if(e===hs||e===of)throw Error(K(483))}var Zl=null,Mc=0;function Zu(e){var t=Mc;return Mc+=1,Zl===null&&(Zl=[]),P0(Zl,e,t)}function ec(e,t){t=t.props.ref,e.ref=t!==void 0?t:null}function ed(e,t){throw t.$$typeof===tO?Error(K(525)):(e=Object.prototype.toString.call(t),Error(K(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e)))}function U0(e){function t(h,g){if(e){var y=h.deletions;y===null?(h.deletions=[g],h.flags|=16):y.push(g)}}function n(h,g){if(!e)return null;for(;g!==null;)t(h,g),g=g.sibling;return null}function r(h){for(var g=new Map;h!==null;)h.key!==null?g.set(h.key,h):g.set(h.index,h),h=h.sibling;return g}function o(h,g){return h=fa(h,g),h.index=0,h.sibling=null,h}function a(h,g,y){return h.index=y,e?(y=h.alternate,y!==null?(y=y.index,y<g?(h.flags|=67108866,g):y):(h.flags|=67108866,g)):(h.flags|=1048576,g)}function i(h){return e&&h.alternate===null&&(h.flags|=67108866),h}function l(h,g,y,x){return g===null||g.tag!==6?(g=_p(y,h.mode,x),g.return=h,g):(g=o(g,y),g.return=h,g)}function s(h,g,y,x){var A=y.type;return A===zl?d(h,g,y.props.children,x,y.key):g!==null&&(g.elementType===A||typeof A=="object"&&A!==null&&A.$$typeof===Ua&&Ui(A)===g.type)?(g=o(g,y.props),ec(g,y),g.return=h,g):(g=fd(y.type,y.key,y.props,null,h.mode,x),ec(g,y),g.return=h,g)}function c(h,g,y,x){return g===null||g.tag!==4||g.stateNode.containerInfo!==y.containerInfo||g.stateNode.implementation!==y.implementation?(g=Lp(y,h.mode,x),g.return=h,g):(g=o(g,y.children||[]),g.return=h,g)}function d(h,g,y,x,A){return g===null||g.tag!==7?(g=Fi(y,h.mode,x,A),g.return=h,g):(g=o(g,y),g.return=h,g)}function u(h,g,y){if(typeof g=="string"&&g!==""||typeof g=="number"||typeof g=="bigint")return g=_p(""+g,h.mode,y),g.return=h,g;if(typeof g=="object"&&g!==null){switch(g.$$typeof){case $u:return y=fd(g.type,g.key,g.props,null,h.mode,y),ec(y,g),y.return=h,y;case ac:return g=Lp(g,h.mode,y),g.return=h,g;case Ua:return g=Ui(g),u(h,g,y)}if(ic(g)||Js(g))return g=Fi(g,h.mode,y,null),g.return=h,g;if(typeof g.then=="function")return u(h,Zu(g),y);if(g.$$typeof===ca)return u(h,Ju(h,g),y);ed(h,g)}return null}function f(h,g,y,x){var A=g!==null?g.key:null;if(typeof y=="string"&&y!==""||typeof y=="number"||typeof y=="bigint")return A!==null?null:l(h,g,""+y,x);if(typeof y=="object"&&y!==null){switch(y.$$typeof){case $u:return y.key===A?s(h,g,y,x):null;case ac:return y.key===A?c(h,g,y,x):null;case Ua:return y=Ui(y),f(h,g,y,x)}if(ic(y)||Js(y))return A!==null?null:d(h,g,y,x,null);if(typeof y.then=="function")return f(h,g,Zu(y),x);if(y.$$typeof===ca)return f(h,g,Ju(h,y),x);ed(h,y)}return null}function p(h,g,y,x,A){if(typeof x=="string"&&x!==""||typeof x=="number"||typeof x=="bigint")return h=h.get(y)||null,l(g,h,""+x,A);if(typeof x=="object"&&x!==null){switch(x.$$typeof){case $u:return h=h.get(x.key===null?y:x.key)||null,s(g,h,x,A);case ac:return h=h.get(x.key===null?y:x.key)||null,c(g,h,x,A);case Ua:return x=Ui(x),p(h,g,y,x,A)}if(ic(x)||Js(x))return h=h.get(y)||null,d(g,h,x,A,null);if(typeof x.then=="function")return p(h,g,y,Zu(x),A);if(x.$$typeof===ca)return p(h,g,y,Ju(g,x),A);ed(g,x)}return null}function b(h,g,y,x){for(var A=null,N=null,E=g,C=g=0,O=null;E!==null&&C<y.length;C++){E.index>C?(O=E,E=null):O=E.sibling;var L=f(h,E,y[C],x);if(L===null){E===null&&(E=O);break}e&&E&&L.alternate===null&&t(h,E),g=a(L,g,C),N===null?A=L:N.sibling=L,N=L,E=O}if(C===y.length)return n(h,E),bt&&la(h,C),A;if(E===null){for(;C<y.length;C++)E=u(h,y[C],x),E!==null&&(g=a(E,g,C),N===null?A=E:N.sibling=E,N=E);return bt&&la(h,C),A}for(E=r(E);C<y.length;C++)O=p(E,h,C,y[C],x),O!==null&&(e&&O.alternate!==null&&E.delete(O.key===null?C:O.key),g=a(O,g,C),N===null?A=O:N.sibling=O,N=O);return e&&E.forEach(function(V){return t(h,V)}),bt&&la(h,C),A}function m(h,g,y,x){if(y==null)throw Error(K(151));for(var A=null,N=null,E=g,C=g=0,O=null,L=y.next();E!==null&&!L.done;C++,L=y.next()){E.index>C?(O=E,E=null):O=E.sibling;var V=f(h,E,L.value,x);if(V===null){E===null&&(E=O);break}e&&E&&V.alternate===null&&t(h,E),g=a(V,g,C),N===null?A=V:N.sibling=V,N=V,E=O}if(L.done)return n(h,E),bt&&la(h,C),A;if(E===null){for(;!L.done;C++,L=y.next())L=u(h,L.value,x),L!==null&&(g=a(L,g,C),N===null?A=L:N.sibling=L,N=L);return bt&&la(h,C),A}for(E=r(E);!L.done;C++,L=y.next())L=p(E,h,C,L.value,x),L!==null&&(e&&L.alternate!==null&&E.delete(L.key===null?C:L.key),g=a(L,g,C),N===null?A=L:N.sibling=L,N=L);return e&&E.forEach(function(z){return t(h,z)}),bt&&la(h,C),A}function v(h,g,y,x){if(typeof y=="object"&&y!==null&&y.type===zl&&y.key===null&&(y=y.props.children),typeof y=="object"&&y!==null){switch(y.$$typeof){case $u:e:{for(var A=y.key;g!==null;){if(g.key===A){if(A=y.type,A===zl){if(g.tag===7){n(h,g.sibling),x=o(g,y.props.children),x.return=h,h=x;break e}}else if(g.elementType===A||typeof A=="object"&&A!==null&&A.$$typeof===Ua&&Ui(A)===g.type){n(h,g.sibling),x=o(g,y.props),ec(x,y),x.return=h,h=x;break e}n(h,g);break}else t(h,g);g=g.sibling}y.type===zl?(x=Fi(y.props.children,h.mode,x,y.key),x.return=h,h=x):(x=fd(y.type,y.key,y.props,null,h.mode,x),ec(x,y),x.return=h,h=x)}return i(h);case ac:e:{for(A=y.key;g!==null;){if(g.key===A)if(g.tag===4&&g.stateNode.containerInfo===y.containerInfo&&g.stateNode.implementation===y.implementation){n(h,g.sibling),x=o(g,y.children||[]),x.return=h,h=x;break e}else{n(h,g);break}else t(h,g);g=g.sibling}x=Lp(y,h.mode,x),x.return=h,h=x}return i(h);case Ua:return y=Ui(y),v(h,g,y,x)}if(ic(y))return b(h,g,y,x);if(Js(y)){if(A=Js(y),typeof A!="function")throw Error(K(150));return y=A.call(y),m(h,g,y,x)}if(typeof y.then=="function")return v(h,g,Zu(y),x);if(y.$$typeof===ca)return v(h,g,Ju(h,y),x);ed(h,y)}return typeof y=="string"&&y!==""||typeof y=="number"||typeof y=="bigint"?(y=""+y,g!==null&&g.tag===6?(n(h,g.sibling),x=o(g,y),x.return=h,h=x):(n(h,g),x=_p(y,h.mode,x),x.return=h,h=x),i(h)):n(h,g)}return function(h,g,y,x){try{Mc=0;var A=v(h,g,y,x);return Zl=null,A}catch(E){if(E===hs||E===of)throw E;var N=Rr(29,E,null,h.mode);return N.lanes=x,N.return=h,N}}}var Wi=U0(!0),j0=U0(!1),ja=!1;function gh(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function wg(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function Ja(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Za(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,(wt&2)!==0){var o=r.pending;return o===null?t.next=t:(t.next=o.next,o.next=t),r.pending=t,t=Md(e),k0(e,null,n),t}return rf(e,r,t,n),Md(e)}function pc(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194048)!==0)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,o0(e,n)}}function Bp(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var o=null,a=null;if(n=n.firstBaseUpdate,n!==null){do{var i={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};a===null?o=a=i:a=a.next=i,n=n.next}while(n!==null);a===null?o=a=t:a=a.next=t}else o=a=t;n={baseState:r.baseState,firstBaseUpdate:o,lastBaseUpdate:a,shared:r.shared,callbacks:r.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var Ag=!1;function gc(){if(Ag){var e=Jl;if(e!==null)throw e}}function hc(e,t,n,r){Ag=!1;var o=e.updateQueue;ja=!1;var a=o.firstBaseUpdate,i=o.lastBaseUpdate,l=o.shared.pending;if(l!==null){o.shared.pending=null;var s=l,c=s.next;s.next=null,i===null?a=c:i.next=c,i=s;var d=e.alternate;d!==null&&(d=d.updateQueue,l=d.lastBaseUpdate,l!==i&&(l===null?d.firstBaseUpdate=c:l.next=c,d.lastBaseUpdate=s))}if(a!==null){var u=o.baseState;i=0,d=c=s=null,l=a;do{var f=l.lane&-536870913,p=f!==l.lane;if(p?(mt&f)===f:(r&f)===f){f!==0&&f===as&&(Ag=!0),d!==null&&(d=d.next={lane:0,tag:l.tag,payload:l.payload,callback:null,next:null});e:{var b=e,m=l;f=t;var v=n;switch(m.tag){case 1:if(b=m.payload,typeof b=="function"){u=b.call(v,u,f);break e}u=b;break e;case 3:b.flags=b.flags&-65537|128;case 0:if(b=m.payload,f=typeof b=="function"?b.call(v,u,f):b,f==null)break e;u=Gt({},u,f);break e;case 2:ja=!0}}f=l.callback,f!==null&&(e.flags|=64,p&&(e.flags|=8192),p=o.callbacks,p===null?o.callbacks=[f]:p.push(f))}else p={lane:f,tag:l.tag,payload:l.payload,callback:l.callback,next:null},d===null?(c=d=p,s=u):d=d.next=p,i|=f;if(l=l.next,l===null){if(l=o.shared.pending,l===null)break;p=l,l=p.next,p.next=null,o.lastBaseUpdate=p,o.shared.pending=null}}while(!0);d===null&&(s=u),o.baseState=s,o.firstBaseUpdate=c,o.lastBaseUpdate=d,a===null&&(o.shared.lanes=0),si|=i,e.lanes=i,e.memoizedState=u}}function V0(e,t){if(typeof e!="function")throw Error(K(191,e));e.call(t)}function F0(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;e<n.length;e++)V0(n[e],t)}var is=Lo(null),Ld=Lo(0);function Xv(e,t){e=va,jt(Ld,e),jt(is,t),va=e|t.baseLanes}function Cg(){jt(Ld,va),jt(is,is.current)}function hh(){va=Ld.current,zn(is),zn(Ld)}var _r=Lo(null),Yr=null;function Fa(e){var t=e.alternate;jt(hn,hn.current&1),jt(_r,e),Yr===null&&(t===null||is.current!==null||t.memoizedState!==null)&&(Yr=e)}function Rg(e){jt(hn,hn.current),jt(_r,e),Yr===null&&(Yr=e)}function H0(e){e.tag===22?(jt(hn,hn.current),jt(_r,e),Yr===null&&(Yr=e)):Ha(e)}function Ha(){jt(hn,hn.current),jt(_r,_r.current)}function Cr(e){zn(_r),Yr===e&&(Yr=null),zn(hn)}var hn=Lo(0);function Dd(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||$g(n)||Kg(n)))return t}else if(t.tag===19&&(t.memoizedProps.revealOrder==="forwards"||t.memoizedProps.revealOrder==="backwards"||t.memoizedProps.revealOrder==="unstable_legacy-backwards"||t.memoizedProps.revealOrder==="together")){if((t.flags&128)!==0)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var ha=0,Qe=null,_t=null,xn=null,Bd=!1,es=!1,Yi=!1,Id=0,Oc=0,ts=null,hk=0;function fn(){throw Error(K(321))}function yh(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!kr(e[n],t[n]))return!1;return!0}function bh(e,t,n,r,o,a){return ha=a,Qe=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,je.H=e===null||e.memoizedState===null?xS:Mh,Yi=!1,a=n(r,o),Yi=!1,es&&(a=K0(t,n,r,o)),$0(e),a}function $0(e){je.H=kc;var t=_t!==null&&_t.next!==null;if(ha=0,xn=_t=Qe=null,Bd=!1,Oc=0,ts=null,t)throw Error(K(300));e===null||An||(e=e.dependencies,e!==null&&kd(e)&&(An=!0))}function K0(e,t,n,r){Qe=e;var o=0;do{if(es&&(ts=null),Oc=0,es=!1,25<=o)throw Error(K(301));if(o+=1,xn=_t=null,e.updateQueue!=null){var a=e.updateQueue;a.lastEffect=null,a.events=null,a.stores=null,a.memoCache!=null&&(a.memoCache.index=0)}je.H=SS,a=t(n,r)}while(es);return a}function yk(){var e=je.H,t=e.useState()[0];return t=typeof t.then=="function"?$c(t):t,e=e.useState()[0],(_t!==null?_t.memoizedState:null)!==e&&(Qe.flags|=1024),t}function vh(){var e=Id!==0;return Id=0,e}function xh(e,t,n){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~n}function Sh(e){if(Bd){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}Bd=!1}ha=0,xn=_t=Qe=null,es=!1,Oc=Id=0,ts=null}function nr(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return xn===null?Qe.memoizedState=xn=e:xn=xn.next=e,xn}function yn(){if(_t===null){var e=Qe.alternate;e=e!==null?e.memoizedState:null}else e=_t.next;var t=xn===null?Qe.memoizedState:xn.next;if(t!==null)xn=t,_t=e;else{if(e===null)throw Qe.alternate===null?Error(K(467)):Error(K(310));_t=e,e={memoizedState:_t.memoizedState,baseState:_t.baseState,baseQueue:_t.baseQueue,queue:_t.queue,next:null},xn===null?Qe.memoizedState=xn=e:xn=xn.next=e}return xn}function af(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function $c(e){var t=Oc;return Oc+=1,ts===null&&(ts=[]),e=P0(ts,e,t),t=Qe,(xn===null?t.memoizedState:xn.next)===null&&(t=t.alternate,je.H=t===null||t.memoizedState===null?xS:Mh),e}function lf(e){if(e!==null&&typeof e=="object"){if(typeof e.then=="function")return $c(e);if(e.$$typeof===ca)return $n(e)}throw Error(K(438,String(e)))}function wh(e){var t=null,n=Qe.updateQueue;if(n!==null&&(t=n.memoCache),t==null){var r=Qe.alternate;r!==null&&(r=r.updateQueue,r!==null&&(r=r.memoCache,r!=null&&(t={data:r.data.map(function(o){return o.slice()}),index:0})))}if(t==null&&(t={data:[],index:0}),n===null&&(n=af(),Qe.updateQueue=n),n.memoCache=t,n=t.data[t.index],n===void 0)for(n=t.data[t.index]=Array(e),r=0;r<e;r++)n[r]=nO;return t.index++,n}function ya(e,t){return typeof t=="function"?t(e):t}function pd(e){var t=yn();return Ah(t,_t,e)}function Ah(e,t,n){var r=e.queue;if(r===null)throw Error(K(311));r.lastRenderedReducer=n;var o=e.baseQueue,a=r.pending;if(a!==null){if(o!==null){var i=o.next;o.next=a.next,a.next=i}t.baseQueue=o=a,r.pending=null}if(a=e.baseState,o===null)e.memoizedState=a;else{t=o.next;var l=i=null,s=null,c=t,d=!1;do{var u=c.lane&-536870913;if(u!==c.lane?(mt&u)===u:(ha&u)===u){var f=c.revertLane;if(f===0)s!==null&&(s=s.next={lane:0,revertLane:0,gesture:null,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null}),u===as&&(d=!0);else if((ha&f)===f){c=c.next,f===as&&(d=!0);continue}else u={lane:0,revertLane:c.revertLane,gesture:null,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null},s===null?(l=s=u,i=a):s=s.next=u,Qe.lanes|=f,si|=f;u=c.action,Yi&&n(a,u),a=c.hasEagerState?c.eagerState:n(a,u)}else f={lane:u,revertLane:c.revertLane,gesture:c.gesture,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null},s===null?(l=s=f,i=a):s=s.next=f,Qe.lanes|=u,si|=u;c=c.next}while(c!==null&&c!==t);if(s===null?i=a:s.next=l,!kr(a,e.memoizedState)&&(An=!0,d&&(n=Jl,n!==null)))throw n;e.memoizedState=a,e.baseState=i,e.baseQueue=s,r.lastRenderedState=a}return o===null&&(r.lanes=0),[e.memoizedState,r.dispatch]}function Ip(e){var t=yn(),n=t.queue;if(n===null)throw Error(K(311));n.lastRenderedReducer=e;var r=n.dispatch,o=n.pending,a=t.memoizedState;if(o!==null){n.pending=null;var i=o=o.next;do a=e(a,i.action),i=i.next;while(i!==o);kr(a,t.memoizedState)||(An=!0),t.memoizedState=a,t.baseQueue===null&&(t.baseState=a),n.lastRenderedState=a}return[a,r]}function G0(e,t,n){var r=Qe,o=yn(),a=bt;if(a){if(n===void 0)throw Error(K(407));n=n()}else n=t();var i=!kr((_t||o).memoizedState,n);if(i&&(o.memoizedState=n,An=!0),o=o.queue,Ch(Y0.bind(null,r,o,e),[e]),o.getSnapshot!==t||i||xn!==null&&xn.memoizedState.tag&1){if(r.flags|=2048,ls(9,{destroy:void 0},W0.bind(null,r,o,n,t),null),Pt===null)throw Error(K(349));a||(ha&127)!==0||q0(r,t,n)}return n}function q0(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=Qe.updateQueue,t===null?(t=af(),Qe.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function W0(e,t,n,r){t.value=n,t.getSnapshot=r,Q0(t)&&X0(e)}function Y0(e,t,n){return n(function(){Q0(t)&&X0(e)})}function Q0(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!kr(e,n)}catch{return!0}}function X0(e){var t=el(e,2);t!==null&&dr(t,e,2)}function Ng(e){var t=nr();if(typeof e=="function"){var n=e;if(e=n(),Yi){Ka(!0);try{n()}finally{Ka(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:ya,lastRenderedState:e},t}function J0(e,t,n,r){return e.baseState=n,Ah(e,_t,typeof r=="function"?r:ya)}function bk(e,t,n,r,o){if(cf(e))throw Error(K(485));if(e=t.action,e!==null){var a={payload:o,action:e,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(i){a.listeners.push(i)}};je.T!==null?n(!0):a.isTransition=!1,r(a),n=t.pending,n===null?(a.next=t.pending=a,Z0(t,a)):(a.next=n.next,t.pending=n.next=a)}}function Z0(e,t){var n=t.action,r=t.payload,o=e.state;if(t.isTransition){var a=je.T,i={};je.T=i;try{var l=n(o,r),s=je.S;s!==null&&s(i,l),Jv(e,t,l)}catch(c){Eg(e,t,c)}finally{a!==null&&i.types!==null&&(a.types=i.types),je.T=a}}else try{a=n(o,r),Jv(e,t,a)}catch(c){Eg(e,t,c)}}function Jv(e,t,n){n!==null&&typeof n=="object"&&typeof n.then=="function"?n.then(function(r){Zv(e,t,r)},function(r){return Eg(e,t,r)}):Zv(e,t,n)}function Zv(e,t,n){t.status="fulfilled",t.value=n,eS(t),e.state=n,t=e.pending,t!==null&&(n=t.next,n===t?e.pending=null:(n=n.next,t.next=n,Z0(e,n)))}function Eg(e,t,n){var r=e.pending;if(e.pending=null,r!==null){r=r.next;do t.status="rejected",t.reason=n,eS(t),t=t.next;while(t!==r)}e.action=null}function eS(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function tS(e,t){return t}function ex(e,t){if(bt){var n=Pt.formState;if(n!==null){e:{var r=Qe;if(bt){if(Kt){t:{for(var o=Kt,a=Wr;o.nodeType!==8;){if(!a){o=null;break t}if(o=Qr(o.nextSibling),o===null){o=null;break t}}a=o.data,o=a==="F!"||a==="F"?o:null}if(o){Kt=Qr(o.nextSibling),r=o.data==="F!";break e}}ii(r)}r=!1}r&&(t=n[0])}}return n=nr(),n.memoizedState=n.baseState=t,r={pending:null,lanes:0,dispatch:null,lastRenderedReducer:tS,lastRenderedState:t},n.queue=r,n=yS.bind(null,Qe,r),r.dispatch=n,r=Ng(!1),a=Th.bind(null,Qe,!1,r.queue),r=nr(),o={state:t,dispatch:null,action:e,pending:null},r.queue=o,n=bk.bind(null,Qe,o,a,n),o.dispatch=n,r.memoizedState=e,[t,n,!1]}function tx(e){var t=yn();return nS(t,_t,e)}function nS(e,t,n){if(t=Ah(e,t,tS)[0],e=pd(ya)[0],typeof t=="object"&&t!==null&&typeof t.then=="function")try{var r=$c(t)}catch(i){throw i===hs?of:i}else r=t;t=yn();var o=t.queue,a=o.dispatch;return n!==t.memoizedState&&(Qe.flags|=2048,ls(9,{destroy:void 0},vk.bind(null,o,n),null)),[r,a,e]}function vk(e,t){e.action=t}function nx(e){var t=yn(),n=_t;if(n!==null)return nS(t,n,e);yn(),t=t.memoizedState,n=yn();var r=n.queue.dispatch;return n.memoizedState=e,[t,r,!1]}function ls(e,t,n,r){return e={tag:e,create:n,deps:r,inst:t,next:null},t=Qe.updateQueue,t===null&&(t=af(),Qe.updateQueue=t),n=t.lastEffect,n===null?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e),e}function rS(){return yn().memoizedState}function gd(e,t,n,r){var o=nr();Qe.flags|=e,o.memoizedState=ls(1|t,{destroy:void 0},n,r===void 0?null:r)}function sf(e,t,n,r){var o=yn();r=r===void 0?null:r;var a=o.memoizedState.inst;_t!==null&&r!==null&&yh(r,_t.memoizedState.deps)?o.memoizedState=ls(t,a,n,r):(Qe.flags|=e,o.memoizedState=ls(1|t,a,n,r))}function rx(e,t){gd(8390656,8,e,t)}function Ch(e,t){sf(2048,8,e,t)}function xk(e){Qe.flags|=4;var t=Qe.updateQueue;if(t===null)t=af(),Qe.updateQueue=t,t.events=[e];else{var n=t.events;n===null?t.events=[e]:n.push(e)}}function oS(e){var t=yn().memoizedState;return xk({ref:t,nextImpl:e}),function(){if((wt&2)!==0)throw Error(K(440));return t.impl.apply(void 0,arguments)}}function aS(e,t){return sf(4,2,e,t)}function iS(e,t){return sf(4,4,e,t)}function lS(e,t){if(typeof t=="function"){e=e();var n=t(e);return function(){typeof n=="function"?n():t(null)}}if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function sS(e,t,n){n=n!=null?n.concat([e]):null,sf(4,4,lS.bind(null,t,e),n)}function Rh(){}function cS(e,t){var n=yn();t=t===void 0?null:t;var r=n.memoizedState;return t!==null&&yh(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function uS(e,t){var n=yn();t=t===void 0?null:t;var r=n.memoizedState;if(t!==null&&yh(t,r[1]))return r[0];if(r=e(),Yi){Ka(!0);try{e()}finally{Ka(!1)}}return n.memoizedState=[r,t],r}function Nh(e,t,n){return n===void 0||(ha&1073741824)!==0&&(mt&261930)===0?e.memoizedState=t:(e.memoizedState=n,e=JS(),Qe.lanes|=e,si|=e,n)}function dS(e,t,n,r){return kr(n,t)?n:is.current!==null?(e=Nh(e,n,r),kr(e,t)||(An=!0),e):(ha&42)===0||(ha&1073741824)!==0&&(mt&261930)===0?(An=!0,e.memoizedState=n):(e=JS(),Qe.lanes|=e,si|=e,t)}function fS(e,t,n,r,o){var a=At.p;At.p=a!==0&&8>a?a:8;var i=je.T,l={};je.T=l,Th(e,!1,t,n);try{var s=o(),c=je.S;if(c!==null&&c(l,s),s!==null&&typeof s=="object"&&typeof s.then=="function"){var d=gk(s,r);yc(e,t,d,Or(e))}else yc(e,t,r,Or(e))}catch(u){yc(e,t,{then:function(){},status:"rejected",reason:u},Or())}finally{At.p=a,i!==null&&l.types!==null&&(i.types=l.types),je.T=i}}function Sk(){}function Tg(e,t,n,r){if(e.tag!==5)throw Error(K(476));var o=mS(e).queue;fS(e,o,t,Vi,n===null?Sk:function(){return pS(e),n(r)})}function mS(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:Vi,baseState:Vi,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ya,lastRenderedState:Vi},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ya,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function pS(e){var t=mS(e);t.next===null&&(t=e.alternate.memoizedState),yc(e,t.next.queue,{},Or())}function Eh(){return $n(Dc)}function gS(){return yn().memoizedState}function hS(){return yn().memoizedState}function wk(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=Or();e=Ja(n);var r=Za(t,e,n);r!==null&&(dr(r,t,n),pc(r,t,n)),t={cache:fh()},e.payload=t;return}t=t.return}}function Ak(e,t,n){var r=Or();n={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},cf(e)?bS(t,n):(n=sh(e,t,n,r),n!==null&&(dr(n,e,r),vS(n,t,r)))}function yS(e,t,n){var r=Or();yc(e,t,n,r)}function yc(e,t,n,r){var o={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(cf(e))bS(t,o);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var i=t.lastRenderedState,l=a(i,n);if(o.hasEagerState=!0,o.eagerState=l,kr(l,i))return rf(e,t,o,0),Pt===null&&nf(),!1}catch{}if(n=sh(e,t,o,r),n!==null)return dr(n,e,r),vS(n,t,r),!0}return!1}function Th(e,t,n,r){if(r={lane:2,revertLane:zh(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},cf(e)){if(t)throw Error(K(479))}else t=sh(e,n,r,2),t!==null&&dr(t,e,2)}function cf(e){var t=e.alternate;return e===Qe||t!==null&&t===Qe}function bS(e,t){es=Bd=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function vS(e,t,n){if((n&4194048)!==0){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,o0(e,n)}}var kc={readContext:$n,use:lf,useCallback:fn,useContext:fn,useEffect:fn,useImperativeHandle:fn,useLayoutEffect:fn,useInsertionEffect:fn,useMemo:fn,useReducer:fn,useRef:fn,useState:fn,useDebugValue:fn,useDeferredValue:fn,useTransition:fn,useSyncExternalStore:fn,useId:fn,useHostTransitionStatus:fn,useFormState:fn,useActionState:fn,useOptimistic:fn,useMemoCache:fn,useCacheRefresh:fn};kc.useEffectEvent=fn;var xS={readContext:$n,use:lf,useCallback:function(e,t){return nr().memoizedState=[e,t===void 0?null:t],e},useContext:$n,useEffect:rx,useImperativeHandle:function(e,t,n){n=n!=null?n.concat([e]):null,gd(4194308,4,lS.bind(null,t,e),n)},useLayoutEffect:function(e,t){return gd(4194308,4,e,t)},useInsertionEffect:function(e,t){gd(4,2,e,t)},useMemo:function(e,t){var n=nr();t=t===void 0?null:t;var r=e();if(Yi){Ka(!0);try{e()}finally{Ka(!1)}}return n.memoizedState=[r,t],r},useReducer:function(e,t,n){var r=nr();if(n!==void 0){var o=n(t);if(Yi){Ka(!0);try{n(t)}finally{Ka(!1)}}}else o=t;return r.memoizedState=r.baseState=o,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:o},r.queue=e,e=e.dispatch=Ak.bind(null,Qe,e),[r.memoizedState,e]},useRef:function(e){var t=nr();return e={current:e},t.memoizedState=e},useState:function(e){e=Ng(e);var t=e.queue,n=yS.bind(null,Qe,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:Rh,useDeferredValue:function(e,t){var n=nr();return Nh(n,e,t)},useTransition:function(){var e=Ng(!1);return e=fS.bind(null,Qe,e.queue,!0,!1),nr().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var r=Qe,o=nr();if(bt){if(n===void 0)throw Error(K(407));n=n()}else{if(n=t(),Pt===null)throw Error(K(349));(mt&127)!==0||q0(r,t,n)}o.memoizedState=n;var a={value:n,getSnapshot:t};return o.queue=a,rx(Y0.bind(null,r,a,e),[e]),r.flags|=2048,ls(9,{destroy:void 0},W0.bind(null,r,a,n,t),null),n},useId:function(){var e=nr(),t=Pt.identifierPrefix;if(bt){var n=Oo,r=Mo;n=(r&~(1<<32-Mr(r)-1)).toString(32)+n,t="_"+t+"R_"+n,n=Id++,0<n&&(t+="H"+n.toString(32)),t+="_"}else n=hk++,t="_"+t+"r_"+n.toString(32)+"_";return e.memoizedState=t},useHostTransitionStatus:Eh,useFormState:ex,useActionState:ex,useOptimistic:function(e){var t=nr();t.memoizedState=t.baseState=e;var n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=n,t=Th.bind(null,Qe,!0,n),n.dispatch=t,[e,t]},useMemoCache:wh,useCacheRefresh:function(){return nr().memoizedState=wk.bind(null,Qe)},useEffectEvent:function(e){var t=nr(),n={impl:e};return t.memoizedState=n,function(){if((wt&2)!==0)throw Error(K(440));return n.impl.apply(void 0,arguments)}}},Mh={readContext:$n,use:lf,useCallback:cS,useContext:$n,useEffect:Ch,useImperativeHandle:sS,useInsertionEffect:aS,useLayoutEffect:iS,useMemo:uS,useReducer:pd,useRef:rS,useState:function(){return pd(ya)},useDebugValue:Rh,useDeferredValue:function(e,t){var n=yn();return dS(n,_t.memoizedState,e,t)},useTransition:function(){var e=pd(ya)[0],t=yn().memoizedState;return[typeof e=="boolean"?e:$c(e),t]},useSyncExternalStore:G0,useId:gS,useHostTransitionStatus:Eh,useFormState:tx,useActionState:tx,useOptimistic:function(e,t){var n=yn();return J0(n,_t,e,t)},useMemoCache:wh,useCacheRefresh:hS};Mh.useEffectEvent=oS;var SS={readContext:$n,use:lf,useCallback:cS,useContext:$n,useEffect:Ch,useImperativeHandle:sS,useInsertionEffect:aS,useLayoutEffect:iS,useMemo:uS,useReducer:Ip,useRef:rS,useState:function(){return Ip(ya)},useDebugValue:Rh,useDeferredValue:function(e,t){var n=yn();return _t===null?Nh(n,e,t):dS(n,_t.memoizedState,e,t)},useTransition:function(){var e=Ip(ya)[0],t=yn().memoizedState;return[typeof e=="boolean"?e:$c(e),t]},useSyncExternalStore:G0,useId:gS,useHostTransitionStatus:Eh,useFormState:nx,useActionState:nx,useOptimistic:function(e,t){var n=yn();return _t!==null?J0(n,_t,e,t):(n.baseState=e,[e,n.queue.dispatch])},useMemoCache:wh,useCacheRefresh:hS};SS.useEffectEvent=oS;function zp(e,t,n,r){t=e.memoizedState,n=n(r,t),n=n==null?t:Gt({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var Mg={enqueueSetState:function(e,t,n){e=e._reactInternals;var r=Or(),o=Ja(r);o.payload=t,n!=null&&(o.callback=n),t=Za(e,o,r),t!==null&&(dr(t,e,r),pc(t,e,r))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=Or(),o=Ja(r);o.tag=1,o.payload=t,n!=null&&(o.callback=n),t=Za(e,o,r),t!==null&&(dr(t,e,r),pc(t,e,r))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=Or(),r=Ja(n);r.tag=2,t!=null&&(r.callback=t),t=Za(e,r,n),t!==null&&(dr(t,e,n),pc(t,e,n))}};function ox(e,t,n,r,o,a,i){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(r,a,i):t.prototype&&t.prototype.isPureReactComponent?!Nc(n,r)||!Nc(o,a):!0}function ax(e,t,n,r){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(n,r),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&Mg.enqueueReplaceState(t,t.state,null)}function Qi(e,t){var n=t;if("ref"in t){n={};for(var r in t)r!=="ref"&&(n[r]=t[r])}if(e=e.defaultProps){n===t&&(n=Gt({},n));for(var o in e)n[o]===void 0&&(n[o]=e[o])}return n}function wS(e){Td(e)}function AS(e){console.error(e)}function CS(e){Td(e)}function zd(e,t){try{var n=e.onUncaughtError;n(t.value,{componentStack:t.stack})}catch(r){setTimeout(function(){throw r})}}function ix(e,t,n){try{var r=e.onCaughtError;r(n.value,{componentStack:n.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(o){setTimeout(function(){throw o})}}function Og(e,t,n){return n=Ja(n),n.tag=3,n.payload={element:null},n.callback=function(){zd(e,t)},n}function RS(e){return e=Ja(e),e.tag=3,e}function NS(e,t,n,r){var o=n.type.getDerivedStateFromError;if(typeof o=="function"){var a=r.value;e.payload=function(){return o(a)},e.callback=function(){ix(t,n,r)}}var i=n.stateNode;i!==null&&typeof i.componentDidCatch=="function"&&(e.callback=function(){ix(t,n,r),typeof o!="function"&&(ei===null?ei=new Set([this]):ei.add(this));var l=r.stack;this.componentDidCatch(r.value,{componentStack:l!==null?l:""})})}function Ck(e,t,n,r,o){if(n.flags|=32768,r!==null&&typeof r=="object"&&typeof r.then=="function"){if(t=n.alternate,t!==null&&gs(t,n,o,!0),n=_r.current,n!==null){switch(n.tag){case 31:case 13:return Yr===null?Fd():n.alternate===null&&mn===0&&(mn=3),n.flags&=-257,n.flags|=65536,n.lanes=o,r===_d?n.flags|=16384:(t=n.updateQueue,t===null?n.updateQueue=new Set([r]):t.add(r),Wp(e,r,o)),!1;case 22:return n.flags|=65536,r===_d?n.flags|=16384:(t=n.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([r])},n.updateQueue=t):(n=t.retryQueue,n===null?t.retryQueue=new Set([r]):n.add(r)),Wp(e,r,o)),!1}throw Error(K(435,n.tag))}return Wp(e,r,o),Fd(),!1}if(bt)return t=_r.current,t!==null?((t.flags&65536)===0&&(t.flags|=256),t.flags|=65536,t.lanes=o,r!==yg&&(e=Error(K(422),{cause:r}),Tc(qr(e,n)))):(r!==yg&&(t=Error(K(423),{cause:r}),Tc(qr(t,n))),e=e.current.alternate,e.flags|=65536,o&=-o,e.lanes|=o,r=qr(r,n),o=Og(e.stateNode,r,o),Bp(e,o),mn!==4&&(mn=2)),!1;var a=Error(K(520),{cause:r});if(a=qr(a,n),xc===null?xc=[a]:xc.push(a),mn!==4&&(mn=2),t===null)return!0;r=qr(r,n),n=t;do{switch(n.tag){case 3:return n.flags|=65536,e=o&-o,n.lanes|=e,e=Og(n.stateNode,r,e),Bp(n,e),!1;case 1:if(t=n.type,a=n.stateNode,(n.flags&128)===0&&(typeof t.getDerivedStateFromError=="function"||a!==null&&typeof a.componentDidCatch=="function"&&(ei===null||!ei.has(a))))return n.flags|=65536,o&=-o,n.lanes|=o,o=RS(o),NS(o,e,n,r),Bp(n,o),!1}n=n.return}while(n!==null);return!1}var Oh=Error(K(461)),An=!1;function Vn(e,t,n,r){t.child=e===null?j0(t,null,n,r):Wi(t,e.child,n,r)}function lx(e,t,n,r,o){n=n.render;var a=t.ref;if("ref"in r){var i={};for(var l in r)l!=="ref"&&(i[l]=r[l])}else i=r;return qi(t),r=bh(e,t,n,i,a,o),l=vh(),e!==null&&!An?(xh(e,t,o),ba(e,t,o)):(bt&&l&&uh(t),t.flags|=1,Vn(e,t,r,o),t.child)}function sx(e,t,n,r,o){if(e===null){var a=n.type;return typeof a=="function"&&!ch(a)&&a.defaultProps===void 0&&n.compare===null?(t.tag=15,t.type=a,ES(e,t,a,r,o)):(e=fd(n.type,null,r,t,t.mode,o),e.ref=t.ref,e.return=t,t.child=e)}if(a=e.child,!kh(e,o)){var i=a.memoizedProps;if(n=n.compare,n=n!==null?n:Nc,n(i,r)&&e.ref===t.ref)return ba(e,t,o)}return t.flags|=1,e=fa(a,r),e.ref=t.ref,e.return=t,t.child=e}function ES(e,t,n,r,o){if(e!==null){var a=e.memoizedProps;if(Nc(a,r)&&e.ref===t.ref)if(An=!1,t.pendingProps=r=a,kh(e,o))(e.flags&131072)!==0&&(An=!0);else return t.lanes=e.lanes,ba(e,t,o)}return kg(e,t,n,r,o)}function TS(e,t,n,r){var o=r.children,a=e!==null?e.memoizedState:null;if(e===null&&t.stateNode===null&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),r.mode==="hidden"){if((t.flags&128)!==0){if(a=a!==null?a.baseLanes|n:n,e!==null){for(r=t.child=e.child,o=0;r!==null;)o=o|r.lanes|r.childLanes,r=r.sibling;r=o&~a}else r=0,t.child=null;return cx(e,t,a,n,r)}if((n&536870912)!==0)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&md(t,a!==null?a.cachePool:null),a!==null?Xv(t,a):Cg(),H0(t);else return r=t.lanes=536870912,cx(e,t,a!==null?a.baseLanes|n:n,n,r)}else a!==null?(md(t,a.cachePool),Xv(t,a),Ha(t),t.memoizedState=null):(e!==null&&md(t,null),Cg(),Ha(t));return Vn(e,t,o,n),t.child}function sc(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function cx(e,t,n,r,o){var a=mh();return a=a===null?null:{parent:wn._currentValue,pool:a},t.memoizedState={baseLanes:n,cachePool:a},e!==null&&md(t,null),Cg(),H0(t),e!==null&&gs(e,t,r,!0),t.childLanes=o,null}function hd(e,t){return t=Pd({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function ux(e,t,n){return Wi(t,e.child,null,n),e=hd(t,t.pendingProps),e.flags|=2,Cr(t),t.memoizedState=null,e}function Rk(e,t,n){var r=t.pendingProps,o=(t.flags&128)!==0;if(t.flags&=-129,e===null){if(bt){if(r.mode==="hidden")return e=hd(t,r),t.lanes=536870912,sc(null,e);if(Rg(t),(e=Kt)?(e=xw(e,Wr),e=e!==null&&e.data==="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:ai!==null?{id:Mo,overflow:Oo}:null,retryLane:536870912,hydrationErrors:null},n=L0(e),n.return=t,t.child=n,Hn=t,Kt=null)):e=null,e===null)throw ii(t);return t.lanes=536870912,null}return hd(t,r)}var a=e.memoizedState;if(a!==null){var i=a.dehydrated;if(Rg(t),o)if(t.flags&256)t.flags&=-257,t=ux(e,t,n);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(K(558));else if(An||gs(e,t,n,!1),o=(n&e.childLanes)!==0,An||o){if(r=Pt,r!==null&&(i=a0(r,n),i!==0&&i!==a.retryLane))throw a.retryLane=i,el(e,i),dr(r,e,i),Oh;Fd(),t=ux(e,t,n)}else e=a.treeContext,Kt=Qr(i.nextSibling),Hn=t,bt=!0,Xa=null,Wr=!1,e!==null&&B0(t,e),t=hd(t,r),t.flags|=4096;return t}return e=fa(e.child,{mode:r.mode,children:r.children}),e.ref=t.ref,t.child=e,e.return=t,e}function yd(e,t){var n=t.ref;if(n===null)e!==null&&e.ref!==null&&(t.flags|=4194816);else{if(typeof n!="function"&&typeof n!="object")throw Error(K(284));(e===null||e.ref!==n)&&(t.flags|=4194816)}}function kg(e,t,n,r,o){return qi(t),n=bh(e,t,n,r,void 0,o),r=vh(),e!==null&&!An?(xh(e,t,o),ba(e,t,o)):(bt&&r&&uh(t),t.flags|=1,Vn(e,t,n,o),t.child)}function dx(e,t,n,r,o,a){return qi(t),t.updateQueue=null,n=K0(t,r,n,o),$0(e),r=vh(),e!==null&&!An?(xh(e,t,a),ba(e,t,a)):(bt&&r&&uh(t),t.flags|=1,Vn(e,t,n,a),t.child)}function fx(e,t,n,r,o){if(qi(t),t.stateNode===null){var a=Kl,i=n.contextType;typeof i=="object"&&i!==null&&(a=$n(i)),a=new n(r,a),t.memoizedState=a.state!==null&&a.state!==void 0?a.state:null,a.updater=Mg,t.stateNode=a,a._reactInternals=t,a=t.stateNode,a.props=r,a.state=t.memoizedState,a.refs={},gh(t),i=n.contextType,a.context=typeof i=="object"&&i!==null?$n(i):Kl,a.state=t.memoizedState,i=n.getDerivedStateFromProps,typeof i=="function"&&(zp(t,n,i,r),a.state=t.memoizedState),typeof n.getDerivedStateFromProps=="function"||typeof a.getSnapshotBeforeUpdate=="function"||typeof a.UNSAFE_componentWillMount!="function"&&typeof a.componentWillMount!="function"||(i=a.state,typeof a.componentWillMount=="function"&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount=="function"&&a.UNSAFE_componentWillMount(),i!==a.state&&Mg.enqueueReplaceState(a,a.state,null),hc(t,r,a,o),gc(),a.state=t.memoizedState),typeof a.componentDidMount=="function"&&(t.flags|=4194308),r=!0}else if(e===null){a=t.stateNode;var l=t.memoizedProps,s=Qi(n,l);a.props=s;var c=a.context,d=n.contextType;i=Kl,typeof d=="object"&&d!==null&&(i=$n(d));var u=n.getDerivedStateFromProps;d=typeof u=="function"||typeof a.getSnapshotBeforeUpdate=="function",l=t.pendingProps!==l,d||typeof a.UNSAFE_componentWillReceiveProps!="function"&&typeof a.componentWillReceiveProps!="function"||(l||c!==i)&&ax(t,a,r,i),ja=!1;var f=t.memoizedState;a.state=f,hc(t,r,a,o),gc(),c=t.memoizedState,l||f!==c||ja?(typeof u=="function"&&(zp(t,n,u,r),c=t.memoizedState),(s=ja||ox(t,n,s,r,f,c,i))?(d||typeof a.UNSAFE_componentWillMount!="function"&&typeof a.componentWillMount!="function"||(typeof a.componentWillMount=="function"&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount=="function"&&a.UNSAFE_componentWillMount()),typeof a.componentDidMount=="function"&&(t.flags|=4194308)):(typeof a.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=c),a.props=r,a.state=c,a.context=i,r=s):(typeof a.componentDidMount=="function"&&(t.flags|=4194308),r=!1)}else{a=t.stateNode,wg(e,t),i=t.memoizedProps,d=Qi(n,i),a.props=d,u=t.pendingProps,f=a.context,c=n.contextType,s=Kl,typeof c=="object"&&c!==null&&(s=$n(c)),l=n.getDerivedStateFromProps,(c=typeof l=="function"||typeof a.getSnapshotBeforeUpdate=="function")||typeof a.UNSAFE_componentWillReceiveProps!="function"&&typeof a.componentWillReceiveProps!="function"||(i!==u||f!==s)&&ax(t,a,r,s),ja=!1,f=t.memoizedState,a.state=f,hc(t,r,a,o),gc();var p=t.memoizedState;i!==u||f!==p||ja||e!==null&&e.dependencies!==null&&kd(e.dependencies)?(typeof l=="function"&&(zp(t,n,l,r),p=t.memoizedState),(d=ja||ox(t,n,d,r,f,p,s)||e!==null&&e.dependencies!==null&&kd(e.dependencies))?(c||typeof a.UNSAFE_componentWillUpdate!="function"&&typeof a.componentWillUpdate!="function"||(typeof a.componentWillUpdate=="function"&&a.componentWillUpdate(r,p,s),typeof a.UNSAFE_componentWillUpdate=="function"&&a.UNSAFE_componentWillUpdate(r,p,s)),typeof a.componentDidUpdate=="function"&&(t.flags|=4),typeof a.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof a.componentDidUpdate!="function"||i===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!="function"||i===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=p),a.props=r,a.state=p,a.context=s,r=d):(typeof a.componentDidUpdate!="function"||i===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!="function"||i===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),r=!1)}return a=r,yd(e,t),r=(t.flags&128)!==0,a||r?(a=t.stateNode,n=r&&typeof n.getDerivedStateFromError!="function"?null:a.render(),t.flags|=1,e!==null&&r?(t.child=Wi(t,e.child,null,o),t.child=Wi(t,null,n,o)):Vn(e,t,n,o),t.memoizedState=a.state,e=t.child):e=ba(e,t,o),e}function mx(e,t,n,r){return Gi(),t.flags|=256,Vn(e,t,n,r),t.child}var Pp={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function Up(e){return{baseLanes:e,cachePool:z0()}}function jp(e,t,n){return e=e!==null?e.childLanes&~n:0,t&&(e|=Nr),e}function MS(e,t,n){var r=t.pendingProps,o=!1,a=(t.flags&128)!==0,i;if((i=a)||(i=e!==null&&e.memoizedState===null?!1:(hn.current&2)!==0),i&&(o=!0,t.flags&=-129),i=(t.flags&32)!==0,t.flags&=-33,e===null){if(bt){if(o?Fa(t):Ha(t),(e=Kt)?(e=xw(e,Wr),e=e!==null&&e.data!=="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:ai!==null?{id:Mo,overflow:Oo}:null,retryLane:536870912,hydrationErrors:null},n=L0(e),n.return=t,t.child=n,Hn=t,Kt=null)):e=null,e===null)throw ii(t);return Kg(e)?t.lanes=32:t.lanes=536870912,null}var l=r.children;return r=r.fallback,o?(Ha(t),o=t.mode,l=Pd({mode:"hidden",children:l},o),r=Fi(r,o,n,null),l.return=t,r.return=t,l.sibling=r,t.child=l,r=t.child,r.memoizedState=Up(n),r.childLanes=jp(e,i,n),t.memoizedState=Pp,sc(null,r)):(Fa(t),_g(t,l))}var s=e.memoizedState;if(s!==null&&(l=s.dehydrated,l!==null)){if(a)t.flags&256?(Fa(t),t.flags&=-257,t=Vp(e,t,n)):t.memoizedState!==null?(Ha(t),t.child=e.child,t.flags|=128,t=null):(Ha(t),l=r.fallback,o=t.mode,r=Pd({mode:"visible",children:r.children},o),l=Fi(l,o,n,null),l.flags|=2,r.return=t,l.return=t,r.sibling=l,t.child=r,Wi(t,e.child,null,n),r=t.child,r.memoizedState=Up(n),r.childLanes=jp(e,i,n),t.memoizedState=Pp,t=sc(null,r));else if(Fa(t),Kg(l)){if(i=l.nextSibling&&l.nextSibling.dataset,i)var c=i.dgst;i=c,r=Error(K(419)),r.stack="",r.digest=i,Tc({value:r,source:null,stack:null}),t=Vp(e,t,n)}else if(An||gs(e,t,n,!1),i=(n&e.childLanes)!==0,An||i){if(i=Pt,i!==null&&(r=a0(i,n),r!==0&&r!==s.retryLane))throw s.retryLane=r,el(e,r),dr(i,e,r),Oh;$g(l)||Fd(),t=Vp(e,t,n)}else $g(l)?(t.flags|=192,t.child=e.child,t=null):(e=s.treeContext,Kt=Qr(l.nextSibling),Hn=t,bt=!0,Xa=null,Wr=!1,e!==null&&B0(t,e),t=_g(t,r.children),t.flags|=4096);return t}return o?(Ha(t),l=r.fallback,o=t.mode,s=e.child,c=s.sibling,r=fa(s,{mode:"hidden",children:r.children}),r.subtreeFlags=s.subtreeFlags&65011712,c!==null?l=fa(c,l):(l=Fi(l,o,n,null),l.flags|=2),l.return=t,r.return=t,r.sibling=l,t.child=r,sc(null,r),r=t.child,l=e.child.memoizedState,l===null?l=Up(n):(o=l.cachePool,o!==null?(s=wn._currentValue,o=o.parent!==s?{parent:s,pool:s}:o):o=z0(),l={baseLanes:l.baseLanes|n,cachePool:o}),r.memoizedState=l,r.childLanes=jp(e,i,n),t.memoizedState=Pp,sc(e.child,r)):(Fa(t),n=e.child,e=n.sibling,n=fa(n,{mode:"visible",children:r.children}),n.return=t,n.sibling=null,e!==null&&(i=t.deletions,i===null?(t.deletions=[e],t.flags|=16):i.push(e)),t.child=n,t.memoizedState=null,n)}function _g(e,t){return t=Pd({mode:"visible",children:t},e.mode),t.return=e,e.child=t}function Pd(e,t){return e=Rr(22,e,null,t),e.lanes=0,e}function Vp(e,t,n){return Wi(t,e.child,null,n),e=_g(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function px(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),vg(e.return,t,n)}function Fp(e,t,n,r,o,a){var i=e.memoizedState;i===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:o,treeForkCount:a}:(i.isBackwards=t,i.rendering=null,i.renderingStartTime=0,i.last=r,i.tail=n,i.tailMode=o,i.treeForkCount=a)}function OS(e,t,n){var r=t.pendingProps,o=r.revealOrder,a=r.tail;r=r.children;var i=hn.current,l=(i&2)!==0;if(l?(i=i&1|2,t.flags|=128):i&=1,jt(hn,i),Vn(e,t,r,n),r=bt?Ec:0,!l&&e!==null&&(e.flags&128)!==0)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&px(e,n,t);else if(e.tag===19)px(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}switch(o){case"forwards":for(n=t.child,o=null;n!==null;)e=n.alternate,e!==null&&Dd(e)===null&&(o=n),n=n.sibling;n=o,n===null?(o=t.child,t.child=null):(o=n.sibling,n.sibling=null),Fp(t,!1,o,n,a,r);break;case"backwards":case"unstable_legacy-backwards":for(n=null,o=t.child,t.child=null;o!==null;){if(e=o.alternate,e!==null&&Dd(e)===null){t.child=o;break}e=o.sibling,o.sibling=n,n=o,o=e}Fp(t,!0,n,null,a,r);break;case"together":Fp(t,!1,null,null,void 0,r);break;default:t.memoizedState=null}return t.child}function ba(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),si|=t.lanes,(n&t.childLanes)===0)if(e!==null){if(gs(e,t,n,!1),(n&t.childLanes)===0)return null}else return null;if(e!==null&&t.child!==e.child)throw Error(K(153));if(t.child!==null){for(e=t.child,n=fa(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=fa(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function kh(e,t){return(e.lanes&t)!==0?!0:(e=e.dependencies,!!(e!==null&&kd(e)))}function Nk(e,t,n){switch(t.tag){case 3:Cd(t,t.stateNode.containerInfo),Va(t,wn,e.memoizedState.cache),Gi();break;case 27:case 5:ig(t);break;case 4:Cd(t,t.stateNode.containerInfo);break;case 10:Va(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,Rg(t),null;break;case 13:var r=t.memoizedState;if(r!==null)return r.dehydrated!==null?(Fa(t),t.flags|=128,null):(n&t.child.childLanes)!==0?MS(e,t,n):(Fa(t),e=ba(e,t,n),e!==null?e.sibling:null);Fa(t);break;case 19:var o=(e.flags&128)!==0;if(r=(n&t.childLanes)!==0,r||(gs(e,t,n,!1),r=(n&t.childLanes)!==0),o){if(r)return OS(e,t,n);t.flags|=128}if(o=t.memoizedState,o!==null&&(o.rendering=null,o.tail=null,o.lastEffect=null),jt(hn,hn.current),r)break;return null;case 22:return t.lanes=0,TS(e,t,n,t.pendingProps);case 24:Va(t,wn,e.memoizedState.cache)}return ba(e,t,n)}function kS(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps)An=!0;else{if(!kh(e,n)&&(t.flags&128)===0)return An=!1,Nk(e,t,n);An=(e.flags&131072)!==0}else An=!1,bt&&(t.flags&1048576)!==0&&D0(t,Ec,t.index);switch(t.lanes=0,t.tag){case 16:e:{var r=t.pendingProps;if(e=Ui(t.elementType),t.type=e,typeof e=="function")ch(e)?(r=Qi(e,r),t.tag=1,t=fx(null,t,e,r,n)):(t.tag=0,t=kg(null,t,e,r,n));else{if(e!=null){var o=e.$$typeof;if(o===Yg){t.tag=11,t=lx(null,t,e,r,n);break e}else if(o===Qg){t.tag=14,t=sx(null,t,e,r,n);break e}}throw t=og(e)||e,Error(K(306,t,""))}}return t;case 0:return kg(e,t,t.type,t.pendingProps,n);case 1:return r=t.type,o=Qi(r,t.pendingProps),fx(e,t,r,o,n);case 3:e:{if(Cd(t,t.stateNode.containerInfo),e===null)throw Error(K(387));r=t.pendingProps;var a=t.memoizedState;o=a.element,wg(e,t),hc(t,r,null,n);var i=t.memoizedState;if(r=i.cache,Va(t,wn,r),r!==a.cache&&xg(t,[wn],n,!0),gc(),r=i.element,a.isDehydrated)if(a={element:r,isDehydrated:!1,cache:i.cache},t.updateQueue.baseState=a,t.memoizedState=a,t.flags&256){t=mx(e,t,r,n);break e}else if(r!==o){o=qr(Error(K(424)),t),Tc(o),t=mx(e,t,r,n);break e}else for(e=t.stateNode.containerInfo,e.nodeType===9?e=e.body:e=e.nodeName==="HTML"?e.ownerDocument.body:e,Kt=Qr(e.firstChild),Hn=t,bt=!0,Xa=null,Wr=!0,n=j0(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(Gi(),r===o){t=ba(e,t,n);break e}Vn(e,t,r,n)}t=t.child}return t;case 26:return yd(e,t),e===null?(n=Ix(t.type,null,t.pendingProps,null))?t.memoizedState=n:bt||(n=t.type,e=t.pendingProps,r=Gd(Qa.current).createElement(n),r[Fn]=t,r[fr]=e,Kn(r,n,e),In(r),t.stateNode=r):t.memoizedState=Ix(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return ig(t),e===null&&bt&&(r=t.stateNode=Sw(t.type,t.pendingProps,Qa.current),Hn=t,Wr=!0,o=Kt,ui(t.type)?(Gg=o,Kt=Qr(r.firstChild)):Kt=o),Vn(e,t,t.pendingProps.children,n),yd(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&bt&&((o=r=Kt)&&(r=e_(r,t.type,t.pendingProps,Wr),r!==null?(t.stateNode=r,Hn=t,Kt=Qr(r.firstChild),Wr=!1,o=!0):o=!1),o||ii(t)),ig(t),o=t.type,a=t.pendingProps,i=e!==null?e.memoizedProps:null,r=a.children,Fg(o,a)?r=null:i!==null&&Fg(o,i)&&(t.flags|=32),t.memoizedState!==null&&(o=bh(e,t,yk,null,null,n),Dc._currentValue=o),yd(e,t),Vn(e,t,r,n),t.child;case 6:return e===null&&bt&&((e=n=Kt)&&(n=t_(n,t.pendingProps,Wr),n!==null?(t.stateNode=n,Hn=t,Kt=null,e=!0):e=!1),e||ii(t)),null;case 13:return MS(e,t,n);case 4:return Cd(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=Wi(t,null,r,n):Vn(e,t,r,n),t.child;case 11:return lx(e,t,t.type,t.pendingProps,n);case 7:return Vn(e,t,t.pendingProps,n),t.child;case 8:return Vn(e,t,t.pendingProps.children,n),t.child;case 12:return Vn(e,t,t.pendingProps.children,n),t.child;case 10:return r=t.pendingProps,Va(t,t.type,r.value),Vn(e,t,r.children,n),t.child;case 9:return o=t.type._context,r=t.pendingProps.children,qi(t),o=$n(o),r=r(o),t.flags|=1,Vn(e,t,r,n),t.child;case 14:return sx(e,t,t.type,t.pendingProps,n);case 15:return ES(e,t,t.type,t.pendingProps,n);case 19:return OS(e,t,n);case 31:return Rk(e,t,n);case 22:return TS(e,t,n,t.pendingProps);case 24:return qi(t),r=$n(wn),e===null?(o=mh(),o===null&&(o=Pt,a=fh(),o.pooledCache=a,a.refCount++,a!==null&&(o.pooledCacheLanes|=n),o=a),t.memoizedState={parent:r,cache:o},gh(t),Va(t,wn,o)):((e.lanes&n)!==0&&(wg(e,t),hc(t,null,null,n),gc()),o=e.memoizedState,a=t.memoizedState,o.parent!==r?(o={parent:r,cache:r},t.memoizedState=o,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=o),Va(t,wn,r)):(r=a.cache,Va(t,wn,r),r!==o.cache&&xg(t,[wn],n,!0))),Vn(e,t,t.pendingProps.children,n),t.child;case 29:throw t.pendingProps}throw Error(K(156,t.tag))}function ra(e){e.flags|=4}function Hp(e,t,n,r,o){if((t=(e.mode&32)!==0)&&(t=!1),t){if(e.flags|=16777216,(o&335544128)===o)if(e.stateNode.complete)e.flags|=8192;else if(tw())e.flags|=8192;else throw $i=_d,ph}else e.flags&=-16777217}function gx(e,t){if(t.type!=="stylesheet"||(t.state.loading&4)!==0)e.flags&=-16777217;else if(e.flags|=16777216,!Cw(t))if(tw())e.flags|=8192;else throw $i=_d,ph}function td(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag!==22?n0():536870912,e.lanes|=t,ss|=t)}function tc(e,t){if(!bt)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var r=null;n!==null;)n.alternate!==null&&(r=n),n=n.sibling;r===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function $t(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,r=0;if(t)for(var o=e.child;o!==null;)n|=o.lanes|o.childLanes,r|=o.subtreeFlags&65011712,r|=o.flags&65011712,o.return=e,o=o.sibling;else for(o=e.child;o!==null;)n|=o.lanes|o.childLanes,r|=o.subtreeFlags,r|=o.flags,o.return=e,o=o.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function Ek(e,t,n){var r=t.pendingProps;switch(dh(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return $t(t),null;case 1:return $t(t),null;case 3:return n=t.stateNode,r=null,e!==null&&(r=e.memoizedState.cache),t.memoizedState.cache!==r&&(t.flags|=2048),ma(wn),ns(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),(e===null||e.child===null)&&(Ll(t)?ra(t):e===null||e.memoizedState.isDehydrated&&(t.flags&256)===0||(t.flags|=1024,Dp())),$t(t),null;case 26:var o=t.type,a=t.memoizedState;return e===null?(ra(t),a!==null?($t(t),gx(t,a)):($t(t),Hp(t,o,null,r,n))):a?a!==e.memoizedState?(ra(t),$t(t),gx(t,a)):($t(t),t.flags&=-16777217):(e=e.memoizedProps,e!==r&&ra(t),$t(t),Hp(t,o,e,r,n)),null;case 27:if(Rd(t),n=Qa.current,o=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==r&&ra(t);else{if(!r){if(t.stateNode===null)throw Error(K(166));return $t(t),null}e=_o.current,Ll(t)?$v(t,e):(e=Sw(o,r,n),t.stateNode=e,ra(t))}return $t(t),null;case 5:if(Rd(t),o=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==r&&ra(t);else{if(!r){if(t.stateNode===null)throw Error(K(166));return $t(t),null}if(a=_o.current,Ll(t))$v(t,a);else{var i=Gd(Qa.current);switch(a){case 1:a=i.createElementNS("http://www.w3.org/2000/svg",o);break;case 2:a=i.createElementNS("http://www.w3.org/1998/Math/MathML",o);break;default:switch(o){case"svg":a=i.createElementNS("http://www.w3.org/2000/svg",o);break;case"math":a=i.createElementNS("http://www.w3.org/1998/Math/MathML",o);break;case"script":a=i.createElement("div"),a.innerHTML="<script><\/script>",a=a.removeChild(a.firstChild);break;case"select":a=typeof r.is=="string"?i.createElement("select",{is:r.is}):i.createElement("select"),r.multiple?a.multiple=!0:r.size&&(a.size=r.size);break;default:a=typeof r.is=="string"?i.createElement(o,{is:r.is}):i.createElement(o)}}a[Fn]=t,a[fr]=r;e:for(i=t.child;i!==null;){if(i.tag===5||i.tag===6)a.appendChild(i.stateNode);else if(i.tag!==4&&i.tag!==27&&i.child!==null){i.child.return=i,i=i.child;continue}if(i===t)break e;for(;i.sibling===null;){if(i.return===null||i.return===t)break e;i=i.return}i.sibling.return=i.return,i=i.sibling}t.stateNode=a;e:switch(Kn(a,o,r),o){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break e;case"img":r=!0;break e;default:r=!1}r&&ra(t)}}return $t(t),Hp(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==r&&ra(t);else{if(typeof r!="string"&&t.stateNode===null)throw Error(K(166));if(e=Qa.current,Ll(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,o=Hn,o!==null)switch(o.tag){case 27:case 5:r=o.memoizedProps}e[Fn]=t,e=!!(e.nodeValue===n||r!==null&&r.suppressHydrationWarning===!0||yw(e.nodeValue,n)),e||ii(t,!0)}else e=Gd(e).createTextNode(r),e[Fn]=t,t.stateNode=e}return $t(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(r=Ll(t),n!==null){if(e===null){if(!r)throw Error(K(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(K(557));e[Fn]=t}else Gi(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;$t(t),e=!1}else n=Dp(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(Cr(t),t):(Cr(t),null);if((t.flags&128)!==0)throw Error(K(558))}return $t(t),null;case 13:if(r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(o=Ll(t),r!==null&&r.dehydrated!==null){if(e===null){if(!o)throw Error(K(318));if(o=t.memoizedState,o=o!==null?o.dehydrated:null,!o)throw Error(K(317));o[Fn]=t}else Gi(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;$t(t),o=!1}else o=Dp(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=o),o=!0;if(!o)return t.flags&256?(Cr(t),t):(Cr(t),null)}return Cr(t),(t.flags&128)!==0?(t.lanes=n,t):(n=r!==null,e=e!==null&&e.memoizedState!==null,n&&(r=t.child,o=null,r.alternate!==null&&r.alternate.memoizedState!==null&&r.alternate.memoizedState.cachePool!==null&&(o=r.alternate.memoizedState.cachePool.pool),a=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(a=r.memoizedState.cachePool.pool),a!==o&&(r.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),td(t,t.updateQueue),$t(t),null);case 4:return ns(),e===null&&Ph(t.stateNode.containerInfo),$t(t),null;case 10:return ma(t.type),$t(t),null;case 19:if(zn(hn),r=t.memoizedState,r===null)return $t(t),null;if(o=(t.flags&128)!==0,a=r.rendering,a===null)if(o)tc(r,!1);else{if(mn!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(a=Dd(e),a!==null){for(t.flags|=128,tc(r,!1),e=a.updateQueue,t.updateQueue=e,td(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)_0(n,e),n=n.sibling;return jt(hn,hn.current&1|2),bt&&la(t,r.treeForkCount),t.child}e=e.sibling}r.tail!==null&&Er()>jd&&(t.flags|=128,o=!0,tc(r,!1),t.lanes=4194304)}else{if(!o)if(e=Dd(a),e!==null){if(t.flags|=128,o=!0,e=e.updateQueue,t.updateQueue=e,td(t,e),tc(r,!0),r.tail===null&&r.tailMode==="hidden"&&!a.alternate&&!bt)return $t(t),null}else 2*Er()-r.renderingStartTime>jd&&n!==536870912&&(t.flags|=128,o=!0,tc(r,!1),t.lanes=4194304);r.isBackwards?(a.sibling=t.child,t.child=a):(e=r.last,e!==null?e.sibling=a:t.child=a,r.last=a)}return r.tail!==null?(e=r.tail,r.rendering=e,r.tail=e.sibling,r.renderingStartTime=Er(),e.sibling=null,n=hn.current,jt(hn,o?n&1|2:n&1),bt&&la(t,r.treeForkCount),e):($t(t),null);case 22:case 23:return Cr(t),hh(),r=t.memoizedState!==null,e!==null?e.memoizedState!==null!==r&&(t.flags|=8192):r&&(t.flags|=8192),r?(n&536870912)!==0&&(t.flags&128)===0&&($t(t),t.subtreeFlags&6&&(t.flags|=8192)):$t(t),n=t.updateQueue,n!==null&&td(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),r=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(r=t.memoizedState.cachePool.pool),r!==n&&(t.flags|=2048),e!==null&&zn(Hi),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),ma(wn),$t(t),null;case 25:return null;case 30:return null}throw Error(K(156,t.tag))}function Tk(e,t){switch(dh(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ma(wn),ns(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Rd(t),null;case 31:if(t.memoizedState!==null){if(Cr(t),t.alternate===null)throw Error(K(340));Gi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(Cr(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(K(340));Gi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return zn(hn),null;case 4:return ns(),null;case 10:return ma(t.type),null;case 22:case 23:return Cr(t),hh(),e!==null&&zn(Hi),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return ma(wn),null;case 25:return null;default:return null}}function _S(e,t){switch(dh(t),t.tag){case 3:ma(wn),ns();break;case 26:case 27:case 5:Rd(t);break;case 4:ns();break;case 31:t.memoizedState!==null&&Cr(t);break;case 13:Cr(t);break;case 19:zn(hn);break;case 10:ma(t.type);break;case 22:case 23:Cr(t),hh(),e!==null&&zn(Hi);break;case 24:ma(wn)}}function Kc(e,t){try{var n=t.updateQueue,r=n!==null?n.lastEffect:null;if(r!==null){var o=r.next;n=o;do{if((n.tag&e)===e){r=void 0;var a=n.create,i=n.inst;r=a(),i.destroy=r}n=n.next}while(n!==o)}}catch(l){Et(t,t.return,l)}}function li(e,t,n){try{var r=t.updateQueue,o=r!==null?r.lastEffect:null;if(o!==null){var a=o.next;r=a;do{if((r.tag&e)===e){var i=r.inst,l=i.destroy;if(l!==void 0){i.destroy=void 0,o=t;var s=n,c=l;try{c()}catch(d){Et(o,s,d)}}}r=r.next}while(r!==a)}}catch(d){Et(t,t.return,d)}}function LS(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{F0(t,n)}catch(r){Et(e,e.return,r)}}}function DS(e,t,n){n.props=Qi(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(r){Et(e,t,r)}}function bc(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var r=e.stateNode;break;case 30:r=e.stateNode;break;default:r=e.stateNode}typeof n=="function"?e.refCleanup=n(r):n.current=r}}catch(o){Et(e,t,o)}}function ko(e,t){var n=e.ref,r=e.refCleanup;if(n!==null)if(typeof r=="function")try{r()}catch(o){Et(e,t,o)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n=="function")try{n(null)}catch(o){Et(e,t,o)}else n.current=null}function BS(e){var t=e.type,n=e.memoizedProps,r=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":n.autoFocus&&r.focus();break e;case"img":n.src?r.src=n.src:n.srcSet&&(r.srcset=n.srcSet)}}catch(o){Et(e,e.return,o)}}function $p(e,t,n){try{var r=e.stateNode;Wk(r,e.type,n,t),r[fr]=t}catch(o){Et(e,e.return,o)}}function IS(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&ui(e.type)||e.tag===4}function Kp(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||IS(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&ui(e.type)||e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Lg(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=ua));else if(r!==4&&(r===27&&ui(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(Lg(e,t,n),e=e.sibling;e!==null;)Lg(e,t,n),e=e.sibling}function Ud(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(r===27&&ui(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(Ud(e,t,n),e=e.sibling;e!==null;)Ud(e,t,n),e=e.sibling}function zS(e){var t=e.stateNode,n=e.memoizedProps;try{for(var r=e.type,o=t.attributes;o.length;)t.removeAttributeNode(o[0]);Kn(t,r,n),t[Fn]=e,t[fr]=n}catch(a){Et(e,e.return,a)}}var sa=!1,Sn=!1,Gp=!1,hx=typeof WeakSet=="function"?WeakSet:Set,Bn=null;function Mk(e,t){if(e=e.containerInfo,jg=Qd,e=C0(e),ih(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var o=r.anchorOffset,a=r.focusNode;r=r.focusOffset;try{n.nodeType,a.nodeType}catch{n=null;break e}var i=0,l=-1,s=-1,c=0,d=0,u=e,f=null;t:for(;;){for(var p;u!==n||o!==0&&u.nodeType!==3||(l=i+o),u!==a||r!==0&&u.nodeType!==3||(s=i+r),u.nodeType===3&&(i+=u.nodeValue.length),(p=u.firstChild)!==null;)f=u,u=p;for(;;){if(u===e)break t;if(f===n&&++c===o&&(l=i),f===a&&++d===r&&(s=i),(p=u.nextSibling)!==null)break;u=f,f=u.parentNode}u=p}n=l===-1||s===-1?null:{start:l,end:s}}else n=null}n=n||{start:0,end:0}}else n=null;for(Vg={focusedElem:e,selectionRange:n},Qd=!1,Bn=t;Bn!==null;)if(t=Bn,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,Bn=e;else for(;Bn!==null;){switch(t=Bn,a=t.alternate,e=t.flags,t.tag){case 0:if((e&4)!==0&&(e=t.updateQueue,e=e!==null?e.events:null,e!==null))for(n=0;n<e.length;n++)o=e[n],o.ref.impl=o.nextImpl;break;case 11:case 15:break;case 1:if((e&1024)!==0&&a!==null){e=void 0,n=t,o=a.memoizedProps,a=a.memoizedState,r=n.stateNode;try{var b=Qi(n.type,o);e=r.getSnapshotBeforeUpdate(b,a),r.__reactInternalSnapshotBeforeUpdate=e}catch(m){Et(n,n.return,m)}}break;case 3:if((e&1024)!==0){if(e=t.stateNode.containerInfo,n=e.nodeType,n===9)Hg(e);else if(n===1)switch(e.nodeName){case"HEAD":case"HTML":case"BODY":Hg(e);break;default:e.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((e&1024)!==0)throw Error(K(163))}if(e=t.sibling,e!==null){e.return=t.return,Bn=e;break}Bn=t.return}}function PS(e,t,n){var r=n.flags;switch(n.tag){case 0:case 11:case 15:aa(e,n),r&4&&Kc(5,n);break;case 1:if(aa(e,n),r&4)if(e=n.stateNode,t===null)try{e.componentDidMount()}catch(i){Et(n,n.return,i)}else{var o=Qi(n.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(o,t,e.__reactInternalSnapshotBeforeUpdate)}catch(i){Et(n,n.return,i)}}r&64&&LS(n),r&512&&bc(n,n.return);break;case 3:if(aa(e,n),r&64&&(e=n.updateQueue,e!==null)){if(t=null,n.child!==null)switch(n.child.tag){case 27:case 5:t=n.child.stateNode;break;case 1:t=n.child.stateNode}try{F0(e,t)}catch(i){Et(n,n.return,i)}}break;case 27:t===null&&r&4&&zS(n);case 26:case 5:aa(e,n),t===null&&r&4&&BS(n),r&512&&bc(n,n.return);break;case 12:aa(e,n);break;case 31:aa(e,n),r&4&&VS(e,n);break;case 13:aa(e,n),r&4&&FS(e,n),r&64&&(e=n.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(n=Pk.bind(null,n),n_(e,n))));break;case 22:if(r=n.memoizedState!==null||sa,!r){t=t!==null&&t.memoizedState!==null||Sn,o=sa;var a=Sn;sa=r,(Sn=t)&&!a?ia(e,n,(n.subtreeFlags&8772)!==0):aa(e,n),sa=o,Sn=a}break;case 30:break;default:aa(e,n)}}function US(e){var t=e.alternate;t!==null&&(e.alternate=null,US(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&eh(t)),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}var Qt=null,cr=!1;function oa(e,t,n){for(n=n.child;n!==null;)jS(e,t,n),n=n.sibling}function jS(e,t,n){if(Tr&&typeof Tr.onCommitFiberUnmount=="function")try{Tr.onCommitFiberUnmount(Pc,n)}catch{}switch(n.tag){case 26:Sn||ko(n,t),oa(e,t,n),n.memoizedState?n.memoizedState.count--:n.stateNode&&(n=n.stateNode,n.parentNode.removeChild(n));break;case 27:Sn||ko(n,t);var r=Qt,o=cr;ui(n.type)&&(Qt=n.stateNode,cr=!1),oa(e,t,n),wc(n.stateNode),Qt=r,cr=o;break;case 5:Sn||ko(n,t);case 6:if(r=Qt,o=cr,Qt=null,oa(e,t,n),Qt=r,cr=o,Qt!==null)if(cr)try{(Qt.nodeType===9?Qt.body:Qt.nodeName==="HTML"?Qt.ownerDocument.body:Qt).removeChild(n.stateNode)}catch(a){Et(n,t,a)}else try{Qt.removeChild(n.stateNode)}catch(a){Et(n,t,a)}break;case 18:Qt!==null&&(cr?(e=Qt,kx(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,n.stateNode),fs(e)):kx(Qt,n.stateNode));break;case 4:r=Qt,o=cr,Qt=n.stateNode.containerInfo,cr=!0,oa(e,t,n),Qt=r,cr=o;break;case 0:case 11:case 14:case 15:li(2,n,t),Sn||li(4,n,t),oa(e,t,n);break;case 1:Sn||(ko(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"&&DS(n,t,r)),oa(e,t,n);break;case 21:oa(e,t,n);break;case 22:Sn=(r=Sn)||n.memoizedState!==null,oa(e,t,n),Sn=r;break;default:oa(e,t,n)}}function VS(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{fs(e)}catch(n){Et(t,t.return,n)}}}function FS(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{fs(e)}catch(n){Et(t,t.return,n)}}function Ok(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new hx),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new hx),t;default:throw Error(K(435,e.tag))}}function nd(e,t){var n=Ok(e);t.forEach(function(r){if(!n.has(r)){n.add(r);var o=Uk.bind(null,e,r);r.then(o,o)}})}function lr(e,t){var n=t.deletions;if(n!==null)for(var r=0;r<n.length;r++){var o=n[r],a=e,i=t,l=i;e:for(;l!==null;){switch(l.tag){case 27:if(ui(l.type)){Qt=l.stateNode,cr=!1;break e}break;case 5:Qt=l.stateNode,cr=!1;break e;case 3:case 4:Qt=l.stateNode.containerInfo,cr=!0;break e}l=l.return}if(Qt===null)throw Error(K(160));jS(a,i,o),Qt=null,cr=!1,a=o.alternate,a!==null&&(a.return=null),o.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)HS(t,e),t=t.sibling}var po=null;function HS(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:lr(t,e),sr(e),r&4&&(li(3,e,e.return),Kc(3,e),li(5,e,e.return));break;case 1:lr(t,e),sr(e),r&512&&(Sn||n===null||ko(n,n.return)),r&64&&sa&&(e=e.updateQueue,e!==null&&(r=e.callbacks,r!==null&&(n=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=n===null?r:n.concat(r))));break;case 26:var o=po;if(lr(t,e),sr(e),r&512&&(Sn||n===null||ko(n,n.return)),r&4){var a=n!==null?n.memoizedState:null;if(r=e.memoizedState,n===null)if(r===null)if(e.stateNode===null){e:{r=e.type,n=e.memoizedProps,o=o.ownerDocument||o;t:switch(r){case"title":a=o.getElementsByTagName("title")[0],(!a||a[Vc]||a[Fn]||a.namespaceURI==="http://www.w3.org/2000/svg"||a.hasAttribute("itemprop"))&&(a=o.createElement(r),o.head.insertBefore(a,o.querySelector("head > title"))),Kn(a,r,n),a[Fn]=e,In(a),r=a;break e;case"link":var i=Px("link","href",o).get(r+(n.href||""));if(i){for(var l=0;l<i.length;l++)if(a=i[l],a.getAttribute("href")===(n.href==null||n.href===""?null:n.href)&&a.getAttribute("rel")===(n.rel==null?null:n.rel)&&a.getAttribute("title")===(n.title==null?null:n.title)&&a.getAttribute("crossorigin")===(n.crossOrigin==null?null:n.crossOrigin)){i.splice(l,1);break t}}a=o.createElement(r),Kn(a,r,n),o.head.appendChild(a);break;case"meta":if(i=Px("meta","content",o).get(r+(n.content||""))){for(l=0;l<i.length;l++)if(a=i[l],a.getAttribute("content")===(n.content==null?null:""+n.content)&&a.getAttribute("name")===(n.name==null?null:n.name)&&a.getAttribute("property")===(n.property==null?null:n.property)&&a.getAttribute("http-equiv")===(n.httpEquiv==null?null:n.httpEquiv)&&a.getAttribute("charset")===(n.charSet==null?null:n.charSet)){i.splice(l,1);break t}}a=o.createElement(r),Kn(a,r,n),o.head.appendChild(a);break;default:throw Error(K(468,r))}a[Fn]=e,In(a),r=a}e.stateNode=r}else Ux(o,e.type,e.stateNode);else e.stateNode=zx(o,r,e.memoizedProps);else a!==r?(a===null?n.stateNode!==null&&(n=n.stateNode,n.parentNode.removeChild(n)):a.count--,r===null?Ux(o,e.type,e.stateNode):zx(o,r,e.memoizedProps)):r===null&&e.stateNode!==null&&$p(e,e.memoizedProps,n.memoizedProps)}break;case 27:lr(t,e),sr(e),r&512&&(Sn||n===null||ko(n,n.return)),n!==null&&r&4&&$p(e,e.memoizedProps,n.memoizedProps);break;case 5:if(lr(t,e),sr(e),r&512&&(Sn||n===null||ko(n,n.return)),e.flags&32){o=e.stateNode;try{os(o,"")}catch(b){Et(e,e.return,b)}}r&4&&e.stateNode!=null&&(o=e.memoizedProps,$p(e,o,n!==null?n.memoizedProps:o)),r&1024&&(Gp=!0);break;case 6:if(lr(t,e),sr(e),r&4){if(e.stateNode===null)throw Error(K(162));r=e.memoizedProps,n=e.stateNode;try{n.nodeValue=r}catch(b){Et(e,e.return,b)}}break;case 3:if(xd=null,o=po,po=qd(t.containerInfo),lr(t,e),po=o,sr(e),r&4&&n!==null&&n.memoizedState.isDehydrated)try{fs(t.containerInfo)}catch(b){Et(e,e.return,b)}Gp&&(Gp=!1,$S(e));break;case 4:r=po,po=qd(e.stateNode.containerInfo),lr(t,e),sr(e),po=r;break;case 12:lr(t,e),sr(e);break;case 31:lr(t,e),sr(e),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,nd(e,r)));break;case 13:lr(t,e),sr(e),e.child.flags&8192&&e.memoizedState!==null!=(n!==null&&n.memoizedState!==null)&&(uf=Er()),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,nd(e,r)));break;case 22:o=e.memoizedState!==null;var s=n!==null&&n.memoizedState!==null,c=sa,d=Sn;if(sa=c||o,Sn=d||s,lr(t,e),Sn=d,sa=c,sr(e),r&8192)e:for(t=e.stateNode,t._visibility=o?t._visibility&-2:t._visibility|1,o&&(n===null||s||sa||Sn||ji(e)),n=null,t=e;;){if(t.tag===5||t.tag===26){if(n===null){s=n=t;try{if(a=s.stateNode,o)i=a.style,typeof i.setProperty=="function"?i.setProperty("display","none","important"):i.display="none";else{l=s.stateNode;var u=s.memoizedProps.style,f=u!=null&&u.hasOwnProperty("display")?u.display:null;l.style.display=f==null||typeof f=="boolean"?"":(""+f).trim()}}catch(b){Et(s,s.return,b)}}}else if(t.tag===6){if(n===null){s=t;try{s.stateNode.nodeValue=o?"":s.memoizedProps}catch(b){Et(s,s.return,b)}}}else if(t.tag===18){if(n===null){s=t;try{var p=s.stateNode;o?_x(p,!0):_x(s.stateNode,!1)}catch(b){Et(s,s.return,b)}}}else if((t.tag!==22&&t.tag!==23||t.memoizedState===null||t===e)&&t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break e;for(;t.sibling===null;){if(t.return===null||t.return===e)break e;n===t&&(n=null),t=t.return}n===t&&(n=null),t.sibling.return=t.return,t=t.sibling}r&4&&(r=e.updateQueue,r!==null&&(n=r.retryQueue,n!==null&&(r.retryQueue=null,nd(e,n))));break;case 19:lr(t,e),sr(e),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,nd(e,r)));break;case 30:break;case 21:break;default:lr(t,e),sr(e)}}function sr(e){var t=e.flags;if(t&2){try{for(var n,r=e.return;r!==null;){if(IS(r)){n=r;break}r=r.return}if(n==null)throw Error(K(160));switch(n.tag){case 27:var o=n.stateNode,a=Kp(e);Ud(e,a,o);break;case 5:var i=n.stateNode;n.flags&32&&(os(i,""),n.flags&=-33);var l=Kp(e);Ud(e,l,i);break;case 3:case 4:var s=n.stateNode.containerInfo,c=Kp(e);Lg(e,c,s);break;default:throw Error(K(161))}}catch(d){Et(e,e.return,d)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function $S(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;$S(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),e=e.sibling}}function aa(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)PS(e,t.alternate,t),t=t.sibling}function ji(e){for(e=e.child;e!==null;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:li(4,t,t.return),ji(t);break;case 1:ko(t,t.return);var n=t.stateNode;typeof n.componentWillUnmount=="function"&&DS(t,t.return,n),ji(t);break;case 27:wc(t.stateNode);case 26:case 5:ko(t,t.return),ji(t);break;case 22:t.memoizedState===null&&ji(t);break;case 30:ji(t);break;default:ji(t)}e=e.sibling}}function ia(e,t,n){for(n=n&&(t.subtreeFlags&8772)!==0,t=t.child;t!==null;){var r=t.alternate,o=e,a=t,i=a.flags;switch(a.tag){case 0:case 11:case 15:ia(o,a,n),Kc(4,a);break;case 1:if(ia(o,a,n),r=a,o=r.stateNode,typeof o.componentDidMount=="function")try{o.componentDidMount()}catch(c){Et(r,r.return,c)}if(r=a,o=r.updateQueue,o!==null){var l=r.stateNode;try{var s=o.shared.hiddenCallbacks;if(s!==null)for(o.shared.hiddenCallbacks=null,o=0;o<s.length;o++)V0(s[o],l)}catch(c){Et(r,r.return,c)}}n&&i&64&&LS(a),bc(a,a.return);break;case 27:zS(a);case 26:case 5:ia(o,a,n),n&&r===null&&i&4&&BS(a),bc(a,a.return);break;case 12:ia(o,a,n);break;case 31:ia(o,a,n),n&&i&4&&VS(o,a);break;case 13:ia(o,a,n),n&&i&4&&FS(o,a);break;case 22:a.memoizedState===null&&ia(o,a,n),bc(a,a.return);break;case 30:break;default:ia(o,a,n)}t=t.sibling}}function _h(e,t){var n=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),e=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),e!==n&&(e!=null&&e.refCount++,n!=null&&Hc(n))}function Lh(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Hc(e))}function mo(e,t,n,r){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)KS(e,t,n,r),t=t.sibling}function KS(e,t,n,r){var o=t.flags;switch(t.tag){case 0:case 11:case 15:mo(e,t,n,r),o&2048&&Kc(9,t);break;case 1:mo(e,t,n,r);break;case 3:mo(e,t,n,r),o&2048&&(e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Hc(e)));break;case 12:if(o&2048){mo(e,t,n,r),e=t.stateNode;try{var a=t.memoizedProps,i=a.id,l=a.onPostCommit;typeof l=="function"&&l(i,t.alternate===null?"mount":"update",e.passiveEffectDuration,-0)}catch(s){Et(t,t.return,s)}}else mo(e,t,n,r);break;case 31:mo(e,t,n,r);break;case 13:mo(e,t,n,r);break;case 23:break;case 22:a=t.stateNode,i=t.alternate,t.memoizedState!==null?a._visibility&2?mo(e,t,n,r):vc(e,t):a._visibility&2?mo(e,t,n,r):(a._visibility|=2,Bl(e,t,n,r,(t.subtreeFlags&10256)!==0||!1)),o&2048&&_h(i,t);break;case 24:mo(e,t,n,r),o&2048&&Lh(t.alternate,t);break;default:mo(e,t,n,r)}}function Bl(e,t,n,r,o){for(o=o&&((t.subtreeFlags&10256)!==0||!1),t=t.child;t!==null;){var a=e,i=t,l=n,s=r,c=i.flags;switch(i.tag){case 0:case 11:case 15:Bl(a,i,l,s,o),Kc(8,i);break;case 23:break;case 22:var d=i.stateNode;i.memoizedState!==null?d._visibility&2?Bl(a,i,l,s,o):vc(a,i):(d._visibility|=2,Bl(a,i,l,s,o)),o&&c&2048&&_h(i.alternate,i);break;case 24:Bl(a,i,l,s,o),o&&c&2048&&Lh(i.alternate,i);break;default:Bl(a,i,l,s,o)}t=t.sibling}}function vc(e,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var n=e,r=t,o=r.flags;switch(r.tag){case 22:vc(n,r),o&2048&&_h(r.alternate,r);break;case 24:vc(n,r),o&2048&&Lh(r.alternate,r);break;default:vc(n,r)}t=t.sibling}}var cc=8192;function Dl(e,t,n){if(e.subtreeFlags&cc)for(e=e.child;e!==null;)GS(e,t,n),e=e.sibling}function GS(e,t,n){switch(e.tag){case 26:Dl(e,t,n),e.flags&cc&&e.memoizedState!==null&&p_(n,po,e.memoizedState,e.memoizedProps);break;case 5:Dl(e,t,n);break;case 3:case 4:var r=po;po=qd(e.stateNode.containerInfo),Dl(e,t,n),po=r;break;case 22:e.memoizedState===null&&(r=e.alternate,r!==null&&r.memoizedState!==null?(r=cc,cc=16777216,Dl(e,t,n),cc=r):Dl(e,t,n));break;default:Dl(e,t,n)}}function qS(e){var t=e.alternate;if(t!==null&&(e=t.child,e!==null)){t.child=null;do t=e.sibling,e.sibling=null,e=t;while(e!==null)}}function nc(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var n=0;n<t.length;n++){var r=t[n];Bn=r,YS(r,e)}qS(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)WS(e),e=e.sibling}function WS(e){switch(e.tag){case 0:case 11:case 15:nc(e),e.flags&2048&&li(9,e,e.return);break;case 3:nc(e);break;case 12:nc(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&2&&(e.return===null||e.return.tag!==13)?(t._visibility&=-3,bd(e)):nc(e);break;default:nc(e)}}function bd(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var n=0;n<t.length;n++){var r=t[n];Bn=r,YS(r,e)}qS(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:li(8,t,t.return),bd(t);break;case 22:n=t.stateNode,n._visibility&2&&(n._visibility&=-3,bd(t));break;default:bd(t)}e=e.sibling}}function YS(e,t){for(;Bn!==null;){var n=Bn;switch(n.tag){case 0:case 11:case 15:li(8,n,t);break;case 23:case 22:if(n.memoizedState!==null&&n.memoizedState.cachePool!==null){var r=n.memoizedState.cachePool.pool;r!=null&&r.refCount++}break;case 24:Hc(n.memoizedState.cache)}if(r=n.child,r!==null)r.return=n,Bn=r;else e:for(n=e;Bn!==null;){r=Bn;var o=r.sibling,a=r.return;if(US(r),r===n){Bn=null;break e}if(o!==null){o.return=a,Bn=o;break e}Bn=a}}}var kk={getCacheForType:function(e){var t=$n(wn),n=t.data.get(e);return n===void 0&&(n=e(),t.data.set(e,n)),n},cacheSignal:function(){return $n(wn).controller.signal}},_k=typeof WeakMap=="function"?WeakMap:Map,wt=0,Pt=null,dt=null,mt=0,Nt=0,Ar=null,qa=!1,ys=!1,Dh=!1,va=0,mn=0,si=0,Ki=0,Bh=0,Nr=0,ss=0,xc=null,ur=null,Dg=!1,uf=0,QS=0,jd=1/0,Vd=null,ei=null,Tn=0,ti=null,cs=null,pa=0,Bg=0,Ig=null,XS=null,Sc=0,zg=null;function Or(){return(wt&2)!==0&&mt!==0?mt&-mt:je.T!==null?zh():i0()}function JS(){if(Nr===0)if((mt&536870912)===0||bt){var e=Gu;Gu<<=1,(Gu&3932160)===0&&(Gu=262144),Nr=e}else Nr=536870912;return e=_r.current,e!==null&&(e.flags|=32),Nr}function dr(e,t,n){(e===Pt&&(Nt===2||Nt===9)||e.cancelPendingCommit!==null)&&(us(e,0),Wa(e,mt,Nr,!1)),jc(e,n),((wt&2)===0||e!==Pt)&&(e===Pt&&((wt&2)===0&&(Ki|=n),mn===4&&Wa(e,mt,Nr,!1)),Do(e))}function ZS(e,t,n){if((wt&6)!==0)throw Error(K(327));var r=!n&&(t&127)===0&&(t&e.expiredLanes)===0||Uc(e,t),o=r?Bk(e,t):qp(e,t,!0),a=r;do{if(o===0){ys&&!r&&Wa(e,t,0,!1);break}else{if(n=e.current.alternate,a&&!Lk(n)){o=qp(e,t,!1),a=!1;continue}if(o===2){if(a=t,e.errorRecoveryDisabledLanes&a)var i=0;else i=e.pendingLanes&-536870913,i=i!==0?i:i&536870912?536870912:0;if(i!==0){t=i;e:{var l=e;o=xc;var s=l.current.memoizedState.isDehydrated;if(s&&(us(l,i).flags|=256),i=qp(l,i,!1),i!==2){if(Dh&&!s){l.errorRecoveryDisabledLanes|=a,Ki|=a,o=4;break e}a=ur,ur=o,a!==null&&(ur===null?ur=a:ur.push.apply(ur,a))}o=i}if(a=!1,o!==2)continue}}if(o===1){us(e,0),Wa(e,t,0,!0);break}e:{switch(r=e,a=o,a){case 0:case 1:throw Error(K(345));case 4:if((t&4194048)!==t)break;case 6:Wa(r,t,Nr,!qa);break e;case 2:ur=null;break;case 3:case 5:break;default:throw Error(K(329))}if((t&62914560)===t&&(o=uf+300-Er(),10<o)){if(Wa(r,t,Nr,!qa),Jd(r,0,!0)!==0)break e;pa=t,r.timeoutHandle=vw(yx.bind(null,r,n,ur,Vd,Dg,t,Nr,Ki,ss,qa,a,"Throttled",-0,0),o);break e}yx(r,n,ur,Vd,Dg,t,Nr,Ki,ss,qa,a,null,-0,0)}}break}while(!0);Do(e)}function yx(e,t,n,r,o,a,i,l,s,c,d,u,f,p){if(e.timeoutHandle=-1,u=t.subtreeFlags,u&8192||(u&16785408)===16785408){u={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:ua},GS(t,a,u);var b=(a&62914560)===a?uf-Er():(a&4194048)===a?QS-Er():0;if(b=g_(u,b),b!==null){pa=a,e.cancelPendingCommit=b(vx.bind(null,e,t,a,n,r,o,i,l,s,d,u,null,f,p)),Wa(e,a,i,!c);return}}vx(e,t,a,n,r,o,i,l,s)}function Lk(e){for(var t=e;;){var n=t.tag;if((n===0||n===11||n===15)&&t.flags&16384&&(n=t.updateQueue,n!==null&&(n=n.stores,n!==null)))for(var r=0;r<n.length;r++){var o=n[r],a=o.getSnapshot;o=o.value;try{if(!kr(a(),o))return!1}catch{return!1}}if(n=t.child,t.subtreeFlags&16384&&n!==null)n.return=t,t=n;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function Wa(e,t,n,r){t&=~Bh,t&=~Ki,e.suspendedLanes|=t,e.pingedLanes&=~t,r&&(e.warmLanes|=t),r=e.expirationTimes;for(var o=t;0<o;){var a=31-Mr(o),i=1<<a;r[a]=-1,o&=~i}n!==0&&r0(e,n,t)}function df(){return(wt&6)===0?(Gc(0,!1),!1):!0}function Ih(){if(dt!==null){if(Nt===0)var e=dt.return;else e=dt,da=tl=null,Sh(e),Zl=null,Mc=0,e=dt;for(;e!==null;)_S(e.alternate,e),e=e.return;dt=null}}function us(e,t){var n=e.timeoutHandle;n!==-1&&(e.timeoutHandle=-1,Xk(n)),n=e.cancelPendingCommit,n!==null&&(e.cancelPendingCommit=null,n()),pa=0,Ih(),Pt=e,dt=n=fa(e.current,null),mt=t,Nt=0,Ar=null,qa=!1,ys=Uc(e,t),Dh=!1,ss=Nr=Bh=Ki=si=mn=0,ur=xc=null,Dg=!1,(t&8)!==0&&(t|=t&32);var r=e.entangledLanes;if(r!==0)for(e=e.entanglements,r&=t;0<r;){var o=31-Mr(r),a=1<<o;t|=e[o],r&=~a}return va=t,nf(),n}function ew(e,t){Qe=null,je.H=kc,t===hs||t===of?(t=Yv(),Nt=3):t===ph?(t=Yv(),Nt=4):Nt=t===Oh?8:t!==null&&typeof t=="object"&&typeof t.then=="function"?6:1,Ar=t,dt===null&&(mn=1,zd(e,qr(t,e.current)))}function tw(){var e=_r.current;return e===null?!0:(mt&4194048)===mt?Yr===null:(mt&62914560)===mt||(mt&536870912)!==0?e===Yr:!1}function nw(){var e=je.H;return je.H=kc,e===null?kc:e}function rw(){var e=je.A;return je.A=kk,e}function Fd(){mn=4,qa||(mt&4194048)!==mt&&_r.current!==null||(ys=!0),(si&134217727)===0&&(Ki&134217727)===0||Pt===null||Wa(Pt,mt,Nr,!1)}function qp(e,t,n){var r=wt;wt|=2;var o=nw(),a=rw();(Pt!==e||mt!==t)&&(Vd=null,us(e,t)),t=!1;var i=mn;e:do try{if(Nt!==0&&dt!==null){var l=dt,s=Ar;switch(Nt){case 8:Ih(),i=6;break e;case 3:case 2:case 9:case 6:_r.current===null&&(t=!0);var c=Nt;if(Nt=0,Ar=null,Wl(e,l,s,c),n&&ys){i=0;break e}break;default:c=Nt,Nt=0,Ar=null,Wl(e,l,s,c)}}Dk(),i=mn;break}catch(d){ew(e,d)}while(!0);return t&&e.shellSuspendCounter++,da=tl=null,wt=r,je.H=o,je.A=a,dt===null&&(Pt=null,mt=0,nf()),i}function Dk(){for(;dt!==null;)ow(dt)}function Bk(e,t){var n=wt;wt|=2;var r=nw(),o=rw();Pt!==e||mt!==t?(Vd=null,jd=Er()+500,us(e,t)):ys=Uc(e,t);e:do try{if(Nt!==0&&dt!==null){t=dt;var a=Ar;t:switch(Nt){case 1:Nt=0,Ar=null,Wl(e,t,a,1);break;case 2:case 9:if(Wv(a)){Nt=0,Ar=null,bx(t);break}t=function(){Nt!==2&&Nt!==9||Pt!==e||(Nt=7),Do(e)},a.then(t,t);break e;case 3:Nt=7;break e;case 4:Nt=5;break e;case 7:Wv(a)?(Nt=0,Ar=null,bx(t)):(Nt=0,Ar=null,Wl(e,t,a,7));break;case 5:var i=null;switch(dt.tag){case 26:i=dt.memoizedState;case 5:case 27:var l=dt;if(i?Cw(i):l.stateNode.complete){Nt=0,Ar=null;var s=l.sibling;if(s!==null)dt=s;else{var c=l.return;c!==null?(dt=c,ff(c)):dt=null}break t}}Nt=0,Ar=null,Wl(e,t,a,5);break;case 6:Nt=0,Ar=null,Wl(e,t,a,6);break;case 8:Ih(),mn=6;break e;default:throw Error(K(462))}}Ik();break}catch(d){ew(e,d)}while(!0);return da=tl=null,je.H=r,je.A=o,wt=n,dt!==null?0:(Pt=null,mt=0,nf(),mn)}function Ik(){for(;dt!==null&&!aO();)ow(dt)}function ow(e){var t=kS(e.alternate,e,va);e.memoizedProps=e.pendingProps,t===null?ff(e):dt=t}function bx(e){var t=e,n=t.alternate;switch(t.tag){case 15:case 0:t=dx(n,t,t.pendingProps,t.type,void 0,mt);break;case 11:t=dx(n,t,t.pendingProps,t.type.render,t.ref,mt);break;case 5:Sh(t);default:_S(n,t),t=dt=_0(t,va),t=kS(n,t,va)}e.memoizedProps=e.pendingProps,t===null?ff(e):dt=t}function Wl(e,t,n,r){da=tl=null,Sh(t),Zl=null,Mc=0;var o=t.return;try{if(Ck(e,o,t,n,mt)){mn=1,zd(e,qr(n,e.current)),dt=null;return}}catch(a){if(o!==null)throw dt=o,a;mn=1,zd(e,qr(n,e.current)),dt=null;return}t.flags&32768?(bt||r===1?e=!0:ys||(mt&536870912)!==0?e=!1:(qa=e=!0,(r===2||r===9||r===3||r===6)&&(r=_r.current,r!==null&&r.tag===13&&(r.flags|=16384))),aw(t,e)):ff(t)}function ff(e){var t=e;do{if((t.flags&32768)!==0){aw(t,qa);return}e=t.return;var n=Ek(t.alternate,t,va);if(n!==null){dt=n;return}if(t=t.sibling,t!==null){dt=t;return}dt=t=e}while(t!==null);mn===0&&(mn=5)}function aw(e,t){do{var n=Tk(e.alternate,e);if(n!==null){n.flags&=32767,dt=n;return}if(n=e.return,n!==null&&(n.flags|=32768,n.subtreeFlags=0,n.deletions=null),!t&&(e=e.sibling,e!==null)){dt=e;return}dt=e=n}while(e!==null);mn=6,dt=null}function vx(e,t,n,r,o,a,i,l,s){e.cancelPendingCommit=null;do mf();while(Tn!==0);if((wt&6)!==0)throw Error(K(327));if(t!==null){if(t===e.current)throw Error(K(177));if(a=t.lanes|t.childLanes,a|=lh,gO(e,n,a,i,l,s),e===Pt&&(dt=Pt=null,mt=0),cs=t,ti=e,pa=n,Bg=a,Ig=o,XS=r,(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?(e.callbackNode=null,e.callbackPriority=0,jk(Nd,function(){return uw(),null})):(e.callbackNode=null,e.callbackPriority=0),r=(t.flags&13878)!==0,(t.subtreeFlags&13878)!==0||r){r=je.T,je.T=null,o=At.p,At.p=2,i=wt,wt|=4;try{Mk(e,t,n)}finally{wt=i,At.p=o,je.T=r}}Tn=1,iw(),lw(),sw()}}function iw(){if(Tn===1){Tn=0;var e=ti,t=cs,n=(t.flags&13878)!==0;if((t.subtreeFlags&13878)!==0||n){n=je.T,je.T=null;var r=At.p;At.p=2;var o=wt;wt|=4;try{HS(t,e);var a=Vg,i=C0(e.containerInfo),l=a.focusedElem,s=a.selectionRange;if(i!==l&&l&&l.ownerDocument&&A0(l.ownerDocument.documentElement,l)){if(s!==null&&ih(l)){var c=s.start,d=s.end;if(d===void 0&&(d=c),"selectionStart"in l)l.selectionStart=c,l.selectionEnd=Math.min(d,l.value.length);else{var u=l.ownerDocument||document,f=u&&u.defaultView||window;if(f.getSelection){var p=f.getSelection(),b=l.textContent.length,m=Math.min(s.start,b),v=s.end===void 0?m:Math.min(s.end,b);!p.extend&&m>v&&(i=v,v=m,m=i);var h=Vv(l,m),g=Vv(l,v);if(h&&g&&(p.rangeCount!==1||p.anchorNode!==h.node||p.anchorOffset!==h.offset||p.focusNode!==g.node||p.focusOffset!==g.offset)){var y=u.createRange();y.setStart(h.node,h.offset),p.removeAllRanges(),m>v?(p.addRange(y),p.extend(g.node,g.offset)):(y.setEnd(g.node,g.offset),p.addRange(y))}}}}for(u=[],p=l;p=p.parentNode;)p.nodeType===1&&u.push({element:p,left:p.scrollLeft,top:p.scrollTop});for(typeof l.focus=="function"&&l.focus(),l=0;l<u.length;l++){var x=u[l];x.element.scrollLeft=x.left,x.element.scrollTop=x.top}}Qd=!!jg,Vg=jg=null}finally{wt=o,At.p=r,je.T=n}}e.current=t,Tn=2}}function lw(){if(Tn===2){Tn=0;var e=ti,t=cs,n=(t.flags&8772)!==0;if((t.subtreeFlags&8772)!==0||n){n=je.T,je.T=null;var r=At.p;At.p=2;var o=wt;wt|=4;try{PS(e,t.alternate,t)}finally{wt=o,At.p=r,je.T=n}}Tn=3}}function sw(){if(Tn===4||Tn===3){Tn=0,iO();var e=ti,t=cs,n=pa,r=XS;(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?Tn=5:(Tn=0,cs=ti=null,cw(e,e.pendingLanes));var o=e.pendingLanes;if(o===0&&(ei=null),Zg(n),t=t.stateNode,Tr&&typeof Tr.onCommitFiberRoot=="function")try{Tr.onCommitFiberRoot(Pc,t,void 0,(t.current.flags&128)===128)}catch{}if(r!==null){t=je.T,o=At.p,At.p=2,je.T=null;try{for(var a=e.onRecoverableError,i=0;i<r.length;i++){var l=r[i];a(l.value,{componentStack:l.stack})}}finally{je.T=t,At.p=o}}(pa&3)!==0&&mf(),Do(e),o=e.pendingLanes,(n&261930)!==0&&(o&42)!==0?e===zg?Sc++:(Sc=0,zg=e):Sc=0,Gc(0,!1)}}function cw(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,Hc(t)))}function mf(){return iw(),lw(),sw(),uw()}function uw(){if(Tn!==5)return!1;var e=ti,t=Bg;Bg=0;var n=Zg(pa),r=je.T,o=At.p;try{At.p=32>n?32:n,je.T=null,n=Ig,Ig=null;var a=ti,i=pa;if(Tn=0,cs=ti=null,pa=0,(wt&6)!==0)throw Error(K(331));var l=wt;if(wt|=4,WS(a.current),KS(a,a.current,i,n),wt=l,Gc(0,!1),Tr&&typeof Tr.onPostCommitFiberRoot=="function")try{Tr.onPostCommitFiberRoot(Pc,a)}catch{}return!0}finally{At.p=o,je.T=r,cw(e,t)}}function xx(e,t,n){t=qr(n,t),t=Og(e.stateNode,t,2),e=Za(e,t,2),e!==null&&(jc(e,2),Do(e))}function Et(e,t,n){if(e.tag===3)xx(e,e,n);else for(;t!==null;){if(t.tag===3){xx(t,e,n);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof r.componentDidCatch=="function"&&(ei===null||!ei.has(r))){e=qr(n,e),n=RS(2),r=Za(t,n,2),r!==null&&(NS(n,r,t,e),jc(r,2),Do(r));break}}t=t.return}}function Wp(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new _k;var o=new Set;r.set(t,o)}else o=r.get(t),o===void 0&&(o=new Set,r.set(t,o));o.has(n)||(Dh=!0,o.add(n),e=zk.bind(null,e,t,n),t.then(e,e))}function zk(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,Pt===e&&(mt&n)===n&&(mn===4||mn===3&&(mt&62914560)===mt&&300>Er()-uf?(wt&2)===0&&us(e,0):Bh|=n,ss===mt&&(ss=0)),Do(e)}function dw(e,t){t===0&&(t=n0()),e=el(e,t),e!==null&&(jc(e,t),Do(e))}function Pk(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),dw(e,n)}function Uk(e,t){var n=0;switch(e.tag){case 31:case 13:var r=e.stateNode,o=e.memoizedState;o!==null&&(n=o.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(K(314))}r!==null&&r.delete(t),dw(e,n)}function jk(e,t){return Xg(e,t)}var Hd=null,Il=null,Pg=!1,$d=!1,Yp=!1,Ya=0;function Do(e){e!==Il&&e.next===null&&(Il===null?Hd=Il=e:Il=Il.next=e),$d=!0,Pg||(Pg=!0,Fk())}function Gc(e,t){if(!Yp&&$d){Yp=!0;do for(var n=!1,r=Hd;r!==null;){if(!t)if(e!==0){var o=r.pendingLanes;if(o===0)var a=0;else{var i=r.suspendedLanes,l=r.pingedLanes;a=(1<<31-Mr(42|e)+1)-1,a&=o&~(i&~l),a=a&201326741?a&201326741|1:a?a|2:0}a!==0&&(n=!0,Sx(r,a))}else a=mt,a=Jd(r,r===Pt?a:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),(a&3)===0||Uc(r,a)||(n=!0,Sx(r,a));r=r.next}while(n);Yp=!1}}function Vk(){fw()}function fw(){$d=Pg=!1;var e=0;Ya!==0&&Qk()&&(e=Ya);for(var t=Er(),n=null,r=Hd;r!==null;){var o=r.next,a=mw(r,t);a===0?(r.next=null,n===null?Hd=o:n.next=o,o===null&&(Il=n)):(n=r,(e!==0||(a&3)!==0)&&($d=!0)),r=o}Tn!==0&&Tn!==5||Gc(e,!1),Ya!==0&&(Ya=0)}function mw(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,o=e.expirationTimes,a=e.pendingLanes&-62914561;0<a;){var i=31-Mr(a),l=1<<i,s=o[i];s===-1?((l&n)===0||(l&r)!==0)&&(o[i]=pO(l,t)):s<=t&&(e.expiredLanes|=l),a&=~l}if(t=Pt,n=mt,n=Jd(e,e===t?n:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r=e.callbackNode,n===0||e===t&&(Nt===2||Nt===9)||e.cancelPendingCommit!==null)return r!==null&&r!==null&&Cp(r),e.callbackNode=null,e.callbackPriority=0;if((n&3)===0||Uc(e,n)){if(t=n&-n,t===e.callbackPriority)return t;switch(r!==null&&Cp(r),Zg(n)){case 2:case 8:n=e0;break;case 32:n=Nd;break;case 268435456:n=t0;break;default:n=Nd}return r=pw.bind(null,e),n=Xg(n,r),e.callbackPriority=t,e.callbackNode=n,t}return r!==null&&r!==null&&Cp(r),e.callbackPriority=2,e.callbackNode=null,2}function pw(e,t){if(Tn!==0&&Tn!==5)return e.callbackNode=null,e.callbackPriority=0,null;var n=e.callbackNode;if(mf()&&e.callbackNode!==n)return null;var r=mt;return r=Jd(e,e===Pt?r:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r===0?null:(ZS(e,r,t),mw(e,Er()),e.callbackNode!=null&&e.callbackNode===n?pw.bind(null,e):null)}function Sx(e,t){if(mf())return null;ZS(e,t,!0)}function Fk(){Jk(function(){(wt&6)!==0?Xg(Zx,Vk):fw()})}function zh(){if(Ya===0){var e=as;e===0&&(e=Ku,Ku<<=1,(Ku&261888)===0&&(Ku=256)),Ya=e}return Ya}function wx(e){return e==null||typeof e=="symbol"||typeof e=="boolean"?null:typeof e=="function"?e:cd(""+e)}function Ax(e,t){var n=t.ownerDocument.createElement("input");return n.name=t.name,n.value=t.value,e.id&&n.setAttribute("form",e.id),t.parentNode.insertBefore(n,t),e=new FormData(e),n.parentNode.removeChild(n),e}function Hk(e,t,n,r,o){if(t==="submit"&&n&&n.stateNode===o){var a=wx((o[fr]||null).action),i=r.submitter;i&&(t=(t=i[fr]||null)?wx(t.formAction):i.getAttribute("formAction"),t!==null&&(a=t,i=null));var l=new Zd("action","action",null,r,o);e.push({event:l,listeners:[{instance:null,listener:function(){if(r.defaultPrevented){if(Ya!==0){var s=i?Ax(o,i):new FormData(o);Tg(n,{pending:!0,data:s,method:o.method,action:a},null,s)}}else typeof a=="function"&&(l.preventDefault(),s=i?Ax(o,i):new FormData(o),Tg(n,{pending:!0,data:s,method:o.method,action:a},a,s))},currentTarget:o}]})}}for(rd=0;rd<hg.length;rd++)od=hg[rd],Cx=od.toLowerCase(),Rx=od[0].toUpperCase()+od.slice(1),go(Cx,"on"+Rx);var od,Cx,Rx,rd;go(N0,"onAnimationEnd");go(E0,"onAnimationIteration");go(T0,"onAnimationStart");go("dblclick","onDoubleClick");go("focusin","onFocus");go("focusout","onBlur");go(lk,"onTransitionRun");go(sk,"onTransitionStart");go(ck,"onTransitionCancel");go(M0,"onTransitionEnd");rs("onMouseEnter",["mouseout","mouseover"]);rs("onMouseLeave",["mouseout","mouseover"]);rs("onPointerEnter",["pointerout","pointerover"]);rs("onPointerLeave",["pointerout","pointerover"]);Xi("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));Xi("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));Xi("onBeforeInput",["compositionend","keypress","textInput","paste"]);Xi("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));Xi("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));Xi("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var _c="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),$k=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(_c));function gw(e,t){t=(t&4)!==0;for(var n=0;n<e.length;n++){var r=e[n],o=r.event;r=r.listeners;e:{var a=void 0;if(t)for(var i=r.length-1;0<=i;i--){var l=r[i],s=l.instance,c=l.currentTarget;if(l=l.listener,s!==a&&o.isPropagationStopped())break e;a=l,o.currentTarget=c;try{a(o)}catch(d){Td(d)}o.currentTarget=null,a=s}else for(i=0;i<r.length;i++){if(l=r[i],s=l.instance,c=l.currentTarget,l=l.listener,s!==a&&o.isPropagationStopped())break e;a=l,o.currentTarget=c;try{a(o)}catch(d){Td(d)}o.currentTarget=null,a=s}}}}function ut(e,t){var n=t[sg];n===void 0&&(n=t[sg]=new Set);var r=e+"__bubble";n.has(r)||(hw(t,e,2,!1),n.add(r))}function Qp(e,t,n){var r=0;t&&(r|=4),hw(n,e,r,t)}var ad="_reactListening"+Math.random().toString(36).slice(2);function Ph(e){if(!e[ad]){e[ad]=!0,l0.forEach(function(n){n!=="selectionchange"&&($k.has(n)||Qp(n,!1,e),Qp(n,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[ad]||(t[ad]=!0,Qp("selectionchange",!1,t))}}function hw(e,t,n,r){switch(Mw(t)){case 2:var o=b_;break;case 8:o=v_;break;default:o=Fh}n=o.bind(null,t,n,e),o=void 0,!mg||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(o=!0),r?o!==void 0?e.addEventListener(t,n,{capture:!0,passive:o}):e.addEventListener(t,n,!0):o!==void 0?e.addEventListener(t,n,{passive:o}):e.addEventListener(t,n,!1)}function Xp(e,t,n,r,o){var a=r;if((t&1)===0&&(t&2)===0&&r!==null)e:for(;;){if(r===null)return;var i=r.tag;if(i===3||i===4){var l=r.stateNode.containerInfo;if(l===o)break;if(i===4)for(i=r.return;i!==null;){var s=i.tag;if((s===3||s===4)&&i.stateNode.containerInfo===o)return;i=i.return}for(;l!==null;){if(i=Ul(l),i===null)return;if(s=i.tag,s===5||s===6||s===26||s===27){r=a=i;continue e}l=l.parentNode}}r=r.return}g0(function(){var c=a,d=nh(n),u=[];e:{var f=O0.get(e);if(f!==void 0){var p=Zd,b=e;switch(e){case"keypress":if(dd(n)===0)break e;case"keydown":case"keyup":p=UO;break;case"focusin":b="focus",p=Mp;break;case"focusout":b="blur",p=Mp;break;case"beforeblur":case"afterblur":p=Mp;break;case"click":if(n.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":p=_v;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":p=EO;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":p=FO;break;case N0:case E0:case T0:p=OO;break;case M0:p=$O;break;case"scroll":case"scrollend":p=RO;break;case"wheel":p=GO;break;case"copy":case"cut":case"paste":p=_O;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":p=Dv;break;case"toggle":case"beforetoggle":p=WO}var m=(t&4)!==0,v=!m&&(e==="scroll"||e==="scrollend"),h=m?f!==null?f+"Capture":null:f;m=[];for(var g=c,y;g!==null;){var x=g;if(y=x.stateNode,x=x.tag,x!==5&&x!==26&&x!==27||y===null||h===null||(x=Cc(g,h),x!=null&&m.push(Lc(g,x,y))),v)break;g=g.return}0<m.length&&(f=new p(f,b,null,n,d),u.push({event:f,listeners:m}))}}if((t&7)===0){e:{if(f=e==="mouseover"||e==="pointerover",p=e==="mouseout"||e==="pointerout",f&&n!==fg&&(b=n.relatedTarget||n.fromElement)&&(Ul(b)||b[ms]))break e;if((p||f)&&(f=d.window===d?d:(f=d.ownerDocument)?f.defaultView||f.parentWindow:window,p?(b=n.relatedTarget||n.toElement,p=c,b=b?Ul(b):null,b!==null&&(v=zc(b),m=b.tag,b!==v||m!==5&&m!==27&&m!==6)&&(b=null)):(p=null,b=c),p!==b)){if(m=_v,x="onMouseLeave",h="onMouseEnter",g="mouse",(e==="pointerout"||e==="pointerover")&&(m=Dv,x="onPointerLeave",h="onPointerEnter",g="pointer"),v=p==null?f:lc(p),y=b==null?f:lc(b),f=new m(x,g+"leave",p,n,d),f.target=v,f.relatedTarget=y,x=null,Ul(d)===c&&(m=new m(h,g+"enter",b,n,d),m.target=y,m.relatedTarget=v,x=m),v=x,p&&b)t:{for(m=Kk,h=p,g=b,y=0,x=h;x;x=m(x))y++;x=0;for(var A=g;A;A=m(A))x++;for(;0<y-x;)h=m(h),y--;for(;0<x-y;)g=m(g),x--;for(;y--;){if(h===g||g!==null&&h===g.alternate){m=h;break t}h=m(h),g=m(g)}m=null}else m=null;p!==null&&Nx(u,f,p,m,!1),b!==null&&v!==null&&Nx(u,v,b,m,!0)}}e:{if(f=c?lc(c):window,p=f.nodeName&&f.nodeName.toLowerCase(),p==="select"||p==="input"&&f.type==="file")var N=Pv;else if(zv(f))if(S0)N=ok;else{N=nk;var E=tk}else p=f.nodeName,!p||p.toLowerCase()!=="input"||f.type!=="checkbox"&&f.type!=="radio"?c&&th(c.elementType)&&(N=Pv):N=rk;if(N&&(N=N(e,c))){x0(u,N,n,d);break e}E&&E(e,f,c),e==="focusout"&&c&&f.type==="number"&&c.memoizedProps.value!=null&&dg(f,"number",f.value)}switch(E=c?lc(c):window,e){case"focusin":(zv(E)||E.contentEditable==="true")&&(Fl=E,pg=c,fc=null);break;case"focusout":fc=pg=Fl=null;break;case"mousedown":gg=!0;break;case"contextmenu":case"mouseup":case"dragend":gg=!1,Fv(u,n,d);break;case"selectionchange":if(ik)break;case"keydown":case"keyup":Fv(u,n,d)}var C;if(ah)e:{switch(e){case"compositionstart":var O="onCompositionStart";break e;case"compositionend":O="onCompositionEnd";break e;case"compositionupdate":O="onCompositionUpdate";break e}O=void 0}else Vl?b0(e,n)&&(O="onCompositionEnd"):e==="keydown"&&n.keyCode===229&&(O="onCompositionStart");O&&(y0&&n.locale!=="ko"&&(Vl||O!=="onCompositionStart"?O==="onCompositionEnd"&&Vl&&(C=h0()):(Ga=d,rh="value"in Ga?Ga.value:Ga.textContent,Vl=!0)),E=Kd(c,O),0<E.length&&(O=new Lv(O,e,null,n,d),u.push({event:O,listeners:E}),C?O.data=C:(C=v0(n),C!==null&&(O.data=C)))),(C=QO?XO(e,n):JO(e,n))&&(O=Kd(c,"onBeforeInput"),0<O.length&&(E=new Lv("onBeforeInput","beforeinput",null,n,d),u.push({event:E,listeners:O}),E.data=C)),Hk(u,e,c,n,d)}gw(u,t)})}function Lc(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Kd(e,t){for(var n=t+"Capture",r=[];e!==null;){var o=e,a=o.stateNode;if(o=o.tag,o!==5&&o!==26&&o!==27||a===null||(o=Cc(e,n),o!=null&&r.unshift(Lc(e,o,a)),o=Cc(e,t),o!=null&&r.push(Lc(e,o,a))),e.tag===3)return r;e=e.return}return[]}function Kk(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function Nx(e,t,n,r,o){for(var a=t._reactName,i=[];n!==null&&n!==r;){var l=n,s=l.alternate,c=l.stateNode;if(l=l.tag,s!==null&&s===r)break;l!==5&&l!==26&&l!==27||c===null||(s=c,o?(c=Cc(n,a),c!=null&&i.unshift(Lc(n,c,s))):o||(c=Cc(n,a),c!=null&&i.push(Lc(n,c,s)))),n=n.return}i.length!==0&&e.push({event:t,listeners:i})}var Gk=/\r\n?/g,qk=/\u0000|\uFFFD/g;function Ex(e){return(typeof e=="string"?e:""+e).replace(Gk,`
9
+ `).replace(qk,"")}function yw(e,t){return t=Ex(t),Ex(e)===t}function kt(e,t,n,r,o,a){switch(n){case"children":typeof r=="string"?t==="body"||t==="textarea"&&r===""||os(e,r):(typeof r=="number"||typeof r=="bigint")&&t!=="body"&&os(e,""+r);break;case"className":Wu(e,"class",r);break;case"tabIndex":Wu(e,"tabindex",r);break;case"dir":case"role":case"viewBox":case"width":case"height":Wu(e,n,r);break;case"style":p0(e,r,a);break;case"data":if(t!=="object"){Wu(e,"data",r);break}case"src":case"href":if(r===""&&(t!=="a"||n!=="href")){e.removeAttribute(n);break}if(r==null||typeof r=="function"||typeof r=="symbol"||typeof r=="boolean"){e.removeAttribute(n);break}r=cd(""+r),e.setAttribute(n,r);break;case"action":case"formAction":if(typeof r=="function"){e.setAttribute(n,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof a=="function"&&(n==="formAction"?(t!=="input"&&kt(e,t,"name",o.name,o,null),kt(e,t,"formEncType",o.formEncType,o,null),kt(e,t,"formMethod",o.formMethod,o,null),kt(e,t,"formTarget",o.formTarget,o,null)):(kt(e,t,"encType",o.encType,o,null),kt(e,t,"method",o.method,o,null),kt(e,t,"target",o.target,o,null)));if(r==null||typeof r=="symbol"||typeof r=="boolean"){e.removeAttribute(n);break}r=cd(""+r),e.setAttribute(n,r);break;case"onClick":r!=null&&(e.onclick=ua);break;case"onScroll":r!=null&&ut("scroll",e);break;case"onScrollEnd":r!=null&&ut("scrollend",e);break;case"dangerouslySetInnerHTML":if(r!=null){if(typeof r!="object"||!("__html"in r))throw Error(K(61));if(n=r.__html,n!=null){if(o.children!=null)throw Error(K(60));e.innerHTML=n}}break;case"multiple":e.multiple=r&&typeof r!="function"&&typeof r!="symbol";break;case"muted":e.muted=r&&typeof r!="function"&&typeof r!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(r==null||typeof r=="function"||typeof r=="boolean"||typeof r=="symbol"){e.removeAttribute("xlink:href");break}n=cd(""+r),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",n);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":r!=null&&typeof r!="function"&&typeof r!="symbol"?e.setAttribute(n,""+r):e.removeAttribute(n);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":r&&typeof r!="function"&&typeof r!="symbol"?e.setAttribute(n,""):e.removeAttribute(n);break;case"capture":case"download":r===!0?e.setAttribute(n,""):r!==!1&&r!=null&&typeof r!="function"&&typeof r!="symbol"?e.setAttribute(n,r):e.removeAttribute(n);break;case"cols":case"rows":case"size":case"span":r!=null&&typeof r!="function"&&typeof r!="symbol"&&!isNaN(r)&&1<=r?e.setAttribute(n,r):e.removeAttribute(n);break;case"rowSpan":case"start":r==null||typeof r=="function"||typeof r=="symbol"||isNaN(r)?e.removeAttribute(n):e.setAttribute(n,r);break;case"popover":ut("beforetoggle",e),ut("toggle",e),sd(e,"popover",r);break;case"xlinkActuate":na(e,"http://www.w3.org/1999/xlink","xlink:actuate",r);break;case"xlinkArcrole":na(e,"http://www.w3.org/1999/xlink","xlink:arcrole",r);break;case"xlinkRole":na(e,"http://www.w3.org/1999/xlink","xlink:role",r);break;case"xlinkShow":na(e,"http://www.w3.org/1999/xlink","xlink:show",r);break;case"xlinkTitle":na(e,"http://www.w3.org/1999/xlink","xlink:title",r);break;case"xlinkType":na(e,"http://www.w3.org/1999/xlink","xlink:type",r);break;case"xmlBase":na(e,"http://www.w3.org/XML/1998/namespace","xml:base",r);break;case"xmlLang":na(e,"http://www.w3.org/XML/1998/namespace","xml:lang",r);break;case"xmlSpace":na(e,"http://www.w3.org/XML/1998/namespace","xml:space",r);break;case"is":sd(e,"is",r);break;case"innerText":case"textContent":break;default:(!(2<n.length)||n[0]!=="o"&&n[0]!=="O"||n[1]!=="n"&&n[1]!=="N")&&(n=AO.get(n)||n,sd(e,n,r))}}function Ug(e,t,n,r,o,a){switch(n){case"style":p0(e,r,a);break;case"dangerouslySetInnerHTML":if(r!=null){if(typeof r!="object"||!("__html"in r))throw Error(K(61));if(n=r.__html,n!=null){if(o.children!=null)throw Error(K(60));e.innerHTML=n}}break;case"children":typeof r=="string"?os(e,r):(typeof r=="number"||typeof r=="bigint")&&os(e,""+r);break;case"onScroll":r!=null&&ut("scroll",e);break;case"onScrollEnd":r!=null&&ut("scrollend",e);break;case"onClick":r!=null&&(e.onclick=ua);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!s0.hasOwnProperty(n))e:{if(n[0]==="o"&&n[1]==="n"&&(o=n.endsWith("Capture"),t=n.slice(2,o?n.length-7:void 0),a=e[fr]||null,a=a!=null?a[n]:null,typeof a=="function"&&e.removeEventListener(t,a,o),typeof r=="function")){typeof a!="function"&&a!==null&&(n in e?e[n]=null:e.hasAttribute(n)&&e.removeAttribute(n)),e.addEventListener(t,r,o);break e}n in e?e[n]=r:r===!0?e.setAttribute(n,""):sd(e,n,r)}}}function Kn(e,t,n){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":ut("error",e),ut("load",e);var r=!1,o=!1,a;for(a in n)if(n.hasOwnProperty(a)){var i=n[a];if(i!=null)switch(a){case"src":r=!0;break;case"srcSet":o=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(K(137,t));default:kt(e,t,a,i,n,null)}}o&&kt(e,t,"srcSet",n.srcSet,n,null),r&&kt(e,t,"src",n.src,n,null);return;case"input":ut("invalid",e);var l=a=i=o=null,s=null,c=null;for(r in n)if(n.hasOwnProperty(r)){var d=n[r];if(d!=null)switch(r){case"name":o=d;break;case"type":i=d;break;case"checked":s=d;break;case"defaultChecked":c=d;break;case"value":a=d;break;case"defaultValue":l=d;break;case"children":case"dangerouslySetInnerHTML":if(d!=null)throw Error(K(137,t));break;default:kt(e,t,r,d,n,null)}}d0(e,a,l,s,c,i,o,!1);return;case"select":ut("invalid",e),r=i=a=null;for(o in n)if(n.hasOwnProperty(o)&&(l=n[o],l!=null))switch(o){case"value":a=l;break;case"defaultValue":i=l;break;case"multiple":r=l;default:kt(e,t,o,l,n,null)}t=a,n=i,e.multiple=!!r,t!=null?Ql(e,!!r,t,!1):n!=null&&Ql(e,!!r,n,!0);return;case"textarea":ut("invalid",e),a=o=r=null;for(i in n)if(n.hasOwnProperty(i)&&(l=n[i],l!=null))switch(i){case"value":r=l;break;case"defaultValue":o=l;break;case"children":a=l;break;case"dangerouslySetInnerHTML":if(l!=null)throw Error(K(91));break;default:kt(e,t,i,l,n,null)}m0(e,r,o,a);return;case"option":for(s in n)n.hasOwnProperty(s)&&(r=n[s],r!=null)&&(s==="selected"?e.selected=r&&typeof r!="function"&&typeof r!="symbol":kt(e,t,s,r,n,null));return;case"dialog":ut("beforetoggle",e),ut("toggle",e),ut("cancel",e),ut("close",e);break;case"iframe":case"object":ut("load",e);break;case"video":case"audio":for(r=0;r<_c.length;r++)ut(_c[r],e);break;case"image":ut("error",e),ut("load",e);break;case"details":ut("toggle",e);break;case"embed":case"source":case"link":ut("error",e),ut("load",e);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(c in n)if(n.hasOwnProperty(c)&&(r=n[c],r!=null))switch(c){case"children":case"dangerouslySetInnerHTML":throw Error(K(137,t));default:kt(e,t,c,r,n,null)}return;default:if(th(t)){for(d in n)n.hasOwnProperty(d)&&(r=n[d],r!==void 0&&Ug(e,t,d,r,n,void 0));return}}for(l in n)n.hasOwnProperty(l)&&(r=n[l],r!=null&&kt(e,t,l,r,n,null))}function Wk(e,t,n,r){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var o=null,a=null,i=null,l=null,s=null,c=null,d=null;for(p in n){var u=n[p];if(n.hasOwnProperty(p)&&u!=null)switch(p){case"checked":break;case"value":break;case"defaultValue":s=u;default:r.hasOwnProperty(p)||kt(e,t,p,null,r,u)}}for(var f in r){var p=r[f];if(u=n[f],r.hasOwnProperty(f)&&(p!=null||u!=null))switch(f){case"type":a=p;break;case"name":o=p;break;case"checked":c=p;break;case"defaultChecked":d=p;break;case"value":i=p;break;case"defaultValue":l=p;break;case"children":case"dangerouslySetInnerHTML":if(p!=null)throw Error(K(137,t));break;default:p!==u&&kt(e,t,f,p,r,u)}}ug(e,i,l,s,c,d,a,o);return;case"select":p=i=l=f=null;for(a in n)if(s=n[a],n.hasOwnProperty(a)&&s!=null)switch(a){case"value":break;case"multiple":p=s;default:r.hasOwnProperty(a)||kt(e,t,a,null,r,s)}for(o in r)if(a=r[o],s=n[o],r.hasOwnProperty(o)&&(a!=null||s!=null))switch(o){case"value":f=a;break;case"defaultValue":l=a;break;case"multiple":i=a;default:a!==s&&kt(e,t,o,a,r,s)}t=l,n=i,r=p,f!=null?Ql(e,!!n,f,!1):!!r!=!!n&&(t!=null?Ql(e,!!n,t,!0):Ql(e,!!n,n?[]:"",!1));return;case"textarea":p=f=null;for(l in n)if(o=n[l],n.hasOwnProperty(l)&&o!=null&&!r.hasOwnProperty(l))switch(l){case"value":break;case"children":break;default:kt(e,t,l,null,r,o)}for(i in r)if(o=r[i],a=n[i],r.hasOwnProperty(i)&&(o!=null||a!=null))switch(i){case"value":f=o;break;case"defaultValue":p=o;break;case"children":break;case"dangerouslySetInnerHTML":if(o!=null)throw Error(K(91));break;default:o!==a&&kt(e,t,i,o,r,a)}f0(e,f,p);return;case"option":for(var b in n)f=n[b],n.hasOwnProperty(b)&&f!=null&&!r.hasOwnProperty(b)&&(b==="selected"?e.selected=!1:kt(e,t,b,null,r,f));for(s in r)f=r[s],p=n[s],r.hasOwnProperty(s)&&f!==p&&(f!=null||p!=null)&&(s==="selected"?e.selected=f&&typeof f!="function"&&typeof f!="symbol":kt(e,t,s,f,r,p));return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var m in n)f=n[m],n.hasOwnProperty(m)&&f!=null&&!r.hasOwnProperty(m)&&kt(e,t,m,null,r,f);for(c in r)if(f=r[c],p=n[c],r.hasOwnProperty(c)&&f!==p&&(f!=null||p!=null))switch(c){case"children":case"dangerouslySetInnerHTML":if(f!=null)throw Error(K(137,t));break;default:kt(e,t,c,f,r,p)}return;default:if(th(t)){for(var v in n)f=n[v],n.hasOwnProperty(v)&&f!==void 0&&!r.hasOwnProperty(v)&&Ug(e,t,v,void 0,r,f);for(d in r)f=r[d],p=n[d],!r.hasOwnProperty(d)||f===p||f===void 0&&p===void 0||Ug(e,t,d,f,r,p);return}}for(var h in n)f=n[h],n.hasOwnProperty(h)&&f!=null&&!r.hasOwnProperty(h)&&kt(e,t,h,null,r,f);for(u in r)f=r[u],p=n[u],!r.hasOwnProperty(u)||f===p||f==null&&p==null||kt(e,t,u,f,r,p)}function Tx(e){switch(e){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function Yk(){if(typeof performance.getEntriesByType=="function"){for(var e=0,t=0,n=performance.getEntriesByType("resource"),r=0;r<n.length;r++){var o=n[r],a=o.transferSize,i=o.initiatorType,l=o.duration;if(a&&l&&Tx(i)){for(i=0,l=o.responseEnd,r+=1;r<n.length;r++){var s=n[r],c=s.startTime;if(c>l)break;var d=s.transferSize,u=s.initiatorType;d&&Tx(u)&&(s=s.responseEnd,i+=d*(s<l?1:(l-c)/(s-c)))}if(--r,t+=8*(a+i)/(o.duration/1e3),e++,10<e)break}}if(0<e)return t/e/1e6}return navigator.connection&&(e=navigator.connection.downlink,typeof e=="number")?e:5}var jg=null,Vg=null;function Gd(e){return e.nodeType===9?e:e.ownerDocument}function Mx(e){switch(e){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function bw(e,t){if(e===0)switch(t){case"svg":return 1;case"math":return 2;default:return 0}return e===1&&t==="foreignObject"?0:e}function Fg(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.children=="bigint"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var Jp=null;function Qk(){var e=window.event;return e&&e.type==="popstate"?e===Jp?!1:(Jp=e,!0):(Jp=null,!1)}var vw=typeof setTimeout=="function"?setTimeout:void 0,Xk=typeof clearTimeout=="function"?clearTimeout:void 0,Ox=typeof Promise=="function"?Promise:void 0,Jk=typeof queueMicrotask=="function"?queueMicrotask:typeof Ox<"u"?function(e){return Ox.resolve(null).then(e).catch(Zk)}:vw;function Zk(e){setTimeout(function(){throw e})}function ui(e){return e==="head"}function kx(e,t){var n=t,r=0;do{var o=n.nextSibling;if(e.removeChild(n),o&&o.nodeType===8)if(n=o.data,n==="/$"||n==="/&"){if(r===0){e.removeChild(o),fs(t);return}r--}else if(n==="$"||n==="$?"||n==="$~"||n==="$!"||n==="&")r++;else if(n==="html")wc(e.ownerDocument.documentElement);else if(n==="head"){n=e.ownerDocument.head,wc(n);for(var a=n.firstChild;a;){var i=a.nextSibling,l=a.nodeName;a[Vc]||l==="SCRIPT"||l==="STYLE"||l==="LINK"&&a.rel.toLowerCase()==="stylesheet"||n.removeChild(a),a=i}}else n==="body"&&wc(e.ownerDocument.body);n=o}while(n);fs(t)}function _x(e,t){var n=e;e=0;do{var r=n.nextSibling;if(n.nodeType===1?t?(n._stashedDisplay=n.style.display,n.style.display="none"):(n.style.display=n._stashedDisplay||"",n.getAttribute("style")===""&&n.removeAttribute("style")):n.nodeType===3&&(t?(n._stashedText=n.nodeValue,n.nodeValue=""):n.nodeValue=n._stashedText||""),r&&r.nodeType===8)if(n=r.data,n==="/$"){if(e===0)break;e--}else n!=="$"&&n!=="$?"&&n!=="$~"&&n!=="$!"||e++;n=r}while(n)}function Hg(e){var t=e.firstChild;for(t&&t.nodeType===10&&(t=t.nextSibling);t;){var n=t;switch(t=t.nextSibling,n.nodeName){case"HTML":case"HEAD":case"BODY":Hg(n),eh(n);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(n.rel.toLowerCase()==="stylesheet")continue}e.removeChild(n)}}function e_(e,t,n,r){for(;e.nodeType===1;){var o=n;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!r&&(e.nodeName!=="INPUT"||e.type!=="hidden"))break}else if(r){if(!e[Vc])switch(t){case"meta":if(!e.hasAttribute("itemprop"))break;return e;case"link":if(a=e.getAttribute("rel"),a==="stylesheet"&&e.hasAttribute("data-precedence"))break;if(a!==o.rel||e.getAttribute("href")!==(o.href==null||o.href===""?null:o.href)||e.getAttribute("crossorigin")!==(o.crossOrigin==null?null:o.crossOrigin)||e.getAttribute("title")!==(o.title==null?null:o.title))break;return e;case"style":if(e.hasAttribute("data-precedence"))break;return e;case"script":if(a=e.getAttribute("src"),(a!==(o.src==null?null:o.src)||e.getAttribute("type")!==(o.type==null?null:o.type)||e.getAttribute("crossorigin")!==(o.crossOrigin==null?null:o.crossOrigin))&&a&&e.hasAttribute("async")&&!e.hasAttribute("itemprop"))break;return e;default:return e}}else if(t==="input"&&e.type==="hidden"){var a=o.name==null?null:""+o.name;if(o.type==="hidden"&&e.getAttribute("name")===a)return e}else return e;if(e=Qr(e.nextSibling),e===null)break}return null}function t_(e,t,n){if(t==="")return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!n||(e=Qr(e.nextSibling),e===null))return null;return e}function xw(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!t||(e=Qr(e.nextSibling),e===null))return null;return e}function $g(e){return e.data==="$?"||e.data==="$~"}function Kg(e){return e.data==="$!"||e.data==="$?"&&e.ownerDocument.readyState!=="loading"}function n_(e,t){var n=e.ownerDocument;if(e.data==="$~")e._reactRetry=t;else if(e.data!=="$?"||n.readyState!=="loading")t();else{var r=function(){t(),n.removeEventListener("DOMContentLoaded",r)};n.addEventListener("DOMContentLoaded",r),e._reactRetry=r}}function Qr(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?"||t==="$~"||t==="&"||t==="F!"||t==="F")break;if(t==="/$"||t==="/&")return null}}return e}var Gg=null;function Lx(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="/$"||n==="/&"){if(t===0)return Qr(e.nextSibling);t--}else n!=="$"&&n!=="$!"&&n!=="$?"&&n!=="$~"&&n!=="&"||t++}e=e.nextSibling}return null}function Dx(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="$"||n==="$!"||n==="$?"||n==="$~"||n==="&"){if(t===0)return e;t--}else n!=="/$"&&n!=="/&"||t++}e=e.previousSibling}return null}function Sw(e,t,n){switch(t=Gd(n),e){case"html":if(e=t.documentElement,!e)throw Error(K(452));return e;case"head":if(e=t.head,!e)throw Error(K(453));return e;case"body":if(e=t.body,!e)throw Error(K(454));return e;default:throw Error(K(451))}}function wc(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);eh(e)}var Xr=new Map,Bx=new Set;function qd(e){return typeof e.getRootNode=="function"?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var xa=At.d;At.d={f:r_,r:o_,D:a_,C:i_,L:l_,m:s_,X:u_,S:c_,M:d_};function r_(){var e=xa.f(),t=df();return e||t}function o_(e){var t=ps(e);t!==null&&t.tag===5&&t.type==="form"?pS(t):xa.r(e)}var bs=typeof document>"u"?null:document;function ww(e,t,n){var r=bs;if(r&&typeof t=="string"&&t){var o=Gr(t);o='link[rel="'+e+'"][href="'+o+'"]',typeof n=="string"&&(o+='[crossorigin="'+n+'"]'),Bx.has(o)||(Bx.add(o),e={rel:e,crossOrigin:n,href:t},r.querySelector(o)===null&&(t=r.createElement("link"),Kn(t,"link",e),In(t),r.head.appendChild(t)))}}function a_(e){xa.D(e),ww("dns-prefetch",e,null)}function i_(e,t){xa.C(e,t),ww("preconnect",e,t)}function l_(e,t,n){xa.L(e,t,n);var r=bs;if(r&&e&&t){var o='link[rel="preload"][as="'+Gr(t)+'"]';t==="image"&&n&&n.imageSrcSet?(o+='[imagesrcset="'+Gr(n.imageSrcSet)+'"]',typeof n.imageSizes=="string"&&(o+='[imagesizes="'+Gr(n.imageSizes)+'"]')):o+='[href="'+Gr(e)+'"]';var a=o;switch(t){case"style":a=ds(e);break;case"script":a=vs(e)}Xr.has(a)||(e=Gt({rel:"preload",href:t==="image"&&n&&n.imageSrcSet?void 0:e,as:t},n),Xr.set(a,e),r.querySelector(o)!==null||t==="style"&&r.querySelector(qc(a))||t==="script"&&r.querySelector(Wc(a))||(t=r.createElement("link"),Kn(t,"link",e),In(t),r.head.appendChild(t)))}}function s_(e,t){xa.m(e,t);var n=bs;if(n&&e){var r=t&&typeof t.as=="string"?t.as:"script",o='link[rel="modulepreload"][as="'+Gr(r)+'"][href="'+Gr(e)+'"]',a=o;switch(r){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":a=vs(e)}if(!Xr.has(a)&&(e=Gt({rel:"modulepreload",href:e},t),Xr.set(a,e),n.querySelector(o)===null)){switch(r){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(n.querySelector(Wc(a)))return}r=n.createElement("link"),Kn(r,"link",e),In(r),n.head.appendChild(r)}}}function c_(e,t,n){xa.S(e,t,n);var r=bs;if(r&&e){var o=Yl(r).hoistableStyles,a=ds(e);t=t||"default";var i=o.get(a);if(!i){var l={loading:0,preload:null};if(i=r.querySelector(qc(a)))l.loading=5;else{e=Gt({rel:"stylesheet",href:e,"data-precedence":t},n),(n=Xr.get(a))&&Uh(e,n);var s=i=r.createElement("link");In(s),Kn(s,"link",e),s._p=new Promise(function(c,d){s.onload=c,s.onerror=d}),s.addEventListener("load",function(){l.loading|=1}),s.addEventListener("error",function(){l.loading|=2}),l.loading|=4,vd(i,t,r)}i={type:"stylesheet",instance:i,count:1,state:l},o.set(a,i)}}}function u_(e,t){xa.X(e,t);var n=bs;if(n&&e){var r=Yl(n).hoistableScripts,o=vs(e),a=r.get(o);a||(a=n.querySelector(Wc(o)),a||(e=Gt({src:e,async:!0},t),(t=Xr.get(o))&&jh(e,t),a=n.createElement("script"),In(a),Kn(a,"link",e),n.head.appendChild(a)),a={type:"script",instance:a,count:1,state:null},r.set(o,a))}}function d_(e,t){xa.M(e,t);var n=bs;if(n&&e){var r=Yl(n).hoistableScripts,o=vs(e),a=r.get(o);a||(a=n.querySelector(Wc(o)),a||(e=Gt({src:e,async:!0,type:"module"},t),(t=Xr.get(o))&&jh(e,t),a=n.createElement("script"),In(a),Kn(a,"link",e),n.head.appendChild(a)),a={type:"script",instance:a,count:1,state:null},r.set(o,a))}}function Ix(e,t,n,r){var o=(o=Qa.current)?qd(o):null;if(!o)throw Error(K(446));switch(e){case"meta":case"title":return null;case"style":return typeof n.precedence=="string"&&typeof n.href=="string"?(t=ds(n.href),n=Yl(o).hoistableStyles,r=n.get(t),r||(r={type:"style",instance:null,count:0,state:null},n.set(t,r)),r):{type:"void",instance:null,count:0,state:null};case"link":if(n.rel==="stylesheet"&&typeof n.href=="string"&&typeof n.precedence=="string"){e=ds(n.href);var a=Yl(o).hoistableStyles,i=a.get(e);if(i||(o=o.ownerDocument||o,i={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},a.set(e,i),(a=o.querySelector(qc(e)))&&!a._p&&(i.instance=a,i.state.loading=5),Xr.has(e)||(n={rel:"preload",as:"style",href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},Xr.set(e,n),a||f_(o,e,n,i.state))),t&&r===null)throw Error(K(528,""));return i}if(t&&r!==null)throw Error(K(529,""));return null;case"script":return t=n.async,n=n.src,typeof n=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=vs(n),n=Yl(o).hoistableScripts,r=n.get(t),r||(r={type:"script",instance:null,count:0,state:null},n.set(t,r)),r):{type:"void",instance:null,count:0,state:null};default:throw Error(K(444,e))}}function ds(e){return'href="'+Gr(e)+'"'}function qc(e){return'link[rel="stylesheet"]['+e+"]"}function Aw(e){return Gt({},e,{"data-precedence":e.precedence,precedence:null})}function f_(e,t,n,r){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?r.loading=1:(t=e.createElement("link"),r.preload=t,t.addEventListener("load",function(){return r.loading|=1}),t.addEventListener("error",function(){return r.loading|=2}),Kn(t,"link",n),In(t),e.head.appendChild(t))}function vs(e){return'[src="'+Gr(e)+'"]'}function Wc(e){return"script[async]"+e}function zx(e,t,n){if(t.count++,t.instance===null)switch(t.type){case"style":var r=e.querySelector('style[data-href~="'+Gr(n.href)+'"]');if(r)return t.instance=r,In(r),r;var o=Gt({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return r=(e.ownerDocument||e).createElement("style"),In(r),Kn(r,"style",o),vd(r,n.precedence,e),t.instance=r;case"stylesheet":o=ds(n.href);var a=e.querySelector(qc(o));if(a)return t.state.loading|=4,t.instance=a,In(a),a;r=Aw(n),(o=Xr.get(o))&&Uh(r,o),a=(e.ownerDocument||e).createElement("link"),In(a);var i=a;return i._p=new Promise(function(l,s){i.onload=l,i.onerror=s}),Kn(a,"link",r),t.state.loading|=4,vd(a,n.precedence,e),t.instance=a;case"script":return a=vs(n.src),(o=e.querySelector(Wc(a)))?(t.instance=o,In(o),o):(r=n,(o=Xr.get(a))&&(r=Gt({},n),jh(r,o)),e=e.ownerDocument||e,o=e.createElement("script"),In(o),Kn(o,"link",r),e.head.appendChild(o),t.instance=o);case"void":return null;default:throw Error(K(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(r=t.instance,t.state.loading|=4,vd(r,n.precedence,e));return t.instance}function vd(e,t,n){for(var r=n.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),o=r.length?r[r.length-1]:null,a=o,i=0;i<r.length;i++){var l=r[i];if(l.dataset.precedence===t)a=l;else if(a!==o)break}a?a.parentNode.insertBefore(e,a.nextSibling):(t=n.nodeType===9?n.head:n,t.insertBefore(e,t.firstChild))}function Uh(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.title==null&&(e.title=t.title)}function jh(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.integrity==null&&(e.integrity=t.integrity)}var xd=null;function Px(e,t,n){if(xd===null){var r=new Map,o=xd=new Map;o.set(n,r)}else o=xd,r=o.get(n),r||(r=new Map,o.set(n,r));if(r.has(e))return r;for(r.set(e,null),n=n.getElementsByTagName(e),o=0;o<n.length;o++){var a=n[o];if(!(a[Vc]||a[Fn]||e==="link"&&a.getAttribute("rel")==="stylesheet")&&a.namespaceURI!=="http://www.w3.org/2000/svg"){var i=a.getAttribute(t)||"";i=e+i;var l=r.get(i);l?l.push(a):r.set(i,[a])}}return r}function Ux(e,t,n){e=e.ownerDocument||e,e.head.insertBefore(n,t==="title"?e.querySelector("head > title"):null)}function m_(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;return t.rel==="stylesheet"?(e=t.disabled,typeof t.precedence=="string"&&e==null):!0;case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function Cw(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function p_(e,t,n,r){if(n.type==="stylesheet"&&(typeof r.media!="string"||matchMedia(r.media).matches!==!1)&&(n.state.loading&4)===0){if(n.instance===null){var o=ds(r.href),a=t.querySelector(qc(o));if(a){t=a._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=Wd.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=a,In(a);return}a=t.ownerDocument||t,r=Aw(r),(o=Xr.get(o))&&Uh(r,o),a=a.createElement("link"),In(a);var i=a;i._p=new Promise(function(l,s){i.onload=l,i.onerror=s}),Kn(a,"link",r),n.instance=a}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&(n.state.loading&3)===0&&(e.count++,n=Wd.bind(e),t.addEventListener("load",n),t.addEventListener("error",n))}}var Zp=0;function g_(e,t){return e.stylesheets&&e.count===0&&Sd(e,e.stylesheets),0<e.count||0<e.imgCount?function(n){var r=setTimeout(function(){if(e.stylesheets&&Sd(e,e.stylesheets),e.unsuspend){var a=e.unsuspend;e.unsuspend=null,a()}},6e4+t);0<e.imgBytes&&Zp===0&&(Zp=62500*Yk());var o=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&Sd(e,e.stylesheets),e.unsuspend)){var a=e.unsuspend;e.unsuspend=null,a()}},(e.imgBytes>Zp?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(o)}}:null}function Wd(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Sd(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Yd=null;function Sd(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Yd=new Map,t.forEach(h_,e),Yd=null,Wd.call(e))}function h_(e,t){if(!(t.state.loading&4)){var n=Yd.get(e);if(n)var r=n.get(null);else{n=new Map,Yd.set(e,n);for(var o=e.querySelectorAll("link[data-precedence],style[data-precedence]"),a=0;a<o.length;a++){var i=o[a];(i.nodeName==="LINK"||i.getAttribute("media")!=="not all")&&(n.set(i.dataset.precedence,i),r=i)}r&&n.set(null,r)}o=t.instance,i=o.getAttribute("data-precedence"),a=n.get(i)||r,a===r&&n.set(null,o),n.set(i,o),this.count++,r=Wd.bind(this),o.addEventListener("load",r),o.addEventListener("error",r),a?a.parentNode.insertBefore(o,a.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(o,e.firstChild)),t.state.loading|=4}}var Dc={$$typeof:ca,Provider:null,Consumer:null,_currentValue:Vi,_currentValue2:Vi,_threadCount:0};function y_(e,t,n,r,o,a,i,l,s){this.tag=1,this.containerInfo=e,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=Rp(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Rp(0),this.hiddenUpdates=Rp(null),this.identifierPrefix=r,this.onUncaughtError=o,this.onCaughtError=a,this.onRecoverableError=i,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=s,this.incompleteTransitions=new Map}function Rw(e,t,n,r,o,a,i,l,s,c,d,u){return e=new y_(e,t,n,i,s,c,d,u,l),t=1,a===!0&&(t|=24),a=Rr(3,null,null,t),e.current=a,a.stateNode=e,t=fh(),t.refCount++,e.pooledCache=t,t.refCount++,a.memoizedState={element:r,isDehydrated:n,cache:t},gh(a),e}function Nw(e){return e?(e=Kl,e):Kl}function Ew(e,t,n,r,o,a){o=Nw(o),r.context===null?r.context=o:r.pendingContext=o,r=Ja(t),r.payload={element:n},a=a===void 0?null:a,a!==null&&(r.callback=a),n=Za(e,r,t),n!==null&&(dr(n,e,t),pc(n,e,t))}function jx(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function Vh(e,t){jx(e,t),(e=e.alternate)&&jx(e,t)}function Tw(e){if(e.tag===13||e.tag===31){var t=el(e,67108864);t!==null&&dr(t,e,67108864),Vh(e,67108864)}}function Vx(e){if(e.tag===13||e.tag===31){var t=Or();t=Jg(t);var n=el(e,t);n!==null&&dr(n,e,t),Vh(e,t)}}var Qd=!0;function b_(e,t,n,r){var o=je.T;je.T=null;var a=At.p;try{At.p=2,Fh(e,t,n,r)}finally{At.p=a,je.T=o}}function v_(e,t,n,r){var o=je.T;je.T=null;var a=At.p;try{At.p=8,Fh(e,t,n,r)}finally{At.p=a,je.T=o}}function Fh(e,t,n,r){if(Qd){var o=qg(r);if(o===null)Xp(e,t,r,Xd,n),Fx(e,r);else if(S_(o,e,t,n,r))r.stopPropagation();else if(Fx(e,r),t&4&&-1<x_.indexOf(e)){for(;o!==null;){var a=ps(o);if(a!==null)switch(a.tag){case 3:if(a=a.stateNode,a.current.memoizedState.isDehydrated){var i=Pi(a.pendingLanes);if(i!==0){var l=a;for(l.pendingLanes|=2,l.entangledLanes|=2;i;){var s=1<<31-Mr(i);l.entanglements[1]|=s,i&=~s}Do(a),(wt&6)===0&&(jd=Er()+500,Gc(0,!1))}}break;case 31:case 13:l=el(a,2),l!==null&&dr(l,a,2),df(),Vh(a,2)}if(a=qg(r),a===null&&Xp(e,t,r,Xd,n),a===o)break;o=a}o!==null&&r.stopPropagation()}else Xp(e,t,r,null,n)}}function qg(e){return e=nh(e),Hh(e)}var Xd=null;function Hh(e){if(Xd=null,e=Ul(e),e!==null){var t=zc(e);if(t===null)e=null;else{var n=t.tag;if(n===13){if(e=Wx(t),e!==null)return e;e=null}else if(n===31){if(e=Yx(t),e!==null)return e;e=null}else if(n===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return Xd=e,null}function Mw(e){switch(e){case"beforetoggle":case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"toggle":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 2;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(lO()){case Zx:return 2;case e0:return 8;case Nd:case sO:return 32;case t0:return 268435456;default:return 32}default:return 32}}var Wg=!1,ni=null,ri=null,oi=null,Bc=new Map,Ic=new Map,$a=[],x_="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split(" ");function Fx(e,t){switch(e){case"focusin":case"focusout":ni=null;break;case"dragenter":case"dragleave":ri=null;break;case"mouseover":case"mouseout":oi=null;break;case"pointerover":case"pointerout":Bc.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Ic.delete(t.pointerId)}}function rc(e,t,n,r,o,a){return e===null||e.nativeEvent!==a?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:a,targetContainers:[o]},t!==null&&(t=ps(t),t!==null&&Tw(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,o!==null&&t.indexOf(o)===-1&&t.push(o),e)}function S_(e,t,n,r,o){switch(t){case"focusin":return ni=rc(ni,e,t,n,r,o),!0;case"dragenter":return ri=rc(ri,e,t,n,r,o),!0;case"mouseover":return oi=rc(oi,e,t,n,r,o),!0;case"pointerover":var a=o.pointerId;return Bc.set(a,rc(Bc.get(a)||null,e,t,n,r,o)),!0;case"gotpointercapture":return a=o.pointerId,Ic.set(a,rc(Ic.get(a)||null,e,t,n,r,o)),!0}return!1}function Ow(e){var t=Ul(e.target);if(t!==null){var n=zc(t);if(n!==null){if(t=n.tag,t===13){if(t=Wx(n),t!==null){e.blockedOn=t,Rv(e.priority,function(){Vx(n)});return}}else if(t===31){if(t=Yx(n),t!==null){e.blockedOn=t,Rv(e.priority,function(){Vx(n)});return}}else if(t===3&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function wd(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=qg(e.nativeEvent);if(n===null){n=e.nativeEvent;var r=new n.constructor(n.type,n);fg=r,n.target.dispatchEvent(r),fg=null}else return t=ps(n),t!==null&&Tw(t),e.blockedOn=n,!1;t.shift()}return!0}function Hx(e,t,n){wd(e)&&n.delete(t)}function w_(){Wg=!1,ni!==null&&wd(ni)&&(ni=null),ri!==null&&wd(ri)&&(ri=null),oi!==null&&wd(oi)&&(oi=null),Bc.forEach(Hx),Ic.forEach(Hx)}function id(e,t){e.blockedOn===t&&(e.blockedOn=null,Wg||(Wg=!0,Mn.unstable_scheduleCallback(Mn.unstable_NormalPriority,w_)))}var ld=null;function $x(e){ld!==e&&(ld=e,Mn.unstable_scheduleCallback(Mn.unstable_NormalPriority,function(){ld===e&&(ld=null);for(var t=0;t<e.length;t+=3){var n=e[t],r=e[t+1],o=e[t+2];if(typeof r!="function"){if(Hh(r||n)===null)continue;break}var a=ps(n);a!==null&&(e.splice(t,3),t-=3,Tg(a,{pending:!0,data:o,method:n.method,action:r},r,o))}}))}function fs(e){function t(s){return id(s,e)}ni!==null&&id(ni,e),ri!==null&&id(ri,e),oi!==null&&id(oi,e),Bc.forEach(t),Ic.forEach(t);for(var n=0;n<$a.length;n++){var r=$a[n];r.blockedOn===e&&(r.blockedOn=null)}for(;0<$a.length&&(n=$a[0],n.blockedOn===null);)Ow(n),n.blockedOn===null&&$a.shift();if(n=(e.ownerDocument||e).$$reactFormReplay,n!=null)for(r=0;r<n.length;r+=3){var o=n[r],a=n[r+1],i=o[fr]||null;if(typeof a=="function")i||$x(n);else if(i){var l=null;if(a&&a.hasAttribute("formAction")){if(o=a,i=a[fr]||null)l=i.formAction;else if(Hh(o)!==null)continue}else l=i.action;typeof l=="function"?n[r+1]=l:(n.splice(r,3),r-=3),$x(n)}}}function kw(){function e(a){a.canIntercept&&a.info==="react-transition"&&a.intercept({handler:function(){return new Promise(function(i){return o=i})},focusReset:"manual",scroll:"manual"})}function t(){o!==null&&(o(),o=null),r||setTimeout(n,20)}function n(){if(!r&&!navigation.transition){var a=navigation.currentEntry;a&&a.url!=null&&navigation.navigate(a.url,{state:a.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var r=!1,o=null;return navigation.addEventListener("navigate",e),navigation.addEventListener("navigatesuccess",t),navigation.addEventListener("navigateerror",t),setTimeout(n,100),function(){r=!0,navigation.removeEventListener("navigate",e),navigation.removeEventListener("navigatesuccess",t),navigation.removeEventListener("navigateerror",t),o!==null&&(o(),o=null)}}}function $h(e){this._internalRoot=e}pf.prototype.render=$h.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(K(409));var n=t.current,r=Or();Ew(n,r,e,t,null,null)};pf.prototype.unmount=$h.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;Ew(e.current,2,null,e,null,null),df(),t[ms]=null}};function pf(e){this._internalRoot=e}pf.prototype.unstable_scheduleHydration=function(e){if(e){var t=i0();e={blockedOn:null,target:e,priority:t};for(var n=0;n<$a.length&&t!==0&&t<$a[n].priority;n++);$a.splice(n,0,e),n===0&&Ow(e)}};var Kx=Gx.version;if(Kx!=="19.2.4")throw Error(K(527,Kx,"19.2.4"));At.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(K(188)):(e=Object.keys(e).join(","),Error(K(268,e)));return e=eO(t),e=e!==null?Qx(e):null,e=e===null?null:e.stateNode,e};var A_={bundleType:0,version:"19.2.4",rendererPackageName:"react-dom",currentDispatcherRef:je,reconcilerVersion:"19.2.4"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&(oc=__REACT_DEVTOOLS_GLOBAL_HOOK__,!oc.isDisabled&&oc.supportsFiber))try{Pc=oc.inject(A_),Tr=oc}catch{}var oc;gf.createRoot=function(e,t){if(!qx(e))throw Error(K(299));var n=!1,r="",o=wS,a=AS,i=CS;return t!=null&&(t.unstable_strictMode===!0&&(n=!0),t.identifierPrefix!==void 0&&(r=t.identifierPrefix),t.onUncaughtError!==void 0&&(o=t.onUncaughtError),t.onCaughtError!==void 0&&(a=t.onCaughtError),t.onRecoverableError!==void 0&&(i=t.onRecoverableError)),t=Rw(e,1,!1,null,null,n,r,null,o,a,i,kw),e[ms]=t.current,Ph(e),new $h(t)};gf.hydrateRoot=function(e,t,n){if(!qx(e))throw Error(K(299));var r=!1,o="",a=wS,i=AS,l=CS,s=null;return n!=null&&(n.unstable_strictMode===!0&&(r=!0),n.identifierPrefix!==void 0&&(o=n.identifierPrefix),n.onUncaughtError!==void 0&&(a=n.onUncaughtError),n.onCaughtError!==void 0&&(i=n.onCaughtError),n.onRecoverableError!==void 0&&(l=n.onRecoverableError),n.formState!==void 0&&(s=n.formState)),t=Rw(e,1,!0,t,n??null,r,o,s,a,i,l,kw),t.context=Nw(null),n=t.current,r=Or(),r=Jg(r),o=Ja(r),o.callback=null,Za(n,o,r),n=r,t.current.lanes=n,jc(t,n),Do(t),e[ms]=t.current,Ph(e),new pf(t)};gf.version="19.2.4"});var Bw=Eo((JB,Dw)=>{"use strict";function Lw(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Lw)}catch(e){console.error(e)}}Lw(),Dw.exports=_w()});var iA=Eo(xf=>{"use strict";var f2=Symbol.for("react.transitional.element"),m2=Symbol.for("react.fragment");function aA(e,t,n){var r=null;if(n!==void 0&&(r=""+n),t.key!==void 0&&(r=""+t.key),"key"in t){n={};for(var o in t)o!=="key"&&(n[o]=t[o])}else n=t;return t=n.ref,{$$typeof:f2,type:e,key:r,ref:t!==void 0?t:null,props:n}}xf.Fragment=m2;xf.jsx=aA;xf.jsxs=aA});var te=Eo((lI,lA)=>{"use strict";lA.exports=iA()});var dT=B(Bw(),1);var ye=B(xe(),1);function Iw(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(n=Iw(e[t]))&&(r&&(r+=" "),r+=n)}else for(n in e)e[n]&&(r&&(r+=" "),r+=n);return r}function hf(){for(var e,t,n=0,r="",o=arguments.length;n<o;n++)(e=arguments[n])&&(t=Iw(e))&&(r&&(r+=" "),r+=t);return r}var zw=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,Pw=hf,yf=(e,t)=>n=>{var r;if(t?.variants==null)return Pw(e,n?.class,n?.className);let{variants:o,defaultVariants:a}=t,i=Object.keys(o).map(c=>{let d=n?.[c],u=a?.[c];if(d===null)return null;let f=zw(d)||zw(u);return o[c][f]}),l=n&&Object.entries(n).reduce((c,d)=>{let[u,f]=d;return f===void 0||(c[u]=f),c},{}),s=t==null||(r=t.compoundVariants)===null||r===void 0?void 0:r.reduce((c,d)=>{let{class:u,className:f,...p}=d;return Object.entries(p).every(b=>{let[m,v]=b;return Array.isArray(v)?v.includes({...a,...l}[m]):{...a,...l}[m]===v})?[...c,u,f]:c},[]);return Pw(e,i,s,n?.class,n?.className)};var C_=(e,t)=>{let n=new Array(e.length+t.length);for(let r=0;r<e.length;r++)n[r]=e[r];for(let r=0;r<t.length;r++)n[e.length+r]=t[r];return n},R_=(e,t)=>({classGroupId:e,validator:t}),$w=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n});var Uw=[],N_="arbitrary..",E_=e=>{let t=M_(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:i=>{if(i.startsWith("[")&&i.endsWith("]"))return T_(i);let l=i.split("-"),s=l[0]===""&&l.length>1?1:0;return Kw(l,s,t)},getConflictingClassGroupIds:(i,l)=>{if(l){let s=r[i],c=n[i];return s?c?C_(c,s):s:c||Uw}return n[i]||Uw}}},Kw=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;let o=e[t],a=n.nextPart.get(o);if(a){let c=Kw(e,t+1,a);if(c)return c}let i=n.validators;if(i===null)return;let l=t===0?e.join("-"):e.slice(t).join("-"),s=i.length;for(let c=0;c<s;c++){let d=i[c];if(d.validator(l))return d.classGroupId}},T_=e=>e.slice(1,-1).indexOf(":")===-1?void 0:(()=>{let t=e.slice(1,-1),n=t.indexOf(":"),r=t.slice(0,n);return r?N_+r:void 0})(),M_=e=>{let{theme:t,classGroups:n}=e;return O_(n,t)},O_=(e,t)=>{let n=$w();for(let r in e){let o=e[r];Gh(o,n,r,t)}return n},Gh=(e,t,n,r)=>{let o=e.length;for(let a=0;a<o;a++){let i=e[a];k_(i,t,n,r)}},k_=(e,t,n,r)=>{if(typeof e=="string"){__(e,t,n);return}if(typeof e=="function"){L_(e,t,n,r);return}D_(e,t,n,r)},__=(e,t,n)=>{let r=e===""?t:Gw(t,e);r.classGroupId=n},L_=(e,t,n,r)=>{if(B_(e)){Gh(e(r),t,n,r);return}t.validators===null&&(t.validators=[]),t.validators.push(R_(n,e))},D_=(e,t,n,r)=>{let o=Object.entries(e),a=o.length;for(let i=0;i<a;i++){let[l,s]=o[i];Gh(s,Gw(t,l),n,r)}},Gw=(e,t)=>{let n=e,r=t.split("-"),o=r.length;for(let a=0;a<o;a++){let i=r[a],l=n.nextPart.get(i);l||(l=$w(),n.nextPart.set(i,l)),n=l}return n},B_=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,I_=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,n=Object.create(null),r=Object.create(null),o=(a,i)=>{n[a]=i,t++,t>e&&(t=0,r=n,n=Object.create(null))};return{get(a){let i=n[a];if(i!==void 0)return i;if((i=r[a])!==void 0)return o(a,i),i},set(a,i){a in n?n[a]=i:o(a,i)}}};var z_=[],jw=(e,t,n,r,o)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:o}),P_=e=>{let{prefix:t,experimentalParseClassName:n}=e,r=o=>{let a=[],i=0,l=0,s=0,c,d=o.length;for(let m=0;m<d;m++){let v=o[m];if(i===0&&l===0){if(v===":"){a.push(o.slice(s,m)),s=m+1;continue}if(v==="/"){c=m;continue}}v==="["?i++:v==="]"?i--:v==="("?l++:v===")"&&l--}let u=a.length===0?o:o.slice(s),f=u,p=!1;u.endsWith("!")?(f=u.slice(0,-1),p=!0):u.startsWith("!")&&(f=u.slice(1),p=!0);let b=c&&c>s?c-s:void 0;return jw(a,p,f,b)};if(t){let o=t+":",a=r;r=i=>i.startsWith(o)?a(i.slice(o.length)):jw(z_,!1,i,void 0,!0)}if(n){let o=r;r=a=>n({className:a,parseClassName:o})}return r},U_=e=>{let t=new Map;return e.orderSensitiveModifiers.forEach((n,r)=>{t.set(n,1e6+r)}),n=>{let r=[],o=[];for(let a=0;a<n.length;a++){let i=n[a],l=i[0]==="[",s=t.has(i);l||s?(o.length>0&&(o.sort(),r.push(...o),o=[]),r.push(i)):o.push(i)}return o.length>0&&(o.sort(),r.push(...o)),r}},j_=e=>({cache:I_(e.cacheSize),parseClassName:P_(e),sortModifiers:U_(e),...E_(e)}),V_=/\s+/,F_=(e,t)=>{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:o,sortModifiers:a}=t,i=[],l=e.trim().split(V_),s="";for(let c=l.length-1;c>=0;c-=1){let d=l[c],{isExternal:u,modifiers:f,hasImportantModifier:p,baseClassName:b,maybePostfixModifierPosition:m}=n(d);if(u){s=d+(s.length>0?" "+s:s);continue}let v=!!m,h=r(v?b.substring(0,m):b);if(!h){if(!v){s=d+(s.length>0?" "+s:s);continue}if(h=r(b),!h){s=d+(s.length>0?" "+s:s);continue}v=!1}let g=f.length===0?"":f.length===1?f[0]:a(f).join(":"),y=p?g+"!":g,x=y+h;if(i.indexOf(x)>-1)continue;i.push(x);let A=o(h,v);for(let N=0;N<A.length;++N){let E=A[N];i.push(y+E)}s=d+(s.length>0?" "+s:s)}return s},H_=(...e)=>{let t=0,n,r,o="";for(;t<e.length;)(n=e[t++])&&(r=qw(n))&&(o&&(o+=" "),o+=r);return o},qw=e=>{if(typeof e=="string")return e;let t,n="";for(let r=0;r<e.length;r++)e[r]&&(t=qw(e[r]))&&(n&&(n+=" "),n+=t);return n},$_=(e,...t)=>{let n,r,o,a,i=s=>{let c=t.reduce((d,u)=>u(d),e());return n=j_(c),r=n.cache.get,o=n.cache.set,a=l,l(s)},l=s=>{let c=r(s);if(c)return c;let d=F_(s,n);return o(s,d),d};return a=i,(...s)=>a(H_(...s))},K_=[],On=e=>{let t=n=>n[e]||K_;return t.isThemeGetter=!0,t},Ww=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Yw=/^\((?:(\w[\w-]*):)?(.+)\)$/i,G_=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,q_=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,W_=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,Y_=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Q_=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,X_=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,di=e=>G_.test(e),ot=e=>!!e&&!Number.isNaN(Number(e)),fi=e=>!!e&&Number.isInteger(Number(e)),Kh=e=>e.endsWith("%")&&ot(e.slice(0,-1)),Sa=e=>q_.test(e),Qw=()=>!0,J_=e=>W_.test(e)&&!Y_.test(e),qh=()=>!1,Z_=e=>Q_.test(e),e2=e=>X_.test(e),t2=e=>!Ae(e)&&!Ce(e),n2=e=>mi(e,Zw,qh),Ae=e=>Ww.test(e),nl=e=>mi(e,eA,J_),Vw=e=>mi(e,u2,ot),r2=e=>mi(e,nA,Qw),o2=e=>mi(e,tA,qh),Fw=e=>mi(e,Xw,qh),a2=e=>mi(e,Jw,e2),bf=e=>mi(e,rA,Z_),Ce=e=>Yw.test(e),Yc=e=>rl(e,eA),i2=e=>rl(e,tA),Hw=e=>rl(e,Xw),l2=e=>rl(e,Zw),s2=e=>rl(e,Jw),vf=e=>rl(e,rA,!0),c2=e=>rl(e,nA,!0),mi=(e,t,n)=>{let r=Ww.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},rl=(e,t,n=!1)=>{let r=Yw.exec(e);return r?r[1]?t(r[1]):n:!1},Xw=e=>e==="position"||e==="percentage",Jw=e=>e==="image"||e==="url",Zw=e=>e==="length"||e==="size"||e==="bg-size",eA=e=>e==="length",u2=e=>e==="number",tA=e=>e==="family-name",nA=e=>e==="number"||e==="weight",rA=e=>e==="shadow";var d2=()=>{let e=On("color"),t=On("font"),n=On("text"),r=On("font-weight"),o=On("tracking"),a=On("leading"),i=On("breakpoint"),l=On("container"),s=On("spacing"),c=On("radius"),d=On("shadow"),u=On("inset-shadow"),f=On("text-shadow"),p=On("drop-shadow"),b=On("blur"),m=On("perspective"),v=On("aspect"),h=On("ease"),g=On("animate"),y=()=>["auto","avoid","all","avoid-page","page","left","right","column"],x=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],A=()=>[...x(),Ce,Ae],N=()=>["auto","hidden","clip","visible","scroll"],E=()=>["auto","contain","none"],C=()=>[Ce,Ae,s],O=()=>[di,"full","auto",...C()],L=()=>[fi,"none","subgrid",Ce,Ae],V=()=>["auto",{span:["full",fi,Ce,Ae]},fi,Ce,Ae],z=()=>[fi,"auto",Ce,Ae],G=()=>["auto","min","max","fr",Ce,Ae],Z=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],ue=()=>["start","end","center","stretch","center-safe","end-safe"],q=()=>["auto",...C()],oe=()=>[di,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...C()],ee=()=>[di,"screen","full","dvw","lvw","svw","min","max","fit",...C()],W=()=>[di,"screen","full","lh","dvh","lvh","svh","min","max","fit",...C()],j=()=>[e,Ce,Ae],Ie=()=>[...x(),Hw,Fw,{position:[Ce,Ae]}],ne=()=>["no-repeat",{repeat:["","x","y","space","round"]}],Ve=()=>["auto","cover","contain",l2,n2,{size:[Ce,Ae]}],ae=()=>[Kh,Yc,nl],Se=()=>["","none","full",c,Ce,Ae],ze=()=>["",ot,Yc,nl],U=()=>["solid","dashed","dotted","double"],fe=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],ve=()=>[ot,Kh,Hw,Fw],ke=()=>["","none",b,Ce,Ae],we=()=>["none",ot,Ce,Ae],Ee=()=>["none",ot,Ce,Ae],qe=()=>[ot,Ce,Ae],We=()=>[di,"full",...C()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[Sa],breakpoint:[Sa],color:[Qw],container:[Sa],"drop-shadow":[Sa],ease:["in","out","in-out"],font:[t2],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[Sa],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[Sa],shadow:[Sa],spacing:["px",ot],text:[Sa],"text-shadow":[Sa],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",di,Ae,Ce,v]}],container:["container"],columns:[{columns:[ot,Ae,Ce,l]}],"break-after":[{"break-after":y()}],"break-before":[{"break-before":y()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:A()}],overflow:[{overflow:N()}],"overflow-x":[{"overflow-x":N()}],"overflow-y":[{"overflow-y":N()}],overscroll:[{overscroll:E()}],"overscroll-x":[{"overscroll-x":E()}],"overscroll-y":[{"overscroll-y":E()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:O()}],"inset-x":[{"inset-x":O()}],"inset-y":[{"inset-y":O()}],start:[{"inset-s":O(),start:O()}],end:[{"inset-e":O(),end:O()}],"inset-bs":[{"inset-bs":O()}],"inset-be":[{"inset-be":O()}],top:[{top:O()}],right:[{right:O()}],bottom:[{bottom:O()}],left:[{left:O()}],visibility:["visible","invisible","collapse"],z:[{z:[fi,"auto",Ce,Ae]}],basis:[{basis:[di,"full","auto",l,...C()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[ot,di,"auto","initial","none",Ae]}],grow:[{grow:["",ot,Ce,Ae]}],shrink:[{shrink:["",ot,Ce,Ae]}],order:[{order:[fi,"first","last","none",Ce,Ae]}],"grid-cols":[{"grid-cols":L()}],"col-start-end":[{col:V()}],"col-start":[{"col-start":z()}],"col-end":[{"col-end":z()}],"grid-rows":[{"grid-rows":L()}],"row-start-end":[{row:V()}],"row-start":[{"row-start":z()}],"row-end":[{"row-end":z()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":G()}],"auto-rows":[{"auto-rows":G()}],gap:[{gap:C()}],"gap-x":[{"gap-x":C()}],"gap-y":[{"gap-y":C()}],"justify-content":[{justify:[...Z(),"normal"]}],"justify-items":[{"justify-items":[...ue(),"normal"]}],"justify-self":[{"justify-self":["auto",...ue()]}],"align-content":[{content:["normal",...Z()]}],"align-items":[{items:[...ue(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...ue(),{baseline:["","last"]}]}],"place-content":[{"place-content":Z()}],"place-items":[{"place-items":[...ue(),"baseline"]}],"place-self":[{"place-self":["auto",...ue()]}],p:[{p:C()}],px:[{px:C()}],py:[{py:C()}],ps:[{ps:C()}],pe:[{pe:C()}],pbs:[{pbs:C()}],pbe:[{pbe:C()}],pt:[{pt:C()}],pr:[{pr:C()}],pb:[{pb:C()}],pl:[{pl:C()}],m:[{m:q()}],mx:[{mx:q()}],my:[{my:q()}],ms:[{ms:q()}],me:[{me:q()}],mbs:[{mbs:q()}],mbe:[{mbe:q()}],mt:[{mt:q()}],mr:[{mr:q()}],mb:[{mb:q()}],ml:[{ml:q()}],"space-x":[{"space-x":C()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":C()}],"space-y-reverse":["space-y-reverse"],size:[{size:oe()}],"inline-size":[{inline:["auto",...ee()]}],"min-inline-size":[{"min-inline":["auto",...ee()]}],"max-inline-size":[{"max-inline":["none",...ee()]}],"block-size":[{block:["auto",...W()]}],"min-block-size":[{"min-block":["auto",...W()]}],"max-block-size":[{"max-block":["none",...W()]}],w:[{w:[l,"screen",...oe()]}],"min-w":[{"min-w":[l,"screen","none",...oe()]}],"max-w":[{"max-w":[l,"screen","none","prose",{screen:[i]},...oe()]}],h:[{h:["screen","lh",...oe()]}],"min-h":[{"min-h":["screen","lh","none",...oe()]}],"max-h":[{"max-h":["screen","lh",...oe()]}],"font-size":[{text:["base",n,Yc,nl]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[r,c2,r2]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Kh,Ae]}],"font-family":[{font:[i2,o2,t]}],"font-features":[{"font-features":[Ae]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[o,Ce,Ae]}],"line-clamp":[{"line-clamp":[ot,"none",Ce,Vw]}],leading:[{leading:[a,...C()]}],"list-image":[{"list-image":["none",Ce,Ae]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",Ce,Ae]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:j()}],"text-color":[{text:j()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...U(),"wavy"]}],"text-decoration-thickness":[{decoration:[ot,"from-font","auto",Ce,nl]}],"text-decoration-color":[{decoration:j()}],"underline-offset":[{"underline-offset":[ot,"auto",Ce,Ae]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:C()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",Ce,Ae]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",Ce,Ae]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:Ie()}],"bg-repeat":[{bg:ne()}],"bg-size":[{bg:Ve()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},fi,Ce,Ae],radial:["",Ce,Ae],conic:[fi,Ce,Ae]},s2,a2]}],"bg-color":[{bg:j()}],"gradient-from-pos":[{from:ae()}],"gradient-via-pos":[{via:ae()}],"gradient-to-pos":[{to:ae()}],"gradient-from":[{from:j()}],"gradient-via":[{via:j()}],"gradient-to":[{to:j()}],rounded:[{rounded:Se()}],"rounded-s":[{"rounded-s":Se()}],"rounded-e":[{"rounded-e":Se()}],"rounded-t":[{"rounded-t":Se()}],"rounded-r":[{"rounded-r":Se()}],"rounded-b":[{"rounded-b":Se()}],"rounded-l":[{"rounded-l":Se()}],"rounded-ss":[{"rounded-ss":Se()}],"rounded-se":[{"rounded-se":Se()}],"rounded-ee":[{"rounded-ee":Se()}],"rounded-es":[{"rounded-es":Se()}],"rounded-tl":[{"rounded-tl":Se()}],"rounded-tr":[{"rounded-tr":Se()}],"rounded-br":[{"rounded-br":Se()}],"rounded-bl":[{"rounded-bl":Se()}],"border-w":[{border:ze()}],"border-w-x":[{"border-x":ze()}],"border-w-y":[{"border-y":ze()}],"border-w-s":[{"border-s":ze()}],"border-w-e":[{"border-e":ze()}],"border-w-bs":[{"border-bs":ze()}],"border-w-be":[{"border-be":ze()}],"border-w-t":[{"border-t":ze()}],"border-w-r":[{"border-r":ze()}],"border-w-b":[{"border-b":ze()}],"border-w-l":[{"border-l":ze()}],"divide-x":[{"divide-x":ze()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":ze()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...U(),"hidden","none"]}],"divide-style":[{divide:[...U(),"hidden","none"]}],"border-color":[{border:j()}],"border-color-x":[{"border-x":j()}],"border-color-y":[{"border-y":j()}],"border-color-s":[{"border-s":j()}],"border-color-e":[{"border-e":j()}],"border-color-bs":[{"border-bs":j()}],"border-color-be":[{"border-be":j()}],"border-color-t":[{"border-t":j()}],"border-color-r":[{"border-r":j()}],"border-color-b":[{"border-b":j()}],"border-color-l":[{"border-l":j()}],"divide-color":[{divide:j()}],"outline-style":[{outline:[...U(),"none","hidden"]}],"outline-offset":[{"outline-offset":[ot,Ce,Ae]}],"outline-w":[{outline:["",ot,Yc,nl]}],"outline-color":[{outline:j()}],shadow:[{shadow:["","none",d,vf,bf]}],"shadow-color":[{shadow:j()}],"inset-shadow":[{"inset-shadow":["none",u,vf,bf]}],"inset-shadow-color":[{"inset-shadow":j()}],"ring-w":[{ring:ze()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:j()}],"ring-offset-w":[{"ring-offset":[ot,nl]}],"ring-offset-color":[{"ring-offset":j()}],"inset-ring-w":[{"inset-ring":ze()}],"inset-ring-color":[{"inset-ring":j()}],"text-shadow":[{"text-shadow":["none",f,vf,bf]}],"text-shadow-color":[{"text-shadow":j()}],opacity:[{opacity:[ot,Ce,Ae]}],"mix-blend":[{"mix-blend":[...fe(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":fe()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[ot]}],"mask-image-linear-from-pos":[{"mask-linear-from":ve()}],"mask-image-linear-to-pos":[{"mask-linear-to":ve()}],"mask-image-linear-from-color":[{"mask-linear-from":j()}],"mask-image-linear-to-color":[{"mask-linear-to":j()}],"mask-image-t-from-pos":[{"mask-t-from":ve()}],"mask-image-t-to-pos":[{"mask-t-to":ve()}],"mask-image-t-from-color":[{"mask-t-from":j()}],"mask-image-t-to-color":[{"mask-t-to":j()}],"mask-image-r-from-pos":[{"mask-r-from":ve()}],"mask-image-r-to-pos":[{"mask-r-to":ve()}],"mask-image-r-from-color":[{"mask-r-from":j()}],"mask-image-r-to-color":[{"mask-r-to":j()}],"mask-image-b-from-pos":[{"mask-b-from":ve()}],"mask-image-b-to-pos":[{"mask-b-to":ve()}],"mask-image-b-from-color":[{"mask-b-from":j()}],"mask-image-b-to-color":[{"mask-b-to":j()}],"mask-image-l-from-pos":[{"mask-l-from":ve()}],"mask-image-l-to-pos":[{"mask-l-to":ve()}],"mask-image-l-from-color":[{"mask-l-from":j()}],"mask-image-l-to-color":[{"mask-l-to":j()}],"mask-image-x-from-pos":[{"mask-x-from":ve()}],"mask-image-x-to-pos":[{"mask-x-to":ve()}],"mask-image-x-from-color":[{"mask-x-from":j()}],"mask-image-x-to-color":[{"mask-x-to":j()}],"mask-image-y-from-pos":[{"mask-y-from":ve()}],"mask-image-y-to-pos":[{"mask-y-to":ve()}],"mask-image-y-from-color":[{"mask-y-from":j()}],"mask-image-y-to-color":[{"mask-y-to":j()}],"mask-image-radial":[{"mask-radial":[Ce,Ae]}],"mask-image-radial-from-pos":[{"mask-radial-from":ve()}],"mask-image-radial-to-pos":[{"mask-radial-to":ve()}],"mask-image-radial-from-color":[{"mask-radial-from":j()}],"mask-image-radial-to-color":[{"mask-radial-to":j()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":x()}],"mask-image-conic-pos":[{"mask-conic":[ot]}],"mask-image-conic-from-pos":[{"mask-conic-from":ve()}],"mask-image-conic-to-pos":[{"mask-conic-to":ve()}],"mask-image-conic-from-color":[{"mask-conic-from":j()}],"mask-image-conic-to-color":[{"mask-conic-to":j()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:Ie()}],"mask-repeat":[{mask:ne()}],"mask-size":[{mask:Ve()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",Ce,Ae]}],filter:[{filter:["","none",Ce,Ae]}],blur:[{blur:ke()}],brightness:[{brightness:[ot,Ce,Ae]}],contrast:[{contrast:[ot,Ce,Ae]}],"drop-shadow":[{"drop-shadow":["","none",p,vf,bf]}],"drop-shadow-color":[{"drop-shadow":j()}],grayscale:[{grayscale:["",ot,Ce,Ae]}],"hue-rotate":[{"hue-rotate":[ot,Ce,Ae]}],invert:[{invert:["",ot,Ce,Ae]}],saturate:[{saturate:[ot,Ce,Ae]}],sepia:[{sepia:["",ot,Ce,Ae]}],"backdrop-filter":[{"backdrop-filter":["","none",Ce,Ae]}],"backdrop-blur":[{"backdrop-blur":ke()}],"backdrop-brightness":[{"backdrop-brightness":[ot,Ce,Ae]}],"backdrop-contrast":[{"backdrop-contrast":[ot,Ce,Ae]}],"backdrop-grayscale":[{"backdrop-grayscale":["",ot,Ce,Ae]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[ot,Ce,Ae]}],"backdrop-invert":[{"backdrop-invert":["",ot,Ce,Ae]}],"backdrop-opacity":[{"backdrop-opacity":[ot,Ce,Ae]}],"backdrop-saturate":[{"backdrop-saturate":[ot,Ce,Ae]}],"backdrop-sepia":[{"backdrop-sepia":["",ot,Ce,Ae]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":C()}],"border-spacing-x":[{"border-spacing-x":C()}],"border-spacing-y":[{"border-spacing-y":C()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",Ce,Ae]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[ot,"initial",Ce,Ae]}],ease:[{ease:["linear","initial",h,Ce,Ae]}],delay:[{delay:[ot,Ce,Ae]}],animate:[{animate:["none",g,Ce,Ae]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[m,Ce,Ae]}],"perspective-origin":[{"perspective-origin":A()}],rotate:[{rotate:we()}],"rotate-x":[{"rotate-x":we()}],"rotate-y":[{"rotate-y":we()}],"rotate-z":[{"rotate-z":we()}],scale:[{scale:Ee()}],"scale-x":[{"scale-x":Ee()}],"scale-y":[{"scale-y":Ee()}],"scale-z":[{"scale-z":Ee()}],"scale-3d":["scale-3d"],skew:[{skew:qe()}],"skew-x":[{"skew-x":qe()}],"skew-y":[{"skew-y":qe()}],transform:[{transform:[Ce,Ae,"","none","gpu","cpu"]}],"transform-origin":[{origin:A()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:We()}],"translate-x":[{"translate-x":We()}],"translate-y":[{"translate-y":We()}],"translate-z":[{"translate-z":We()}],"translate-none":["translate-none"],accent:[{accent:j()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:j()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",Ce,Ae]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":C()}],"scroll-mx":[{"scroll-mx":C()}],"scroll-my":[{"scroll-my":C()}],"scroll-ms":[{"scroll-ms":C()}],"scroll-me":[{"scroll-me":C()}],"scroll-mbs":[{"scroll-mbs":C()}],"scroll-mbe":[{"scroll-mbe":C()}],"scroll-mt":[{"scroll-mt":C()}],"scroll-mr":[{"scroll-mr":C()}],"scroll-mb":[{"scroll-mb":C()}],"scroll-ml":[{"scroll-ml":C()}],"scroll-p":[{"scroll-p":C()}],"scroll-px":[{"scroll-px":C()}],"scroll-py":[{"scroll-py":C()}],"scroll-ps":[{"scroll-ps":C()}],"scroll-pe":[{"scroll-pe":C()}],"scroll-pbs":[{"scroll-pbs":C()}],"scroll-pbe":[{"scroll-pbe":C()}],"scroll-pt":[{"scroll-pt":C()}],"scroll-pr":[{"scroll-pr":C()}],"scroll-pb":[{"scroll-pb":C()}],"scroll-pl":[{"scroll-pl":C()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",Ce,Ae]}],fill:[{fill:["none",...j()]}],"stroke-w":[{stroke:[ot,Yc,nl,Vw]}],stroke:[{stroke:["none",...j()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}};var oA=$_(d2);function Q(...e){return oA(hf(e))}var sA=B(te(),1),p2=yf("inline-flex items-center rounded-full border px-2.5 py-1 text-[11px] font-medium tracking-wide",{variants:{variant:{default:"border-border bg-secondary text-secondary-foreground",success:"border-emerald-200 bg-emerald-50 text-emerald-700",warning:"border-amber-200 bg-amber-50 text-amber-700",danger:"border-rose-200 bg-rose-50 text-rose-700",info:"border-sky-200 bg-sky-50 text-sky-700",outline:"border-border bg-background/70 text-muted-foreground"}},defaultVariants:{variant:"default"}});function _e({className:e,variant:t,...n}){return(0,sA.jsx)("span",{className:Q(p2({variant:t}),e),...n})}var cA=B(te(),1),g2=yf("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-lg text-sm font-medium uppercase tracking-[0.16em] transition-colors disabled:pointer-events-none disabled:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/60 focus-visible:ring-offset-2 focus-visible:ring-offset-background",{variants:{variant:{default:"bg-primary text-primary-foreground shadow-sm hover:bg-primary/92",outline:"border border-border bg-background/80 text-foreground hover:bg-accent hover:text-accent-foreground",ghost:"text-muted-foreground hover:bg-accent hover:text-accent-foreground",danger:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/92"},size:{default:"h-9 px-3.5",sm:"h-8 px-3 text-xs",lg:"h-10 px-4"}},defaultVariants:{variant:"default",size:"default"}});function H({className:e,variant:t,size:n,type:r="button",...o}){return(0,cA.jsx)("button",{className:Q(g2({variant:t,size:n}),e),type:r,...o})}var xs=B(te(),1);function Lt({className:e,...t}){return(0,xs.jsx)("section",{className:Q("rounded-2xl border border-border/70 bg-card/92 shadow-sm backdrop-blur",e),...t})}function Jr({className:e,...t}){return(0,xs.jsx)("div",{className:Q("flex flex-col gap-1.5 p-5 pb-0",e),...t})}function Bo({className:e,...t}){return(0,xs.jsx)("h2",{className:Q("text-sm font-semibold tracking-tight text-foreground",e),...t})}function pi({className:e,...t}){return(0,xs.jsx)("p",{className:Q("text-sm text-muted-foreground",e),...t})}function Dt({className:e,...t}){return(0,xs.jsx)("div",{className:Q("p-5",e),...t})}var ho=B(xe(),1);var hI=!!(typeof window<"u"&&window.document&&window.document.createElement);function vt(e,t,{checkForDefaultPrevented:n=!0}={}){return function(o){if(e?.(o),n===!1||!o.defaultPrevented)return t?.(o)}}var dA=B(xe(),1);function uA(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function Wh(...e){return t=>{let n=!1,r=e.map(o=>{let a=uA(o,t);return!n&&typeof a=="function"&&(n=!0),a});if(n)return()=>{for(let o=0;o<r.length;o++){let a=r[o];typeof a=="function"?a():uA(e[o],null)}}}}function Tt(...e){return dA.useCallback(Wh(...e),e)}var wa=B(xe(),1),fA=B(te(),1);function Zr(e,t=[]){let n=[];function r(a,i){let l=wa.createContext(i),s=n.length;n=[...n,i];let c=u=>{let{scope:f,children:p,...b}=u,m=f?.[e]?.[s]||l,v=wa.useMemo(()=>b,Object.values(b));return(0,fA.jsx)(m.Provider,{value:v,children:p})};c.displayName=a+"Provider";function d(u,f){let p=f?.[e]?.[s]||l,b=wa.useContext(p);if(b)return b;if(i!==void 0)return i;throw new Error(`\`${u}\` must be used within \`${a}\``)}return[c,d]}let o=()=>{let a=n.map(i=>wa.createContext(i));return function(l){let s=l?.[e]||a;return wa.useMemo(()=>({[`__scope${e}`]:{...l,[e]:s}}),[l,s])}};return o.scopeName=e,[r,h2(o,...t)]}function h2(...e){let t=e[0];if(e.length===1)return t;let n=()=>{let r=e.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(a){let i=r.reduce((l,{useScope:s,scopeName:c})=>{let u=s(a)[`__scope${c}`];return{...l,...u}},{});return wa.useMemo(()=>({[`__scope${t.scopeName}`]:i}),[i])}};return n.scopeName=t.scopeName,n}var eo=B(xe(),1);var mA=B(xe(),1),on=globalThis?.document?mA.useLayoutEffect:()=>{};var Sf=B(xe(),1);var y2=eo[" useInsertionEffect ".trim().toString()]||on;function Aa({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){let[o,a,i]=b2({defaultProp:t,onChange:n}),l=e!==void 0,s=l?e:o;{let d=eo.useRef(e!==void 0);eo.useEffect(()=>{let u=d.current;u!==l&&console.warn(`${r} is changing from ${u?"controlled":"uncontrolled"} to ${l?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),d.current=l},[l,r])}let c=eo.useCallback(d=>{if(l){let u=v2(d)?d(e):d;u!==e&&i.current?.(u)}else a(d)},[l,e,a,i]);return[s,c]}function b2({defaultProp:e,onChange:t}){let[n,r]=eo.useState(e),o=eo.useRef(n),a=eo.useRef(t);return y2(()=>{a.current=t},[t]),eo.useEffect(()=>{o.current!==n&&(a.current?.(n),o.current=n)},[n,o]),[n,r,a]}function v2(e){return typeof e=="function"}var wf=B(xe(),1);function Af(e){let t=wf.useRef({value:e,previous:e});return wf.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}var pA=B(xe(),1);function Cf(e){let[t,n]=pA.useState(void 0);return on(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});let r=new ResizeObserver(o=>{if(!Array.isArray(o)||!o.length)return;let a=o[0],i,l;if("borderBoxSize"in a){let s=a.borderBoxSize,c=Array.isArray(s)?s[0]:s;i=c.inlineSize,l=c.blockSize}else i=e.offsetWidth,l=e.offsetHeight;n({width:i,height:l})});return r.observe(e,{box:"border-box"}),()=>r.unobserve(e)}else n(void 0)},[e]),t}var gA=B(xe(),1),hA=B(Bi(),1);var kn=B(xe(),1);var Rf=B(te(),1);function ol(e){let t=x2(e),n=kn.forwardRef((r,o)=>{let{children:a,...i}=r,l=kn.Children.toArray(a),s=l.find(w2);if(s){let c=s.props.children,d=l.map(u=>u===s?kn.Children.count(c)>1?kn.Children.only(null):kn.isValidElement(c)?c.props.children:null:u);return(0,Rf.jsx)(t,{...i,ref:o,children:kn.isValidElement(c)?kn.cloneElement(c,void 0,d):null})}return(0,Rf.jsx)(t,{...i,ref:o,children:a})});return n.displayName=`${e}.Slot`,n}function x2(e){let t=kn.forwardRef((n,r)=>{let{children:o,...a}=n;if(kn.isValidElement(o)){let i=C2(o),l=A2(a,o.props);return o.type!==kn.Fragment&&(l.ref=r?Wh(r,i):i),kn.cloneElement(o,l)}return kn.Children.count(o)>1?kn.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var S2=Symbol("radix.slottable");function w2(e){return kn.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===S2}function A2(e,t){let n={...t};for(let r in t){let o=e[r],a=t[r];/^on[A-Z]/.test(r)?o&&a?n[r]=(...l)=>{let s=a(...l);return o(...l),s}:o&&(n[r]=o):r==="style"?n[r]={...o,...a}:r==="className"&&(n[r]=[o,a].filter(Boolean).join(" "))}return{...e,...n}}function C2(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var yA=B(te(),1),R2=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],at=R2.reduce((e,t)=>{let n=ol(`Primitive.${t}`),r=gA.forwardRef((o,a)=>{let{asChild:i,...l}=o,s=i?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),(0,yA.jsx)(s,{...l,ref:a})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function bA(e,t){e&&hA.flushSync(()=>e.dispatchEvent(t))}var al=B(te(),1),Nf="Switch",[N2,zI]=Zr(Nf),[E2,T2]=N2(Nf),vA=ho.forwardRef((e,t)=>{let{__scopeSwitch:n,name:r,checked:o,defaultChecked:a,required:i,disabled:l,value:s="on",onCheckedChange:c,form:d,...u}=e,[f,p]=ho.useState(null),b=Tt(t,y=>p(y)),m=ho.useRef(!1),v=f?d||!!f.closest("form"):!0,[h,g]=Aa({prop:o,defaultProp:a??!1,onChange:c,caller:Nf});return(0,al.jsxs)(E2,{scope:n,checked:h,disabled:l,children:[(0,al.jsx)(at.button,{type:"button",role:"switch","aria-checked":h,"aria-required":i,"data-state":AA(h),"data-disabled":l?"":void 0,disabled:l,value:s,...u,ref:b,onClick:vt(e.onClick,y=>{g(x=>!x),v&&(m.current=y.isPropagationStopped(),m.current||y.stopPropagation())})}),v&&(0,al.jsx)(wA,{control:f,bubbles:!m.current,name:r,value:s,checked:h,required:i,disabled:l,form:d,style:{transform:"translateX(-100%)"}})]})});vA.displayName=Nf;var xA="SwitchThumb",SA=ho.forwardRef((e,t)=>{let{__scopeSwitch:n,...r}=e,o=T2(xA,n);return(0,al.jsx)(at.span,{"data-state":AA(o.checked),"data-disabled":o.disabled?"":void 0,...r,ref:t})});SA.displayName=xA;var M2="SwitchBubbleInput",wA=ho.forwardRef(({__scopeSwitch:e,control:t,checked:n,bubbles:r=!0,...o},a)=>{let i=ho.useRef(null),l=Tt(i,a),s=Af(n),c=Cf(t);return ho.useEffect(()=>{let d=i.current;if(!d)return;let u=window.HTMLInputElement.prototype,p=Object.getOwnPropertyDescriptor(u,"checked").set;if(s!==n&&p){let b=new Event("click",{bubbles:r});p.call(d,n),d.dispatchEvent(b)}},[s,n,r]),(0,al.jsx)("input",{type:"checkbox","aria-hidden":!0,defaultChecked:n,...o,tabIndex:-1,ref:l,style:{...o.style,...c,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});wA.displayName=M2;function AA(e){return e?"checked":"unchecked"}var CA=vA,RA=SA;var Yh=B(te(),1);function Io({className:e,...t}){return(0,Yh.jsx)(CA,{className:Q("peer inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border border-transparent bg-muted transition-colors outline-none focus-visible:ring-2 focus-visible:ring-ring/50 focus-visible:ring-offset-2 focus-visible:ring-offset-background data-[state=checked]:bg-primary data-[state=unchecked]:bg-secondary",e),...t,children:(0,Yh.jsx)(RA,{className:"pointer-events-none block size-4 rounded-full bg-background shadow-sm transition-transform data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0.5"})})}var Ra=B(xe(),1);var Pn=B(xe(),1);var gi=B(xe(),1);var Ef=B(te(),1),k2=B(xe(),1);var _2=B(te(),1);function Tf(e){let t=e+"CollectionProvider",[n,r]=Zr(t),[o,a]=n(t,{collectionRef:{current:null},itemMap:new Map}),i=m=>{let{scope:v,children:h}=m,g=gi.default.useRef(null),y=gi.default.useRef(new Map).current;return(0,Ef.jsx)(o,{scope:v,itemMap:y,collectionRef:g,children:h})};i.displayName=t;let l=e+"CollectionSlot",s=ol(l),c=gi.default.forwardRef((m,v)=>{let{scope:h,children:g}=m,y=a(l,h),x=Tt(v,y.collectionRef);return(0,Ef.jsx)(s,{ref:x,children:g})});c.displayName=l;let d=e+"CollectionItemSlot",u="data-radix-collection-item",f=ol(d),p=gi.default.forwardRef((m,v)=>{let{scope:h,children:g,...y}=m,x=gi.default.useRef(null),A=Tt(v,x),N=a(d,h);return gi.default.useEffect(()=>(N.itemMap.set(x,{ref:x,...y}),()=>{N.itemMap.delete(x)})),(0,Ef.jsx)(f,{[u]:"",ref:A,children:g})});p.displayName=d;function b(m){let v=a(e+"CollectionConsumer",m);return gi.default.useCallback(()=>{let g=v.collectionRef.current;if(!g)return[];let y=Array.from(g.querySelectorAll(`[${u}]`));return Array.from(v.itemMap.values()).sort((N,E)=>y.indexOf(N.ref.current)-y.indexOf(E.ref.current))},[v.collectionRef,v.itemMap])}return[{Provider:i,Slot:c,ItemSlot:p},b,r]}var Qh=B(xe(),1);var L2=Qh[" useId ".trim().toString()]||(()=>{}),D2=0;function hi(e){let[t,n]=Qh.useState(L2());return on(()=>{e||n(r=>r??String(D2++))},[e]),e||(t?`radix-${t}`:"")}var Ss=B(xe(),1);function pr(e){let t=Ss.useRef(e);return Ss.useEffect(()=>{t.current=e}),Ss.useMemo(()=>(...n)=>t.current?.(...n),[])}var Mf=B(xe(),1),B2=B(te(),1),I2=Mf.createContext(void 0);function ws(e){let t=Mf.useContext(I2);return e||t||"ltr"}var yi=B(te(),1),Xh="rovingFocusGroup.onEntryFocus",z2={bubbles:!1,cancelable:!0},Qc="RovingFocusGroup",[Jh,NA,P2]=Tf(Qc),[U2,Zh]=Zr(Qc,[P2]),[j2,V2]=U2(Qc),EA=Pn.forwardRef((e,t)=>(0,yi.jsx)(Jh.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,yi.jsx)(Jh.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,yi.jsx)(F2,{...e,ref:t})})}));EA.displayName=Qc;var F2=Pn.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,orientation:r,loop:o=!1,dir:a,currentTabStopId:i,defaultCurrentTabStopId:l,onCurrentTabStopIdChange:s,onEntryFocus:c,preventScrollOnEntryFocus:d=!1,...u}=e,f=Pn.useRef(null),p=Tt(t,f),b=ws(a),[m,v]=Aa({prop:i,defaultProp:l??null,onChange:s,caller:Qc}),[h,g]=Pn.useState(!1),y=pr(c),x=NA(n),A=Pn.useRef(!1),[N,E]=Pn.useState(0);return Pn.useEffect(()=>{let C=f.current;if(C)return C.addEventListener(Xh,y),()=>C.removeEventListener(Xh,y)},[y]),(0,yi.jsx)(j2,{scope:n,orientation:r,dir:b,loop:o,currentTabStopId:m,onItemFocus:Pn.useCallback(C=>v(C),[v]),onItemShiftTab:Pn.useCallback(()=>g(!0),[]),onFocusableItemAdd:Pn.useCallback(()=>E(C=>C+1),[]),onFocusableItemRemove:Pn.useCallback(()=>E(C=>C-1),[]),children:(0,yi.jsx)(at.div,{tabIndex:h||N===0?-1:0,"data-orientation":r,...u,ref:p,style:{outline:"none",...e.style},onMouseDown:vt(e.onMouseDown,()=>{A.current=!0}),onFocus:vt(e.onFocus,C=>{let O=!A.current;if(C.target===C.currentTarget&&O&&!h){let L=new CustomEvent(Xh,z2);if(C.currentTarget.dispatchEvent(L),!L.defaultPrevented){let V=x().filter(q=>q.focusable),z=V.find(q=>q.active),G=V.find(q=>q.id===m),ue=[z,G,...V].filter(Boolean).map(q=>q.ref.current);OA(ue,d)}}A.current=!1}),onBlur:vt(e.onBlur,()=>g(!1))})})}),TA="RovingFocusGroupItem",MA=Pn.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,focusable:r=!0,active:o=!1,tabStopId:a,children:i,...l}=e,s=hi(),c=a||s,d=V2(TA,n),u=d.currentTabStopId===c,f=NA(n),{onFocusableItemAdd:p,onFocusableItemRemove:b,currentTabStopId:m}=d;return Pn.useEffect(()=>{if(r)return p(),()=>b()},[r,p,b]),(0,yi.jsx)(Jh.ItemSlot,{scope:n,id:c,focusable:r,active:o,children:(0,yi.jsx)(at.span,{tabIndex:u?0:-1,"data-orientation":d.orientation,...l,ref:t,onMouseDown:vt(e.onMouseDown,v=>{r?d.onItemFocus(c):v.preventDefault()}),onFocus:vt(e.onFocus,()=>d.onItemFocus(c)),onKeyDown:vt(e.onKeyDown,v=>{if(v.key==="Tab"&&v.shiftKey){d.onItemShiftTab();return}if(v.target!==v.currentTarget)return;let h=K2(v,d.orientation,d.dir);if(h!==void 0){if(v.metaKey||v.ctrlKey||v.altKey||v.shiftKey)return;v.preventDefault();let y=f().filter(x=>x.focusable).map(x=>x.ref.current);if(h==="last")y.reverse();else if(h==="prev"||h==="next"){h==="prev"&&y.reverse();let x=y.indexOf(v.currentTarget);y=d.loop?G2(y,x+1):y.slice(x+1)}setTimeout(()=>OA(y))}}),children:typeof i=="function"?i({isCurrentTabStop:u,hasTabStop:m!=null}):i})})});MA.displayName=TA;var H2={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function $2(e,t){return t!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function K2(e,t,n){let r=$2(e.key,n);if(!(t==="vertical"&&["ArrowLeft","ArrowRight"].includes(r))&&!(t==="horizontal"&&["ArrowUp","ArrowDown"].includes(r)))return H2[r]}function OA(e,t=!1){let n=document.activeElement;for(let r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}function G2(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var kA=EA,_A=MA;var gr=B(xe(),1);var LA=B(xe(),1);function W2(e,t){return LA.useReducer((n,r)=>t[n][r]??n,e)}var ey=e=>{let{present:t,children:n}=e,r=Y2(t),o=typeof n=="function"?n({present:r.isPresent}):gr.Children.only(n),a=Tt(r.ref,Q2(o));return typeof n=="function"||r.isPresent?gr.cloneElement(o,{ref:a}):null};ey.displayName="Presence";function Y2(e){let[t,n]=gr.useState(),r=gr.useRef(null),o=gr.useRef(e),a=gr.useRef("none"),i=e?"mounted":"unmounted",[l,s]=W2(i,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return gr.useEffect(()=>{let c=Of(r.current);a.current=l==="mounted"?c:"none"},[l]),on(()=>{let c=r.current,d=o.current;if(d!==e){let f=a.current,p=Of(c);e?s("MOUNT"):p==="none"||c?.display==="none"?s("UNMOUNT"):s(d&&f!==p?"ANIMATION_OUT":"UNMOUNT"),o.current=e}},[e,s]),on(()=>{if(t){let c,d=t.ownerDocument.defaultView??window,u=p=>{let m=Of(r.current).includes(CSS.escape(p.animationName));if(p.target===t&&m&&(s("ANIMATION_END"),!o.current)){let v=t.style.animationFillMode;t.style.animationFillMode="forwards",c=d.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=v)})}},f=p=>{p.target===t&&(a.current=Of(r.current))};return t.addEventListener("animationstart",f),t.addEventListener("animationcancel",u),t.addEventListener("animationend",u),()=>{d.clearTimeout(c),t.removeEventListener("animationstart",f),t.removeEventListener("animationcancel",u),t.removeEventListener("animationend",u)}}else s("ANIMATION_END")},[t,s]),{isPresent:["mounted","unmountSuspended"].includes(l),ref:gr.useCallback(c=>{r.current=c?getComputedStyle(c):null,n(c)},[])}}function Of(e){return e?.animationName||"none"}function Q2(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var Ca=B(te(),1),kf="Tabs",[X2,bz]=Zr(kf,[Zh]),DA=Zh(),[J2,ty]=X2(kf),BA=Ra.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,onValueChange:o,defaultValue:a,orientation:i="horizontal",dir:l,activationMode:s="automatic",...c}=e,d=ws(l),[u,f]=Aa({prop:r,onChange:o,defaultProp:a??"",caller:kf});return(0,Ca.jsx)(J2,{scope:n,baseId:hi(),value:u,onValueChange:f,orientation:i,dir:d,activationMode:s,children:(0,Ca.jsx)(at.div,{dir:d,"data-orientation":i,...c,ref:t})})});BA.displayName=kf;var IA="TabsList",zA=Ra.forwardRef((e,t)=>{let{__scopeTabs:n,loop:r=!0,...o}=e,a=ty(IA,n),i=DA(n);return(0,Ca.jsx)(kA,{asChild:!0,...i,orientation:a.orientation,dir:a.dir,loop:r,children:(0,Ca.jsx)(at.div,{role:"tablist","aria-orientation":a.orientation,...o,ref:t})})});zA.displayName=IA;var PA="TabsTrigger",UA=Ra.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,disabled:o=!1,...a}=e,i=ty(PA,n),l=DA(n),s=FA(i.baseId,r),c=HA(i.baseId,r),d=r===i.value;return(0,Ca.jsx)(_A,{asChild:!0,...l,focusable:!o,active:d,children:(0,Ca.jsx)(at.button,{type:"button",role:"tab","aria-selected":d,"aria-controls":c,"data-state":d?"active":"inactive","data-disabled":o?"":void 0,disabled:o,id:s,...a,ref:t,onMouseDown:vt(e.onMouseDown,u=>{!o&&u.button===0&&u.ctrlKey===!1?i.onValueChange(r):u.preventDefault()}),onKeyDown:vt(e.onKeyDown,u=>{[" ","Enter"].includes(u.key)&&i.onValueChange(r)}),onFocus:vt(e.onFocus,()=>{let u=i.activationMode!=="manual";!d&&!o&&u&&i.onValueChange(r)})})})});UA.displayName=PA;var jA="TabsContent",VA=Ra.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,forceMount:o,children:a,...i}=e,l=ty(jA,n),s=FA(l.baseId,r),c=HA(l.baseId,r),d=r===l.value,u=Ra.useRef(d);return Ra.useEffect(()=>{let f=requestAnimationFrame(()=>u.current=!1);return()=>cancelAnimationFrame(f)},[]),(0,Ca.jsx)(ey,{present:o||d,children:({present:f})=>(0,Ca.jsx)(at.div,{"data-state":d?"active":"inactive","data-orientation":l.orientation,role:"tabpanel","aria-labelledby":s,hidden:!f,id:c,tabIndex:0,...i,ref:t,style:{...e.style,animationDuration:u.current?"0s":void 0},children:f&&a})})});VA.displayName=jA;function FA(e,t){return`${e}-trigger-${t}`}function HA(e,t){return`${e}-content-${t}`}var $A=BA,KA=zA,GA=UA,qA=VA;var Xc=B(te(),1);function bi(e){return(0,Xc.jsx)($A,{...e})}function vi({className:e,...t}){return(0,Xc.jsx)(KA,{className:Q("inline-flex h-9 items-center gap-1 rounded-xl border border-border/70 bg-secondary/70 p-1",e),...t})}function Gn({className:e,...t}){return(0,Xc.jsx)(GA,{className:Q("inline-flex h-7 items-center justify-center rounded-lg px-3 text-sm text-muted-foreground transition data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm",e),...t})}function qn({className:e,...t}){return(0,Xc.jsx)(qA,{className:Q("mt-4 outline-none",e),...t})}var Tz=Object.freeze({web_search_requests:0,web_fetch_requests:0}),Mz=Object.freeze({ephemeral_1h_input_tokens:0,ephemeral_5m_input_tokens:0});var ny=Object.freeze(["gpt-5.3-codex","gpt-5.2-codex","gpt-5.1-codex-mini"]),ry=Object.freeze(["claude-sonnet-4-6","claude-opus-4-6","claude-haiku-4-5"]),Uz=Object.freeze({authorizeUrl:"https://auth.openai.com/oauth/authorize",tokenUrl:"https://auth.openai.com/oauth/token",deviceCodeUrl:"https://auth.openai.com/oauth/device/code",callbackPort:1455,callbackPath:"/auth/callback",scopes:"openid profile email offline_access",clientId:"app_EMoamEEZ73f0CkXaXp7hrann",authorizeParams:Object.freeze({id_token_add_organizations:"true",codex_cli_simplified_flow:"true",originator:"codex_cli_rs"}),tokenRefreshBufferMs:300*1e3}),jz=Object.freeze({authorizeUrl:"https://claude.ai/oauth/authorize",tokenUrl:"https://platform.claude.com/v1/oauth/token",callbackPort:1456,callbackPath:"/callback",manualRedirectUrl:"https://platform.claude.com/oauth/code/callback",scopes:"user:profile user:inference user:sessions:claude_code user:mcp_servers",clientId:"9d1c250a-e61b-44d9-88ed-5944d1962f5e",authorizeParams:Object.freeze({code:"true"}),oauthBeta:"oauth-2025-04-20",apiBaseUrl:"https://api.anthropic.com",messagesPath:"/v1/messages?beta=true",tokenRefreshBufferMs:300*1e3});var tL="127.0.0.1";var Jc=`http://${tL}:8376`,Fz=`${Jc}/openai/v1`,Hz=`${Jc}/anthropic`,$z=Object.freeze({enabled:!0});var Mt="default",nL="AICodeClient",rL="1.0.0",n3=aL();var r3=Object.freeze({CHATGPT_CODEX:"chatgpt-codex",CLAUDE_CODE:"claude-code"});var o3=Object.freeze(["5m","10m","30m","1h","24h","-1","0"]);function oL(){if(typeof process>"u"||!process)return{runtime:"runtime/unknown",platform:"unknown",arch:"unknown"};let e=process?.versions?.node?String(process.versions.node):"",t=e?`node/${e}`:"runtime/unknown",n=process?.platform?String(process.platform):"unknown",r=process?.arch?String(process.arch):"unknown";return{runtime:t,platform:n,arch:r}}function aL(){let{runtime:e,platform:t,arch:n}=oL();return`${nL}/${rL} (${t}; ${n}) ${e}`}var a3=Object.freeze(["brave","tavily","exa","searxng"]),i3=Object.freeze({brave:1e3,tavily:1e3,exa:1e3,searxng:0});var _f=Object.freeze([Object.freeze({id:"@anthropic-opus",description:"Anthropic Opus family used by AMP smart-like flows.",match:[{vendor:"anthropic",family:"opus",variantAbsent:!0}],defaultMatch:"claude-opus-{number}"}),Object.freeze({id:"@anthropic-sonnet",description:"Anthropic Sonnet family used by AMP librarian-like flows.",match:[{vendor:"anthropic",family:"sonnet",variantAbsent:!0}],defaultMatch:"claude-sonnet-{number}"}),Object.freeze({id:"@anthropic-haiku-shared",description:"Anthropic Haiku family shared by AMP rush/title-like flows.",match:[{vendor:"anthropic",family:"haiku",variantAbsent:!0}],defaultMatch:"claude-haiku-{number}"}),Object.freeze({id:"@openai-gpt-base",description:"Base GPT family currently observed for AMP Oracle-like flows.",match:[{vendor:"openai",family:"gpt",variantAbsent:!0}],defaultMatch:"gpt-{number}"}),Object.freeze({id:"@openai-gpt-codex",description:"OpenAI GPT Codex family used by AMP deep-like flows.",match:[{vendor:"openai",family:"gpt",variantPrefix:"codex"},"gpt-*-codex*"],defaultMatch:"gpt-*-codex*"}),Object.freeze({id:"@google-gemini-pro",description:"Google Gemini Pro family used by AMP review-like flows.",match:[{vendor:"google",family:"gemini",variant:"pro"},"gemini-*-pro*"],defaultMatch:"gemini-*-pro*"}),Object.freeze({id:"@google-gemini-pro-image",description:"Google Gemini image family used by AMP painter-like flows.",match:["gemini-3-pro-image","gemini-3-pro-image*","gemini-*-image*"],defaultMatch:"gemini-*-image*"}),Object.freeze({id:"@google-gemini-flash-shared",description:"Google Gemini Flash family shared by AMP search/look-at/handoff-like flows.",match:[{vendor:"google",family:"gemini",variantPrefix:"flash"},"gemini-*-flash*"],defaultMatch:"gemini-*-flash*"})]),Zc=Object.freeze([Object.freeze({id:"smart",type:"mode",description:"Unconstrained state-of-the-art model use",signatures:["@anthropic-opus"]}),Object.freeze({id:"rush",type:"mode",description:"Faster and cheaper, for small well-defined tasks",signatures:["@anthropic-haiku-shared"]}),Object.freeze({id:"deep",type:"mode",description:"Deep reasoning with extended thinking",signatures:["@openai-gpt-codex"]}),Object.freeze({id:"review",type:"feature",description:"Bug identification and code review assistance",signatures:["@google-gemini-pro"]}),Object.freeze({id:"search",type:"agent",description:"Fast, accurate codebase retrieval",signatures:["@google-gemini-flash-shared"]}),Object.freeze({id:"oracle",type:"agent",description:"Complex reasoning and planning on code",signatures:["@openai-gpt-base"]}),Object.freeze({id:"librarian",type:"agent",description:"Large-scale retrieval and research on external code",signatures:["@anthropic-sonnet"]}),Object.freeze({id:"look-at",type:"system",description:"Image, PDF, and media file analysis",aliases:["look at","lookat"],signatures:["@google-gemini-flash-shared"]}),Object.freeze({id:"painter",type:"system",description:"Image generation and editing",signatures:["@google-gemini-pro-image"]}),Object.freeze({id:"handoff",type:"system",description:"Fallback context analysis for task continuation",signatures:["@google-gemini-flash-shared"]}),Object.freeze({id:"title",type:"system",description:"Fast title generation for threads",aliases:["titling"],signatures:["@anthropic-haiku-shared"]})]),l3=Object.freeze([Object.freeze({id:"oracle",patterns:["/^gpt-\\d+(?:\\.\\d+)?$/"]}),Object.freeze({id:"librarian",patterns:["/^(?:claude-)?sonnet-\\d+(?:\\.\\d+)?$/"]}),Object.freeze({id:"title",patterns:["/^(?:claude-)?haiku-\\d+(?:\\.\\d+)?$/"]}),Object.freeze({id:"painter",patterns:["gemini-3-pro-image","gemini-3-pro-image*"]}),Object.freeze({id:"search",patterns:["gemini-2.5-flash","gemini-2.5-flash*","gemini-3-flash","gemini-3-flash*"]}),Object.freeze({id:"look-at",patterns:["gemini-2.5-flash","gemini-2.5-flash*","gemini-3-flash","gemini-3-flash*"]}),Object.freeze({id:"handoff",patterns:["gemini-3-flash","gemini-3-flash*"]})]);var oy=["second","minute","hour","day","week","month"];function zo(e,t=0){let n=Number.parseInt(String(e||""),10);return Number.isFinite(n)&&n>0?n:t}function il(e,t=""){let n=String(e||"").trim().toLowerCase();return oy.includes(n)?n:t}function WA(e,t=1){let n=String(e||"").trim().toLowerCase().replace(/s$/,"");return n?Number(t)===1?n:`${n}s`:"windows"}function yo(e=[]){let t=[],n=new Set;for(let r of Array.isArray(e)?e:[e]){let o=String(r||"").trim();if(o){if(o.toLowerCase()==="all")return["all"];n.has(o)||(n.add(o),t.push(o))}}return t}function eu({requests:e,windowValue:t,windowUnit:n}){let r=zo(e,0),o=zo(t,0),a=il(n,"");return!r||!o||!a?"":`${r}-req-per-${o}-${WA(a,o)}`}function YA(e={}){let t=zo(e?.requests??e?.limit,0),n=zo(e?.window?.size??e?.window?.value??e?.windowValue,0),r=il(e?.window?.unit??e?.windowUnit,"");return!t||!n||!r?"Unconfigured":`${t}/${n} ${WA(r,n)}`}function Po(e=[],{knownModelIds:t=[],requireAtLeastOne:n=!0}={}){let r=Array.isArray(e)?e:[];if(n&&r.length===0)return"Add at least one rate-limit entity.";let o=new Set((t||[]).map(i=>String(i||"").trim()).filter(Boolean)),a=new Set;for(let i of r){let l=yo(i?.models||[]);if(o.size>0&&l.some(f=>f!=="all"&&!o.has(f)))return"Rate-limit model selectors must match the provider model ids.";let s=zo(i?.requests,0);if(!s)return"Rate-limit requests must be a positive integer.";let c=zo(i?.windowValue,0);if(!c)return"Rate-limit window size must be a positive integer.";let d=il(i?.windowUnit,"");if(!d)return"Rate-limit window unit is invalid.";let u=eu({requests:s,windowValue:c,windowUnit:d});if(a.has(u))return"Duplicate rate-limit entities are not allowed.";a.add(u)}return""}function tu(e=[],{existingBucketsBySourceId:t=new Map,fallbackRequests:n=60,fallbackWindowValue:r=1,fallbackWindowUnit:o="minute"}={}){return(Array.isArray(e)?e:[]).map((a,i)=>{let l=String(a?.sourceId||"").trim(),s=l&&t instanceof Map&&t.has(l)?structuredClone(t.get(l)):{},c=zo(a?.requests,zo(s?.requests??s?.limit,n)),d=zo(a?.windowValue,zo(s?.window?.size??s?.window?.value,r)),u=il(a?.windowUnit,il(s?.window?.unit,o)||o),f=yo(a?.models||[]),p=f.length>0?f:["all"],b={...s,id:eu({requests:c,windowValue:d,windowUnit:u})||`rate-limit-${i+1}`,models:p,requests:c,window:{...s?.window&&typeof s.window=="object"&&!Array.isArray(s.window)?s.window:{},size:d,unit:u}};return delete b.name,delete b.limit,b.window&&typeof b.window=="object"&&delete b.window.value,b})}function nu(e){return JSON.parse(JSON.stringify(e??{}))}function Lf(e=[]){let t=new Set,n=[];for(let r of e){let o=String(r||"").trim();!o||t.has(o)||(t.add(o),n.push(o))}return n}function XA(e){let t=String(e||"").trim();return t?t.startsWith("alias:")?t.slice(6).trim():t:""}function iL(e={},t={}){let n=t?.[Mt];if(n&&typeof n=="object"&&!Array.isArray(n))return{...n,id:Mt,strategy:String(n.strategy||"ordered").trim()||"ordered",targets:hr(n.targets||[],a=>a),fallbackTargets:hr(n.fallbackTargets||[],a=>a)};let r=String(e?.defaultModel||"").trim();if(!r||r==="smart")return{id:Mt,strategy:"ordered",targets:[],fallbackTargets:[]};let o=XA(r);if(o&&t?.[o]){let a=t[o];return{...a,id:Mt,strategy:String(a.strategy||"ordered").trim()||"ordered",targets:hr(a.targets||[],i=>i),fallbackTargets:hr(a.fallbackTargets||[],i=>i)}}return{id:Mt,strategy:"ordered",targets:r?[{ref:r}]:[],fallbackTargets:[]}}function lL(e={}){return(!e.modelAliases||typeof e.modelAliases!="object"||Array.isArray(e.modelAliases))&&(e.modelAliases={}),e.modelAliases[Mt]=iL(e,e.modelAliases),e}function sL(e={}){let t=new Set;for(let n of Object.keys(e?.modelAliases||{})){let r=String(n||"").trim();r&&t.add(r)}for(let n of e?.providers||[]){let r=String(n?.id||"").trim();if(r)for(let o of n?.models||[]){let a=String(o?.id||"").trim();a&&t.add(`${r}/${a}`)}}return t}function cL(e={}){let t=Object.keys(e?.modelAliases||{}).map(n=>String(n||"").trim()).filter(Boolean);if(t.includes(Mt))return Mt;if(t.length>0)return t[0];for(let n of e?.providers||[]){let r=String(n?.id||"").trim();if(r)for(let o of n?.models||[]){let a=String(o?.id||"").trim();if(a)return`${r}/${a}`}}return""}function Df(e={}){lL(e);let t=sL(e);if(e.defaultModel=Mt,!e.amp||typeof e.amp!="object"||Array.isArray(e.amp))return e;let n=String(e.amp.defaultRoute||"").trim();if(!n||!t.has(XA(n))){let r=String(e.defaultModel||"").trim()||cL(e);r?e.amp.defaultRoute=r:delete e.amp.defaultRoute}return e}function As(e,t,n,r){let o=String(e||"").trim();if(!o)return"";let a=`${t}/`;if(!o.startsWith(a))return o;let i=o.slice(a.length),l=n.get(i)||i;return r.has(l)?`${t}/${l}`:""}function Cs(e,t,n=""){let r=String(e||"").trim();if(!r)return"";let o=`${t}/`;return r.startsWith(o)?n?`${n}/${r.slice(o.length)}`:"":r}function JA(e=[]){return Lf(Array.isArray(e)?e:[e])}function uL(e={},t={}){let n={...e};if(!Object.prototype.hasOwnProperty.call(t||{},"credentialInput"))return n;let o=String(t?.credentialInput||"").trim();return delete n.apiKey,delete n.apiKeyEnv,delete n.credential,o?/^[A-Z][A-Z0-9_]*$/.test(o)?(n.apiKeyEnv=o,n):(n.apiKey=o,n):n}function dL(e={},t=[]){let n={...e},r=JA(t),o=String(r[0]||"").trim(),a=n.metadata&&typeof n.metadata=="object"&&!Array.isArray(n.metadata)?{...n.metadata}:null,i=r.length>1||!!(a&&Object.prototype.hasOwnProperty.call(a,"endpointCandidates"));if(!o)delete n.baseUrl,delete n.baseUrlByFormat,a&&Object.prototype.hasOwnProperty.call(a,"endpointCandidates")&&delete a.endpointCandidates;else{n.baseUrl=o;let l=n.baseUrlByFormat&&typeof n.baseUrlByFormat=="object"&&!Array.isArray(n.baseUrlByFormat)?n.baseUrlByFormat:null;l&&Object.keys(l).length>0&&(n.baseUrlByFormat=Object.fromEntries(Object.keys(l).map(s=>[s,o]))),i&&(a=a||{},a.endpointCandidates=r)}return a&&Object.keys(a).length>0?n.metadata=a:a&&delete n.metadata,n}function fL(e={}){return e?.rateLimitLimit!==void 0||e?.rateLimitWindowValue!==void 0||e?.rateLimitWindowUnit!==void 0?[{sourceId:String(e?.rateLimitSourceId||"").trim(),models:["all"],requests:e?.rateLimitLimit,windowValue:e?.rateLimitWindowValue,windowUnit:e?.rateLimitWindowUnit}]:[]}function mL(e={},t={},n=""){let r={...e},o=Array.isArray(r.rateLimits)?r.rateLimits.map(u=>u&&typeof u=="object"?nu(u):u).filter(Boolean):[],a=Array.isArray(t?.rateLimitRows)?t.rateLimitRows:fL(t),i=o[0]&&typeof o[0]=="object"?o[0]:null,l=Number(i?.requests??i?.limit)||60,s=Number(i?.window?.size??i?.window?.value)||1,c=String(i?.window?.unit||"minute").trim()||"minute",d=new Map(o.map(u=>[String(u?.id||"").trim(),u]).filter(([u])=>!!u));return r.rateLimits=tu(a,{existingBucketsBySourceId:d,fallbackRequests:l,fallbackWindowValue:s,fallbackWindowUnit:c}),r}function Uo(e,t,n=""){let r=String(e||"").trim();return r?r===t?n:r===`alias:${t}`?n?`alias:${n}`:"":r:""}function hr(e=[],t){let n=new Set,r=[];for(let o of Array.isArray(e)?e:[]){let a=String(o?.ref||"").trim();if(!a)continue;let i=String(t(a)||"").trim();!i||n.has(i)||(n.add(i),r.push({...o,ref:i}))}return r}function ru(e={},t){if(!e?.amp||typeof e.amp!="object"||Array.isArray(e.amp))return e;let n=e.amp,r={};for(let[o,a]of Object.entries(n.routes&&typeof n.routes=="object"&&!Array.isArray(n.routes)?n.routes:{})){let i=String(t(a)||"").trim();i&&(r[o]=i)}return n.routes=r,n.rawModelRoutes=(Array.isArray(n.rawModelRoutes)?n.rawModelRoutes:[]).map(o=>{if(!o||typeof o!="object")return null;if(!Object.prototype.hasOwnProperty.call(o,"to"))return{...o};let a=String(t(o.to)||"").trim();return a?{...o,to:a}:null}).filter(Boolean),e}function ZA(e={}){let t=e?.modelAliases&&typeof e.modelAliases=="object"&&!Array.isArray(e.modelAliases)?e.modelAliases:{},n={};for(let[r,o]of Object.entries(t)){let a=hr(o?.targets||[],l=>l),i=hr(o?.fallbackTargets||[],l=>l);n[r]={...o,targets:a,fallbackTargets:i}}return e.modelAliases=n,ru(e,r=>r),Df(e)}function pL(e=[]){let t=new Set,n=[];for(let r of Array.isArray(e)?e:[]){let o=String(r?.id||"").trim(),a=String(r?.sourceId||r?.originalId||"").trim();if(!o||t.has(o))continue;t.add(o);let i=Number.parseInt(String(r?.contextWindow||"").trim(),10),l=r?.capabilities&&typeof r.capabilities=="object"&&Object.keys(r.capabilities).length>0?r.capabilities:void 0;n.push({id:o,sourceId:a,contextWindow:Number.isFinite(i)&&i>0?i:null,...l?{capabilities:l}:{}})}return n}function QA(e=[]){let t=new Set,n=[];for(let r of Array.isArray(e)?e:[]){let o=String(r?.ref||"").trim(),a=String(r?.sourceRef||r?.originalRef||"").trim(),i=String(r?.weight??"").trim(),l=Math.floor(Number(i));!o||t.has(o)||(t.add(o),n.push({ref:o,sourceRef:a,...i?{weight:Number.isFinite(l)&&l>0?l:1}:{}}))}return n}function ay(e={},t,n=[]){let r=nu(e),o=Array.isArray(r.providers)?r.providers:[],a=o.findIndex(v=>v?.id===t);if(a===-1)return r;let i=o[a],l=Array.isArray(i?.models)?i.models:[],s=new Map(l.map(v=>[String(v?.id||"").trim(),v])),c=pL(n),d=new Set,u=new Map,f=[];for(let v of c){let h=v.sourceId&&s.has(v.sourceId)&&!d.has(v.sourceId)?v.sourceId:"",g=!h&&s.has(v.id)&&!d.has(v.id)?v.id:"",y=h||g;if(y){d.add(y),y!==v.id&&u.set(y,v.id);let x={...s.get(y),id:v.id,...v.contextWindow?{contextWindow:v.contextWindow}:{}};v.contextWindow||delete x.contextWindow,v.capabilities&&typeof v.capabilities=="object"&&Object.keys(v.capabilities).length>0?x.capabilities=v.capabilities:delete x.capabilities,f.push(x);continue}f.push({id:v.id,...v.contextWindow?{contextWindow:v.contextWindow}:{},...v.capabilities&&typeof v.capabilities=="object"&&Object.keys(v.capabilities).length>0?{capabilities:v.capabilities}:{}})}let p=new Set(f.map(v=>String(v?.id||"").trim()).filter(Boolean));i.models=f,i.rateLimits=(Array.isArray(i.rateLimits)?i.rateLimits:[]).map(v=>{let h=Array.isArray(v?.models)?v.models:[];return{...v,models:Lf(h.map(g=>{if(String(g||"").trim()==="all")return"all";let y=u.get(String(g||"").trim())||String(g||"").trim();return p.has(y)?y:""}))}}),r.providers=o.map((v,h)=>h===a?i:v).map(v=>({...v,models:(Array.isArray(v?.models)?v.models:[]).map(h=>Array.isArray(h?.fallbackModels)?{...h,fallbackModels:Lf(h.fallbackModels.map(g=>As(g,t,u,p)))}:h)}));let b=r.modelAliases&&typeof r.modelAliases=="object"&&!Array.isArray(r.modelAliases)?r.modelAliases:{},m={};for(let[v,h]of Object.entries(b)){let g=hr(h?.targets||[],x=>As(x,t,u,p)),y=hr(h?.fallbackTargets||[],x=>As(x,t,u,p));m[v]={...h,targets:g,fallbackTargets:y}}return r.modelAliases=m,r.defaultModel=As(r.defaultModel,t,u,p),r?.amp&&typeof r.amp=="object"&&!Array.isArray(r.amp)&&(r.amp.defaultRoute=As(r.amp.defaultRoute,t,u,p)),ru(r,v=>As(v,t,u,p)),Df(r)}function iy(e={},t="",n={}){let r=nu(e),o=Array.isArray(r.providers)?r.providers:[],a=o.findIndex(p=>p?.id===t);if(a===-1)return r;let i=o[a]||{},l=String(n?.id||t||"").trim(),s=String(n?.name??i?.name??"").trim(),c=JA(Array.isArray(n?.endpoints)?n.endpoints:[n?.endpoint]),d=i?.type==="subscription",u=l||t,f={...i,id:u,name:s||u};if(d||(f=uL(f,n),f=dL(f,c),f=mL(f,n,u)),o[a]=f,r.providers=o.map(p=>({...p,models:(Array.isArray(p?.models)?p.models:[]).map(b=>Array.isArray(b?.fallbackModels)?{...b,fallbackModels:Lf(b.fallbackModels.map(m=>Cs(m,t,u)))}:b)})),u!==t){let p=r.modelAliases&&typeof r.modelAliases=="object"&&!Array.isArray(r.modelAliases)?r.modelAliases:{},b={};for(let[m,v]of Object.entries(p))b[m]={...v,targets:hr(v?.targets||[],h=>Cs(h,t,u)),fallbackTargets:hr(v?.fallbackTargets||[],h=>Cs(h,t,u))};r.modelAliases=b,r.defaultModel=Cs(r.defaultModel,t,u),r?.amp&&typeof r.amp=="object"&&!Array.isArray(r.amp)&&(r.amp.defaultRoute=Cs(r.amp.defaultRoute,t,u)),ru(r,m=>Cs(m,t,u))}return Df(r)}function eC(e={},t="",n={}){let r=nu(e),o=r.modelAliases&&typeof r.modelAliases=="object"&&!Array.isArray(r.modelAliases)?r.modelAliases:{},a=t?o[t]:void 0,i=t===Mt?Mt:String(n?.id||t||"").trim();if(!i)return r;let l=new Map((a?.targets||[]).map(p=>[String(p?.ref||"").trim(),p])),s=new Map((a?.fallbackTargets||[]).map(p=>[String(p?.ref||"").trim(),p])),c=new Set,d=QA(n?.targets).map(p=>{let b=p.sourceRef&&l.has(p.sourceRef)&&!c.has(p.sourceRef)?p.sourceRef:l.has(p.ref)&&!c.has(p.ref)?p.ref:"";return b&&c.add(b),{...b?l.get(b):{},ref:p.ref,...p.weight!==void 0?{weight:p.weight}:{}}}),u=new Set,f=QA(n?.fallbackTargets).map(p=>{let b=p.sourceRef&&s.has(p.sourceRef)&&!u.has(p.sourceRef)?p.sourceRef:s.has(p.ref)&&!u.has(p.ref)?p.ref:"";return b&&u.add(b),{...b?s.get(b):{},ref:p.ref,...p.weight!==void 0?{weight:p.weight}:{}}});if(t&&t!==i&&delete o[t],o[i]={...a?.metadata?{metadata:a.metadata}:{},...n?.metadata&&typeof n.metadata=="object"&&!Array.isArray(n.metadata)?{metadata:n.metadata}:{},id:i,strategy:String(n?.strategy||a?.strategy||"ordered").trim()||"ordered",targets:d,fallbackTargets:f},r.modelAliases=o,t&&t!==i){for(let[p,b]of Object.entries(o))p!==i&&(b.targets=hr(b?.targets||[],m=>Uo(m,t,i)),b.fallbackTargets=hr(b?.fallbackTargets||[],m=>Uo(m,t,i)));r.defaultModel=Uo(r.defaultModel,t,i),r?.amp&&typeof r.amp=="object"&&!Array.isArray(r.amp)&&(r.amp.defaultRoute=Uo(r.amp.defaultRoute,t,i)),ru(r,p=>Uo(p,t,i))}return ZA(r)}function tC(e={},t=""){let n=nu(e),r=String(t||"").trim();if(!r)return n;let o=n.modelAliases&&typeof n.modelAliases=="object"&&!Array.isArray(n.modelAliases)?n.modelAliases:{};if(!Object.prototype.hasOwnProperty.call(o,r))return n;if(r===Mt)return o[r]={...o[r],id:Mt,strategy:String(o[r]?.strategy||"ordered").trim()||"ordered",targets:[],fallbackTargets:[]},n.modelAliases=o,Df(n);delete o[r],n.modelAliases=o;for(let a of Object.values(o))a.targets=hr(a?.targets||[],i=>Uo(i,r)),a.fallbackTargets=hr(a?.fallbackTargets||[],i=>Uo(i,r));return n.defaultModel=Uo(n.defaultModel,r),n?.amp&&typeof n.amp=="object"&&!Array.isArray(n.amp)&&(n.amp.defaultRoute=Uo(n.amp.defaultRoute,r)),ru(n,a=>Uo(a,r)),ZA(n)}function nC(e="",t={}){return{id:String(e||t?.id||"").trim(),strategy:String(t?.strategy||"ordered").trim()||"ordered",targets:(Array.isArray(t?.targets)?t.targets:[]).map((n,r)=>({key:`target-${e||"alias"}-${r}-${String(n?.ref||"").trim()||"empty"}`,ref:String(n?.ref||"").trim(),sourceRef:String(n?.ref||"").trim(),weight:String(Number.isFinite(Number(n?.weight))&&Number(n.weight)>0?Math.floor(Number(n.weight)):1)})),fallbackTargets:(Array.isArray(t?.fallbackTargets)?t.fallbackTargets:[]).map((n,r)=>({key:`fallback-${e||"alias"}-${r}-${String(n?.ref||"").trim()||"empty"}`,ref:String(n?.ref||"").trim(),sourceRef:String(n?.ref||"").trim(),weight:String(Number.isFinite(Number(n?.weight))&&Number(n.weight)>0?Math.floor(Number(n.weight)):1)}))}}function rC(e={}){return(Array.isArray(e?.models)?e.models:[]).map((t,n)=>({key:`model-${e?.id||"provider"}-${n}-${String(t?.id||"").trim()||"empty"}`,id:String(t?.id||"").trim(),sourceId:String(t?.id||"").trim(),contextWindow:Number.isFinite(t?.contextWindow)?String(Math.floor(Number(t.contextWindow))):"",...t?.capabilities?{capabilities:{...t.capabilities}}:{}}))}var ly="__codex_cli_inherit__",m3=Object.freeze(["minimal","low","medium","high","xhigh"]),gL=Object.freeze(["low","medium","high","xhigh","max"]),p3=Object.freeze({low:4096,medium:12e3,high:24e3,xhigh:28e3,max:31999});function Bf(e){return String(e||"").trim()===ly}function hL(e){let t=String(e||"").trim().toLowerCase();return gL.includes(t)?t:""}var oC=hL;var yL=Object.freeze(["off","none","low","medium","high"]);function bL(e){let t=String(e||"").trim();return t.startsWith("custom:")?t.slice(7).trim():t}function If(e){let t=bL(e);if(!t.startsWith("llm-"))return null;if(t.startsWith("llm-alias:")){let i=t.slice(10).trim();return i?{kind:"alias",aliasId:i,routeRef:i}:null}if(t.startsWith("llm-alias-")){let i=t.slice(10).trim();return i?{kind:"alias",aliasId:i,routeRef:""}:null}let n=t.slice(4),r=n.indexOf(":");if(r<=0)return null;let o=n.slice(0,r).trim(),a=n.slice(r+1).trim();return!o||!a?null:{kind:"model",providerId:o,modelId:a,routeRef:`${o}/${a}`}}function aC(e){let t=String(e||"").trim().toLowerCase();return yL.includes(t)?t:""}var Xe={"content-type":"application/json"},sy={info:"bg-sky-50 text-sky-700 ring-sky-100",success:"bg-emerald-50 text-emerald-700 ring-emerald-100",warn:"bg-amber-50 text-amber-700 ring-amber-100",error:"bg-rose-50 text-rose-700 ring-rose-100"},iC=[{value:"usage",label:"Request / response"},{value:"router",label:"LLM Router"},{value:"all",label:"All categories"}],ou={usage:{label:"Request / response",badgeVariant:"info",emptyLabel:"request/response"},router:{label:"LLM Router",badgeVariant:"outline",emptyLabel:"LLM Router"}},lC="https://github.com/khanglvm/llm-router",sC="https://github.com/sponsors/khanglvm",no="AICodeClient/1.0.0",cC=3e3,zf=4e3,uC=100,dC=6,ll=/^[a-z][a-z0-9-]*$/,fC=/^[A-Za-z0-9][A-Za-z0-9._:\-\[\]]*$/,mC=[{value:"api",label:"API Key",description:"Test endpoint + model candidates with an API key env before saving."},{value:"subscription",label:"Subscription",description:"Use an OAuth subscription login with ChatGPT or Claude models."}],Pf=[{value:"auto",label:"Auto"},{value:"ordered",label:"Ordered"},{value:"round-robin",label:"Round robin"},{value:"weighted-rr",label:"Weighted RR"},{value:"quota-aware-weighted-rr",label:"Quota-aware weighted RR"}],Uf=Object.fromEntries(Pf.map(e=>[e.value,e.label])),pC=Object.freeze([{value:"minimal",label:"Minimal",hint:"Fastest supported reasoning"},{value:"low",label:"Low",hint:"Lighter reasoning"},{value:"medium",label:"Medium",hint:"Balanced depth"},{value:"high",label:"High",hint:"Deeper reasoning"},{value:"xhigh",label:"XHigh",hint:"Model-dependent extra depth"}]),gC=Object.freeze([{value:"low",label:"Low",hint:"Sets CLAUDE_CODE_EFFORT_LEVEL=low"},{value:"medium",label:"Medium",hint:"Sets CLAUDE_CODE_EFFORT_LEVEL=medium"},{value:"high",label:"High",hint:"Sets CLAUDE_CODE_EFFORT_LEVEL=high"},{value:"xhigh",label:"XHigh",hint:"Sets CLAUDE_CODE_EFFORT_LEVEL=xhigh"},{value:"max",label:"Max",hint:"Sets CLAUDE_CODE_EFFORT_LEVEL=max"}]),hC=Object.freeze([{value:"off",label:"Off",hint:"Disable reasoning"},{value:"none",label:"None",hint:"No extended reasoning"},{value:"low",label:"Low",hint:"Lighter reasoning"},{value:"medium",label:"Medium",hint:"Balanced depth"},{value:"high",label:"High",hint:"Maximum reasoning depth"}]),cy=oy;var yC=Object.freeze([{value:"ordered",label:"Ordered"},{value:"quota-balance",label:"Quota balance"}]),jf=Object.freeze([Object.freeze({id:"brave",label:"Brave",credentialField:"apiKey",credentialLabel:"API key",credentialPlaceholder:"brv_...",defaultLimit:1e3}),Object.freeze({id:"tavily",label:"Tavily",credentialField:"apiKey",credentialLabel:"API key",credentialPlaceholder:"tvly-...",defaultLimit:1e3}),Object.freeze({id:"exa",label:"Exa",credentialField:"apiKey",credentialLabel:"API key",credentialPlaceholder:"exa_...",defaultLimit:1e3}),Object.freeze({id:"searxng",label:"SearXNG",credentialField:"url",credentialLabel:"Base URL",credentialPlaceholder:"https://searx.example.com",defaultLimit:0})]),Na=Object.fromEntries(jf.map(e=>[e.id,e])),xi=5,au=1,iu=20,Rs="w-[5.5rem] justify-self-end",uy=["border-primary/45","bg-primary/5"],dy=[{value:"5m",label:"5 minutes"},{value:"10m",label:"10 minutes"},{value:"30m",label:"30 minutes"},{value:"1h",label:"1 hour"},{value:"24h",label:"24 hours"},{value:"-1",label:"Forever (blocks eviction)"},{value:"0",label:"Disabled (unload immediately)"}];var nt=B(te(),1);function Ns({className:e=""}){return(0,nt.jsxs)("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",className:e,children:[(0,nt.jsx)("circle",{cx:"5",cy:"4",r:"1.25",fill:"currentColor"}),(0,nt.jsx)("circle",{cx:"11",cy:"4",r:"1.25",fill:"currentColor"}),(0,nt.jsx)("circle",{cx:"5",cy:"8",r:"1.25",fill:"currentColor"}),(0,nt.jsx)("circle",{cx:"11",cy:"8",r:"1.25",fill:"currentColor"}),(0,nt.jsx)("circle",{cx:"5",cy:"12",r:"1.25",fill:"currentColor"}),(0,nt.jsx)("circle",{cx:"11",cy:"12",r:"1.25",fill:"currentColor"})]})}function bC({className:e=""}){return(0,nt.jsxs)("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",className:e,children:[(0,nt.jsx)("path",{d:"M8 3.5v9",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"}),(0,nt.jsx)("path",{d:"M3.5 8h9",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]})}function vC({className:e=""}){return(0,nt.jsx)("svg",{viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",className:e,children:(0,nt.jsx)("path",{d:"M12 .5C5.65.5.5 5.65.5 12c0 5.08 3.29 9.39 7.86 10.91.58.11.79-.25.79-.56 0-.28-.01-1.2-.02-2.18-3.2.69-3.88-1.36-3.88-1.36-.52-1.33-1.28-1.68-1.28-1.68-1.05-.72.08-.71.08-.71 1.16.08 1.77 1.19 1.77 1.19 1.03 1.76 2.69 1.25 3.35.96.1-.74.4-1.25.72-1.54-2.56-.29-5.25-1.28-5.25-5.71 0-1.26.45-2.28 1.18-3.08-.12-.29-.51-1.46.11-3.05 0 0 .97-.31 3.17 1.18a10.9 10.9 0 0 1 5.77 0c2.2-1.49 3.17-1.18 3.17-1.18.62 1.59.23 2.76.11 3.05.74.8 1.18 1.82 1.18 3.08 0 4.44-2.69 5.41-5.26 5.69.41.35.78 1.05.78 2.11 0 1.52-.01 2.75-.01 3.12 0 .31.21.67.8.56A11.5 11.5 0 0 0 23.5 12C23.5 5.65 18.35.5 12 .5Z"})})}function xC({className:e=""}){return(0,nt.jsx)("svg",{viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",className:e,children:(0,nt.jsx)("path",{d:"M12 21.3 10.9 20.3C5.4 15.3 2 12.3 2 8.5 2 5.4 4.4 3 7.5 3c1.8 0 3.5.8 4.5 2.1C13 3.8 14.7 3 16.5 3 19.6 3 22 5.4 22 8.5c0 3.8-3.4 6.8-8.9 11.8L12 21.3Z"})})}function SC({className:e=""}){return(0,nt.jsx)("svg",{viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",className:e,children:(0,nt.jsx)("path",{d:"M6.25 4.7a.75.75 0 0 1 1.14-.64l8.1 5.05a1.05 1.05 0 0 1 0 1.78l-8.1 5.05a.75.75 0 0 1-1.14-.64V4.7Z"})})}function wC({className:e=""}){return(0,nt.jsx)("svg",{viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",className:e,children:(0,nt.jsx)("path",{d:"M6.25 4.5A1.25 1.25 0 0 1 7.5 3.25h.5a1.25 1.25 0 0 1 1.25 1.25v11A1.25 1.25 0 0 1 8 16.75h-.5a1.25 1.25 0 0 1-1.25-1.25v-11Zm4.5 0A1.25 1.25 0 0 1 12 3.25h.5a1.25 1.25 0 0 1 1.25 1.25v11A1.25 1.25 0 0 1 12.5 16.75H12a1.25 1.25 0 0 1-1.25-1.25v-11Z"})})}function AC({className:e=""}){return(0,nt.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",className:e,children:[(0,nt.jsx)("path",{d:"M2.75 6.5A1.75 1.75 0 0 1 4.5 4.75h3L9.4 6.4h6.1a1.75 1.75 0 0 1 1.75 1.75v6.35a1.75 1.75 0 0 1-1.75 1.75h-11A1.75 1.75 0 0 1 2.75 14.5v-8Z"}),(0,nt.jsx)("path",{d:"M2.75 8h14.5"})]})}function CC({className:e=""}){return(0,nt.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",className:e,children:[(0,nt.jsx)("path",{d:"M10 3.25v5"}),(0,nt.jsx)("path",{d:"M6.1 5.15a6.25 6.25 0 1 0 7.8 0"})]})}function Es({className:e=""}){return(0,nt.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:[(0,nt.jsx)("path",{d:"M12 20h9"}),(0,nt.jsx)("path",{d:"M16.5 3.5a2.121 2.121 0 1 1 3 3L7 19l-4 1 1-4 12.5-12.5Z"})]})}function RC({className:e=""}){return(0,nt.jsx)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:(0,nt.jsx)("path",{d:"m5 12 4.25 4.25L19 6.5"})})}function lu({className:e=""}){return(0,nt.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:[(0,nt.jsx)("path",{d:"M3 6h18"}),(0,nt.jsx)("path",{d:"M8 6V4.75A1.75 1.75 0 0 1 9.75 3h4.5A1.75 1.75 0 0 1 16 4.75V6"}),(0,nt.jsx)("path",{d:"M18 6v12.25A1.75 1.75 0 0 1 16.25 20h-8.5A1.75 1.75 0 0 1 6 18.25V6"}),(0,nt.jsx)("path",{d:"M10 10.5v5"}),(0,nt.jsx)("path",{d:"M14 10.5v5"})]})}function Vf({className:e=""}){return(0,nt.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:[(0,nt.jsx)("rect",{x:"9",y:"9",width:"11",height:"11",rx:"2"}),(0,nt.jsx)("path",{d:"M5 15V6a2 2 0 0 1 2-2h9"})]})}function su(e,{requiresAuth:t=!0}={}){return Object.freeze({requiresAuth:t,fetchModels:async({apiKey:n,apiKeyEnv:r}={})=>{let o={endpoints:[e]};return n&&(o.apiKey=n),r&&(o.apiKeyEnv=r),((await fetchJson("/api/config/discover-provider-models",{method:"POST",headers:Xe,body:JSON.stringify(o)})).result?.models||[]).map(i=>String(i||"").trim()).filter(Boolean)}})}var cu=Object.freeze([Object.freeze({key:"custom",category:"api",label:"Custom",description:"Generic OpenAI-compatible API provider.",providerName:"My Provider",providerId:"my-provider",endpoint:"",apiKeyEnv:"",defaultModels:Object.freeze({openai:Object.freeze(["gpt-4o-mini","gpt-4.1-mini"]),claude:Object.freeze(["claude-3-5-sonnet","claude-3-5-haiku"])}),rateLimitDefaults:Object.freeze({limit:60,windowValue:1,windowUnit:"minute"})}),Object.freeze({key:"groq",category:"api",label:"Groq",description:"Groq cloud inference with Llama, Qwen, and GPT-OSS models.",providerName:"Groq",providerId:"groq",endpoint:"https://api.groq.com/openai/v1",apiKeyEnv:"",defaultModels:Object.freeze(["llama-3.3-70b-versatile","llama-3.1-8b-instant"]),rateLimitDefaults:Object.freeze({limit:30,windowValue:1,windowUnit:"minute"}),freeTierRpm:Object.freeze({host:"api.groq.com",models:Object.freeze({"llama-3.1-8b-instant":30,"llama-3.3-70b-versatile":30,"openai/gpt-oss-20b":30,"openai/gpt-oss-120b":15,"qwen/qwen3-32b":30,"meta-llama/llama-4-scout-17b-16e-instruct":15,"moonshotai/kimi-k2-instruct":15,_default:30})}),discover:su("https://api.groq.com/openai/v1")}),Object.freeze({key:"gemini",category:"api",label:"Google Gemini",description:"Google Gemini models via OpenAI-compatible endpoint.",providerName:"Google Gemini",providerId:"gemini",endpoint:"https://generativelanguage.googleapis.com/v1beta/openai",apiKeyEnv:"",defaultModels:Object.freeze(["gemini-3-flash-preview","gemini-3.1-flash-lite-preview"]),rateLimitDefaults:Object.freeze({limit:10,windowValue:1,windowUnit:"minute"}),freeTierRpm:Object.freeze({host:"generativelanguage.googleapis.com",models:Object.freeze({"gemini-3-flash-preview":15,"gemini-3.1-flash-lite-preview":15,"gemini-3.1-pro-preview":5,"gemini-2.5-flash":15,"gemini-2.5-flash-lite":15,"gemini-2.5-pro":5,_default:10})}),discover:su("https://generativelanguage.googleapis.com/v1beta/openai")}),Object.freeze({key:"zai-global",category:"api",label:"Z.AI Coding (Global)",description:"Z.AI coding models via the global coding endpoint.",providerName:"Z.AI Coding",providerId:"zai-coding",endpoint:"https://api.z.ai/api/coding/paas/v4",apiKeyEnv:"",defaultModels:Object.freeze(["glm-5.1","glm-5V-turbo","glm-4.7","glm-4.7-flash"]),rateLimitDefaults:Object.freeze({limit:60,windowValue:1,windowUnit:"minute"}),discover:su("https://api.z.ai/api/coding/paas/v4")}),Object.freeze({key:"zai-china",category:"api",label:"Z.AI Coding (China)",description:"Z.AI coding models via the China mainland coding endpoint.",providerName:"Z.AI Coding CN",providerId:"zai-coding-cn",endpoint:"https://open.bigmodel.cn/api/coding/paas/v4",apiKeyEnv:"",defaultModels:Object.freeze(["glm-5.1","glm-5V-turbo","glm-4.7","glm-4.7-flash"]),rateLimitDefaults:Object.freeze({limit:60,windowValue:1,windowUnit:"minute"}),discover:su("https://open.bigmodel.cn/api/coding/paas/v4")}),Object.freeze({key:"openrouter",category:"api",label:"OpenRouter",description:"300+ models from multiple providers, including free tier models.",providerName:"OpenRouter",providerId:"openrouter",endpoint:"https://openrouter.ai/api/v1",apiKeyEnv:"",defaultModels:Object.freeze(["qwen/qwen3.6-plus:free","google/gemma-4-26b-a4b-it"]),rateLimitDefaults:Object.freeze({limit:200,windowValue:1,windowUnit:"minute"}),discover:su("https://openrouter.ai/api/v1",{requiresAuth:!1})}),Object.freeze({key:"oauth-gpt",category:"subscription",label:"ChatGPT",description:"Use ChatGPT subscription login with GPT models.",providerName:"ChatGPT Subscription",providerId:"chatgpt-sub",subscriptionType:"chatgpt-codex",format:"openai",defaultModels:ny,rateLimitDefaults:Object.freeze({limit:999999,windowValue:1,windowUnit:"month"}),warning:"chatgpt-tos"}),Object.freeze({key:"oauth-claude",category:"subscription",label:"Claude",description:"Use Claude Code subscription login with Claude models.",providerName:"Claude Subscription",providerId:"claude-sub",subscriptionType:"claude-code",format:"claude",defaultModels:ry,rateLimitDefaults:Object.freeze({limit:999999,windowValue:1,windowUnit:"month"}),warning:"claude-extra-usage"})]),bo=Object.freeze(Object.fromEntries(cu.map(e=>[e.key,e])));function Lr(e){return bo[e]||bo.custom}function NC(e){return cu.find(t=>t.freeTierRpm?.host===e)||null}function EC(e){return cu.filter(t=>t.category===e)}var fy=Object.freeze(Object.fromEntries(cu.filter(e=>e.freeTierRpm?.host&&e.freeTierRpm?.models).map(e=>[e.freeTierRpm.host,e.freeTierRpm.models]))),uu=new Map,Ff=null;function TC(){return Ff||(Ff=Promise.allSettled(cu.filter(e=>e.discover&&!e.discover.requiresAuth).map(async e=>{try{let t=await e.discover.fetchModels();t.length&&uu.set(e.key,t)}catch{}})),Ff)}function Hf(e){return Array.from(new Set(String(e||"").split(/[\s,]+/).map(t=>t.trim()).filter(Boolean)))}function Si(e){let t=String(e||"").trim();if(!t)return!1;try{let n=new URL(t);return n.protocol==="http:"||n.protocol==="https:"}catch{return!1}}function rr(e=[],t=""){return Array.from(new Set([...(Array.isArray(e)?e:[]).map(n=>String(n||"").trim()).filter(Boolean),...Hf(t)]))}function $f(e=[],t,n){if(!t||!n||t===n)return e;let r=[...e],o=r.findIndex(l=>l?.key===t),a=r.findIndex(l=>l?.key===n);if(o===-1||a===-1)return e;let[i]=r.splice(o,1);return r.splice(a,0,i),r}function Ts(e=[],t,n=r=>r?.key){if(!t)return e;let r=e.findIndex(i=>n(i)===t);if(r<=0)return e;let o=[...e],[a]=o.splice(r,1);return o.splice(r-1,0,a),o}function Kf(e=[],t,n=r=>r?.key){if(!t)return e;let r=e.findIndex(i=>n(i)===t);if(r===-1||r>=e.length-1)return e;let o=[...e],[a]=o.splice(r,1);return o.splice(r+1,0,a),o}function my(e,t=[]){let n=e?.getBoundingClientRect?.();return{top:Number.isFinite(n?.top)?Number(n.top):Number.NaN,left:Number.isFinite(n?.left)?Number(n.left):Number.NaN,windowX:typeof window>"u"?0:Number(window.scrollX||window.pageXOffset||0),windowY:typeof window>"u"?0:Number(window.scrollY||window.pageYOffset||0),containers:t.map(r=>({top:Number(r?.scrollTop||0),left:Number(r?.scrollLeft||0)}))}}function MC(e,t,n=.5){return!e||!t||!Number.isFinite(t.top)||!Number.isFinite(t.left)||Math.abs(t.top-e.top)>n||Math.abs(t.left-e.left)>n||Math.abs(t.windowX-e.windowX)>n||Math.abs(t.windowY-e.windowY)>n||(e.containers?.length||0)!==(t.containers?.length||0)?!1:t.containers.every((r,o)=>{let a=e.containers[o];return a?Math.abs(r.top-a.top)<=n&&Math.abs(r.left-a.left)<=n:!1})}function py(e){let t=String(e?.category||"").trim().toLowerCase();if(t==="usage"||t==="router")return t;let n=String(e?.source||"").trim().toLowerCase(),r=String(e?.kind||"").trim().toLowerCase();return n==="runtime"||r.startsWith("request")||r.startsWith("fallback")?"usage":"router"}function Ea(e,t){if(e?.classList){if(t){e.classList.add(...uy);return}e.classList.remove(...uy)}}function Ms(e){return typeof e?.closest=="function"?e.closest("[data-reorder-row='true']"):null}function Gf(e){let t=String(e||"").trim().toLowerCase();return t==="automatic"||t==="smart"?"auto":t==="rr"?"round-robin":t==="weighted-round-robin"||t==="weighted_rr"?"weighted-rr":t==="quota-aware-weighted-round-robin"?"quota-aware-weighted-rr":Object.prototype.hasOwnProperty.call(Uf,t)?t:"ordered"}function qf(e){let t=Gf(e);return Uf[t]||Uf.ordered}function yr(e=[]){return Array.from(new Set((e||[]).map(t=>String(t||"").trim()).filter(Boolean)))}function Os(e=[]){let t=new Set;for(let n of(e||[]).map(r=>String(r||"").trim()).filter(Boolean)){if(t.has(n))return!0;t.add(n)}return!1}function OC(e=[],t="",n=-1){let r=String(t||"").trim().toLowerCase();return r?(e||[]).some((o,a)=>a!==n&&String(o?.name||"").trim().toLowerCase()===r):!1}function kC(){return{id:"",strategy:"auto",targets:[{ref:""}],fallbackTargets:[]}}function _C(e="",t={},{isNew:n=!1}={}){return JSON.stringify({aliasId:n?"":String(e||"").trim(),id:String(t?.id||(n?"":e)||"").trim(),strategy:String(t?.strategy||"ordered").trim()||"ordered",targets:(Array.isArray(t?.targets)?t.targets:[]).map(r=>String(r?.ref||"").trim()),fallbackTargets:(Array.isArray(t?.fallbackTargets)?t.fallbackTargets:[]).map(r=>String(r?.ref||"").trim())})}function du(){if(typeof globalThis<"u"&&globalThis.crypto?.getRandomValues){let t=new Uint8Array(18);return globalThis.crypto.getRandomValues(t),`gw_${Array.from(t,n=>n.toString(16).padStart(2,"0")).join("")}`}return`gw_${Math.random().toString(36).slice(2)}${Date.now().toString(36)}`}function vo(e){return/^[A-Z][A-Z0-9_]*$/.test(String(e||"").trim())}function Dr(e){let t=String(e||"").toLowerCase().replace(/[^a-z0-9-]+/g,"-").replace(/^-+|-+$/g,"").replace(/-{2,}/g,"-");return t?/^[a-z]/.test(t)?t:`provider-${t}`:""}function gy(e,t){let n=Number.parseInt(String(e||""),10);return Number.isFinite(n)&&n>0?n:t}function fu(e={}){return yr((Array.isArray(e?.models)?e.models:[]).map(t=>t?.id))}function mu(e={},{keyPrefix:t="rate-limit",index:n=0,defaults:r=bo.custom.rateLimitDefaults,useDefaults:o=!0}={}){let a=String(e?.sourceId||e?.id||"").trim(),i=e?.requests??e?.limit,l=e?.windowValue??e?.window?.size??e?.window?.value,s=e?.windowUnit??e?.window?.unit;return{key:String(e?.key||"").trim()||`${t}-${a||n+1}`,sourceId:a,models:yo(Array.isArray(e?.models)?e.models:[]),modelsDraft:String(e?.modelsDraft||""),requests:i!==void 0?String(i):o?String(r.limit??""):"",windowValue:l!==void 0?String(l):o?String(r.windowValue??""):"",windowUnit:String(s!==void 0?s:o?r.windowUnit:"minute").trim()||"minute"}}function pu(e=[],{keyPrefix:t="rate-limit",defaults:n=bo.custom.rateLimitDefaults,includeDefault:r=!0}={}){return(Array.isArray(e)&&e.length>0?e:r?[{models:["all"],requests:n.limit,window:{size:n.windowValue,unit:n.windowUnit}}]:[]).map((a,i)=>mu(a,{keyPrefix:t,index:i,defaults:n,useDefaults:!0}))}function Wf(e={}){return yo(rr(e?.models,e?.modelsDraft||"")).length===0&&!String(e?.requests??"").trim()&&!String(e?.windowValue??"").trim()}function br(e=[]){return(Array.isArray(e)?e:[]).map((t,n)=>({key:String(t?.key||`rate-limit-${n+1}`).trim()||`rate-limit-${n+1}`,sourceId:String(t?.sourceId||"").trim(),models:yo(rr(t?.models,t?.modelsDraft||"")),requests:String(t?.requests??"").trim(),windowValue:String(t?.windowValue??"").trim(),windowUnit:il(t?.windowUnit,"minute")})).filter((t,n)=>!Wf({...e?.[n]||{},...t}))}function hy(e=[]){return br(e).map(t=>({sourceId:t.sourceId,models:t.models,requests:t.requests,windowValue:t.windowValue,windowUnit:t.windowUnit}))}function LC(e=[]){let t=Array.isArray(e)?e.filter(Boolean):[];return t.length===0?"":t.length===1?YA(t[0]):`${t.length} rate limits`}function jo(e){return JSON.parse(JSON.stringify(e??{}))}function yy(e,t={}){try{let n=JSON.parse(String(e||"{}"));return n&&typeof n=="object"&&!Array.isArray(n)?n:t}catch{return t}}function DC(e,t={}){try{let n=String(e||"").trim()?JSON.parse(e):{};return!n||typeof n!="object"||Array.isArray(n)?{value:t,parseError:"Config root must be a JSON object."}:{value:n,parseError:""}}catch(n){return{value:t,parseError:n instanceof Error?n.message:String(n)}}}function ks(e){return e?new Date(e).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit"}):"\u2014"}function BC(e){return e?.parseError?"danger":(e?.validationErrors||[]).length>0?"warning":"success"}function Yf(e=no){return[{name:"User-Agent",value:String(e||no)}]}function Qf(e=[]){return(Array.isArray(e)?e:[]).map(t=>({name:String(t?.name||""),value:t?.value===void 0||t?.value===null?"":String(t.value)}))}function vL(e,t=no){if(!e||typeof e!="object"||Array.isArray(e))return Yf(t);let n=Object.entries(e).map(([r,o])=>({name:String(r||""),value:o==null?"":String(o)})).filter(r=>r.name.trim());return n.length>0?n:Yf(t)}function Xf(e=[]){let t={};for(let n of Qf(e)){let r=String(n.name||"").trim();if(!r)continue;let o=r.toLowerCase()==="user-agent",a=String(n.value||"").trim();!a&&!o||(t[r]=a)}return t}function vy(e={}){return JSON.stringify({connectionType:String(e?.connectionType||""),endpoints:Array.isArray(e?.endpoints)?e.endpoints.map(t=>String(t||"").trim()).filter(Boolean):[],apiKeyEnv:String(e?.apiKeyEnv||"").trim(),headers:Xf(e?.headerRows||[])})}function _s(e,t){return String(e||"").trim().startsWith(`${t}/`)}function gu(e){let t=Object.keys(e?.modelAliases||{});if(t.includes(Mt))return Mt;if(t.length>0)return t[0];let n=(e?.providers||[]).find(r=>(r?.models||[]).length>0);return n?.models?.[0]?.id?`${n.id}/${n.models[0].id}`:void 0}function PC(e,t){let n=jo(e&&typeof e=="object"?e:{});n.providers=(Array.isArray(n.providers)?n.providers:[]).filter(i=>i?.id!==t);let r=new Set((n.providers||[]).flatMap(i=>(i.models||[]).map(l=>`${i.id}/${l.id}`))),o=n.modelAliases&&typeof n.modelAliases=="object"?n.modelAliases:{},a={};for(let[i,l]of Object.entries(o)){let s=Array.isArray(l?.targets)?l.targets.filter(d=>!_s(d?.ref,t)):[],c=Array.isArray(l?.fallbackTargets)?l.fallbackTargets.filter(d=>!_s(d?.ref,t)):[];a[i]={...l,...Array.isArray(l?.targets)?{targets:s}:{},...Array.isArray(l?.fallbackTargets)?{fallbackTargets:c}:{}}}return n.modelAliases=a,n.defaultModel&&!n.modelAliases?.[n.defaultModel]&&!r.has(n.defaultModel)&&(n.defaultModel=Mt),n?.amp?.defaultRoute&&!n.modelAliases?.[n.amp.defaultRoute]&&!r.has(n.amp.defaultRoute)&&(n.amp={...n.amp,defaultRoute:n.defaultModel||gu(n)}),n}function Ta(e={}){let t=Array.isArray(e?.metadata?.endpointCandidates)?e.metadata.endpointCandidates:[],n=[e?.baseUrl,...Object.values(e?.baseUrlByFormat||{})];return Array.from(new Set((t.length>0?t:n).map(r=>String(r||"").trim()).filter(Boolean)))}function xL(e={}){let t=String(e?.apiKeyEnv||"").trim();if(t)return{apiKeyEnv:t};let n=String(e?.apiKey||e?.credential||"").trim();return n?{apiKey:n}:{}}function xy(e={},t={}){if(e&&Object.prototype.hasOwnProperty.call(e,"credentialInput")){let n=String(e?.credentialInput||"").trim();return n?vo(n)?{apiKeyEnv:n}:{apiKey:n}:{}}return xL(t)}function xo(e={}){return e?.type==="subscription"?"subscription":"api"}function UC(e={}){if(e?.type==="subscription")return e?.subscriptionType==="claude-code"?"oauth-claude":"oauth-gpt";let t=Ta(e);for(let n of t)try{let r=new URL(String(n||"")).hostname,o=NC(r);if(o)return o.key}catch{}return"custom"}function jC(e={}){let t=Ta(e),n=xo(e),r=UC(e),o=Jf(r);return{id:String(e?.id||"").trim(),name:String(e?.name||e?.id||"").trim(),credentialInput:n==="api"?String(e?.apiKeyEnv||e?.apiKey||e?.credential||"").trim():"",endpoints:n==="api"?t:[],endpointDraft:"",rateLimitRows:n==="api"?pu(e?.rateLimits,{keyPrefix:`provider-${e?.id||"new"}-rate-limit`,defaults:o,includeDefault:!0}):[]}}function VC(e){return Lr(e).label||"API Key"}function Sy(e){for(let t of e||[])try{let n=new URL(String(t||"")).hostname;if(fy[n])return n}catch{}return null}function FC(e,t){let n=fy[e];if(!n||!Array.isArray(t)||t.length===0)return null;let r=n._default||30;return t.map((o,a)=>mu({models:[String(o)],requests:n[o]||r,window:{size:1,unit:"minute"}},{keyPrefix:"preset-rl",index:a}))}function HC(e){let t=new Map;for(let n of e){let r=n.toLowerCase(),o=r.includes("flash-lite")?"flash-lite":r.includes("flash")?"flash":r.includes("pro")?"pro":r;t.has(o)||t.set(o,n)}return[...t.values()]}function wy(e,t="openai"){let n=uu.get(e);if(n?.length)return[...n];let o=Lr(e).defaultModels;return o&&typeof o=="object"&&!Array.isArray(o)?[...o[t]||o.openai||[]]:Array.isArray(o)?[...o]:[]}function Jf(e){return Lr(e).rateLimitDefaults||bo.custom.rateLimitDefaults}function SL(e,t,n=[]){let r=new Set((n||[]).map(a=>a?.id).filter(Boolean));if(!r.has(e))return{providerId:e,providerName:t};let o=2;for(;r.has(`${e}-${o}`);)o++;return{providerId:`${e}-${o}`,providerName:`${t} ${o}`}}function by(e,t="openai"){let n=Lr(e),r=Jf(e),o=n.category==="api";return{providerName:n.providerName,providerId:n.providerId,endpoints:o&&n.endpoint?[n.endpoint]:[],apiKeyEnv:o&&n.apiKeyEnv||"",subscriptionProfile:"",modelIds:e==="custom"?[]:wy(e,t),rateLimitRows:o?pu([],{keyPrefix:`quick-start-${e}-rate-limit`,defaults:r,includeDefault:!0}):[]}}function $C(e={},{baseConfig:t={},nextCategory:n,nextPresetKey:r,defaultProviderUserAgent:o=no}={}){let a=Lr(r),i=n==="api",l=e.selectedConnection||"custom",s=Lr(l),c=by(l),d=Array.isArray(t?.providers)?t.providers:[],u=SL(a.providerId,a.providerName,d),f=e.connectionType==="api"?Yf(o):[],p=i?Yf(o):[],b=Qf(e.headerRows||[]),m=!e.providerId||e.providerId===s.providerId||e.providerId===c.providerId||e.providerId===Dr(e.providerName||""),v=!e.providerName||e.providerName===s.providerName||e.providerName===c.providerName,h=!e.subscriptionProfile||e.subscriptionProfile===c.subscriptionProfile,g=Array.isArray(s.defaultModels)?s.defaultModels:[],y=(e.modelIds||[]).length===0||JSON.stringify(e.modelIds||[])===JSON.stringify(g)||JSON.stringify(e.modelIds||[])===JSON.stringify(c.modelIds||[]),x=JSON.stringify(b)===JSON.stringify(f),A=rr(e.endpoints,e.endpointDraft),N=Array.isArray(c.endpoints)?c.endpoints:[],E=A.length===0||JSON.stringify(A)===JSON.stringify(N),C=String(e.apiKeyEnv||"").trim(),O=!C||C===String(s.apiKeyEnv||"").trim()||C===String(c.apiKeyEnv||"").trim(),L=Array.isArray(a.defaultModels)?[...a.defaultModels]:[],V=by(r);return{...e,connectionType:n,selectedConnection:r,providerName:v?u.providerName:e.providerName,providerId:m?u.providerId:e.providerId,endpoints:i?E?[...V.endpoints]:Array.isArray(e.endpoints)?e.endpoints:[]:[],endpointDraft:i?E?"":String(e.endpointDraft||""):"",apiKeyEnv:i?O?a.apiKeyEnv||"":e.apiKeyEnv:"",subscriptionProfile:i?"":h?V.subscriptionProfile:e.subscriptionProfile,modelIds:y?L.length>0?L:V.modelIds:e.modelIds,modelContextWindows:y?{}:e.modelContextWindows||{},modelDraft:"",rateLimitRows:i?pu([],{keyPrefix:`quick-start-${r}-rate-limit`,defaults:a.rateLimitDefaults||bo.custom.rateLimitDefaults,includeDefault:!0}):[],headerRows:i?b.length===0||x?p:b:[]}}function wL(e={},t="",{aliasId:n=""}={}){if(!t)return null;let r=e?.modelAliases&&typeof e.modelAliases=="object"&&!Array.isArray(e.modelAliases)?e.modelAliases:{},o=n?[[n,r[n]]]:Object.entries(r);for(let[a,i]of o){if(!i||typeof i!="object")continue;let l=Array.isArray(i?.targets)?i.targets:[],s=Array.isArray(i?.fallbackTargets)?i.fallbackTargets:[];if([...l,...s].some(c=>_s(c?.ref,t)))return{aliasId:a,alias:i}}return null}function AL(e,t="",n=[]){let r=Array.from(new Set((n||[]).map(l=>String(l||"").trim()).filter(Boolean)));if(!t||!e?.alias)return r;let o=new Set(r),a=Array.isArray(e.alias?.targets)?e.alias.targets:[],i=[];for(let l of a){let s=String(l?.ref||"").trim();if(!_s(s,t))continue;let c=s.slice(t.length+1);!o.has(c)||i.includes(c)||i.push(c)}return i.length>0?i:r}function Zf(e=[],t=[]){let n=Array.from(new Set((t||[]).map(a=>String(a||"").trim()).filter(Boolean))),r=new Set(n),o=[];for(let a of(e||[]).map(i=>String(i||"").trim()).filter(Boolean))r.has(a)&&(o.push(a),r.delete(a));return[...o,...n.filter(a=>r.has(a))]}function IC(e,{fromProviderId:t,toProviderId:n,allowedModelIds:r}){if(!e||typeof e!="object")return e;let o=String(e.ref||"").trim();if(!t||!_s(o,t))return e;let a=o.slice(t.length+1);return r.has(a)?{...e,ref:`${n}/${a}`}:null}function CL(e,t){if(!e||typeof e!="object")return e;let n={...e},r=Array.isArray(e.targets),o=Array.isArray(e.fallbackTargets);return r&&(n.targets=e.targets.map(a=>IC(a,t)).filter(Boolean)),o&&(n.fallbackTargets=e.fallbackTargets.map(a=>IC(a,t)).filter(Boolean)),n}function RL(e,{fromProviderId:t,toProviderId:n,allowedModelIds:r}){let o=String(e||"").trim();if(!o||!t||!_s(o,t))return o;let a=o.slice(t.length+1);return r.has(a)?`${n}/${a}`:""}function NL(e=[]){return new Set((e||[]).flatMap(t=>(t?.models||[]).map(n=>`${t.id}/${n.id}`)))}function KC(e={},{seedMode:t="blank",targetProviderId:n="",defaultProviderUserAgent:r=no}={}){let o=Array.isArray(e?.providers)?e.providers:[],a=n&&o.find(y=>y?.id===n)||null,i=t==="existing"||!!a,l=i?a||o[0]||{}:{},s=i?xo(l):"api",c=i?UC(l):"custom",d=l?.format==="claude"?"claude":"openai",u=by(c,d),f=Jf(c),p=Array.isArray(l?.models)?l.models.map(y=>y?.id).filter(Boolean):[],b=String(l?.id||u.providerId||Dr(l?.name||u.providerName||"my-provider")||"my-provider"),m=i?wL(e,b,{aliasId:Mt}):null,v=p.length>0?p:[...u.modelIds],h=Object.fromEntries((Array.isArray(l?.models)?l.models:[]).map(y=>{let x=String(y?.id||"").trim(),A=Number(y?.contextWindow);return!x||!Number.isFinite(A)||A<=0?null:[x,Math.floor(A)]}).filter(Boolean)),g=s==="api"?vL(l?.headers,r):[];return{connectionType:s,selectedConnection:c,providerName:String(l?.name||u.providerName),providerId:b,endpoints:Ta(l).length>0?Ta(l):u.endpoints,endpointDraft:"",apiKeyEnv:String(l?.apiKeyEnv||l?.apiKey||u.apiKeyEnv),subscriptionProfile:String(l?.subscriptionProfile||u.subscriptionProfile),modelIds:v,modelContextWindows:h,modelDraft:"",aliasModelIds:AL(m,b,v),headerRows:g,rateLimitRows:s==="api"?pu(l?.rateLimits,{keyPrefix:`quick-start-${b}-rate-limit`,defaults:f,includeDefault:!0}):[],enableAlias:!0,aliasId:Mt,sourceAliasId:m?.aliasId||"",useAliasAsDefault:i?!!m:!0}}function zC(e,t={},n={}){return(e||[]).map(r=>{let o=t[r],a=Number(n?.[r]);return{id:r,...o?{formats:[o]}:{},...Number.isFinite(a)&&a>0?{contextWindow:Math.floor(a)}:{}}})}function Ay(e={}){let t=Dr(e?.providerId||e?.providerName||"")||"";return String(e?.subscriptionProfile||t||"default").trim()||t||"default"}function GC(e={},t,n=null,{targetProviderId:r=""}={}){let o=jo(e&&typeof e=="object"?e:{}),a=Dr(t?.providerId||t?.providerName||"my-provider")||"my-provider",i=String(t?.providerName||a).trim()||a,l=Array.isArray(t?.modelIds)?t.modelIds.map(z=>String(z||"").trim()).filter(Boolean):[],s=Zf(t?.aliasModelIds,l),c=Jf(t?.selectedConnection||t?.connectionType),d=Array.isArray(t?.rateLimitRows)?t.rateLimitRows:[],u=d.length>0?d:[{models:["all"],requests:c.limit,windowValue:c.windowValue,windowUnit:c.windowUnit}],f=Array.isArray(e?.providers)&&e.providers.length>0,p=String(r||"").trim(),b=String(t?.sourceAliasId||"").trim(),m;if(t?.connectionType==="api"){let z=Array.isArray(t?.endpoints)?t.endpoints.map(Ve=>String(Ve||"").trim()).filter(Boolean):[],G=Array.isArray(n?.workingFormats)?n.workingFormats.filter(Boolean):[],Z=n?.preferredFormat||G[0]||"openai",ue=n?.baseUrlByFormat&&typeof n.baseUrlByFormat=="object"?n.baseUrlByFormat:z[0]?{[Z]:z[0]}:void 0,q=Z&&ue?.[Z]||ue?.openai||ue?.claude||z[0]||"",oe=Array.isArray(n?.models)&&n.models.length>0?s.filter(Ve=>n.models.includes(Ve)):s,ee=oe.length>0?oe:s,W=z.length>1?{endpointCandidates:z}:void 0,j=String(t?.apiKeyEnv||"").trim(),Ie=vo(j)?{apiKeyEnv:j}:j?{apiKey:j}:{},ne=Xf(t?.headerRows||[]);m={id:a,name:i,baseUrl:q,baseUrlByFormat:ue,...Ie,...Object.keys(ne).length>0?{headers:ne}:{},format:Z,formats:G.length>0?G:[Z],models:zC(ee,n?.modelPreferredFormat||{},t?.modelContextWindows||{}),...W?{metadata:W}:{}}}else{let z=Lr(t?.selectedConnection||"oauth-gpt"),G=z.subscriptionType||"chatgpt-codex",Z=z.format||"openai";m={id:a,name:i,type:"subscription",subscriptionType:G,subscriptionProfile:Ay(t),format:Z,formats:[Z],models:zC(s,{},t?.modelContextWindows||{})}}m.rateLimits=t?.connectionType==="api"?tu(u,{fallbackRequests:c.limit,fallbackWindowValue:c.windowValue,fallbackWindowUnit:c.windowUnit}):tu([{models:["all"],requests:c.limit,windowValue:c.windowValue,windowUnit:c.windowUnit}],{fallbackRequests:c.limit,fallbackWindowValue:c.windowValue,fallbackWindowUnit:c.windowUnit}),String(o.masterKey||"").trim()||(o.masterKey=du()),o.version=typeof o.version=="number"?o.version:2;let v=Array.isArray(o.providers)?o.providers:[],h=p?v.findIndex(z=>z?.id===p):-1;h===-1&&(h=v.findIndex(z=>z?.id===a)),o.providers=h===-1?[...v,m]:v.map((z,G)=>G===h?m:z);let g=o.modelAliases&&typeof o.modelAliases=="object"&&!Array.isArray(o.modelAliases)?o.modelAliases:{},y=new Set((m.models||[]).map(z=>z.id)),x=!f||t?.useAliasAsDefault===!0,A={};for(let[z,G]of Object.entries(g)){let Z=p?CL(G,{fromProviderId:p,toProviderId:a,allowedModelIds:y}):G;A[z]=Z}let N=m.models?.[0]?.id?`${a}/${m.models[0].id}`:"",E=(s.length>0?s:(m.models||[]).map(z=>z.id)).filter(z=>y.has(z)),C=Mt,O=A[C]&&typeof A[C]=="object"?A[C]:{id:C,strategy:"ordered",targets:[],fallbackTargets:[]};A[C]=x?{...O,id:C,strategy:"ordered",targets:E.map(z=>({ref:`${a}/${z}`})),fallbackTargets:[]}:{...O,id:C,strategy:String(O.strategy||"ordered").trim()||"ordered",targets:Array.isArray(O.targets)?O.targets:[],fallbackTargets:Array.isArray(O.fallbackTargets)?O.fallbackTargets:[]},o.modelAliases=A;let L=NL(o.providers);o.defaultModel=Mt,(!o.amp||typeof o.amp!="object"||Array.isArray(o.amp))&&(o.amp={restrictManagementToLocalhost:!0,overrides:{entities:[]}}),o.amp.restrictManagementToLocalhost===void 0&&(o.amp.restrictManagementToLocalhost=!0),(!o.amp.overrides||typeof o.amp.overrides!="object"||Array.isArray(o.amp.overrides))&&(o.amp.overrides={entities:[]}),Array.isArray(o.amp.overrides.entities)||(o.amp.overrides.entities=[]);let V=String(o.amp.defaultRoute||"").trim();return p&&(V=RL(V,{fromProviderId:p,toProviderId:a,allowedModelIds:y})),(x||!V||!o.modelAliases?.[V]&&!L.has(V))&&(V=Mt),V&&(o.amp.defaultRoute=V),(!o.metadata||typeof o.metadata!="object"||Array.isArray(o.metadata))&&(o.metadata={}),o}function em(e={}){return(Array.isArray(e?.providers)?e.providers:[]).some(n=>{if(n?.enabled===!1)return!1;let r=Array.isArray(n?.models)?n.models.filter(a=>String(a?.id||"").trim()):[],o=Array.isArray(n?.rateLimits)?n.rateLimits:[];return r.length>0&&o.length>0})}function qC(e,t,n={},{targetProviderId:r=""}={}){let o=Dr(t?.providerId||t?.providerName||""),a=rr(t?.modelIds,t?.modelDraft),i=Zf(t?.aliasModelIds,a),l=br(t?.rateLimitRows),s=t?.connectionType==="api"?rr(t?.endpoints,t?.endpointDraft):[],c=Array.isArray(n?.providers)?n.providers:[],d=n?.modelAliases&&typeof n.modelAliases=="object"&&!Array.isArray(n.modelAliases)?n.modelAliases:{};if(e===0){if(!String(t?.providerName||"").trim())return"Add a provider name to continue.";if(!o||!ll.test(o))return"Provider id must start with a letter and use lowercase letters, numbers, or hyphens.";if(c.some(u=>u?.id===o&&u?.id!==r))return"Provider id already exists. Choose another id or edit that provider instead.";if(t?.connectionType==="api"){if(s.length===0)return"Add at least one endpoint to continue.";if(!String(t?.apiKeyEnv||"").trim())return"API key or env is required before testing config."}}if(e===1){if(a.length===0)return"Add at least one model id.";if(t?.connectionType==="api"){let u=Po(l,{knownModelIds:a,requireAtLeastOne:!0});if(u)return u}}return e===2&&t?.useAliasAsDefault&&Object.prototype.hasOwnProperty.call(d,String(t?.aliasId||Mt).trim())===!1,""}function WC(e){return String(e||"").split("-").filter(Boolean).map(t=>t.charAt(0).toUpperCase()+t.slice(1)).join(" ")}function YC(e){let t=String(e||"").trim();if(!t)return"";let n=_f.find(a=>a?.id===t);if(n?.defaultMatch)return String(n.defaultMatch).trim();let r=Zc.find(a=>a?.id===t);if(!r)return"";let o=[...new Set((r.signatures||[]).map(a=>_f.find(i=>i?.id===a)?.defaultMatch).map(a=>String(a||"").trim()).filter(Boolean))];return o.length===1?o[0]:o.join(" | ")}function QC(e){let t=String(e||"").trim();return t?t.length<=10?`${t.slice(0,2)}\u2026${t.slice(-2)}`:`${t.slice(0,4)}\u2026${t.slice(-4)}`:""}function or(e={}){let t=jo(e&&typeof e=="object"&&!Array.isArray(e)?e:{});return(!t.amp||typeof t.amp!="object"||Array.isArray(t.amp))&&(t.amp={}),(!t.amp.routes||typeof t.amp.routes!="object"||Array.isArray(t.amp.routes))&&(t.amp.routes={}),Array.isArray(t.amp.rawModelRoutes)||(t.amp.rawModelRoutes=[]),(!t.amp.overrides||typeof t.amp.overrides!="object"||Array.isArray(t.amp.overrides))&&(t.amp.overrides={}),Array.isArray(t.amp.overrides.entities)||(t.amp.overrides.entities=[]),t.amp.restrictManagementToLocalhost===void 0&&(t.amp.restrictManagementToLocalhost=!0),String(t.amp.preset||"").trim()||(t.amp.preset="builtin"),String(t.amp.defaultRoute||"").trim()||(t.amp.defaultRoute=String(t.defaultModel||gu(t)||"").trim()),t}function Vo(e,t=0,{min:n=0,max:r=Number.MAX_SAFE_INTEGER}={}){let o=Number.parseInt(String(e??""),10);return Number.isFinite(o)?Math.min(r,Math.max(n,o)):t}function EL(){return new Set([...Zc.map(e=>e.id),..._f.map(e=>e.id)].map(e=>String(e||"").trim()).filter(Boolean))}var TL=EL();function hu(e){return TL.has(String(e||"").trim())}function tm(e){(!e.routes||typeof e.routes!="object"||Array.isArray(e.routes))&&(e.routes={}),Array.isArray(e.rawModelRoutes)||(e.rawModelRoutes=[])}function XC(e={}){return String(e?.sourceRouteKey||"").trim()}function Cy(e={}){let n=or(e).amp;tm(n);let r=new Map,o=[];for(let[l,s]of(n.rawModelRoutes||[]).entries()){let c=XC(s);if(c&&hu(c)){r.set(c,{mapping:s,index:l});continue}o.push({id:`raw:${l}`,source:"raw",index:l,routeKey:"",inbound:String(s?.from||"").trim(),outbound:String(s?.to||"").trim(),label:"Custom mapping",description:`Wildcard/raw match: ${String(s?.from||"").trim()||"(empty)"}`,defaultMatch:"",isCustom:!0,removable:!0})}let a=Zc.map(l=>{let s=String(l.id||"").trim(),c=YC(s),d=r.get(s)?.mapping||null;return{id:`route:${s}`,source:"route",routeKey:s,inbound:String(d?.from||c||s).trim(),outbound:String(d?.to||n.routes?.[s]||"").trim(),label:WC(s),description:l.description||"",defaultMatch:c,isCustom:!1,removable:!1}}),i=Object.entries(n.routes||{}).filter(([l])=>!Zc.some(s=>s.id===l)).map(([l,s])=>{let c=String(l||"").trim(),d=YC(c),u=hu(c);return{id:`route:${c}`,source:"route",routeKey:c,inbound:c,outbound:String(s||"").trim(),label:u?d||c:WC(c),description:u?`Route key: ${c}`:`Custom route key: ${c}`,defaultMatch:d,isCustom:!0,removable:!0}});return[...a,...i,...o]}function JC(e,t){return Cy(e).find(n=>n.id===t)||null}function Ry(e={},t,{inbound:n,outbound:r}={}){let o=or(e),a=o.amp;tm(a);let i=JC(o,t);if(!i)return o;let l=String(n??i.inbound??"").trim(),s=String(r??i.outbound??"").trim(),c=i.source==="route"?String(i.routeKey||"").trim():"",d=c?String(i.defaultMatch||"").trim():"",u=c?a.rawModelRoutes.findIndex(b=>XC(b)===c):-1,f=c&&hu(c),p=hu(l)?l:c&&d&&l===d?c:"";if(i.source==="route"&&i.routeKey&&delete a.routes[i.routeKey],i.source==="raw"&&Number.isInteger(i.index)&&a.rawModelRoutes.splice(i.index,1),u>=0&&a.rawModelRoutes.splice(u,1),p)return s&&(a.routes[p]=s),o;if(f){let b=d||c;return s&&(a.routes[c]=s),l&&l!==b&&a.rawModelRoutes.push({from:l,sourceRouteKey:c}),o}return l&&s&&a.rawModelRoutes.push({from:l,to:s}),o}function ZC(e={},{inbound:t,outbound:n}={}){let r=or(e),o=r.amp;tm(o);let a=String(t||"").trim(),i=String(n||"").trim(),l=hu(a)?a:"";return!a||!i?r:l?(o.routes[l]=i,r):(o.rawModelRoutes.push({from:a,to:i}),r)}function e1(e={},t){let n=or(e),r=n.amp;tm(r);let o=JC(n,t);return o?.removable&&(o.source==="route"&&o.routeKey&&delete r.routes[o.routeKey],o.source==="raw"&&Number.isInteger(o.index)&&r.rawModelRoutes.splice(o.index,1)),n}function Ai(e={}){let t=e&&typeof e=="object"&&!Array.isArray(e)?e:{},n=t.amp?.webSearch&&typeof t.amp.webSearch=="object"&&!Array.isArray(t.amp.webSearch)?jo(t.amp.webSearch):null;(!t.webSearch||typeof t.webSearch!="object"||Array.isArray(t.webSearch))&&(t.webSearch=n||{}),t.amp&&typeof t.amp=="object"&&!Array.isArray(t.amp)&&Object.prototype.hasOwnProperty.call(t.amp,"webSearch")&&delete t.amp.webSearch;let r=String(t.webSearch.strategy||"").trim();return t.webSearch.strategy=r==="quota-balance"?"quota-balance":"ordered",t.webSearch.count!==void 0&&t.webSearch.count!==null&&String(t.webSearch.count).trim()!==""?t.webSearch.count=Vo(t.webSearch.count,xi,{min:au,max:iu}):delete t.webSearch.count,Array.isArray(t.webSearch.providers)||(t.webSearch.providers=[]),t.webSearch}function t1(e=""){return String(e||"").trim().includes("/")}function Cn(e=""){let t=String(e||"").trim();return t1(t)?t:t.toLowerCase()}function wi(e="",t=""){let n=String(e||"").trim(),r=String(t||"").trim();return!n||!r?"":`${n}/${r}`}function ML(e={}){return[...new Set([e?.format,...Array.isArray(e?.formats)?e.formats:[]].map(t=>String(t||"").trim().toLowerCase()).filter(t=>t==="openai"||t==="claude"))]}function OL(e={},t={}){let n=String(t?.id||"").trim(),r=n?String(e?.lastProbe?.modelPreferredFormat?.[n]||"").trim().toLowerCase():"";if(r==="openai"||r==="claude")return[r];let o=n?[...new Set((Array.isArray(e?.lastProbe?.modelSupport?.[n])?e.lastProbe.modelSupport[n]:[]).map(a=>String(a||"").trim().toLowerCase()).filter(a=>a==="openai"||a==="claude"))]:[];return o.length>0?o:[...new Set([t?.format,...Array.isArray(t?.formats)?t.formats:[]].map(a=>String(a||"").trim().toLowerCase()).filter(a=>a==="openai"||a==="claude"))]}function n1(e={}){let t=String(e?.subscriptionType||e?.subscription_type||"").trim().toLowerCase();return String(e?.type||"").trim().toLowerCase()==="subscription"?t==="chatgpt-codex":ML(e).includes("openai")?!!String(e?.baseUrlByFormat?.openai||e?.baseUrl||"").trim():!1}function kL(e={}){return String(e?.type||"").trim().toLowerCase()==="subscription"?String(e?.subscriptionType||e?.subscription_type||"").trim().toLowerCase()==="chatgpt-codex":String(e?.apiKey||"").trim()||String(e?.apiKeyEnv||"").trim()||String(e?.auth?.type||"").trim().toLowerCase()==="none"?!0:Object.keys(e?.headers&&typeof e.headers=="object"?e.headers:{}).some(t=>{let n=String(t||"").trim().toLowerCase();return n==="authorization"||n==="x-api-key"})}function _L(e={},t={}){if(!n1(e))return!1;let n=OL(e,t);return n.length===0||n.includes("openai")}function Fo(e={},t=[]){return!e||typeof e!="object"||Array.isArray(e)?!1:t.some(n=>Object.prototype.hasOwnProperty.call(e,n)&&e[n]!==void 0&&e[n]!==null&&String(e[n]).trim()!=="")}function yu(e={},t=""){let n=String(t||e?.id||"").trim().toLowerCase(),r=Na[n];if(!r)return null;let o=r.credentialField,a=String(e?.[o]||"").trim(),i=Fo(e,["count","resultCount","result-count","resultsPerCall","results-per-call"]),l=Fo(e,["limit","monthlyLimit","monthly-limit","quota"]),s=Fo(e,["remaining","remainingQuota","remaining-quota","remainingQueries","remaining-queries"]),c=!!a||l||s,d=c&&Number(r.defaultLimit)||0,u=Vo(e?.count??e?.resultCount??e?.["result-count"]??e?.resultsPerCall??e?.["results-per-call"],xi,{min:au,max:iu}),f=Vo(e?.limit,d,{min:0}),p=f>0?f:0,b=Vo(e?.remaining,p,{min:0});return{kind:"builtin",id:n,[o]:a,...i&&u!==xi?{count:u}:{},...l||c&&f>0?{limit:f}:{},...s||c&&(f>0||b>0)?{remaining:f>0?Math.min(b,f):b}:{}}}function LL(e={},t=""){let n=String(t||e?.id||wi(e?.providerId??e?.provider,e?.model??e?.modelId)).trim();if(!t1(n))return null;let r=String(e?.providerId??e?.provider??n.slice(0,n.indexOf("/"))).trim(),o=String(e?.model??e?.modelId??n.slice(n.indexOf("/")+1)).trim(),a=wi(r,o);return!a||a!==n?null:{kind:"hosted",id:a,providerId:r,model:o}}function DL(e={},t=""){return LL(e,t)||yu(e,t)}function r1(e={},t=new Set){return(Array.isArray(e?.providers)?e.providers:[]).map(r=>{let o=String(r?.id||"").trim();if(!o||r?.enabled===!1||!n1(r)||!kL(r))return null;let a=(Array.isArray(r?.models)?r.models:[]).map(i=>{let l=String(i?.id||"").trim(),s=wi(o,l);return!l||!s||t.has(s)||!_L(r,i)||!l.toLowerCase().includes("gpt")?null:{value:l,label:l,routeId:s}}).filter(Boolean);return a.length===0?null:{providerId:o,providerLabel:String(r?.name||o).trim()||o,providerHint:String(r?.subscriptionType||"").trim().toLowerCase()==="chatgpt-codex"?"ChatGPT subscription":String(r?.baseUrlByFormat?.openai||r?.baseUrl||"").trim()||"OpenAI-compatible endpoint",models:a}}).filter(Boolean)}function o1(e={},t=null){let n=or(e),r=Ai(n),o=Array.isArray(r.providers)?r.providers.map(u=>DL(u,u?.id)).filter(Boolean):[],a=new Set(o.map(u=>Cn(u.id))),i=[...o,...jf.filter(u=>!a.has(u.id)).map(u=>yu({id:u.id},u.id)).filter(Boolean)],l=Array.isArray(t?.providers)?t.providers:[],s=new Map(l.map(u=>[Cn(u?.id),u]).filter(([u])=>!!u)),c=new Map((Array.isArray(e?.providers)?e.providers:[]).map(u=>[String(u?.id||"").trim(),u]).filter(([u])=>!!u)),d=Vo(r?.count,xi,{min:au,max:iu});return i.map(u=>{let f=Cn(u.id),p=s.get(f)||null,b=o.findIndex(N=>Cn(N.id)===f),m=i.findIndex(N=>Cn(N.id)===f),v=u.kind==="hosted"?p?.ready!==!1:!!u?.[Na[u.id]?.credentialField||"apiKey"];if(u.kind==="hosted"){let N=c.get(u.providerId)||null;return{id:u.id,key:u.id,kind:"hosted",label:String(N?.name||u.providerId).trim()||u.providerId,providerId:u.providerId,modelId:u.model,routeId:u.id,configured:!0,configuredIndex:b,configuredCount:o.length,displayIndex:m,displayCount:i.length,active:v,runtimeState:p}}let h=Na[u.id],g=h?.credentialField||"apiKey",y=String(u?.[g]||"").trim(),x=Fo(u,["count"]),A=Vo(u?.count,d,{min:au,max:iu});return{id:u.id,key:u.id,kind:"builtin",label:h?.label||u.id,credentialField:g,credentialLabel:h?.credentialLabel||"Credential",credentialPlaceholder:h?.credentialPlaceholder||"",credentialValue:y,resultPerCall:A,resultPerCallInput:x?String(A):d!==xi?String(d):"",limit:Vo(u?.limit,h?.defaultLimit||0,{min:0}),remaining:Vo(u?.remaining,h?.defaultLimit||0,{min:0}),configured:!!y,configuredIndex:b,configuredCount:o.length,displayIndex:m,displayCount:i.length,active:v,runtimeState:p}})}function a1(e=[],t=""){let n=[],r=new Set;for(let i of Array.isArray(e)?e:[]){if(!i?.configured)continue;let l=String(i?.id||"").trim(),s=Cn(l);if(!l||!s||r.has(s))continue;let c=i.kind==="hosted"?[String(i?.label||"").trim(),String(i?.modelId||"").trim()].filter(Boolean).join(" \xB7 "):String(i?.label||l).trim()||l,d=i.kind==="hosted"?String(i?.routeId||l).trim()||"Hosted web search route":i.active===!1?"Configured but not ready":"Configured provider";n.push({value:l,label:c,hint:d,groupKey:i.kind==="hosted"?"hosted-web-search-routes":"builtin-web-search-providers",groupLabel:i.kind==="hosted"?"Hosted search routes":"Built-in search providers"}),r.add(s)}let o=String(t||"").trim(),a=Cn(o);return o&&a&&!r.has(a)&&n.unshift({value:o,label:o,hint:"Current config (not configured)",groupKey:"current-claude-selection",groupLabel:"Current selection"}),n}function i1(e={},t={}){let n=or(e),r=Ai(n);return t.strategy!==void 0&&(r.strategy=String(t.strategy||"").trim()==="quota-balance"?"quota-balance":"ordered"),t.count!==void 0&&(r.count=Vo(t.count,r.count,{min:1,max:20})),n}function l1(e={},t,n={}){let r=String(t||"").trim().toLowerCase();if(!Na[r])return or(e);let o=or(e),a=Ai(o),i=Array.isArray(a.providers)?a.providers.slice():[],l=i.findIndex(g=>Cn(g?.id)===r),s=l>=0?i[l]:null,c=yu(s||{id:r},r)||yu({id:r},r),u=Na[r].credentialField,f=yu({...s&&typeof s=="object"&&!Array.isArray(s)?s:{},...c,...n,id:r,[u]:n[u]!==void 0?String(n[u]||"").trim():c?.[u]},r),p=!!String(f?.[u]||"").trim(),b=Fo(n,["count"])?!!String(n?.count||"").trim()&&Number(f?.count)!==xi:Fo(s,["count"])&&Number(f?.count)!==xi,m=p||Fo(n,["limit"])||Fo(s,["limit"]),v=p||Fo(n,["remaining"])||Fo(s,["remaining"]),h={id:r,...p?{[u]:String(f?.[u]||"").trim()}:{},...b?{count:Number(f.count)}:{},...m&&Number(f?.limit)>0?{limit:Number(f.limit)}:{},...v&&(Number(f?.limit)>0||Number(f?.remaining)>0)?{remaining:Number(f.remaining)}:{}};return l>=0?i[l]=h:i.push(h),a.providers=i,o}function s1(e={},t,n){let r=wi(t,n);if(!r)return or(e);let o=or(e),a=Ai(o),i=Array.isArray(a.providers)?a.providers.slice():[],l=Cn(r);return i.some(s=>Cn(s?.id)===l)||(i.push({id:r,providerId:String(t||"").trim(),model:String(n||"").trim()}),a.providers=i),o}function c1(e={},t){let n=Cn(t),r=or(e),o=Ai(r),a=Array.isArray(o.providers)?o.providers.slice():[],i=a.filter(l=>Cn(l?.id)!==n);return i.length===a.length||(o.providers=i),r}function u1(e={},t,n="up"){let r=Cn(t),o=or(e),a=Ai(o),i=Array.isArray(a.providers)?a.providers.slice():[],l=new Map(i.map(m=>[Cn(m?.id),m]).filter(([m])=>!!m)),s=i.findIndex(m=>Cn(m?.id)===r);if(s!==-1){let m=n==="down"?s+1:s-1;if(m<0||m>=i.length)return o;let[v]=i.splice(s,1);return i.splice(m,0,v),a.providers=i,o}if(!Na[r])return o;let c=[...i.map(m=>Cn(m?.id)).filter(Boolean),...jf.map(m=>m.id).filter(m=>!l.has(m))],d=c.indexOf(r);if(d===-1)return o;let u=n==="down"?d+1:d-1;if(u<0||u>=c.length)return o;let f=c.slice(),[p]=f.splice(d,1);f.splice(u,0,p);let b=new Set(l.keys());b.add(r);for(let m of f.slice(0,u+1))Na[m]&&b.add(m);return a.providers=f.filter(m=>b.has(m)).map(m=>l.get(m)||{id:m}),o}function d1(e,t,n){let r=String(e||"").trim().toLowerCase(),o=Na[r];return!o||String(t||"").trim()!==o.credentialField?!1:!String(n||"").trim()}function Ho(e){let t=Number(e);if(!Number.isFinite(t)||t<=0)return"Unknown";if(t>=1e3){let n=t/1e3;return`${Number.isInteger(n)?String(n):n.toFixed(1).replace(/\.0$/,"")}K`}return String(t)}function g1(e){let t=Number(e);if(!Number.isFinite(t)||t<=0)return"";let n=[{suffix:"M",divisor:1e3*1e3},{suffix:"K",divisor:1e3}];for(let r of n){if(t<r.divisor)continue;let o=t/r.divisor;return`${o>=10?String(Math.round(o)):o.toFixed(1).replace(/\.0$/,"")}${r.suffix}`}return String(t)}function bu(e){let t=$o(e),n=Number(t);return!Number.isFinite(n)||n<=0?String(e||""):new Intl.NumberFormat().format(n)}function BL(e={}){let t=new Map;for(let n of Array.isArray(e?.providers)?e.providers:[]){let r=String(n?.id||"").trim();if(r)for(let o of Array.isArray(n?.models)?n.models:[]){let a=String(o?.id||"").trim();a&&t.set(`${r}/${a}`,{ref:`${r}/${a}`,providerId:r,providerName:String(n?.name||r).trim()||r,modelId:a,contextWindow:Number.isFinite(o?.contextWindow)?Number(o.contextWindow):null})}}return t}function IL(e="",t={}){let n=t?.modelAliases&&typeof t.modelAliases=="object"&&!Array.isArray(t.modelAliases)?t.modelAliases:{},r=BL(t),o=new Set,a=new Set,i=[],l=[];function s(p){let b=String(p||"").trim();if(!b)return;if(r.has(b)){if(a.has(b))return;a.add(b),i.push(r.get(b));return}let m=b.startsWith("alias:")?b.slice(6).trim():b;if(!m||!Object.prototype.hasOwnProperty.call(n,m)){l.includes(b)||l.push(b);return}if(o.has(m))return;o.add(m);let v=n[m];for(let h of[...v?.targets||[],...v?.fallbackTargets||[]])s(h?.ref)}s(e);let c=i.filter(p=>Number.isFinite(p?.contextWindow)),d=[...new Set(c.map(p=>p.contextWindow))].sort((p,b)=>p-b),u=d[0]??null,f=d[d.length-1]??null;return{aliasId:e,models:i,unknownRefs:l,smallestContextWindow:u,largestContextWindow:f,hasMixedContextWindows:d.length>1}}function h1(e={}){let t=e?.modelAliases&&typeof e.modelAliases=="object"&&!Array.isArray(e.modelAliases)?e.modelAliases:{};return Object.keys(t).map(n=>IL(n,e)).filter(n=>n.hasMixedContextWindows).sort((n,r)=>String(n.aliasId||"").localeCompare(String(r.aliasId||"")))}function nm(e=""){let t=String(e||"Select alias").trim()||"Select alias",n=Math.min(Math.max(Math.ceil(t.length*8.5+62),160),520);if(typeof document>"u")return n;let o=(nm.canvas||(nm.canvas=document.createElement("canvas"))).getContext("2d");return o?(o.font='500 14px "Inter", "SF Pro Display", ui-sans-serif, system-ui, sans-serif',Math.min(Math.max(Math.ceil(o.measureText(t).width+62),160),520)):n}function f1(e={}){return`${String(e?.model||"").trim()}::${String(e?.contextWindow||"").trim()}`}function zL(e){return String(e||"").trim().replace(/[.,\s_'`]/g,"")}function $o(e){let t=zL(e);if(!t)return"";let n=Number.parseInt(t,10);return Number.isFinite(n)&&n>0?String(n):t}function m1(e={}){let t=String(e?.model||"").trim(),n=String(e?.provider||"").trim(),r=String(e?.mode||"").trim(),o=Number(e?.contextWindow);return!Number.isFinite(o)||o<=0?null:{model:t,provider:n,mode:r,contextWindow:Math.floor(o),...e?.capabilities?{capabilities:e.capabilities}:{}}}function p1(e="",t=""){let n=String(e||"").trim(),r=String(t||"").trim();if(!n||!r)return n;let o=n.toLowerCase(),a=r.toLowerCase(),i=[`${a}/`,`${a}:`];for(let l of i){if(!o.startsWith(l))continue;return n.slice(l.length).trim()||n}return n}function Ls(e={},{fallbackQuery:t=""}={}){let n=String(e?.query||t||"").trim(),r=m1(e?.exactMatch),o=(Array.isArray(e?.suggestions)?e.suggestions:[]).map(d=>m1(d)).filter(Boolean),a=Number(e?.medianContextWindow),i=Number.isFinite(a)&&a>0?Math.floor(a):r?.contextWindow||null,l=[],s=new Set;function c(d){!d?.key||s.has(d.key)||(s.add(d.key),l.push(d))}r&&c({key:`exact::${f1(r)}`,label:p1(r.model,r.provider)||"Exact match",detail:r.provider?`Exact \xB7 ${r.provider}`:"Exact",contextWindow:r.contextWindow});for(let d of o)c({key:f1(d),label:p1(d.model,d.provider)||"Suggestion",detail:d.provider||"Known model",contextWindow:d.contextWindow});return{query:n,exactMatch:r,suggestions:o,medianContextWindow:i,options:l,status:l.length>0?"ready":"miss"}}function rm(e={}){let t=Ls(e);return t.exactMatch?.contextWindow?String(t.exactMatch.contextWindow):t.medianContextWindow?String(t.medianContextWindow):""}function y1(e=[]){let t=new Map;for(let n of Array.isArray(e)?e:[]){let r=Ls(n);r.query&&t.set(r.query,r)}return t}function b1(e=[]){let t={};for(let n of Array.isArray(e)?e:[]){let r=String(n?.query||"").trim(),o=rm(n);!r||!o||(t[r]=Number(o))}return t}async function Ze(e,t={}){let n=await fetch(e,t),r=await n.json().catch(()=>({}));if(!n.ok){let o=new Error(r?.error||`Request failed (${n.status})`);throw o.statusCode=n.status,o.payload=r,o}return r}async function vu(e,t={},{onMessage:n}={}){let r=await fetch(e,t);if(!r.ok){let c=await r.json().catch(()=>({})),d=new Error(c?.error||`Request failed (${r.status})`);throw d.statusCode=r.status,d.payload=c,d}let o=r.body?.getReader();if(!o)return null;let a=new TextDecoder,i="",l=null;for(;;){let{value:c,done:d}=await o.read();i+=a.decode(c||new Uint8Array,{stream:!d});let u=i.indexOf(`
10
+ `);for(;u>=0;){let f=i.slice(0,u).trim();if(i=i.slice(u+1),f){let p=JSON.parse(f);if(n?.(p),p?.type==="result"&&(l=p.result),p?.type==="error"){let b=new Error(p.error||"Request failed.");throw b.statusCode=p.statusCode||500,b}}u=i.indexOf(`
11
+ `)}if(d)break}let s=i.trim();if(s){let c=JSON.parse(s);if(n?.(c),c?.type==="result"&&(l=c.result),c?.type==="error"){let d=new Error(c.error||"Request failed.");throw d.statusCode=c.statusCode||500,d}}return l}async function v1(e,t,n){let r=HC(n);if(r.length===0)return null;try{let o=await Ze("/api/config/probe-free-tier-models",{method:"POST",headers:Xe,body:JSON.stringify({baseUrl:e,...vo(t)?{apiKeyEnv:t}:{apiKey:t},modelIds:r})});if(!o?.result)return null;let a=new Set,i=new Set;for(let[l,s]of Object.entries(o.result)){let c=l.toLowerCase(),d=c.includes("flash-lite")?"flash-lite":c.includes("flash")?"flash":c.includes("pro")?"pro":c;s?.freeTier?a.add(d):i.add(d)}return n.filter(l=>{let s=l.toLowerCase(),c=s.includes("flash-lite")?"flash-lite":s.includes("flash")?"flash":s.includes("pro")?"pro":s;return a.has(c)?!0:!i.has(c)})}catch{return null}}async function xu(e=[]){let t=[...new Set((Array.isArray(e)?e:[]).map(r=>String(r||"").trim()).filter(Boolean))];if(t.length===0)return[];let n=await Ze("/api/config/litellm-context-lookup",{method:"POST",headers:Xe,body:JSON.stringify({models:t,limit:dC})});return Array.isArray(n?.result)?n.result:[]}async function x1(e={}){let t=await Ze("/api/local-models/search-huggingface",{method:"POST",headers:Xe,body:JSON.stringify(e)});return Array.isArray(t?.results)?t.results:[]}async function S1(e,{onMessage:t}={}){return vu("/api/local-models/download-managed",{method:"POST",headers:Xe,body:JSON.stringify(e)},{onMessage:t})}async function w1(e){return(await Ze("/api/local-models/variants/save",{method:"POST",headers:Xe,body:JSON.stringify({variant:e})}))?.variants||{}}async function A1(e){return await Ze("/api/local-models/attach",{method:"POST",headers:Xe,body:JSON.stringify(e)})}async function C1(e){return await Ze("/api/local-models/locate",{method:"POST",headers:Xe,body:JSON.stringify(e)})}async function R1(e){return await Ze("/api/local-models/remove",{method:"POST",headers:Xe,body:JSON.stringify({baseModelId:e})})}async function N1(){return await Ze("/api/local-models/reconcile",{method:"POST",headers:Xe,body:"{}"})}async function Ny(){return Ze("/api/local-models/runtime/discover",{method:"POST",headers:Xe,body:"{}"})}async function E1(e){return Ze("/api/local-models/runtime/select",{method:"POST",headers:Xe,body:JSON.stringify({command:e})})}async function om(e="file"){return Ze("/api/local-models/browse",{method:"POST",headers:Xe,body:JSON.stringify({selection:e})})}async function T1(e){return Ze("/api/local-models/scan-path",{method:"POST",headers:Xe,body:JSON.stringify({path:e})})}var D4=B(xe(),1);var pt=B(xe(),1);var le=B(xe(),1),gb=B(Bi(),1);function Ey(e,[t,n]){return Math.min(n,Math.max(t,e))}var an=B(xe(),1);var M1=B(xe(),1);function O1(e,t=globalThis?.document){let n=pr(e);M1.useEffect(()=>{let r=o=>{o.key==="Escape"&&n(o)};return t.addEventListener("keydown",r,{capture:!0}),()=>t.removeEventListener("keydown",r,{capture:!0})},[n,t])}var My=B(te(),1),PL="DismissableLayer",Ty="dismissableLayer.update",UL="dismissableLayer.pointerDownOutside",jL="dismissableLayer.focusOutside",k1,L1=an.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Oy=an.forwardRef((e,t)=>{let{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:r,onPointerDownOutside:o,onFocusOutside:a,onInteractOutside:i,onDismiss:l,...s}=e,c=an.useContext(L1),[d,u]=an.useState(null),f=d?.ownerDocument??globalThis?.document,[,p]=an.useState({}),b=Tt(t,E=>u(E)),m=Array.from(c.layers),[v]=[...c.layersWithOutsidePointerEventsDisabled].slice(-1),h=m.indexOf(v),g=d?m.indexOf(d):-1,y=c.layersWithOutsidePointerEventsDisabled.size>0,x=g>=h,A=HL(E=>{let C=E.target,O=[...c.branches].some(L=>L.contains(C));!x||O||(o?.(E),i?.(E),E.defaultPrevented||l?.())},f),N=$L(E=>{let C=E.target;[...c.branches].some(L=>L.contains(C))||(a?.(E),i?.(E),E.defaultPrevented||l?.())},f);return O1(E=>{g===c.layers.size-1&&(r?.(E),!E.defaultPrevented&&l&&(E.preventDefault(),l()))},f),an.useEffect(()=>{if(d)return n&&(c.layersWithOutsidePointerEventsDisabled.size===0&&(k1=f.body.style.pointerEvents,f.body.style.pointerEvents="none"),c.layersWithOutsidePointerEventsDisabled.add(d)),c.layers.add(d),_1(),()=>{n&&c.layersWithOutsidePointerEventsDisabled.size===1&&(f.body.style.pointerEvents=k1)}},[d,f,n,c]),an.useEffect(()=>()=>{d&&(c.layers.delete(d),c.layersWithOutsidePointerEventsDisabled.delete(d),_1())},[d,c]),an.useEffect(()=>{let E=()=>p({});return document.addEventListener(Ty,E),()=>document.removeEventListener(Ty,E)},[]),(0,My.jsx)(at.div,{...s,ref:b,style:{pointerEvents:y?x?"auto":"none":void 0,...e.style},onFocusCapture:vt(e.onFocusCapture,N.onFocusCapture),onBlurCapture:vt(e.onBlurCapture,N.onBlurCapture),onPointerDownCapture:vt(e.onPointerDownCapture,A.onPointerDownCapture)})});Oy.displayName=PL;var VL="DismissableLayerBranch",FL=an.forwardRef((e,t)=>{let n=an.useContext(L1),r=an.useRef(null),o=Tt(t,r);return an.useEffect(()=>{let a=r.current;if(a)return n.branches.add(a),()=>{n.branches.delete(a)}},[n.branches]),(0,My.jsx)(at.div,{...e,ref:o})});FL.displayName=VL;function HL(e,t=globalThis?.document){let n=pr(e),r=an.useRef(!1),o=an.useRef(()=>{});return an.useEffect(()=>{let a=l=>{if(l.target&&!r.current){let c=function(){D1(UL,n,d,{discrete:!0})};var s=c;let d={originalEvent:l};l.pointerType==="touch"?(t.removeEventListener("click",o.current),o.current=c,t.addEventListener("click",o.current,{once:!0})):c()}else t.removeEventListener("click",o.current);r.current=!1},i=window.setTimeout(()=>{t.addEventListener("pointerdown",a)},0);return()=>{window.clearTimeout(i),t.removeEventListener("pointerdown",a),t.removeEventListener("click",o.current)}},[t,n]),{onPointerDownCapture:()=>r.current=!0}}function $L(e,t=globalThis?.document){let n=pr(e),r=an.useRef(!1);return an.useEffect(()=>{let o=a=>{a.target&&!r.current&&D1(jL,n,{originalEvent:a},{discrete:!1})};return t.addEventListener("focusin",o),()=>t.removeEventListener("focusin",o)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function _1(){let e=new CustomEvent(Ty);document.dispatchEvent(e)}function D1(e,t,n,{discrete:r}){let o=n.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&o.addEventListener(e,t,{once:!0}),r?bA(o,a):o.dispatchEvent(a)}var I1=B(xe(),1),ky=0;function z1(){I1.useEffect(()=>{let e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??B1()),document.body.insertAdjacentElement("beforeend",e[1]??B1()),ky++,()=>{ky===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(t=>t.remove()),ky--}},[])}function B1(){let e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var ro=B(xe(),1);var F1=B(te(),1),_y="focusScope.autoFocusOnMount",Ly="focusScope.autoFocusOnUnmount",P1={bubbles:!1,cancelable:!0},KL="FocusScope",Dy=ro.forwardRef((e,t)=>{let{loop:n=!1,trapped:r=!1,onMountAutoFocus:o,onUnmountAutoFocus:a,...i}=e,[l,s]=ro.useState(null),c=pr(o),d=pr(a),u=ro.useRef(null),f=Tt(t,m=>s(m)),p=ro.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;ro.useEffect(()=>{if(r){let g=function(N){if(p.paused||!l)return;let E=N.target;l.contains(E)?u.current=E:Ci(u.current,{select:!0})},y=function(N){if(p.paused||!l)return;let E=N.relatedTarget;E!==null&&(l.contains(E)||Ci(u.current,{select:!0}))},x=function(N){if(document.activeElement===document.body)for(let C of N)C.removedNodes.length>0&&Ci(l)};var m=g,v=y,h=x;document.addEventListener("focusin",g),document.addEventListener("focusout",y);let A=new MutationObserver(x);return l&&A.observe(l,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",g),document.removeEventListener("focusout",y),A.disconnect()}}},[r,l,p.paused]),ro.useEffect(()=>{if(l){j1.add(p);let m=document.activeElement;if(!l.contains(m)){let h=new CustomEvent(_y,P1);l.addEventListener(_y,c),l.dispatchEvent(h),h.defaultPrevented||(GL(XL(H1(l)),{select:!0}),document.activeElement===m&&Ci(l))}return()=>{l.removeEventListener(_y,c),setTimeout(()=>{let h=new CustomEvent(Ly,P1);l.addEventListener(Ly,d),l.dispatchEvent(h),h.defaultPrevented||Ci(m??document.body,{select:!0}),l.removeEventListener(Ly,d),j1.remove(p)},0)}}},[l,c,d,p]);let b=ro.useCallback(m=>{if(!n&&!r||p.paused)return;let v=m.key==="Tab"&&!m.altKey&&!m.ctrlKey&&!m.metaKey,h=document.activeElement;if(v&&h){let g=m.currentTarget,[y,x]=qL(g);y&&x?!m.shiftKey&&h===x?(m.preventDefault(),n&&Ci(y,{select:!0})):m.shiftKey&&h===y&&(m.preventDefault(),n&&Ci(x,{select:!0})):h===g&&m.preventDefault()}},[n,r,p.paused]);return(0,F1.jsx)(at.div,{tabIndex:-1,...i,ref:f,onKeyDown:b})});Dy.displayName=KL;function GL(e,{select:t=!1}={}){let n=document.activeElement;for(let r of e)if(Ci(r,{select:t}),document.activeElement!==n)return}function qL(e){let t=H1(e),n=U1(t,e),r=U1(t.reverse(),e);return[n,r]}function H1(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{let o=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||o?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function U1(e,t){for(let n of e)if(!WL(n,{upTo:t}))return n}function WL(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function YL(e){return e instanceof HTMLInputElement&&"select"in e}function Ci(e,{select:t=!1}={}){if(e&&e.focus){let n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&YL(e)&&t&&e.select()}}var j1=QL();function QL(){let e=[];return{add(t){let n=e[0];t!==n&&n?.pause(),e=V1(e,t),e.unshift(t)},remove(t){e=V1(e,t),e[0]?.resume()}}}function V1(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function XL(e){return e.filter(t=>t.tagName!=="A")}var xr=B(xe(),1);var G1=["top","right","bottom","left"];var Ko=Math.min,ar=Math.max,wu=Math.round,Au=Math.floor,So=e=>({x:e,y:e}),JL={left:"right",right:"left",bottom:"top",top:"bottom"};function im(e,t,n){return ar(e,Ko(t,n))}function Go(e,t){return typeof e=="function"?e(t):e}function qo(e){return e.split("-")[0]}function sl(e){return e.split("-")[1]}function lm(e){return e==="x"?"y":"x"}function sm(e){return e==="y"?"height":"width"}function wo(e){let t=e[0];return t==="t"||t==="b"?"y":"x"}function cm(e){return lm(wo(e))}function q1(e,t,n){n===void 0&&(n=!1);let r=sl(e),o=cm(e),a=sm(o),i=o==="x"?r===(n?"end":"start")?"right":"left":r==="start"?"bottom":"top";return t.reference[a]>t.floating[a]&&(i=Su(i)),[i,Su(i)]}function W1(e){let t=Su(e);return[am(e),t,am(t)]}function am(e){return e.includes("start")?e.replace("start","end"):e.replace("end","start")}var $1=["left","right"],K1=["right","left"],ZL=["top","bottom"],eD=["bottom","top"];function tD(e,t,n){switch(e){case"top":case"bottom":return n?t?K1:$1:t?$1:K1;case"left":case"right":return t?ZL:eD;default:return[]}}function Y1(e,t,n,r){let o=sl(e),a=tD(qo(e),n==="start",r);return o&&(a=a.map(i=>i+"-"+o),t&&(a=a.concat(a.map(am)))),a}function Su(e){let t=qo(e);return JL[t]+e.slice(t.length)}function nD(e){return{top:0,right:0,bottom:0,left:0,...e}}function By(e){return typeof e!="number"?nD(e):{top:e,right:e,bottom:e,left:e}}function cl(e){let{x:t,y:n,width:r,height:o}=e;return{width:r,height:o,top:n,left:t,right:t+r,bottom:n+o,x:t,y:n}}function Q1(e,t,n){let{reference:r,floating:o}=e,a=wo(t),i=cm(t),l=sm(i),s=qo(t),c=a==="y",d=r.x+r.width/2-o.width/2,u=r.y+r.height/2-o.height/2,f=r[l]/2-o[l]/2,p;switch(s){case"top":p={x:d,y:r.y-o.height};break;case"bottom":p={x:d,y:r.y+r.height};break;case"right":p={x:r.x+r.width,y:u};break;case"left":p={x:r.x-o.width,y:u};break;default:p={x:r.x,y:r.y}}switch(sl(t)){case"start":p[i]-=f*(n&&c?-1:1);break;case"end":p[i]+=f*(n&&c?-1:1);break}return p}async function Z1(e,t){var n;t===void 0&&(t={});let{x:r,y:o,platform:a,rects:i,elements:l,strategy:s}=e,{boundary:c="clippingAncestors",rootBoundary:d="viewport",elementContext:u="floating",altBoundary:f=!1,padding:p=0}=Go(t,e),b=By(p),v=l[f?u==="floating"?"reference":"floating":u],h=cl(await a.getClippingRect({element:(n=await(a.isElement==null?void 0:a.isElement(v)))==null||n?v:v.contextElement||await(a.getDocumentElement==null?void 0:a.getDocumentElement(l.floating)),boundary:c,rootBoundary:d,strategy:s})),g=u==="floating"?{x:r,y:o,width:i.floating.width,height:i.floating.height}:i.reference,y=await(a.getOffsetParent==null?void 0:a.getOffsetParent(l.floating)),x=await(a.isElement==null?void 0:a.isElement(y))?await(a.getScale==null?void 0:a.getScale(y))||{x:1,y:1}:{x:1,y:1},A=cl(a.convertOffsetParentRelativeRectToViewportRelativeRect?await a.convertOffsetParentRelativeRectToViewportRelativeRect({elements:l,rect:g,offsetParent:y,strategy:s}):g);return{top:(h.top-A.top+b.top)/x.y,bottom:(A.bottom-h.bottom+b.bottom)/x.y,left:(h.left-A.left+b.left)/x.x,right:(A.right-h.right+b.right)/x.x}}var rD=50,eR=async(e,t,n)=>{let{placement:r="bottom",strategy:o="absolute",middleware:a=[],platform:i}=n,l=i.detectOverflow?i:{...i,detectOverflow:Z1},s=await(i.isRTL==null?void 0:i.isRTL(t)),c=await i.getElementRects({reference:e,floating:t,strategy:o}),{x:d,y:u}=Q1(c,r,s),f=r,p=0,b={};for(let m=0;m<a.length;m++){let v=a[m];if(!v)continue;let{name:h,fn:g}=v,{x:y,y:x,data:A,reset:N}=await g({x:d,y:u,initialPlacement:r,placement:f,strategy:o,middlewareData:b,rects:c,platform:l,elements:{reference:e,floating:t}});d=y??d,u=x??u,b[h]={...b[h],...A},N&&p<rD&&(p++,typeof N=="object"&&(N.placement&&(f=N.placement),N.rects&&(c=N.rects===!0?await i.getElementRects({reference:e,floating:t,strategy:o}):N.rects),{x:d,y:u}=Q1(c,f,s)),m=-1)}return{x:d,y:u,placement:f,strategy:o,middlewareData:b}},tR=e=>({name:"arrow",options:e,async fn(t){let{x:n,y:r,placement:o,rects:a,platform:i,elements:l,middlewareData:s}=t,{element:c,padding:d=0}=Go(e,t)||{};if(c==null)return{};let u=By(d),f={x:n,y:r},p=cm(o),b=sm(p),m=await i.getDimensions(c),v=p==="y",h=v?"top":"left",g=v?"bottom":"right",y=v?"clientHeight":"clientWidth",x=a.reference[b]+a.reference[p]-f[p]-a.floating[b],A=f[p]-a.reference[p],N=await(i.getOffsetParent==null?void 0:i.getOffsetParent(c)),E=N?N[y]:0;(!E||!await(i.isElement==null?void 0:i.isElement(N)))&&(E=l.floating[y]||a.floating[b]);let C=x/2-A/2,O=E/2-m[b]/2-1,L=Ko(u[h],O),V=Ko(u[g],O),z=L,G=E-m[b]-V,Z=E/2-m[b]/2+C,ue=im(z,Z,G),q=!s.arrow&&sl(o)!=null&&Z!==ue&&a.reference[b]/2-(Z<z?L:V)-m[b]/2<0,oe=q?Z<z?Z-z:Z-G:0;return{[p]:f[p]+oe,data:{[p]:ue,centerOffset:Z-ue-oe,...q&&{alignmentOffset:oe}},reset:q}}});var nR=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var n,r;let{placement:o,middlewareData:a,rects:i,initialPlacement:l,platform:s,elements:c}=t,{mainAxis:d=!0,crossAxis:u=!0,fallbackPlacements:f,fallbackStrategy:p="bestFit",fallbackAxisSideDirection:b="none",flipAlignment:m=!0,...v}=Go(e,t);if((n=a.arrow)!=null&&n.alignmentOffset)return{};let h=qo(o),g=wo(l),y=qo(l)===l,x=await(s.isRTL==null?void 0:s.isRTL(c.floating)),A=f||(y||!m?[Su(l)]:W1(l)),N=b!=="none";!f&&N&&A.push(...Y1(l,m,b,x));let E=[l,...A],C=await s.detectOverflow(t,v),O=[],L=((r=a.flip)==null?void 0:r.overflows)||[];if(d&&O.push(C[h]),u){let Z=q1(o,i,x);O.push(C[Z[0]],C[Z[1]])}if(L=[...L,{placement:o,overflows:O}],!O.every(Z=>Z<=0)){var V,z;let Z=(((V=a.flip)==null?void 0:V.index)||0)+1,ue=E[Z];if(ue&&(!(u==="alignment"?g!==wo(ue):!1)||L.every(ee=>wo(ee.placement)===g?ee.overflows[0]>0:!0)))return{data:{index:Z,overflows:L},reset:{placement:ue}};let q=(z=L.filter(oe=>oe.overflows[0]<=0).sort((oe,ee)=>oe.overflows[1]-ee.overflows[1])[0])==null?void 0:z.placement;if(!q)switch(p){case"bestFit":{var G;let oe=(G=L.filter(ee=>{if(N){let W=wo(ee.placement);return W===g||W==="y"}return!0}).map(ee=>[ee.placement,ee.overflows.filter(W=>W>0).reduce((W,j)=>W+j,0)]).sort((ee,W)=>ee[1]-W[1])[0])==null?void 0:G[0];oe&&(q=oe);break}case"initialPlacement":q=l;break}if(o!==q)return{reset:{placement:q}}}return{}}}};function X1(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function J1(e){return G1.some(t=>e[t]>=0)}var rR=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:o="referenceHidden",...a}=Go(e,t);switch(o){case"referenceHidden":{let i=await r.detectOverflow(t,{...a,elementContext:"reference"}),l=X1(i,n.reference);return{data:{referenceHiddenOffsets:l,referenceHidden:J1(l)}}}case"escaped":{let i=await r.detectOverflow(t,{...a,altBoundary:!0}),l=X1(i,n.floating);return{data:{escapedOffsets:l,escaped:J1(l)}}}default:return{}}}}};var oR=new Set(["left","top"]);async function oD(e,t){let{placement:n,platform:r,elements:o}=e,a=await(r.isRTL==null?void 0:r.isRTL(o.floating)),i=qo(n),l=sl(n),s=wo(n)==="y",c=oR.has(i)?-1:1,d=a&&s?-1:1,u=Go(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:b}=typeof u=="number"?{mainAxis:u,crossAxis:0,alignmentAxis:null}:{mainAxis:u.mainAxis||0,crossAxis:u.crossAxis||0,alignmentAxis:u.alignmentAxis};return l&&typeof b=="number"&&(p=l==="end"?b*-1:b),s?{x:p*d,y:f*c}:{x:f*c,y:p*d}}var aR=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var n,r;let{x:o,y:a,placement:i,middlewareData:l}=t,s=await oD(t,e);return i===((n=l.offset)==null?void 0:n.placement)&&(r=l.arrow)!=null&&r.alignmentOffset?{}:{x:o+s.x,y:a+s.y,data:{...s,placement:i}}}}},iR=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){let{x:n,y:r,placement:o,platform:a}=t,{mainAxis:i=!0,crossAxis:l=!1,limiter:s={fn:h=>{let{x:g,y}=h;return{x:g,y}}},...c}=Go(e,t),d={x:n,y:r},u=await a.detectOverflow(t,c),f=wo(qo(o)),p=lm(f),b=d[p],m=d[f];if(i){let h=p==="y"?"top":"left",g=p==="y"?"bottom":"right",y=b+u[h],x=b-u[g];b=im(y,b,x)}if(l){let h=f==="y"?"top":"left",g=f==="y"?"bottom":"right",y=m+u[h],x=m-u[g];m=im(y,m,x)}let v=s.fn({...t,[p]:b,[f]:m});return{...v,data:{x:v.x-n,y:v.y-r,enabled:{[p]:i,[f]:l}}}}}},lR=function(e){return e===void 0&&(e={}),{options:e,fn(t){let{x:n,y:r,placement:o,rects:a,middlewareData:i}=t,{offset:l=0,mainAxis:s=!0,crossAxis:c=!0}=Go(e,t),d={x:n,y:r},u=wo(o),f=lm(u),p=d[f],b=d[u],m=Go(l,t),v=typeof m=="number"?{mainAxis:m,crossAxis:0}:{mainAxis:0,crossAxis:0,...m};if(s){let y=f==="y"?"height":"width",x=a.reference[f]-a.floating[y]+v.mainAxis,A=a.reference[f]+a.reference[y]-v.mainAxis;p<x?p=x:p>A&&(p=A)}if(c){var h,g;let y=f==="y"?"width":"height",x=oR.has(qo(o)),A=a.reference[u]-a.floating[y]+(x&&((h=i.offset)==null?void 0:h[u])||0)+(x?0:v.crossAxis),N=a.reference[u]+a.reference[y]+(x?0:((g=i.offset)==null?void 0:g[u])||0)-(x?v.crossAxis:0);b<A?b=A:b>N&&(b=N)}return{[f]:p,[u]:b}}}},sR=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){var n,r;let{placement:o,rects:a,platform:i,elements:l}=t,{apply:s=()=>{},...c}=Go(e,t),d=await i.detectOverflow(t,c),u=qo(o),f=sl(o),p=wo(o)==="y",{width:b,height:m}=a.floating,v,h;u==="top"||u==="bottom"?(v=u,h=f===(await(i.isRTL==null?void 0:i.isRTL(l.floating))?"start":"end")?"left":"right"):(h=u,v=f==="end"?"top":"bottom");let g=m-d.top-d.bottom,y=b-d.left-d.right,x=Ko(m-d[v],g),A=Ko(b-d[h],y),N=!t.middlewareData.shift,E=x,C=A;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(C=y),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(E=g),N&&!f){let L=ar(d.left,0),V=ar(d.right,0),z=ar(d.top,0),G=ar(d.bottom,0);p?C=b-2*(L!==0||V!==0?L+V:ar(d.left,d.right)):E=m-2*(z!==0||G!==0?z+G:ar(d.top,d.bottom))}await s({...t,availableWidth:C,availableHeight:E});let O=await i.getDimensions(l.floating);return b!==O.width||m!==O.height?{reset:{rects:!0}}:{}}}};function um(){return typeof window<"u"}function fl(e){return uR(e)?(e.nodeName||"").toLowerCase():"#document"}function vr(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Ao(e){var t;return(t=(uR(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function uR(e){return um()?e instanceof Node||e instanceof vr(e).Node:!1}function oo(e){return um()?e instanceof Element||e instanceof vr(e).Element:!1}function Wo(e){return um()?e instanceof HTMLElement||e instanceof vr(e).HTMLElement:!1}function cR(e){return!um()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof vr(e).ShadowRoot}function Ds(e){let{overflow:t,overflowX:n,overflowY:r,display:o}=ao(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&o!=="inline"&&o!=="contents"}function dR(e){return/^(table|td|th)$/.test(fl(e))}function Cu(e){try{if(e.matches(":popover-open"))return!0}catch{}try{return e.matches(":modal")}catch{return!1}}var aD=/transform|translate|scale|rotate|perspective|filter/,iD=/paint|layout|strict|content/,ul=e=>!!e&&e!=="none",Iy;function dm(e){let t=oo(e)?ao(e):e;return ul(t.transform)||ul(t.translate)||ul(t.scale)||ul(t.rotate)||ul(t.perspective)||!fm()&&(ul(t.backdropFilter)||ul(t.filter))||aD.test(t.willChange||"")||iD.test(t.contain||"")}function fR(e){let t=Ma(e);for(;Wo(t)&&!ml(t);){if(dm(t))return t;if(Cu(t))return null;t=Ma(t)}return null}function fm(){return Iy==null&&(Iy=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),Iy}function ml(e){return/^(html|body|#document)$/.test(fl(e))}function ao(e){return vr(e).getComputedStyle(e)}function Ru(e){return oo(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Ma(e){if(fl(e)==="html")return e;let t=e.assignedSlot||e.parentNode||cR(e)&&e.host||Ao(e);return cR(t)?t.host:t}function mR(e){let t=Ma(e);return ml(t)?e.ownerDocument?e.ownerDocument.body:e.body:Wo(t)&&Ds(t)?t:mR(t)}function dl(e,t,n){var r;t===void 0&&(t=[]),n===void 0&&(n=!0);let o=mR(e),a=o===((r=e.ownerDocument)==null?void 0:r.body),i=vr(o);if(a){let l=mm(i);return t.concat(i,i.visualViewport||[],Ds(o)?o:[],l&&n?dl(l):[])}else return t.concat(o,dl(o,[],n))}function mm(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function yR(e){let t=ao(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,o=Wo(e),a=o?e.offsetWidth:n,i=o?e.offsetHeight:r,l=wu(n)!==a||wu(r)!==i;return l&&(n=a,r=i),{width:n,height:r,$:l}}function Py(e){return oo(e)?e:e.contextElement}function Bs(e){let t=Py(e);if(!Wo(t))return So(1);let n=t.getBoundingClientRect(),{width:r,height:o,$:a}=yR(t),i=(a?wu(n.width):n.width)/r,l=(a?wu(n.height):n.height)/o;return(!i||!Number.isFinite(i))&&(i=1),(!l||!Number.isFinite(l))&&(l=1),{x:i,y:l}}var lD=So(0);function bR(e){let t=vr(e);return!fm()||!t.visualViewport?lD:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function sD(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==vr(e)?!1:t}function pl(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let o=e.getBoundingClientRect(),a=Py(e),i=So(1);t&&(r?oo(r)&&(i=Bs(r)):i=Bs(e));let l=sD(a,n,r)?bR(a):So(0),s=(o.left+l.x)/i.x,c=(o.top+l.y)/i.y,d=o.width/i.x,u=o.height/i.y;if(a){let f=vr(a),p=r&&oo(r)?vr(r):r,b=f,m=mm(b);for(;m&&r&&p!==b;){let v=Bs(m),h=m.getBoundingClientRect(),g=ao(m),y=h.left+(m.clientLeft+parseFloat(g.paddingLeft))*v.x,x=h.top+(m.clientTop+parseFloat(g.paddingTop))*v.y;s*=v.x,c*=v.y,d*=v.x,u*=v.y,s+=y,c+=x,b=vr(m),m=mm(b)}}return cl({width:d,height:u,x:s,y:c})}function pm(e,t){let n=Ru(e).scrollLeft;return t?t.left+n:pl(Ao(e)).left+n}function vR(e,t){let n=e.getBoundingClientRect(),r=n.left+t.scrollLeft-pm(e,n),o=n.top+t.scrollTop;return{x:r,y:o}}function cD(e){let{elements:t,rect:n,offsetParent:r,strategy:o}=e,a=o==="fixed",i=Ao(r),l=t?Cu(t.floating):!1;if(r===i||l&&a)return n;let s={scrollLeft:0,scrollTop:0},c=So(1),d=So(0),u=Wo(r);if((u||!u&&!a)&&((fl(r)!=="body"||Ds(i))&&(s=Ru(r)),u)){let p=pl(r);c=Bs(r),d.x=p.x+r.clientLeft,d.y=p.y+r.clientTop}let f=i&&!u&&!a?vR(i,s):So(0);return{width:n.width*c.x,height:n.height*c.y,x:n.x*c.x-s.scrollLeft*c.x+d.x+f.x,y:n.y*c.y-s.scrollTop*c.y+d.y+f.y}}function uD(e){return Array.from(e.getClientRects())}function dD(e){let t=Ao(e),n=Ru(e),r=e.ownerDocument.body,o=ar(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=ar(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),i=-n.scrollLeft+pm(e),l=-n.scrollTop;return ao(r).direction==="rtl"&&(i+=ar(t.clientWidth,r.clientWidth)-o),{width:o,height:a,x:i,y:l}}var pR=25;function fD(e,t){let n=vr(e),r=Ao(e),o=n.visualViewport,a=r.clientWidth,i=r.clientHeight,l=0,s=0;if(o){a=o.width,i=o.height;let d=fm();(!d||d&&t==="fixed")&&(l=o.offsetLeft,s=o.offsetTop)}let c=pm(r);if(c<=0){let d=r.ownerDocument,u=d.body,f=getComputedStyle(u),p=d.compatMode==="CSS1Compat"&&parseFloat(f.marginLeft)+parseFloat(f.marginRight)||0,b=Math.abs(r.clientWidth-u.clientWidth-p);b<=pR&&(a-=b)}else c<=pR&&(a+=c);return{width:a,height:i,x:l,y:s}}function mD(e,t){let n=pl(e,!0,t==="fixed"),r=n.top+e.clientTop,o=n.left+e.clientLeft,a=Wo(e)?Bs(e):So(1),i=e.clientWidth*a.x,l=e.clientHeight*a.y,s=o*a.x,c=r*a.y;return{width:i,height:l,x:s,y:c}}function gR(e,t,n){let r;if(t==="viewport")r=fD(e,n);else if(t==="document")r=dD(Ao(e));else if(oo(t))r=mD(t,n);else{let o=bR(e);r={x:t.x-o.x,y:t.y-o.y,width:t.width,height:t.height}}return cl(r)}function xR(e,t){let n=Ma(e);return n===t||!oo(n)||ml(n)?!1:ao(n).position==="fixed"||xR(n,t)}function pD(e,t){let n=t.get(e);if(n)return n;let r=dl(e,[],!1).filter(l=>oo(l)&&fl(l)!=="body"),o=null,a=ao(e).position==="fixed",i=a?Ma(e):e;for(;oo(i)&&!ml(i);){let l=ao(i),s=dm(i);!s&&l.position==="fixed"&&(o=null),(a?!s&&!o:!s&&l.position==="static"&&!!o&&(o.position==="absolute"||o.position==="fixed")||Ds(i)&&!s&&xR(e,i))?r=r.filter(d=>d!==i):o=l,i=Ma(i)}return t.set(e,r),r}function gD(e){let{element:t,boundary:n,rootBoundary:r,strategy:o}=e,i=[...n==="clippingAncestors"?Cu(t)?[]:pD(t,this._c):[].concat(n),r],l=gR(t,i[0],o),s=l.top,c=l.right,d=l.bottom,u=l.left;for(let f=1;f<i.length;f++){let p=gR(t,i[f],o);s=ar(p.top,s),c=Ko(p.right,c),d=Ko(p.bottom,d),u=ar(p.left,u)}return{width:c-u,height:d-s,x:u,y:s}}function hD(e){let{width:t,height:n}=yR(e);return{width:t,height:n}}function yD(e,t,n){let r=Wo(t),o=Ao(t),a=n==="fixed",i=pl(e,!0,a,t),l={scrollLeft:0,scrollTop:0},s=So(0);function c(){s.x=pm(o)}if(r||!r&&!a)if((fl(t)!=="body"||Ds(o))&&(l=Ru(t)),r){let p=pl(t,!0,a,t);s.x=p.x+t.clientLeft,s.y=p.y+t.clientTop}else o&&c();a&&!r&&o&&c();let d=o&&!r&&!a?vR(o,l):So(0),u=i.left+l.scrollLeft-s.x-d.x,f=i.top+l.scrollTop-s.y-d.y;return{x:u,y:f,width:i.width,height:i.height}}function zy(e){return ao(e).position==="static"}function hR(e,t){if(!Wo(e)||ao(e).position==="fixed")return null;if(t)return t(e);let n=e.offsetParent;return Ao(e)===n&&(n=n.ownerDocument.body),n}function SR(e,t){let n=vr(e);if(Cu(e))return n;if(!Wo(e)){let o=Ma(e);for(;o&&!ml(o);){if(oo(o)&&!zy(o))return o;o=Ma(o)}return n}let r=hR(e,t);for(;r&&dR(r)&&zy(r);)r=hR(r,t);return r&&ml(r)&&zy(r)&&!dm(r)?n:r||fR(e)||n}var bD=async function(e){let t=this.getOffsetParent||SR,n=this.getDimensions,r=await n(e.floating);return{reference:yD(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function vD(e){return ao(e).direction==="rtl"}var wR={convertOffsetParentRelativeRectToViewportRelativeRect:cD,getDocumentElement:Ao,getClippingRect:gD,getOffsetParent:SR,getElementRects:bD,getClientRects:uD,getDimensions:hD,getScale:Bs,isElement:oo,isRTL:vD};function AR(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function xD(e,t){let n=null,r,o=Ao(e);function a(){var l;clearTimeout(r),(l=n)==null||l.disconnect(),n=null}function i(l,s){l===void 0&&(l=!1),s===void 0&&(s=1),a();let c=e.getBoundingClientRect(),{left:d,top:u,width:f,height:p}=c;if(l||t(),!f||!p)return;let b=Au(u),m=Au(o.clientWidth-(d+f)),v=Au(o.clientHeight-(u+p)),h=Au(d),y={rootMargin:-b+"px "+-m+"px "+-v+"px "+-h+"px",threshold:ar(0,Ko(1,s))||1},x=!0;function A(N){let E=N[0].intersectionRatio;if(E!==s){if(!x)return i();E?i(!1,E):r=setTimeout(()=>{i(!1,1e-7)},1e3)}E===1&&!AR(c,e.getBoundingClientRect())&&i(),x=!1}try{n=new IntersectionObserver(A,{...y,root:o.ownerDocument})}catch{n=new IntersectionObserver(A,y)}n.observe(e)}return i(!0),a}function Uy(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:o=!0,ancestorResize:a=!0,elementResize:i=typeof ResizeObserver=="function",layoutShift:l=typeof IntersectionObserver=="function",animationFrame:s=!1}=r,c=Py(e),d=o||a?[...c?dl(c):[],...t?dl(t):[]]:[];d.forEach(h=>{o&&h.addEventListener("scroll",n,{passive:!0}),a&&h.addEventListener("resize",n)});let u=c&&l?xD(c,n):null,f=-1,p=null;i&&(p=new ResizeObserver(h=>{let[g]=h;g&&g.target===c&&p&&t&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var y;(y=p)==null||y.observe(t)})),n()}),c&&!s&&p.observe(c),t&&p.observe(t));let b,m=s?pl(e):null;s&&v();function v(){let h=pl(e);m&&!AR(m,h)&&n(),m=h,b=requestAnimationFrame(v)}return n(),()=>{var h;d.forEach(g=>{o&&g.removeEventListener("scroll",n),a&&g.removeEventListener("resize",n)}),u?.(),(h=p)==null||h.disconnect(),p=null,s&&cancelAnimationFrame(b)}}var CR=aR;var RR=iR,NR=nR,ER=sR,TR=rR,jy=tR;var MR=lR,Vy=(e,t,n)=>{let r=new Map,o={platform:wR,...n},a={...o.platform,_c:r};return eR(e,t,{...o,platform:a})};var Rn=B(xe(),1),kR=B(xe(),1),_R=B(Bi(),1),SD=typeof document<"u",wD=function(){},gm=SD?kR.useLayoutEffect:wD;function hm(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let n,r,o;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(!hm(e[r],t[r]))return!1;return!0}if(o=Object.keys(e),n=o.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,o[r]))return!1;for(r=n;r--!==0;){let a=o[r];if(!(a==="_owner"&&e.$$typeof)&&!hm(e[a],t[a]))return!1}return!0}return e!==e&&t!==t}function LR(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function OR(e,t){let n=LR(e);return Math.round(t*n)/n}function Fy(e){let t=Rn.useRef(e);return gm(()=>{t.current=e}),t}function DR(e){e===void 0&&(e={});let{placement:t="bottom",strategy:n="absolute",middleware:r=[],platform:o,elements:{reference:a,floating:i}={},transform:l=!0,whileElementsMounted:s,open:c}=e,[d,u]=Rn.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[f,p]=Rn.useState(r);hm(f,r)||p(r);let[b,m]=Rn.useState(null),[v,h]=Rn.useState(null),g=Rn.useCallback(ee=>{ee!==N.current&&(N.current=ee,m(ee))},[]),y=Rn.useCallback(ee=>{ee!==E.current&&(E.current=ee,h(ee))},[]),x=a||b,A=i||v,N=Rn.useRef(null),E=Rn.useRef(null),C=Rn.useRef(d),O=s!=null,L=Fy(s),V=Fy(o),z=Fy(c),G=Rn.useCallback(()=>{if(!N.current||!E.current)return;let ee={placement:t,strategy:n,middleware:f};V.current&&(ee.platform=V.current),Vy(N.current,E.current,ee).then(W=>{let j={...W,isPositioned:z.current!==!1};Z.current&&!hm(C.current,j)&&(C.current=j,_R.flushSync(()=>{u(j)}))})},[f,t,n,V,z]);gm(()=>{c===!1&&C.current.isPositioned&&(C.current.isPositioned=!1,u(ee=>({...ee,isPositioned:!1})))},[c]);let Z=Rn.useRef(!1);gm(()=>(Z.current=!0,()=>{Z.current=!1}),[]),gm(()=>{if(x&&(N.current=x),A&&(E.current=A),x&&A){if(L.current)return L.current(x,A,G);G()}},[x,A,G,L,O]);let ue=Rn.useMemo(()=>({reference:N,floating:E,setReference:g,setFloating:y}),[g,y]),q=Rn.useMemo(()=>({reference:x,floating:A}),[x,A]),oe=Rn.useMemo(()=>{let ee={position:n,left:0,top:0};if(!q.floating)return ee;let W=OR(q.floating,d.x),j=OR(q.floating,d.y);return l?{...ee,transform:"translate("+W+"px, "+j+"px)",...LR(q.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:W,top:j}},[n,l,q.floating,d.x,d.y]);return Rn.useMemo(()=>({...d,update:G,refs:ue,elements:q,floatingStyles:oe}),[d,G,ue,q,oe])}var AD=e=>{function t(n){return{}.hasOwnProperty.call(n,"current")}return{name:"arrow",options:e,fn(n){let{element:r,padding:o}=typeof e=="function"?e(n):e;return r&&t(r)?r.current!=null?jy({element:r.current,padding:o}).fn(n):{}:r?jy({element:r,padding:o}).fn(n):{}}}},BR=(e,t)=>{let n=CR(e);return{name:n.name,fn:n.fn,options:[e,t]}},IR=(e,t)=>{let n=RR(e);return{name:n.name,fn:n.fn,options:[e,t]}},zR=(e,t)=>({fn:MR(e).fn,options:[e,t]}),PR=(e,t)=>{let n=NR(e);return{name:n.name,fn:n.fn,options:[e,t]}},UR=(e,t)=>{let n=ER(e);return{name:n.name,fn:n.fn,options:[e,t]}};var jR=(e,t)=>{let n=TR(e);return{name:n.name,fn:n.fn,options:[e,t]}};var VR=(e,t)=>{let n=AD(e);return{name:n.name,fn:n.fn,options:[e,t]}};var FR=B(xe(),1);var Hy=B(te(),1),CD="Arrow",HR=FR.forwardRef((e,t)=>{let{children:n,width:r=10,height:o=5,...a}=e;return(0,Hy.jsx)(at.svg,{...a,ref:t,width:r,height:o,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?n:(0,Hy.jsx)("polygon",{points:"0,0 30,0 15,10"})})});HR.displayName=CD;var $R=HR;var Ri=B(te(),1);var $y="Popper",[KR,Ky]=Zr($y),[ND,GR]=KR($y),qR=e=>{let{__scopePopper:t,children:n}=e,[r,o]=xr.useState(null);return(0,Ri.jsx)(ND,{scope:t,anchor:r,onAnchorChange:o,children:n})};qR.displayName=$y;var WR="PopperAnchor",YR=xr.forwardRef((e,t)=>{let{__scopePopper:n,virtualRef:r,...o}=e,a=GR(WR,n),i=xr.useRef(null),l=Tt(t,i),s=xr.useRef(null);return xr.useEffect(()=>{let c=s.current;s.current=r?.current||i.current,c!==s.current&&a.onAnchorChange(s.current)}),r?null:(0,Ri.jsx)(at.div,{...o,ref:l})});YR.displayName=WR;var Gy="PopperContent",[ED,TD]=KR(Gy),QR=xr.forwardRef((e,t)=>{let{__scopePopper:n,side:r="bottom",sideOffset:o=0,align:a="center",alignOffset:i=0,arrowPadding:l=0,avoidCollisions:s=!0,collisionBoundary:c=[],collisionPadding:d=0,sticky:u="partial",hideWhenDetached:f=!1,updatePositionStrategy:p="optimized",onPlaced:b,...m}=e,v=GR(Gy,n),[h,g]=xr.useState(null),y=Tt(t,U=>g(U)),[x,A]=xr.useState(null),N=Cf(x),E=N?.width??0,C=N?.height??0,O=r+(a!=="center"?"-"+a:""),L=typeof d=="number"?d:{top:0,right:0,bottom:0,left:0,...d},V=Array.isArray(c)?c:[c],z=V.length>0,G={padding:L,boundary:V.filter(OD),altBoundary:z},{refs:Z,floatingStyles:ue,placement:q,isPositioned:oe,middlewareData:ee}=DR({strategy:"fixed",placement:O,whileElementsMounted:(...U)=>Uy(...U,{animationFrame:p==="always"}),elements:{reference:v.anchor},middleware:[BR({mainAxis:o+C,alignmentAxis:i}),s&&IR({mainAxis:!0,crossAxis:!1,limiter:u==="partial"?zR():void 0,...G}),s&&PR({...G}),UR({...G,apply:({elements:U,rects:fe,availableWidth:ve,availableHeight:ke})=>{let{width:we,height:Ee}=fe.reference,qe=U.floating.style;qe.setProperty("--radix-popper-available-width",`${ve}px`),qe.setProperty("--radix-popper-available-height",`${ke}px`),qe.setProperty("--radix-popper-anchor-width",`${we}px`),qe.setProperty("--radix-popper-anchor-height",`${Ee}px`)}}),x&&VR({element:x,padding:l}),kD({arrowWidth:E,arrowHeight:C}),f&&jR({strategy:"referenceHidden",...G})]}),[W,j]=ZR(q),Ie=pr(b);on(()=>{oe&&Ie?.()},[oe,Ie]);let ne=ee.arrow?.x,Ve=ee.arrow?.y,ae=ee.arrow?.centerOffset!==0,[Se,ze]=xr.useState();return on(()=>{h&&ze(window.getComputedStyle(h).zIndex)},[h]),(0,Ri.jsx)("div",{ref:Z.setFloating,"data-radix-popper-content-wrapper":"",style:{...ue,transform:oe?ue.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:Se,"--radix-popper-transform-origin":[ee.transformOrigin?.x,ee.transformOrigin?.y].join(" "),...ee.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:(0,Ri.jsx)(ED,{scope:n,placedSide:W,onArrowChange:A,arrowX:ne,arrowY:Ve,shouldHideArrow:ae,children:(0,Ri.jsx)(at.div,{"data-side":W,"data-align":j,...m,ref:y,style:{...m.style,animation:oe?void 0:"none"}})})})});QR.displayName=Gy;var XR="PopperArrow",MD={top:"bottom",right:"left",bottom:"top",left:"right"},JR=xr.forwardRef(function(t,n){let{__scopePopper:r,...o}=t,a=TD(XR,r),i=MD[a.placedSide];return(0,Ri.jsx)("span",{ref:a.onArrowChange,style:{position:"absolute",left:a.arrowX,top:a.arrowY,[i]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[a.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[a.placedSide],visibility:a.shouldHideArrow?"hidden":void 0},children:(0,Ri.jsx)($R,{...o,ref:n,style:{...o.style,display:"block"}})})});JR.displayName=XR;function OD(e){return e!==null}var kD=e=>({name:"transformOrigin",options:e,fn(t){let{placement:n,rects:r,middlewareData:o}=t,i=o.arrow?.centerOffset!==0,l=i?0:e.arrowWidth,s=i?0:e.arrowHeight,[c,d]=ZR(n),u={start:"0%",center:"50%",end:"100%"}[d],f=(o.arrow?.x??0)+l/2,p=(o.arrow?.y??0)+s/2,b="",m="";return c==="bottom"?(b=i?u:`${f}px`,m=`${-s}px`):c==="top"?(b=i?u:`${f}px`,m=`${r.floating.height+s}px`):c==="right"?(b=`${-s}px`,m=i?u:`${p}px`):c==="left"&&(b=`${r.floating.width+s}px`,m=i?u:`${p}px`),{data:{x:b,y:m}}}});function ZR(e){let[t,n="center"]=e.split("-");return[t,n]}var eN=qR,tN=YR,nN=QR,rN=JR;var ym=B(xe(),1),oN=B(Bi(),1);var aN=B(te(),1),LD="Portal",qy=ym.forwardRef((e,t)=>{let{container:n,...r}=e,[o,a]=ym.useState(!1);on(()=>a(!0),[]);let i=n||o&&globalThis?.document?.body;return i?oN.default.createPortal((0,aN.jsx)(at.div,{...r,ref:t}),i):null});qy.displayName=LD;var iN=B(xe(),1);var lN=B(te(),1),Wy=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),DD="VisuallyHidden",BD=iN.forwardRef((e,t)=>(0,lN.jsx)(at.span,{...e,ref:t,style:{...Wy,...e.style}}));BD.displayName=DD;var ID=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},Is=new WeakMap,bm=new WeakMap,vm={},Yy=0,sN=function(e){return e&&(e.host||sN(e.parentNode))},zD=function(e,t){return t.map(function(n){if(e.contains(n))return n;var r=sN(n);return r&&e.contains(r)?r:(console.error("aria-hidden",n,"in not contained inside",e,". Doing nothing"),null)}).filter(function(n){return!!n})},PD=function(e,t,n,r){var o=zD(t,Array.isArray(e)?e:[e]);vm[n]||(vm[n]=new WeakMap);var a=vm[n],i=[],l=new Set,s=new Set(o),c=function(u){!u||l.has(u)||(l.add(u),c(u.parentNode))};o.forEach(c);var d=function(u){!u||s.has(u)||Array.prototype.forEach.call(u.children,function(f){if(l.has(f))d(f);else try{var p=f.getAttribute(r),b=p!==null&&p!=="false",m=(Is.get(f)||0)+1,v=(a.get(f)||0)+1;Is.set(f,m),a.set(f,v),i.push(f),m===1&&b&&bm.set(f,!0),v===1&&f.setAttribute(n,"true"),b||f.setAttribute(r,"true")}catch(h){console.error("aria-hidden: cannot operate on ",f,h)}})};return d(t),l.clear(),Yy++,function(){i.forEach(function(u){var f=Is.get(u)-1,p=a.get(u)-1;Is.set(u,f),a.set(u,p),f||(bm.has(u)||u.removeAttribute(r),bm.delete(u)),p||u.removeAttribute(n)}),Yy--,Yy||(Is=new WeakMap,Is=new WeakMap,bm=new WeakMap,vm={})}},cN=function(e,t,n){n===void 0&&(n="data-aria-hidden");var r=Array.from(Array.isArray(e)?e:[e]),o=t||ID(e);return o?(r.push.apply(r,Array.from(o.querySelectorAll("[aria-live], script"))),PD(r,o,n,"aria-hidden")):function(){return null}};var Sr=function(){return Sr=Object.assign||function(t){for(var n,r=1,o=arguments.length;r<o;r++){n=arguments[r];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(t[a]=n[a])}return t},Sr.apply(this,arguments)};function xm(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n}function uN(e,t,n){if(n||arguments.length===2)for(var r=0,o=t.length,a;r<o;r++)(a||!(r in t))&&(a||(a=Array.prototype.slice.call(t,0,r)),a[r]=t[r]);return e.concat(a||Array.prototype.slice.call(t))}var Rm=B(xe());var Jn=B(xe());var gl="right-scroll-bar-position",hl="width-before-scroll-bar",Qy="with-scroll-bars-hidden",Xy="--removed-body-scroll-bar-size";function Sm(e,t){return typeof e=="function"?e(t):e&&(e.current=t),e}var dN=B(xe());function fN(e,t){var n=(0,dN.useState)(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(r){var o=n.value;o!==r&&(n.value=r,n.callback(r,o))}}}})[0];return n.callback=t,n.facade}var wm=B(xe());var UD=typeof window<"u"?wm.useLayoutEffect:wm.useEffect,mN=new WeakMap;function Jy(e,t){var n=fN(t||null,function(r){return e.forEach(function(o){return Sm(o,r)})});return UD(function(){var r=mN.get(n);if(r){var o=new Set(r),a=new Set(e),i=n.current;o.forEach(function(l){a.has(l)||Sm(l,null)}),a.forEach(function(l){o.has(l)||Sm(l,i)})}mN.set(n,e)},[e]),n}function jD(e){return e}function VD(e,t){t===void 0&&(t=jD);var n=[],r=!1,o={read:function(){if(r)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:e},useMedium:function(a){var i=t(a,r);return n.push(i),function(){n=n.filter(function(l){return l!==i})}},assignSyncMedium:function(a){for(r=!0;n.length;){var i=n;n=[],i.forEach(a)}n={push:function(l){return a(l)},filter:function(){return n}}},assignMedium:function(a){r=!0;var i=[];if(n.length){var l=n;n=[],l.forEach(a),i=n}var s=function(){var d=i;i=[],d.forEach(a)},c=function(){return Promise.resolve().then(s)};c(),n={push:function(d){i.push(d),c()},filter:function(d){return i=i.filter(d),n}}}};return o}function Zy(e){e===void 0&&(e={});var t=VD(null);return t.options=Sr({async:!0,ssr:!1},e),t}var pN=B(xe()),gN=function(e){var t=e.sideCar,n=xm(e,["sideCar"]);if(!t)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var r=t.read();if(!r)throw new Error("Sidecar medium not found");return pN.createElement(r,Sr({},n))};gN.isSideCarExport=!0;function eb(e,t){return e.useMedium(t),gN}var Am=Zy();var tb=function(){},Nu=Jn.forwardRef(function(e,t){var n=Jn.useRef(null),r=Jn.useState({onScrollCapture:tb,onWheelCapture:tb,onTouchMoveCapture:tb}),o=r[0],a=r[1],i=e.forwardProps,l=e.children,s=e.className,c=e.removeScrollBar,d=e.enabled,u=e.shards,f=e.sideCar,p=e.noRelative,b=e.noIsolation,m=e.inert,v=e.allowPinchZoom,h=e.as,g=h===void 0?"div":h,y=e.gapMode,x=xm(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),A=f,N=Jy([n,t]),E=Sr(Sr({},x),o);return Jn.createElement(Jn.Fragment,null,d&&Jn.createElement(A,{sideCar:Am,removeScrollBar:c,shards:u,noRelative:p,noIsolation:b,inert:m,setCallbacks:a,allowPinchZoom:!!v,lockRef:n,gapMode:y}),i?Jn.cloneElement(Jn.Children.only(l),Sr(Sr({},E),{ref:N})):Jn.createElement(g,Sr({},E,{className:s,ref:N}),l))});Nu.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};Nu.classNames={fullWidth:hl,zeroRight:gl};var qt=B(xe());var Ps=B(xe());var bN=B(xe());var hN;var yN=function(){if(hN)return hN;if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function FD(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=yN();return t&&e.setAttribute("nonce",t),e}function HD(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function $D(e){var t=document.head||document.getElementsByTagName("head")[0];t.appendChild(e)}var nb=function(){var e=0,t=null;return{add:function(n){e==0&&(t=FD())&&(HD(t,n),$D(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}};var rb=function(){var e=nb();return function(t,n){bN.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}};var Eu=function(){var e=rb(),t=function(n){var r=n.styles,o=n.dynamic;return e(r,o),null};return t};var KD={left:0,top:0,right:0,gap:0},ob=function(e){return parseInt(e||"",10)||0},GD=function(e){var t=window.getComputedStyle(document.body),n=t[e==="padding"?"paddingLeft":"marginLeft"],r=t[e==="padding"?"paddingTop":"marginTop"],o=t[e==="padding"?"paddingRight":"marginRight"];return[ob(n),ob(r),ob(o)]},ab=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return KD;var t=GD(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}};var qD=Eu(),zs="data-scroll-locked",WD=function(e,t,n,r){var o=e.left,a=e.top,i=e.right,l=e.gap;return n===void 0&&(n="margin"),`
12
+ .`.concat(Qy,` {
13
13
  overflow: hidden `).concat(r,`;
14
14
  padding-right: `).concat(l,"px ").concat(r,`;
15
15
  }
16
- body[`).concat(Os,`] {
16
+ body[`).concat(zs,`] {
17
17
  overflow: hidden `).concat(r,`;
18
18
  overscroll-behavior: contain;
19
19
  `).concat([t&&"position: relative ".concat(r,";"),n==="margin"&&`
@@ -26,36 +26,36 @@ Error generating stack: `+r.message+`
26
26
  `),n==="padding"&&"padding-right: ".concat(l,"px ").concat(r,";")].filter(Boolean).join(""),`
27
27
  }
28
28
 
29
- .`).concat(il,` {
29
+ .`).concat(gl,` {
30
30
  right: `).concat(l,"px ").concat(r,`;
31
31
  }
32
32
 
33
- .`).concat(ll,` {
33
+ .`).concat(hl,` {
34
34
  margin-right: `).concat(l,"px ").concat(r,`;
35
35
  }
36
36
 
37
- .`).concat(il," .").concat(il,` {
37
+ .`).concat(gl," .").concat(gl,` {
38
38
  right: 0 `).concat(r,`;
39
39
  }
40
40
 
41
- .`).concat(ll," .").concat(ll,` {
41
+ .`).concat(hl," .").concat(hl,` {
42
42
  margin-right: 0 `).concat(r,`;
43
43
  }
44
44
 
45
- body[`).concat(Os,`] {
46
- `).concat(By,": ").concat(l,`px;
45
+ body[`).concat(zs,`] {
46
+ `).concat(Xy,": ").concat(l,`px;
47
47
  }
48
- `)},qR=function(){var e=parseInt(document.body.getAttribute(Os)||"0",10);return isFinite(e)?e:0},tD=function(){_s.useEffect(function(){return document.body.setAttribute(Os,(qR()+1).toString()),function(){var e=qR()-1;e<=0?document.body.removeAttribute(Os):document.body.setAttribute(Os,e.toString())}},[])},Gy=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,o=r===void 0?"margin":r;tD();var a=_s.useMemo(function(){return $y(o)},[o]);return _s.createElement(JL,{styles:eD(a,!t,o,n?"":"!important")})};var qy=!1;if(typeof window<"u")try{xu=Object.defineProperty({},"passive",{get:function(){return qy=!0,!0}}),window.addEventListener("test",xu,xu),window.removeEventListener("test",xu,xu)}catch{qy=!1}var xu,sl=qy?{passive:!1}:!1;var nD=function(e){return e.tagName==="TEXTAREA"},WR=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!=="hidden"&&!(n.overflowY===n.overflowX&&!nD(e)&&n[t]==="visible")},rD=function(e){return WR(e,"overflowY")},oD=function(e){return WR(e,"overflowX")},Wy=function(e,t){var n=t.ownerDocument,r=t;do{typeof ShadowRoot<"u"&&r instanceof ShadowRoot&&(r=r.host);var o=YR(e,r);if(o){var a=QR(e,r),i=a[1],l=a[2];if(i>l)return!0}r=r.parentNode}while(r&&r!==n.body);return!1},aD=function(e){var t=e.scrollTop,n=e.scrollHeight,r=e.clientHeight;return[t,n,r]},iD=function(e){var t=e.scrollLeft,n=e.scrollWidth,r=e.clientWidth;return[t,n,r]},YR=function(e,t){return e==="v"?rD(t):oD(t)},QR=function(e,t){return e==="v"?aD(t):iD(t)},lD=function(e,t){return e==="h"&&t==="rtl"?-1:1},XR=function(e,t,n,r,o){var a=lD(e,window.getComputedStyle(t).direction),i=a*r,l=n.target,s=t.contains(l),c=!1,d=i>0,u=0,f=0;do{if(!l)break;var p=QR(e,l),v=p[0],m=p[1],b=p[2],h=m-b-a*v;(v||h)&&YR(e,l)&&(u+=h,f+=v);var g=l.parentNode;l=g&&g.nodeType===Node.DOCUMENT_FRAGMENT_NODE?g.host:g}while(!s&&l!==document.body||s&&(t.contains(l)||t===l));return(d&&(o&&Math.abs(u)<1||!o&&i>u)||!d&&(o&&Math.abs(f)<1||!o&&-i>f))&&(c=!0),c};var hm=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},ZR=function(e){return[e.deltaX,e.deltaY]},JR=function(e){return e&&"current"in e?e.current:e},sD=function(e,t){return e[0]===t[0]&&e[1]===t[1]},cD=function(e){return`
48
+ `)},vN=function(){var e=parseInt(document.body.getAttribute(zs)||"0",10);return isFinite(e)?e:0},YD=function(){Ps.useEffect(function(){return document.body.setAttribute(zs,(vN()+1).toString()),function(){var e=vN()-1;e<=0?document.body.removeAttribute(zs):document.body.setAttribute(zs,e.toString())}},[])},ib=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,o=r===void 0?"margin":r;YD();var a=Ps.useMemo(function(){return ab(o)},[o]);return Ps.createElement(qD,{styles:WD(a,!t,o,n?"":"!important")})};var lb=!1;if(typeof window<"u")try{Tu=Object.defineProperty({},"passive",{get:function(){return lb=!0,!0}}),window.addEventListener("test",Tu,Tu),window.removeEventListener("test",Tu,Tu)}catch{lb=!1}var Tu,yl=lb?{passive:!1}:!1;var QD=function(e){return e.tagName==="TEXTAREA"},xN=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!=="hidden"&&!(n.overflowY===n.overflowX&&!QD(e)&&n[t]==="visible")},XD=function(e){return xN(e,"overflowY")},JD=function(e){return xN(e,"overflowX")},sb=function(e,t){var n=t.ownerDocument,r=t;do{typeof ShadowRoot<"u"&&r instanceof ShadowRoot&&(r=r.host);var o=SN(e,r);if(o){var a=wN(e,r),i=a[1],l=a[2];if(i>l)return!0}r=r.parentNode}while(r&&r!==n.body);return!1},ZD=function(e){var t=e.scrollTop,n=e.scrollHeight,r=e.clientHeight;return[t,n,r]},e5=function(e){var t=e.scrollLeft,n=e.scrollWidth,r=e.clientWidth;return[t,n,r]},SN=function(e,t){return e==="v"?XD(t):JD(t)},wN=function(e,t){return e==="v"?ZD(t):e5(t)},t5=function(e,t){return e==="h"&&t==="rtl"?-1:1},AN=function(e,t,n,r,o){var a=t5(e,window.getComputedStyle(t).direction),i=a*r,l=n.target,s=t.contains(l),c=!1,d=i>0,u=0,f=0;do{if(!l)break;var p=wN(e,l),b=p[0],m=p[1],v=p[2],h=m-v-a*b;(b||h)&&SN(e,l)&&(u+=h,f+=b);var g=l.parentNode;l=g&&g.nodeType===Node.DOCUMENT_FRAGMENT_NODE?g.host:g}while(!s&&l!==document.body||s&&(t.contains(l)||t===l));return(d&&(o&&Math.abs(u)<1||!o&&i>u)||!d&&(o&&Math.abs(f)<1||!o&&-i>f))&&(c=!0),c};var Cm=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},CN=function(e){return[e.deltaX,e.deltaY]},RN=function(e){return e&&"current"in e?e.current:e},n5=function(e,t){return e[0]===t[0]&&e[1]===t[1]},r5=function(e){return`
49
49
  .block-interactivity-`.concat(e,` {pointer-events: none;}
50
50
  .allow-interactivity-`).concat(e,` {pointer-events: all;}
51
- `)},uD=0,ks=[];function eE(e){var t=Pt.useRef([]),n=Pt.useRef([0,0]),r=Pt.useRef(),o=Pt.useState(uD++)[0],a=Pt.useState(bu)[0],i=Pt.useRef(e);Pt.useEffect(function(){i.current=e},[e]),Pt.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(o));var m=UR([e.lockRef.current],(e.shards||[]).map(JR),!0).filter(Boolean);return m.forEach(function(b){return b.classList.add("allow-interactivity-".concat(o))}),function(){document.body.classList.remove("block-interactivity-".concat(o)),m.forEach(function(b){return b.classList.remove("allow-interactivity-".concat(o))})}}},[e.inert,e.lockRef.current,e.shards]);var l=Pt.useCallback(function(m,b){if("touches"in m&&m.touches.length===2||m.type==="wheel"&&m.ctrlKey)return!i.current.allowPinchZoom;var h=hm(m),g=n.current,y="deltaX"in m?m.deltaX:g[0]-h[0],x="deltaY"in m?m.deltaY:g[1]-h[1],w,R=m.target,E=Math.abs(y)>Math.abs(x)?"h":"v";if("touches"in m&&E==="h"&&R.type==="range")return!1;var A=window.getSelection(),N=A&&A.anchorNode,L=N?N===R||N.contains(R):!1;if(L)return!1;var j=Wy(E,R);if(!j)return!0;if(j?w=E:(w=E==="v"?"h":"v",j=Wy(E,R)),!j)return!1;if(!r.current&&"changedTouches"in m&&(y||x)&&(r.current=w),!w)return!0;var D=r.current||w;return XR(D,b,m,D==="h"?y:x,!0)},[]),s=Pt.useCallback(function(m){var b=m;if(!(!ks.length||ks[ks.length-1]!==a)){var h="deltaY"in b?ZR(b):hm(b),g=t.current.filter(function(w){return w.name===b.type&&(w.target===b.target||b.target===w.shadowParent)&&sD(w.delta,h)})[0];if(g&&g.should){b.cancelable&&b.preventDefault();return}if(!g){var y=(i.current.shards||[]).map(JR).filter(Boolean).filter(function(w){return w.contains(b.target)}),x=y.length>0?l(b,y[0]):!i.current.noIsolation;x&&b.cancelable&&b.preventDefault()}}},[]),c=Pt.useCallback(function(m,b,h,g){var y={name:m,delta:b,target:h,should:g,shadowParent:dD(h)};t.current.push(y),setTimeout(function(){t.current=t.current.filter(function(x){return x!==y})},1)},[]),d=Pt.useCallback(function(m){n.current=hm(m),r.current=void 0},[]),u=Pt.useCallback(function(m){c(m.type,ZR(m),m.target,l(m,e.lockRef.current))},[]),f=Pt.useCallback(function(m){c(m.type,hm(m),m.target,l(m,e.lockRef.current))},[]);Pt.useEffect(function(){return ks.push(a),e.setCallbacks({onScrollCapture:u,onWheelCapture:u,onTouchMoveCapture:f}),document.addEventListener("wheel",s,sl),document.addEventListener("touchmove",s,sl),document.addEventListener("touchstart",d,sl),function(){ks=ks.filter(function(m){return m!==a}),document.removeEventListener("wheel",s,sl),document.removeEventListener("touchmove",s,sl),document.removeEventListener("touchstart",d,sl)}},[]);var p=e.removeScrollBar,v=e.inert;return Pt.createElement(Pt.Fragment,null,v?Pt.createElement(a,{styles:cD(o)}):null,p?Pt.createElement(Gy,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function dD(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}var tE=jy(gm,eE);var nE=ym.forwardRef(function(e,t){return ym.createElement(vu,yr({},e,{ref:t,sideCar:tE}))});nE.classNames=vu.classNames;var Yy=nE;var _e=_(J(),1),fD=[" ","Enter","ArrowUp","ArrowDown"],mD=[" ","Enter"],cl="Select",[bm,xm,pD]=xf(cl),[Ls,d4]=Yr(cl,[pD,_y]),Sm=_y(),[gD,yi]=Ls(cl),[hD,yD]=Ls(cl),rE=e=>{let{__scopeSelect:t,children:n,open:r,defaultOpen:o,onOpenChange:a,value:i,defaultValue:l,onValueChange:s,dir:c,name:d,autoComplete:u,disabled:f,required:p,form:v}=e,m=Sm(t),[b,h]=te.useState(null),[g,y]=te.useState(null),[x,w]=te.useState(!1),R=ms(c),[E,A]=ha({prop:r,defaultProp:o??!1,onChange:a,caller:cl}),[N,L]=ha({prop:i,defaultProp:l,onChange:s,caller:cl}),j=te.useRef(null),D=b?v||!!b.closest("form"):!0,[W,ie]=te.useState(new Set),ye=Array.from(W).map(V=>V.props.value).join(";");return(0,_e.jsx)(NR,{...m,children:(0,_e.jsxs)(gD,{required:p,scope:t,trigger:b,onTriggerChange:h,valueNode:g,onValueNodeChange:y,valueNodeHasChildren:x,onValueNodeHasChildrenChange:w,contentId:si(),value:N,onValueChange:L,open:E,onOpenChange:A,dir:R,triggerPointerDownPosRef:j,disabled:f,children:[(0,_e.jsx)(bm.Provider,{scope:t,children:(0,_e.jsx)(hD,{scope:e.__scopeSelect,onNativeOptionAdd:te.useCallback(V=>{ie(ee=>new Set(ee).add(V))},[]),onNativeOptionRemove:te.useCallback(V=>{ie(ee=>{let Q=new Set(ee);return Q.delete(V),Q})},[]),children:n})}),D?(0,_e.jsxs)(RE,{"aria-hidden":!0,required:p,tabIndex:-1,name:d,autoComplete:u,value:N,onChange:V=>L(V.target.value),disabled:f,form:v,children:[N===void 0?(0,_e.jsx)("option",{value:""}):null,Array.from(W)]},ye):null]})})};rE.displayName=cl;var oE="SelectTrigger",aE=te.forwardRef((e,t)=>{let{__scopeSelect:n,disabled:r=!1,...o}=e,a=Sm(n),i=yi(oE,n),l=i.disabled||r,s=bt(t,i.onTriggerChange),c=xm(n),d=te.useRef("touch"),[u,f,p]=TE(m=>{let b=c().filter(y=>!y.disabled),h=b.find(y=>y.value===i.value),g=NE(b,m,h);g!==void 0&&i.onValueChange(g.value)}),v=m=>{l||(i.onOpenChange(!0),p()),m&&(i.triggerPointerDownPosRef.current={x:Math.round(m.pageX),y:Math.round(m.pageY)})};return(0,_e.jsx)(MR,{asChild:!0,...a,children:(0,_e.jsx)(Xe.button,{type:"button",role:"combobox","aria-controls":i.contentId,"aria-expanded":i.open,"aria-required":i.required,"aria-autocomplete":"none",dir:i.dir,"data-state":i.open?"open":"closed",disabled:l,"data-disabled":l?"":void 0,"data-placeholder":EE(i.value)?"":void 0,...o,ref:s,onClick:st(o.onClick,m=>{m.currentTarget.focus(),d.current!=="mouse"&&v(m)}),onPointerDown:st(o.onPointerDown,m=>{d.current=m.pointerType;let b=m.target;b.hasPointerCapture(m.pointerId)&&b.releasePointerCapture(m.pointerId),m.button===0&&m.ctrlKey===!1&&m.pointerType==="mouse"&&(v(m),m.preventDefault())}),onKeyDown:st(o.onKeyDown,m=>{let b=u.current!=="";!(m.ctrlKey||m.altKey||m.metaKey)&&m.key.length===1&&f(m.key),!(b&&m.key===" ")&&fD.includes(m.key)&&(v(),m.preventDefault())})})})});aE.displayName=oE;var iE="SelectValue",lE=te.forwardRef((e,t)=>{let{__scopeSelect:n,className:r,style:o,children:a,placeholder:i="",...l}=e,s=yi(iE,n),{onValueNodeHasChildrenChange:c}=s,d=a!==void 0,u=bt(t,s.onValueNodeChange);return qt(()=>{c(d)},[c,d]),(0,_e.jsx)(Xe.span,{...l,ref:u,style:{pointerEvents:"none"},children:EE(s.value)?(0,_e.jsx)(_e.Fragment,{children:i}):a})});lE.displayName=iE;var vD="SelectIcon",sE=te.forwardRef((e,t)=>{let{__scopeSelect:n,children:r,...o}=e;return(0,_e.jsx)(Xe.span,{"aria-hidden":!0,...o,ref:t,children:r||"\u25BC"})});sE.displayName=vD;var bD="SelectPortal",cE=e=>(0,_e.jsx)(Ly,{asChild:!0,...e});cE.displayName=bD;var ul="SelectContent",uE=te.forwardRef((e,t)=>{let n=yi(ul,e.__scopeSelect),[r,o]=te.useState();if(qt(()=>{o(new DocumentFragment)},[]),!n.open){let a=r;return a?tv.createPortal((0,_e.jsx)(dE,{scope:e.__scopeSelect,children:(0,_e.jsx)(bm.Slot,{scope:e.__scopeSelect,children:(0,_e.jsx)("div",{children:e.children})})}),a):null}return(0,_e.jsx)(fE,{...e,ref:t})});uE.displayName=ul;var vo=10,[dE,vi]=Ls(ul),xD="SelectContentImpl",SD=Yi("SelectContent.RemoveScroll"),fE=te.forwardRef((e,t)=>{let{__scopeSelect:n,position:r="item-aligned",onCloseAutoFocus:o,onEscapeKeyDown:a,onPointerDownOutside:i,side:l,sideOffset:s,align:c,alignOffset:d,arrowPadding:u,collisionBoundary:f,collisionPadding:p,sticky:v,hideWhenDetached:m,avoidCollisions:b,...h}=e,g=yi(ul,n),[y,x]=te.useState(null),[w,R]=te.useState(null),E=bt(t,I=>x(I)),[A,N]=te.useState(null),[L,j]=te.useState(null),D=xm(n),[W,ie]=te.useState(!1),ye=te.useRef(!1);te.useEffect(()=>{if(y)return BR(y)},[y]),d1();let V=te.useCallback(I=>{let[ue,...ve]=D().map(Ce=>Ce.ref.current),[ke]=ve.slice(-1),Se=document.activeElement;for(let Ce of I)if(Ce===Se||(Ce?.scrollIntoView({block:"nearest"}),Ce===ue&&w&&(w.scrollTop=0),Ce===ke&&w&&(w.scrollTop=w.scrollHeight),Ce?.focus(),document.activeElement!==Se))return},[D,w]),ee=te.useCallback(()=>V([A,y]),[V,A,y]);te.useEffect(()=>{W&&ee()},[W,ee]);let{onOpenChange:Q,triggerPointerDownPosRef:F}=g;te.useEffect(()=>{if(y){let I={x:0,y:0},ue=ke=>{I={x:Math.abs(Math.round(ke.pageX)-(F.current?.x??0)),y:Math.abs(Math.round(ke.pageY)-(F.current?.y??0))}},ve=ke=>{I.x<=10&&I.y<=10?ke.preventDefault():y.contains(ke.target)||Q(!1),document.removeEventListener("pointermove",ue),F.current=null};return F.current!==null&&(document.addEventListener("pointermove",ue),document.addEventListener("pointerup",ve,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",ue),document.removeEventListener("pointerup",ve,{capture:!0})}}},[y,Q,F]),te.useEffect(()=>{let I=()=>Q(!1);return window.addEventListener("blur",I),window.addEventListener("resize",I),()=>{window.removeEventListener("blur",I),window.removeEventListener("resize",I)}},[Q]);let[P,ct]=TE(I=>{let ue=D().filter(Se=>!Se.disabled),ve=ue.find(Se=>Se.ref.current===document.activeElement),ke=NE(ue,I,ve);ke&&setTimeout(()=>ke.ref.current.focus())}),X=te.useCallback((I,ue,ve)=>{let ke=!ye.current&&!ve;(g.value!==void 0&&g.value===ue||ke)&&(N(I),ke&&(ye.current=!0))},[g.value]),je=te.useCallback(()=>y?.focus(),[y]),le=te.useCallback((I,ue,ve)=>{let ke=!ye.current&&!ve;(g.value!==void 0&&g.value===ue||ke)&&j(I)},[g.value]),xe=r==="popper"?Qy:mE,Ie=xe===Qy?{side:l,sideOffset:s,align:c,alignOffset:d,arrowPadding:u,collisionBoundary:f,collisionPadding:p,sticky:v,hideWhenDetached:m,avoidCollisions:b}:{};return(0,_e.jsx)(dE,{scope:n,content:y,viewport:w,onViewportChange:R,itemRefCallback:X,selectedItem:A,onItemLeave:je,itemTextRefCallback:le,focusSelectedItem:ee,selectedItemText:L,position:r,isPositioned:W,searchRef:P,children:(0,_e.jsx)(Yy,{as:SD,allowPinchZoom:!0,children:(0,_e.jsx)(xy,{asChild:!0,trapped:g.open,onMountAutoFocus:I=>{I.preventDefault()},onUnmountAutoFocus:st(o,I=>{g.trigger?.focus({preventScroll:!0}),I.preventDefault()}),children:(0,_e.jsx)(hy,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:a,onPointerDownOutside:i,onFocusOutside:I=>I.preventDefault(),onDismiss:()=>g.onOpenChange(!1),children:(0,_e.jsx)(xe,{role:"listbox",id:g.contentId,"data-state":g.open?"open":"closed",dir:g.dir,onContextMenu:I=>I.preventDefault(),...h,...Ie,onPlaced:()=>ie(!0),ref:E,style:{display:"flex",flexDirection:"column",outline:"none",...h.style},onKeyDown:st(h.onKeyDown,I=>{let ue=I.ctrlKey||I.altKey||I.metaKey;if(I.key==="Tab"&&I.preventDefault(),!ue&&I.key.length===1&&ct(I.key),["ArrowUp","ArrowDown","Home","End"].includes(I.key)){let ke=D().filter(Se=>!Se.disabled).map(Se=>Se.ref.current);if(["ArrowUp","End"].includes(I.key)&&(ke=ke.slice().reverse()),["ArrowUp","ArrowDown"].includes(I.key)){let Se=I.target,Ce=ke.indexOf(Se);ke=ke.slice(Ce+1)}setTimeout(()=>V(ke)),I.preventDefault()}})})})})})})});fE.displayName=xD;var wD="SelectItemAlignedPosition",mE=te.forwardRef((e,t)=>{let{__scopeSelect:n,onPlaced:r,...o}=e,a=yi(ul,n),i=vi(ul,n),[l,s]=te.useState(null),[c,d]=te.useState(null),u=bt(t,E=>d(E)),f=xm(n),p=te.useRef(!1),v=te.useRef(!0),{viewport:m,selectedItem:b,selectedItemText:h,focusSelectedItem:g}=i,y=te.useCallback(()=>{if(a.trigger&&a.valueNode&&l&&c&&m&&b&&h){let E=a.trigger.getBoundingClientRect(),A=c.getBoundingClientRect(),N=a.valueNode.getBoundingClientRect(),L=h.getBoundingClientRect();if(a.dir!=="rtl"){let Se=L.left-A.left,Ce=N.left-Se,He=E.left-Ce,Ke=E.width+He,an=Math.max(Ke,A.width),Hn=window.innerWidth-vo,dn=my(Ce,[vo,Math.max(vo,Hn-an)]);l.style.minWidth=Ke+"px",l.style.left=dn+"px"}else{let Se=A.right-L.right,Ce=window.innerWidth-N.right-Se,He=window.innerWidth-E.right-Ce,Ke=E.width+He,an=Math.max(Ke,A.width),Hn=window.innerWidth-vo,dn=my(Ce,[vo,Math.max(vo,Hn-an)]);l.style.minWidth=Ke+"px",l.style.right=dn+"px"}let j=f(),D=window.innerHeight-vo*2,W=m.scrollHeight,ie=window.getComputedStyle(c),ye=parseInt(ie.borderTopWidth,10),V=parseInt(ie.paddingTop,10),ee=parseInt(ie.borderBottomWidth,10),Q=parseInt(ie.paddingBottom,10),F=ye+V+W+Q+ee,P=Math.min(b.offsetHeight*5,F),ct=window.getComputedStyle(m),X=parseInt(ct.paddingTop,10),je=parseInt(ct.paddingBottom,10),le=E.top+E.height/2-vo,xe=D-le,Ie=b.offsetHeight/2,I=b.offsetTop+Ie,ue=ye+V+I,ve=F-ue;if(ue<=le){let Se=j.length>0&&b===j[j.length-1].ref.current;l.style.bottom="0px";let Ce=c.clientHeight-m.offsetTop-m.offsetHeight,He=Math.max(xe,Ie+(Se?je:0)+Ce+ee),Ke=ue+He;l.style.height=Ke+"px"}else{let Se=j.length>0&&b===j[0].ref.current;l.style.top="0px";let He=Math.max(le,ye+m.offsetTop+(Se?X:0)+Ie)+ve;l.style.height=He+"px",m.scrollTop=ue-le+m.offsetTop}l.style.margin=`${vo}px 0`,l.style.minHeight=P+"px",l.style.maxHeight=D+"px",r?.(),requestAnimationFrame(()=>p.current=!0)}},[f,a.trigger,a.valueNode,l,c,m,b,h,a.dir,r]);qt(()=>y(),[y]);let[x,w]=te.useState();qt(()=>{c&&w(window.getComputedStyle(c).zIndex)},[c]);let R=te.useCallback(E=>{E&&v.current===!0&&(y(),g?.(),v.current=!1)},[y,g]);return(0,_e.jsx)(CD,{scope:n,contentWrapper:l,shouldExpandOnScrollRef:p,onScrollButtonChange:R,children:(0,_e.jsx)("div",{ref:s,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:x},children:(0,_e.jsx)(Xe.div,{...o,ref:u,style:{boxSizing:"border-box",maxHeight:"100%",...o.style}})})})});mE.displayName=wD;var AD="SelectPopperPosition",Qy=te.forwardRef((e,t)=>{let{__scopeSelect:n,align:r="start",collisionPadding:o=vo,...a}=e,i=Sm(n);return(0,_e.jsx)(OR,{...i,...a,ref:t,align:r,collisionPadding:o,style:{boxSizing:"border-box",...a.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});Qy.displayName=AD;var[CD,nv]=Ls(ul,{}),Xy="SelectViewport",pE=te.forwardRef((e,t)=>{let{__scopeSelect:n,nonce:r,...o}=e,a=vi(Xy,n),i=nv(Xy,n),l=bt(t,a.onViewportChange),s=te.useRef(0);return(0,_e.jsxs)(_e.Fragment,{children:[(0,_e.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:r}),(0,_e.jsx)(bm.Slot,{scope:n,children:(0,_e.jsx)(Xe.div,{"data-radix-select-viewport":"",role:"presentation",...o,ref:l,style:{position:"relative",flex:1,overflow:"hidden auto",...o.style},onScroll:st(o.onScroll,c=>{let d=c.currentTarget,{contentWrapper:u,shouldExpandOnScrollRef:f}=i;if(f?.current&&u){let p=Math.abs(s.current-d.scrollTop);if(p>0){let v=window.innerHeight-vo*2,m=parseFloat(u.style.minHeight),b=parseFloat(u.style.height),h=Math.max(m,b);if(h<v){let g=h+p,y=Math.min(v,g),x=g-y;u.style.height=y+"px",u.style.bottom==="0px"&&(d.scrollTop=x>0?x:0,u.style.justifyContent="flex-end")}}}s.current=d.scrollTop})})})]})});pE.displayName=Xy;var gE="SelectGroup",[RD,ED]=Ls(gE),hE=te.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,o=si();return(0,_e.jsx)(RD,{scope:n,id:o,children:(0,_e.jsx)(Xe.div,{role:"group","aria-labelledby":o,...r,ref:t})})});hE.displayName=gE;var yE="SelectLabel",vE=te.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,o=ED(yE,n);return(0,_e.jsx)(Xe.div,{id:o.id,...r,ref:t})});vE.displayName=yE;var vm="SelectItem",[TD,bE]=Ls(vm),xE=te.forwardRef((e,t)=>{let{__scopeSelect:n,value:r,disabled:o=!1,textValue:a,...i}=e,l=yi(vm,n),s=vi(vm,n),c=l.value===r,[d,u]=te.useState(a??""),[f,p]=te.useState(!1),v=bt(t,g=>s.itemRefCallback?.(g,r,o)),m=si(),b=te.useRef("touch"),h=()=>{o||(l.onValueChange(r),l.onOpenChange(!1))};if(r==="")throw new Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return(0,_e.jsx)(TD,{scope:n,value:r,disabled:o,textId:m,isSelected:c,onItemTextChange:te.useCallback(g=>{u(y=>y||(g?.textContent??"").trim())},[]),children:(0,_e.jsx)(bm.ItemSlot,{scope:n,value:r,disabled:o,textValue:d,children:(0,_e.jsx)(Xe.div,{role:"option","aria-labelledby":m,"data-highlighted":f?"":void 0,"aria-selected":c&&f,"data-state":c?"checked":"unchecked","aria-disabled":o||void 0,"data-disabled":o?"":void 0,tabIndex:o?void 0:-1,...i,ref:v,onFocus:st(i.onFocus,()=>p(!0)),onBlur:st(i.onBlur,()=>p(!1)),onClick:st(i.onClick,()=>{b.current!=="mouse"&&h()}),onPointerUp:st(i.onPointerUp,()=>{b.current==="mouse"&&h()}),onPointerDown:st(i.onPointerDown,g=>{b.current=g.pointerType}),onPointerMove:st(i.onPointerMove,g=>{b.current=g.pointerType,o?s.onItemLeave?.():b.current==="mouse"&&g.currentTarget.focus({preventScroll:!0})}),onPointerLeave:st(i.onPointerLeave,g=>{g.currentTarget===document.activeElement&&s.onItemLeave?.()}),onKeyDown:st(i.onKeyDown,g=>{s.searchRef?.current!==""&&g.key===" "||(mD.includes(g.key)&&h(),g.key===" "&&g.preventDefault())})})})})});xE.displayName=vm;var Su="SelectItemText",SE=te.forwardRef((e,t)=>{let{__scopeSelect:n,className:r,style:o,...a}=e,i=yi(Su,n),l=vi(Su,n),s=bE(Su,n),c=yD(Su,n),[d,u]=te.useState(null),f=bt(t,h=>u(h),s.onItemTextChange,h=>l.itemTextRefCallback?.(h,s.value,s.disabled)),p=d?.textContent,v=te.useMemo(()=>(0,_e.jsx)("option",{value:s.value,disabled:s.disabled,children:p},s.value),[s.disabled,s.value,p]),{onNativeOptionAdd:m,onNativeOptionRemove:b}=c;return qt(()=>(m(v),()=>b(v)),[m,b,v]),(0,_e.jsxs)(_e.Fragment,{children:[(0,_e.jsx)(Xe.span,{id:s.textId,...a,ref:f}),s.isSelected&&i.valueNode&&!i.valueNodeHasChildren?tv.createPortal(a.children,i.valueNode):null]})});SE.displayName=Su;var wE="SelectItemIndicator",AE=te.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e;return bE(wE,n).isSelected?(0,_e.jsx)(Xe.span,{"aria-hidden":!0,...r,ref:t}):null});AE.displayName=wE;var Zy="SelectScrollUpButton",ND=te.forwardRef((e,t)=>{let n=vi(Zy,e.__scopeSelect),r=nv(Zy,e.__scopeSelect),[o,a]=te.useState(!1),i=bt(t,r.onScrollButtonChange);return qt(()=>{if(n.viewport&&n.isPositioned){let s=function(){let d=c.scrollTop>0;a(d)};var l=s;let c=n.viewport;return s(),c.addEventListener("scroll",s),()=>c.removeEventListener("scroll",s)}},[n.viewport,n.isPositioned]),o?(0,_e.jsx)(CE,{...e,ref:i,onAutoScroll:()=>{let{viewport:l,selectedItem:s}=n;l&&s&&(l.scrollTop=l.scrollTop-s.offsetHeight)}}):null});ND.displayName=Zy;var Jy="SelectScrollDownButton",MD=te.forwardRef((e,t)=>{let n=vi(Jy,e.__scopeSelect),r=nv(Jy,e.__scopeSelect),[o,a]=te.useState(!1),i=bt(t,r.onScrollButtonChange);return qt(()=>{if(n.viewport&&n.isPositioned){let s=function(){let d=c.scrollHeight-c.clientHeight,u=Math.ceil(c.scrollTop)<d;a(u)};var l=s;let c=n.viewport;return s(),c.addEventListener("scroll",s),()=>c.removeEventListener("scroll",s)}},[n.viewport,n.isPositioned]),o?(0,_e.jsx)(CE,{...e,ref:i,onAutoScroll:()=>{let{viewport:l,selectedItem:s}=n;l&&s&&(l.scrollTop=l.scrollTop+s.offsetHeight)}}):null});MD.displayName=Jy;var CE=te.forwardRef((e,t)=>{let{__scopeSelect:n,onAutoScroll:r,...o}=e,a=vi("SelectScrollButton",n),i=te.useRef(null),l=xm(n),s=te.useCallback(()=>{i.current!==null&&(window.clearInterval(i.current),i.current=null)},[]);return te.useEffect(()=>()=>s(),[s]),qt(()=>{l().find(d=>d.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:"nearest"})},[l]),(0,_e.jsx)(Xe.div,{"aria-hidden":!0,...o,ref:t,style:{flexShrink:0,...o.style},onPointerDown:st(o.onPointerDown,()=>{i.current===null&&(i.current=window.setInterval(r,50))}),onPointerMove:st(o.onPointerMove,()=>{a.onItemLeave?.(),i.current===null&&(i.current=window.setInterval(r,50))}),onPointerLeave:st(o.onPointerLeave,()=>{s()})})}),OD="SelectSeparator",_D=te.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e;return(0,_e.jsx)(Xe.div,{"aria-hidden":!0,...r,ref:t})});_D.displayName=OD;var ev="SelectArrow",kD=te.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,o=Sm(n),a=yi(ev,n),i=vi(ev,n);return a.open&&i.position==="popper"?(0,_e.jsx)(_R,{...o,...r,ref:t}):null});kD.displayName=ev;var LD="SelectBubbleInput",RE=te.forwardRef(({__scopeSelect:e,value:t,...n},r)=>{let o=te.useRef(null),a=bt(r,o),i=gf(t);return te.useEffect(()=>{let l=o.current;if(!l)return;let s=window.HTMLSelectElement.prototype,d=Object.getOwnPropertyDescriptor(s,"value").set;if(i!==t&&d){let u=new Event("change",{bubbles:!0});d.call(l,t),l.dispatchEvent(u)}},[i,t]),(0,_e.jsx)(Xe.select,{...n,style:{...Dy,...n.style},ref:a,defaultValue:t})});RE.displayName=LD;function EE(e){return e===""||e===void 0}function TE(e){let t=sr(e),n=te.useRef(""),r=te.useRef(0),o=te.useCallback(i=>{let l=n.current+i;t(l),(function s(c){n.current=c,window.clearTimeout(r.current),c!==""&&(r.current=window.setTimeout(()=>s(""),1e3))})(l)},[t]),a=te.useCallback(()=>{n.current="",window.clearTimeout(r.current)},[]);return te.useEffect(()=>()=>window.clearTimeout(r.current),[]),[n,o,a]}function NE(e,t,n){let o=t.length>1&&Array.from(t).every(c=>c===t[0])?t[0]:t,a=n?e.indexOf(n):-1,i=DD(e,Math.max(a,0));o.length===1&&(i=i.filter(c=>c!==n));let s=i.find(c=>c.textValue.toLowerCase().startsWith(o.toLowerCase()));return s!==n?s:void 0}function DD(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var ME=rE,OE=aE,_E=lE,kE=sE,LE=cE,DE=uE,IE=pE,zE=hE,BE=vE,UE=xE,PE=SE,jE=AE;var VE=_(pe(),1);var HE=_(J(),1),St=(0,VE.forwardRef)(function({className:t,...n},r){return(0,HE.jsx)("input",{ref:r,className:$("flex h-9 w-full rounded-lg border border-input bg-background/80 px-3 py-2 text-sm text-foreground shadow-sm outline-none transition placeholder:text-muted-foreground focus:border-ring focus:ring-2 focus:ring-ring/40",t),...n})});function FE(e){return String(e||"").trim().toLowerCase()}function wm(e){return FE(e).length>0}function KE({searchEnabled:e=!0}={}){return!!e}function rv(e){let t=String(e?.key||"");return!t||t.length!==1||e?.ctrlKey||e?.metaKey||e?.altKey?"":t.trim()?t:""}function $E(e={},t=""){let n=FE(t);return n?[e?.label,e?.value,e?.hint,e?.textValue,e?.searchText].map(o=>String(o||"").toLowerCase()).join(" ").includes(n):!0}var Am=_(pe(),1),zD=12;function ov(e){return/auto|scroll|hidden|clip|overlay/.test(String(e||"").toLowerCase())}function BD(e,t){return{top:Math.max(e.top,t.top),right:Math.min(e.right,t.right),bottom:Math.min(e.bottom,t.bottom),left:Math.max(e.left,t.left)}}function Cm(e){if(typeof window>"u")return[];let t=[],n=e?.parentElement||null;for(;n&&n!==document.body&&n!==document.documentElement;){let r=window.getComputedStyle(n);(ov(r.overflow)||ov(r.overflowY)||ov(r.overflowX))&&t.push(n),n=n.parentElement}return t}function UD(e,{viewportPadding:t=zD}={}){if(typeof window>"u")return null;let n={top:t,right:window.innerWidth-t,bottom:window.innerHeight-t,left:t};for(let r of Cm(e))n=BD(n,r.getBoundingClientRect());return n}function PD({anchorRect:e,boundaryRect:t,preferredSide:n="bottom",offset:r=4,desiredHeight:o=288}={}){if(!e||!t)return{side:n==="top"?"top":"bottom",maxHeight:o};let a=Math.max(0,e.top-t.top-r),i=Math.max(0,t.bottom-e.bottom-r),s=a===i?n==="top"?"top":"bottom":a>i?"top":"bottom",c=Math.max(0,Math.min(o,s==="top"?a:i));return{side:s,maxHeight:c}}function Rm({open:e=!1,anchorRef:t,preferredSide:n="bottom",offset:r=4,desiredHeight:o=288}={}){let[a,i]=(0,Am.useState)(()=>({side:n==="top"?"top":"bottom",maxHeight:o}));return(0,Am.useLayoutEffect)(()=>{if(!e||typeof window>"u")return;let l=t?.current||null;if(!l){i({side:n==="top"?"top":"bottom",maxHeight:o});return}let s=()=>{i(PD({anchorRect:l.getBoundingClientRect(),boundaryRect:UD(l),preferredSide:n,offset:r,desiredHeight:o}))};s();let c=Cm(l);window.addEventListener("resize",s);for(let u of c)u.addEventListener("scroll",s,{passive:!0});let d=null;if(typeof ResizeObserver=="function"){d=new ResizeObserver(s),d.observe(l);for(let u of c)d.observe(u)}return()=>{window.removeEventListener("resize",s);for(let u of c)u.removeEventListener("scroll",s);d?.disconnect?.()}},[e,t,n,r,o]),a}var xn=_(J(),1),Tm=(0,at.createContext)(null),jD="Enter character to filter",VD=41,HD="data-llm-router-select-search-input";function Em(e){return e==null||typeof e=="boolean"?"":typeof e=="string"||typeof e=="number"?String(e):Array.isArray(e)?e.map(t=>Em(t)).filter(Boolean).join(" "):(0,at.isValidElement)(e)?Em(e.props?.children):""}function av(e,t="first"){let n=Array.from(e?.querySelectorAll?.("[role='option']")||[]).filter(a=>a.getAttribute("aria-disabled")!=="true");if(n.length===0)return;let r=n.find(a=>a.getAttribute("data-state")==="checked");(t==="last"?n[n.length-1]:r||n[0])?.focus?.()}function FD(e={}){let t=String(e.textValue||Em(e.children)||"").trim();return{value:String(e.value||""),textValue:t,searchText:String(e.searchText||"")}}function GE(e,t=""){let n=0,r=0;return{children:at.Children.map(e,a=>{if(!(0,at.isValidElement)(a))return a;if(a.type?.__LLM_ROUTER_SELECT_ITEM===!0){n+=1;let l=$E(FD(a.props),t);return l&&(r+=1),l?a:null}if(!a.props?.children)return a;let i=GE(a.props.children,t);return n+=i.totalItems,r+=i.matchedItems,a.type?.__LLM_ROUTER_SELECT_GROUP===!0&&i.matchedItems===0?null:(0,at.cloneElement)(a,void 0,i.children)}),totalItems:n,matchedItems:r}}function tn({open:e,defaultOpen:t=!1,onOpenChange:n,searchEnabled:r=!0,openSearchRequest:o=0,children:a,...i}){let[l,s]=(0,at.useState)(!!t),[c,d]=(0,at.useState)(""),[u,f]=(0,at.useState)(!1),p=(0,at.useRef)(null),v=(0,at.useRef)(0),m=e!==void 0?e:l;(0,at.useEffect)(()=>{m||(d(""),f(!1))},[m]);function b(g){e===void 0&&s(g),n?.(g),g||(d(""),f(!1))}(0,at.useEffect)(()=>{!o||o===v.current||(v.current=o,d(""),r&&f(!0),!m&&(e===void 0&&s(!0),n?.(!0)))},[o,r,m,e,n]);let h={open:m,searchEnabled:r,filterValue:c,setFilterValue:d,searchSessionActive:u,setSearchSessionActive:f,setOpen:b,triggerRef:p,openSearchRequest:o};return(0,xn.jsx)(Tm.Provider,{value:h,children:(0,xn.jsx)(ME,{...i,open:m,onOpenChange:b,children:a})})}var nn=(0,at.forwardRef)(function({className:t,children:n,onKeyDown:r,...o},a){let i=(0,at.useContext)(Tm),l=i?.triggerRef||null,s=(0,at.useCallback)(d=>{if(l&&(l.current=d),typeof a=="function"){a(d);return}a&&(a.current=d)},[l,a]);function c(d){if(r?.(d),d.defaultPrevented||!i?.searchEnabled||o.disabled)return;let u=rv(d);u&&(d.preventDefault(),i.setSearchSessionActive?.(!0),i.setOpen(!0),i.setFilterValue(f=>`${f}${u}`))}return(0,xn.jsxs)(OE,{ref:s,className:$("relative inline-flex h-9 w-full items-center gap-2 rounded-lg border border-input bg-background/80 pl-3 pr-9 text-sm text-foreground shadow-sm outline-none transition focus:border-ring focus:ring-2 focus:ring-ring/40 disabled:cursor-not-allowed disabled:opacity-50",t),onKeyDown:c,...o,children:[(0,xn.jsx)("span",{className:"min-w-0 flex-1 truncate text-left",children:n}),(0,xn.jsx)(kE,{className:"pointer-events-none absolute right-3 top-1/2 -translate-y-1/2 text-muted-foreground",children:"\u25BE"})]})});function rn(e){return(0,xn.jsx)(_E,{...e})}var on=(0,at.forwardRef)(function({className:t,children:n,position:r="popper",onKeyDownCapture:o,searchPlaceholder:a=jD,emptySearchMessage:i="No matching options.",...l},s){let c=(0,at.useContext)(Tm),d=(0,at.useRef)(null),u=(0,at.useRef)(null),f=Rm({open:!!c?.open,anchorRef:c?.triggerRef,preferredSide:"bottom",desiredHeight:288,offset:4}),p=KE({searchEnabled:c?.searchEnabled,filterValue:c?.filterValue,sessionActive:c?.searchSessionActive}),v=(0,at.useMemo)(()=>wm(c?.filterValue)?GE(n,c?.filterValue):{children:n,totalItems:0,matchedItems:0},[n,c?.filterValue]),m=wm(c?.filterValue)&&v.totalItems>0&&v.matchedItems===0,b=Math.max(0,Math.floor((f.maxHeight||288)-(p?VD:0)));(0,at.useEffect)(()=>{if(!c?.open||!p||typeof window>"u")return;let x=window.requestAnimationFrame(()=>{let w=u.current;if(!w)return;w.focus();let R=w.value.length;w.setSelectionRange(R,R)});return()=>window.cancelAnimationFrame(x)},[c?.open,p,c?.openSearchRequest]);let h=(0,at.useCallback)(x=>{if(d.current=x,typeof s=="function"){s(x);return}s&&(s.current=x)},[s]);function g(x){if(o?.(x),x.defaultPrevented||x.target===u.current||!c?.searchEnabled)return;let w=rv(x);w&&(x.preventDefault(),x.stopPropagation(),c.setSearchSessionActive?.(!0),c.setFilterValue(R=>`${R}${w}`))}function y(x){let w=x.target.value;c?.setSearchSessionActive?.(!0),c?.setFilterValue(w)}return(0,xn.jsx)(LE,{children:(0,xn.jsxs)(DE,{ref:h,position:r,side:r==="popper"?f.side:void 0,className:$("z-50 min-w-[8rem] overflow-hidden rounded-xl border border-border/70 bg-popover text-popover-foreground shadow-lg",r==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=top]:-translate-y-1",t),onKeyDownCapture:g,...l,children:[p?(0,xn.jsx)("div",{className:"border-b border-border/70 p-1",children:(0,xn.jsx)(St,{ref:u,"data-llm-router-select-search-input":"true",value:c?.filterValue||"",autoComplete:"off",autoCorrect:"off",autoCapitalize:"none",spellCheck:!1,placeholder:a,className:"h-8 border-border/70 bg-background/90",onChange:y,onPointerDown:x=>x.stopPropagation(),onClick:x=>x.stopPropagation(),onKeyDown:x=>{if(x.stopPropagation(),x.key==="ArrowDown"){x.preventDefault(),av(d.current,"first");return}if(x.key==="ArrowUp"){x.preventDefault(),av(d.current,"last");return}x.key==="Escape"&&(x.preventDefault(),c?.setSearchSessionActive?.(!1),c?.setFilterValue(""),typeof window<"u"&&window.requestAnimationFrame(()=>av(d.current)))}})}):null,(0,xn.jsxs)(IE,{className:"px-1 pb-1",style:{maxHeight:`${b}px`},children:[wm(c?.filterValue)?v.children:n,m?(0,xn.jsx)("div",{className:"px-3 py-2 text-sm text-muted-foreground",children:i}):null]})]})})}),kt=(0,at.forwardRef)(function({className:t,children:n,searchText:r="",textValue:o,onPointerMove:a,...i},l){let s=(0,at.useContext)(Tm),c=String(o||Em(n)||"").trim();function d(u){if(a?.(u),u.defaultPrevented||!s?.searchEnabled||typeof document>"u")return;let f=document.activeElement;f instanceof HTMLElement&&f.getAttribute(HD)==="true"&&u.preventDefault()}return(0,xn.jsxs)(UE,{ref:l,className:$("relative flex w-full cursor-default select-none items-center rounded-lg py-2 pl-3 pr-8 text-sm text-foreground outline-none transition-colors hover:bg-accent/60 focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t),textValue:c,onPointerMove:d,...i,children:[(0,xn.jsx)(PE,{children:n}),(0,xn.jsx)("span",{className:"absolute right-2 inline-flex h-4 w-4 items-center justify-center text-xs text-muted-foreground",children:(0,xn.jsx)(jE,{children:"\u2713"})})]})});kt.__LLM_ROUTER_SELECT_ITEM=!0;function dl(e){return(0,xn.jsx)(zE,{...e})}dl.__LLM_ROUTER_SELECT_GROUP=!0;var Ds=(0,at.forwardRef)(function({className:t,children:n,...r},o){return(0,xn.jsx)(BE,{ref:o,className:$("-mt-1 sticky top-0 z-10 -mx-1 mb-1 block border-b border-border/55 bg-background/96 px-4 py-2 text-xs font-semibold uppercase tracking-[0.18em] text-foreground/80 backdrop-blur-sm",t),...r,children:n})});var wu=_(J(),1);function iv(e={}){let t=[],n=e?.modelAliases&&typeof e.modelAliases=="object"&&!Array.isArray(e.modelAliases)?e.modelAliases:{};for(let o of Object.keys(n))t.push({value:o,label:o,hint:`Alias \xB7 ${(n[o]?.targets||[]).length||0} target(s)`,kind:"alias",groupKey:"aliases",groupLabel:"Aliases"});for(let o of Array.isArray(e?.providers)?e.providers:[]){let a=String(o?.id||"").trim(),i=String(o?.name||a||"provider").trim()||"provider";for(let l of Array.isArray(o?.models)?o.models:[]){let s=String(l?.id||"").trim();if(!a||!s)continue;let c=Number.isFinite(l?.contextWindow)?Number(l.contextWindow):null;t.push({value:`${a}/${s}`,label:`${a}/${s}`,hint:c?`${i} \xB7 ${pi(c)}`:i,kind:"model",providerId:a,groupKey:`provider:${a}`,groupLabel:i})}}let r=new Set;return t.filter(o=>!o?.value||r.has(o.value)?!1:(r.add(o.value),!0))}function KD(e=""){let t=String(e||"").trim();if(!t)return{};let n=Nf(t);if(n?.kind==="alias")return{kind:"alias",groupKey:"aliases",groupLabel:"Aliases"};if(n?.kind==="model"&&n.providerId)return{kind:"model",providerId:n.providerId,groupKey:`provider:${n.providerId}`,groupLabel:n.providerId};if(n?.kind==="model")return{kind:"model",groupKey:"llm-router",groupLabel:"LLM Router"};let r=t.startsWith("alias:")?t.slice(6).trim():t;if(!r.includes("/"))return{kind:"alias",groupKey:"aliases",groupLabel:"Aliases"};let o=r.indexOf("/"),a=r.slice(0,o).trim();return a?{kind:"model",providerId:a,groupKey:`provider:${a}`,groupLabel:a}:{}}function bi(e=[],t=[]){let n=[...Array.isArray(e)?e:[]],r=new Set(n.map(o=>String(o?.value||"").trim()).filter(Boolean));for(let o of(Array.isArray(t)?t:[]).map(a=>String(a||"").trim()).filter(Boolean))r.has(o)||(r.add(o),n.push({value:o,label:o,hint:"Current config",...KD(o)}));return n}function $D(e=[]){let t=[],n=new Map,r=null;for(let o of(Array.isArray(e)?e:[]).filter(Boolean)){let a=String(o?.groupKey||o?.groupLabel||"").trim(),i=String(o?.groupLabel||"").trim();if(!a){r||(r={key:"__ungrouped__",label:"",options:[]},t.push(r)),r.options.push(o);continue}let l=n.get(a);l||(l={key:a,label:i||a,options:[]},n.set(a,l),t.push(l)),l.options.push(o)}return t}function GD(e={},{includeHint:t=!1}={}){let n=String(e?.label||e?.value||"").trim()||String(e?.value||"").trim(),r=String(e?.hint||"").trim();return t&&r?`${n} \xB7 ${r}`:n}function qE(e=[],{keyPrefix:t="select-option",includeHint:n=!1}={}){return $D(e).map((r,o)=>{let a=r.options.map(i=>(0,wu.jsx)(kt,{value:i.value,searchText:`${i.label||""} ${i.value||""} ${i.hint||""} ${r.label||""}`,children:GD(i,{includeHint:n})},`${t}-${i.value}`));return r.label?(0,wu.jsxs)(dl,{children:[(0,wu.jsx)(Ds,{children:r.label}),a]},`${t}-group-${r.key||o}`):a})}var Is=_(pe(),1),YE=_(Ei(),1);var no=_(pe(),1);var qD="flex h-9 w-full rounded-lg border border-input bg-background/80 px-3 py-2 text-sm text-foreground shadow-sm outline-none transition placeholder:text-muted-foreground focus:border-ring focus:ring-2 focus:ring-ring/40";function WD({committedValue:e="",draftValue:t="",isFocused:n=!1,hasLocalDraft:r=!1,previousCommittedValue:o=""}={}){let a=String(e??""),i=String(t??""),l=String(o??"");return n?{draftValue:i,hasLocalDraft:r,previousCommittedValue:a}:!r||a===i?{draftValue:a,hasLocalDraft:!1,previousCommittedValue:a}:a!==l?{draftValue:a,hasLocalDraft:!1,previousCommittedValue:a}:{draftValue:i,hasLocalDraft:!0,previousCommittedValue:a}}function YD({committedValue:e="",draftValue:t="",isFocused:n=!1,hasLocalDraft:r=!1}={}){return String(n||r?t??"":e??"")}function QD({commitOnBlur:e=!1,draftValue:t="",hasLocalDraft:n=!1}={}){return!e||!n?null:String(t??"")}var Nm=(0,no.forwardRef)(function({className:t,commitOnBlur:n=!1,value:r,onValueCommit:o,onValueChange:a,onChange:i,onFocus:l,onBlur:s,...c},d){let u=String(r??""),[f,p]=(0,no.useState)(u),[v,m]=(0,no.useState)(!1),[b,h]=(0,no.useState)(!1),g=(0,no.useRef)(u);return(0,no.useEffect)(()=>{let y=WD({committedValue:u,draftValue:f,isFocused:v,hasLocalDraft:b,previousCommittedValue:g.current});g.current=y.previousCommittedValue,p(y.draftValue),h(y.hasLocalDraft)},[u,f,b,v]),(0,no.createElement)("input",{...c,ref:d,className:$(qD,t),value:YD({committedValue:u,draftValue:f,isFocused:v,hasLocalDraft:b}),onFocus:y=>{m(!0),l?.(y)},onChange:y=>{let x=y.target.value;p(x),h(!0),a?.(x,y),i?.(y)},onBlur:y=>{m(!1);let x=QD({commitOnBlur:n,draftValue:f,hasLocalDraft:b});x!==null&&o?.(x,y),s?.(y)}})});var XD=/^\d*$/;function WE(e){let t=String(e??""),n=XD.test(t);return{accepted:n,draftValue:n?t:"",shouldCommit:n&&t!=="",commitValue:n&&t!==""?t:""}}var fe=_(J(),1);function ZD({className:e=""}){return(0,fe.jsxs)("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",className:e,children:[(0,fe.jsx)("path",{d:"M8 12V4",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"}),(0,fe.jsx)("path",{d:"M4.75 7.25 8 4l3.25 3.25",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})]})}function JD({className:e=""}){return(0,fe.jsxs)("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",className:e,children:[(0,fe.jsx)("path",{d:"M8 4v8",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"}),(0,fe.jsx)("path",{d:"M4.75 8.75 8 12l3.25-3.25",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})]})}function e5({className:e=""}){return(0,fe.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:[(0,fe.jsx)("path",{d:"M2.5 10s3-5.5 7.5-5.5S17.5 10 17.5 10s-3 5.5-7.5 5.5S2.5 10 2.5 10Z"}),(0,fe.jsx)("circle",{cx:"10",cy:"10",r:"2.5"})]})}function t5({className:e=""}){return(0,fe.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:[(0,fe.jsx)("path",{d:"M8.15 4.85A8.5 8.5 0 0 1 10 4.5c4.5 0 7.5 5.5 7.5 5.5a12.4 12.4 0 0 1-1.67 2.28"}),(0,fe.jsx)("path",{d:"M5.6 5.6A12.2 12.2 0 0 0 2.5 10s3 5.5 7.5 5.5a8.3 8.3 0 0 0 4.4-1.6"}),(0,fe.jsx)("path",{d:"M8.23 8.23a2.5 2.5 0 0 0 3.54 3.54"}),(0,fe.jsx)("path",{d:"M3 3l14 14"})]})}function zs({value:e,onChange:t,onValueChange:n,placeholder:r,disabled:o,isEnvVar:a,buffered:i,commitOnBlur:l,onValueCommit:s,className:c,inputProps:d={},maskMode:u="password"}){let[f,p]=(0,Is.useState)(!1),v=!a&&!f,m=v&&u!=="obscured-text"?"password":"text",b=v&&u==="obscured-text"?{...d?.style&&typeof d.style=="object"?d.style:{},WebkitTextSecurity:"disc"}:d?.style,h=i?{value:e||"",onValueChange:n,onValueCommit:s,commitOnBlur:l,type:m,autoComplete:"off",spellCheck:!1,placeholder:r,disabled:o,className:$("flex h-9 w-full rounded-lg rounded-r-none border border-r-0 border-input bg-background/80 px-3 py-2 text-sm text-foreground shadow-sm outline-none transition placeholder:text-muted-foreground focus:border-ring focus:ring-2 focus:ring-ring/40",c),style:b,...d}:{value:e||"",onChange:t,type:m,autoComplete:"off",spellCheck:!1,placeholder:r,disabled:o,className:$("flex h-9 w-full rounded-lg rounded-r-none border border-r-0 border-input bg-background/80 px-3 py-2 text-sm text-foreground shadow-sm outline-none transition placeholder:text-muted-foreground focus:border-ring focus:ring-2 focus:ring-ring/40",c),style:b,...d};return(0,fe.jsxs)("div",{className:"flex",children:[i?(0,fe.jsx)(Nm,{...h}):(0,fe.jsx)("input",{...h}),(0,fe.jsx)("button",{type:"button",tabIndex:-1,onClick:()=>p(g=>!g),disabled:o,className:"inline-flex h-9 w-9 shrink-0 items-center justify-center rounded-lg rounded-l-none border border-l-0 border-input bg-background/80 text-muted-foreground transition hover:text-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50","aria-label":f?"Hide credential":"Show credential",children:f?(0,fe.jsx)(t5,{className:"h-4 w-4"}):(0,fe.jsx)(e5,{className:"h-4 w-4"})})]})}function Aa({disabled:e=!1,label:t="Move up",onClick:n}){return(0,fe.jsx)(q,{type:"button",variant:"ghost",size:"sm",className:"h-7 w-7 rounded-full p-0",onMouseDown:r=>r.preventDefault(),onClick:n,disabled:e,"aria-label":t,title:t,children:(0,fe.jsx)(ZD,{className:"h-3.5 w-3.5"})})}function fl({disabled:e=!1,label:t="Move down",onClick:n}){return(0,fe.jsx)(q,{type:"button",variant:"ghost",size:"sm",className:"h-7 w-7 rounded-full p-0",onMouseDown:r=>r.preventDefault(),onClick:n,disabled:e,"aria-label":t,title:t,children:(0,fe.jsx)(JD,{className:"h-3.5 w-3.5"})})}function lv({active:e=!1}){return e?(0,fe.jsx)("span",{"aria-hidden":"true",className:"inline-flex h-2.5 w-2.5 rounded-full bg-emerald-500"}):null}function ft({label:e,hint:t,className:n,children:r,stacked:o=!1,headerClassName:a,hintClassName:i,headerAction:l=null}){return(0,fe.jsxs)("div",{className:$("flex flex-col gap-2 text-sm",n),children:[(0,fe.jsxs)("div",{className:$("text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",o?"flex min-h-10 items-start justify-between gap-3":"flex items-center justify-between gap-2",a),children:[(0,fe.jsxs)("div",{className:$("min-w-0",o?"flex-1 space-y-1":"flex min-w-0 items-center gap-2"),children:[(0,fe.jsx)("span",{children:e}),t?(0,fe.jsx)("span",{className:$("block normal-case tracking-normal text-[11px] text-muted-foreground/80",o?"leading-4":null,i),children:t}):null]}),l?(0,fe.jsx)("div",{className:"shrink-0",children:l}):null]}),r]})}function Mm({value:e,onValueChange:t,disabled:n=!1,allowEmptyCommit:r=!1,...o}){let a=String(e??""),[i,l]=(0,Is.useState)(a);return(0,Is.useEffect)(()=>{l(a)},[a]),(0,fe.jsx)(St,{...o,value:i,inputMode:"numeric",disabled:n,onChange:s=>{let c=WE(s.target.value);c.accepted&&(l(c.draftValue),c.shouldCommit?t(c.commitValue):r&&c.draftValue===""&&t(""))},onBlur:()=>{l(s=>s!==""?s:r?(t(""),""):a)}})}function QE({label:e,hint:t,checked:n=!1,onCheckedChange:r,disabled:o=!1,className:a}){return(0,fe.jsxs)("div",{className:$("flex items-center justify-between gap-4 rounded-2xl border border-border/70 bg-background/80 px-4 py-3",a),children:[(0,fe.jsxs)("div",{className:"min-w-0",children:[(0,fe.jsx)("div",{className:"text-sm font-medium text-foreground",children:e}),t?(0,fe.jsx)("div",{className:"mt-1 text-xs leading-5 text-muted-foreground",children:t}):null]}),(0,fe.jsx)(Hc,{checked:n,onCheckedChange:r,disabled:o,className:"data-[disabled]:cursor-not-allowed data-[disabled]:opacity-60"})]})}function Jn({open:e=!1,title:t="",description:n="",onClose:r=()=>{},children:o,variant:a="dialog",headerActions:i=null,showCloseButton:l=!0,closeDisabled:s=!1,closeOnEscape:c=!0,closeOnBackdrop:d=!0,footer:u=null,contentClassName:f="",bodyClassName:p="",footerClassName:v=""}){if((0,Is.useEffect)(()=>{if(!e||typeof window>"u")return;function h(g){g.key==="Escape"&&c&&r()}return window.addEventListener("keydown",h),()=>window.removeEventListener("keydown",h)},[c,e,r]),!e)return null;let m=a==="page",b=(0,fe.jsx)("div",{className:$("fixed inset-0 z-50 bg-slate-950/55 backdrop-blur-sm",m?"p-0":"flex items-center justify-center p-4"),onMouseDown:h=>{h.target===h.currentTarget&&d&&r()},children:(0,fe.jsxs)("div",{className:$("overflow-hidden border border-border/70 bg-card/95 shadow-2xl",m?"flex h-full w-full flex-col rounded-none border-x-0 border-y-0 bg-background/98":"flex max-h-[85vh] w-full max-w-3xl flex-col rounded-3xl",f),children:[(0,fe.jsxs)("div",{className:$("flex items-start justify-between gap-3 border-b border-border/70",m?"px-5 py-4 sm:px-6":"px-5 py-4"),children:[(0,fe.jsxs)("div",{className:"min-w-0",children:[(0,fe.jsx)("div",{className:"text-base font-semibold text-foreground",children:t}),n?(0,fe.jsx)("div",{className:"mt-1 text-sm leading-6 text-muted-foreground",children:n}):null]}),(0,fe.jsxs)("div",{className:"flex shrink-0 items-center gap-2",children:[i,l?(0,fe.jsx)(q,{type:"button",variant:"ghost",size:"sm",onClick:r,disabled:s,children:"Close"}):null]})]}),(0,fe.jsx)("div",{className:$("overflow-y-auto",m?"min-h-0 flex-1 px-5 py-4 sm:px-6 sm:py-5":"min-h-0 flex-1 px-5 py-4",p),children:o}),u?(0,fe.jsx)("div",{className:$("border-t border-border/70 bg-background/96",m?"px-5 py-4 sm:px-6":"px-5 py-4",v),children:u}):null]})});return typeof document>"u"||!document.body?b:(0,YE.createPortal)(b,document.body)}function Om({open:e=!1,anchorRef:t,preferredSide:n="bottom",desiredHeight:r=288,offset:o=4,className:a="",children:i,...l}){let s=Rm({open:e,anchorRef:t,preferredSide:n,desiredHeight:r,offset:o});return e?(0,fe.jsx)("div",{className:$("absolute left-0 right-0 z-30 overflow-y-auto rounded-xl border border-border/70 bg-popover shadow-lg",s.side==="top"?"bottom-full mb-1":"top-full mt-1",a),style:{maxHeight:`${Math.max(0,Math.floor(s.maxHeight||r))}px`},...l,children:i}):null}function XE({open:e=!1,onKeepEditing:t=()=>{},onDiscardAndClose:n=()=>{},onSaveAndClose:r=()=>{},saveDisabled:o=!1,dirtyLabels:a=[],details:i=""}){let l=a.length>1?`${a.slice(0,-1).join(", ")} and ${a[a.length-1]}`:a[0]||"this form";return(0,fe.jsx)(Jn,{open:e,onClose:t,title:"Unsaved changes",description:`You have unsaved edits in ${l}.`,contentClassName:"max-w-lg rounded-2xl border border-border/70 bg-background/98 shadow-[0_32px_120px_rgba(15,23,42,0.48)]",showCloseButton:!1,footer:(0,fe.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2",children:[(0,fe.jsx)(q,{type:"button",variant:"ghost",onClick:t,children:"Keep editing"}),(0,fe.jsx)(q,{type:"button",variant:"outline",onClick:n,children:"Cancel + Close"}),(0,fe.jsx)(q,{type:"button",onClick:()=>{r()},disabled:o,children:"Save + Close"})]}),children:(0,fe.jsxs)("div",{className:"space-y-3 text-sm leading-6 text-muted-foreground",children:[(0,fe.jsx)("div",{children:"Choose whether to save these edits before closing the modal."}),i?(0,fe.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-amber-900",children:i}):null]})})}function ZE({open:e=!1,failedModelIds:t=[],onKeepEditing:n=()=>{},onRemoveFailedAndClose:r=()=>{},removeDisabled:o=!1}){let a=t.length>1?`${t.length} failed models`:t[0]||"the failed model";return(0,fe.jsx)(Jn,{open:e,onClose:n,title:"Failed model tests",description:`Some new models did not pass validation: ${a}.`,contentClassName:"max-w-lg rounded-2xl border border-border/70 bg-background/98 shadow-[0_32px_120px_rgba(15,23,42,0.48)]",showCloseButton:!1,footer:(0,fe.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2",children:[(0,fe.jsx)(q,{type:"button",variant:"ghost",onClick:n,children:"Keep editing"}),(0,fe.jsx)(q,{type:"button",variant:"outline",onClick:()=>{r()},disabled:o,children:"Remove failed + close"})]}),children:(0,fe.jsxs)("div",{className:"space-y-3 text-sm leading-6 text-muted-foreground",children:[(0,fe.jsx)("div",{children:"Successful new models are still kept in the draft. You can continue editing, or remove only the failed rows and close the modal."}),t.length>0?(0,fe.jsx)("div",{className:"rounded-xl border border-rose-200 bg-rose-50 px-3 py-2 text-rose-900",children:t.join(", ")}):null]})})}function kr(){return(0,fe.jsx)("span",{className:"mr-2 inline-flex h-3.5 w-3.5 animate-spin rounded-full border-2 border-current border-r-transparent align-[-0.125em]"})}function JE({children:e,onClick:t,disabled:n=!1,title:r="",className:o=""}){return(0,fe.jsx)("button",{type:"button",className:$("inline-flex items-center rounded-full border border-border bg-background/70 px-2.5 py-1 text-[11px] font-medium tracking-wide text-muted-foreground transition hover:border-primary/35 hover:bg-primary/5 hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/60 focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:pointer-events-none disabled:opacity-50",o),onClick:t,disabled:n,title:r,"aria-label":r||void 0,children:e})}var Ne=_(J(),1);function n5({className:e=""}){return(0,Ne.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:[(0,Ne.jsx)("circle",{cx:"6.75",cy:"10",r:"3.25"}),(0,Ne.jsx)("path",{d:"M10 10h6.5"}),(0,Ne.jsx)("path",{d:"M13.5 10v2.25"}),(0,Ne.jsx)("path",{d:"M15.75 10v1.5"})]})}function r5({className:e=""}){return(0,Ne.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:[(0,Ne.jsx)("path",{d:"M16.25 10a6.25 6.25 0 1 1-1.83-4.42"}),(0,Ne.jsx)("path",{d:"M13.5 3.75h3v3"}),(0,Ne.jsx)("path",{d:"M16.5 3.75 12.75 7.5"})]})}function o5({className:e=""}){return(0,Ne.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:[(0,Ne.jsx)("path",{d:"M7.25 5.75h-1.5A2.75 2.75 0 0 0 3 8.5v5.75A2.75 2.75 0 0 0 5.75 17h5.75a2.75 2.75 0 0 0 2.75-2.75v-1.5"}),(0,Ne.jsx)("path",{d:"M10.5 9.5 17 3"}),(0,Ne.jsx)("path",{d:"M12 3h5v5"})]})}function a5({className:e=""}){return(0,Ne.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:[(0,Ne.jsx)("path",{d:"M6 3.5h5.25L15 7.25V16A1.5 1.5 0 0 1 13.5 17.5h-7A1.5 1.5 0 0 1 5 16V5A1.5 1.5 0 0 1 6.5 3.5H6Z"}),(0,Ne.jsx)("path",{d:"M11 3.5V7.5H15"})]})}function i5({className:e=""}){return(0,Ne.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:[(0,Ne.jsx)("path",{d:"M6 3.5h5.25L15 7.25V16A1.5 1.5 0 0 1 13.5 17.5h-7A1.5 1.5 0 0 1 5 16V5A1.5 1.5 0 0 1 6.5 3.5H6Z"}),(0,Ne.jsx)("path",{d:"M11 3.5V7.5H15"}),(0,Ne.jsx)("path",{d:"M7 12.25a3 3 0 1 1 2.85 2.99"}),(0,Ne.jsx)("path",{d:"M8.5 10.25h1.5v1.5"})]})}function l5({label:e,value:t,icon:n,disabled:r=!1,onClick:o,actionLabel:a}){return(0,Ne.jsxs)("button",{type:"button",className:"inline-flex h-9 min-w-0 max-w-full items-center gap-2 rounded-full border border-border/70 bg-background/90 px-3 text-left transition hover:border-accent hover:bg-accent disabled:cursor-not-allowed disabled:opacity-70 sm:max-w-[18rem]",onClick:o,disabled:r,"aria-label":a,title:r?a:t,children:[(0,Ne.jsx)("span",{className:"flex h-6 w-6 shrink-0 items-center justify-center rounded-full bg-secondary text-muted-foreground",children:n}),(0,Ne.jsx)("span",{className:"shrink-0 text-[10px] font-semibold uppercase tracking-[0.14em] text-muted-foreground",children:e}),(0,Ne.jsx)("span",{className:"min-w-0 truncate text-xs font-medium text-foreground",children:t})]})}function s5({value:e,pending:t=!1,disabled:n=!1,rotateDisabled:r=!1,onCopy:o,onRotate:a}){return(0,Ne.jsxs)("div",{className:"flex h-9 min-w-0 max-w-full items-stretch overflow-hidden rounded-full border border-border/70 bg-background/90 sm:max-w-[18rem]",children:[(0,Ne.jsxs)("button",{type:"button",className:"inline-flex min-w-0 flex-1 items-center gap-2 rounded-l-full px-3 text-left transition hover:bg-accent disabled:cursor-not-allowed disabled:opacity-70",onClick:o,disabled:n,"aria-label":t?"Gateway key is still generating":"Copy gateway key",title:t?"Gateway key is still generating":"Copy gateway key",children:[(0,Ne.jsx)("span",{className:"flex h-6 w-6 shrink-0 items-center justify-center rounded-full bg-secondary text-muted-foreground",children:(0,Ne.jsx)(n5,{className:"h-3.5 w-3.5"})}),(0,Ne.jsx)("span",{className:"shrink-0 text-[10px] font-semibold uppercase tracking-[0.14em] text-muted-foreground",children:"Gateway key"}),(0,Ne.jsx)("span",{className:"min-w-0 truncate text-xs font-medium text-foreground",children:e})]}),(0,Ne.jsx)("button",{type:"button",className:"inline-flex w-9 shrink-0 items-center justify-center rounded-r-full border-l border-border/70 text-muted-foreground transition hover:bg-accent hover:text-foreground disabled:cursor-not-allowed disabled:opacity-70",onClick:a,disabled:r,"aria-label":"Rotate gateway key",title:"Rotate gateway key",children:(0,Ne.jsx)(r5,{className:"h-3.5 w-3.5"})})]})}function tT({endpointValue:e,endpointDisabled:t=!1,gatewayValue:n,gatewayPending:r=!1,gatewayDisabled:o=!1,rotateDisabled:a=!1,onCopyEndpoint:i,onCopyGatewayKey:l,onRotateKey:s}){return(0,Ne.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[(0,Ne.jsx)(l5,{label:"Endpoint",value:e,icon:(0,Ne.jsx)(o5,{className:"h-3.5 w-3.5"}),disabled:t,onClick:i,actionLabel:t?"API endpoint not ready yet":"Copy API endpoint"}),(0,Ne.jsx)(s5,{value:n,pending:r,disabled:o,rotateDisabled:a,onCopy:l,onRotate:s})]})}function eT({label:e,value:t,icon:n,disabled:r=!1,onClick:o,actionLabel:a="",emptyLabel:i="Not resolved"}){let l=String(t||"").trim()||i;return(0,Ne.jsxs)("button",{type:"button",className:"inline-flex min-w-0 max-w-full items-start gap-2 rounded-2xl border border-border/70 bg-background/90 px-3 py-2 text-left transition hover:border-accent hover:bg-accent disabled:cursor-not-allowed disabled:opacity-70",onClick:o,disabled:r,"aria-label":a,title:r?a:l,children:[(0,Ne.jsx)("span",{className:"mt-0.5 flex h-5 w-5 shrink-0 items-center justify-center rounded-full bg-secondary text-muted-foreground",children:n}),(0,Ne.jsxs)("span",{className:"min-w-0",children:[(0,Ne.jsx)("span",{className:"block text-[9px] font-semibold uppercase tracking-[0.12em] text-muted-foreground",children:e}),(0,Ne.jsx)("span",{className:"mt-1 block break-all text-[11px] font-medium leading-4 text-foreground",children:l})]})]})}function ml({connected:e=!1,className:t,srLabel:n="Connected",size:r="sm"}){if(!e)return null;let o=r==="md"?"h-3.5 w-3.5":"h-2.5 w-2.5",a=r==="md"?"h-2 w-2":"h-1.5 w-1.5";return(0,Ne.jsxs)("span",{className:$("relative inline-flex shrink-0 items-center justify-center",o,t),children:[(0,Ne.jsx)("span",{"aria-hidden":"true",className:"absolute inset-0 rounded-full bg-emerald-400/45 animate-ping motion-reduce:animate-none"}),(0,Ne.jsx)("span",{"aria-hidden":"true",className:$("relative rounded-full bg-emerald-500 ring-2 ring-emerald-500/15",a)}),(0,Ne.jsx)("span",{className:"sr-only",children:n})]})}function _m({primaryLabel:e="Config file",primaryValue:t="",primaryIcon:n=(0,Ne.jsx)(a5,{className:"h-3 w-3"}),onOpenPrimary:r,secondaryLabel:o="Backup file",secondaryValue:a="",secondaryIcon:i=(0,Ne.jsx)(i5,{className:"h-3 w-3"}),onOpenSecondary:l}){let s=String(t||"").trim(),c=String(a||"").trim();return(0,Ne.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,Ne.jsx)(eT,{label:e,value:s,icon:n,disabled:!s||typeof r!="function",onClick:r,actionLabel:s?`Open ${e.toLowerCase()}`:`${e} path is not resolved yet`}),(0,Ne.jsx)(eT,{label:o,value:c,icon:i,disabled:!c||typeof l!="function",onClick:l,actionLabel:c?`Open ${o.toLowerCase()}`:`${o} path is not resolved yet`})]})}var Ho=_(pe(),1);var Yt=_(J(),1);function c5(e){return e==="error"?"Error":e==="success"?"Success":"Notice"}function u5({notice:e,onDismiss:t}){let[n,r]=(0,Ho.useState)(Mf),[o,a]=(0,Ho.useState)(Mf),[i,l]=(0,Ho.useState)(!1),s=(0,Ho.useRef)(null),c=(0,Ho.useRef)(0);(0,Ho.useEffect)(()=>{if(n<=0){t();return}if(i){s.current&&(clearTimeout(s.current),s.current=null);return}return c.current=Date.now(),s.current=setTimeout(()=>{s.current=null,t()},n),()=>{s.current&&(clearTimeout(s.current),s.current=null)}},[t,i,n]),(0,Ho.useEffect)(()=>{if(i||n<=0){a(n);return}let g=()=>{let x=c.current?Date.now()-c.current:0;a(Math.max(0,n-x))};g();let y=setInterval(g,qA);return()=>clearInterval(y)},[i,n]);function d(){if(i)return;s.current&&(clearTimeout(s.current),s.current=null);let g=c.current?Date.now()-c.current:0,y=Math.max(0,n-g);r(y),a(y),l(!0)}function u(){l(!1)}let f=e.tone==="error"?"border-rose-200 bg-rose-50 text-rose-800":e.tone==="success"?"border-emerald-200 bg-emerald-50 text-emerald-800":"border-amber-200 bg-amber-50 text-amber-800",p=9,v=2*Math.PI*p,m=Math.max(0,Math.min(1,o/Mf)),b=v*(1-m),h=i?`Auto-dismiss paused with ${Math.max(0,o/1e3).toFixed(1)} seconds remaining`:`Auto-dismiss in ${Math.max(0,o/1e3).toFixed(1)} seconds`;return(0,Yt.jsx)("div",{className:$("pointer-events-auto rounded-2xl border px-4 py-3 text-sm shadow-lg backdrop-blur",f),onMouseEnter:d,onMouseLeave:u,onFocusCapture:d,onBlurCapture:g=>{g.currentTarget.contains(g.relatedTarget)||u()},role:e.tone==="error"?"alert":"status",children:(0,Yt.jsxs)("div",{className:"min-w-0",children:[(0,Yt.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,Yt.jsx)("div",{className:"text-[11px] font-medium uppercase tracking-[0.16em] opacity-75",children:c5(e.tone)}),(0,Yt.jsxs)("div",{className:"relative mt-0.5 h-6 w-6 shrink-0 opacity-85","aria-label":h,title:h,children:[(0,Yt.jsxs)("svg",{viewBox:"0 0 24 24",className:$("h-6 w-6 -rotate-90",i?"opacity-70":"opacity-100"),"aria-hidden":"true",children:[(0,Yt.jsx)("circle",{cx:"12",cy:"12",r:p,fill:"none",stroke:"currentColor",strokeOpacity:"0.18",strokeWidth:"2"}),(0,Yt.jsx)("circle",{cx:"12",cy:"12",r:p,fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeDasharray:v,strokeDashoffset:b,className:"transition-[stroke-dashoffset,opacity] duration-100 ease-linear"})]}),(0,Yt.jsx)("span",{className:$("pointer-events-none absolute inset-0 flex items-center justify-center",i?"gap-[2px]":""),"aria-hidden":"true",children:i?(0,Yt.jsxs)(Yt.Fragment,{children:[(0,Yt.jsx)("span",{className:"h-2.5 w-[2px] rounded-full bg-current/75"}),(0,Yt.jsx)("span",{className:"h-2.5 w-[2px] rounded-full bg-current/75"})]}):(0,Yt.jsx)("span",{className:"h-1.5 w-1.5 rounded-full bg-current/75"})})]})]}),(0,Yt.jsx)("div",{className:"mt-1 leading-6",children:e.message}),(0,Yt.jsx)("div",{className:"mt-2 flex justify-end",children:(0,Yt.jsx)("button",{className:"rounded-full border border-current/15 px-2.5 py-1 text-[11px] font-medium uppercase tracking-[0.16em] opacity-85 transition hover:border-current/30 hover:opacity-100",onClick:t,type:"button",children:"Dismiss"})})]})})}function sv({notices:e,onDismiss:t}){return!Array.isArray(e)||e.length===0?null:(0,Yt.jsx)("div",{className:"pointer-events-none fixed inset-x-4 top-4 z-50 flex flex-col items-end gap-3","aria-live":"polite","aria-relevant":"additions text",children:e.map(n=>(0,Yt.jsx)("div",{className:"w-full max-w-md",children:(0,Yt.jsx)(u5,{notice:n,onDismiss:()=>t(n.id)})},n.id))})}var Ra=_(pe(),1);var Mn=_(pe(),1);var Gn=_(pe(),1);var Ca=_(pe(),1);function Bs(e=[]){let t=(0,Ca.useRef)(new Map),n=(0,Ca.useRef)(new Map),r=(0,Ca.useRef)(new Map),o=(0,Ca.useRef)(""),a=JSON.stringify(e);return(0,Ca.useLayoutEffect)(()=>{let i=new Map;for(let d of e){let u=t.current.get(d);u&&i.set(d,u.getBoundingClientRect())}let l=typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches;if(o.current!==""&&o.current!==a&&!l)for(let d of e){let u=r.current.get(d),f=i.get(d),p=t.current.get(d);if(!u||!f||!p)continue;let v=u.top-f.top;Math.abs(v)<1||typeof p.animate!="function"||p.animate([{transform:`translateY(${v}px)`},{transform:"translateY(0)"}],{duration:220,easing:"cubic-bezier(0.22, 1, 0.36, 1)"})}let c=new Set(e);for(let d of n.current.keys())c.has(d)||n.current.delete(d);r.current=i,o.current=a},[a]),(0,Ca.useMemo)(()=>i=>(n.current.has(i)||n.current.set(i,l=>{if(l){t.current.set(i,l);return}t.current.delete(i)}),n.current.get(i)),[])}var ht=_(J(),1);function cv({title:e,rows:t,onChange:n,options:r,disabled:o=!1,addLabel:a="Add target",emptyLabel:i="No targets configured.",helperText:l="Drag rows or use the arrow to change routing order.",helperAction:s=null,placeholder:c="provider/model or alias",draftPlaceholder:d="Add a new route",showDraftRow:u=!1,showDraftFocusButton:f=!1,showWeightInput:p=!1,filterOtherSelectedValues:v=!1,excludedValues:m=[]}){let b=(0,Gn.useRef)(0),h=(0,Gn.useRef)(""),g=(0,Gn.useRef)(null),y=(0,Gn.useRef)(new Map),x=(0,Gn.useRef)(0),w=(0,Gn.useRef)(0),[R,E]=(0,Gn.useState)(0),A=(0,Gn.useMemo)(()=>String(e||"targets").trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"targets",[e]),N=`${A}-draft-row`,L=(0,Gn.useMemo)(()=>{let X=(t||[]).filter(je=>String(je?.ref||"").trim());return u?[{key:N,ref:"",sourceRef:""},...X]:X},[t,u,N]),j=Bs(L.map(X=>X.key)),D=(0,Gn.useMemo)(()=>mr(m),[m]),W=(0,Gn.useMemo)(()=>bi(r,[...L.map(X=>X?.ref),...D]),[r,L,D]);(0,Gn.useEffect)(()=>()=>{typeof window<"u"&&x.current&&window.cancelAnimationFrame(x.current)},[]);function ie(X,je){if(u&&X===N){if(!String(je||"").trim())return;b.current+=1,n([{key:`${A}-draft-${b.current}`,ref:je,sourceRef:"",...p?{weight:"1"}:{}},...(t||[]).filter(le=>String(le?.ref||"").trim())]);return}n((t||[]).map(le=>le.key===X?{...le,ref:je}:le))}function ye(X,je){n((t||[]).map(le=>le.key===X?{...le,weight:je}:le))}function V(X){n((t||[]).filter(je=>je.key!==X))}function ee(X){n(Ss(t||[],X,je=>je?.key))}function Q(X){n(Bf(t||[],X,je=>je?.key))}function F(){h.current="",xa(g.current,!1),g.current=null}function P(){b.current+=1;let X=new Set([...(t||[]).map(le=>String(le?.ref||"").trim()).filter(Boolean),...D]),je=W.find(le=>!X.has(le.value))?.value||"";n([...t||[],{key:`${A}-draft-${b.current}`,ref:je,sourceRef:""}])}function ct(){if(!u||o)return;let X=y.current.get(N);if(!X||typeof window>"u"){E(He=>He+1);return}w.current+=1;let je=w.current;x.current&&(window.cancelAnimationFrame(x.current),x.current=0),X.scrollIntoView({block:"start",behavior:"smooth"});let le=Cm(X),xe=ey(X,le),Ie=0,I=0,ue=90,ve=8,ke=6,Se=.5,Ce=()=>{if(w.current!==je)return;let He=y.current.get(N)||X,Ke=ey(He,le);if(!Number.isFinite(Ke.top)||!Number.isFinite(Ke.left)){x.current=0,E(an=>an+1);return}if(fC(xe,Ke,Se)?Ie+=1:Ie=0,xe=Ke,I+=1,I>=ve&&Ie>=ke||I>=ue){x.current=0,E(an=>an+1);return}x.current=window.requestAnimationFrame(Ce)};x.current=window.requestAnimationFrame(Ce)}return(0,ht.jsxs)("div",{className:"space-y-2 rounded-2xl border border-border/70 bg-background/55 p-4",children:[(0,ht.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-2",children:[(0,ht.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,ht.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:e}),f&&u?(0,ht.jsx)(q,{type:"button",variant:"ghost",size:"sm",className:"h-6 w-6 rounded-md p-0 text-muted-foreground hover:text-foreground",onMouseDown:X=>X.preventDefault(),onClick:ct,disabled:o,"aria-label":a,title:a,children:(0,ht.jsx)(tC,{className:"h-3.5 w-3.5"})}):null]}),(0,ht.jsxs)("div",{className:"ml-auto flex max-w-full flex-wrap items-start justify-end gap-x-3 gap-y-2",children:[l?(0,ht.jsx)("div",{className:"max-w-[34rem] text-right text-[11px] leading-4 text-muted-foreground",children:l}):null,u?null:(0,ht.jsx)(q,{type:"button",variant:"ghost",onClick:P,disabled:o,children:a})]})]}),L.length>0?(0,ht.jsx)("div",{className:"space-y-2",children:L.map((X,je)=>{let le=u&&X.key===N,xe=le?-1:(t||[]).findIndex(I=>I?.key===X.key),Ie=v?W.filter(I=>{let ue=String(I?.value||"").trim();return ue?ue===String(X?.ref||"").trim()?!0:D.includes(ue)?!1:!(L||[]).some(ve=>ve?.key!==X.key&&String(ve?.ref||"").trim()===ue):!1}):W;return(0,ht.jsxs)("div",{ref:I=>{if(j(X.key)(I),I){y.current.set(X.key,I);return}y.current.delete(X.key)},"data-reorder-row":"true",onDragOver:I=>{!o&&h.current&&h.current!==X.key&&(I.preventDefault(),I.dataTransfer.dropEffect="move")},onDrop:I=>{if(o)return;I.preventDefault();let ue=I.dataTransfer.getData("text/plain")||h.current;F(),n(zf(t||[],ue,X.key))},className:$(p?"grid grid-cols-[auto_auto_auto_minmax(0,1fr)_10rem_5.5rem] items-center gap-2 rounded-xl border border-border/70 bg-card/90 p-3":"grid grid-cols-[auto_auto_auto_minmax(0,1fr)_5.5rem] items-center gap-2 rounded-xl border border-border/70 bg-card/90 p-3",le?"border-dashed bg-background/85":null),children:[(0,ht.jsx)("span",{className:$("flex h-8 w-8 items-center justify-center rounded-full text-muted-foreground",le||o?"opacity-45":"cursor-grab"),draggable:!o&&!le,onDragStart:I=>{if(o||le)return;let ue=ws(I.currentTarget);I.dataTransfer.effectAllowed="move",I.dataTransfer.setData("text/plain",X.key),ue&&typeof I.dataTransfer?.setDragImage=="function"&&I.dataTransfer.setDragImage(ue,20,20),F(),h.current=X.key,g.current=ue,xa(ue,!0)},onDragEnd:F,title:le?"New route draft row":"Drag to reorder",children:(0,ht.jsx)(bs,{className:"h-4 w-4"})}),(0,ht.jsx)(Aa,{disabled:o||le||xe<=0,label:le||xe<=0?"Already first":`Move ${X.ref||`target ${xe+1}`} up`,onClick:()=>ee(X.key)}),(0,ht.jsx)(fl,{disabled:o||le||xe===-1||xe>=(t||[]).length-1,label:le||xe===-1||xe>=(t||[]).length-1?"Already last":`Move ${X.ref||`target ${xe+1}`} down`,onClick:()=>Q(X.key)}),(0,ht.jsxs)("div",{className:"flex h-9 min-w-0 overflow-hidden rounded-lg border border-input bg-background/80 shadow-sm transition focus-within:border-ring focus-within:ring-2 focus-within:ring-ring/40",children:[(0,ht.jsx)("div",{className:"flex shrink-0 items-center border-r border-border/70 bg-secondary/55 px-2.5 text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Model"}),(0,ht.jsxs)(tn,{value:X.ref||void 0,onValueChange:I=>ie(X.key,I),disabled:o,openSearchRequest:le?R:0,children:[(0,ht.jsx)(nn,{className:"h-full min-w-0 flex-1 rounded-none border-0 bg-transparent px-3 shadow-none focus:border-transparent focus:ring-0",children:(0,ht.jsx)(rn,{placeholder:le?d:c})}),(0,ht.jsx)(on,{children:Ie.length>0?qE(Ie,{keyPrefix:`${e}-row-${X.key}`}):(0,ht.jsx)(kt,{value:"__no-route-options",disabled:!0,children:"No routes available"})})]})]}),p?(0,ht.jsxs)("div",{className:$("flex h-9 overflow-hidden rounded-lg border border-input bg-background/80 shadow-sm transition focus-within:border-ring focus-within:ring-2 focus-within:ring-ring/40",le?"opacity-45":null),children:[(0,ht.jsx)("div",{className:"flex shrink-0 items-center border-r border-border/70 bg-secondary/55 px-2.5 text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Weight"}),(0,ht.jsx)(St,{value:le?"":String(X?.weight||"1"),onChange:I=>ye(X.key,I.target.value),inputMode:"numeric",placeholder:"1",disabled:o||le,className:"h-full min-w-0 rounded-none border-0 bg-transparent px-3 text-center shadow-none focus:border-transparent focus:ring-0","aria-label":le?"Weight for new target":`Weight for ${X.ref||`target ${je+1}`}`})]}):null,le?(0,ht.jsx)(q,{type:"button",variant:"ghost",className:$(vs,"pointer-events-none invisible"),tabIndex:-1,disabled:!0,"aria-hidden":"true",children:"Remove"}):(0,ht.jsx)(q,{type:"button",variant:"ghost",className:vs,onMouseDown:I=>I.preventDefault(),onClick:()=>V(X.key),disabled:o,children:"Remove"})]},X.key)})}):(0,ht.jsx)("div",{className:"rounded-xl border border-dashed border-border px-4 py-5 text-sm text-muted-foreground",children:i}),s?(0,ht.jsx)("div",{className:"flex min-h-8 items-center justify-end",children:s}):null]})}var pl=_(pe(),1);var ne=_(J(),1);function d5(e,t){let n=Math.abs(Number(e)||0),r=Math.abs(Number(t)||0);for(;r!==0;){let o=n%r;n=r,r=o}return n||1}function f5(e=[]){return!Array.isArray(e)||e.length===0?1:e.reduce((t,n)=>d5(t,n),0)||1}function m5(e,t){let n=String(e||"").trim();if(!n)return"Unconfigured route";let r=t.get(n);if(!r)return n;let o=String(r.label||n).trim()||n,a=String(r.hint||"").trim();return a&&a!==o?`${o} \xB7 ${a}`:o}function nT(e,t,n=[]){let r=new Map((n||[]).map(l=>[String(l?.value||"").trim(),l]).filter(([l])=>!!l)),o=new Map((Array.isArray(t?.targets)?t.targets:[]).map(l=>[String(l?.ref||"").trim(),l]).filter(([l])=>!!l)),a=new Map((Array.isArray(t?.fallbackTargets)?t.fallbackTargets:[]).map(l=>[String(l?.ref||"").trim(),l]).filter(([l])=>!!l));function i(l,s,c){return(l||[]).map((d,u)=>{let f=String(d?.ref||"").trim(),p=String(d?.sourceRef||d?.ref||"").trim(),v=c.get(p)||c.get(f)||{},m=Number(d?.weight??v?.weight),b=Number.isFinite(m)&&m>0?Math.floor(m):1;return{key:`${s}-${f||"empty"}-${u}`,ref:f,label:m5(f,r),bucket:s,weight:b}}).filter(d=>!!d.ref)}return[...i(e?.targets,"primary",o),...i(e?.fallbackTargets,"fallback",a)]}function p5(e=[],t=8){if(!Array.isArray(e)||e.length===0)return[];let n=e.map(l=>Math.max(1,Number(l?.weight)||1)),r=f5(n),o=n.map(l=>Math.max(1,Math.floor(l/r))),a=o.reduce((l,s)=>l+s,0);if(a>24){let l=a/24;o=o.map(s=>Math.max(1,Math.round(s/l))),a=o.reduce((s,c)=>s+c,0)}let i=[];for(let l=0;l<e.length;l+=1)for(let s=0;s<o[l];s+=1)i.push(e[l]);return Array.from({length:Math.max(e.length,t)},(l,s)=>i[s%i.length])}function g5(e,t=[]){let n=Uf(e),r=Pf(n),o=Array.isArray(t)?t.filter(Boolean):[],i=o.some(l=>l.bucket==="fallback")?"Runtime builds the candidate pool as all primary targets first, then all fallback targets.":"Runtime builds the candidate pool from the primary target list only.";if(n==="round-robin"){let l=o.length>0?Array.from({length:Math.max(o.length,8)},(s,c)=>o[c%o.length]):[];return{strategyLabel:r,summary:"Each new request starts from the next candidate in the current pool, then wraps around.",poolNote:`${i} Round-robin rotates across that combined eligible list.`,sequenceLabel:"Example starting candidate by request",sequenceEntries:l,footnote:"If a candidate is unhealthy or quota-blocked, it is skipped and the next eligible candidate is chosen."}}if(n==="weighted-rr"||n==="quota-aware-weighted-rr"||n==="auto"){let l=n==="auto",s=p5(o,8);return{strategyLabel:r,summary:l?"`auto` normalizes to quota-aware weighted round-robin in the runtime balancer.":n==="quota-aware-weighted-rr"?"Candidates rotate like weighted round-robin, but low remaining quota or poor health lowers their share.":"Candidates repeat in proportion to their configured weights.",poolNote:`${i} This strategy ranks across the full eligible pool after it is built.`,sequenceLabel:"Example starting candidate by request",sequenceEntries:s,footnote:l||n==="quota-aware-weighted-rr"?"When all quotas and health scores are equal, the rotation looks like the weighted example below. Low remaining capacity or retryable failures push a target later.":"Weights come from the existing alias target metadata when present. Targets without a stored weight behave as weight 1."}}return{strategyLabel:r,summary:"Requests try candidates in the configured list order and only move to later candidates when earlier ones are unavailable or fail.",poolNote:`${i} Ordered keeps that exact sequence.`,sequenceLabel:"Attempt order",sequenceEntries:o,footnote:"This is the most predictable option when you want a strict preference order."}}function rT({open:e=!1,onClose:t=()=>{},onSave:n=()=>{},aliasLabel:r="",initialStrategy:o="auto",entries:a=[],disabled:i=!1}){let l=Uf(o),[s,c]=(0,pl.useState)(l),[d,u]=(0,pl.useState)(!1);(0,pl.useEffect)(()=>{e&&(c(l),u(!1))},[e,l,r]);async function f(){if(!(i||d)){u(!0);try{await n(s)!==!1&&t()}finally{u(!1)}}}return(0,ne.jsx)(Jn,{open:e,onClose:t,title:r?`Choose strategy \xB7 ${r}`:"Choose strategy",description:"Review each routing strategy in its own tab. Save applies the currently selected tab to this alias.",showCloseButton:!1,footer:(0,ne.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2",children:[(0,ne.jsx)(q,{type:"button",variant:"ghost",onClick:t,disabled:d,children:"Cancel"}),(0,ne.jsx)(q,{type:"button",onClick:()=>{f()},disabled:i||d,children:d?"Saving\u2026":"Save strategy"})]}),children:(0,ne.jsxs)(ps,{value:s,onValueChange:c,children:[(0,ne.jsx)("div",{className:"overflow-x-auto pb-1",children:(0,ne.jsx)(gs,{className:"h-auto min-w-max flex-wrap justify-start gap-2 rounded-2xl bg-secondary/80 p-2",children:Of.map(p=>(0,ne.jsx)(ur,{value:p.value,className:"h-auto min-h-10 rounded-xl px-4 py-2",children:p.label},p.value))})}),Of.map(p=>{let v=g5(p.value,a),m=(v.sequenceEntries||[]).filter(Boolean);return(0,ne.jsx)(dr,{value:p.value,className:"mt-4",children:(0,ne.jsxs)("div",{className:"grid gap-4 xl:grid-cols-[minmax(0,1.15fr)_minmax(320px,0.85fr)]",children:[(0,ne.jsxs)("div",{className:"space-y-4",children:[(0,ne.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/80 p-5",children:[(0,ne.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,ne.jsx)(Je,{variant:"outline",children:v.strategyLabel}),(0,ne.jsxs)(Je,{variant:"info",children:[a.length," candidate",a.length===1?"":"s"]})]}),(0,ne.jsxs)("div",{className:"mt-4 space-y-3 text-sm leading-6 text-foreground",children:[(0,ne.jsx)("p",{children:v.summary}),(0,ne.jsx)("p",{className:"text-muted-foreground",children:v.poolNote})]})]}),(0,ne.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/80 p-5",children:[(0,ne.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:v.sequenceLabel}),m.length>0?(0,ne.jsx)("div",{className:"mt-4 flex flex-wrap gap-2",children:m.map((b,h)=>(0,ne.jsxs)("div",{className:"rounded-full border border-border/70 bg-card/90 px-3 py-1.5 text-sm text-foreground",children:[(0,ne.jsx)("span",{className:"mr-2 text-xs text-muted-foreground",children:h+1}),(0,ne.jsx)("span",{children:b.label})]},`${b.key}-sequence-${h}`))}):(0,ne.jsx)("div",{className:"mt-4 rounded-xl border border-dashed border-border px-4 py-5 text-sm text-muted-foreground",children:"Add at least one target to preview how this strategy would route requests."}),(0,ne.jsx)("div",{className:"mt-4 text-sm leading-6 text-muted-foreground",children:v.footnote})]})]}),(0,ne.jsx)("div",{className:"space-y-4",children:(0,ne.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/80 p-5",children:[(0,ne.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,ne.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Current setup"}),r?(0,ne.jsx)(Je,{variant:"outline",children:r}):null]}),a.length>0?(0,ne.jsx)("div",{className:"mt-4 space-y-2",children:a.map(b=>(0,ne.jsxs)("div",{className:"flex flex-wrap items-center gap-2 rounded-xl border border-border/70 bg-card/90 px-3 py-2 text-sm",children:[(0,ne.jsx)(Je,{variant:b.bucket==="primary"?"info":"outline",children:b.bucket}),(0,ne.jsx)("span",{className:"font-medium text-foreground",children:b.label}),(0,ne.jsxs)("span",{className:"text-xs text-muted-foreground",children:["weight ",b.weight]})]},b.key))}):(0,ne.jsx)("div",{className:"mt-4 rounded-xl border border-dashed border-border px-4 py-5 text-sm text-muted-foreground",children:"This alias does not have any targets yet."})]})})]})},p.value)})]})})}function oT({open:e=!1,onClose:t=()=>{},config:n={}}){let r=(0,pl.useMemo)(()=>JC(n),[n]);return(0,ne.jsx)(Jn,{open:e,onClose:t,title:"Alias guide",description:"Aliases give clients one stable route while letting LLM Router swap, balance, and fail over across provider/model targets behind that route.",contentClassName:"max-h-[92vh] max-w-4xl rounded-2xl border border-border/70 bg-background/98 shadow-[0_32px_120px_rgba(15,23,42,0.48)]",bodyClassName:"max-h-[calc(92vh-5.5rem)]",children:(0,ne.jsxs)("div",{className:"space-y-4",children:[(0,ne.jsxs)("div",{className:"grid gap-4 md:grid-cols-3",children:[(0,ne.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/70 p-4",children:[(0,ne.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Stable route"}),(0,ne.jsxs)("div",{className:"mt-2 text-sm leading-6 text-foreground",children:["Expose one alias like ",(0,ne.jsx)("code",{children:"coding"})," or ",(0,ne.jsx)("code",{children:"gpt-5.4"})," to clients, then retarget the alias later without touching client config."]})]}),(0,ne.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/70 p-4",children:[(0,ne.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Selection strategy"}),(0,ne.jsx)("div",{className:"mt-2 text-sm leading-6 text-foreground",children:"The alias strategy controls how LLM Router picks from the configured targets. Ordered is strict preference; the other strategies distribute traffic when multiple targets are healthy."})]}),(0,ne.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/70 p-4",children:[(0,ne.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Fallback behavior"}),(0,ne.jsx)("div",{className:"mt-2 text-sm leading-6 text-foreground",children:"If one target is unavailable or rate limited, LLM Router can continue to later candidates in the same alias instead of failing the whole request immediately."})]})]}),(0,ne.jsxs)("div",{className:"rounded-2xl border border-amber-200 bg-amber-50 p-4",children:[(0,ne.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,ne.jsx)(Je,{variant:"warning",children:"Important"}),(0,ne.jsx)("div",{className:"text-sm font-medium text-amber-950",children:"Mixed context windows inside one alias can change behavior."})]}),(0,ne.jsxs)("div",{className:"mt-3 text-sm leading-6 text-amber-900",children:["If an alias mixes models with different context windows, requests that fit the larger model may still fail on the smaller model. For example, an alias that includes both a ",(0,ne.jsx)("code",{children:"258K"})," model and a ",(0,ne.jsx)("code",{children:"128K"})," model can still fail when routing lands on the smaller target. Keep aliases aligned by context size when you expect long histories or large prompts."]})]}),(0,ne.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/70 p-4",children:[(0,ne.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,ne.jsxs)("div",{children:[(0,ne.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Current config check"}),(0,ne.jsx)("div",{className:"mt-1 text-sm text-muted-foreground",children:"Aliases below currently mix different configured model context windows."})]}),(0,ne.jsx)(Je,{variant:r.length>0?"warning":"success",children:r.length>0?`${r.length} alias${r.length===1?"":"es"} need review`:"No mixed context windows detected"})]}),r.length>0?(0,ne.jsx)("div",{className:"mt-4 space-y-3",children:r.map(o=>(0,ne.jsxs)("div",{className:"rounded-2xl border border-amber-200 bg-amber-50/70 p-4",children:[(0,ne.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,ne.jsx)(Je,{variant:"outline",children:o.aliasId}),(0,ne.jsxs)("div",{className:"text-sm font-medium text-amber-950",children:["Smallest target: ",pi(o.smallestContextWindow),". Largest target: ",pi(o.largestContextWindow),"."]})]}),(0,ne.jsxs)("div",{className:"mt-3 flex flex-wrap gap-2",children:[o.models.map(a=>(0,ne.jsxs)("div",{className:"rounded-full border border-amber-200 bg-background/90 px-3 py-1.5 text-sm text-foreground",children:[a.ref," \xB7 ",pi(a.contextWindow)]},a.ref)),o.unknownRefs.map(a=>(0,ne.jsxs)("div",{className:"rounded-full border border-dashed border-amber-300 bg-background/70 px-3 py-1.5 text-sm text-muted-foreground",children:[a," \xB7 context unknown"]},a))]})]},o.aliasId))}):(0,ne.jsx)("div",{className:"mt-4 rounded-xl border border-dashed border-border px-4 py-5 text-sm text-muted-foreground",children:"No alias currently mixes known context-window sizes across its configured targets."})]})]})})}var we=_(J(),1),h5=500;function xi(e=[]){return(e||[]).map(t=>({ref:String(t?.ref||"").trim(),weight:String(t?.weight||"1").trim()}))}function uv({aliasId:e,alias:t,aliasIds:n,routeOptions:r,defaultModel:o,ampDefaultRoute:a,disabled:i=!1,disabledReason:l="",busy:s=!1,onApply:c,onRemove:d,onCopyAliasId:u=()=>{},isNew:f=!1,alwaysShowAliasIdInput:p=!1,showIssueOnSubmitOnly:v=!1,onDiscard:m=()=>{},onOpenStrategyModal:b=()=>{},titleAccessory:h=null,aliasSwitcher:g=null,framed:y=!0}){let x=gC(e,t,{isNew:f}),w=(0,Mn.useMemo)(()=>PA(f?"":e,t),[x]),[R,E]=(0,Mn.useState)(w),[A,N]=(0,Mn.useState)(f),[L,j]=(0,Mn.useState)(!1),D=(0,Mn.useRef)(null),W=(0,Mn.useRef)(0),ie=(0,Mn.useRef)(""),[ye,V]=(0,Mn.useState)("idle");(0,Mn.useEffect)(()=>{E(w),N(f),j(!1),V("idle"),ie.current=""},[w,f]);let ee=!f&&Array.isArray(g?.entries)&&g.entries.length>1,Q=p||A;(0,Mn.useEffect)(()=>{if(!Q)return;let H=typeof window<"u"?window.requestAnimationFrame(()=>{D.current?.focus(),D.current?.select?.()}):0;return()=>{typeof window<"u"&&window.cancelAnimationFrame(H)}},[Q]);let F=String(R?.id||"").trim(),P=e===xt||F===xt,ct=(0,Mn.useMemo)(()=>bi((r||[]).filter(H=>H.kind!=="alias"&&H.value!==F&&H.value!==`alias:${F}`),[...(R?.targets||[]).map(H=>H?.ref),...(R?.fallbackTargets||[]).map(H=>H?.ref)]),[r,F,R?.targets,R?.fallbackTargets]),X=(R?.targets||[]).map(H=>String(H?.ref||"").trim()),je=(R?.fallbackTargets||[]).map(H=>String(H?.ref||"").trim()),le=[...X,...je],xe=[...R?.targets||[],...R?.fallbackTargets||[]],Ie=xe.some(H=>!String(H?.ref||"").trim()),I=As(le),ue=xe.some(H=>{if(!String(H?.ref||"").trim())return!1;let be=Math.floor(Number(H?.weight));return!Number.isFinite(be)||be<=0}),ve=F&&n.some(H=>H!==e&&H===F),ke=F&&le.some(H=>H===F||H===`alias:${F}`),Se=le.filter(Boolean).length>0,Ce=JSON.stringify({id:w.id,strategy:w.strategy,targets:xi(w.targets),fallbackTargets:xi(w.fallbackTargets)}),He=JSON.stringify({id:F,strategy:R?.strategy,targets:xi(R?.targets),fallbackTargets:xi(R?.fallbackTargets)}),Ke=JSON.stringify({targets:xi(w.targets),fallbackTargets:xi(w.fallbackTargets)}),an=JSON.stringify({targets:xi(R?.targets),fallbackTargets:xi(R?.fallbackTargets)}),Hn=Ce!==He,dn=F?YA.test(F)?ve?"Alias id already exists. Choose another id.":Ie?"Fill or remove blank target rows before applying.":I?"Duplicate targets are not allowed anywhere in this alias.":ue?"Target weights must be positive integers.":ke?"An alias cannot target itself.":"":"Alias id must start with a letter or number and use letters, numbers, dots, underscores, colons, or hyphens.":"Alias id is required.",fn=i?l:dn,ln=i?l:v&&dn&&!L?"":dn,ut=i||s,ze=String(F||e||"").trim(),jt=ze||"Select alias",Xt=ut||P||f,Dn=P?"Default alias cannot be removed":`Remove alias ${ze||e}`,bo=(0,Mn.useMemo)(()=>Wf(jt),[jt]),Re=P||o===e||o===F,Ze=a===e||a===F,dt=f?"Enter alias name. Example: claude-opus":void 0,Fo=(0,Mn.useMemo)(()=>nT(R,t,r),[R,t,r]);async function mt(){if(j(!0),fn)return!1;let H=await c(e,R);return H&&f&&m(e),H}async function rt(H){let be={...R,strategy:H};return await c(e,be)?f?(m(e),!0):(E(be),!0):!1}async function Sn(){if(j(!0),fn)return!1;let H=await c(e,R);return H&&(N(!1),j(!1)),H}function M(){if(p)return;if(!ee){N(!1);return}let H=String(e||"").trim(),be=String(R?.id||"").trim();if(!be||be===H){E(Oe=>({...Oe,id:H})),N(!1),j(!1);return}Sn()}function se(H){if(H.key==="Escape"){H.preventDefault(),E(be=>({...be,id:w.id})),N(!1),j(!1);return}!p&&H.key==="Enter"&&(H.preventDefault(),H.currentTarget.blur())}async function Z(){if(Q){let H=String(e||"").trim(),be=String(R?.id||"").trim();if(!be||be===H){E(Oe=>({...Oe,id:H})),N(!1),j(!1);return}await Sn();return}N(!0)}(0,Mn.useEffect)(()=>()=>{typeof window<"u"&&W.current&&window.clearTimeout(W.current)},[]),(0,Mn.useEffect)(()=>{if(f||ut||fn||an===Ke){typeof window<"u"&&W.current&&(window.clearTimeout(W.current),W.current=0),!f&&an===Ke&&ye!=="saving"&&V("idle");return}if(!(ie.current===an&&ye==="error")&&(V("pending"),!(typeof window>"u")))return W.current=window.setTimeout(()=>{W.current=0,ie.current=an,V("saving"),c(e,R,{showSuccessNotice:!1,successMessage:""}).then(H=>{V(H?"saved":"error")})},h5),()=>{W.current&&(window.clearTimeout(W.current),W.current=0)}},[e,an,R,Ke,f,fn,ut,c]);let Le=f?"":ye==="saving"?"Saving alias changes\u2026":ye==="pending"?"Changes save automatically.":ye==="saved"?"Alias changes saved.":ye==="error"?"Autosave failed. Keep editing to retry.":"Changes save automatically.",Te=(0,we.jsxs)("div",{className:"space-y-4",children:[(0,we.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,we.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,we.jsx)("div",{className:"flex min-w-0 flex-wrap items-center gap-2",children:ee?(0,we.jsxs)("div",{className:"flex min-w-0 flex-1 flex-wrap items-center gap-2",children:[(0,we.jsxs)("div",{className:$("flex h-9 min-w-0 max-w-full overflow-hidden rounded-lg border border-input bg-background/80 shadow-sm transition focus-within:border-ring focus-within:ring-2 focus-within:ring-ring/40",Q?"flex-1":"w-fit"),children:[(0,we.jsx)("div",{className:"flex shrink-0 items-center border-r border-border/70 bg-secondary/55 px-2.5 text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Select an alias"}),Q?(0,we.jsx)(St,{ref:D,value:R.id,placeholder:dt,onChange:H=>E(be=>({...be,id:H.target.value})),onBlur:M,onKeyDown:se,disabled:ut||P,className:"h-full min-w-[12rem] flex-1 rounded-none border-0 bg-transparent px-3 text-sm font-medium shadow-none focus:border-transparent focus:ring-0"}):(0,we.jsxs)(tn,{value:g.value||void 0,onValueChange:g.onValueChange,children:[(0,we.jsx)(nn,{className:"h-full min-w-[10rem] flex-none rounded-none border-0 bg-transparent px-3 pr-[50px] text-left text-sm font-medium shadow-none focus:border-transparent focus:ring-0",style:{width:`${bo}px`,maxWidth:"100%"},children:(0,we.jsx)(rn,{placeholder:"Select alias"})}),(0,we.jsx)(on,{children:g.entries.map(([H,be])=>(0,we.jsx)(kt,{value:H,searchText:`${H} ${(be?.targets||[]).length} ${(be?.fallbackTargets||[]).length}`,children:H},H))})]}),Q?null:(0,we.jsx)("button",{type:"button",className:"flex h-full w-10 shrink-0 items-center justify-center border-l border-border/70 text-muted-foreground transition hover:bg-accent/60 hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring/60 disabled:cursor-not-allowed disabled:opacity-60",onClick:()=>{u(ze)},disabled:ut||!ze,"aria-label":`Copy alias id ${ze}`,title:ze?`Copy alias id ${ze}`:"Alias id is not ready yet",children:(0,we.jsx)(Lf,{className:"h-4 w-4 shrink-0"})})]}),(0,we.jsx)(q,{type:"button",variant:"outline",size:"sm",className:"h-9 w-9 rounded-lg border-border/70 bg-background/70 p-0 text-muted-foreground shadow-none hover:bg-background/90 hover:text-foreground",onMouseDown:H=>{Q&&H.preventDefault()},onClick:()=>{Z()},disabled:ut||P,"aria-label":Q?"Save alias id":P?"Default alias id cannot be edited":"Edit alias id",title:Q?"Save alias id":P?"Default alias id cannot be edited":"Edit alias id",children:Q?(0,we.jsx)(sC,{className:"h-4 w-4 shrink-0"}):(0,we.jsx)(xs,{className:"h-4 w-4 shrink-0"})}),f?null:(0,we.jsx)(q,{type:"button",variant:"outline",size:"sm",className:"h-9 w-9 rounded-lg border-border/70 bg-background/70 p-0 text-muted-foreground shadow-none hover:border-destructive hover:bg-background/90 hover:text-destructive",onClick:()=>d(e),disabled:Xt,"aria-label":Dn,title:Dn,children:(0,we.jsx)(eu,{className:"h-4 w-4 shrink-0"})})]}):(0,we.jsxs)(we.Fragment,{children:[Q?(0,we.jsx)(St,{ref:D,autoFocus:f,value:R.id,placeholder:dt,onChange:H=>E(be=>({...be,id:H.target.value})),onBlur:M,onKeyDown:se,disabled:ut||P&&!f,className:"max-w-[22rem] font-semibold"}):P&&!f?(0,we.jsx)("div",{className:"truncate text-base font-semibold text-foreground",children:e}):(0,we.jsxs)("button",{type:"button",className:"group inline-flex max-w-full items-center gap-2 rounded-lg text-left text-base font-semibold text-foreground transition hover:bg-primary/5 hover:text-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/60 focus-visible:ring-offset-2 focus-visible:ring-offset-background",onClick:()=>N(!0),disabled:ut,"aria-label":"Edit alias id",title:"Edit alias id",children:[(0,we.jsx)("span",{className:"truncate",children:f?F||"New alias":F||e}),(0,we.jsx)(xs,{className:"h-4 w-4 shrink-0"})]}),h?(0,we.jsx)("div",{className:"min-w-[11rem] max-w-full",children:h}):null]})}),P?null:(0,we.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-2",children:[Re?(0,we.jsx)(Je,{variant:"success",children:"Default route"}):null,Ze?(0,we.jsx)(Je,{variant:"info",children:"AMP default"}):null]})]}),(0,we.jsxs)("div",{className:"flex items-start gap-2 self-start",children:[(0,we.jsxs)(q,{type:"button",variant:"outline",size:"default",className:"group h-9 gap-0 overflow-hidden rounded-lg border-border/70 bg-background/70 px-0 text-sm font-medium normal-case tracking-normal shadow-none hover:bg-background/90",onClick:()=>b({aliasLabel:F||(f?"New alias":e),strategy:R?.strategy||"auto",entries:Fo,disabled:ut||!!fn,onSave:rt}),disabled:ut,children:[(0,we.jsx)("span",{className:"flex h-full shrink-0 items-center border-r border-border/70 bg-secondary/55 px-2.5 text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Routing stratergy"}),(0,we.jsxs)("span",{className:"inline-flex min-w-0 items-center gap-2 px-3 text-left",children:[(0,we.jsx)("span",{className:"truncate",children:Pf(R.strategy||"auto")}),(0,we.jsx)(xs,{className:"h-4 w-4 shrink-0"})]})]}),!ee&&!f?(0,we.jsx)(q,{type:"button",variant:"outline",size:"sm",className:"h-9 w-9 rounded-lg border-border/70 bg-background/70 p-0 text-muted-foreground shadow-none hover:border-destructive hover:bg-background/90 hover:text-destructive",onClick:()=>d(e),disabled:Xt,"aria-label":Dn,title:Dn,children:(0,we.jsx)(eu,{className:"h-4 w-4 shrink-0"})}):null]})]}),(0,we.jsx)(cv,{title:"Primary targets",rows:R.targets,onChange:H=>E(be=>({...be,targets:H})),options:ct,disabled:ut,addLabel:"Add target",emptyLabel:"No targets yet. This alias can stay empty until you wire routes back in.",helperText:"Primary targets are tried first. Drag to reorder targets. Weights and metadata stay with the same ref.",draftPlaceholder:"Add a new target",showDraftRow:!0,showDraftFocusButton:!0,showWeightInput:!0,filterOtherSelectedValues:!0,excludedValues:je}),(0,we.jsx)(cv,{title:"Fallback targets",rows:R.fallbackTargets,onChange:H=>E(be=>({...be,fallbackTargets:H})),options:ct,disabled:ut,addLabel:"Add fallback",emptyLabel:"No fallback targets configured.",helperText:"Fallback targets only enter the candidate pool after the full primary list. Weights still apply within the chosen routing strategy.",draftPlaceholder:"Add a fallback target",showDraftRow:!0,showDraftFocusButton:!0,showWeightInput:!0,filterOtherSelectedValues:!0,excludedValues:X}),ln?null:(0,we.jsx)("div",{className:"text-xs text-muted-foreground",children:Le}),ln?(0,we.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-sm text-amber-900",children:ln}):null,!ln&&P&&!Se?(0,we.jsxs)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-sm text-amber-900",children:["The fixed ",(0,we.jsx)("code",{children:"default"})," route is empty. Requests routed to ",(0,we.jsx)("code",{children:"default"})," or ",(0,we.jsx)("code",{children:"smart"})," will return 500 until you add a working target."]}):null,f?(0,we.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,we.jsx)("div",{children:(0,we.jsx)(q,{type:"button",variant:"ghost",onClick:()=>m(e),disabled:ut,children:"Discard"})}),(0,we.jsx)("div",{className:"flex flex-wrap justify-end gap-2",children:(0,we.jsx)(q,{type:"button",onClick:()=>{mt()},disabled:ut||!!fn,children:s?"Saving\u2026":"Create alias"})})]}):null]});return y?(0,we.jsx)(Ft,{children:(0,we.jsx)(Kt,{className:"space-y-4 p-5",children:Te})}):Te}var Qt=_(J(),1);function aT({aliases:e,config:t,aliasIds:n,routeOptions:r,defaultModel:o,ampDefaultRoute:a,disabledReason:i="",busy:l=!1,onApplyAlias:s,onRemoveAlias:c,onCopyAliasId:d}){let u=Object.entries(e||{}),f=!!i,[p,v]=(0,Ra.useState)(""),[m,b]=(0,Ra.useState)(!1),[h,g]=(0,Ra.useState)(""),y=(0,Ra.useMemo)(()=>pC(),[]),[x,w]=(0,Ra.useState)({open:!1,aliasLabel:"",strategy:"auto",entries:[],disabled:!1,onSave:null});function R(){f||l||v(`draft-${Date.now()}`)}function E(V){(!V||V===p)&&v("")}function A(){v("")}function N({aliasLabel:V="",strategy:ee="auto",entries:Q=[],disabled:F=!1,onSave:P=null}){w({open:!0,aliasLabel:V,strategy:ee,entries:Q,disabled:F,onSave:P})}function L(){w(V=>({...V,open:!1}))}async function j(V,ee,Q={}){let F=await s(V,ee,Q);if(F){let P=String(ee?.id||V||"").trim()||V;g(P)}return F}(0,Ra.useEffect)(()=>{let V=u.map(([ee])=>ee);if(V.length===0){h&&g("");return}(!h||!V.includes(h))&&g(V[0])},[u,h]);let D=u.find(([V])=>V===h)||u[0]||null,W=D?.[0]||"",ie=D?.[1]||null,ye=u.length>1?{value:W,onValueChange:g,entries:u}:null;return(0,Qt.jsxs)(Qt.Fragment,{children:[(0,Qt.jsxs)(Ft,{children:[(0,Qt.jsx)(Wr,{children:(0,Qt.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,Qt.jsx)("div",{className:"space-y-1",children:(0,Qt.jsx)(ii,{children:"Model aliases give clients one stable route across multiple provider/models, so you can swap, balance, and fail over without changing client config."})}),(0,Qt.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,Qt.jsx)(q,{type:"button",variant:"outline",size:"sm",onClick:()=>b(!0),children:"Help"}),(0,Qt.jsx)(q,{type:"button",size:"sm",onClick:R,disabled:f||l,children:l?"Saving\u2026":"Add alias"})]})]})}),(0,Qt.jsxs)(Kt,{className:"space-y-4",children:[f?(0,Qt.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-sm text-amber-900",children:i}):null,u.length>0?W&&ie?(0,Qt.jsx)(uv,{aliasId:W,alias:ie,aliasIds:n,routeOptions:r,defaultModel:o,ampDefaultRoute:a,disabled:f,disabledReason:i,busy:l,onApply:j,onRemove:c,onCopyAliasId:d,onOpenStrategyModal:N,aliasSwitcher:ye,framed:!1},W):null:(0,Qt.jsxs)("div",{className:"rounded-2xl border border-dashed border-border px-4 py-6 text-sm text-muted-foreground",children:["No model aliases yet. Add one to expose stable routes like ",(0,Qt.jsx)("code",{children:"coding"})," or ",(0,Qt.jsx)("code",{children:"chat.fast"})," in the Web UI."]})]})]}),(0,Qt.jsx)(Jn,{open:!!p,onClose:A,title:"Add alias",description:"Set a stable client-facing route, choose its strategy, and order the targets it should use.",showCloseButton:!1,contentClassName:"max-h-[92vh] max-w-5xl rounded-2xl border border-border/70 bg-background/98 shadow-[0_32px_120px_rgba(15,23,42,0.48)]",bodyClassName:"max-h-[calc(92vh-5.5rem)]",children:p?(0,Qt.jsx)(uv,{aliasId:p,alias:y,aliasIds:n,routeOptions:r,defaultModel:o,ampDefaultRoute:a,disabled:f,disabledReason:i,busy:l,onApply:j,onRemove:c,onCopyAliasId:d,isNew:!0,alwaysShowAliasIdInput:!0,showIssueOnSubmitOnly:!0,onDiscard:E,onOpenStrategyModal:N,framed:!1},p):null}),(0,Qt.jsx)(rT,{open:x.open,onClose:L,onSave:V=>x.onSave?.(V),aliasLabel:x.aliasLabel,initialStrategy:x.strategy,entries:x.entries,disabled:x.disabled}),(0,Qt.jsx)(oT,{open:m,onClose:()=>b(!1),config:t})]})}var $t=_(pe(),1);var gl=_(pe(),1);var Lr=_(J(),1);function Au({values:e,onChange:t,placeholder:n,helperText:r,inputRef:o=null,inputClassName:a="",suggestedValues:i=[],valueStates:l={},draftValue:s="",onDraftValueChange:c=()=>{},commitOnBlur:d=!1,disabled:u=!1,isValueValid:f=v=>!!String(v||"").trim(),inputProps:p={}}){let v=(0,gl.useMemo)(()=>mr(e),[e]),[m,b]=(0,gl.useState)(""),[h,g]=(0,gl.useState)("");function y(A=s,{clearDraft:N=!0}={}){if(u)return!1;let L=If(A).filter(D=>f(D));if(L.length===0)return N&&c(""),!1;let j=Array.from(new Set([...v||[],...L]));return JSON.stringify(j)!==JSON.stringify(v||[])&&t(j),N&&c(""),!0}function x(A){u||(t(v.filter(N=>N!==A)),m===A&&(b(""),g("")))}function w(){u||i.length&&(t(Array.from(new Set([...v||[],...i]))),c(""))}function R(A){u||(b(A),g(A))}function E(A=h){if(u)return b(""),g(""),!1;if(!m)return!1;let N=If(A).filter(W=>f(W)),L=[],j=!1;for(let W of v||[]){if(W!==m){L.push(W);continue}j||(L.push(...N),j=!0)}let D=Array.from(new Set(L.map(W=>String(W||"").trim()).filter(Boolean)));return JSON.stringify(D)!==JSON.stringify(v||[])&&t(D),b(""),g(""),N.length>0}return(0,gl.useEffect)(()=>{!u||!m||(b(""),g(""))},[u,m]),(0,Lr.jsxs)("div",{className:"space-y-2",children:[(0,Lr.jsxs)("div",{className:$("flex min-h-11 flex-wrap items-center gap-2 rounded-xl border border-input bg-background/80 px-3 py-2",u?"opacity-80":null),children:[v.map(A=>{let N=l?.[A]||"default",L=N==="success"?"border-emerald-200 bg-emerald-50 text-emerald-900":N==="error"?"border-rose-200 bg-rose-50 text-rose-900":N==="pending"?"border-sky-200 bg-sky-50 text-sky-900":"border-border bg-secondary text-foreground",j=!u&&m===A;return(0,Lr.jsxs)("span",{className:$("inline-flex max-w-full items-center gap-1 rounded-full border px-2.5 py-1 text-xs",L),children:[j?(0,Lr.jsx)("input",{autoFocus:!0,className:"min-w-[7rem] bg-transparent text-xs text-foreground outline-none",value:h,onChange:D=>g(D.target.value),onKeyDown:D=>{if(D.key==="Enter"||D.key==="Tab"){D.preventDefault(),E();return}D.key==="Escape"&&(D.preventDefault(),b(""),g(""))},onBlur:()=>{E()}}):(0,Lr.jsx)("button",{className:"max-w-[16rem] truncate text-left transition hover:text-foreground disabled:cursor-not-allowed disabled:opacity-70",type:"button",onMouseDown:D=>D.preventDefault(),onClick:()=>R(A),disabled:u,title:"Click to edit",children:A}),(0,Lr.jsx)("button",{className:"text-muted-foreground transition hover:text-foreground disabled:cursor-not-allowed disabled:opacity-60",type:"button",onMouseDown:D=>D.preventDefault(),onClick:()=>x(A),disabled:u,children:"\xD7"})]},A)}),(0,Lr.jsx)("input",{...p,ref:o,className:$("min-w-[10rem] flex-1 bg-transparent text-sm text-foreground outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-70",a),value:s,disabled:u,onChange:A=>{let N=A.target.value;if(/[\s,]/.test(N)){let L=N.split(/[\s,]+/),j=L.pop()||"";L.length>0&&y(L.join(","),{clearDraft:!1}),c(j);return}c(N)},onKeyDown:A=>{if((A.key===","||A.key===" "||A.key==="Enter"||A.key==="Tab")&&s.trim()){A.preventDefault(),y();return}A.key==="Backspace"&&!s&&v.length>0&&(A.preventDefault(),x(v[v.length-1]))},onPaste:A=>{let N=A.clipboardData?.getData("text")||"";if(/[\s,]/.test(N)){A.preventDefault();let L=N.split(/[\s,]+/).filter(Boolean).filter(j=>f(j));L.length>0&&(t(Array.from(new Set([...v||[],...L]))),c(""));return}A.preventDefault(),c(`${s}${N}`)},onBlur:()=>{if(d&&f(s)){y(s);return}c(s)},placeholder:n}),v.length>0||s?(0,Lr.jsx)("button",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground transition hover:text-foreground disabled:cursor-not-allowed disabled:opacity-60",type:"button",onMouseDown:A=>A.preventDefault(),onClick:()=>{t([]),c("")},disabled:u,children:"Clear all"}):null]}),(0,Lr.jsxs)("div",{className:"flex flex-wrap items-center gap-2 text-xs text-muted-foreground",children:[r?(0,Lr.jsx)("span",{children:r}):null,v.length===0&&i.length>0?(0,Lr.jsx)("button",{className:"font-medium uppercase tracking-[0.16em] text-foreground transition hover:text-primary disabled:cursor-not-allowed disabled:opacity-60",type:"button",onClick:w,disabled:u,children:"Use suggested values"}):null]})]})}var er=_(pe(),1);var Ye=_(J(),1);function iT(e="rate-limit-draft-row"){return iu({key:e,models:[],requests:"",windowValue:"",windowUnit:fo.custom.rateLimitDefaults.windowUnit},{keyPrefix:"rate-limit-draft",defaults:fo.custom.rateLimitDefaults,useDefaults:!1})}function km(e=[],{keyPrefix:t="rate-limit-draft"}={}){let n=`${t}-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`;return[...Array.isArray(e)?e:[],iT(n)]}function y5({value:e=[],onChange:t,availableModelIds:n=[],disabled:r=!1}){let o=(0,er.useRef)(null),[a,i]=(0,er.useState)(!1),l=(0,er.useMemo)(()=>uo(e),[e]),s=l.includes("all"),c=s?[]:l.filter(Boolean),d=s||c.length===0,u=(0,er.useMemo)(()=>mr(n),[n]);(0,er.useEffect)(()=>{if(!a||typeof document>"u")return;function h(g){o.current?.contains(g.target)||i(!1)}return document.addEventListener("mousedown",h),()=>document.removeEventListener("mousedown",h)},[a]);function f(h){t(uo(h))}function p(h){f(h?["all"]:[])}function v(h,g){let y=g?[...c,h]:c.filter(x=>x!==h);f(y)}function m(h){if(h==="all"){f([]);return}f(c.filter(g=>g!==h))}let b=s?[{key:"all",label:"All model",removable:!0}]:c.length>0?c.map(h=>({key:h,label:h,removable:!0})):[{key:"__implicit-all__",label:"All model",removable:!1,muted:!0}];return(0,Ye.jsxs)("div",{ref:o,className:"relative space-y-1.5",children:[(0,Ye.jsxs)("div",{role:"button",tabIndex:r?-1:0,className:$("flex min-h-9 w-full items-center justify-between gap-2 rounded-lg border border-input bg-background/80 px-3 py-1.5 text-left text-sm text-foreground shadow-sm outline-none transition focus:border-ring focus:ring-2 focus:ring-ring/40",r?"cursor-not-allowed opacity-50":"cursor-pointer",a?"border-ring ring-2 ring-ring/40":null),onClick:()=>{r||i(h=>!h)},"aria-expanded":a,"aria-haspopup":"menu",onKeyDown:h=>{if(!r){if(h.key==="Enter"||h.key===" "){h.preventDefault(),i(g=>!g);return}if(h.key==="ArrowDown"){h.preventDefault(),i(!0);return}h.key==="Escape"&&(h.preventDefault(),i(!1))}},children:[(0,Ye.jsx)("div",{className:"flex min-w-0 flex-1 flex-wrap items-center gap-1.5",children:b.map(h=>h.removable?(0,Ye.jsxs)("button",{type:"button",className:"inline-flex max-w-full items-center gap-1 rounded-full border border-border/70 bg-background px-2 py-0.5 text-xs font-medium text-foreground transition hover:border-accent hover:bg-accent",onClick:g=>{g.preventDefault(),g.stopPropagation(),m(h.key)},disabled:r,title:`Remove ${h.label}`,children:[(0,Ye.jsx)("span",{className:"truncate",children:h.label}),(0,Ye.jsx)("span",{className:"text-muted-foreground",children:"x"})]},h.key):(0,Ye.jsx)("span",{className:$("inline-flex max-w-full items-center rounded-full border px-2 py-0.5 text-xs font-medium",h.muted?"border-border/70 bg-secondary/45 text-muted-foreground":"border-border/70 bg-background text-foreground"),children:(0,Ye.jsx)("span",{className:"truncate",children:h.label})},h.key))}),(0,Ye.jsx)("span",{className:"text-muted-foreground",children:"\u25BE"})]}),a?(0,Ye.jsxs)(Om,{open:a,anchorRef:o,preferredSide:"top",desiredHeight:192,className:"p-2",onMouseDown:h=>h.stopPropagation(),onClick:h=>h.stopPropagation(),onKeyDown:h=>{h.key==="Escape"&&(h.preventDefault(),i(!1))},children:[(0,Ye.jsxs)("label",{className:"flex cursor-pointer items-center gap-2 rounded-lg px-2 py-2 text-sm text-foreground transition hover:bg-secondary/60",children:[(0,Ye.jsx)("input",{type:"checkbox",className:"h-4 w-4 rounded border-input",checked:s,onChange:h=>p(h.target.checked)}),(0,Ye.jsx)("span",{children:"All model"})]}),(0,Ye.jsx)("div",{className:"my-1 border-t border-border/70"}),u.length>0?(0,Ye.jsx)("div",{children:u.map(h=>(0,Ye.jsxs)("label",{className:"flex cursor-pointer items-center gap-2 rounded-lg px-2 py-2 text-sm text-foreground transition hover:bg-secondary/60",children:[(0,Ye.jsx)("input",{type:"checkbox",className:"h-4 w-4 rounded border-input",checked:c.includes(h),onChange:g=>v(h,g.target.checked)}),(0,Ye.jsx)("span",{className:"truncate",children:h})]},h))}):(0,Ye.jsx)("div",{className:"px-2 py-2 text-sm text-muted-foreground",children:"No models available yet."})]}):null]})}function Lm({rows:e,onChange:t,availableModelIds:n=[],disabled:r=!1,inputRef:o=null,helperText:a="",onValidBlur:i=null}){let l=Array.isArray(e)?e:[],s=(0,er.useRef)(null),c=(0,er.useRef)(l),d=(0,er.useMemo)(()=>mr(n),[n]),u=(0,er.useMemo)(()=>{let g=new Set,y=new Set;for(let x of pr(l)){let w=qc(x);if(w){if(g.has(w)){y.add(w);continue}g.add(w)}}return y},[l]),f=(0,er.useMemo)(()=>l.map(g=>({...iT(g.key),...g,models:uo(g?.models||[])})),[l]);(0,er.useEffect)(()=>{c.current=l},[l]);function p(g){let y=Array.isArray(g)?g:[];c.current=y,t(y)}function v(g,y){p(l.map(x=>x.key===g?{...x,...y}:x))}function m(g){p(l.filter(y=>y.key!==g))}function b(g){if(jf(g))return"";let y=uo(g?.models||[]);if(d.length>0&&y.some(w=>w!=="all"&&!d.includes(w)))return"Use exact provider model ids only.";if(ny(g?.requests,0)<=0)return"Requests must be a positive integer.";if(ny(g?.windowValue,0)<=0)return"Window size must be a positive integer.";if(!Qh.includes(String(g?.windowUnit||"").trim()))return"Window unit is invalid.";let x=qc({requests:g?.requests,windowValue:g?.windowValue,windowUnit:g?.windowUnit});return x&&u.has(x)?"Another row already uses this cap.":""}function h(g){if(!(!i||r)&&!g.currentTarget.contains(g.relatedTarget)){if(typeof window>"u"){let y=pr(c.current);ko(y,{knownModelIds:d,requireAtLeastOne:!0})||i(y);return}window.setTimeout(()=>{if(!s.current||s.current.contains(document.activeElement))return;let y=pr(c.current);ko(y,{knownModelIds:d,requireAtLeastOne:!0})||i(y)},0)}}return(0,Ye.jsxs)("div",{ref:s,className:"space-y-2.5",onBlurCapture:h,children:[(0,Ye.jsx)("div",{className:"space-y-2.5",children:f.map((g,y)=>{let x=jf(g),w=b(g);return(0,Ye.jsxs)("div",{className:$("rounded-2xl border border-border/70 bg-background/70 p-3",w?"border-amber-200 bg-amber-50/70":null,x?"border-dashed bg-background/80":null),children:[(0,Ye.jsxs)("div",{className:"grid gap-2.5 xl:grid-cols-[minmax(0,1.5fr)_minmax(0,0.72fr)_minmax(0,0.72fr)_minmax(0,0.86fr)_auto] xl:items-end",children:[(0,Ye.jsx)(ft,{label:"Models",stacked:!0,className:"gap-1",headerClassName:"min-h-0",hintClassName:"leading-4",children:(0,Ye.jsx)(y5,{value:g.models,onChange:R=>v(g.key,{models:R}),availableModelIds:d,disabled:r})}),(0,Ye.jsx)(ft,{label:"Request",stacked:!0,className:"gap-1",headerClassName:"min-h-0",children:(0,Ye.jsx)(St,{ref:y===0?o:null,value:g.requests,onChange:R=>v(g.key,{requests:R.target.value}),disabled:r,inputMode:"numeric",placeholder:"60"})}),(0,Ye.jsx)(ft,{label:"Window",stacked:!0,className:"gap-1",headerClassName:"min-h-0",children:(0,Ye.jsx)(St,{value:g.windowValue,onChange:R=>v(g.key,{windowValue:R.target.value}),disabled:r,inputMode:"numeric",placeholder:"1"})}),(0,Ye.jsx)(ft,{label:"Unit",stacked:!0,className:"gap-1",headerClassName:"min-h-0",children:(0,Ye.jsxs)(tn,{value:String(g.windowUnit||"minute"),onValueChange:R=>v(g.key,{windowUnit:R}),disabled:r,children:[(0,Ye.jsx)(nn,{children:(0,Ye.jsx)(rn,{placeholder:"Window unit"})}),(0,Ye.jsx)(on,{children:Qh.map(R=>(0,Ye.jsx)(kt,{value:R,children:R},`${g.key}-${R}`))})]})}),(0,Ye.jsx)(q,{type:"button",variant:"ghost",onClick:()=>m(g.key),disabled:r,className:"xl:self-end",children:"Remove"})]}),w?(0,Ye.jsx)("div",{className:"mt-2.5 rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-sm text-amber-900",children:w}):null]},g.key)})}),a?(0,Ye.jsx)("div",{className:"text-xs leading-5 text-muted-foreground",children:a}):null]})}var it=_(pe(),1);var lT=[{key:"supportsReasoning",label:"Reasoning",field:"reasoning_effort"},{key:"supportsThinking",label:"Thinking",field:"thinking"},{key:"supportsResponseFormat",label:"Response Format",field:"response_format"},{key:"supportsLogprobs",label:"Logprobs",field:"logprobs"},{key:"supportsServiceTier",label:"Service Tier",field:"service_tier"},{key:"supportsPrediction",label:"Prediction",field:"prediction"},{key:"supportsStreamOptions",label:"Stream Options",field:"stream_options"}];function sT(e={},t={}){if(!t||typeof t!="object")return e;let n={...e};for(let r of Object.keys(t))typeof t[r]=="boolean"&&n[r]===void 0&&(n[r]=t[r]);return n}function cT(e){if(e===void 0)return!0;if(e===!0)return!1}function uT(e){return!e||typeof e!="object"?!1:Object.values(e).some(t=>typeof t=="boolean")}var Si=_(J(),1);function v5({label:e,value:t,disabled:n,onCycle:r}){let o=typeof t=="boolean";return(0,Si.jsxs)("button",{type:"button",disabled:n,onClick:r,className:$("flex items-center gap-1.5 rounded-md border px-2 py-1 text-xs transition-colors",t===!0&&"border-emerald-200 bg-emerald-50/80",t===!1&&"border-rose-200 bg-rose-50/60",!o&&"border-border/60 bg-secondary/40",!n&&"hover:bg-accent"),children:[(0,Si.jsx)("span",{className:$("inline-flex h-3 w-3 shrink-0 items-center justify-center rounded-full text-[8px] font-bold leading-none",t===!0&&"bg-emerald-500 text-white",t===!1&&"bg-rose-400 text-white",!o&&"bg-muted-foreground/25"),children:t===!0?"\u2713":t===!1?"\u2715":""}),(0,Si.jsx)("span",{className:$("select-none whitespace-nowrap font-medium",t===!0&&"text-emerald-800",t===!1&&"text-rose-700 line-through",!o&&"text-muted-foreground"),children:e})]})}function dT({capabilities:e={},disabled:t=!1,onChange:n}){return(0,Si.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5 pt-1",children:[(0,Si.jsx)("span",{className:"text-[11px] font-medium text-muted-foreground/80",children:"Capabilities"}),lT.map(({key:r,label:o})=>{let a=e[r];return(0,Si.jsx)(v5,{label:o,value:a,disabled:t,onCycle:()=>n(r,cT(a))},r)})]})}var Me=_(J(),1);function fT({provider:e,disabled:t=!1,disabledReason:n="",busy:r=!1,onApply:o,framed:a=!0,focusRequest:i=0,onStateChange:l=null,testStateByModel:s={},savePhase:c="",saveMessage:d=""}){let u=(0,it.useMemo)(()=>jA(e),[e]),[f,p]=(0,it.useState)([]),[v,m]=(0,it.useState)(""),[b,h]=(0,it.useState)(!1),[g,y]=(0,it.useState)({}),[x,w]=(0,it.useState)({}),[R,E]=(0,it.useState)(null),[A,N]=(0,it.useState)(""),[L,j]=(0,it.useState)(""),[D,W]=(0,it.useState)({}),ie=(0,it.useRef)(0),ye=(0,it.useRef)([]),V=(0,it.useRef)(new Map),ee=(0,it.useRef)(new Map),Q=(0,it.useRef)(""),F=(0,it.useRef)(""),P=(0,it.useRef)(null),ct=(0,it.useRef)(new Map),X=(0,it.useRef)(new Map);function je(M={}){return ie.current+=1,{key:`model-${e.id}-draft-${ie.current}`,id:"",sourceId:"",contextWindow:"",capabilities:{},...M}}function le(M){Q.current=M}function xe(M=[],{preserveFocus:se=!1}={}){let Z=[],Le=null;for(let Te of Array.isArray(M)?M:[]){let H=String(Te?.id||""),be=Te?.contextWindow===void 0||Te?.contextWindow===null?"":String(Te.contextWindow);if(String(H).trim()){Z.push({...Te,id:H,contextWindow:be});continue}Le||(Le={...Te,id:"",contextWindow:be})}return Le||(Le=je(),se&&le(Le.key)),[Le,...Z]}function Ie(M){w(se=>{if(!se[M])return se;let Z={...se};return delete Z[M],Z})}function I(M,se){y(Z=>{if(se)return Z[M]?Z:{...Z,[M]:!0};if(!Z[M])return Z;let Le={...Z};return delete Le[M],Le})}function ue(M,se={},{clearLookupState:Z=!1,clearStatus:Le=!0,closeLookupMenu:Te=!1}={}){Z&&Ie(M),Le&&E(null),Te&&A===M&&N(""),p(H=>xe(H.map(be=>be.key===M?{...be,...se}:be),{preserveFocus:!1}))}(0,it.useEffect)(()=>{ye.current=f},[f]),(0,it.useEffect)(()=>{let M=xe(u,{preserveFocus:!0});p(M),ye.current=M,ct.current.clear(),X.current.clear(),y({}),w({}),E(null),N(""),j(""),W({})},[u]),(0,it.useEffect)(()=>{let M=Q.current;if(!M)return;let se=V.current.get(M);if(!se)return;se.scrollIntoView?.({block:"nearest"}),se.focus();let Z=se.value?.length||0;se.setSelectionRange?.(Z,Z),Q.current=""},[f]),(0,it.useEffect)(()=>{i&&p(M=>{let se=xe(M,{preserveFocus:!1}),Z=se.find(Le=>!String(Le?.id||"").trim())||se[se.length-1];return Z&&le(Z.key),se})},[i]),(0,it.useEffect)(()=>{A&&(f.some(M=>M.key===A)||N(""))},[f,A]),(0,it.useEffect)(()=>{L&&(f.some(M=>M.key===L)||j(""))},[f,L]),(0,it.useEffect)(()=>{W(M=>{let se=new Set(f.map(Te=>Te.key)),Z=!1,Le={};for(let[Te,H]of Object.entries(M)){if(!se.has(Te)){Z=!0;continue}Le[Te]=H}return Z?Le:M})},[f]),(0,it.useEffect)(()=>{if(!A||typeof document>"u")return;function M(se){ee.current.get(A)?.contains(se.target)||N("")}return document.addEventListener("mousedown",M),()=>document.removeEventListener("mousedown",M)},[A]);let ve=(0,it.useMemo)(()=>f.filter(M=>String(M?.id||"").trim()),[f]),ke=(0,it.useMemo)(()=>u.map(M=>({id:String(M?.id||"").trim(),contextWindow:Bo(M?.contextWindow||""),capabilities:M?.capabilities||{}})).filter(M=>M.id),[u]),Se=(0,it.useMemo)(()=>ve.map(M=>({...M,id:String(M?.id||"").trim(),contextWindow:Bo(M?.contextWindow||"")})),[ve]),Ce=Se.map(M=>M.id),He=ke.map(M=>M.id),Ke=Ce.filter(M=>!He.includes(M)),an=As(Ce),Hn=Ce.length>0,dn=new Set(Se.filter(M=>{let se=String(M?.contextWindow||"").trim();if(!se)return!1;let Z=Number.parseInt(se,10);return!Number.isFinite(Z)||Z<=0||String(Z)!==se}).map(M=>M.key)),fn=Se.filter(M=>!String(M?.contextWindow||"").trim()),ln=JSON.stringify(ke)!==JSON.stringify(Se.map(M=>({id:M.id,contextWindow:M.contextWindow,capabilities:M.capabilities||{}}))),ze=t||r||(v!==""||c==="testing"||c==="saving")||b,jt=(0,it.useMemo)(()=>{let M=-1;return f.forEach((se,Z)=>{String(se?.id||"").trim()&&(M=Z)}),M},[f]),Xt=t?n:Hn?an?"Model ids must be unique for each provider.":dn.size>0?"Context windows must be positive integers when set.":"":"Keep at least one model id on the provider.",Dn=Bs(f.map(M=>M.key));(0,it.useEffect)(()=>{l?.({isDirty:ln,issue:Xt,locked:ze,rows:Se.map(M=>({...M,contextWindow:Bo(M.contextWindow)}))})},[l,ln,Xt,ze,Se]);function bo(M){Ie(M),I(M,!1),E(null),A===M&&N(""),L===M&&j(""),W(se=>{if(!Object.prototype.hasOwnProperty.call(se,M))return se;let Z={...se};return delete Z[M],Z}),p(se=>xe(se.filter(Z=>Z.key!==M)))}function Re(M){p(se=>xe(Ss(se,M,Z=>Z?.key)))}function Ze(M){p(se=>xe(Bf(se,M,Z=>Z?.key)))}function dt(){F.current="",xa(P.current,!1),P.current=null}async function Fo(M,{force:se=!1}={}){let Z=String(M||"").trim();if(!Z)return Es({query:Z});if(!se&&ct.current.has(Z))return ct.current.get(Z);if(!se&&X.current.has(Z))return X.current.get(Z);let Le=(async()=>{let Te=await fu([Z]),H=(Array.isArray(Te)?Te:[]).find(Oe=>String(Oe?.query||"").trim()===Z)||{query:Z},be=Es(H,{fallbackQuery:Z});return ct.current.set(Z,be),be})();X.current.set(Z,Le);try{return await Le}finally{X.current.delete(Z)}}async function mt(M,{openMenu:se=!1,prefill:Z=!1,modelId:Le=""}={}){let Te=ye.current.find(be=>be.key===M),H=String(Le||Te?.id||"").trim();if(!H)return null;se&&N(M),I(M,!0);try{let be=await Fo(H);if(w(Oe=>({...Oe,[M]:be})),Z){let Oe=Yf(be),Lt=be?.exactMatch?.capabilities;(Oe||Lt)&&p(wn=>xe(wn.map(Ee=>{if(Ee.key!==M)return Ee;let K=String(Ee?.id||"").trim();if(!K||K!==H)return Ee;let de={};return Oe&&!String(Ee?.contextWindow||"").trim()&&(de.contextWindow=Oe),Lt&&!uT(Ee.capabilities)&&(de.capabilities=sT(Ee.capabilities,Lt)),Object.keys(de).length>0?{...Ee,...de}:Ee}),{preserveFocus:!1}))}return be}catch(be){let Oe=be instanceof Error?be.message:String(be),Lt={query:H,status:"error",error:Oe,options:[]};return w(wn=>({...wn,[M]:Lt})),Lt}finally{I(M,!1)}}async function rt(M=[]){let se=new Set(Array.isArray(M)?M:[]),Z=Se.filter(Le=>!Le.id||String(Le?.contextWindow||"").trim()?!1:se.size===0?!0:se.has(Le.key)).map(Le=>({key:Le.key,id:Le.id}));if(Z.length!==0){h(!0),E(null);try{let Le=await fu(Z.map(Ee=>Ee.id)),Te=e1(Le),H=new Map(Z.map(Ee=>[Ee.key,Ee]));for(let Ee of Te.values())Ee?.query&&ct.current.set(Ee.query,Ee);let be=Array.isArray(ye.current)?ye.current:[],Oe=0,Lt=0,wn=be.map(Ee=>{let K=H.get(Ee.key);if(!K)return Ee;let de=String(Ee?.id||"").trim(),In=String(Ee?.contextWindow||"").trim();if(!de||de!==K.id||In)return Ee;let wi=Te.get(de)||Es({query:de}),Ai=Yf(wi);return Ai?(Oe+=1,{...Ee,contextWindow:Ai}):(Lt+=1,Ee)});p(xe(wn,{preserveFocus:!1})),E({tone:Oe>0?"success":"warning",message:Oe>0?`Filled ${Oe} context size${Oe===1?"":"s"}${Lt>0?`; ${Lt} still need a manual value`:""}.`:`Could not fill ${Lt} model${Lt===1?"":"s"}.`})}catch(Le){E({tone:"error",message:Le instanceof Error?Le.message:String(Le)})}finally{h(!1)}}}async function Sn(){if(ze||Xt||!ln)return!1;let M=po(e)==="api"&&Ke.length>0;m(M?"testing":"saving");try{return await o(Se.map(se=>({...se,contextWindow:Bo(se.contextWindow)})))}finally{m("")}}return(0,Me.jsxs)("div",{className:$(a?"space-y-3 rounded-2xl border border-border/70 bg-background/60 p-4":"space-y-3"),children:[(0,Me.jsx)("div",{className:"rounded-2xl border border-border/70 bg-secondary/35 px-4 py-3 text-sm leading-6 text-muted-foreground",children:"Direct routes follow this top-to-bottom order. Focus a context field to load suggested sizes, or use Fill missing context size to fill each empty row with a median size."}),(0,Me.jsx)("div",{className:"space-y-2",children:f.map((M,se)=>{let Z=String(M?.id||"").trim(),Le=String(M?.contextWindow||"").trim(),Te=!!Z,H=Te?ve.findIndex(K=>K.key===M.key):-1,be=x[M.key]||null,Oe=!!g[M.key],Lt=A===M.key&&!!Z,wn=dn.has(M.key),Ee=Z&&s?.[Z]||"default";return(0,Me.jsxs)("div",{ref:Dn(M.key),"data-reorder-row":"true",onDragOver:K=>{!ze&&F.current&&F.current!==M.key&&(K.preventDefault(),K.dataTransfer.dropEffect="move")},onDrop:K=>{if(ze)return;K.preventDefault();let de=K.dataTransfer.getData("text/plain")||F.current;dt(),p(In=>xe(zf(In,de,M.key)))},className:$("space-y-2 rounded-xl border border-border/70 bg-card/90 p-3",Te?null:"border-dashed bg-background/85",wn?"border-amber-200 bg-amber-50/70":null,!wn&&Ee==="success"?"border-emerald-200 bg-emerald-50/70":null,!wn&&Ee==="error"?"border-rose-200 bg-rose-50/70":null,!wn&&Ee==="pending"?"border-sky-200 bg-sky-50/70":null),children:[(0,Me.jsxs)("div",{className:"grid grid-cols-[auto_auto_auto_minmax(0,1fr)_minmax(12rem,14rem)_5.5rem] items-center gap-2",children:[(0,Me.jsx)("span",{className:$("flex h-8 w-8 items-center justify-center rounded-full text-muted-foreground",Te&&!ze?"cursor-grab":"opacity-45"),draggable:!ze&&Te,onDragStart:K=>{if(ze||!Te)return;let de=ws(K.currentTarget);K.dataTransfer.effectAllowed="move",K.dataTransfer.setData("text/plain",M.key),de&&typeof K.dataTransfer?.setDragImage=="function"&&K.dataTransfer.setDragImage(de,20,20),dt(),F.current=M.key,P.current=de,xa(de,!0)},onDragEnd:dt,title:Te?"Drag to reorder":"New model draft row",children:(0,Me.jsx)(bs,{className:"h-4 w-4"})}),(0,Me.jsx)(Aa,{disabled:ze||!Te||H<=0,label:!Te||H<=0?"Already first":`Move ${M.id||`model ${H+1}`} up`,onClick:()=>Re(M.key)}),(0,Me.jsx)(fl,{disabled:ze||!Te||se>=jt,label:!Te||se>=jt?"Already last":`Move ${M.id||`model ${H+1}`} down`,onClick:()=>Ze(M.key)}),(0,Me.jsx)(St,{ref:K=>{K?V.current.set(M.key,K):V.current.delete(M.key)},value:M.id,onChange:K=>ue(M.key,{id:K.target.value},{clearLookupState:!0,closeLookupMenu:!0}),placeholder:Te?"Model id":"Add a new model id",disabled:ze}),(0,Me.jsxs)("div",{ref:K=>{K?ee.current.set(M.key,K):ee.current.delete(M.key)},className:"relative min-w-0",children:[(0,Me.jsx)(St,{value:L===M.key?D[M.key]??du(M.contextWindow):ZC(M.contextWindow),onChange:K=>{let de=K.target.value,In=Bo(de);W(wi=>({...wi,[M.key]:du(In)})),ue(M.key,{contextWindow:In},{clearStatus:!1})},onBlur:K=>{j(de=>de===M.key?"":de),W(de=>{if(!Object.prototype.hasOwnProperty.call(de,M.key))return de;let In={...de};return delete In[M.key],In}),ue(M.key,{contextWindow:Bo(K.target.value)},{clearStatus:!1})},onFocus:()=>{Z&&(j(M.key),W(K=>({...K,[M.key]:du(M.contextWindow)})),mt(M.key,{openMenu:!0}))},onClick:()=>{Z&&mt(M.key,{openMenu:!0})},onKeyDown:K=>{if(K.key==="ArrowDown"&&Z){K.preventDefault(),mt(M.key,{openMenu:!0});return}K.key==="Escape"&&(K.preventDefault(),N(""))},placeholder:"Context window",inputMode:"numeric",disabled:ze||!Z,className:"font-medium tabular-nums","aria-label":Z?`Context window for ${Z}`:"Context window"}),Lt?(0,Me.jsx)(Om,{open:Lt,anchorRef:{current:ee.current.get(M.key)||null},preferredSide:"top",desiredHeight:224,className:"z-20 rounded-lg bg-background/98 p-2",onMouseDown:K=>K.preventDefault(),children:Oe?(0,Me.jsxs)("div",{className:"inline-flex items-center gap-2 px-1 py-2 text-sm text-muted-foreground",children:[(0,Me.jsx)(kr,{}),"Fetching size options for ",(0,Me.jsx)("code",{children:Z}),"."]}):be?.status==="error"?(0,Me.jsx)("div",{className:"rounded-lg border border-rose-200 bg-rose-50 px-3 py-2 text-xs text-rose-900",children:be.error||"Could not load suggested sizes."}):be?.options?.length>0?(0,Me.jsx)("div",{className:"space-y-1",children:be.options.map(K=>(0,Me.jsxs)("button",{type:"button",className:"flex w-full flex-col gap-2 rounded-lg border border-border/70 bg-background px-3 py-2 text-left text-sm text-foreground transition hover:border-accent hover:bg-accent disabled:cursor-not-allowed disabled:opacity-70",disabled:ze,onMouseDown:de=>de.preventDefault(),onClick:()=>{W(de=>({...de,[M.key]:du(K.contextWindow)})),ue(M.key,{contextWindow:String(K.contextWindow)},{clearStatus:!1}),N("")},title:`Use ${K.label}`,children:[(0,Me.jsxs)("div",{className:"min-w-0 space-y-1",children:[(0,Me.jsx)("div",{className:"break-words font-medium leading-5",children:K.label}),(0,Me.jsx)("div",{className:"break-words text-xs leading-4 text-muted-foreground",children:K.detail})]}),(0,Me.jsxs)("div",{className:"w-full rounded-md border border-border/70 bg-secondary/70 px-3 py-2",children:[(0,Me.jsx)("div",{className:"text-[10px] font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Context size"}),(0,Me.jsx)("div",{className:"mt-1 text-lg font-semibold leading-none tabular-nums text-foreground",children:pi(K.contextWindow)})]})]},K.key))}):(0,Me.jsxs)("div",{className:"rounded-lg border border-dashed border-border/70 bg-background/80 px-3 py-2 text-xs text-muted-foreground",children:["No suggested size was found for ",(0,Me.jsx)("code",{children:be?.query||Z}),"."]})}):null]}),Te?(0,Me.jsx)(q,{type:"button",variant:"ghost",className:vs,onMouseDown:K=>K.preventDefault(),onClick:()=>bo(M.key),disabled:ze,children:"Remove"}):(0,Me.jsx)(q,{type:"button",variant:"ghost",className:$(vs,"pointer-events-none invisible"),tabIndex:-1,disabled:!0,"aria-hidden":"true",children:"Remove"})]}),Te&&(0,Me.jsx)(dT,{capabilities:M.capabilities||{},disabled:ze,onChange:(K,de)=>{let In={...M.capabilities||{}};de===void 0?delete In[K]:In[K]=de,ue(M.key,{capabilities:In})}}),Oe?(0,Me.jsx)("div",{className:"flex justify-end text-xs",children:(0,Me.jsxs)("div",{className:"inline-flex items-center gap-1.5 text-sky-700",children:[(0,Me.jsx)(kr,{}),"Looking up sizes"]})}):null,wn?(0,Me.jsxs)("div",{className:"rounded-lg border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-900",children:["Enter a positive integer like ",(0,Me.jsx)("code",{children:"128000"}),", or leave the field blank."]}):Ee==="pending"?(0,Me.jsx)("div",{className:"rounded-lg border border-sky-200 bg-sky-50 px-3 py-2 text-xs text-sky-900",children:"Testing this model against the provider endpoint now."}):Ee==="success"?(0,Me.jsx)("div",{className:"rounded-lg border border-emerald-200 bg-emerald-50 px-3 py-2 text-xs text-emerald-900",children:"Confirmed by the latest live provider test."}):Ee==="error"?(0,Me.jsx)("div",{className:"rounded-lg border border-rose-200 bg-rose-50 px-3 py-2 text-xs text-rose-900",children:"This model failed the latest live provider test."}):null]},M.key)})}),Xt?(0,Me.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-sm text-amber-900",children:Xt}):null,R?(0,Me.jsx)("div",{className:$("rounded-xl px-3 py-2 text-sm",R.tone==="error"?"border border-rose-200 bg-rose-50 text-rose-900":R.tone==="warning"?"border border-amber-200 bg-amber-50 text-amber-900":"border border-emerald-200 bg-emerald-50 text-emerald-900"),children:R.message}):null,(0,Me.jsx)("div",{className:$("sticky z-10 border-t border-border/70 bg-background/95 pt-3 backdrop-blur",a?"bottom-0":"bottom-0 -mx-5 rounded-b-[1rem] px-5 pb-4"),children:(0,Me.jsxs)("div",{className:"flex min-h-9 items-center justify-between gap-3",children:[(0,Me.jsx)("div",{className:$("text-xs",c==="testing"?"text-sky-700":c==="saving"?"text-foreground":"text-muted-foreground"),children:c==="testing"?(0,Me.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:[(0,Me.jsx)(kr,{}),d||"Testing new models before save."]}):c==="saving"?(0,Me.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:[(0,Me.jsx)(kr,{}),d||"Saving provider models."]}):Ke.length>0&&po(e)==="api"?`${Ke.length} new model${Ke.length===1?"":"s"} will be tested before save.`:"Existing models keep their current configuration metadata."}),(0,Me.jsxs)("div",{className:"flex items-center justify-end gap-2",children:[!t&&!ze&&fn.length>0?(0,Me.jsx)(q,{type:"button",variant:"outline",onClick:()=>{rt()},children:b?"Filling\u2026":"Fill missing context size"}):null,!t&&!ze&&ln?(0,Me.jsx)(q,{type:"button",variant:"ghost",onClick:()=>{y({}),w({}),E(null),N(""),ct.current.clear(),X.current.clear(),p(xe(u,{preserveFocus:!0}))},children:"Reset"}):null,!t&&ln&&!Xt?(0,Me.jsx)(q,{type:"button",onClick:()=>{Sn()},disabled:ze,children:c==="testing"||v==="testing"?"Testing\u2026":c==="saving"||v==="saving"||r?"Saving\u2026":"Save models"}):null]})]})})]})}var ce=_(J(),1);function b5({provider:e,onRemove:t,onCopyModelId:n,onApplyProviderDetails:r,onApplyProviderModels:o,onSaveAndCloseEditor:a,disabledReason:i="",busy:l=!1}){let s=(0,$t.useMemo)(()=>AC(e),[e]),[c,d]=(0,$t.useState)(s),[u,f]=(0,$t.useState)(!1),[p,v]=(0,$t.useState)(!1),[m,b]=(0,$t.useState)(!1),[h,g]=(0,$t.useState)("provider"),[y,x]=(0,$t.useState)(""),[w,R]=(0,$t.useState)(0),[E,A]=(0,$t.useState)({isDirty:!1,issue:"",locked:!1,rows:[]}),[N,L]=(0,$t.useState)({phase:"",modelStates:{},failedModelIds:[],message:""}),j=(0,$t.useRef)(null),D=(0,$t.useRef)(null),W=(0,$t.useRef)(null),ie=(0,$t.useRef)(null);(0,$t.useEffect)(()=>{d(s)},[s]);let V=po(e)!=="api",ee=(Array.isArray(e?.models)?e.models:[]).map(Re=>String(Re?.id||"").trim()).filter(Boolean),Q=Sa(e),F=V?"":hC(e?.rateLimits),P=V?[]:Qn(c?.endpoints,c?.endpointDraft),ct=V?[]:pr(c?.rateLimitRows),X=JSON.stringify({id:String(c?.id||"").trim(),name:String(c?.name||"").trim(),credentialInput:String(c?.credentialInput||"").trim(),endpoints:P,endpointDraft:String(c?.endpointDraft||"").trim(),rateLimitRows:ry(c?.rateLimitRows)}),je=JSON.stringify({id:String(s?.id||"").trim(),name:String(s?.name||"").trim(),credentialInput:String(s?.credentialInput||"").trim(),endpoints:mr(s?.endpoints),endpointDraft:String(s?.endpointDraft||"").trim(),rateLimitRows:ry(s?.rateLimitRows)}),le=X!==je,xe=!!i||l,Ie=new Set((Array.isArray(E.rows)?E.rows:[]).map(Re=>String(Re?.id||"").trim()).filter(Boolean)),I=N.failedModelIds.filter(Re=>Ie.has(Re)),ue=xe||N.phase==="testing"||N.phase==="saving",ve=V?"":ko(ct,{knownModelIds:ee,requireAtLeastOne:!0}),ke=i||(String(c?.id||"").trim()?Zi.test(String(c?.id||"").trim())?String(c?.name||"").trim()?!V&&P.length===0?"Add at least one endpoint for API Key providers.":!V&&P.some(Re=>!di(Re))?"All endpoints must start with http:// or https://.":ve:"Provider name is required.":"Provider id must start with a letter and use lowercase letters, digits, or dashes only.":"Provider id is required."),Se=V?c:{...c,endpoints:P,endpointDraft:""},Ce=!!E.isDirty,He=le||Ce,Ke=[le?"provider settings":"",Ce?"model list":""].filter(Boolean),an=[le&&ke?`Provider: ${ke}`:"",Ce&&E.issue?`Models: ${E.issue}`:""].filter(Boolean).join(" "),Hn=xe||N.phase==="testing"||N.phase==="saving"||le&&!!ke||Ce&&(!!E.issue||E.locked)||typeof a!="function";async function dn(){let Re=await r(e.id,Se);return Re&&ze(),Re}async function fn(Re){let Ze=await o(e.id,Re,{providerDraft:le?Se:null,onModelTestStateChange:dt=>{L({phase:String(dt?.phase||""),modelStates:dt?.modelStates&&typeof dt.modelStates=="object"?dt.modelStates:{},failedModelIds:Array.isArray(dt?.failedModelIds)?dt.failedModelIds:[],message:String(dt?.message||"")})}});return Ze&&ze(),Ze}function ln(){d(s)}let ut=(0,$t.useCallback)(Re=>{A(Re)},[]);function ze(){v(!1),b(!1),f(!1),g("provider"),x(""),d(s),A({isDirty:!1,issue:"",locked:!1,rows:[]}),L({phase:"",modelStates:{},failedModelIds:[],message:""})}async function jt(){let Re=(Array.isArray(E.rows)?E.rows:[]).filter(dt=>!I.includes(String(dt?.id||"").trim()));return Re.length===0&&!le||await a(e.id,{providerDraft:le?Se:null,modelRows:Ce?Re:null,onModelTestStateChange:dt=>{L({phase:String(dt?.phase||""),modelStates:dt?.modelStates&&typeof dt.modelStates=="object"?dt.modelStates:{},failedModelIds:Array.isArray(dt?.failedModelIds)?dt.failedModelIds:[],message:String(dt?.message||"")})}})?(ze(),!0):(g("models"),!1)}(0,$t.useEffect)(()=>{L({phase:"",modelStates:{},failedModelIds:[],message:""})},[s]),(0,$t.useEffect)(()=>{I.length>0||!m||b(!1)},[I,m]),(0,$t.useEffect)(()=>{if(!u||h!=="provider"||y!=="endpoint"&&y!=="rate-limit"||typeof window>"u")return;let Re=window.requestAnimationFrame(()=>{let Ze=y==="endpoint"?j.current:W.current,dt=y==="endpoint"?D.current:ie.current;Ze?.scrollIntoView?.({block:"nearest"}),dt?.focus?.(),dt?.select?.(),x("")});return()=>window.cancelAnimationFrame(Re)},[u,h,y]);function Xt(Re="provider",Ze=""){v(!1),b(!1),g(Re),x(Ze),Re==="models"&&Ze==="models"&&R(dt=>dt+1),f(!0)}function Dn(){if(!ue){if(I.length>0){v(!1),b(!0);return}if(He){v(!0);return}ze()}}async function bo(){if(Hn)return;if(!await a(e.id,{providerDraft:le?Se:null,modelRows:Ce?E.rows:null,onModelTestStateChange:Ze=>{L({phase:String(Ze?.phase||""),modelStates:Ze?.modelStates&&typeof Ze.modelStates=="object"?Ze.modelStates:{},failedModelIds:Array.isArray(Ze?.failedModelIds)?Ze.failedModelIds:[],message:String(Ze?.message||"")})}})){Ce&&(v(!1),g("models"));return}ze()}return(0,ce.jsxs)(ce.Fragment,{children:[(0,ce.jsx)(Ft,{children:(0,ce.jsxs)(Kt,{className:"space-y-3 p-5",children:[(0,ce.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,ce.jsx)("div",{className:"min-w-0 flex-1 px-0.5 py-0.5",children:(0,ce.jsxs)("div",{className:"flex flex-wrap items-baseline gap-x-2 gap-y-1",children:[(0,ce.jsx)("span",{className:"text-base font-semibold text-foreground",children:e.name||e.id}),(0,ce.jsxs)("span",{className:"text-sm text-muted-foreground",children:["(",e.id,")"]})]})}),(0,ce.jsxs)("div",{className:"flex items-start gap-2 self-start",children:[(0,ce.jsxs)(q,{type:"button",variant:"outline",size:"sm",className:"gap-1.5 normal-case tracking-normal",onClick:()=>Xt("provider"),disabled:xe,"aria-label":`Edit provider ${e.name||e.id}`,title:"Edit provider",children:[(0,ce.jsx)(xs,{className:"h-4 w-4 shrink-0"}),"Edit"]}),(0,ce.jsx)(q,{type:"button",variant:"outline",size:"sm",className:"h-8 w-8 shrink-0 p-0 text-muted-foreground hover:border-destructive/35 hover:bg-destructive/5 hover:text-destructive",onClick:()=>t(e.id),disabled:l,"aria-label":"Remove provider",title:"Remove provider",children:(0,ce.jsx)(eu,{className:"h-4 w-4"})})]})]}),ee.length>0?(0,ce.jsx)("div",{className:"flex flex-wrap gap-2 pt-1",children:ee.map(Re=>(0,ce.jsx)(JE,{onClick:()=>n?.(Re),title:`Copy model id ${Re}`,className:"max-w-full",children:(0,ce.jsx)("span",{className:"truncate",children:Re})},`${e.id}-${Re}`))}):null]})}),(0,ce.jsx)(Jn,{open:u,onClose:Dn,title:`Edit \xB7 ${e.id}`,description:N.phase==="testing"?N.message||"Testing new models before save.":N.phase==="saving"?N.message||"Saving provider changes.":"Switch between provider settings and model list. Each tab saves independently.",closeDisabled:ue,closeOnBackdrop:!ue,closeOnEscape:!ue,contentClassName:"max-h-[92vh] max-w-5xl rounded-2xl border border-border/70 bg-background/98 shadow-[0_32px_120px_rgba(15,23,42,0.48)]",bodyClassName:"max-h-[calc(92vh-5.5rem)] pb-0",children:(0,ce.jsxs)(ps,{value:h,onValueChange:g,children:[(0,ce.jsxs)(gs,{className:"w-full justify-start",children:[(0,ce.jsx)(ur,{value:"provider",children:"Provider"}),(0,ce.jsx)(ur,{value:"models",children:"Model list"})]}),(0,ce.jsxs)(dr,{forceMount:!0,value:"provider",className:$("space-y-4 pb-4",h!=="provider"?"hidden":null),children:[(0,ce.jsx)("div",{className:"rounded-2xl border border-border/70 bg-background/60 p-4",children:(0,ce.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,ce.jsxs)("div",{children:[(0,ce.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Provider"}),(0,ce.jsx)("div",{className:"mt-1 text-sm text-muted-foreground",children:"Update provider identity and connection settings here."})]}),(0,ce.jsx)(Je,{variant:"outline",children:V?"Subscription":"API Key"})]})}),(0,ce.jsxs)("div",{className:$("grid gap-3",V?"md:grid-cols-2":"md:grid-cols-[minmax(0,1fr)_minmax(0,1fr)]"),children:[(0,ce.jsx)(ft,{label:"Provider name",stacked:!0,children:(0,ce.jsx)(St,{value:c.name,onChange:Re=>d(Ze=>({...Ze,name:Re.target.value})),disabled:ue})}),(0,ce.jsx)(ft,{label:"Provider id",hint:"Used in direct routes like provider/model",stacked:!0,children:(0,ce.jsx)(St,{value:c.id,onChange:Re=>d(Ze=>({...Ze,id:_r(Re.target.value)})),disabled:ue})})]}),V?null:(0,ce.jsxs)("div",{className:"space-y-3",children:[(0,ce.jsx)(ft,{label:"API key or env",hint:"Use an env var like OPENAI_API_KEY or paste the direct key.",stacked:!0,children:(0,ce.jsx)(zs,{value:c.credentialInput||"",onChange:Re=>d(Ze=>({...Ze,credentialInput:Re.target.value})),disabled:ue,placeholder:"Example: OPENAI_API_KEY or sk-...",isEnvVar:mo(c.credentialInput)})}),(0,ce.jsx)("div",{ref:j,children:(0,ce.jsx)(ft,{label:"Endpoints",hint:Q.length>1?"Comma, space, or newline turns into chips. The first endpoint stays active until you re-test this provider.":"Comma, space, or newline turns into chips.",stacked:!0,children:(0,ce.jsx)(Au,{values:c.endpoints,onChange:Re=>d(Ze=>({...Ze,endpoints:Re})),draftValue:c.endpointDraft,onDraftValueChange:Re=>d(Ze=>({...Ze,endpointDraft:Re})),commitOnBlur:!0,disabled:ue,isValueValid:di,inputRef:D,inputClassName:"placeholder:text-muted-foreground/55",placeholder:"Click here to type new endpoint",helperText:"Paste one or more endpoints"})})}),(0,ce.jsx)("div",{ref:W,className:"grid gap-3 md:grid-cols-2 xl:grid-cols-[minmax(0,1.35fr)_minmax(0,0.8fr)_minmax(0,0.8fr)_minmax(0,1fr)]",children:(0,ce.jsx)("div",{className:"md:col-span-2 xl:col-span-4",children:(0,ce.jsx)(ft,{label:"Rate limit",stacked:!0,headerAction:(0,ce.jsx)(q,{type:"button",size:"sm",variant:"outline",onClick:()=>d(Re=>({...Re,rateLimitRows:km(Re.rateLimitRows)})),disabled:ue,children:"Add rate limit"}),children:(0,ce.jsx)(Lm,{rows:c.rateLimitRows,onChange:Re=>d(Ze=>({...Ze,rateLimitRows:Re})),availableModelIds:ee,disabled:ue,inputRef:ie})})})})]}),ke?(0,ce.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-sm text-amber-900",children:ke}):null,(0,ce.jsxs)("div",{className:"flex min-h-9 items-center justify-end gap-2",children:[!ue&&le?(0,ce.jsx)(q,{type:"button",variant:"ghost",onClick:ln,children:"Reset"}):null,le&&!ke?(0,ce.jsx)(q,{type:"button",onClick:()=>{dn()},disabled:ue,children:N.phase==="saving"||l?"Saving\u2026":"Save provider"}):null]})]}),(0,ce.jsx)(dr,{forceMount:!0,value:"models",className:$(h!=="models"?"hidden":null),children:(0,ce.jsx)(fT,{provider:e,disabled:!!i,disabledReason:i,busy:l,framed:!1,focusRequest:w,onStateChange:ut,onApply:fn,testStateByModel:N.modelStates,savePhase:N.phase,saveMessage:N.message})})]})}),(0,ce.jsx)(XE,{open:p,onKeepEditing:()=>v(!1),onDiscardAndClose:ze,onSaveAndClose:bo,saveDisabled:Hn,dirtyLabels:Ke,details:an}),(0,ce.jsx)(ZE,{open:m,failedModelIds:I,onKeepEditing:()=>b(!1),onRemoveFailedAndClose:jt,removeDisabled:ue||typeof a!="function"})]})}function x5({providers:e,onRemove:t,onCopyModelId:n,onApplyProviderDetails:r,onApplyProviderModels:o,onSaveAndCloseEditor:a,disabledReason:i="",busy:l=!1}){return e.length?(0,ce.jsx)("div",{className:"grid gap-4 xl:grid-cols-2",children:e.map(s=>(0,ce.jsx)(b5,{provider:s,onRemove:t,onCopyModelId:n,onApplyProviderDetails:r,onApplyProviderModels:o,onSaveAndCloseEditor:a,disabledReason:i,busy:l},s.id))}):(0,ce.jsx)(Ft,{children:(0,ce.jsx)(Kt,{className:"flex flex-col gap-4 p-5 text-sm text-muted-foreground",children:(0,ce.jsx)("div",{children:"No enabled providers are configured yet. Use Add provider to create your first provider, model list, and rate limits."})})})}function mT({providers:e,onAddProvider:t,onRemove:n,onCopyModelId:r,onApplyProviderDetails:o,onApplyProviderModels:a,onSaveAndCloseEditor:i,disabledReason:l="",busy:s=!1}){return(0,ce.jsxs)("section",{className:"rounded-2xl border border-border/70 bg-card p-4","aria-label":"Provider models",children:[(0,ce.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between",children:[(0,ce.jsxs)("div",{className:"min-w-0",children:[(0,ce.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Provider & Models"}),(0,ce.jsx)("div",{className:"mt-1 text-sm text-muted-foreground",children:"Manage providers, direct model routes, endpoints, and rate limits in one place."})]}),(0,ce.jsx)(q,{onClick:t,children:"Add provider"})]}),(0,ce.jsx)("div",{className:"mt-4",children:(0,ce.jsx)(x5,{providers:e,onRemove:n,onCopyModelId:r,onApplyProviderDetails:o,onApplyProviderModels:a,onSaveAndCloseEditor:i,disabledReason:l,busy:s})})]})}var Cu=_(pe(),1);var re=_(J(),1);function pT({connected:e,snapshot:t,models:n,busy:r,refreshing:o,config:a,onRefresh:i,onLoad:l,onUnload:s,onPin:c,onKeepAlive:d,onContextLength:u,onAddToRouter:f,onRemoveFromRouter:p,onAutoLoad:v,onSaveSettings:m,onInstall:b,onStartServer:h,onStopServer:g,onSyncRouter:y}){let x=a?.ollama||{},[w,R]=(0,Cu.useState)(x.baseUrl||"http://localhost:11434"),[E,A]=(0,Cu.useState)(x.autoConnect!==!1),[N,L]=(0,Cu.useState)(x.defaultKeepAlive||"5m"),j=t?.installed===!0;return(0,re.jsxs)("div",{className:"space-y-4",children:[(0,re.jsx)(Ft,{children:(0,re.jsxs)(Kt,{className:"p-4 space-y-3",children:[(0,re.jsxs)("div",{className:"flex items-center justify-between",children:[(0,re.jsxs)("div",{className:"flex items-center gap-2",children:[(0,re.jsx)("h3",{className:"font-medium",children:"Ollama Connection"}),e?(0,re.jsx)(Je,{variant:"success",children:"Connected"}):(0,re.jsx)(Je,{variant:"outline",children:"Disconnected"})]}),(0,re.jsxs)("div",{className:"flex gap-2",children:[!j&&(0,re.jsx)(q,{size:"sm",onClick:b,disabled:r._install,children:r._install?"Installing\u2026":"Install Ollama"}),j&&!e&&(0,re.jsx)(q,{size:"sm",onClick:h,disabled:r._startServer,children:r._startServer?"Starting\u2026":"Start Server"}),e&&(0,re.jsx)(q,{size:"sm",variant:"outline",onClick:g,children:"Stop Server"})]})]}),t?.version&&(0,re.jsxs)("p",{className:"text-xs text-muted-foreground",children:["Version: ",t.version]})]})}),e&&(0,re.jsx)(Ft,{children:(0,re.jsxs)(Kt,{className:"p-4 space-y-3",children:[(0,re.jsxs)("div",{className:"flex items-center justify-between",children:[(0,re.jsx)("h3",{className:"font-medium",children:"Models"}),(0,re.jsxs)("div",{className:"flex gap-2",children:[(0,re.jsx)(q,{size:"sm",variant:"outline",onClick:y,disabled:r._syncRouter,children:r._syncRouter?"Syncing\u2026":"Sync All to Router"}),(0,re.jsx)(q,{size:"sm",variant:"outline",onClick:i,disabled:o,children:o?"Refreshing\u2026":"Reload Models"})]})]}),n.length===0&&!o&&(0,re.jsxs)("p",{className:"text-sm text-muted-foreground",children:["No models found. Pull models with ",(0,re.jsx)("code",{className:"text-xs bg-muted px-1 py-0.5 rounded",children:"ollama pull <model>"})]}),(0,re.jsx)("div",{className:"space-y-2",children:n.map(D=>(0,re.jsx)(S5,{model:D,busy:r[D.name]||{},onLoad:l,onUnload:s,onPin:c,onKeepAlive:d,onContextLength:u,onAddToRouter:f,onRemoveFromRouter:p,onAutoLoad:v},D.name))})]})}),(0,re.jsx)(Ft,{children:(0,re.jsxs)(Kt,{className:"p-4 space-y-3",children:[(0,re.jsx)("h3",{className:"font-medium",children:"Settings"}),(0,re.jsxs)("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-3",children:[(0,re.jsxs)("div",{children:[(0,re.jsx)("label",{className:"mb-1 block text-xs font-medium text-muted-foreground",children:"Base URL"}),(0,re.jsx)(St,{value:w,onChange:D=>R(D.target.value),placeholder:"http://localhost:11434"})]}),(0,re.jsxs)("div",{children:[(0,re.jsx)("label",{className:"mb-1 block text-xs font-medium text-muted-foreground",children:"Default Keep Alive"}),(0,re.jsxs)(tn,{value:N,onValueChange:L,children:[(0,re.jsx)(nn,{children:(0,re.jsx)(rn,{})}),(0,re.jsx)(on,{children:Zh.map(D=>(0,re.jsx)(kt,{value:D.value,children:D.label},D.value))})]})]})]}),(0,re.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,re.jsx)("label",{className:"text-sm text-foreground",children:"Auto-connect on startup"}),(0,re.jsx)(Hc,{checked:E,onCheckedChange:A})]}),(0,re.jsx)(q,{size:"sm",onClick:()=>m({baseUrl:w,autoConnect:E,defaultKeepAlive:N}),children:"Save Settings"})]})})]})}function S5({model:e,busy:t,onLoad:n,onUnload:r,onPin:o,onKeepAlive:a,onContextLength:i,onAddToRouter:l,onRemoveFromRouter:s,onAutoLoad:c}){let[d,u]=(0,Cu.useState)(e.contextLength||0);return(0,re.jsxs)("div",{className:"rounded-lg border border-border p-3 space-y-2",children:[(0,re.jsxs)("div",{className:"flex items-center justify-between gap-2 flex-wrap",children:[(0,re.jsxs)("div",{className:"flex items-center gap-2 flex-wrap",children:[(0,re.jsx)("span",{className:"font-mono text-sm font-medium",children:e.name}),(0,re.jsx)(Je,{variant:"outline",children:e.parameterSize||"?"}),(0,re.jsx)(Je,{variant:"outline",children:e.quantizationLevel||"?"}),e.loaded?(0,re.jsxs)(Je,{variant:"success",children:["Loaded",e.sizeVramFormatted?` (${e.sizeVramFormatted})`:""]}):(0,re.jsx)(Je,{variant:"default",children:"Available"}),e.isPinned&&(0,re.jsx)(Je,{variant:"warning",children:"Pinned"})]}),(0,re.jsxs)("div",{className:"flex items-center gap-1.5 flex-wrap",children:[e.loaded?(0,re.jsx)(q,{size:"sm",variant:"outline",onClick:()=>r(e.name),disabled:t.unloading,children:t.unloading?"Unloading\u2026":"Unload"}):(0,re.jsx)(q,{size:"sm",variant:"outline",onClick:()=>n(e.name),disabled:t.loading,children:t.loading?"Loading\u2026":"Load"}),(0,re.jsx)(q,{size:"sm",variant:e.isPinned?"default":"outline",onClick:()=>o(e.name,!e.isPinned),disabled:t.pinning,title:e.isPinned?"Unpin (allow auto-unload)":"Pin in memory (blocks eviction)",children:e.isPinned?"Unpin":"Pin"}),e.inRouter?(0,re.jsx)(q,{size:"sm",variant:"outline",onClick:()=>s(e.name),className:"text-red-600 hover:text-red-700",children:"Remove from Router"}):(0,re.jsx)(q,{size:"sm",variant:"default",onClick:()=>l(e.name),children:"Add to Router"})]})]}),(0,re.jsxs)("div",{className:"flex items-center gap-4 flex-wrap text-xs",children:[(0,re.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,re.jsx)("label",{className:"text-muted-foreground whitespace-nowrap",children:"Keep Alive:"}),(0,re.jsxs)(tn,{value:e.keepAlive||"5m",onValueChange:f=>a(e.name,f),children:[(0,re.jsx)(nn,{className:"h-7 w-[160px] text-xs",children:(0,re.jsx)(rn,{})}),(0,re.jsx)(on,{children:Zh.map(f=>(0,re.jsx)(kt,{value:f.value,children:f.label},f.value))})]})]}),(0,re.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,re.jsx)("label",{className:"text-muted-foreground whitespace-nowrap",children:"Context:"}),(0,re.jsx)(St,{type:"number",className:"h-7 w-24 text-xs",value:d,onChange:f=>u(Number(f.target.value)),onBlur:()=>{d!==e.contextLength&&i(e.name,d)},min:0,step:1024}),e.contextLength>0&&(0,re.jsxs)("span",{className:"text-muted-foreground",children:["max: ",e.contextLength.toLocaleString()]})]}),(0,re.jsxs)("div",{className:"flex items-center gap-2",children:[(0,re.jsx)(Hc,{checked:e.autoLoad,onCheckedChange:f=>c(e.name,f)}),(0,re.jsx)("label",{className:"text-muted-foreground",children:"Auto-load on start"})]}),e.estimatedVram&&(0,re.jsxs)("span",{className:"text-muted-foreground",children:["Est. VRAM: ",e.estimatedVram]})]})]})}var Dm=_(pe(),1);var oe=_(J(),1);function w5(e=[]){let t=[],n=new Map,r=null;for(let o of(Array.isArray(e)?e:[]).filter(Boolean)){let a=String(o?.groupKey||o?.groupLabel||"").trim(),i=String(o?.groupLabel||"").trim();if(!a){r||(r={key:"__ungrouped__",label:"",options:[]},t.push(r)),r.options.push(o);continue}let l=n.get(a);l||(l={key:a,label:i||a,options:[]},n.set(a,l),t.push(l)),l.options.push(o)}return t}function A5(e={},{includeHint:t=!1}={}){let n=String(e?.label||e?.value||"").trim()||String(e?.value||"").trim(),r=String(e?.hint||"").trim();return t&&r?`${n} \xB7 ${r}`:n}function gT(e=[],{keyPrefix:t="select-option",includeHint:n=!1}={}){return w5(e).map((r,o)=>{let a=r.options.map(i=>(0,oe.jsx)(kt,{value:i.value,searchText:`${i.label||""} ${i.value||""} ${i.hint||""} ${r.label||""}`,children:A5(i,{includeHint:n})},`${t}-${i.value}`));return r.label?(0,oe.jsxs)(dl,{children:[(0,oe.jsx)(Ds,{children:r.label}),a]},`${t}-group-${r.key||o}`):a})}function C5({className:e=""}){return(0,oe.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:[(0,oe.jsx)("path",{d:"M10 2.75 4.75 5v4.12c0 3.42 2.1 6.58 5.25 7.88 3.15-1.3 5.25-4.46 5.25-7.88V5L10 2.75Z"}),(0,oe.jsx)("circle",{cx:"10",cy:"9",r:"1.4"}),(0,oe.jsx)("path",{d:"M10 10.4v2.1"})]})}function hT({rows:e,routeOptions:t,webSearchSnapshot:n,ampClientUrl:r,ampClientGlobal:o,routingBusy:a,onToggleGlobalRouting:i,onInboundChange:l,onOutboundChange:s,onCreateEntry:c,onRemoveEntry:d,onOpenWebSearchTab:u,onOpenConfigPath:f,onOpenSecretsPath:p,hasMasterKey:v,disabledReason:m,autosaveState:b}){let[h,g]=(0,Dm.useState)(!1),[y,x]=(0,Dm.useState)(""),[w,R]=(0,Dm.useState)(String(t[0]?.value||"").trim()),E=e.some(F=>String(F?.inbound||"").trim()===String(y||"").trim()&&String(y||"").trim()),A=String(y||"").trim()&&String(w||"").trim()&&!E,N=o?.routedViaRouter===!0,L=String(o?.error||"").trim(),j=!!(v&&r&&!m&&!L),D=Number(n?.configuredProviderCount)||0,W=N&&D===0,ie=m?"warning":b.status==="error"?"danger":b.status==="pending"?"outline":b.status==="saving"?"info":b.savedAt?"success":"outline",ye=m?"Needs review":b.status==="error"?"Save failed":b.status==="pending"?"Unsaved":b.status==="saving"?"saving...":b.savedAt?"Saved":"Ready",V=m||(b.status==="error"?b.message:b.status==="pending"?"Unsaved changes queued. Auto-save will run shortly.":b.status==="saving"?"Saving changes...":b.savedAt?`Last saved ${Cs(b.savedAt)}.`:"AMP route changes auto-save after valid edits.");async function ee(){!A||await c?.({inbound:y,outbound:w})===!1||(g(!1),x(""),R(String(t[0]?.value||"").trim()))}function Q(){g(!0),x(""),R(String(t[0]?.value||"").trim())}return(0,oe.jsx)("div",{className:"grid gap-4",children:(0,oe.jsxs)(Ft,{children:[(0,oe.jsxs)(Wr,{className:"flex flex-col gap-3 p-4 pb-0 sm:flex-row sm:items-start sm:justify-between",children:[(0,oe.jsxs)("div",{className:"space-y-2",children:[(0,oe.jsx)(Oo,{className:"flex items-center gap-2",children:(0,oe.jsx)("span",{children:"Use AMP via LLM Router"})}),(0,oe.jsx)(_m,{primaryLabel:"Config file",primaryValue:o?.settingsFilePath||"",onOpenPrimary:f,secondaryLabel:"Secrets file",secondaryValue:o?.secretsFilePath||"",secondaryIcon:(0,oe.jsx)(C5,{className:"h-3 w-3"}),onOpenSecondary:p})]}),(0,oe.jsx)("div",{className:"flex shrink-0 flex-wrap items-center gap-2",children:(0,oe.jsx)(q,{type:"button",size:"sm",variant:N?"outline":void 0,onClick:i,disabled:a!==""||!N&&!j,children:a==="enable"?"Connecting\u2026":a==="disable"?"Disconnecting\u2026":N?"Disconnect":"Connect"})})]}),(0,oe.jsxs)(Kt,{className:"space-y-4 p-4",children:[L?(0,oe.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-900",children:L}):null,!N&&!v?(0,oe.jsxs)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-800",children:["Set ",(0,oe.jsx)("code",{children:"masterKey"})," first to connect AMP."]}):null,W?(0,oe.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3 rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-900",children:[(0,oe.jsx)("div",{className:"max-w-3xl",children:"AMP is connected, but no alternative web search provider is configured. AMP web search is only available through the shared Web Search tab."}),(0,oe.jsx)(q,{type:"button",size:"sm",variant:"outline",onClick:u,children:"Open Web Search"})]}):null,m?(0,oe.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-800",children:m}):(0,oe.jsxs)("div",{className:"space-y-3 rounded-2xl border border-border/70 bg-background/60 p-4",children:[(0,oe.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,oe.jsxs)("div",{children:[(0,oe.jsx)("div",{className:"text-sm font-medium text-foreground",children:"Route mapping editor"}),(0,oe.jsx)("div",{className:"mt-1 text-xs text-muted-foreground",children:"Map built-in AMP route keys and wildcard model matches to managed routes."})]}),(0,oe.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,oe.jsx)(Je,{variant:ie,children:ye}),(0,oe.jsxs)(Je,{variant:"outline",children:[e.length," routes"]}),(0,oe.jsx)(q,{type:"button",size:"sm",onClick:Q,children:"Add custom mapping"})]})]}),(0,oe.jsx)("div",{className:"text-xs text-muted-foreground",children:V}),h?(0,oe.jsx)("div",{className:"rounded-2xl border border-dashed border-border bg-background/80 p-3",children:(0,oe.jsxs)("div",{className:"grid gap-3 xl:grid-cols-[160px_minmax(0,1fr)_minmax(0,1fr)] xl:items-start",children:[(0,oe.jsxs)("div",{className:"space-y-2",children:[(0,oe.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,oe.jsx)("div",{className:"text-sm font-medium text-foreground",children:"Add custom mapping"}),(0,oe.jsx)(Je,{variant:"info",children:"Custom"})]}),(0,oe.jsxs)("div",{className:"text-xs leading-5 text-muted-foreground",children:["Match a built-in AMP route key like ",(0,oe.jsx)("code",{children:"smart"})," or a wildcard such as ",(0,oe.jsx)("code",{children:"gpt-*-codex*"}),", then send it to any managed route."]}),(0,oe.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,oe.jsx)(q,{type:"button",size:"sm",onClick:ee,disabled:!A,children:"Create mapping"}),(0,oe.jsx)(q,{type:"button",size:"sm",variant:"ghost",onClick:()=>g(!1),children:"Close"})]})]}),(0,oe.jsx)(ft,{label:"Inbound match",hint:"Built-in route key or AMP model pattern",children:(0,oe.jsx)(St,{value:y,onChange:F=>x(F.target.value),placeholder:"smart or gpt-*-codex*"})}),(0,oe.jsx)(ft,{label:"Route target",hint:"Alias or provider/model route in LLM Router",children:(0,oe.jsxs)(tn,{value:w||void 0,onValueChange:R,children:[(0,oe.jsx)(nn,{children:(0,oe.jsx)(rn,{placeholder:"Select local route"})}),(0,oe.jsx)(on,{children:gT(t,{keyPrefix:"amp-route-create",includeHint:!0})})]})})]})}):null,(0,oe.jsx)("div",{className:"space-y-2",children:e.map(F=>(0,oe.jsx)("div",{className:"rounded-2xl border border-border/70 bg-background/75 p-3",children:(0,oe.jsxs)("div",{className:"grid gap-3 xl:grid-cols-[160px_minmax(0,1fr)_minmax(0,1fr)] xl:items-start",children:[(0,oe.jsxs)("div",{className:"space-y-2",children:[(0,oe.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,oe.jsx)("div",{className:"text-sm font-medium text-foreground",children:F.label}),F.isCustom?(0,oe.jsx)(Je,{variant:"info",children:"Custom"}):null]}),(0,oe.jsx)("div",{className:"text-xs leading-5 text-muted-foreground",children:F.description}),F.removable?(0,oe.jsx)(q,{type:"button",size:"sm",variant:"ghost",onClick:()=>d(F.id),children:"Remove"}):null]}),(0,oe.jsx)(ft,{label:"Inbound wildcard",hint:F.defaultMatch?`Default: ${F.defaultMatch}`:"AMP model pattern",children:(0,oe.jsx)(Nm,{commitOnBlur:!0,value:F.inbound,onValueCommit:P=>l(F.id,P),placeholder:F.defaultMatch||"gpt-*-codex*",onKeyDown:P=>{P.key==="Enter"&&(P.preventDefault(),P.currentTarget.blur())}})}),(0,oe.jsx)(ft,{label:"Target route",hint:"Alias or provider/model route",children:(0,oe.jsxs)(tn,{value:F.outbound||"__default__",onValueChange:P=>s(F.id,P),children:[(0,oe.jsx)(nn,{children:(0,oe.jsx)(rn,{placeholder:F.removable?"Choose target route":"Use default route"})}),(0,oe.jsxs)(on,{children:[F.removable?null:(0,oe.jsx)(kt,{value:"__default__",children:"Use default route"}),gT(t,{keyPrefix:`amp-route-${F.id}`,includeHint:!0})]})]})})]})},F.id))})]})]})]})})}var Ea=_(pe(),1);var Y=_(J(),1);function R5({className:e=""}){return(0,Y.jsxs)("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",className:e,children:[(0,Y.jsx)("path",{d:"M8 3.5v9",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"}),(0,Y.jsx)("path",{d:"M3.5 8h9",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]})}function E5({open:e=!1,onClose:t=()=>{},candidates:n=[],onTestAndAdd:r=async()=>{},disabledReason:o=""}){let[a,i]=(0,Ea.useState)(""),[l,s]=(0,Ea.useState)(""),[c,d]=(0,Ea.useState)(!1),[u,f]=(0,Ea.useState)(""),p=Array.isArray(n)?n:[],v=p.find(y=>y.providerId===a)||p[0]||null,m=Array.isArray(v?.models)?v.models:[];(0,Ea.useEffect)(()=>{if(!e){d(!1),f("");return}let y=p[0]?.providerId||"";i(x=>p.some(R=>R.providerId===x)?x:y)},[e,p]),(0,Ea.useEffect)(()=>{let y=m[0]?.value||"";s(x=>m.some(R=>R.value===x)?x:y)},[m]);let b=fi(a,l),h=e&&!c&&!o&&a&&l;async function g(){if(h){d(!0),f("");try{await r({providerId:a,modelId:l}),t()}catch(y){f(y instanceof Error?y.message:String(y))}finally{d(!1)}}}return(0,Y.jsx)(Jn,{open:e,onClose:()=>{c||t()},title:"Add ChatGPT Search Endpoint",description:"Choose a configured OpenAI-compatible GPT route. Test runs a live Responses API request with the native web search tool, then saves the route on success.",contentClassName:"max-h-[92vh] max-w-3xl rounded-2xl border border-border/70 bg-background/98 shadow-[0_32px_120px_rgba(15,23,42,0.48)]",showCloseButton:!1,footer:(0,Y.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2",children:[(0,Y.jsx)(q,{type:"button",variant:"ghost",onClick:t,disabled:c,children:"Cancel"}),(0,Y.jsx)(q,{type:"button",onClick:()=>{g()},disabled:!h,children:c?"Testing\u2026":"Test connection"})]}),children:(0,Y.jsxs)("div",{className:"space-y-4",children:[o?(0,Y.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-900",children:o}):null,!o&&p.length===0?(0,Y.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-900",children:"No configured OpenAI-compatible GPT providers are available yet. Add a provider with a GPT model first."}):null,p.length>0?(0,Y.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,Y.jsx)(ft,{label:"Provider",hint:"Configured provider or ChatGPT subscription",stacked:!0,children:(0,Y.jsxs)(tn,{value:a||void 0,onValueChange:i,disabled:c||!!o,children:[(0,Y.jsx)(nn,{children:(0,Y.jsx)(rn,{placeholder:"Choose provider"})}),(0,Y.jsx)(on,{children:p.map(y=>(0,Y.jsx)(kt,{value:y.providerId,children:y.providerLabel},y.providerId))})]})}),(0,Y.jsx)(ft,{label:"GPT model",hint:"Only GPT models on OpenAI-compatible routes are listed",stacked:!0,children:(0,Y.jsxs)(tn,{value:l||void 0,onValueChange:s,disabled:c||!!o||m.length===0,children:[(0,Y.jsx)(nn,{children:(0,Y.jsx)(rn,{placeholder:"Choose model"})}),(0,Y.jsx)(on,{children:m.map(y=>(0,Y.jsx)(kt,{value:y.value,children:y.label},y.routeId))})]})})]}):null,b?(0,Y.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/70 px-4 py-3",children:[(0,Y.jsx)("div",{className:"text-[11px] font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Saved route id"}),(0,Y.jsx)("div",{className:"mt-1 text-sm font-medium text-foreground",children:b}),(0,Y.jsx)("div",{className:"mt-1 text-xs leading-5 text-muted-foreground",children:"This route stores only the provider/model reference. No separate API key or quota is saved here."})]}):null,u?(0,Y.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-900",children:u}):null]})})}function yT({webSearchConfig:e,webSearchProviders:t,hostedSearchCandidates:n,onWebSearchStrategyChange:r,onWebSearchProviderChange:o,onWebSearchProviderMove:a,onRemoveWebSearchProvider:i,onAddHostedSearchEndpoint:l,disabledReason:s,autosaveState:c}){let[d,u]=(0,Ea.useState)(!1),f=String(e?.strategy||"ordered").trim()==="quota-balance"?"quota-balance":"ordered",p=Array.isArray(n)&&n.some(m=>Array.isArray(m?.models)&&m.models.length>0),v=s||(c.status==="error"?c.message:c.status==="pending"?"Unsaved changes queued. Auto-save will run shortly.":c.status==="saving"?"Saving changes...":c.savedAt?`Last saved ${Cs(c.savedAt)}.`:"");return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(Ft,{children:[(0,Y.jsxs)(Wr,{className:"flex flex-col gap-4 p-4 pb-0 xl:flex-row xl:items-start xl:justify-between",children:[(0,Y.jsxs)("div",{className:"space-y-1",children:[(0,Y.jsx)(Oo,{children:"Web Search"}),(0,Y.jsx)(ii,{className:"text-xs leading-5",children:"Shared web search routing for AMP and other router-managed tools."}),v?(0,Y.jsx)("div",{className:"text-xs text-muted-foreground",children:v}):null]}),(0,Y.jsxs)("div",{className:"flex w-full shrink-0 flex-wrap items-end justify-end gap-3 xl:w-auto",children:[(0,Y.jsxs)("div",{className:"min-w-[12rem] space-y-1",children:[(0,Y.jsx)("div",{className:"text-[11px] font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Routing strategy"}),(0,Y.jsxs)(tn,{value:f,onValueChange:r,disabled:!!s,children:[(0,Y.jsx)(nn,{children:(0,Y.jsx)(rn,{placeholder:"Choose strategy"})}),(0,Y.jsx)(on,{children:eC.map(m=>(0,Y.jsx)(kt,{value:m.value,children:m.label},m.value))})]})]}),(0,Y.jsxs)(q,{type:"button",variant:"outline",className:"gap-2",onClick:()=>u(!0),disabled:!!s||!p,children:[(0,Y.jsx)(R5,{className:"h-3.5 w-3.5"}),(0,Y.jsx)("span",{children:"Endpoint"})]})]})]}),(0,Y.jsx)(Kt,{className:"space-y-4 p-4",children:(0,Y.jsx)("div",{className:"space-y-3",children:(t||[]).map(m=>{if(m.kind==="hosted"){let g=m.runtimeState&&m.runtimeState.ready===!1?"This provider/model route is no longer available or is not OpenAI-compatible.":"";return(0,Y.jsx)("div",{className:"rounded-2xl border border-border/70 bg-background/80 p-4",children:(0,Y.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,Y.jsxs)("div",{className:"flex flex-col gap-3 xl:flex-row xl:items-start xl:justify-between",children:[(0,Y.jsxs)("div",{className:"min-w-0",children:[(0,Y.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,Y.jsx)(lv,{active:m.active}),(0,Y.jsx)("div",{className:"text-sm font-medium text-foreground",children:m.label}),(0,Y.jsx)(Je,{variant:"outline",children:"GPT Search"})]}),(0,Y.jsx)("div",{className:"mt-1 text-xs break-all text-muted-foreground",children:m.routeId}),(0,Y.jsx)("div",{className:"mt-2 text-xs leading-5 text-muted-foreground",children:"Uses the provider's native OpenAI Responses web search tool. No local API key or quota is stored here."})]}),(0,Y.jsxs)("div",{className:"flex items-center gap-2 self-start",children:[(0,Y.jsxs)("div",{className:"flex items-center gap-2 rounded-xl border border-border/70 bg-background/70 p-1",children:[(0,Y.jsx)(Aa,{disabled:!!s||m.displayIndex<=0,label:`Move ${m.routeId} up`,onClick:()=>a(m.id,"up")}),(0,Y.jsx)(fl,{disabled:!!s||m.displayIndex>=m.displayCount-1,label:`Move ${m.routeId} down`,onClick:()=>a(m.id,"down")})]}),(0,Y.jsx)(q,{type:"button",size:"sm",variant:"ghost",onClick:()=>i(m.id),disabled:!!s,children:"Remove"})]})]}),g?(0,Y.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-900",children:g}):null]})},m.key)}let b=m.credentialField,h=String(m?.credentialValue||"").trim();return(0,Y.jsx)("div",{className:"rounded-2xl border border-border/70 bg-background/80 p-4",children:(0,Y.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,Y.jsxs)("div",{className:"flex flex-col gap-3 xl:flex-row xl:items-start xl:justify-between",children:[(0,Y.jsx)("div",{className:"min-w-0",children:(0,Y.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,Y.jsx)(lv,{active:m.active}),(0,Y.jsx)("div",{className:"text-sm font-medium text-foreground",children:m.label})]})}),(0,Y.jsxs)("div",{className:"flex items-center gap-2 self-start rounded-xl border border-border/70 bg-background/70 p-1",children:[(0,Y.jsx)(Aa,{disabled:!!s||m.displayIndex<=0,label:`Move ${m.label} up`,onClick:()=>a(m.id,"up")}),(0,Y.jsx)(fl,{disabled:!!s||m.displayIndex>=m.displayCount-1,label:`Move ${m.label} down`,onClick:()=>a(m.id,"down")})]})]}),(0,Y.jsxs)("div",{className:"grid gap-3 lg:grid-cols-[minmax(0,0.9fr)_minmax(0,1.35fr)]",children:[(0,Y.jsx)(ft,{label:m.credentialLabel,hint:m.credentialField==="url"?"Required to enable this backend.":"Required to enable this backend. Stored in router config.",stacked:!0,className:"gap-1",headerClassName:"min-h-0",hintClassName:"leading-4",children:(0,Y.jsx)(zs,{buffered:!0,value:h,placeholder:m.credentialPlaceholder,onValueChange:g=>o(m.id,b,g),disabled:!!s,isEnvVar:m.credentialField==="url"})}),(0,Y.jsxs)("div",{className:"grid gap-3 sm:grid-cols-3",children:[(0,Y.jsx)(ft,{label:"Result per call",hint:"Empty keeps the default of 5.",stacked:!0,className:"gap-1",headerClassName:"min-h-0",hintClassName:"leading-4",children:(0,Y.jsx)(Mm,{value:m.resultPerCallInput,placeholder:"Default: 5",allowEmptyCommit:!0,onValueChange:g=>o(m.id,"count",g),disabled:!!s})}),(0,Y.jsx)(ft,{label:"Monthly limit",hint:"0 keeps quotas self-managed.",stacked:!0,className:"gap-1",headerClassName:"min-h-0",hintClassName:"leading-4",children:(0,Y.jsx)(Mm,{value:String(m.limit||0),onValueChange:g=>o(m.id,"limit",g),disabled:!!s})}),(0,Y.jsx)(ft,{label:"Synced remaining",hint:"Adjust after manual upstream sync.",stacked:!0,className:"gap-1",headerClassName:"min-h-0",hintClassName:"leading-4",children:(0,Y.jsx)(Mm,{value:String(m.remaining||0),onValueChange:g=>o(m.id,"remaining",g),disabled:!!s})})]})]})]})},m.key)})})})]}),(0,Y.jsx)(E5,{open:d,onClose:()=>u(!1),candidates:n,onTestAndAdd:l,disabledReason:s})]})}var Ru=_(pe(),1);var S=_(J(),1);function T5(e=""){let t=String(e||"").trim();if(!t)return{};let n=Nf(t);if(n?.kind==="alias")return{kind:"alias",groupKey:"aliases",groupLabel:"Aliases"};if(n?.kind==="model"&&n.providerId)return{kind:"model",providerId:n.providerId,groupKey:`provider:${n.providerId}`,groupLabel:n.providerId};if(n?.kind==="model")return{kind:"model",groupKey:"llm-router",groupLabel:"LLM Router"};let r=t.startsWith("alias:")?t.slice(6).trim():t;if(!r.includes("/"))return{kind:"alias",groupKey:"aliases",groupLabel:"Aliases"};let o=r.indexOf("/"),a=r.slice(0,o).trim();return a?{kind:"model",providerId:a,groupKey:`provider:${a}`,groupLabel:a}:{}}function N5(e=[],t=[]){let n=[...Array.isArray(e)?e:[]],r=new Set(n.map(o=>String(o?.value||"").trim()).filter(Boolean));for(let o of(Array.isArray(t)?t:[]).map(a=>String(a||"").trim()).filter(Boolean))r.has(o)||(r.add(o),n.push({value:o,label:o,hint:"Current config",...T5(o)}));return n}function M5(e=[]){let t=[],n=new Map,r=null;for(let o of(Array.isArray(e)?e:[]).filter(Boolean)){let a=String(o?.groupKey||o?.groupLabel||"").trim(),i=String(o?.groupLabel||"").trim();if(!a){r||(r={key:"__ungrouped__",label:"",options:[]},t.push(r)),r.options.push(o);continue}let l=n.get(a);l||(l={key:a,label:i||a,options:[]},n.set(a,l),t.push(l)),l.options.push(o)}return t}function O5(e={},{includeHint:t=!1}={}){let n=String(e?.label||e?.value||"").trim()||String(e?.value||"").trim(),r=String(e?.hint||"").trim();return t&&r?`${n} \xB7 ${r}`:n}function _5(e=[],{keyPrefix:t="select-option",includeHint:n=!1}={}){return M5(e).map((r,o)=>{let a=r.options.map(i=>(0,S.jsx)(kt,{value:i.value,searchText:`${i.label||""} ${i.value||""} ${i.hint||""} ${r.label||""}`,children:O5(i,{includeHint:n})},`${t}-${i.value}`));return r.label?(0,S.jsxs)(dl,{children:[(0,S.jsx)(Ds,{children:r.label}),a]},`${t}-group-${r.key||o}`):a})}function k5({className:e=""}){return(0,S.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:[(0,S.jsx)("path",{d:"M6 3.5h5.25L15 7.25V16A1.5 1.5 0 0 1 13.5 17.5h-7A1.5 1.5 0 0 1 5 16V5A1.5 1.5 0 0 1 6.5 3.5H6Z"}),(0,S.jsx)("path",{d:"M11 3.5V7.5H15"}),(0,S.jsx)("path",{d:"M7 12.25a3 3 0 1 1 2.85 2.99"}),(0,S.jsx)("path",{d:"M8.5 10.25h1.5v1.5"})]})}function bT({bindingValue:e="",thinkingLevel:t="",configFilePath:n="",endpointUrl:r=""}={}){let o=String(e||"").trim(),a=String(t||"").trim(),i=String(n||"").trim(),l=String(r||"").trim(),s=Tf(o),c=s?"Mode: Inherit Codex model":o?`Mode: Pinned to ${o}`:"Mode: Choose a route",d=s?{variant:"success",title:"Inherit mode keeps Codex-native model picks intact.",body:(0,S.jsxs)(S.Fragment,{children:["Codex CLI still chooses its own model name. Create a same-name alias in the ",(0,S.jsx)("span",{className:"font-medium",children:"Alias & Fallback"})," tab so LLM Router can resolve that name to the real upstream target you want."]})}:o?{variant:"info",title:"Pinned mode forces one router target.",body:(0,S.jsxs)(S.Fragment,{children:["LLM Router writes ",(0,S.jsxs)("code",{children:["model=",o]})," into Codex CLI config. That is the simplest setup when every Codex session should use one managed route or alias."]})}:{variant:"warning",title:"Choose your model strategy before you connect.",body:(0,S.jsxs)(S.Fragment,{children:["Pick ",(0,S.jsx)("span",{className:"font-medium",children:"Inherit Codex CLI model"})," if Codex should keep using its built-in model names, or pick one managed route/alias if you want a single fixed target."]})};return{title:"Codex CLI guide",description:"Quick setup for routing Codex CLI through LLM Router while keeping model routing easy to inspect and change later.",badges:[{label:c,variant:s?"success":o?"info":"outline"},{label:a?`Thinking: ${a}`:"Thinking: Codex default",variant:"outline"},{label:i?"Config file detected":"User config: ~/.codex/config.toml",variant:"outline"}],callout:d,highlights:[{eyebrow:"1. Connect",title:"Point Codex CLI at LLM Router",body:l?(0,S.jsxs)(S.Fragment,{children:["When connected, Codex sends requests to ",(0,S.jsx)("code",{children:l}),". LLM Router then handles upstream auth, alias resolution, and failover."]}):(0,S.jsxs)(S.Fragment,{children:["Click ",(0,S.jsx)("span",{className:"font-medium",children:"Connect"})," to patch Codex CLI so it talks to LLM Router instead of a provider directly."]})},{eyebrow:"2. Route",title:"Choose between inherit and pinned mode",body:s?(0,S.jsxs)(S.Fragment,{children:["Keep Codex model names such as ",(0,S.jsx)("code",{children:"gpt-5.4"}),", then create matching aliases in LLM Router, for example ",(0,S.jsx)("code",{children:"gpt-5.4"})," -> ",(0,S.jsx)("code",{children:"demo/gpt-4o-mini"}),"."]}):(0,S.jsxs)(S.Fragment,{children:["Select one managed route or alias in ",(0,S.jsx)("span",{className:"font-medium",children:"Default model"})," when you want every Codex request to land on the same router target."]})},{eyebrow:"3. Tune",title:"Optional reasoning control",body:(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)("span",{className:"font-medium",children:"Thinking level"})," writes Codex CLI ",(0,S.jsx)("code",{children:"model_reasoning_effort"})," with the official values ",(0,S.jsx)("code",{children:"minimal"}),", ",(0,S.jsx)("code",{children:"low"}),", ",(0,S.jsx)("code",{children:"medium"}),", ",(0,S.jsx)("code",{children:"high"}),", or ",(0,S.jsx)("code",{children:"xhigh"}),"."]})}],sections:[{title:"Quick start",items:[(0,S.jsxs)(S.Fragment,{children:["Set a ",(0,S.jsx)("code",{children:"masterKey"})," in LLM Router first. The ",(0,S.jsx)("span",{className:"font-medium",children:"Connect"})," button stays disabled until gateway auth is ready."]}),(0,S.jsxs)(S.Fragment,{children:["Click ",(0,S.jsx)("span",{className:"font-medium",children:"Connect"})," to patch the Codex CLI config file and router base URL."]}),s?(0,S.jsxs)(S.Fragment,{children:["Leave ",(0,S.jsx)("span",{className:"font-medium",children:"Default model"})," on ",(0,S.jsx)("span",{className:"font-medium",children:"Inherit Codex CLI model"}),", then create aliases that match the Codex model names you actually use."]}):o?(0,S.jsxs)(S.Fragment,{children:["Your current default is pinned to ",(0,S.jsx)("code",{children:o}),". Change it only when you want Codex to use a different managed route or alias."]}):(0,S.jsxs)(S.Fragment,{children:["Choose either ",(0,S.jsx)("span",{className:"font-medium",children:"Inherit Codex CLI model"})," or one managed route/alias in ",(0,S.jsx)("span",{className:"font-medium",children:"Default model"})," before you start using Codex through the router."]}),(0,S.jsxs)(S.Fragment,{children:["Set ",(0,S.jsx)("span",{className:"font-medium",children:"Thinking level"})," only when you want LLM Router to write ",(0,S.jsx)("code",{children:"model_reasoning_effort"}),"; leave it unset to keep Codex CLI defaults."]})]},{title:"Choose the right model strategy",items:[(0,S.jsxs)(S.Fragment,{children:["Use ",(0,S.jsx)("span",{className:"font-medium",children:"Inherit Codex CLI model"})," when you want Codex-native model names and model-specific UI/options to remain visible."]}),(0,S.jsx)(S.Fragment,{children:"Use a fixed route or alias when your team wants one centrally managed target regardless of what Codex would otherwise choose."}),(0,S.jsx)(S.Fragment,{children:"If Codex-specific options disappear after pinning a route, switch back to inherit mode and route those same model names through aliases instead."})]},{title:"Where these settings land",items:[i?(0,S.jsxs)(S.Fragment,{children:["This page is currently managing ",(0,S.jsx)("code",{children:i}),"."]}):(0,S.jsxs)(S.Fragment,{children:["Codex CLI usually stores user settings in ",(0,S.jsx)("code",{children:"~/.codex/config.toml"}),". Trusted projects can also add overrides in ",(0,S.jsx)("code",{children:".codex/config.toml"}),"."]}),(0,S.jsxs)(S.Fragment,{children:["The router-managed bindings in this panel map to Codex CLI ",(0,S.jsx)("code",{children:"model"})," and ",(0,S.jsx)("code",{children:"model_reasoning_effort"}),"."]}),(0,S.jsxs)(S.Fragment,{children:["Use ",(0,S.jsx)("span",{className:"font-medium",children:"Open Codex CLI Config File"})," whenever you want to inspect the exact generated config."]})]},{title:"Quick verify",items:[(0,S.jsx)(S.Fragment,{children:"Open the config file from this page and confirm the values match the mode you intended."}),(0,S.jsx)(S.Fragment,{children:"Start Codex CLI and run a small prompt. If inherit mode is on, make sure the Codex model you selected has a same-name alias in LLM Router."}),(0,S.jsxs)(S.Fragment,{children:["If requests fail after switching models, check the ",(0,S.jsx)("span",{className:"font-medium",children:"Alias & Fallback"})," tab first because the alias behind that model name may be missing or pointed at the wrong target."]})]}]}}function xT({bindings:e={},settingsFilePath:t="",endpointUrl:n=""}={}){let r=String(e?.primaryModel||"").trim(),o=String(e?.defaultOpusModel||"").trim(),a=String(e?.defaultSonnetModel||"").trim(),i=String(e?.defaultHaikuModel||"").trim(),l=String(e?.subagentModel||"").trim(),s=VA(e?.thinkingLevel),c=String(t||"").trim(),d=String(n||"").trim(),u=[r,o,a,i,l,s].filter(Boolean).length,f=r?{variant:"info",title:"Primary model override is active.",body:(0,S.jsxs)(S.Fragment,{children:["LLM Router is currently writing ",(0,S.jsxs)("code",{children:["ANTHROPIC_MODEL=",r]}),". Leave that field blank if you want Claude Code to keep choosing its own primary model."]})}:u>0?{variant:"info",title:"Only filled fields are overridden.",body:(0,S.jsx)(S.Fragment,{children:"Claude Code continues to inherit its normal defaults for every blank field. This is useful when you only want to steer alias models, subagents, or effort level through LLM Router."})}:{variant:"success",title:"Blank fields are a valid setup.",body:(0,S.jsx)(S.Fragment,{children:"You do not need to fill every binding. Leave fields empty unless you want LLM Router to override that specific Claude Code setting."})};return{title:"Claude Code guide",description:"Quick setup for routing Claude Code through LLM Router while keeping only the model and effort level overrides you actually want.",badges:[{label:u>0?`${u} override${u===1?"":"s"} active`:"No router overrides",variant:u>0?"info":"outline"},{label:s?`Effort: ${s}`:"Effort: Claude adaptive default",variant:"outline"},{label:c?"Settings file detected":"Settings scope: local/project/user",variant:"outline"}],callout:f,highlights:[{eyebrow:"1. Connect",title:"Point Claude Code at the router",body:d?(0,S.jsxs)(S.Fragment,{children:["When connected, Claude Code sends requests to ",(0,S.jsx)("code",{children:d}),". LLM Router then handles upstream auth, route selection, and failover."]}):(0,S.jsxs)(S.Fragment,{children:["Click ",(0,S.jsx)("span",{className:"font-medium",children:"Connect"})," to patch Claude Code so it uses the router Anthropic endpoint instead of a provider directly."]})},{eyebrow:"2. Override",title:"Set only the bindings you need",body:(0,S.jsxs)(S.Fragment,{children:["Leave fields blank to inherit Claude Code defaults. Fill ",(0,S.jsx)("code",{children:"ANTHROPIC_MODEL"}),", the Opus/Sonnet/Haiku defaults, or ",(0,S.jsx)("code",{children:"CLAUDE_CODE_SUBAGENT_MODEL"})," only when you want LLM Router to manage those values."]})},{eyebrow:"3. Effort",title:"Set thinking effort level",body:(0,S.jsxs)(S.Fragment,{children:["The ",(0,S.jsx)("span",{className:"font-medium",children:"Effort level"})," dropdown writes ",(0,S.jsx)("code",{children:"CLAUDE_CODE_EFFORT_LEVEL"})," to your shell profile. If the shell profile cannot be updated, ",(0,S.jsx)("code",{children:"effortLevel"})," is set in ",(0,S.jsx)("code",{children:"settings.json"}),' as a fallback (only "high" is supported there).']})}],sections:[{title:"Quick start",items:[(0,S.jsxs)(S.Fragment,{children:["Click ",(0,S.jsx)("span",{className:"font-medium",children:"Connect"})," to patch Claude Code toward the router and keep provider credentials centralized inside LLM Router."]}),(0,S.jsxs)(S.Fragment,{children:["Leave ",(0,S.jsx)("span",{className:"font-medium",children:"Current model override"})," empty unless you explicitly want to replace Claude Code's own main model selection."]}),(0,S.jsxs)(S.Fragment,{children:["Use ",(0,S.jsx)("span",{className:"font-medium",children:"Default Opus"}),", ",(0,S.jsx)("span",{className:"font-medium",children:"Default Sonnet"}),", and ",(0,S.jsx)("span",{className:"font-medium",children:"Default Haiku"})," when you want Claude Code's built-in alias names to resolve to managed routes or aliases."]}),(0,S.jsxs)(S.Fragment,{children:["Use ",(0,S.jsx)("span",{className:"font-medium",children:"Sub-agent model"})," when background workers or helper agents should run on a different route than the main session."]}),(0,S.jsxs)(S.Fragment,{children:["Use ",(0,S.jsx)("span",{className:"font-medium",children:"Effort level"})," to set ",(0,S.jsx)("code",{children:"CLAUDE_CODE_EFFORT_LEVEL"})," in your shell profile; leave it unset to keep Claude Code's adaptive default. The ",(0,S.jsx)("code",{children:"effortLevel"})," key in ",(0,S.jsx)("code",{children:"settings.json"}),' (only "high") acts as a fallback when the shell profile cannot be updated.']})]},{title:"What each binding controls",items:[(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)("code",{children:"ANTHROPIC_MODEL"}),": overrides the main model for the active Claude Code session."]}),(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)("code",{children:"ANTHROPIC_DEFAULT_OPUS_MODEL"}),", ",(0,S.jsx)("code",{children:"ANTHROPIC_DEFAULT_SONNET_MODEL"}),", and ",(0,S.jsx)("code",{children:"ANTHROPIC_DEFAULT_HAIKU_MODEL"}),": remap Claude Code's built-in alias names to managed routes or aliases."]}),(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)("code",{children:"CLAUDE_CODE_SUBAGENT_MODEL"}),": routes subagents and background workers to a specific managed model."]}),s?(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)("code",{children:"CLAUDE_CODE_EFFORT_LEVEL"}),": currently set to ",(0,S.jsx)("span",{className:"font-medium",children:s})," in your shell profile."]}):(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)("code",{children:"CLAUDE_CODE_EFFORT_LEVEL"}),": stays unset unless you choose an effort level."]})]},{title:"Settings scope and precedence",items:[(0,S.jsxs)(S.Fragment,{children:["Claude Code settings apply in this order: ",(0,S.jsx)("code",{children:"managed-settings.json"}),", CLI arguments, ",(0,S.jsx)("code",{children:".claude/settings.local.json"}),", ",(0,S.jsx)("code",{children:".claude/settings.json"}),", then ",(0,S.jsx)("code",{children:"~/.claude/settings.json"}),"."]}),c?(0,S.jsxs)(S.Fragment,{children:["This page is currently managing ",(0,S.jsx)("code",{children:c}),"."]}):(0,S.jsx)(S.Fragment,{children:"Claude Code can read from project-local, project-shared, or user settings files depending on what exists in your environment."}),(0,S.jsx)(S.Fragment,{children:"If a value seems ignored, check whether a higher-precedence file or command-line flag is overriding it."})]},{title:"Quick verify",items:[(0,S.jsxs)(S.Fragment,{children:["Open the settings file from this page and confirm the ",(0,S.jsx)("code",{children:"env"})," block contains only the overrides you meant to set."]}),(0,S.jsxs)(S.Fragment,{children:["Launch Claude Code and test both the main session and any subagents if you changed ",(0,S.jsx)("code",{children:"CLAUDE_CODE_SUBAGENT_MODEL"}),"."]}),(0,S.jsxs)(S.Fragment,{children:["If thinking behavior is not what you expected, remember this UI writes ",(0,S.jsx)("code",{children:"CLAUDE_CODE_EFFORT_LEVEL"})," to your shell profile; clearing the field returns control to Claude Code's own default behavior."]})]}]}}function ST({bindings:e={},settingsFilePath:t="",endpointUrl:n=""}={}){let r=String(e?.defaultModel||"").trim(),o=String(e?.missionOrchestratorModel||"").trim(),a=String(e?.missionWorkerModel||"").trim(),i=String(e?.missionValidatorModel||"").trim(),l=HA(e?.reasoningEffort),s=String(t||"").trim(),c=String(n||"").trim(),d=r||o||a||i?{variant:"info",title:"Factory defaults are set.",body:(0,S.jsxs)(S.Fragment,{children:["LLM Router injects router-managed ",(0,S.jsx)("code",{children:"customModels"})," entries, sets each managed provider to ",(0,S.jsx)("code",{children:"openai"})," or ",(0,S.jsx)("code",{children:"anthropic"})," based on the routed model format, and writes separate defaults for normal sessions and Missions."]})}:{variant:"success",title:"Factory Droid connected via managed custom models.",body:(0,S.jsxs)(S.Fragment,{children:["LLM Router injects router-managed ",(0,S.jsx)("code",{children:"customModels"})," entries pointing at the gateway. Set normal or Mission defaults below, or use Factory Droid's ",(0,S.jsx)("code",{children:"/model"})," command to pick the routed model at runtime."]})};return{title:"Factory Droid guide",description:"Quick setup for routing Factory Droid through LLM Router via router-managed custom models.",badges:[{label:r?`Normal: ${r}`:"Normal: Factory default",variant:r?"info":"outline"},{label:o?`Orchestrator: ${o}`:"Orchestrator: Factory default",variant:o?"info":"outline"},{label:a?`Worker: ${a}`:"Worker: Factory default",variant:a?"info":"outline"},{label:i?`Validator: ${i}`:"Validator: Factory default",variant:i?"info":"outline"},{label:l?`Reasoning: ${l}`:"Reasoning: Droid default",variant:"outline"},{label:s?"Settings file detected":"User config: ~/.factory/settings.json",variant:"outline"}],callout:d,highlights:[{eyebrow:"1. Connect",title:"Point Factory Droid at LLM Router",body:c?(0,S.jsxs)(S.Fragment,{children:["When connected, Factory Droid sends requests to ",(0,S.jsx)("code",{children:c}),". LLM Router handles upstream auth, alias resolution, and failover."]}):(0,S.jsxs)(S.Fragment,{children:["Click ",(0,S.jsx)("span",{className:"font-medium",children:"Connect"})," to inject router-managed custom models into Factory Droid settings."]})},{eyebrow:"2. Route",title:"Set normal and Mission defaults",body:(0,S.jsxs)(S.Fragment,{children:["Use ",(0,S.jsx)("span",{className:"font-medium",children:"Normal mode model"})," for regular sessions, then set separate Mission bindings for the orchestrator, worker, and validator roles."]})},{eyebrow:"3. Tune",title:"Optional reasoning control",body:(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)("span",{className:"font-medium",children:"Reasoning effort"})," writes Factory Droid ",(0,S.jsx)("code",{children:"reasoningEffort"}),". Values: ",(0,S.jsx)("code",{children:"off"}),", ",(0,S.jsx)("code",{children:"none"}),", ",(0,S.jsx)("code",{children:"low"}),", ",(0,S.jsx)("code",{children:"medium"}),", or ",(0,S.jsx)("code",{children:"high"}),"."]})}],sections:[{title:"Quick start",items:[(0,S.jsxs)(S.Fragment,{children:["Set a ",(0,S.jsx)("code",{children:"masterKey"})," in LLM Router first. The ",(0,S.jsx)("span",{className:"font-medium",children:"Connect"})," button stays disabled until gateway auth is ready."]}),(0,S.jsxs)(S.Fragment,{children:["Click ",(0,S.jsx)("span",{className:"font-medium",children:"Connect"})," to inject a managed ",(0,S.jsx)("code",{children:"customModels"})," entry into ",(0,S.jsx)("code",{children:"~/.factory/settings.json"}),"."]}),r?(0,S.jsxs)(S.Fragment,{children:["Your normal-session default is ",(0,S.jsx)("code",{children:r}),". Change it any time from this panel."]}):(0,S.jsxs)(S.Fragment,{children:["Choose a managed route or alias in ",(0,S.jsx)("span",{className:"font-medium",children:"Normal mode model"})," to set the default Factory session route."]}),o?(0,S.jsxs)(S.Fragment,{children:["Your Mission orchestrator default is ",(0,S.jsx)("code",{children:o}),"."]}):(0,S.jsxs)(S.Fragment,{children:["Set ",(0,S.jsx)("span",{className:"font-medium",children:"Mission orchestrator"})," when mission planning should use a specific route."]}),a?(0,S.jsxs)(S.Fragment,{children:["Your Mission worker default is ",(0,S.jsx)("code",{children:a}),"."]}):(0,S.jsxs)(S.Fragment,{children:["Set ",(0,S.jsx)("span",{className:"font-medium",children:"Mission worker"})," when implementation workers should use a specific route."]}),i?(0,S.jsxs)(S.Fragment,{children:["Your Mission validator default is ",(0,S.jsx)("code",{children:i}),"."]}):(0,S.jsxs)(S.Fragment,{children:["Set ",(0,S.jsx)("span",{className:"font-medium",children:"Mission validator"})," when validation workers should use a specific route."]}),(0,S.jsxs)(S.Fragment,{children:["Set ",(0,S.jsx)("span",{className:"font-medium",children:"Reasoning effort"})," only when you want LLM Router to write ",(0,S.jsx)("code",{children:"reasoningEffort"}),"; leave it unset to keep Factory Droid defaults."]})]},{title:"How it works",items:[(0,S.jsxs)(S.Fragment,{children:["LLM Router adds router-managed ",(0,S.jsx)("code",{children:"customModels"})," entries with ",(0,S.jsx)("code",{children:'provider: "openai"'})," or ",(0,S.jsx)("code",{children:'provider: "anthropic"'}),", plus the matching gateway base URL for that request format."]}),(0,S.jsxs)(S.Fragment,{children:["Each injected entry has a ",(0,S.jsx)("code",{children:"_llmRouterManaged"})," marker so it can be cleanly updated or removed without touching your other custom models."]}),(0,S.jsxs)(S.Fragment,{children:["The router-managed bindings map to both the legacy root ",(0,S.jsx)("code",{children:"model"})," field and current Factory settings such as ",(0,S.jsx)("code",{children:"sessionDefaultSettings.model"}),", ",(0,S.jsx)("code",{children:"missionOrchestratorModel"}),", and ",(0,S.jsx)("code",{children:"missionModelSettings"}),"."]}),(0,S.jsx)(S.Fragment,{children:"Disconnecting removes only the router-managed entries and restores any backed-up session, Mission, or reasoning settings."})]},{title:"Where these settings land",items:[s?(0,S.jsxs)(S.Fragment,{children:["This page is managing ",(0,S.jsx)("code",{children:s}),"."]}):(0,S.jsxs)(S.Fragment,{children:["Factory Droid stores user settings in ",(0,S.jsx)("code",{children:"~/.factory/settings.json"}),"."]}),(0,S.jsxs)(S.Fragment,{children:["The normal-session binding maps to ",(0,S.jsx)("code",{children:"sessionDefaultSettings.model"})," and the legacy root ",(0,S.jsx)("code",{children:"model"})," field."]}),(0,S.jsxs)(S.Fragment,{children:["The Mission orchestrator binding maps to ",(0,S.jsx)("code",{children:"missionOrchestratorModel"}),"."]}),(0,S.jsxs)(S.Fragment,{children:["The Mission worker binding maps to ",(0,S.jsx)("code",{children:"missionModelSettings.workerModel"}),"."]}),(0,S.jsxs)(S.Fragment,{children:["The Mission validator binding maps to ",(0,S.jsx)("code",{children:"missionModelSettings.validationWorkerModel"}),"."]}),(0,S.jsxs)(S.Fragment,{children:["Use ",(0,S.jsx)("span",{className:"font-medium",children:"Open Config File"})," to inspect the generated settings."]})]},{title:"Quick verify",items:[(0,S.jsxs)(S.Fragment,{children:["Open the settings file from this page and confirm the ",(0,S.jsx)("code",{children:"customModels"})," array contains the LLM Router entry."]}),(0,S.jsxs)(S.Fragment,{children:["Launch Factory Droid and run a small prompt. Use ",(0,S.jsx)("code",{children:"/model"})," to confirm the routed model is available."]}),(0,S.jsxs)(S.Fragment,{children:["If requests fail, check the ",(0,S.jsx)("span",{className:"font-medium",children:"Alias & Fallback"})," tab first to ensure the alias behind your model exists."]})]}]}}function L5(e="outline"){switch(e){case"success":return"border-emerald-200 bg-emerald-50";case"warning":return"border-amber-200 bg-amber-50";case"danger":return"border-rose-200 bg-rose-50";case"info":return"border-sky-200 bg-sky-50";default:return"border-border/70 bg-background/70"}}function vT(e="outline"){switch(e){case"success":return"text-emerald-950";case"warning":return"text-amber-950";case"danger":return"text-rose-950";case"info":return"text-sky-950";default:return"text-foreground"}}function D5({guideContent:e}){let[t,n]=(0,Ru.useState)(!1),r=String(e?.title||"").trim()||"Guide",o=String(e?.description||"").trim(),a=Array.isArray(e?.badges)?e.badges.filter(Boolean):[],i=Array.isArray(e?.highlights)?e.highlights.filter(Boolean):[],l=Array.isArray(e?.sections)?e.sections.filter(Boolean):[],s=e?.callout&&e.callout.body?e.callout:null,c=s?.variant||"outline";return i.length===0&&l.length===0&&!s?null:(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(q,{type:"button",size:"sm",variant:"outline","aria-label":r,onClick:()=>n(!0),children:"Guide"}),(0,S.jsx)(Jn,{open:t,onClose:()=>n(!1),title:r,description:o,contentClassName:"max-h-[92vh] max-w-4xl rounded-2xl border border-border/70 bg-background/98 shadow-[0_32px_120px_rgba(15,23,42,0.48)]",bodyClassName:"max-h-[calc(92vh-5.5rem)]",children:(0,S.jsxs)("div",{className:"space-y-4",children:[a.length>0?(0,S.jsx)("div",{className:"flex flex-wrap items-center gap-2",children:a.map((d,u)=>(0,S.jsx)(Je,{variant:d?.variant||"outline",children:d?.label},`${r}-badge-${u}`))}):null,s?(0,S.jsxs)("div",{className:$("rounded-2xl border p-4",L5(c)),children:[(0,S.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,S.jsx)(Je,{variant:["success","warning","danger","info"].includes(c)?c:"outline",children:c==="success"?"Current best fit":c==="warning"?"Needs attention":c==="info"?"Current behavior":"Guide note"}),(0,S.jsx)("div",{className:$("text-sm font-medium",vT(c)),children:s.title})]}),(0,S.jsx)("div",{className:$("mt-3 text-sm leading-6",vT(c)),children:s.body})]}):null,i.length>0?(0,S.jsx)("div",{className:$("grid gap-4",i.length>2?"md:grid-cols-3":"md:grid-cols-2"),children:i.map((d,u)=>(0,S.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/70 p-4",children:[d?.eyebrow?(0,S.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:d.eyebrow}):null,(0,S.jsx)("div",{className:"mt-2 text-sm font-medium text-foreground",children:d?.title}),(0,S.jsx)("div",{className:"mt-2 text-sm leading-6 text-muted-foreground",children:d?.body})]},`${r}-highlight-${u}`))}):null,l.map((d,u)=>{let f=Array.isArray(d?.items)?d.items.filter(Boolean):[];return(0,S.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/70 p-4",children:[(0,S.jsx)("div",{className:"text-sm font-medium text-foreground",children:d?.title}),d?.description?(0,S.jsx)("div",{className:"mt-2 text-sm leading-6 text-muted-foreground",children:d.description}):null,f.length>0?(0,S.jsx)("div",{className:"mt-3 space-y-3",children:f.map((p,v)=>(0,S.jsxs)("div",{className:"flex gap-3 text-sm leading-6 text-foreground",children:[(0,S.jsx)("span",{className:"mt-2 h-1.5 w-1.5 shrink-0 rounded-full bg-foreground/50"}),(0,S.jsx)("div",{className:"min-w-0",children:p})]},`${r}-section-${u}-item-${v}`))}):null]},`${r}-section-${u}`)})]})})]})}function I5({field:e,routeOptions:t,disabled:n=!1,onValueChange:r}){let o=String(e?.value||"").trim()||(e?.allowUnset?"__unset__":""),a=(0,Ru.useMemo)(()=>{let i=e?.usesRouteOptions===!1?[]:t,l=Array.isArray(e?.options)?e.options:[],s=Array.isArray(e?.extraOptions)?e.extraOptions:[];return e?.allowUnset?[{value:"__unset__",label:"Inherit tool default",hint:""},...s,...l,...i]:[...s,...l,...i]},[e?.allowUnset,e?.extraOptions,e?.options,e?.usesRouteOptions,t]);return(0,S.jsxs)(tn,{value:o,onValueChange:r,disabled:n||a.length===0,children:[(0,S.jsx)(nn,{children:(0,S.jsx)(rn,{placeholder:e.placeholder||"Select a route"})}),(0,S.jsx)(on,{children:a.length>0?_5(a,{keyPrefix:e.id||"binding-option"}):(0,S.jsx)(kt,{value:"__no-route-options",disabled:!0,children:"No routes available"})})]})}function Im({toolName:e,toolState:t,endpointUrl:n,routeOptions:r,connectionBusy:o,bindingBusy:a,onToggleRouting:i,onBindingChange:l,hasMasterKey:s,disabledReason:c,onOpenPrimaryPath:d,onOpenSecondaryPath:u,secondaryPathLabel:f="Backup file",secondaryPathIcon:p=(0,S.jsx)(k5,{className:"h-3 w-3"}),bindingFields:v=[],guideContent:m=null}){let b=t?.routedViaRouter===!0,h=String(t?.error||"").trim(),g=!!(s&&n&&!c&&!h),y=(0,Ru.useMemo)(()=>{let w=new Set(["__unset__"]);for(let R of v){for(let E of Array.isArray(R?.extraOptions)?R.extraOptions:[]){let A=String(E?.value||"").trim();A&&w.add(A)}for(let E of Array.isArray(R?.options)?R.options:[]){let A=String(E?.value||"").trim();A&&w.add(A)}}return v.filter(R=>R?.usesRouteOptions!==!1).map(R=>String(R?.value||"").trim()).filter(R=>R&&!w.has(R))},[v]),x=N5(r,y);return(0,S.jsxs)(Ft,{children:[(0,S.jsxs)(Wr,{className:"flex flex-col gap-3 p-4 pb-0 sm:flex-row sm:items-start sm:justify-between",children:[(0,S.jsxs)("div",{className:"space-y-2",children:[(0,S.jsx)(Oo,{className:"flex items-center gap-2",children:(0,S.jsx)("span",{children:`Use ${e} via LLM Router`})}),(0,S.jsx)(_m,{primaryLabel:"Config file",primaryValue:t?.configFilePath||t?.settingsFilePath||"",onOpenPrimary:d,secondaryLabel:f,secondaryValue:t?.backupFilePath||"",secondaryIcon:p,onOpenSecondary:u})]}),(0,S.jsxs)("div",{className:"flex shrink-0 flex-wrap items-center gap-2",children:[m?(0,S.jsx)(D5,{guideContent:m}):null,(0,S.jsx)(q,{type:"button",size:"sm",variant:b?"outline":void 0,onClick:i,disabled:o!==""||!b&&!g,children:o==="enable"?"Connecting\u2026":o==="disable"?"Disconnecting\u2026":b?"Disconnect":"Connect"})]})]}),(0,S.jsxs)(Kt,{className:"space-y-4 p-4",children:[h?(0,S.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-900",children:h}):null,!b&&!s?(0,S.jsxs)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-800",children:["Set ",(0,S.jsx)("code",{children:"masterKey"})," first to connect ",e,"."]}):null,c?(0,S.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-800",children:c}):null,(0,S.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/60 p-4",children:[(0,S.jsx)("div",{children:(0,S.jsxs)("div",{children:[(0,S.jsx)("div",{className:"text-sm font-medium text-foreground",children:"Model bindings"}),(0,S.jsx)("div",{className:"mt-1 text-xs text-muted-foreground",children:"Prefer LLM Router aliases here so you can retarget models later from the Alias & Fallback tab."})]})}),v.length===0?(0,S.jsx)("div",{className:"mt-4 rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-800",children:"No tool bindings are available yet."}):(0,S.jsx)("div",{className:"mt-4 grid gap-3",children:v.map(w=>(0,S.jsxs)("div",{className:"rounded-xl border border-border/70 bg-background/80 p-3",children:[(0,S.jsxs)("div",{className:"mb-2 flex flex-wrap items-center justify-between gap-2",children:[(0,S.jsx)("div",{className:"text-sm font-medium text-foreground",children:w.label}),(0,S.jsx)(Je,{variant:"outline",children:w.envKey})]}),(0,S.jsx)("div",{className:"mb-3 text-xs leading-5 text-muted-foreground",children:w.description}),(0,S.jsx)(I5,{field:w,routeOptions:x,disabled:w.standaloneWhenDisconnected?a:!b||a,onValueChange:R=>l(w.id,R==="__unset__"?"":R)})]},w.id))})]})]})]})}var wt=_(J(),1);function wT({logs:e,activityLogEnabled:t=!0,activityFilter:n="usage",busyAction:r="",onActivityFilterChange:o,onToggleEnabled:a,onClear:i}){let l=Array.isArray(e)?e:[],s=l.filter(d=>n==="all"?!0:ty(d)===n),c=Xc[n]||Xc.usage;return(0,wt.jsxs)(Ft,{children:[(0,wt.jsx)(Wr,{children:(0,wt.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between",children:[(0,wt.jsxs)("div",{className:"space-y-1",children:[(0,wt.jsx)(Oo,{children:"Activity"}),(0,wt.jsx)(ii,{children:t?"Router actions, request fallbacks, and runtime issues stream here.":"Activity logging is paused. Re-enable it to capture router actions, request fallbacks, and runtime issues."})]}),(0,wt.jsxs)("div",{className:"flex shrink-0 flex-wrap items-center gap-2",children:[(0,wt.jsx)("div",{className:"min-w-[13rem]",children:(0,wt.jsxs)(tn,{value:n,onValueChange:o,searchEnabled:!1,children:[(0,wt.jsx)(nn,{children:(0,wt.jsx)(rn,{placeholder:"Filter category"})}),(0,wt.jsx)(on,{children:FA.map(d=>(0,wt.jsx)(kt,{value:d.value,children:d.label},d.value))})]})}),(0,wt.jsx)(q,{type:"button",size:"sm",variant:"outline",onClick:i,disabled:r!==""||!e?.length,children:r==="clear"?"Clearing\u2026":"Clear log"}),(0,wt.jsx)(q,{type:"button",size:"sm",variant:t?"outline":"default",onClick:a,disabled:r!=="",children:r==="toggle"?"Updating\u2026":t?"Disable log":"Enable log"})]})]})}),(0,wt.jsx)(Kt,{children:(0,wt.jsx)("div",{className:"max-h-[32rem] space-y-3 overflow-auto pr-1",children:s.length?s.map(d=>{let u=ty(d),f=Xc[u]||Xc.usage;return(0,wt.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/80 px-4 py-3",children:[(0,wt.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,wt.jsxs)("div",{className:"flex items-center gap-2",children:[(0,wt.jsx)("span",{className:$("inline-flex h-2.5 w-2.5 rounded-full ring-4",Yh[d.level]||Yh.info)}),(0,wt.jsx)(Je,{variant:f.badgeVariant,children:f.label}),(0,wt.jsx)("span",{className:"text-sm font-medium text-foreground",children:d.message})]}),(0,wt.jsx)("span",{className:"text-xs text-muted-foreground",children:Cs(d.time)})]}),d.detail?(0,wt.jsx)("div",{className:"mt-2 text-sm leading-6 text-muted-foreground",children:d.detail}):null]},d.id)}):l.length?(0,wt.jsxs)("div",{className:"rounded-2xl border border-dashed border-border px-4 py-6 text-sm text-muted-foreground",children:["No ",c.emptyLabel," activity matches the current filter. Switch the dropdown to inspect the hidden categories."]}):(0,wt.jsx)("div",{className:"rounded-2xl border border-dashed border-border px-4 py-6 text-sm text-muted-foreground",children:"Activity is quiet. Save config changes or start the router to populate this stream."})})})]})}var Tt=_(pe(),1);var dv=_(pe(),1);var un=_(J(),1);function AT({rows:e,onChange:t}){let n=Hf(e),r=n.length>0?n:[{name:"",value:""}];function o(l,s,c){s==="name"&&mC(r,c,l)||t(r.map((d,u)=>u===l?{...d,[s]:c}:d))}function a(){t([...r,{name:"",value:""}])}function i(l){let s=r.filter((c,d)=>d!==l);t(s.length>0?s:[{name:"",value:""}])}return(0,un.jsxs)("div",{className:"space-y-2",children:[r.map((l,s)=>(0,un.jsxs)("div",{className:"grid gap-2 md:grid-cols-[minmax(0,0.9fr)_minmax(0,1.3fr)_auto]",children:[(0,un.jsx)(St,{value:l.name,onChange:c=>o(s,"name",c.target.value),placeholder:s===0?"User-Agent":"Header name"}),(0,un.jsx)(St,{value:l.value,onChange:c=>o(s,"value",c.target.value),placeholder:s===0?Zr:"Header value"}),(0,un.jsx)(q,{type:"button",variant:"ghost",onClick:()=>i(s),children:"Remove"})]},`header-row-${s}`)),(0,un.jsxs)("div",{className:"flex items-center justify-between gap-3 text-xs text-muted-foreground",children:[(0,un.jsx)("span",{children:"User-Agent is included by default. Add more only when a provider needs them."}),(0,un.jsx)(q,{type:"button",variant:"outline",onClick:a,children:"Add custom header"})]})]})}function CT({providerId:e,values:t,onChange:n}){let r=(t||[]).map(u=>String(u||"").trim()).filter(Boolean),o=Bs(r),a=(0,dv.useRef)(""),i=(0,dv.useRef)(null);function l(u){n((t||[]).filter(f=>f!==u))}function s(u,f){if(!u||!f||u===f)return;let p=[...t||[]],v=p.indexOf(u),m=p.indexOf(f);if(v===-1||m===-1)return;let[b]=p.splice(v,1);p.splice(m,0,b),n(p)}function c(u){n(Ss(t||[],u,f=>String(f||"").trim()))}function d(){a.current="",xa(i.current,!1),i.current=null}return(0,un.jsxs)("div",{className:"space-y-2",children:[(0,un.jsx)("div",{className:"space-y-2 rounded-xl border border-input bg-background/80 px-3 py-3",children:r.length>0?r.map((u,f)=>(0,un.jsxs)("div",{ref:o(u),"data-reorder-row":"true",onDragOver:p=>{a.current&&a.current!==u&&(p.preventDefault(),p.dataTransfer.dropEffect="move")},onDrop:p=>{p.preventDefault();let v=p.dataTransfer.getData("text/plain")||a.current;d(),s(v,u)},className:$("grid grid-cols-[auto_auto_minmax(0,1fr)_auto] items-center gap-2 rounded-xl border border-border/70 bg-card/90 p-3"),children:[(0,un.jsx)("span",{className:"flex h-8 w-8 cursor-grab items-center justify-center rounded-full text-muted-foreground",draggable:!0,onDragStart:p=>{let v=ws(p.currentTarget);p.dataTransfer.effectAllowed="move",p.dataTransfer.setData("text/plain",u),v&&typeof p.dataTransfer?.setDragImage=="function"&&p.dataTransfer.setDragImage(v,20,20),d(),a.current=u,i.current=v,xa(v,!0)},onDragEnd:d,title:"Drag to reorder",children:(0,un.jsx)(bs,{className:"h-4 w-4"})}),(0,un.jsx)(Aa,{disabled:f===0,label:f===0?"Already first":`Move ${e}/${u} up`,onClick:()=>c(u)}),(0,un.jsxs)("span",{className:"truncate text-sm font-medium text-foreground",children:[e,"/",u]}),(0,un.jsx)("button",{className:"text-muted-foreground transition hover:text-foreground",type:"button",onMouseDown:p=>p.preventDefault(),onClick:()=>l(u),children:"\xD7"})]},u)):(0,un.jsxs)("span",{className:"block px-1 text-xs text-muted-foreground",children:["Leave it empty for now, or add models to back the fixed ",(0,un.jsx)("code",{children:"default"})," route. An empty default route returns 500 until you add a working model."]})}),(0,un.jsx)("div",{className:"text-xs text-muted-foreground",children:"Drag rows to change the preferred order, use the arrow to move a model earlier, or remove any models you do not want in this route."})]})}var k=_(J(),1);function fv({baseConfig:e,onApplyDraft:t,onValidateDraft:n,onSaveDraft:r,onSaveAndStart:o,seedMode:a="blank",mode:i="add",targetProviderId:l="",defaultProviderUserAgent:s=Zr,framed:c=!0,showHeader:d=!0}){let[u,f]=(0,Tt.useState)(0),[p,v]=(0,Tt.useState)(""),[m,b]=(0,Tt.useState)(()=>NC(e,{seedMode:a,targetProviderId:l,defaultProviderUserAgent:s})),[h,g]=(0,Tt.useState)(null),[y,x]=(0,Tt.useState)(""),[w,R]=(0,Tt.useState)({}),[E,A]=(0,Tt.useState)(!1),[N,L]=(0,Tt.useState)(null),[j,D]=(0,Tt.useState)(""),[W,ie]=(0,Tt.useState)(!1),[ye,V]=(0,Tt.useState)(""),ee=(0,Tt.useRef)(!0),Q=(0,Tt.useRef)(""),F=(0,Tt.useRef)(Math.random().toString(36).slice(2,10)),P=i==="edit",ct=!P&&a==="blank"&&Gf(e),X=`llr-qs-endpoint-${F.current}`,je=`llr-qs-endpoint-input-${F.current}`,le=`llr-qs-credential-${F.current}`,xe=`llr-qs-credential-input-${F.current}`,Ie=[{title:"Provider",detail:"Choose API Key or OAuth first, then enter the provider details needed for that connection type."},{title:"Models",detail:"Add model ids, then configure one or more rate limits for all models or selected models. API Key providers are tested before continue."},{title:"Default",detail:"Order the models behind the fixed `default` route before you finish."}],I=Qn(m.modelIds,m.modelDraft),ue=$f(m.aliasModelIds,I),ve=m.connectionType==="api"?Qn(m.endpoints,m.endpointDraft):[],ke=(0,Tt.useMemo)(()=>({...m,endpoints:ve,modelIds:I,aliasModelIds:ue,rateLimitRows:pr(m.rateLimitRows)}),[m,ve,I,ue]),Se=(0,Tt.useMemo)(()=>Ff(m.headerRows||[]),[m.headerRows]),Ce=String(m.apiKeyEnv||"").trim(),He=(0,Tt.useMemo)(()=>iy(ke),[ke]),Ke=N?.signature===He?N.result:null,an=Ke?.models?.length>0?Ke.models:cy(m.selectedConnection||"custom"),Hn=_r(m.providerId||m.providerName||"my-provider")||"my-provider",dn=uy(m),fn=JSON.stringify({connectionType:m.connectionType,selectedConnection:m.selectedConnection,subscriptionProfile:dn}),ln=I.filter(G=>w[G]==="error"),ut=I.filter(G=>w[G]==="success"),ze=I.some(G=>w[G]==="success"||w[G]==="error"),jt=I.length>0&&I.every(G=>w[G]==="success"),Xt=ut.length>0,Dn=ln.length>0,bo=I.some(G=>!w[G]||w[G]==="default"),Re=h?.signature===He?h.result:null,Ze=m.connectionType!=="api"||Xt,dt=(0,Tt.useMemo)(()=>MC(e,ke,Re,{targetProviderId:l}),[e,ke,Re,l]),Fo=(0,Tt.useMemo)(()=>`${JSON.stringify(dt,null,2)}
52
- `,[dt]),mt=xt,rt=Ie[u],Sn=OC(u,ke,e,{targetProviderId:l});(0,Tt.useEffect)(()=>{dC()},[]),(0,Tt.useEffect)(()=>{let G=Q.current!==""&&Q.current!==He;if(Q.current=He,G&&m.connectionType==="api"&&(R({}),g(null),x(""),ee.current=!0,A(!1)),m.connectionType!=="api"){h!==null&&g(null),y&&x(""),Object.keys(w).length>0&&R({}),N!==null&&L(null),j&&D("");return}N?.signature&&N.signature!==He&&(L(null),D(""))},[m.connectionType,He,h,y,w,N,j]);function M(G,Ue){b($e=>({...$e,[G]:Ue}))}function se(G){b(Ue=>{let $e=_r(Ue.providerName||""),Ge=_r(G||"")||"my-provider",An=!Ue.providerId||Ue.providerId===$e;return{...Ue,providerName:G,providerId:An?Ge:Ue.providerId}})}function Z(G){x(""),g(null),R({}),L(null),D(""),ee.current=!0,A(!1),Te(G,G==="api"?"custom":"oauth-gpt")}function Le(G){x(""),g(null),R({}),L(null),D(""),ee.current=!0,A(!1);let Ue=Or(G);Te(Ue.category,G)}function Te(G,Ue){b($e=>TC($e,{baseConfig:e,nextCategory:G,nextPresetKey:Ue,defaultProviderUserAgent:s}))}async function H({force:G=!1,silent:Ue=!1}={}){if(m.connectionType!=="api")return!1;if(ve.length===0||!Ce)return Ue||D("Add endpoints and an API key or env before checking the model list API."),!1;if(!G&&N?.signature===He)return!!(N?.result?.models||[]).length;ie(!0),Ue||D("");try{let $e=await Et("/api/config/discover-provider-models",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({endpoints:ve,...mo(Ce)?{apiKeyEnv:Ce}:{apiKey:Ce},...Object.keys(Se).length>0?{headers:Se}:{}})}),Ge=($e.result?.models||[]).map(Gt=>String(Gt||"").trim()).filter(Boolean),An={};if(Ge.length>0){let Gt=m.selectedConnection;if(Gt&&ru.set(Gt,Ge),sy(ve)){let Cn=await n1(ve[0]||"",Ce,Ge.filter(mn=>!mn.includes("embed")&&!mn.includes("tts")&&!mn.includes("image")&&!mn.includes("lyria")&&!mn.includes("veo")));Cn&&(Ge=Cn)}try{let Cn=await fu(Ge);An=t1(Cn)}catch{An={}}}let vr={...$e.result&&typeof $e.result=="object"?$e.result:{},modelContextWindows:An};if(L({signature:He,result:vr}),Ge.length>0)return b(Gt=>{if(iy(Gt)!==He||Gt.connectionType!=="api")return Gt;let Zt=Array.isArray(Gt.modelIds)?Gt.modelIds:[],Cn=G&&Zt.length>0?Array.from(new Set([...Zt,...Ge])):Zt.length>0?Zt:Ge,mn={...Gt.modelContextWindows&&typeof Gt.modelContextWindows=="object"?Gt.modelContextWindows:{},...An},hl=sy(Gt.endpoints),Ps=hl?RC(hl,Cn):null;return JSON.stringify(Cn)===JSON.stringify(Zt)&&JSON.stringify(mn)===JSON.stringify(Gt.modelContextWindows||{})&&!Ps?Gt:{...Gt,modelIds:Cn,modelContextWindows:mn,...Ps?{rateLimitRows:Ps}:{}}}),D(""),!0;let Nu=($e.result?.warnings||[]).join(" ")||"Model list API did not return any models. Add model ids manually if needed.";return D(Nu),!1}catch($e){let Ge=$e instanceof Error?$e.message:String($e);return D(Ge),!1}finally{ie(!1)}}async function be({onlyModels:G=null}={}){if(m.connectionType!=="api")return!0;let Ue=G||I;v("test"),x(""),R($e=>{let Ge={...$e};for(let An of Ue)Ge[An]="pending";return Ge});try{let $e=await Qf("/api/config/test-provider-stream",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({endpoints:ve,models:Ue,...mo(Ce)?{apiKeyEnv:Ce}:{apiKey:Ce},...Object.keys(Se).length>0?{headers:Se}:{}})},{onMessage:Zt=>{if(Zt?.type!=="progress")return;let Cn=Zt.event||{};Cn.phase==="model-done"&&R(mn=>({...mn,[Cn.model]:Cn.confirmed?"success":"error"}))}}),Ge=new Set($e?.models||[]),An=h?.signature===He?h.result:null,vr=new Set(An?.models||[]);for(let Zt of Ue)Ge.has(Zt)?vr.add(Zt):vr.delete(Zt);let Nu={...An||{},...$e,models:Array.from(vr),workingFormats:Array.from(new Set([...An?.workingFormats||[],...$e?.workingFormats||[]])),ok:I.every(Zt=>vr.has(Zt))};g({signature:He,result:Nu}),R(Zt=>{let Cn={...Zt};for(let mn of Ue)Cn[mn]=Ge.has(mn)?"success":"error";return Cn});let Gt=Ue.filter(Zt=>!Ge.has(Zt));return Gt.length>0?(x(($e?.warnings||[]).join(" ")||`${Gt.length} model(s) failed the provider test.`),!1):!0}catch($e){return R(Ge=>{let An={...Ge};for(let vr of Ue)(!An[vr]||An[vr]==="pending")&&(An[vr]="error");return An}),x($e instanceof Error?$e.message:String($e)),!1}finally{v("")}}(0,Tt.useEffect)(()=>{u!==1||m.connectionType!=="api"||I.length>0||!Ce||ve.length===0||W||N?.signature===He||H({silent:!0})},[u,m.connectionType,I.length,Ce,ve.length,W,N,He]);async function Oe({force:G=!1}={}){if(m.connectionType==="api"||!G&&ye===fn)return!0;let Ue=Or(m.selectedConnection||"oauth-gpt");v("oauth-login"),x("");try{return await Et("/api/subscription/login",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({profileId:dn,providerId:Hn,subscriptionType:Ue.subscriptionType||"chatgpt-codex"})}),V(fn),!0}catch($e){return x($e instanceof Error?$e.message:String($e)),!1}finally{v("")}}async function Lt(){u===0&&m.connectionType==="subscription"&&!await Oe()||(u===1&&A(!0),f(G=>Math.min(G+1,Ie.length-1)))}async function wn(){let G=I.filter(Ge=>w[Ge]!=="success"),Ue=ee.current;ee.current=!1,await be({onlyModels:G.length<I.length?G:null})&&Ue&&!E&&(A(!0),f(Ge=>Math.min(Ge+1,Ie.length-1)))}async function Ee(){let G=I.filter(Ue=>w[Ue]==="error");G.length!==0&&await be({onlyModels:G})}function K(){let G=I.filter(Ue=>w[Ue]==="error");b(Ue=>({...Ue,modelIds:(Ue.modelIds||[]).filter($e=>!G.includes($e))})),R(Ue=>{let $e={...Ue};for(let Ge of G)delete $e[Ge];return $e}),x(""),A(!0),f(Ue=>Math.min(Ue+1,Ie.length-1))}async function de(G){if((G==="save"||G==="save-start")&&m.connectionType==="api"&&!Ze){x("Finish is available after the provider test succeeds.");return}v(G);try{if(G==="apply"){await t(Fo);return}if(G==="validate"){await n(Fo);return}if(G==="save"){await r(Fo);return}G==="save-start"&&await o(Fo)}finally{v("")}}let In=y||Sn||(u===0&&m.connectionType==="subscription"&&ye!==fn?"Continue opens the browser sign-in flow for this provider.":u===1&&m.connectionType==="api"&&!ze?"Test the provider against the entered endpoints and model ids using your API key or env.":u===1&&m.connectionType==="api"&&Dn&&!jt?`${ut.length} of ${I.length} model(s) confirmed. Fix or skip failed model(s) to continue.`:Ie[u].detail),wi=m.selectedConnection==="oauth-claude"?"Examples: claude-opus-4-6 claude-sonnet-4-6 claude-haiku-4-5":m.selectedConnection==="oauth-gpt"?"Examples: gpt-5.3-codex gpt-5.2-codex gpt-5.1-codex-mini":(0,k.jsxs)(k.Fragment,{children:[(0,k.jsxs)("span",{children:["Examples: gpt-4o-mini gpt-4.1-mini",Object.keys(Ke?.modelContextWindows||{}).length>0?` \xB7 ${Object.keys(Ke?.modelContextWindows||{}).length} context size${Object.keys(Ke?.modelContextWindows||{}).length===1?"":"s"} ready`:""]}),(0,k.jsx)("span",{className:"ml-2 text-amber-700",children:"Auto-discovered model ids may be incomplete or inaccurate if the provider is misconfigured. Verify the list and add or remove model ids yourself."})]}),Ai=P?"Edit provider":ct?"Add provider":"Quick start wizard",Tu=P?"Update this provider in place. Change endpoints, model ids, rate limits, alias, or provider id, then save the refreshed config.":ct?"Add another provider with endpoints, model ids, rate limits, and a stable alias. API Key providers are auto-tested before save.":"",Us=(0,k.jsx)("div",{className:"flex items-center gap-1",children:Ie.map((G,Ue)=>{let $e=Ue===u,Ge=Ue<u;return(0,k.jsxs)(Tt.Fragment,{children:[Ue>0?(0,k.jsx)("span",{className:"text-[10px] text-muted-foreground/40 select-none",children:"/"}):null,(0,k.jsxs)("button",{type:"button",disabled:!Ge,onClick:()=>{Ge&&f(Ue)},className:$("inline-flex items-center gap-1.5 rounded-md px-2 py-1 text-xs font-medium transition-colors",$e?"bg-primary text-primary-foreground":Ge?"text-emerald-700 hover:bg-emerald-50":"text-muted-foreground/50"),children:[(0,k.jsx)("span",{className:$("inline-flex h-4 w-4 shrink-0 items-center justify-center rounded-full text-[10px] font-bold leading-none",$e?"bg-primary-foreground/20":Ge?"bg-emerald-100 text-emerald-700":"bg-muted"),children:Ue+1}),G.title]})]},G.title)})}),Ci=(0,k.jsxs)("div",{className:"space-y-5",children:[u===0?(0,k.jsxs)("div",{className:"space-y-4",children:[(0,k.jsx)("div",{className:"grid gap-3 md:grid-cols-2",children:QA.map(G=>(0,k.jsxs)("button",{type:"button",className:$("rounded-2xl border px-4 py-3 text-left transition",m.connectionType===G.value?"border-ring bg-background shadow-sm":"border-border/70 bg-background/70 hover:border-border"),onClick:()=>Z(G.value),children:[(0,k.jsx)("div",{className:"text-sm font-medium text-foreground",children:G.label}),(0,k.jsx)("div",{className:"mt-1 text-xs leading-5 text-muted-foreground",children:G.description})]},G.value))}),(0,k.jsx)(ft,{label:"Provider preset",children:(0,k.jsxs)(tn,{value:m.selectedConnection||(m.connectionType==="api"?"custom":"oauth-gpt"),onValueChange:Le,children:[(0,k.jsx)(nn,{children:(0,k.jsx)(rn,{})}),(0,k.jsx)(on,{children:uC(m.connectionType==="subscription"?"subscription":"api").map(G=>(0,k.jsxs)(kt,{value:G.key,children:[G.label,(0,k.jsx)("span",{className:"ml-2 text-muted-foreground",children:G.description})]},G.key))})]})}),(0,k.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,k.jsx)(ft,{label:"Provider name",children:(0,k.jsx)(St,{value:m.providerName,onChange:G=>se(G.target.value),placeholder:Or(m.selectedConnection||"custom").providerName})}),(0,k.jsx)(ft,{label:"Provider id",hint:"lowercase-hyphenated",children:(0,k.jsx)(St,{value:m.providerId,onChange:G=>M("providerId",G.target.value),onBlur:()=>M("providerId",_r(m.providerId||m.providerName||"my-provider")||"my-provider"),placeholder:Or(m.selectedConnection||"custom").providerId})})]}),m.connectionType==="api"?(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(ft,{label:"Endpoints",hint:"comma, space, or newline turns into chips",children:(0,k.jsx)(Au,{values:m.endpoints,onChange:G=>M("endpoints",G),draftValue:m.endpointDraft,onDraftValueChange:G=>M("endpointDraft",G),commitOnBlur:!0,isValueValid:di,placeholder:"Example: https://api.openai.com/v1",helperText:"Paste one or more endpoints",inputProps:{id:je,name:X,autoComplete:"off",autoCapitalize:"none",autoCorrect:"off",spellCheck:!1,inputMode:"url","data-form-type":"other"}})}),(0,k.jsx)(ft,{label:"API key or env",children:(0,k.jsx)(zs,{value:m.apiKeyEnv,onChange:G=>M("apiKeyEnv",G.target.value),placeholder:"Example: OPENAI_API_KEY or sk-...",isEnvVar:mo(m.apiKeyEnv),maskMode:"obscured-text",inputProps:{id:xe,name:le,autoComplete:"new-password",autoCapitalize:"none",autoCorrect:"off",spellCheck:!1,"data-form-type":"other","data-lpignore":"true","data-1p-ignore":"true"}})}),(0,k.jsx)(ft,{label:"Custom headers",hint:"User-Agent included by default",children:(0,k.jsx)(AT,{rows:m.headerRows,onChange:G=>M("headerRows",G)})})]}):(0,k.jsxs)("div",{className:"space-y-3",children:[(0,k.jsx)("div",{className:"rounded-2xl border border-border/70 bg-secondary/45 px-4 py-3 text-sm leading-6 text-muted-foreground",children:m.selectedConnection==="oauth-claude"?"Continue opens the Claude sign-in page in your browser and stores the login for this provider automatically.":"Continue opens the ChatGPT sign-in page in your browser and stores the login for this provider automatically."}),m.selectedConnection==="oauth-claude"?(0,k.jsxs)("div",{className:"rounded-2xl border border-amber-300/60 bg-amber-50/80 px-4 py-3 text-xs leading-5 text-amber-800 dark:border-amber-500/30 dark:bg-amber-950/40 dark:text-amber-300",children:[(0,k.jsx)("span",{className:"font-medium",children:"Heads up:"})," Claude Code OAuth routes through Anthropic's API with your subscription credentials. Usage will count against your Claude Max/Pro plan's extra usage quota, not the included subscription messages. Make sure you have extra usage enabled on your Claude plan to avoid request failures."]}):(0,k.jsxs)("div",{className:"rounded-2xl border border-amber-300/60 bg-amber-50/80 px-4 py-3 text-xs leading-5 text-amber-800 dark:border-amber-500/30 dark:bg-amber-950/40 dark:text-amber-300",children:[(0,k.jsx)("span",{className:"font-medium",children:"Heads up:"})," ChatGPT subscriptions (Plus / Pro / Team) are separate from the OpenAI API and are intended for use within OpenAI's own apps. Routing requests through your subscription here may violate OpenAI's terms of service and could result in account restrictions."]})]})]}):null,u===1?(0,k.jsxs)("div",{className:"space-y-4",children:[(0,k.jsx)(ft,{label:"Models",hint:"comma, space, or newline turns into chips",children:(0,k.jsx)(Au,{values:m.modelIds,onChange:G=>M("modelIds",G),draftValue:m.modelDraft,onDraftValueChange:G=>M("modelDraft",G),commitOnBlur:!0,disabled:p==="test",valueStates:m.connectionType==="api"?w:{},placeholder:"Paste model ids",helperText:wi,suggestedValues:an})}),m.connectionType==="api"&&W?(0,k.jsxs)("div",{className:"rounded-2xl border border-sky-200 bg-sky-50 px-4 py-3 text-sm text-sky-900",children:[(0,k.jsxs)("div",{className:"flex items-center gap-2 font-medium",children:[(0,k.jsx)(kr,{}),"Loading provider models"]}),(0,k.jsx)("div",{className:"mt-1 text-xs leading-5 text-sky-800/90",children:"LLM Router is checking the provider model list and matching context sizes for the discovered models."})]}):null,m.connectionType==="api"?(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(ft,{label:"Rate limit",stacked:!0,headerAction:(0,k.jsx)(q,{type:"button",size:"sm",variant:"outline",onClick:()=>M("rateLimitRows",km(m.rateLimitRows)),disabled:p==="test",children:"Add rate limit"}),children:(0,k.jsx)(Lm,{rows:m.rateLimitRows,onChange:G=>M("rateLimitRows",G),availableModelIds:I,disabled:p==="test"})}),(0,k.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/80 px-4 py-3 text-sm leading-6 text-muted-foreground",children:["The first model becomes the primary direct route. Add caps for ",(0,k.jsx)("code",{children:"all"})," models or target individual model ids when you need a narrower quota bucket."]})]}):null,m.connectionType==="api"?(0,k.jsxs)("div",{className:$("rounded-2xl border px-4 py-3 text-sm leading-6",jt&&ze?"border-emerald-200 bg-emerald-50 text-emerald-900":Dn?"border-amber-200 bg-amber-50 text-amber-900":Xt?"border-emerald-200 bg-emerald-50 text-emerald-900":"border-border/70 bg-background/80 text-muted-foreground"),children:[(0,k.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em]",children:"Provider test"}),(0,k.jsx)("div",{className:"mt-2",children:jt&&ze?`Confirmed ${ut.length} model(s) across ${(Re?.workingFormats||[]).join(", ")||"detected formats"}.`:Dn?`${ut.length} of ${I.length} model(s) confirmed. ${ln.length} failed: ${ln.join(", ")}.`:Xt?`Confirmed ${ut.length} of ${I.length} model(s) across ${(Re?.workingFormats||[]).join(", ")||"detected formats"}.`:"Test the provider before continuing so the wizard can auto-detect the working endpoint format(s)."})]}):null]}):null,u===2?(0,k.jsxs)("div",{className:"space-y-4",children:[(0,k.jsx)("div",{className:"grid gap-3 md:grid-cols-2",children:ct||P?(0,k.jsx)(QE,{label:"Use this provider order for the default route",hint:"Updates the fixed `default` alias",checked:m.useAliasAsDefault,onCheckedChange:G=>M("useAliasAsDefault",G)}):(0,k.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/80 px-4 py-3 text-sm text-muted-foreground md:col-span-2",children:["The fixed ",(0,k.jsx)("code",{children:"default"})," route is created automatically. Arrange this provider's models in the order you want clients to try first."]})}),(0,k.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/80 px-4 py-3",children:[(0,k.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Model order"}),(0,k.jsx)("div",{className:"mt-3",children:(0,k.jsx)(CT,{providerId:Hn,values:ue,onChange:G=>M("aliasModelIds",G)})})]}),(0,k.jsxs)("div",{className:"grid gap-3 md:grid-cols-2 xl:grid-cols-4",children:[(0,k.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/80 px-4 py-3",children:[(0,k.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Provider"}),(0,k.jsx)("div",{className:"mt-2 text-sm font-medium text-foreground",children:Hn}),(0,k.jsx)("div",{className:"mt-1 text-xs text-muted-foreground",children:m.providerName})]}),(0,k.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/80 px-4 py-3",children:[(0,k.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Connection"}),(0,k.jsx)("div",{className:"mt-2 text-sm font-medium text-foreground",children:CC(m.selectedConnection||"custom")}),(0,k.jsx)("div",{className:"mt-1 text-xs text-muted-foreground break-all",children:m.connectionType==="api"?`${ve.length} endpoint candidate(s)`:"Browser sign-in flow"})]}),(0,k.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/80 px-4 py-3",children:[(0,k.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Models"}),(0,k.jsxs)("div",{className:"mt-2 text-sm font-medium text-foreground",children:[I.length," configured"]}),(0,k.jsx)("div",{className:"mt-1 text-xs text-muted-foreground break-all",children:I.join(", ")||"No models yet"})]}),(0,k.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/80 px-4 py-3",children:[(0,k.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Default route"}),(0,k.jsx)("div",{className:"mt-2 text-sm font-medium text-foreground break-all",children:mt}),(0,k.jsx)("div",{className:"mt-1 text-xs text-muted-foreground",children:m.useAliasAsDefault?"Requests to `default` and `smart` use this ordered list.":"This provider keeps its direct routes only until you opt it into the fixed default route."})]})]}),m.connectionType==="api"?(0,k.jsxs)("div",{className:$("rounded-2xl border px-4 py-3 text-sm leading-6",Ze?"border-emerald-200 bg-emerald-50 text-emerald-900":"border-amber-200 bg-amber-50 text-amber-900"),children:[(0,k.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em]",children:"Provider test"}),(0,k.jsx)("div",{className:"mt-2",children:Ze?`Using ${(Re?.workingFormats||[]).join(", ")||"detected formats"}. The saved provider keeps the tested endpoint selection and confirmed models.`:"Finish is available after the provider test succeeds."})]}):null]}):null,(0,k.jsxs)("div",{className:"flex flex-col gap-3 border-t border-border/70 pt-4 md:flex-row md:items-start md:justify-between md:gap-4",children:[(0,k.jsx)("div",{className:$("min-w-0 flex-1 text-sm md:max-w-2xl",Sn||y?"text-amber-700":"text-muted-foreground"),children:In}),(0,k.jsxs)("div",{className:"flex shrink-0 flex-wrap items-center gap-2 md:justify-end",children:[u>0?(0,k.jsx)(q,{variant:"ghost",onClick:()=>f(G=>Math.max(G-1,0)),children:"Back"}):null,u<Ie.length-1?u===1&&m.connectionType==="api"?E?(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(q,{variant:"outline",onClick:()=>{wn()},disabled:!!Sn||p!=="",children:p==="test"?(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(kr,{}),"Testing\u2026"]}):"Test"}),(0,k.jsx)(q,{onClick:()=>{Lt()},disabled:!!Sn||p!==""||!Xt,children:"Continue"})]}):!ze||bo?(0,k.jsx)(q,{onClick:()=>{wn()},disabled:!!Sn||p!=="",children:p==="test"?(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(kr,{}),"Testing provider\u2026"]}):"Test"}):jt?(0,k.jsx)(q,{onClick:()=>{Lt()},disabled:!!Sn||p!=="",children:"Continue"}):Dn?(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(q,{variant:"outline",onClick:()=>{Ee()},disabled:!!Sn||p!=="",children:p==="test"?(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(kr,{}),"Re-testing\u2026"]}):"Test again"}),Xt?(0,k.jsx)(q,{onClick:()=>{K()},disabled:p!=="",children:"Skip failed model(s) and continue"}):null]}):(0,k.jsx)(q,{onClick:()=>{wn()},disabled:!!Sn||p!=="",children:p==="test"?(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(kr,{}),"Testing provider\u2026"]}):"Test"}):(0,k.jsx)(q,{onClick:()=>{Lt()},disabled:!!Sn||p!=="",children:p==="oauth-login"?(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(kr,{}),"Signing in\u2026"]}):"Continue"}):(0,k.jsx)(q,{onClick:()=>{de("save-start")},disabled:!!Sn||p!==""||m.connectionType==="api"&&!Ze,children:p==="save-start"?(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(kr,{}),"Finishing\u2026"]}):"Finish"})]})]})]});return c?(0,k.jsxs)(Ft,{className:"border-dashed",children:[(0,k.jsxs)(Wr,{children:[(0,k.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[d?(0,k.jsx)(Oo,{children:Ai}):null,Us]}),d?(0,k.jsx)(ii,{children:Tu}):null]}),(0,k.jsx)(Kt,{className:"space-y-5",children:Ci})]}):(0,k.jsxs)("div",{children:[(0,k.jsx)("div",{className:"-mx-5 -mt-4 flex items-center gap-3 border-b border-border/70 bg-muted/30 px-5 py-2",children:Us}),(0,k.jsxs)("div",{className:"space-y-5 pt-5",children:[d?(0,k.jsxs)("div",{children:[(0,k.jsx)("div",{className:"text-base font-semibold text-foreground",children:Ai}),(0,k.jsx)("div",{className:"mt-1 text-sm leading-6 text-muted-foreground",children:Tu})]}):null,Ci]})]})}var z=_(J(),1);async function Eu(e){let t=String(e||"");if(!t)return;if(typeof navigator<"u"&&navigator.clipboard?.writeText){await navigator.clipboard.writeText(t);return}if(typeof document>"u")throw new Error("Clipboard is not available in this environment.");let n=document.createElement("textarea");n.value=t,n.setAttribute("readonly",""),n.style.position="absolute",n.style.left="-9999px",document.body.appendChild(n),n.select(),document.execCommand("copy"),document.body.removeChild(n)}function z5(e="127.0.0.1"){let t=String(e||"127.0.0.1").trim()||"127.0.0.1";return t.includes(":")&&!t.startsWith("[")?`[${t}]`:t}function B5(e={}){let t=z5(e?.host||"127.0.0.1"),n=Number.isInteger(Number(e?.port))?Number(e.port):8376;return`http://${t}:${n}`}function RT({currentConfigPath:e="",productionConfigPath:t="",routerPort:n=8376,canSyncProductionConfig:r=!1,syncBusy:o=!1,onSyncProductionConfig:a}){return(0,z.jsx)("div",{className:"overflow-hidden rounded-[1.75rem] border border-amber-300/80 bg-[linear-gradient(135deg,rgba(255,247,237,0.98),rgba(255,251,235,0.97),rgba(254,243,199,0.82))] shadow-[0_20px_60px_rgba(180,83,9,0.12)]",children:(0,z.jsxs)("div",{className:"flex flex-col gap-4 px-4 py-4 sm:px-5 lg:flex-row lg:items-center lg:justify-between",children:[(0,z.jsxs)("div",{className:"min-w-0 space-y-3",children:[(0,z.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,z.jsx)(Je,{variant:"warning",className:"border-amber-300 bg-amber-100 text-amber-950",children:"Dev Mode"}),(0,z.jsx)("span",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] text-amber-900/80",children:"Isolated router sandbox"})]}),(0,z.jsxs)("div",{className:"space-y-1",children:[(0,z.jsxs)("div",{className:"text-base font-semibold text-amber-950 sm:text-lg",children:["Dev console runs on router port ",n," and leaves the production startup service alone."]}),(0,z.jsx)("div",{className:"max-w-3xl text-sm leading-6 text-amber-950/75",children:"Use the sync action to clone the current production config into this dev workspace without changing the dev router binding."})]}),(0,z.jsxs)("div",{className:"flex flex-wrap gap-2 text-xs",children:[(0,z.jsxs)("span",{className:"rounded-full border border-amber-300/70 bg-white/75 px-3 py-1.5 font-medium text-amber-950/80",children:["Dev config: ",(0,z.jsx)("span",{className:"font-semibold",children:e||"Not resolved"})]}),(0,z.jsxs)("span",{className:"rounded-full border border-amber-300/60 bg-amber-50/70 px-3 py-1.5 font-medium text-amber-950/75",children:["Production source: ",(0,z.jsx)("span",{className:"font-semibold",children:t||"Not resolved"})]})]})]}),r?(0,z.jsx)("div",{className:"flex shrink-0 items-center",children:(0,z.jsxs)(q,{size:"sm",variant:"outline",className:"border-amber-300 bg-white/85 text-amber-950 hover:bg-amber-100 hover:text-amber-950",onClick:a,disabled:o,"aria-label":o?"Syncing production config":"Sync production config into this dev workspace",title:o?"Syncing production config":"Sync production config into this dev workspace",children:[(0,z.jsx)(Lf,{className:"h-3.5 w-3.5"}),(0,z.jsx)("span",{children:o?"Syncing production config\u2026":"Sync production config"})]})}):null]})})}function ET(){let[e,t]=(0,me.useState)(null),[n,r]=(0,me.useState)(""),[o,a]=(0,me.useState)(""),[i,l]=(0,me.useState)(null),[s,c]=(0,me.useState)([]),[d,u]=(0,me.useState)(!0),[f,p]=(0,me.useState)(!1),[v,m]=(0,me.useState)(!1),[b,h]=(0,me.useState)(!1),[g,y]=(0,me.useState)(""),[x,w]=(0,me.useState)(""),[R,E]=(0,me.useState)(!1),[A,N]=(0,me.useState)("model-alias"),[L,j]=(0,me.useState)(!1),[D,W]=(0,me.useState)(!1),[ie,ye]=(0,me.useState)(0),[V,ee]=(0,me.useState)(""),[Q,F]=(0,me.useState)(""),[P,ct]=(0,me.useState)(""),[X,je]=(0,me.useState)(""),[le,xe]=(0,me.useState)(!1),[Ie,I]=(0,me.useState)(!1),[ue,ve]=(0,me.useState)(!1),[ke,Se]=(0,me.useState)(""),[Ce,He]=(0,me.useState)("usage"),[Ke,an]=(0,me.useState)(null),[Hn,dn]=(0,me.useState)({status:"idle",message:"",savedAt:""}),fn=(0,me.useRef)(""),ln=(0,me.useRef)(""),ut=(0,me.useRef)(null),ze=(0,me.useRef)(null),jt=(0,me.useRef)(null),Xt=(0,me.useRef)(0),Dn=(0,me.useRef)(""),bo=(0,me.useRef)(0);(0,me.useEffect)(()=>{fn.current=n},[n]),(0,me.useEffect)(()=>{ln.current=o},[o]),(0,me.useEffect)(()=>()=>{jt.current&&(clearTimeout(jt.current),jt.current=null)},[]);let Re=n!==o,Ze=e?.config?.document,dt=i?.summary||e?.config||{},Fo=i?.validationMessages||e?.config?.validationMessages||[],mt=(0,me.useMemo)(()=>oy(e?.config?.rawText||"{}",e?.config?.document||{}),[e?.config?.rawText,e?.config?.document]),rt=(0,me.useMemo)(()=>yC(n,mt),[n,mt]),Sn=(0,me.useMemo)(()=>oy(n,mt),[n,mt]),M=rt.parseError?mt:rt.value,se=(0,me.useMemo)(()=>Array.isArray(M?.providers)?M.providers:[],[M]),Z=(0,me.useMemo)(()=>M?.modelAliases&&typeof M.modelAliases=="object"&&!Array.isArray(M.modelAliases)?M.modelAliases:{},[M]),Le=(0,me.useMemo)(()=>iv(M),[M]),Te=rt.parseError?`Fix the raw JSON parse error first: ${rt.parseError}`:"",H=M,be=e?.config?.localServer||e?.startup?.defaults||null,Oe=(0,me.useMemo)(()=>B5(be||{}),[be?.host,be?.port]),Lt=e?.ampClient?.global||{},wn=e?.webSearch||e?.ampWebSearch||null,Ee=e?.codingTools?.codexCli||{},K=e?.codingTools?.claudeCode||{},de=e?.codingTools?.factoryDroid||{},In=Lt?.routedViaRouter===!0,wi=Ee?.routedViaRouter===!0,Ai=K?.routedViaRouter===!0,Tu=de?.routedViaRouter===!0,Us=e?.ollama||null,Ci=Us?.connected===!0,[G,Ue]=(0,me.useState)([]),[$e,Ge]=(0,me.useState)({}),[An,vr]=(0,me.useState)(!1),Gt=(e?.activityLog||{enabled:!0})?.enabled!==!1,Zt=(0,me.useMemo)(()=>iv(H),[H]),Cn=(0,me.useMemo)(()=>dy(H),[H]),mn=(0,me.useMemo)(()=>mi(Xn(H)),[H]),hl=(0,me.useMemo)(()=>VC(H,wn),[H,wn]),Ps=(0,me.useMemo)(()=>HC(hl,K?.webSearchProvider||""),[hl,K?.webSearchProvider]),OT=(0,me.useMemo)(()=>{let C=new Set((Array.isArray(mn?.providers)?mn.providers:[]).map(T=>vn(T?.id)).filter(Boolean));return jC(H,C)},[H,mn]),Ko=rt.parseError?`Fix the raw JSON parse error first: ${rt.parseError}`:Zt.length===0?"Add at least one alias or provider/model route before configuring AMP.":"",ro=rt.parseError?`Fix the raw JSON parse error first: ${rt.parseError}`:"",$o=rt.parseError?`Fix the raw JSON parse error first: ${rt.parseError}`:Le.length===0?"Add at least one alias or provider/model route before configuring coding-tool bindings.":"",_T=(0,me.useMemo)(()=>bi(Le,Tf(Ee?.bindings?.defaultModel)?[]:[Ee?.bindings?.defaultModel]),[Le,Ee?.bindings?.defaultModel]),kT=(0,me.useMemo)(()=>bi(Le,[K?.bindings?.primaryModel,K?.bindings?.defaultOpusModel,K?.bindings?.defaultSonnetModel,K?.bindings?.defaultHaikuModel,K?.bindings?.subagentModel]),[Le,K?.bindings?.primaryModel,K?.bindings?.defaultOpusModel,K?.bindings?.defaultSonnetModel,K?.bindings?.defaultHaikuModel,K?.bindings?.subagentModel]),LT=(0,me.useMemo)(()=>bi(Le,[de?.bindings?.defaultModel,de?.bindings?.missionOrchestratorModel,de?.bindings?.missionWorkerModel,de?.bindings?.missionValidatorModel]),[Le,de?.bindings?.defaultModel,de?.bindings?.missionOrchestratorModel,de?.bindings?.missionWorkerModel,de?.bindings?.missionValidatorModel]),zm=String(H?.amp?.defaultRoute||H?.defaultModel||su(H)||"").trim(),Fn=String(H?.masterKey||e?.config?.document?.masterKey||"").trim(),DT=(0,me.useMemo)(()=>LC(Fn),[Fn]),Bm=se.length>0,IT=Bm&&D,yl=e?.router?.running===!0,pv=e?.startup?.installed===!0,Um=e?.environment?.devMode===!0,gv=String(e?.config?.path||e?.environment?.configPath||"").trim(),hv=String(e?.environment?.productionConfigPath||"").trim(),Pm=e?.environment?.canSyncProductionConfig===!0,Mu=Number.isInteger(Number(e?.config?.localServer?.port))?Number(e.config.localServer.port):Number.isInteger(Number(e?.router?.port))?Number(e.router.port):8376,jm=g==="start"?"Starting\u2026":g==="stop"?"Stopping\u2026":yl?"Stop server":"Start server",Vm=x==="enable"?"Enabling OS startup\u2026":x==="disable"?"Disabling OS startup\u2026":pv?"Disable OS startup":"Enable OS startup",yv=e?.router?.portBusy?e?.router?.portBusyReason||`Port ${Mu} is occupied${e?.router?.listenerPids?.length>0?` by PID${e.router.listenerPids.length===1?"":"s"} ${e.router.listenerPids.join(", ")}`:""}.`:String(e?.router?.lastError||"").trim(),zT=!Gf(M),vv=se.filter(C=>C?.type!=="ollama"),bv=vv.length>0?"existing":"blank",xv=vv[0]?.id||"",Sv=e?.defaults?.providerUserAgent||Zr;(0,me.useEffect)(()=>{if(d||f||rt.parseError)return;if(Fn){Dn.current="";return}let C=String(e?.config?.rawText||o||"__empty__");Dn.current!==C&&(Dn.current=C,VT({showSuccessNotice:!1}))},[o,Fn,d,rt.parseError,f,e?.config?.rawText]),(0,me.useEffect)(()=>{if(jt.current&&(clearTimeout(jt.current),jt.current=null),!Ke)return;let C=Ke.immediate===!0?0:450;return jt.current=setTimeout(()=>{jt.current=null;let T=Ke.sequence;dn(O=>({...O,status:"saving",message:""})),(async()=>{try{let O=await Et("/api/amp/apply",{method:"POST",headers:Rt,body:JSON.stringify({rawText:Ke.rawText,source:"autosave"})});if(T!==Xt.current)return;xo(O,{preserveDraft:fn.current!==Ke.rawText}),dn({status:"saved",message:"",savedAt:new Date().toISOString()})}catch(O){if(T!==Xt.current)return;let ae=O instanceof Error?O.message:String(O);dn({status:"error",message:ae,savedAt:""}),U("error",ae)}})()},C),()=>{jt.current&&(clearTimeout(jt.current),jt.current=null)}},[Ke]);function BT(){W(!0),ye(C=>C+1)}function UT(){BT()}function Hm(){W(!1)}(0,me.useEffect)(()=>{!Bm&&D&&W(!1)},[Bm,D]);function U(C,T){bo.current+=1,c(O=>[...O,{id:`notice-${bo.current}`,tone:C,message:T}])}function wv(C){c(T=>T.filter(O=>O.id!==C))}function xo(C,{preserveDraft:T=!1}={}){t(C);let O=String(C?.config?.rawText||"");if(!T||fn.current===ln.current){r(O),a(O),j(!1),l({rawText:O,summary:C?.config,validationMessages:C?.config?.validationMessages||[]});return}a(O),O!==ln.current&&j(!0)}async function br({preserveDraft:C=!1}={}){let T=await Et("/api/state");xo(T,{preserveDraft:C})}(0,me.useEffect)(()=>{let C=!1;function T(){ut.current&&(ut.current.close(),ut.current=null)}function O(){ze.current&&(clearTimeout(ze.current),ze.current=null)}function ae(){C||ze.current||(ze.current=setTimeout(()=>{ze.current=null,Ae({isReconnect:!0})},GA))}function Ae({isReconnect:qe=!1}={}){if(C)return;O(),T();let Pe=new EventSource("/api/events");ut.current=Pe,Pe.onopen=()=>{C||ut.current!==Pe||qe&&br({preserveDraft:fn.current!==ln.current}).catch(()=>{})},Pe.addEventListener("state",Ot=>{if(!(C||ut.current!==Pe))try{let Nt=JSON.parse(Ot.data);Nt?.snapshot&&xo(Nt.snapshot,{preserveDraft:!0})}catch(Nt){U("error",Nt instanceof Error?Nt.message:String(Nt))}}),Pe.addEventListener("log",Ot=>{if(!(C||ut.current!==Pe))try{let Nt=JSON.parse(Ot.data);t(Be=>Be&&{...Be,logs:[Nt,...Be.logs||[]].slice(0,150)})}catch{}}),Pe.addEventListener("logs",Ot=>{if(!(C||ut.current!==Pe))try{let Nt=JSON.parse(Ot.data);t(Be=>Be&&{...Be,...Nt?.activityLog?{activityLog:Nt.activityLog}:{},logs:Array.isArray(Nt?.logs)?Nt.logs:[]})}catch{}}),Pe.onerror=()=>{C||ut.current!==Pe||(T(),ae())}}return(async()=>{try{await br()}catch(qe){C||U("error",qe instanceof Error?qe.message:String(qe))}finally{C||(u(!1),Ae())}})(),()=>{C=!0,O(),T()}},[]);async function Av(C,{silent:T=!1}={}){m(!0);try{let O=await Et("/api/config/validate",{method:"POST",headers:Rt,body:JSON.stringify({rawText:C})});return l({rawText:C,summary:O.summary,validationMessages:O.validationMessages||[]}),T||U(vC(O.summary)==="success"?"success":"warning",O.summary.validationSummary),O}catch(O){throw T||U("error",O instanceof Error?O.message:String(O)),O}finally{m(!1)}}async function Fm(C,{successMessage:T="Config saved.",showSuccessNotice:O=!0}={}){p(!0);try{let ae=await Et("/api/config/save",{method:"POST",headers:Rt,body:JSON.stringify({rawText:C})});return xo(ae,{preserveDraft:fn.current!==C}),O&&T&&U("success",T),ae}catch(ae){throw U("error",ae instanceof Error?ae.message:String(ae)),ae}finally{p(!1)}}async function Cv(){if(!(!Pm||R)&&!(Re&&typeof window<"u"&&typeof window.confirm=="function"&&!window.confirm("Replace the current dev draft with the production config file? Unsaved edits in this dev session will be lost."))){E(!0);try{let C=await Et("/api/config/sync-production",{method:"POST",headers:Rt,body:"{}"});xo(C,{preserveDraft:!1}),U("success",C?.message||"Production config synced into the dev workspace.")}catch(C){U("error",C instanceof Error?C.message:String(C))}finally{E(!1)}}}function Ri(C,{immediate:T=!1}={}){let O=Xt.current+1;Xt.current=O,an({sequence:O,rawText:C,immediate:T===!0}),dn(ae=>({status:"pending",message:"",savedAt:ae.savedAt}))}function Dr(C){r(C),l(null)}async function Go(C,T,O={}){let ae=`${JSON.stringify(C,null,2)}
53
- `;Dr(ae),j(!1),await Fm(ae,{successMessage:T,...O})}async function Rv({providerId:C,endpoints:T,newModelIds:O,credentialPayload:ae,headers:Ae,onModelTestStateChange:qe}){if(!Array.isArray(O)||O.length===0)return qe?.({phase:"",modelStates:{},failedModelIds:[],message:""}),{ok:!0};let Pe=Object.fromEntries(O.map(Be=>[Be,"pending"])),Ot=({phase:Be="testing",message:zn="",failedModelIds:et=[]}={})=>{qe?.({phase:Be,modelStates:{...Pe},failedModelIds:et,message:zn})},Nt=()=>`Testing ${O.filter(zn=>Pe[zn]==="success"||Pe[zn]==="error").length}/${O.length} new model${O.length===1?"":"s"} for ${C}.`;Ot({phase:"testing",message:Nt()});try{let Be=await Qf("/api/config/test-provider-stream",{method:"POST",headers:Rt,body:JSON.stringify({endpoints:T,models:O,...ae,...Ae&&typeof Ae=="object"&&!Array.isArray(Ae)?{headers:Ae}:{}})},{onMessage:Dt=>{if(Dt?.type!=="progress")return;let oo=Dt.event||{};if(oo.phase!=="model-done")return;let qo=String(oo.model||"").trim();!qo||!Object.prototype.hasOwnProperty.call(Pe,qo)||(Pe[qo]=oo.confirmed?"success":"error",Ot({phase:"testing",message:Nt()}))}}),zn=new Set(Array.isArray(Be?.models)?Be.models:[]),et=O.filter(Dt=>!zn.has(Dt));for(let Dt of O)Pe[Dt]=zn.has(Dt)?"success":"error";if(!Be?.ok||et.length>0){let Dt=et.length>0?`New model test failed for ${C}: ${et.join(", ")}.`:(Be?.warnings||[]).join(" ")||`New model test failed for ${C}.`;return Ot({phase:"",failedModelIds:et,message:Dt}),U("warning",Dt),{ok:!1,failedModelIds:et,result:Be}}return Ot({phase:"saving",message:`Saving ${O.length} confirmed new model${O.length===1?"":"s"} for ${C}.`}),{ok:!0,failedModelIds:[],result:Be}}catch(Be){for(let Dt of O)Pe[Dt]!=="success"&&(Pe[Dt]="error");let zn=Be instanceof Error?Be.message:String(Be),et=O.filter(Dt=>Pe[Dt]==="error");return Ot({phase:"",failedModelIds:et,message:zn}),U("error",zn),{ok:!1,failedModelIds:et}}}async function PT(C,T,{showSuccessNotice:O=!0}={}){if(Te)return U("warning",Te),!1;let ae=String(T?.id||"").trim(),Ae=String(T?.name||"").trim(),qe=Array.isArray(T?.endpoints)?mr(T.endpoints):Qn([],T?.endpoint||""),Pe=Array.isArray(T?.rateLimitRows)?pr(T.rateLimitRows):[],Ot=se.find(Dt=>Dt?.id===C),Nt=po(Ot)==="api",Be=au(Ot);if(!ae)return U("warning","Provider id is required."),!1;if(!Zi.test(ae))return U("warning","Provider id must start with a letter and use lowercase letters, digits, or dashes only."),!1;if(!Ae)return U("warning","Provider name is required."),!1;if(ae!==C&&se.some(Dt=>Dt?.id===ae))return U("warning",`Provider id "${ae}" already exists.`),!1;if(Nt&&qe.length===0)return U("warning","API Key providers require at least one valid http(s) endpoint."),!1;if(Nt&&qe.some(Dt=>!di(Dt)))return U("warning","One or more endpoints are invalid. Use full http:// or https:// URLs."),!1;let zn=Nt?ko(Pe,{knownModelIds:Be,requireAtLeastOne:!0}):"";if(zn)return U("warning",zn),!1;let et=qh(rt.value||mt,C,{...T,endpoints:qe,rateLimitRows:Pe});try{return await Go(et,`Updated provider ${ae}.`,{showSuccessNotice:O}),!0}catch{return!1}}async function jT(C,{providerDraft:T=null,modelRows:O=null,showSuccessNotice:ae=!0,onModelTestStateChange:Ae=null}={}){if(Te)return U("warning",Te),!1;let qe=se.find(Ir=>Ir?.id===C);if(!qe)return U("error",`Provider '${C}' was not found.`),!1;let Pe=!!(T&&typeof T=="object"),Ot=Array.isArray(O);if(!Pe&&!Ot)return!0;let Nt=po(qe)==="api",Be=Pe?String(T?.id||"").trim():C,zn=Pe?String(T?.name||"").trim():String(qe?.name||C).trim(),et=Pe?Array.isArray(T?.endpoints)?mr(T.endpoints):Qn([],T?.endpoint||""):Sa(qe),Dt=Pe&&Array.isArray(T?.rateLimitRows)?pr(T.rateLimitRows):[],oo=Ot?O.map(Ir=>({...Ir,id:String(Ir?.id||"").trim(),contextWindow:Bo(Ir?.contextWindow||"")})).filter(Ir=>Ir.id):[];if(Pe){let Ir=Ot?oo.map(zr=>zr.id):au(qe);if(!Be)return U("warning","Provider id is required."),!1;if(!Zi.test(Be))return U("warning","Provider id must start with a letter and use lowercase letters, digits, or dashes only."),!1;if(!zn)return U("warning","Provider name is required."),!1;if(Be!==C&&se.some(zr=>zr?.id===Be))return U("warning",`Provider id "${Be}" already exists.`),!1;if(Nt&&et.length===0)return U("warning","API Key providers require at least one valid http(s) endpoint."),!1;if(Nt&&et.some(zr=>!di(zr)))return U("warning","One or more endpoints are invalid. Use full http:// or https:// URLs."),!1;let Na=Nt?ko(Dt,{knownModelIds:Ir,requireAtLeastOne:!0}):"";if(Na)return U("warning",Na),!1}if(Ot){if(oo.length===0)return U("warning","Keep at least one model id on the provider."),!1;if(As(oo.map(ao=>ao.id)))return U("warning","Model ids must be unique for each provider."),!1;if(oo.some(ao=>{let Ou=String(ao?.contextWindow||"").trim();if(!Ou)return!1;let Gm=Number.parseInt(Ou,10);return!Number.isFinite(Gm)||Gm<=0||String(Gm)!==Ou}))return U("warning","Context windows must be positive integers when set."),!1;let Na=au(qe),zr=oo.map(ao=>ao.id).filter(ao=>!Na.includes(ao));if(Nt&&zr.length>0){if(et.length===0)return U("warning",`Provider '${Be}' needs at least one endpoint before testing new models.`),!1;let ao=ly(T,qe);if(!ao.apiKey&&!ao.apiKeyEnv)return U("warning",`Provider '${Be}' needs an API key or env before testing new models.`),!1;if(!(await Rv({providerId:Be,endpoints:et,newModelIds:zr,credentialPayload:ao,headers:qe?.headers,onModelTestStateChange:Ae})).ok)return!1}}let qo=rt.value||mt;Pe&&(qo=qh(qo,C,{...T,endpoints:et,rateLimitRows:Dt})),Ot&&(qo=Gh(qo,Pe?Be:C,oo));let kN=Pe&&Ot?`Updated provider ${Be} and saved its model list.`:Pe?`Updated provider ${Be}.`:(()=>{let Ir=au(qe),Na=oo.map(zr=>zr.id).filter(zr=>!Ir.includes(zr));return Na.length>0?`Tested ${Na.length} new model${Na.length===1?"":"s"} and updated ${Be}.`:`Updated models for ${Be}.`})();try{return await Go(qo,kN,{showSuccessNotice:ae}),Ae?.({phase:"",modelStates:{},failedModelIds:[],message:""}),!0}catch{return!1}}async function VT({showSuccessNotice:C=!1}={}){if(rt.parseError||String((rt.value||mt||{}).masterKey||"").trim())return!1;let T=Do(rt.value||mt||{});T.masterKey=ou();try{return await Go(T,"Gateway key ready.",{showSuccessNotice:C}),!0}catch{return!1}}async function HT(){if(!Fn){U("warning","Gateway key is still generating. Try again in a second.");return}try{await Eu(Fn),U("success","Gateway key copied to clipboard.")}catch(C){U("error",C instanceof Error?C.message:String(C))}}async function FT(){if(!Oe){U("warning","API endpoint is not ready yet.");return}try{await Eu(Oe),U("success","API endpoint copied to clipboard.")}catch(C){U("error",C instanceof Error?C.message:String(C))}}async function KT(C){let T=String(C||"").trim();if(!T){U("warning","Alias id is not ready yet.");return}try{await Eu(T),U("success",`Alias id ${T} copied to clipboard.`)}catch(O){U("error",O instanceof Error?O.message:String(O))}}async function Ta(C,T,{ensureMode:O="none",successMessage:ae=""}={}){let Ae=String(C||"").trim();if(!Ae){U("warning",`${T} is not resolved yet.`);return}try{await Et("/api/file/open",{method:"POST",headers:Rt,body:JSON.stringify({editorId:"default",filePath:Ae,ensureMode:O})}),U("success",ae||`Opened ${T} in the default app.`)}catch(qe){U("error",qe instanceof Error?qe.message:String(qe))}}async function $T(C){let T=String(C||"").trim();if(!T){U("warning","Model id is not ready yet.");return}try{await Eu(T),U("success",`Model id ${T} copied to clipboard.`)}catch(O){U("error",O instanceof Error?O.message:String(O))}}async function GT(){if(!(typeof window>"u"?!0:window.confirm("Rotate the gateway key? Existing clients using the old key will need the new one. Linked tools like AMP, Codex CLI, and Claude Code will auto-update to the new key.")))return;let T=Do(rt.value||mt||{});T.masterKey=ou();try{await Go(T,"Rotated gateway key. Linked tools like AMP, Codex CLI, and Claude Code refreshed automatically.")}catch{}}async function qT(C,T,{providerDraft:O=null,onModelTestStateChange:ae=null}={}){if(Te)return U("warning",Te),!1;let Ae=se.find(et=>et?.id===C);if(!Ae)return U("error",`Provider '${C}' was not found.`),!1;let qe=(Array.isArray(T)?T:[]).map(et=>({...et,id:String(et?.id||"").trim()})).filter(et=>et.id),Pe=O&&String(O?.id||"").trim()||C,Ot=O?Array.isArray(O?.endpoints)?mr(O.endpoints):Qn([],O?.endpoint||""):Sa(Ae),Nt=(Array.isArray(Ae?.models)?Ae.models:[]).map(et=>String(et?.id||"").trim()).filter(Boolean),Be=qe.map(et=>et.id).filter(et=>!Nt.includes(et));if(po(Ae)==="api"&&Be.length>0){if(Ot.length===0)return U("warning",`Provider '${Pe}' needs at least one endpoint before testing new models.`),!1;let et=ly(O,Ae);if(!et.apiKey&&!et.apiKeyEnv)return U("warning",`Provider '${Pe}' needs an API key or env before testing new models.`),!1;if(!(await Rv({providerId:Pe,endpoints:Ot,newModelIds:Be,credentialPayload:et,headers:Ae?.headers,onModelTestStateChange:ae})).ok)return!1}let zn=Gh(rt.value||mt,C,qe);try{let et=Be.length>0?`Tested ${Be.length} new model${Be.length===1?"":"s"} and updated ${C}.`:`Updated models for ${C}.`;return await Go(zn,et),ae?.({phase:"",modelStates:{},failedModelIds:[],message:""}),!0}catch{return!1}}async function WT(C,T,O={}){if(Te)return U("warning",Te),!1;let ae=BA(rt.value||mt,C,T),Ae=String(T?.id||C||"").trim()||C;try{return await Go(ae,O.successMessage||`Updated alias ${Ae}.`,{showSuccessNotice:O.showSuccessNotice!==!1}),!0}catch{return!1}}async function YT(C){if(Te){U("warning",Te);return}if(!(typeof window>"u"?!0:window.confirm(`Remove alias "${C}" from the config?`)))return;let O=UA(rt.value||mt,C);try{await Go(O,`Removed alias ${C}.`)}catch{}}async function U5(C){try{await Eu(C?.url||""),U("success",`${C?.label||"Endpoint"} copied to clipboard.`)}catch(T){U("error",T instanceof Error?T.message:String(T))}}async function QT(){let T=!(Lt?.routedViaRouter===!0);if(T){if(Ko){U("warning",Ko);return}if(!Fn){U("warning","Gateway key is still generating. Try again in a second.");return}if(!Oe){U("warning","API endpoint is not ready yet.");return}}ee(T?"enable":"disable");try{let O=!1,ae;try{ae=await Et("/api/amp/global-route",{method:"POST",headers:Rt,body:JSON.stringify({enabled:T,rawText:T?n:void 0,endpointUrl:Oe})})}catch(qe){if(qe?.statusCode===404&&T)O=!0,ae=await Et("/api/amp/apply",{method:"POST",headers:Rt,body:JSON.stringify({rawText:n,source:"amp-global-route-compat",patchScope:"global",endpointUrl:Oe})});else throw qe?.statusCode===404?new Error("Restart the web console so the AMP routing endpoint is available."):qe}await br({preserveDraft:!T});let Ae=T?"AMP connected.":"AMP disconnected.";U("success",O?`${Ae} Restart the web console if the AMP status does not refresh.`:Ae)}catch(O){U("error",O instanceof Error?O.message:String(O))}finally{ee("")}}function XT(C,T){if(Ko){U("warning",Ko);return}let O=String(T||"").trim(),ae=Cn.find(Pe=>Pe.id!==C&&String(Pe?.inbound||"").trim()===O);if(O&&ae){U("warning",`AMP inbound match "${O}" already exists.`);return}let Ae=fy(rt.value||mt,C,{inbound:T}),qe=`${JSON.stringify(Ae,null,2)}
54
- `;Dr(qe),Ri(qe)}function ZT(C,T){if(Ko){U("warning",Ko);return}let O=fy(rt.value||mt,C,{outbound:T==="__default__"?"":T}),ae=`${JSON.stringify(O,null,2)}
55
- `;Dr(ae),Ri(ae)}function JT(C){if(ro){U("warning",ro);return}let T=FC(rt.value||mt,{strategy:C}),O=`${JSON.stringify(T,null,2)}
56
- `;Dr(O),Ri(O)}function eN(C,T,O){if(ro){U("warning",ro);return}let ae=KC(rt.value||mt,C,{[T]:O}),Ae=`${JSON.stringify(ae,null,2)}
57
- `;Dr(Ae),Ri(Ae,{immediate:WC(C,T,O)})}function tN(C,T){if(ro){U("warning",ro);return}let O=qC(rt.value||mt,C,T),ae=`${JSON.stringify(O,null,2)}
58
- `;Dr(ae),Ri(ae)}function nN(C){if(ro){U("warning",ro);return}let T=GC(rt.value||mt,C),O=`${JSON.stringify(T,null,2)}
59
- `;Dr(O),Ri(O,{immediate:!0})}async function rN({providerId:C,modelId:T}){if(ro)throw new Error(ro);let O=fi(C,T);if(!O)throw new Error("Choose a provider and GPT model before testing.");if(new Set((Array.isArray(mn?.providers)?mn.providers:[]).map(Ot=>vn(Ot?.id)).filter(Boolean)).has(vn(O)))throw new Error(`Web search route '${O}' is already configured.`);let Ae=await Et("/api/config/test-web-search-provider",{method:"POST",headers:Rt,body:JSON.stringify({providerId:C,modelId:T,rawText:n})}),qe=$C(rt.value||mt,C,T),Pe=`${JSON.stringify(qe,null,2)}
60
- `;return Dr(Pe),Ri(Pe,{immediate:!0}),U("success",`Added ${O} to shared web search routing.`),Ae?.result||null}async function oN({inbound:C,outbound:T}){if(Ko)return U("warning",Ko),!1;let O=String(C||"").trim();if(O&&Cn.some(Ae=>String(Ae?.inbound||"").trim()===O))return U("warning",`AMP inbound match "${O}" already exists.`),!1;let ae=zC(rt.value||mt,{inbound:C,outbound:T});try{return await Go(ae,`Added AMP route ${String(C||"").trim()}.`),!0}catch{return!1}}async function aN(C){let T=findAmpEditableRouteEntry(rt.value||mt,C);if(!T?.removable)return;let O=T.source==="raw"?T.inbound||T.label:T.routeKey||T.label;if(!(typeof window>"u"?!0:window.confirm(`Remove AMP route mapping "${O}"?`)))return;let Ae=BC(rt.value||mt,C);try{await Go(Ae,`Removed AMP route ${O}.`)}catch{}}function P5(){r(o),l({rawText:o,summary:e?.config,validationMessages:e?.config?.validationMessages||[]}),j(!1),U("success","Editor reset to the latest disk version.")}function Ev(C){Dr(C),j(!1),U("success","Quick-start config loaded into the editor.")}async function Tv(C){Dr(C);try{await Av(C)}catch{}}async function Km(C){Dr(C);let T;try{T=await Av(C,{silent:!0})}catch{return null}let O=T?.summary||{};if(O.parseError)return U("warning",O.validationSummary||"Quick-start config contains invalid JSON."),null;try{let ae=await Fm(C,{successMessage:"Quick-start config saved."});return(O.validationErrors||[]).length>0&&U("warning",O.validationSummary),ae}catch{return null}}async function Nv(C){let T=await Km(C);return T?(N("activity"),T.router?.running?(U("success","Quick-start config saved. Router is already running."),!0):(U("success","Quick-start config saved. Starting router\u2026"),setTimeout(()=>{$m("start")},0),!0)):!1}async function iN(C){let T=await Km(C);return T&&Hm(),!!T}async function lN(C){let T=await Nv(C);return T&&Hm(),T}async function sN(){h(!0);try{await Et("/api/config/open",{method:"POST",headers:Rt,body:JSON.stringify({editorId:"default"})}),U("success","Opened config file in the default app.")}catch(C){U("error",C instanceof Error?C.message:String(C))}finally{h(!1)}}async function cN(){let T=!(Ee?.routedViaRouter===!0);if(T){if($o){U("warning",$o);return}if(!Fn){U("warning","Gateway key is still generating. Try again in a second.");return}if(!Oe){U("warning","API endpoint is not ready yet.");return}}F(T?"enable":"disable");try{await Et("/api/codex-cli/global-route",{method:"POST",headers:Rt,body:JSON.stringify({enabled:T,rawText:T?n:void 0,endpointUrl:Oe,bindings:T?{defaultModel:Ee?.bindings?.defaultModel||zm,thinkingLevel:Ee?.bindings?.thinkingLevel||""}:void 0})}),await br({preserveDraft:!T}),U("success",T?"Codex CLI connected.":"Codex CLI disconnected.")}catch(O){U("error",O instanceof Error?O.message:String(O))}finally{F("")}}async function uN(){let T=!(K?.routedViaRouter===!0);if(T){if($o){U("warning",$o);return}if(!Fn){U("warning","Gateway key is still generating. Try again in a second.");return}if(!Oe){U("warning","API endpoint is not ready yet.");return}}ct(T?"enable":"disable");try{await Et("/api/claude-code/global-route",{method:"POST",headers:Rt,body:JSON.stringify({enabled:T,rawText:T?n:void 0,endpointUrl:Oe,bindings:T?{primaryModel:K?.bindings?.primaryModel||"",defaultOpusModel:K?.bindings?.defaultOpusModel||"",defaultSonnetModel:K?.bindings?.defaultSonnetModel||"",defaultHaikuModel:K?.bindings?.defaultHaikuModel||"",subagentModel:K?.bindings?.subagentModel||"",thinkingLevel:K?.bindings?.thinkingLevel||""}:void 0})}),await br({preserveDraft:!T}),U("success",T?"Claude Code connected.":"Claude Code disconnected.")}catch(O){U("error",O instanceof Error?O.message:String(O))}finally{ct("")}}async function dN(C,T){let O={defaultModel:Ee?.bindings?.defaultModel||zm,thinkingLevel:Ee?.bindings?.thinkingLevel||""};O[C]=T,xe(!0);try{await Et("/api/codex-cli/model-bindings",{method:"POST",headers:Rt,body:JSON.stringify({bindings:O})}),await br({preserveDraft:!0}),U("success","Codex CLI bindings updated.")}catch(ae){U("error",ae instanceof Error?ae.message:String(ae))}finally{xe(!1)}}async function fN(C,T){if(C==="webSearchProvider"){I(!0);try{let Ae=await Et("/api/claude-code/search-provider",{method:"POST",headers:Rt,body:JSON.stringify({webSearchProvider:T,rawText:n})});xo(Ae,{preserveDraft:!1}),U("success",T?"Claude Code search capability updated.":"Claude Code search capability cleared.")}catch(Ae){U("error",Ae instanceof Error?Ae.message:String(Ae))}finally{I(!1)}return}let O=K?.routedViaRouter===!0;if(C==="thinkingLevel"&&!O){I(!0);try{await Et("/api/claude-code/effort-level",{method:"POST",headers:Rt,body:JSON.stringify({effortLevel:T})}),await br({preserveDraft:!0}),U("success",T?`Effort level set to ${T}.`:"Effort level cleared.")}catch(Ae){U("error",Ae instanceof Error?Ae.message:String(Ae))}finally{I(!1)}return}let ae={primaryModel:K?.bindings?.primaryModel||"",defaultOpusModel:K?.bindings?.defaultOpusModel||"",defaultSonnetModel:K?.bindings?.defaultSonnetModel||"",defaultHaikuModel:K?.bindings?.defaultHaikuModel||"",subagentModel:K?.bindings?.subagentModel||"",thinkingLevel:K?.bindings?.thinkingLevel||""};ae[C]=T,I(!0);try{await Et("/api/claude-code/model-bindings",{method:"POST",headers:Rt,body:JSON.stringify({bindings:ae})}),await br({preserveDraft:!0}),U("success","Claude Code model bindings updated.")}catch(Ae){U("error",Ae instanceof Error?Ae.message:String(Ae))}finally{I(!1)}}async function mN(){let T=!(de?.routedViaRouter===!0);if(T){if($o){U("warning",$o);return}if(!Fn){U("warning","Gateway key is still generating. Try again in a second.");return}if(!Oe){U("warning","API endpoint is not ready yet.");return}}je(T?"enable":"disable");try{await Et("/api/factory-droid/global-route",{method:"POST",headers:Rt,body:JSON.stringify({enabled:T,rawText:T?n:void 0,endpointUrl:Oe,bindings:T?{defaultModel:de?.bindings?.defaultModel||"",missionOrchestratorModel:de?.bindings?.missionOrchestratorModel||"",missionWorkerModel:de?.bindings?.missionWorkerModel||"",missionValidatorModel:de?.bindings?.missionValidatorModel||"",reasoningEffort:de?.bindings?.reasoningEffort||""}:void 0})}),await br({preserveDraft:!T}),U("success",T?"Factory Droid connected.":"Factory Droid disconnected.")}catch(O){U("error",O instanceof Error?O.message:String(O))}finally{je("")}}async function pN(C,T){let O={defaultModel:de?.bindings?.defaultModel||"",missionOrchestratorModel:de?.bindings?.missionOrchestratorModel||"",missionWorkerModel:de?.bindings?.missionWorkerModel||"",missionValidatorModel:de?.bindings?.missionValidatorModel||"",reasoningEffort:de?.bindings?.reasoningEffort||""};O[C]=T,ve(!0);try{await Et("/api/factory-droid/model-bindings",{method:"POST",headers:Rt,body:JSON.stringify({bindings:O})}),await br({preserveDraft:!0}),U("success","Factory Droid model bindings updated.")}catch(ae){U("error",ae instanceof Error?ae.message:String(ae))}finally{ve(!1)}}async function $m(C){y(C);try{let T=await Et(`/api/router/${C}`,{method:"POST",headers:Rt,body:"{}"});xo(T,{preserveDraft:!0}),U("success",T.message||`Router ${C}ed.`)}catch(T){await br({preserveDraft:!0}).catch(()=>{}),U("error",T instanceof Error?T.message:String(T))}finally{y("")}}async function gN(C){w(C);try{let T=await Et(`/api/startup/${C}`,{method:"POST",headers:Rt,body:"{}"});xo(T,{preserveDraft:!0}),U("success",T.message||`Startup ${C}d.`)}catch(T){await br({preserveDraft:!0}).catch(()=>{}),U("error",T instanceof Error?T.message:String(T))}finally{w("")}}async function hN(){let C=!Gt;Se("toggle");try{let T=await Et("/api/activity-log/settings",{method:"POST",headers:Rt,body:JSON.stringify({enabled:C})});xo(T,{preserveDraft:!0}),U("success",T.message||`Activity log ${C?"enabled":"disabled"}.`)}catch(T){await br({preserveDraft:!0}).catch(()=>{}),U("error",T instanceof Error?T.message:String(T))}finally{Se("")}}async function yN(){if(typeof window>"u"||window.confirm("Clear the shared activity log file? This also clears the Activity tab for connected web console sessions.")){Se("clear");try{let T=await Et("/api/activity-log/clear",{method:"POST",headers:Rt,body:"{}"});xo(T,{preserveDraft:!0}),U("success",T.message||"Activity log cleared.")}catch(T){U("error",T instanceof Error?T.message:String(T))}finally{Se("")}}}async function vN(C){let T=se.find(qe=>qe.id===C);if(!(typeof window>"u"?!0:window.confirm(`Remove provider "${T?.name||C}" from the config?`)))return;let ae=SC(e?.config?.document||Sn||{},C),Ae=`${JSON.stringify(ae,null,2)}
61
- `;Dr(Ae);try{await Fm(Ae,{successMessage:`Removed provider ${T?.name||C}.`})}catch{}}async function So(){vr(!0);try{let T=await(await fetch("/api/ollama/models",{method:"POST",headers:{"content-type":"application/json"},body:"{}"})).json();T?.models&&Ue(T.models)}catch{}finally{vr(!1)}}(0,me.useEffect)(()=>{A==="ollama"&&Ci&&So()},[A,Ci]);function vl(C,T,O){Ge(ae=>({...ae,[C]:{...ae[C]||{},[T]:O}}))}async function bN(C){vl(C,"loading",!0);try{await fetch("/api/ollama/load",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({model:C})}),await So()}finally{vl(C,"loading",!1)}}async function xN(C){vl(C,"unloading",!0);try{await fetch("/api/ollama/unload",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({model:C})}),await So()}finally{vl(C,"unloading",!1)}}async function SN(C,T){vl(C,"pinning",!0);try{await fetch("/api/ollama/pin",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({model:C,pinned:T})}),await So()}finally{vl(C,"pinning",!1)}}async function wN(C,T){await fetch("/api/ollama/keep-alive",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({model:C,keepAlive:T})}),await So()}async function AN(C,T){await fetch("/api/ollama/context-length",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({model:C,contextLength:T})}),await So()}async function CN(C){await fetch("/api/ollama/add-model",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({model:C})}),await So()}async function RN(C){await fetch("/api/ollama/remove-model",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({model:C})}),await So()}async function EN(C,T){await fetch("/api/ollama/auto-load",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({model:C,autoLoad:T})})}async function TN(C){await fetch("/api/ollama/save-settings",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(C)})}async function NN(){Ge(C=>({...C,_install:!0}));try{await fetch("/api/ollama/install",{method:"POST",headers:{"content-type":"application/json"},body:"{}"})}finally{Ge(C=>({...C,_install:!1}))}}async function MN(){Ge(C=>({...C,_startServer:!0}));try{await fetch("/api/ollama/start-server",{method:"POST",headers:{"content-type":"application/json"},body:"{}"})}finally{Ge(C=>({...C,_startServer:!1}))}}async function ON(){await fetch("/api/ollama/stop-server",{method:"POST",headers:{"content-type":"application/json"},body:"{}"})}async function _N(){Ge(C=>({...C,_syncRouter:!0}));try{await fetch("/api/ollama/sync-router",{method:"POST",headers:{"content-type":"application/json"},body:"{}"}),await So()}finally{Ge(C=>({...C,_syncRouter:!1}))}}return d?(0,z.jsx)("div",{className:"console-shell flex min-h-screen items-center justify-center px-6 py-10",children:(0,z.jsx)(Ft,{className:"w-full max-w-lg",children:(0,z.jsxs)(Kt,{className:"space-y-3 p-6 text-center",children:[(0,z.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.2em] text-muted-foreground",children:"LLM Router"}),(0,z.jsx)("div",{className:"text-xl font-semibold text-foreground",children:"Loading web console\u2026"}),(0,z.jsx)("div",{className:"text-sm text-muted-foreground",children:"Preparing config state, router controls, and live activity."})]})})}):zT?(0,z.jsx)("div",{className:"console-shell min-h-screen px-4 py-6 md:px-6",children:(0,z.jsxs)("div",{className:"mx-auto flex max-w-5xl flex-col gap-4",children:[(0,z.jsx)(sv,{notices:s,onDismiss:wv}),Um?(0,z.jsx)(RT,{currentConfigPath:gv,productionConfigPath:hv,routerPort:Mu,canSyncProductionConfig:Pm,syncBusy:R,onSyncProductionConfig:Cv}):null,(0,z.jsx)("div",{id:"quick-start-wizard",children:(0,z.jsx)(fv,{baseConfig:Sn,seedMode:bv,mode:"onboarding",targetProviderId:xv,defaultProviderUserAgent:Sv,onApplyDraft:Ev,onValidateDraft:Tv,onSaveDraft:Km,onSaveAndStart:Nv},`onboarding-wizard-${bv}-${xv||"new"}`)})]})}):(0,z.jsx)("div",{className:"console-shell min-h-screen px-4 py-4 md:px-6 md:py-6",children:(0,z.jsxs)("div",{className:"mx-auto flex max-w-7xl flex-col gap-4",children:[Um?(0,z.jsx)(RT,{currentConfigPath:gv,productionConfigPath:hv,routerPort:Mu,canSyncProductionConfig:Pm,syncBusy:R,onSyncProductionConfig:Cv}):null,(0,z.jsx)(Ft,{className:"overflow-hidden",children:(0,z.jsx)(Kt,{className:"p-5",children:(0,z.jsxs)("div",{className:"space-y-4",children:[(0,z.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,z.jsx)("div",{className:"min-w-0 flex-1",children:(0,z.jsxs)("h1",{className:"inline-flex items-center gap-2 text-2xl font-semibold tracking-tight text-foreground",children:[(0,z.jsx)("span",{children:"LLM Router Web Console"}),(0,z.jsx)(ml,{connected:yl,size:"md",srLabel:"Router running"}),Um?(0,z.jsx)(Je,{variant:"warning",className:"border-amber-300 bg-amber-100 text-amber-950",children:"Dev Mode"}):null]})}),(0,z.jsxs)("div",{className:"flex shrink-0 flex-wrap items-center gap-2",children:[(0,z.jsxs)("a",{href:$A,target:"_blank",rel:"noreferrer noopener",className:"inline-flex h-8 items-center gap-2 rounded-lg border border-amber-300 bg-amber-50/90 px-3 text-xs font-medium uppercase tracking-[0.16em] text-amber-900 transition-colors hover:bg-amber-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-amber-500/60 focus-visible:ring-offset-2 focus-visible:ring-offset-background","aria-label":"Support LLM Router via GitHub Sponsors",title:"Support LLM Router",children:[(0,z.jsx)(rC,{className:"h-3.5 w-3.5"}),(0,z.jsx)("span",{children:"Buy me a coffee"})]}),(0,z.jsxs)("a",{href:KA,target:"_blank",rel:"noreferrer noopener",className:"inline-flex h-8 items-center gap-2 rounded-lg border border-border bg-background/80 px-3 text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/60 focus-visible:ring-offset-2 focus-visible:ring-offset-background","aria-label":"Open the LLM Router GitHub repository",title:"Open GitHub repository",children:[(0,z.jsx)(nC,{className:"h-3.5 w-3.5"}),(0,z.jsx)("span",{children:"Repo"})]})]})]}),(0,z.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,z.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,z.jsxs)(q,{size:"sm",variant:yl?"outline":void 0,className:"px-2 sm:px-3",onClick:()=>$m(yl?"stop":"start"),disabled:g!=="","aria-label":jm,title:jm,children:[yl?(0,z.jsx)(aC,{className:"h-3.5 w-3.5"}):(0,z.jsx)(oC,{className:"h-3.5 w-3.5"}),(0,z.jsx)("span",{className:"hidden sm:inline",children:jm})]}),(0,z.jsxs)(q,{size:"sm",variant:"outline",className:"px-2 sm:px-3",onClick:sN,disabled:b,"aria-label":b?"Opening config file":"Open config file",title:b?"Opening config file":"Open config file",children:[(0,z.jsx)(iC,{className:"h-3.5 w-3.5"}),(0,z.jsx)("span",{className:"hidden sm:inline",children:b?"Opening\u2026":"Open config file"})]}),(0,z.jsxs)(q,{size:"sm",variant:"outline",className:"px-2 sm:px-3",onClick:()=>gN(pv?"disable":"enable"),disabled:x!=="","aria-label":Vm,title:Vm,children:[(0,z.jsx)(lC,{className:"h-3.5 w-3.5"}),(0,z.jsx)("span",{className:"hidden sm:inline",children:Vm})]})]}),(0,z.jsx)(tT,{endpointValue:Oe||$c,endpointDisabled:!Oe,gatewayValue:Fn?DT:"Generating\u2026",gatewayPending:!Fn,gatewayDisabled:!Fn||f,rotateDisabled:f,onCopyEndpoint:FT,onCopyGatewayKey:HT,onRotateKey:GT})]}),f||v?(0,z.jsx)("div",{className:"flex flex-wrap gap-2 text-xs text-muted-foreground",children:(0,z.jsx)("span",{className:"rounded-full bg-secondary px-2.5 py-1",children:f?"Saving changes\u2026":"Validating\u2026"})}):null,!yl&&e?.router?.portBusy&&!e?.router?.portBusySelf?(0,z.jsx)("div",{className:"flex flex-wrap items-center gap-2",children:(0,z.jsx)(q,{size:"sm",variant:"outline",onClick:()=>$m("reclaim"),disabled:g!=="",children:g==="reclaim"?"Reclaiming\u2026":`Reclaim port ${Mu}`})}):null,yv?(0,z.jsx)("div",{className:$("rounded-xl border px-3 py-2 text-sm",e?.router?.portBusy?"border-amber-200 bg-amber-50 text-amber-900":"border-rose-200 bg-rose-50 text-rose-800"),children:yv}):null]})})}),(0,z.jsx)(sv,{notices:s,onDismiss:wv}),(0,z.jsx)("div",{className:"space-y-4",children:(0,z.jsx)(mT,{providers:se.filter(C=>C?.type!=="ollama"),onAddProvider:UT,onRemove:vN,onCopyModelId:$T,onApplyProviderDetails:PT,onApplyProviderModels:qT,onSaveAndCloseEditor:jT,disabledReason:Te,busy:f})}),(0,z.jsxs)(ps,{value:A,onValueChange:N,className:"space-y-0",children:[(0,z.jsx)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between",children:(0,z.jsxs)(gs,{children:[(0,z.jsx)(ur,{value:"model-alias",children:"Alias & Fallback"}),(0,z.jsx)(ur,{value:"amp",children:(0,z.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,z.jsx)("span",{children:"AMP"}),(0,z.jsx)(ml,{connected:In,srLabel:"AMP connected"})]})}),(0,z.jsx)(ur,{value:"codex-cli",children:(0,z.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,z.jsx)("span",{children:"Codex CLI"}),(0,z.jsx)(ml,{connected:wi,srLabel:"Codex CLI connected"})]})}),(0,z.jsx)(ur,{value:"claude-code",children:(0,z.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,z.jsx)("span",{children:"Claude Code"}),(0,z.jsx)(ml,{connected:Ai,srLabel:"Claude Code connected"})]})}),(0,z.jsx)(ur,{value:"factory-droid",children:(0,z.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,z.jsx)("span",{children:"Factory Droid"}),(0,z.jsx)(ml,{connected:Tu,srLabel:"Factory Droid connected"})]})}),(0,z.jsx)(ur,{value:"ollama",children:(0,z.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,z.jsx)("span",{children:"Ollama"}),(0,z.jsx)(ml,{connected:Ci,srLabel:"Ollama connected"})]})}),(0,z.jsx)(ur,{value:"web-search",children:"Web Search"}),(0,z.jsx)(ur,{value:"activity",children:"Activity"})]})}),(0,z.jsx)(dr,{value:"model-alias",className:"space-y-4",children:(0,z.jsx)(aT,{aliases:Z,config:M,aliasIds:Object.keys(Z),routeOptions:Le,defaultModel:String(M?.defaultModel||"").trim(),ampDefaultRoute:zm,disabledReason:Te,busy:f,onApplyAlias:WT,onRemoveAlias:YT,onCopyAliasId:KT})}),(0,z.jsx)(dr,{value:"amp",className:"space-y-4",children:(0,z.jsx)(hT,{rows:Cn,routeOptions:Zt,webSearchSnapshot:wn,ampClientUrl:Oe,ampClientGlobal:Lt,routingBusy:V,onToggleGlobalRouting:QT,onInboundChange:XT,onOutboundChange:ZT,onCreateEntry:oN,onRemoveEntry:aN,onOpenWebSearchTab:()=>N("web-search"),onOpenConfigPath:()=>Ta(Lt?.settingsFilePath,"AMP config file",{ensureMode:"jsonObject",successMessage:"Opened AMP config file in the default app."}),onOpenSecretsPath:()=>Ta(Lt?.secretsFilePath,"AMP secrets file",{ensureMode:"jsonObject",successMessage:"Opened AMP secrets file in the default app."}),hasMasterKey:!!String(H?.masterKey||"").trim(),disabledReason:Ko,autosaveState:Hn})}),(0,z.jsx)(dr,{value:"codex-cli",className:"space-y-4",children:(0,z.jsx)(Im,{toolName:"Codex CLI",toolState:Ee,endpointUrl:Ee?.configuredBaseUrl||`${Oe?`${Oe}/openai/v1`:""}`,routeOptions:_T,connectionBusy:Q,bindingBusy:le,onToggleRouting:cN,onBindingChange:dN,hasMasterKey:!!Fn,disabledReason:$o,onOpenPrimaryPath:()=>Ta(Ee?.configFilePath,"Codex CLI config file",{ensureMode:"text",successMessage:"Opened Codex CLI config file in the default app."}),onOpenSecondaryPath:()=>Ta(Ee?.backupFilePath,"Codex CLI backup file",{ensureMode:"jsonObject",successMessage:"Opened Codex CLI backup file in the default app."}),guideContent:bT({bindingValue:Ee?.bindings?.defaultModel,thinkingLevel:Ee?.bindings?.thinkingLevel,configFilePath:Ee?.configFilePath,endpointUrl:Ee?.configuredBaseUrl||`${Oe?`${Oe}/openai/v1`:""}`}),bindingFields:[{id:"defaultModel",label:"Default model",description:"Choose a managed route/alias to set Codex CLI `model`, or use Inherit Codex CLI model to keep Codex built-in model names and route them through same-name LLM Router aliases.",envKey:"model",value:Ee?.bindings?.defaultModel||"",allowUnset:!1,placeholder:"Select a default route",extraOptions:[{value:Wh,label:"Inherit Codex CLI model",hint:"Keep Codex built-in model names; route them via same-name aliases in LLM Router"}]},{id:"thinkingLevel",label:"Thinking level",description:"Maps to Codex CLI `model_reasoning_effort`. Official values are `minimal`, `low`, `medium`, `high`, and `xhigh` (`xhigh` is model-dependent).",envKey:"model_reasoning_effort",value:Ee?.bindings?.thinkingLevel||"",allowUnset:!0,usesRouteOptions:!1,placeholder:"Inherit Codex default",options:XA}]})}),(0,z.jsx)(dr,{value:"claude-code",className:"space-y-4",children:(0,z.jsx)(Im,{toolName:"Claude Code",toolState:K,endpointUrl:K?.configuredBaseUrl||`${Oe?`${Oe}/anthropic`:""}`,routeOptions:kT,connectionBusy:P,bindingBusy:Ie,onToggleRouting:uN,onBindingChange:fN,hasMasterKey:!!Fn,disabledReason:$o,onOpenPrimaryPath:()=>Ta(K?.settingsFilePath,"Claude Code config file",{ensureMode:"jsonObject",successMessage:"Opened Claude Code config file in the default app."}),onOpenSecondaryPath:()=>Ta(K?.backupFilePath,"Claude Code backup file",{ensureMode:"jsonObject",successMessage:"Opened Claude Code backup file in the default app."}),guideContent:xT({bindings:K?.bindings,settingsFilePath:K?.settingsFilePath,endpointUrl:K?.configuredBaseUrl||`${Oe?`${Oe}/anthropic`:""}`}),bindingFields:[{id:"primaryModel",label:"Current model override",description:"Optional. Set `ANTHROPIC_MODEL` only when you want to override Claude Code\u2019s own `model` setting with a managed route or alias.",envKey:"ANTHROPIC_MODEL",value:K?.bindings?.primaryModel||"",allowUnset:!0,placeholder:"Inherit Claude Code default"},{id:"defaultOpusModel",label:"Default Opus",description:"Maps `ANTHROPIC_DEFAULT_OPUS_MODEL` so Claude Code\u2019s `opus` alias points to a managed route or alias.",envKey:"ANTHROPIC_DEFAULT_OPUS_MODEL",value:K?.bindings?.defaultOpusModel||"",allowUnset:!0,placeholder:"Select an Opus route"},{id:"defaultSonnetModel",label:"Default Sonnet",description:"Maps `ANTHROPIC_DEFAULT_SONNET_MODEL` so Claude Code\u2019s `sonnet` alias points to a managed route or alias.",envKey:"ANTHROPIC_DEFAULT_SONNET_MODEL",value:K?.bindings?.defaultSonnetModel||"",allowUnset:!0,placeholder:"Select a Sonnet route"},{id:"defaultHaikuModel",label:"Default Haiku",description:"Maps `ANTHROPIC_DEFAULT_HAIKU_MODEL` so Claude Code\u2019s `haiku` alias points to a managed route or alias.",envKey:"ANTHROPIC_DEFAULT_HAIKU_MODEL",value:K?.bindings?.defaultHaikuModel||"",allowUnset:!0,placeholder:"Select a Haiku route"},{id:"subagentModel",label:"Sub-agent model",description:"Maps `CLAUDE_CODE_SUBAGENT_MODEL` for Claude Code sub-agents and background workers.",envKey:"CLAUDE_CODE_SUBAGENT_MODEL",value:K?.bindings?.subagentModel||"",allowUnset:!0,placeholder:"Select a sub-agent route"},{id:"webSearchProvider",label:"Search capability",description:"Choose which configured router web-search backend powers Claude Code\u2019s native Anthropic web tools like `web_search_*`. Native `web_fetch_*` page retrieval is intercepted locally by LLM Router and does not use this provider selection.",envKey:"claudeCode.webSearchProvider",value:K?.webSearchProvider||"",allowUnset:!0,usesRouteOptions:!1,standaloneWhenDisconnected:!0,placeholder:"Use default router web-search order",options:Ps},{id:"thinkingLevel",label:"Effort level",description:'Sets `CLAUDE_CODE_EFFORT_LEVEL` in your shell profile (~/.zshrc or ~/.bashrc). Falls back to `effortLevel` in settings.json (only "high") if shell profile cannot be updated.',envKey:"CLAUDE_CODE_EFFORT_LEVEL",value:K?.bindings?.thinkingLevel||"",allowUnset:!0,usesRouteOptions:!1,standaloneWhenDisconnected:!0,placeholder:"Inherit Claude Code adaptive default",options:ZA}]})}),(0,z.jsx)(dr,{value:"factory-droid",className:"space-y-4",children:(0,z.jsx)(Im,{toolName:"Factory Droid",toolState:de,endpointUrl:de?.configuredBaseUrl||`${Oe?`${Oe}/openai/v1`:""}`,routeOptions:LT,connectionBusy:X,bindingBusy:ue,onToggleRouting:mN,onBindingChange:pN,hasMasterKey:!!Fn,disabledReason:$o,onOpenPrimaryPath:()=>Ta(de?.settingsFilePath,"Factory Droid config file",{ensureMode:"jsonObject",successMessage:"Opened Factory Droid config file in the default app."}),onOpenSecondaryPath:()=>Ta(de?.backupFilePath,"Factory Droid backup file",{ensureMode:"jsonObject",successMessage:"Opened Factory Droid backup file in the default app."}),guideContent:ST({bindings:de?.bindings,settingsFilePath:de?.settingsFilePath,endpointUrl:de?.configuredBaseUrl||`${Oe?`${Oe}/openai/v1`:""}`}),bindingFields:[{id:"defaultModel",label:"Normal mode model",description:"Choose a managed route or alias for normal Factory sessions. LLM Router writes both the legacy `model` field and current `sessionDefaultSettings.model` default.",envKey:"sessionDefaultSettings.model",value:de?.bindings?.defaultModel||"",allowUnset:!0,placeholder:"Select a default route"},{id:"missionOrchestratorModel",label:"Mission orchestrator",description:"Choose the managed route or alias used for Factory mission orchestration.",envKey:"missionOrchestratorModel",value:de?.bindings?.missionOrchestratorModel||"",allowUnset:!0,placeholder:"Use Factory orchestrator default"},{id:"missionWorkerModel",label:"Mission worker",description:"Choose the managed route or alias used for Factory mission workers.",envKey:"missionModelSettings.workerModel",value:de?.bindings?.missionWorkerModel||"",allowUnset:!0,placeholder:"Use Factory worker default"},{id:"missionValidatorModel",label:"Mission validator",description:"Choose the managed route or alias used for Factory validation workers.",envKey:"missionModelSettings.validationWorkerModel",value:de?.bindings?.missionValidatorModel||"",allowUnset:!0,placeholder:"Use Factory validator default"},{id:"reasoningEffort",label:"Reasoning effort",description:"Maps to Factory Droid `reasoningEffort` setting. Controls the depth of extended thinking for supported models.",envKey:"reasoningEffort",value:de?.bindings?.reasoningEffort||"",allowUnset:!0,usesRouteOptions:!1,placeholder:"Inherit Factory Droid default",options:JA}]})}),(0,z.jsx)(dr,{value:"ollama",className:"space-y-4",children:(0,z.jsx)(pT,{connected:Ci,snapshot:Us,models:G,busy:$e,refreshing:An,config:M,onRefresh:So,onLoad:bN,onUnload:xN,onPin:SN,onKeepAlive:wN,onContextLength:AN,onAddToRouter:CN,onRemoveFromRouter:RN,onAutoLoad:EN,onSaveSettings:TN,onInstall:NN,onStartServer:MN,onStopServer:ON,onSyncRouter:_N})}),(0,z.jsx)(dr,{value:"web-search",className:"space-y-4",children:(0,z.jsx)(yT,{webSearchConfig:mn,webSearchProviders:hl,hostedSearchCandidates:OT,onWebSearchStrategyChange:JT,onWebSearchProviderChange:eN,onWebSearchProviderMove:tN,onRemoveWebSearchProvider:nN,onAddHostedSearchEndpoint:rN,disabledReason:ro,autosaveState:Hn})}),(0,z.jsx)(dr,{value:"activity",children:(0,z.jsx)(wT,{logs:e?.logs||[],activityLogEnabled:Gt,activityFilter:Ce,busyAction:ke,onActivityFilterChange:He,onToggleEnabled:hN,onClear:yN})})]}),(0,z.jsx)(Jn,{open:IT,onClose:Hm,title:"Add provider",contentClassName:"max-h-[92vh] max-w-5xl rounded-2xl border border-border/70 bg-background/98 shadow-[0_32px_120px_rgba(15,23,42,0.48)]",closeOnBackdrop:!1,bodyClassName:"max-h-[calc(92vh-5.5rem)]",children:(0,z.jsx)(fv,{baseConfig:Sn,seedMode:"blank",mode:"add",targetProviderId:"",defaultProviderUserAgent:Sv,onApplyDraft:Ev,onValidateDraft:Tv,onSaveDraft:iN,onSaveAndStart:lN,framed:!1,showHeader:!1},`provider-wizard-modal-${ie}`)})]})})}var MT=_(J(),1),TT=document.getElementById("app");TT&&(0,NT.createRoot)(TT).render((0,MT.jsx)(ET,{}));})();
51
+ `)},o5=0,Us=[];function NN(e){var t=qt.useRef([]),n=qt.useRef([0,0]),r=qt.useRef(),o=qt.useState(o5++)[0],a=qt.useState(Eu)[0],i=qt.useRef(e);qt.useEffect(function(){i.current=e},[e]),qt.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(o));var m=uN([e.lockRef.current],(e.shards||[]).map(RN),!0).filter(Boolean);return m.forEach(function(v){return v.classList.add("allow-interactivity-".concat(o))}),function(){document.body.classList.remove("block-interactivity-".concat(o)),m.forEach(function(v){return v.classList.remove("allow-interactivity-".concat(o))})}}},[e.inert,e.lockRef.current,e.shards]);var l=qt.useCallback(function(m,v){if("touches"in m&&m.touches.length===2||m.type==="wheel"&&m.ctrlKey)return!i.current.allowPinchZoom;var h=Cm(m),g=n.current,y="deltaX"in m?m.deltaX:g[0]-h[0],x="deltaY"in m?m.deltaY:g[1]-h[1],A,N=m.target,E=Math.abs(y)>Math.abs(x)?"h":"v";if("touches"in m&&E==="h"&&N.type==="range")return!1;var C=window.getSelection(),O=C&&C.anchorNode,L=O?O===N||O.contains(N):!1;if(L)return!1;var V=sb(E,N);if(!V)return!0;if(V?A=E:(A=E==="v"?"h":"v",V=sb(E,N)),!V)return!1;if(!r.current&&"changedTouches"in m&&(y||x)&&(r.current=A),!A)return!0;var z=r.current||A;return AN(z,v,m,z==="h"?y:x,!0)},[]),s=qt.useCallback(function(m){var v=m;if(!(!Us.length||Us[Us.length-1]!==a)){var h="deltaY"in v?CN(v):Cm(v),g=t.current.filter(function(A){return A.name===v.type&&(A.target===v.target||v.target===A.shadowParent)&&n5(A.delta,h)})[0];if(g&&g.should){v.cancelable&&v.preventDefault();return}if(!g){var y=(i.current.shards||[]).map(RN).filter(Boolean).filter(function(A){return A.contains(v.target)}),x=y.length>0?l(v,y[0]):!i.current.noIsolation;x&&v.cancelable&&v.preventDefault()}}},[]),c=qt.useCallback(function(m,v,h,g){var y={name:m,delta:v,target:h,should:g,shadowParent:a5(h)};t.current.push(y),setTimeout(function(){t.current=t.current.filter(function(x){return x!==y})},1)},[]),d=qt.useCallback(function(m){n.current=Cm(m),r.current=void 0},[]),u=qt.useCallback(function(m){c(m.type,CN(m),m.target,l(m,e.lockRef.current))},[]),f=qt.useCallback(function(m){c(m.type,Cm(m),m.target,l(m,e.lockRef.current))},[]);qt.useEffect(function(){return Us.push(a),e.setCallbacks({onScrollCapture:u,onWheelCapture:u,onTouchMoveCapture:f}),document.addEventListener("wheel",s,yl),document.addEventListener("touchmove",s,yl),document.addEventListener("touchstart",d,yl),function(){Us=Us.filter(function(m){return m!==a}),document.removeEventListener("wheel",s,yl),document.removeEventListener("touchmove",s,yl),document.removeEventListener("touchstart",d,yl)}},[]);var p=e.removeScrollBar,b=e.inert;return qt.createElement(qt.Fragment,null,b?qt.createElement(a,{styles:r5(o)}):null,p?qt.createElement(ib,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function a5(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}var EN=eb(Am,NN);var TN=Rm.forwardRef(function(e,t){return Rm.createElement(Nu,Sr({},e,{ref:t,sideCar:EN}))});TN.classNames=Nu.classNames;var cb=TN;var Be=B(te(),1),i5=[" ","Enter","ArrowUp","ArrowDown"],l5=[" ","Enter"],bl="Select",[Em,Tm,s5]=Tf(bl),[js,A4]=Zr(bl,[s5,Ky]),Mm=Ky(),[c5,Ni]=js(bl),[u5,d5]=js(bl),MN=e=>{let{__scopeSelect:t,children:n,open:r,defaultOpen:o,onOpenChange:a,value:i,defaultValue:l,onValueChange:s,dir:c,name:d,autoComplete:u,disabled:f,required:p,form:b}=e,m=Mm(t),[v,h]=le.useState(null),[g,y]=le.useState(null),[x,A]=le.useState(!1),N=ws(c),[E,C]=Aa({prop:r,defaultProp:o??!1,onChange:a,caller:bl}),[O,L]=Aa({prop:i,defaultProp:l,onChange:s,caller:bl}),V=le.useRef(null),z=v?b||!!v.closest("form"):!0,[G,Z]=le.useState(new Set),ue=Array.from(G).map(q=>q.props.value).join(";");return(0,Be.jsx)(eN,{...m,children:(0,Be.jsxs)(c5,{required:p,scope:t,trigger:v,onTriggerChange:h,valueNode:g,onValueNodeChange:y,valueNodeHasChildren:x,onValueNodeHasChildrenChange:A,contentId:hi(),value:O,onValueChange:L,open:E,onOpenChange:C,dir:N,triggerPointerDownPosRef:V,disabled:f,children:[(0,Be.jsx)(Em.Provider,{scope:t,children:(0,Be.jsx)(u5,{scope:e.__scopeSelect,onNativeOptionAdd:le.useCallback(q=>{Z(oe=>new Set(oe).add(q))},[]),onNativeOptionRemove:le.useCallback(q=>{Z(oe=>{let ee=new Set(oe);return ee.delete(q),ee})},[]),children:n})}),z?(0,Be.jsxs)(XN,{"aria-hidden":!0,required:p,tabIndex:-1,name:d,autoComplete:u,value:O,onChange:q=>L(q.target.value),disabled:f,form:b,children:[O===void 0?(0,Be.jsx)("option",{value:""}):null,Array.from(G)]},ue):null]})})};MN.displayName=bl;var ON="SelectTrigger",kN=le.forwardRef((e,t)=>{let{__scopeSelect:n,disabled:r=!1,...o}=e,a=Mm(n),i=Ni(ON,n),l=i.disabled||r,s=Tt(t,i.onTriggerChange),c=Tm(n),d=le.useRef("touch"),[u,f,p]=ZN(m=>{let v=c().filter(y=>!y.disabled),h=v.find(y=>y.value===i.value),g=eE(v,m,h);g!==void 0&&i.onValueChange(g.value)}),b=m=>{l||(i.onOpenChange(!0),p()),m&&(i.triggerPointerDownPosRef.current={x:Math.round(m.pageX),y:Math.round(m.pageY)})};return(0,Be.jsx)(tN,{asChild:!0,...a,children:(0,Be.jsx)(at.button,{type:"button",role:"combobox","aria-controls":i.contentId,"aria-expanded":i.open,"aria-required":i.required,"aria-autocomplete":"none",dir:i.dir,"data-state":i.open?"open":"closed",disabled:l,"data-disabled":l?"":void 0,"data-placeholder":JN(i.value)?"":void 0,...o,ref:s,onClick:vt(o.onClick,m=>{m.currentTarget.focus(),d.current!=="mouse"&&b(m)}),onPointerDown:vt(o.onPointerDown,m=>{d.current=m.pointerType;let v=m.target;v.hasPointerCapture(m.pointerId)&&v.releasePointerCapture(m.pointerId),m.button===0&&m.ctrlKey===!1&&m.pointerType==="mouse"&&(b(m),m.preventDefault())}),onKeyDown:vt(o.onKeyDown,m=>{let v=u.current!=="";!(m.ctrlKey||m.altKey||m.metaKey)&&m.key.length===1&&f(m.key),!(v&&m.key===" ")&&i5.includes(m.key)&&(b(),m.preventDefault())})})})});kN.displayName=ON;var _N="SelectValue",LN=le.forwardRef((e,t)=>{let{__scopeSelect:n,className:r,style:o,children:a,placeholder:i="",...l}=e,s=Ni(_N,n),{onValueNodeHasChildrenChange:c}=s,d=a!==void 0,u=Tt(t,s.onValueNodeChange);return on(()=>{c(d)},[c,d]),(0,Be.jsx)(at.span,{...l,ref:u,style:{pointerEvents:"none"},children:JN(s.value)?(0,Be.jsx)(Be.Fragment,{children:i}):a})});LN.displayName=_N;var f5="SelectIcon",DN=le.forwardRef((e,t)=>{let{__scopeSelect:n,children:r,...o}=e;return(0,Be.jsx)(at.span,{"aria-hidden":!0,...o,ref:t,children:r||"\u25BC"})});DN.displayName=f5;var m5="SelectPortal",BN=e=>(0,Be.jsx)(qy,{asChild:!0,...e});BN.displayName=m5;var vl="SelectContent",IN=le.forwardRef((e,t)=>{let n=Ni(vl,e.__scopeSelect),[r,o]=le.useState();if(on(()=>{o(new DocumentFragment)},[]),!n.open){let a=r;return a?gb.createPortal((0,Be.jsx)(zN,{scope:e.__scopeSelect,children:(0,Be.jsx)(Em.Slot,{scope:e.__scopeSelect,children:(0,Be.jsx)("div",{children:e.children})})}),a):null}return(0,Be.jsx)(PN,{...e,ref:t})});IN.displayName=vl;var Co=10,[zN,Ei]=js(vl),p5="SelectContentImpl",g5=ol("SelectContent.RemoveScroll"),PN=le.forwardRef((e,t)=>{let{__scopeSelect:n,position:r="item-aligned",onCloseAutoFocus:o,onEscapeKeyDown:a,onPointerDownOutside:i,side:l,sideOffset:s,align:c,alignOffset:d,arrowPadding:u,collisionBoundary:f,collisionPadding:p,sticky:b,hideWhenDetached:m,avoidCollisions:v,...h}=e,g=Ni(vl,n),[y,x]=le.useState(null),[A,N]=le.useState(null),E=Tt(t,U=>x(U)),[C,O]=le.useState(null),[L,V]=le.useState(null),z=Tm(n),[G,Z]=le.useState(!1),ue=le.useRef(!1);le.useEffect(()=>{if(y)return cN(y)},[y]),z1();let q=le.useCallback(U=>{let[fe,...ve]=z().map(Ee=>Ee.ref.current),[ke]=ve.slice(-1),we=document.activeElement;for(let Ee of U)if(Ee===we||(Ee?.scrollIntoView({block:"nearest"}),Ee===fe&&A&&(A.scrollTop=0),Ee===ke&&A&&(A.scrollTop=A.scrollHeight),Ee?.focus(),document.activeElement!==we))return},[z,A]),oe=le.useCallback(()=>q([C,y]),[q,C,y]);le.useEffect(()=>{G&&oe()},[G,oe]);let{onOpenChange:ee,triggerPointerDownPosRef:W}=g;le.useEffect(()=>{if(y){let U={x:0,y:0},fe=ke=>{U={x:Math.abs(Math.round(ke.pageX)-(W.current?.x??0)),y:Math.abs(Math.round(ke.pageY)-(W.current?.y??0))}},ve=ke=>{U.x<=10&&U.y<=10?ke.preventDefault():y.contains(ke.target)||ee(!1),document.removeEventListener("pointermove",fe),W.current=null};return W.current!==null&&(document.addEventListener("pointermove",fe),document.addEventListener("pointerup",ve,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",fe),document.removeEventListener("pointerup",ve,{capture:!0})}}},[y,ee,W]),le.useEffect(()=>{let U=()=>ee(!1);return window.addEventListener("blur",U),window.addEventListener("resize",U),()=>{window.removeEventListener("blur",U),window.removeEventListener("resize",U)}},[ee]);let[j,Ie]=ZN(U=>{let fe=z().filter(we=>!we.disabled),ve=fe.find(we=>we.ref.current===document.activeElement),ke=eE(fe,U,ve);ke&&setTimeout(()=>ke.ref.current.focus())}),ne=le.useCallback((U,fe,ve)=>{let ke=!ue.current&&!ve;(g.value!==void 0&&g.value===fe||ke)&&(O(U),ke&&(ue.current=!0))},[g.value]),Ve=le.useCallback(()=>y?.focus(),[y]),ae=le.useCallback((U,fe,ve)=>{let ke=!ue.current&&!ve;(g.value!==void 0&&g.value===fe||ke)&&V(U)},[g.value]),Se=r==="popper"?ub:UN,ze=Se===ub?{side:l,sideOffset:s,align:c,alignOffset:d,arrowPadding:u,collisionBoundary:f,collisionPadding:p,sticky:b,hideWhenDetached:m,avoidCollisions:v}:{};return(0,Be.jsx)(zN,{scope:n,content:y,viewport:A,onViewportChange:N,itemRefCallback:ne,selectedItem:C,onItemLeave:Ve,itemTextRefCallback:ae,focusSelectedItem:oe,selectedItemText:L,position:r,isPositioned:G,searchRef:j,children:(0,Be.jsx)(cb,{as:g5,allowPinchZoom:!0,children:(0,Be.jsx)(Dy,{asChild:!0,trapped:g.open,onMountAutoFocus:U=>{U.preventDefault()},onUnmountAutoFocus:vt(o,U=>{g.trigger?.focus({preventScroll:!0}),U.preventDefault()}),children:(0,Be.jsx)(Oy,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:a,onPointerDownOutside:i,onFocusOutside:U=>U.preventDefault(),onDismiss:()=>g.onOpenChange(!1),children:(0,Be.jsx)(Se,{role:"listbox",id:g.contentId,"data-state":g.open?"open":"closed",dir:g.dir,onContextMenu:U=>U.preventDefault(),...h,...ze,onPlaced:()=>Z(!0),ref:E,style:{display:"flex",flexDirection:"column",outline:"none",...h.style},onKeyDown:vt(h.onKeyDown,U=>{let fe=U.ctrlKey||U.altKey||U.metaKey;if(U.key==="Tab"&&U.preventDefault(),!fe&&U.key.length===1&&Ie(U.key),["ArrowUp","ArrowDown","Home","End"].includes(U.key)){let ke=z().filter(we=>!we.disabled).map(we=>we.ref.current);if(["ArrowUp","End"].includes(U.key)&&(ke=ke.slice().reverse()),["ArrowUp","ArrowDown"].includes(U.key)){let we=U.target,Ee=ke.indexOf(we);ke=ke.slice(Ee+1)}setTimeout(()=>q(ke)),U.preventDefault()}})})})})})})});PN.displayName=p5;var h5="SelectItemAlignedPosition",UN=le.forwardRef((e,t)=>{let{__scopeSelect:n,onPlaced:r,...o}=e,a=Ni(vl,n),i=Ei(vl,n),[l,s]=le.useState(null),[c,d]=le.useState(null),u=Tt(t,E=>d(E)),f=Tm(n),p=le.useRef(!1),b=le.useRef(!0),{viewport:m,selectedItem:v,selectedItemText:h,focusSelectedItem:g}=i,y=le.useCallback(()=>{if(a.trigger&&a.valueNode&&l&&c&&m&&v&&h){let E=a.trigger.getBoundingClientRect(),C=c.getBoundingClientRect(),O=a.valueNode.getBoundingClientRect(),L=h.getBoundingClientRect();if(a.dir!=="rtl"){let we=L.left-C.left,Ee=O.left-we,qe=E.left-Ee,We=E.width+qe,nn=Math.max(We,C.width),Dn=window.innerWidth-Co,cn=Ey(Ee,[Co,Math.max(Co,Dn-nn)]);l.style.minWidth=We+"px",l.style.left=cn+"px"}else{let we=C.right-L.right,Ee=window.innerWidth-O.right-we,qe=window.innerWidth-E.right-Ee,We=E.width+qe,nn=Math.max(We,C.width),Dn=window.innerWidth-Co,cn=Ey(Ee,[Co,Math.max(Co,Dn-nn)]);l.style.minWidth=We+"px",l.style.right=cn+"px"}let V=f(),z=window.innerHeight-Co*2,G=m.scrollHeight,Z=window.getComputedStyle(c),ue=parseInt(Z.borderTopWidth,10),q=parseInt(Z.paddingTop,10),oe=parseInt(Z.borderBottomWidth,10),ee=parseInt(Z.paddingBottom,10),W=ue+q+G+ee+oe,j=Math.min(v.offsetHeight*5,W),Ie=window.getComputedStyle(m),ne=parseInt(Ie.paddingTop,10),Ve=parseInt(Ie.paddingBottom,10),ae=E.top+E.height/2-Co,Se=z-ae,ze=v.offsetHeight/2,U=v.offsetTop+ze,fe=ue+q+U,ve=W-fe;if(fe<=ae){let we=V.length>0&&v===V[V.length-1].ref.current;l.style.bottom="0px";let Ee=c.clientHeight-m.offsetTop-m.offsetHeight,qe=Math.max(Se,ze+(we?Ve:0)+Ee+oe),We=fe+qe;l.style.height=We+"px"}else{let we=V.length>0&&v===V[0].ref.current;l.style.top="0px";let qe=Math.max(ae,ue+m.offsetTop+(we?ne:0)+ze)+ve;l.style.height=qe+"px",m.scrollTop=fe-ae+m.offsetTop}l.style.margin=`${Co}px 0`,l.style.minHeight=j+"px",l.style.maxHeight=z+"px",r?.(),requestAnimationFrame(()=>p.current=!0)}},[f,a.trigger,a.valueNode,l,c,m,v,h,a.dir,r]);on(()=>y(),[y]);let[x,A]=le.useState();on(()=>{c&&A(window.getComputedStyle(c).zIndex)},[c]);let N=le.useCallback(E=>{E&&b.current===!0&&(y(),g?.(),b.current=!1)},[y,g]);return(0,Be.jsx)(b5,{scope:n,contentWrapper:l,shouldExpandOnScrollRef:p,onScrollButtonChange:N,children:(0,Be.jsx)("div",{ref:s,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:x},children:(0,Be.jsx)(at.div,{...o,ref:u,style:{boxSizing:"border-box",maxHeight:"100%",...o.style}})})})});UN.displayName=h5;var y5="SelectPopperPosition",ub=le.forwardRef((e,t)=>{let{__scopeSelect:n,align:r="start",collisionPadding:o=Co,...a}=e,i=Mm(n);return(0,Be.jsx)(nN,{...i,...a,ref:t,align:r,collisionPadding:o,style:{boxSizing:"border-box",...a.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});ub.displayName=y5;var[b5,hb]=js(vl,{}),db="SelectViewport",jN=le.forwardRef((e,t)=>{let{__scopeSelect:n,nonce:r,...o}=e,a=Ei(db,n),i=hb(db,n),l=Tt(t,a.onViewportChange),s=le.useRef(0);return(0,Be.jsxs)(Be.Fragment,{children:[(0,Be.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:r}),(0,Be.jsx)(Em.Slot,{scope:n,children:(0,Be.jsx)(at.div,{"data-radix-select-viewport":"",role:"presentation",...o,ref:l,style:{position:"relative",flex:1,overflow:"hidden auto",...o.style},onScroll:vt(o.onScroll,c=>{let d=c.currentTarget,{contentWrapper:u,shouldExpandOnScrollRef:f}=i;if(f?.current&&u){let p=Math.abs(s.current-d.scrollTop);if(p>0){let b=window.innerHeight-Co*2,m=parseFloat(u.style.minHeight),v=parseFloat(u.style.height),h=Math.max(m,v);if(h<b){let g=h+p,y=Math.min(b,g),x=g-y;u.style.height=y+"px",u.style.bottom==="0px"&&(d.scrollTop=x>0?x:0,u.style.justifyContent="flex-end")}}}s.current=d.scrollTop})})})]})});jN.displayName=db;var VN="SelectGroup",[v5,x5]=js(VN),FN=le.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,o=hi();return(0,Be.jsx)(v5,{scope:n,id:o,children:(0,Be.jsx)(at.div,{role:"group","aria-labelledby":o,...r,ref:t})})});FN.displayName=VN;var HN="SelectLabel",$N=le.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,o=x5(HN,n);return(0,Be.jsx)(at.div,{id:o.id,...r,ref:t})});$N.displayName=HN;var Nm="SelectItem",[S5,KN]=js(Nm),GN=le.forwardRef((e,t)=>{let{__scopeSelect:n,value:r,disabled:o=!1,textValue:a,...i}=e,l=Ni(Nm,n),s=Ei(Nm,n),c=l.value===r,[d,u]=le.useState(a??""),[f,p]=le.useState(!1),b=Tt(t,g=>s.itemRefCallback?.(g,r,o)),m=hi(),v=le.useRef("touch"),h=()=>{o||(l.onValueChange(r),l.onOpenChange(!1))};if(r==="")throw new Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return(0,Be.jsx)(S5,{scope:n,value:r,disabled:o,textId:m,isSelected:c,onItemTextChange:le.useCallback(g=>{u(y=>y||(g?.textContent??"").trim())},[]),children:(0,Be.jsx)(Em.ItemSlot,{scope:n,value:r,disabled:o,textValue:d,children:(0,Be.jsx)(at.div,{role:"option","aria-labelledby":m,"data-highlighted":f?"":void 0,"aria-selected":c&&f,"data-state":c?"checked":"unchecked","aria-disabled":o||void 0,"data-disabled":o?"":void 0,tabIndex:o?void 0:-1,...i,ref:b,onFocus:vt(i.onFocus,()=>p(!0)),onBlur:vt(i.onBlur,()=>p(!1)),onClick:vt(i.onClick,()=>{v.current!=="mouse"&&h()}),onPointerUp:vt(i.onPointerUp,()=>{v.current==="mouse"&&h()}),onPointerDown:vt(i.onPointerDown,g=>{v.current=g.pointerType}),onPointerMove:vt(i.onPointerMove,g=>{v.current=g.pointerType,o?s.onItemLeave?.():v.current==="mouse"&&g.currentTarget.focus({preventScroll:!0})}),onPointerLeave:vt(i.onPointerLeave,g=>{g.currentTarget===document.activeElement&&s.onItemLeave?.()}),onKeyDown:vt(i.onKeyDown,g=>{s.searchRef?.current!==""&&g.key===" "||(l5.includes(g.key)&&h(),g.key===" "&&g.preventDefault())})})})})});GN.displayName=Nm;var Mu="SelectItemText",qN=le.forwardRef((e,t)=>{let{__scopeSelect:n,className:r,style:o,...a}=e,i=Ni(Mu,n),l=Ei(Mu,n),s=KN(Mu,n),c=d5(Mu,n),[d,u]=le.useState(null),f=Tt(t,h=>u(h),s.onItemTextChange,h=>l.itemTextRefCallback?.(h,s.value,s.disabled)),p=d?.textContent,b=le.useMemo(()=>(0,Be.jsx)("option",{value:s.value,disabled:s.disabled,children:p},s.value),[s.disabled,s.value,p]),{onNativeOptionAdd:m,onNativeOptionRemove:v}=c;return on(()=>(m(b),()=>v(b)),[m,v,b]),(0,Be.jsxs)(Be.Fragment,{children:[(0,Be.jsx)(at.span,{id:s.textId,...a,ref:f}),s.isSelected&&i.valueNode&&!i.valueNodeHasChildren?gb.createPortal(a.children,i.valueNode):null]})});qN.displayName=Mu;var WN="SelectItemIndicator",YN=le.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e;return KN(WN,n).isSelected?(0,Be.jsx)(at.span,{"aria-hidden":!0,...r,ref:t}):null});YN.displayName=WN;var fb="SelectScrollUpButton",w5=le.forwardRef((e,t)=>{let n=Ei(fb,e.__scopeSelect),r=hb(fb,e.__scopeSelect),[o,a]=le.useState(!1),i=Tt(t,r.onScrollButtonChange);return on(()=>{if(n.viewport&&n.isPositioned){let s=function(){let d=c.scrollTop>0;a(d)};var l=s;let c=n.viewport;return s(),c.addEventListener("scroll",s),()=>c.removeEventListener("scroll",s)}},[n.viewport,n.isPositioned]),o?(0,Be.jsx)(QN,{...e,ref:i,onAutoScroll:()=>{let{viewport:l,selectedItem:s}=n;l&&s&&(l.scrollTop=l.scrollTop-s.offsetHeight)}}):null});w5.displayName=fb;var mb="SelectScrollDownButton",A5=le.forwardRef((e,t)=>{let n=Ei(mb,e.__scopeSelect),r=hb(mb,e.__scopeSelect),[o,a]=le.useState(!1),i=Tt(t,r.onScrollButtonChange);return on(()=>{if(n.viewport&&n.isPositioned){let s=function(){let d=c.scrollHeight-c.clientHeight,u=Math.ceil(c.scrollTop)<d;a(u)};var l=s;let c=n.viewport;return s(),c.addEventListener("scroll",s),()=>c.removeEventListener("scroll",s)}},[n.viewport,n.isPositioned]),o?(0,Be.jsx)(QN,{...e,ref:i,onAutoScroll:()=>{let{viewport:l,selectedItem:s}=n;l&&s&&(l.scrollTop=l.scrollTop+s.offsetHeight)}}):null});A5.displayName=mb;var QN=le.forwardRef((e,t)=>{let{__scopeSelect:n,onAutoScroll:r,...o}=e,a=Ei("SelectScrollButton",n),i=le.useRef(null),l=Tm(n),s=le.useCallback(()=>{i.current!==null&&(window.clearInterval(i.current),i.current=null)},[]);return le.useEffect(()=>()=>s(),[s]),on(()=>{l().find(d=>d.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:"nearest"})},[l]),(0,Be.jsx)(at.div,{"aria-hidden":!0,...o,ref:t,style:{flexShrink:0,...o.style},onPointerDown:vt(o.onPointerDown,()=>{i.current===null&&(i.current=window.setInterval(r,50))}),onPointerMove:vt(o.onPointerMove,()=>{a.onItemLeave?.(),i.current===null&&(i.current=window.setInterval(r,50))}),onPointerLeave:vt(o.onPointerLeave,()=>{s()})})}),C5="SelectSeparator",R5=le.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e;return(0,Be.jsx)(at.div,{"aria-hidden":!0,...r,ref:t})});R5.displayName=C5;var pb="SelectArrow",N5=le.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,o=Mm(n),a=Ni(pb,n),i=Ei(pb,n);return a.open&&i.position==="popper"?(0,Be.jsx)(rN,{...o,...r,ref:t}):null});N5.displayName=pb;var E5="SelectBubbleInput",XN=le.forwardRef(({__scopeSelect:e,value:t,...n},r)=>{let o=le.useRef(null),a=Tt(r,o),i=Af(t);return le.useEffect(()=>{let l=o.current;if(!l)return;let s=window.HTMLSelectElement.prototype,d=Object.getOwnPropertyDescriptor(s,"value").set;if(i!==t&&d){let u=new Event("change",{bubbles:!0});d.call(l,t),l.dispatchEvent(u)}},[i,t]),(0,Be.jsx)(at.select,{...n,style:{...Wy,...n.style},ref:a,defaultValue:t})});XN.displayName=E5;function JN(e){return e===""||e===void 0}function ZN(e){let t=pr(e),n=le.useRef(""),r=le.useRef(0),o=le.useCallback(i=>{let l=n.current+i;t(l),(function s(c){n.current=c,window.clearTimeout(r.current),c!==""&&(r.current=window.setTimeout(()=>s(""),1e3))})(l)},[t]),a=le.useCallback(()=>{n.current="",window.clearTimeout(r.current)},[]);return le.useEffect(()=>()=>window.clearTimeout(r.current),[]),[n,o,a]}function eE(e,t,n){let o=t.length>1&&Array.from(t).every(c=>c===t[0])?t[0]:t,a=n?e.indexOf(n):-1,i=T5(e,Math.max(a,0));o.length===1&&(i=i.filter(c=>c!==n));let s=i.find(c=>c.textValue.toLowerCase().startsWith(o.toLowerCase()));return s!==n?s:void 0}function T5(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var tE=MN,nE=kN,rE=LN,oE=DN,aE=BN,iE=IN,lE=jN,sE=FN,cE=$N,uE=GN,dE=qN,fE=YN;var mE=B(xe(),1);var pE=B(te(),1),it=(0,mE.forwardRef)(function({className:t,...n},r){return(0,pE.jsx)("input",{ref:r,className:Q("flex h-9 w-full rounded-lg border border-input bg-background/80 px-3 py-2 text-sm text-foreground shadow-sm outline-none transition placeholder:text-muted-foreground focus:border-ring focus:ring-2 focus:ring-ring/40",t),...n})});function gE(e){return String(e||"").trim().toLowerCase()}function Om(e){return gE(e).length>0}function hE({searchEnabled:e=!0}={}){return!!e}function yb(e){let t=String(e?.key||"");return!t||t.length!==1||e?.ctrlKey||e?.metaKey||e?.altKey?"":t.trim()?t:""}function yE(e={},t=""){let n=gE(t);return n?[e?.label,e?.value,e?.hint,e?.textValue,e?.searchText].map(o=>String(o||"").toLowerCase()).join(" ").includes(n):!0}var km=B(xe(),1),O5=12;function bb(e){return/auto|scroll|hidden|clip|overlay/.test(String(e||"").toLowerCase())}function k5(e,t){return{top:Math.max(e.top,t.top),right:Math.min(e.right,t.right),bottom:Math.min(e.bottom,t.bottom),left:Math.max(e.left,t.left)}}function _m(e){if(typeof window>"u")return[];let t=[],n=e?.parentElement||null;for(;n&&n!==document.body&&n!==document.documentElement;){let r=window.getComputedStyle(n);(bb(r.overflow)||bb(r.overflowY)||bb(r.overflowX))&&t.push(n),n=n.parentElement}return t}function _5(e,{viewportPadding:t=O5}={}){if(typeof window>"u")return null;let n={top:t,right:window.innerWidth-t,bottom:window.innerHeight-t,left:t};for(let r of _m(e))n=k5(n,r.getBoundingClientRect());return n}function L5({anchorRect:e,boundaryRect:t,preferredSide:n="bottom",offset:r=4,desiredHeight:o=288}={}){if(!e||!t)return{side:n==="top"?"top":"bottom",maxHeight:o};let a=Math.max(0,e.top-t.top-r),i=Math.max(0,t.bottom-e.bottom-r),s=a===i?n==="top"?"top":"bottom":a>i?"top":"bottom",c=Math.max(0,Math.min(o,s==="top"?a:i));return{side:s,maxHeight:c}}function Lm({open:e=!1,anchorRef:t,preferredSide:n="bottom",offset:r=4,desiredHeight:o=288}={}){let[a,i]=(0,km.useState)(()=>({side:n==="top"?"top":"bottom",maxHeight:o}));return(0,km.useLayoutEffect)(()=>{if(!e||typeof window>"u")return;let l=t?.current||null;if(!l){i({side:n==="top"?"top":"bottom",maxHeight:o});return}let s=()=>{i(L5({anchorRect:l.getBoundingClientRect(),boundaryRect:_5(l),preferredSide:n,offset:r,desiredHeight:o}))};s();let c=_m(l);window.addEventListener("resize",s);for(let u of c)u.addEventListener("scroll",s,{passive:!0});let d=null;if(typeof ResizeObserver=="function"){d=new ResizeObserver(s),d.observe(l);for(let u of c)d.observe(u)}return()=>{window.removeEventListener("resize",s);for(let u of c)u.removeEventListener("scroll",s);d?.disconnect?.()}},[e,t,n,r,o]),a}var Nn=B(te(),1),Bm=(0,pt.createContext)(null),D5="Enter character to filter",B5=41,I5="data-llm-router-select-search-input";function Dm(e){return e==null||typeof e=="boolean"?"":typeof e=="string"||typeof e=="number"?String(e):Array.isArray(e)?e.map(t=>Dm(t)).filter(Boolean).join(" "):(0,pt.isValidElement)(e)?Dm(e.props?.children):""}function vb(e,t="first"){let n=Array.from(e?.querySelectorAll?.("[role='option']")||[]).filter(a=>a.getAttribute("aria-disabled")!=="true");if(n.length===0)return;let r=n.find(a=>a.getAttribute("data-state")==="checked");(t==="last"?n[n.length-1]:r||n[0])?.focus?.()}function z5(e={}){let t=String(e.textValue||Dm(e.children)||"").trim();return{value:String(e.value||""),textValue:t,searchText:String(e.searchText||"")}}function bE(e,t=""){let n=0,r=0;return{children:pt.Children.map(e,a=>{if(!(0,pt.isValidElement)(a))return a;if(a.type?.__LLM_ROUTER_SELECT_ITEM===!0){n+=1;let l=yE(z5(a.props),t);return l&&(r+=1),l?a:null}if(!a.props?.children)return a;let i=bE(a.props.children,t);return n+=i.totalItems,r+=i.matchedItems,a.type?.__LLM_ROUTER_SELECT_GROUP===!0&&i.matchedItems===0?null:(0,pt.cloneElement)(a,void 0,i.children)}),totalItems:n,matchedItems:r}}function Xt({open:e,defaultOpen:t=!1,onOpenChange:n,searchEnabled:r=!0,openSearchRequest:o=0,children:a,...i}){let[l,s]=(0,pt.useState)(!!t),[c,d]=(0,pt.useState)(""),[u,f]=(0,pt.useState)(!1),p=(0,pt.useRef)(null),b=(0,pt.useRef)(0),m=e!==void 0?e:l;(0,pt.useEffect)(()=>{m||(d(""),f(!1))},[m]);function v(g){e===void 0&&s(g),n?.(g),g||(d(""),f(!1))}(0,pt.useEffect)(()=>{!o||o===b.current||(b.current=o,d(""),r&&f(!0),!m&&(e===void 0&&s(!0),n?.(!0)))},[o,r,m,e,n]);let h={open:m,searchEnabled:r,filterValue:c,setFilterValue:d,searchSessionActive:u,setSearchSessionActive:f,setOpen:v,triggerRef:p,openSearchRequest:o};return(0,Nn.jsx)(Bm.Provider,{value:h,children:(0,Nn.jsx)(tE,{...i,open:m,onOpenChange:v,children:a})})}var Jt=(0,pt.forwardRef)(function({className:t,children:n,onKeyDown:r,...o},a){let i=(0,pt.useContext)(Bm),l=i?.triggerRef||null,s=(0,pt.useCallback)(d=>{if(l&&(l.current=d),typeof a=="function"){a(d);return}a&&(a.current=d)},[l,a]);function c(d){if(r?.(d),d.defaultPrevented||!i?.searchEnabled||o.disabled)return;let u=yb(d);u&&(d.preventDefault(),i.setSearchSessionActive?.(!0),i.setOpen(!0),i.setFilterValue(f=>`${f}${u}`))}return(0,Nn.jsxs)(nE,{ref:s,className:Q("relative inline-flex h-9 w-full items-center gap-2 rounded-lg border border-input bg-background/80 pl-3 pr-9 text-sm text-foreground shadow-sm outline-none transition focus:border-ring focus:ring-2 focus:ring-ring/40 disabled:cursor-not-allowed disabled:opacity-50",t),onKeyDown:c,...o,children:[(0,Nn.jsx)("span",{className:"min-w-0 flex-1 truncate text-left",children:n}),(0,Nn.jsx)(oE,{className:"pointer-events-none absolute right-3 top-1/2 -translate-y-1/2 text-muted-foreground",children:"\u25BE"})]})});function Zt(e){return(0,Nn.jsx)(rE,{...e})}var en=(0,pt.forwardRef)(function({className:t,children:n,position:r="popper",onKeyDownCapture:o,searchPlaceholder:a=D5,emptySearchMessage:i="No matching options.",...l},s){let c=(0,pt.useContext)(Bm),d=(0,pt.useRef)(null),u=(0,pt.useRef)(null),f=Lm({open:!!c?.open,anchorRef:c?.triggerRef,preferredSide:"bottom",desiredHeight:288,offset:4}),p=hE({searchEnabled:c?.searchEnabled,filterValue:c?.filterValue,sessionActive:c?.searchSessionActive}),b=(0,pt.useMemo)(()=>Om(c?.filterValue)?bE(n,c?.filterValue):{children:n,totalItems:0,matchedItems:0},[n,c?.filterValue]),m=Om(c?.filterValue)&&b.totalItems>0&&b.matchedItems===0,v=Math.max(0,Math.floor((f.maxHeight||288)-(p?B5:0)));(0,pt.useEffect)(()=>{if(!c?.open||!p||typeof window>"u")return;let x=window.requestAnimationFrame(()=>{let A=u.current;if(!A)return;A.focus();let N=A.value.length;A.setSelectionRange(N,N)});return()=>window.cancelAnimationFrame(x)},[c?.open,p,c?.openSearchRequest]);let h=(0,pt.useCallback)(x=>{if(d.current=x,typeof s=="function"){s(x);return}s&&(s.current=x)},[s]);function g(x){if(o?.(x),x.defaultPrevented||x.target===u.current||!c?.searchEnabled)return;let A=yb(x);A&&(x.preventDefault(),x.stopPropagation(),c.setSearchSessionActive?.(!0),c.setFilterValue(N=>`${N}${A}`))}function y(x){let A=x.target.value;c?.setSearchSessionActive?.(!0),c?.setFilterValue(A)}return(0,Nn.jsx)(aE,{children:(0,Nn.jsxs)(iE,{ref:h,position:r,side:r==="popper"?f.side:void 0,className:Q("z-50 min-w-[8rem] overflow-hidden rounded-xl border border-border/70 bg-popover text-popover-foreground shadow-lg",r==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=top]:-translate-y-1",t),onKeyDownCapture:g,...l,children:[p?(0,Nn.jsx)("div",{className:"border-b border-border/70 p-1",children:(0,Nn.jsx)(it,{ref:u,"data-llm-router-select-search-input":"true",value:c?.filterValue||"",autoComplete:"off",autoCorrect:"off",autoCapitalize:"none",spellCheck:!1,placeholder:a,className:"h-8 border-border/70 bg-background/90",onChange:y,onPointerDown:x=>x.stopPropagation(),onClick:x=>x.stopPropagation(),onKeyDown:x=>{if(x.stopPropagation(),x.key==="ArrowDown"){x.preventDefault(),vb(d.current,"first");return}if(x.key==="ArrowUp"){x.preventDefault(),vb(d.current,"last");return}x.key==="Escape"&&(x.preventDefault(),c?.setSearchSessionActive?.(!1),c?.setFilterValue(""),typeof window<"u"&&window.requestAnimationFrame(()=>vb(d.current)))}})}):null,(0,Nn.jsxs)(lE,{className:"px-1 pb-1",style:{maxHeight:`${v}px`},children:[Om(c?.filterValue)?b.children:n,m?(0,Nn.jsx)("div",{className:"px-3 py-2 text-sm text-muted-foreground",children:i}):null]})]})})}),Ct=(0,pt.forwardRef)(function({className:t,children:n,searchText:r="",textValue:o,onPointerMove:a,...i},l){let s=(0,pt.useContext)(Bm),c=String(o||Dm(n)||"").trim();function d(u){if(a?.(u),u.defaultPrevented||!s?.searchEnabled||typeof document>"u")return;let f=document.activeElement;f instanceof HTMLElement&&f.getAttribute(I5)==="true"&&u.preventDefault()}return(0,Nn.jsxs)(uE,{ref:l,className:Q("relative flex w-full cursor-default select-none items-center rounded-lg py-2 pl-3 pr-8 text-sm text-foreground outline-none transition-colors hover:bg-accent/60 focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t),textValue:c,onPointerMove:d,...i,children:[(0,Nn.jsx)(dE,{children:n}),(0,Nn.jsx)("span",{className:"absolute right-2 inline-flex h-4 w-4 items-center justify-center text-xs text-muted-foreground",children:(0,Nn.jsx)(fE,{children:"\u2713"})})]})});Ct.__LLM_ROUTER_SELECT_ITEM=!0;function xl(e){return(0,Nn.jsx)(sE,{...e})}xl.__LLM_ROUTER_SELECT_GROUP=!0;var Vs=(0,pt.forwardRef)(function({className:t,children:n,...r},o){return(0,Nn.jsx)(cE,{ref:o,className:Q("-mt-1 sticky top-0 z-10 -mx-1 mb-1 block border-b border-border/55 bg-background/96 px-4 py-2 text-xs font-semibold uppercase tracking-[0.18em] text-foreground/80 backdrop-blur-sm",t),...r,children:n})});var Ou=B(te(),1);function xb(e={}){let t=[],n=e?.modelAliases&&typeof e.modelAliases=="object"&&!Array.isArray(e.modelAliases)?e.modelAliases:{};for(let o of Object.keys(n))t.push({value:o,label:o,hint:`Alias \xB7 ${(n[o]?.targets||[]).length||0} target(s)`,kind:"alias",groupKey:"aliases",groupLabel:"Aliases"});for(let o of Array.isArray(e?.providers)?e.providers:[]){let a=String(o?.id||"").trim(),i=String(o?.name||a||"provider").trim()||"provider";for(let l of Array.isArray(o?.models)?o.models:[]){let s=String(l?.id||"").trim();if(!a||!s)continue;let c=Number.isFinite(l?.contextWindow)?Number(l.contextWindow):null;t.push({value:`${a}/${s}`,label:`${a}/${s}`,hint:c?`${i} \xB7 ${Ho(c)}`:i,kind:"model",providerId:a,groupKey:`provider:${a}`,groupLabel:i})}}let r=new Set;return t.filter(o=>!o?.value||r.has(o.value)?!1:(r.add(o.value),!0))}function P5(e=""){let t=String(e||"").trim();if(!t)return{};let n=If(t);if(n?.kind==="alias")return{kind:"alias",groupKey:"aliases",groupLabel:"Aliases"};if(n?.kind==="model"&&n.providerId)return{kind:"model",providerId:n.providerId,groupKey:`provider:${n.providerId}`,groupLabel:n.providerId};if(n?.kind==="model")return{kind:"model",groupKey:"llm-router",groupLabel:"LLM Router"};let r=t.startsWith("alias:")?t.slice(6).trim():t;if(!r.includes("/"))return{kind:"alias",groupKey:"aliases",groupLabel:"Aliases"};let o=r.indexOf("/"),a=r.slice(0,o).trim();return a?{kind:"model",providerId:a,groupKey:`provider:${a}`,groupLabel:a}:{}}function Ti(e=[],t=[]){let n=[...Array.isArray(e)?e:[]],r=new Set(n.map(o=>String(o?.value||"").trim()).filter(Boolean));for(let o of(Array.isArray(t)?t:[]).map(a=>String(a||"").trim()).filter(Boolean))r.has(o)||(r.add(o),n.push({value:o,label:o,hint:"Current config",...P5(o)}));return n}function U5(e=[]){let t=[],n=new Map,r=null;for(let o of(Array.isArray(e)?e:[]).filter(Boolean)){let a=String(o?.groupKey||o?.groupLabel||"").trim(),i=String(o?.groupLabel||"").trim();if(!a){r||(r={key:"__ungrouped__",label:"",options:[]},t.push(r)),r.options.push(o);continue}let l=n.get(a);l||(l={key:a,label:i||a,options:[]},n.set(a,l),t.push(l)),l.options.push(o)}return t}function j5(e={},{includeHint:t=!1}={}){let n=String(e?.label||e?.value||"").trim()||String(e?.value||"").trim(),r=String(e?.hint||"").trim();return t&&r?`${n} \xB7 ${r}`:n}function vE(e=[],{keyPrefix:t="select-option",includeHint:n=!1}={}){return U5(e).map((r,o)=>{let a=r.options.map(i=>(0,Ou.jsx)(Ct,{value:i.value,searchText:`${i.label||""} ${i.value||""} ${i.hint||""} ${r.label||""}`,children:j5(i,{includeHint:n})},`${t}-${i.value}`));return r.label?(0,Ou.jsxs)(xl,{children:[(0,Ou.jsx)(Vs,{children:r.label}),a]},`${t}-group-${r.key||o}`):a})}var Fs=B(xe(),1),SE=B(Bi(),1);var io=B(xe(),1);var V5="flex h-9 w-full rounded-lg border border-input bg-background/80 px-3 py-2 text-sm text-foreground shadow-sm outline-none transition placeholder:text-muted-foreground focus:border-ring focus:ring-2 focus:ring-ring/40";function F5({committedValue:e="",draftValue:t="",isFocused:n=!1,hasLocalDraft:r=!1,previousCommittedValue:o=""}={}){let a=String(e??""),i=String(t??""),l=String(o??"");return n?{draftValue:i,hasLocalDraft:r,previousCommittedValue:a}:!r||a===i?{draftValue:a,hasLocalDraft:!1,previousCommittedValue:a}:a!==l?{draftValue:a,hasLocalDraft:!1,previousCommittedValue:a}:{draftValue:i,hasLocalDraft:!0,previousCommittedValue:a}}function H5({committedValue:e="",draftValue:t="",isFocused:n=!1,hasLocalDraft:r=!1}={}){return String(n||r?t??"":e??"")}function $5({commitOnBlur:e=!1,draftValue:t="",hasLocalDraft:n=!1}={}){return!e||!n?null:String(t??"")}var Im=(0,io.forwardRef)(function({className:t,commitOnBlur:n=!1,value:r,onValueCommit:o,onValueChange:a,onChange:i,onFocus:l,onBlur:s,...c},d){let u=String(r??""),[f,p]=(0,io.useState)(u),[b,m]=(0,io.useState)(!1),[v,h]=(0,io.useState)(!1),g=(0,io.useRef)(u);return(0,io.useEffect)(()=>{let y=F5({committedValue:u,draftValue:f,isFocused:b,hasLocalDraft:v,previousCommittedValue:g.current});g.current=y.previousCommittedValue,p(y.draftValue),h(y.hasLocalDraft)},[u,f,v,b]),(0,io.createElement)("input",{...c,ref:d,className:Q(V5,t),value:H5({committedValue:u,draftValue:f,isFocused:b,hasLocalDraft:v}),onFocus:y=>{m(!0),l?.(y)},onChange:y=>{let x=y.target.value;p(x),h(!0),a?.(x,y),i?.(y)},onBlur:y=>{m(!1);let x=$5({commitOnBlur:n,draftValue:f,hasLocalDraft:v});x!==null&&o?.(x,y),s?.(y)}})});var K5=/^\d*$/;function xE(e){let t=String(e??""),n=K5.test(t);return{accepted:n,draftValue:n?t:"",shouldCommit:n&&t!=="",commitValue:n&&t!==""?t:""}}var be=B(te(),1);function G5({className:e=""}){return(0,be.jsxs)("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",className:e,children:[(0,be.jsx)("path",{d:"M8 12V4",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"}),(0,be.jsx)("path",{d:"M4.75 7.25 8 4l3.25 3.25",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})]})}function q5({className:e=""}){return(0,be.jsxs)("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",className:e,children:[(0,be.jsx)("path",{d:"M8 4v8",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"}),(0,be.jsx)("path",{d:"M4.75 8.75 8 12l3.25-3.25",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})]})}function W5({className:e=""}){return(0,be.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:[(0,be.jsx)("path",{d:"M2.5 10s3-5.5 7.5-5.5S17.5 10 17.5 10s-3 5.5-7.5 5.5S2.5 10 2.5 10Z"}),(0,be.jsx)("circle",{cx:"10",cy:"10",r:"2.5"})]})}function Y5({className:e=""}){return(0,be.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:[(0,be.jsx)("path",{d:"M8.15 4.85A8.5 8.5 0 0 1 10 4.5c4.5 0 7.5 5.5 7.5 5.5a12.4 12.4 0 0 1-1.67 2.28"}),(0,be.jsx)("path",{d:"M5.6 5.6A12.2 12.2 0 0 0 2.5 10s3 5.5 7.5 5.5a8.3 8.3 0 0 0 4.4-1.6"}),(0,be.jsx)("path",{d:"M8.23 8.23a2.5 2.5 0 0 0 3.54 3.54"}),(0,be.jsx)("path",{d:"M3 3l14 14"})]})}function Hs({value:e,onChange:t,onValueChange:n,placeholder:r,disabled:o,isEnvVar:a,buffered:i,commitOnBlur:l,onValueCommit:s,className:c,inputProps:d={},maskMode:u="password"}){let[f,p]=(0,Fs.useState)(!1),b=!a&&!f,m=b&&u!=="obscured-text"?"password":"text",v=b&&u==="obscured-text"?{...d?.style&&typeof d.style=="object"?d.style:{},WebkitTextSecurity:"disc"}:d?.style,h=i?{value:e||"",onValueChange:n,onValueCommit:s,commitOnBlur:l,type:m,autoComplete:"off",spellCheck:!1,placeholder:r,disabled:o,className:Q("flex h-9 w-full rounded-lg rounded-r-none border border-r-0 border-input bg-background/80 px-3 py-2 text-sm text-foreground shadow-sm outline-none transition placeholder:text-muted-foreground focus:border-ring focus:ring-2 focus:ring-ring/40",c),style:v,...d}:{value:e||"",onChange:t,type:m,autoComplete:"off",spellCheck:!1,placeholder:r,disabled:o,className:Q("flex h-9 w-full rounded-lg rounded-r-none border border-r-0 border-input bg-background/80 px-3 py-2 text-sm text-foreground shadow-sm outline-none transition placeholder:text-muted-foreground focus:border-ring focus:ring-2 focus:ring-ring/40",c),style:v,...d};return(0,be.jsxs)("div",{className:"flex",children:[i?(0,be.jsx)(Im,{...h}):(0,be.jsx)("input",{...h}),(0,be.jsx)("button",{type:"button",tabIndex:-1,onClick:()=>p(g=>!g),disabled:o,className:"inline-flex h-9 w-9 shrink-0 items-center justify-center rounded-lg rounded-l-none border border-l-0 border-input bg-background/80 text-muted-foreground transition hover:text-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50","aria-label":f?"Hide credential":"Show credential",children:f?(0,be.jsx)(Y5,{className:"h-4 w-4"}):(0,be.jsx)(W5,{className:"h-4 w-4"})})]})}function Oa({disabled:e=!1,label:t="Move up",onClick:n}){return(0,be.jsx)(H,{type:"button",variant:"ghost",size:"sm",className:"h-7 w-7 rounded-full p-0",onMouseDown:r=>r.preventDefault(),onClick:n,disabled:e,"aria-label":t,title:t,children:(0,be.jsx)(G5,{className:"h-3.5 w-3.5"})})}function Sl({disabled:e=!1,label:t="Move down",onClick:n}){return(0,be.jsx)(H,{type:"button",variant:"ghost",size:"sm",className:"h-7 w-7 rounded-full p-0",onMouseDown:r=>r.preventDefault(),onClick:n,disabled:e,"aria-label":t,title:t,children:(0,be.jsx)(q5,{className:"h-3.5 w-3.5"})})}function Sb({active:e=!1}){return e?(0,be.jsx)("span",{"aria-hidden":"true",className:"inline-flex h-2.5 w-2.5 rounded-full bg-emerald-500"}):null}function He({label:e,hint:t,className:n,children:r,stacked:o=!1,headerClassName:a,hintClassName:i,headerAction:l=null}){return(0,be.jsxs)("div",{className:Q("flex flex-col gap-2 text-sm",n),children:[(0,be.jsxs)("div",{className:Q("text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",o?"flex min-h-10 items-start justify-between gap-3":"flex items-center justify-between gap-2",a),children:[(0,be.jsxs)("div",{className:Q("min-w-0",o?"flex-1 space-y-1":"flex min-w-0 items-center gap-2"),children:[(0,be.jsx)("span",{children:e}),t?(0,be.jsx)("span",{className:Q("block normal-case tracking-normal text-[11px] text-muted-foreground/80",o?"leading-4":null,i),children:t}):null]}),l?(0,be.jsx)("div",{className:"shrink-0",children:l}):null]}),r]})}function zm({value:e,onValueChange:t,disabled:n=!1,allowEmptyCommit:r=!1,...o}){let a=String(e??""),[i,l]=(0,Fs.useState)(a);return(0,Fs.useEffect)(()=>{l(a)},[a]),(0,be.jsx)(it,{...o,value:i,inputMode:"numeric",disabled:n,onChange:s=>{let c=xE(s.target.value);c.accepted&&(l(c.draftValue),c.shouldCommit?t(c.commitValue):r&&c.draftValue===""&&t(""))},onBlur:()=>{l(s=>s!==""?s:r?(t(""),""):a)}})}function wE({label:e,hint:t,checked:n=!1,onCheckedChange:r,disabled:o=!1,className:a}){return(0,be.jsxs)("div",{className:Q("flex items-center justify-between gap-4 rounded-2xl border border-border/70 bg-background/80 px-4 py-3",a),children:[(0,be.jsxs)("div",{className:"min-w-0",children:[(0,be.jsx)("div",{className:"text-sm font-medium text-foreground",children:e}),t?(0,be.jsx)("div",{className:"mt-1 text-xs leading-5 text-muted-foreground",children:t}):null]}),(0,be.jsx)(Io,{checked:n,onCheckedChange:r,disabled:o,className:"data-[disabled]:cursor-not-allowed data-[disabled]:opacity-60"})]})}function En({open:e=!1,title:t="",description:n="",onClose:r=()=>{},children:o,variant:a="dialog",headerActions:i=null,showCloseButton:l=!0,closeDisabled:s=!1,closeOnEscape:c=!0,closeOnBackdrop:d=!0,footer:u=null,contentClassName:f="",bodyClassName:p="",footerClassName:b=""}){if((0,Fs.useEffect)(()=>{if(!e||typeof window>"u")return;function h(g){g.key==="Escape"&&c&&r()}return window.addEventListener("keydown",h),()=>window.removeEventListener("keydown",h)},[c,e,r]),!e)return null;let m=a==="page",v=(0,be.jsx)("div",{className:Q("fixed inset-0 z-50 bg-slate-950/55 backdrop-blur-sm",m?"p-0":"flex items-center justify-center p-4"),onMouseDown:h=>{h.target===h.currentTarget&&d&&r()},children:(0,be.jsxs)("div",{className:Q("overflow-hidden border border-border/70 bg-card/95 shadow-2xl",m?"flex h-full w-full flex-col rounded-none border-x-0 border-y-0 bg-background/98":"flex max-h-[85vh] w-full max-w-3xl flex-col rounded-3xl",f),children:[(0,be.jsxs)("div",{className:Q("flex items-start justify-between gap-3 border-b border-border/70",m?"px-5 py-4 sm:px-6":"px-5 py-4"),children:[(0,be.jsxs)("div",{className:"min-w-0",children:[(0,be.jsx)("div",{className:"text-base font-semibold text-foreground",children:t}),n?(0,be.jsx)("div",{className:"mt-1 text-sm leading-6 text-muted-foreground",children:n}):null]}),(0,be.jsxs)("div",{className:"flex shrink-0 items-center gap-2",children:[i,l?(0,be.jsx)(H,{type:"button",variant:"ghost",size:"sm",onClick:r,disabled:s,children:"Close"}):null]})]}),(0,be.jsx)("div",{className:Q("overflow-y-auto",m?"min-h-0 flex-1 px-5 py-4 sm:px-6 sm:py-5":"min-h-0 flex-1 px-5 py-4",p),children:o}),u?(0,be.jsx)("div",{className:Q("border-t border-border/70 bg-background/96",m?"px-5 py-4 sm:px-6":"px-5 py-4",b),children:u}):null]})});return typeof document>"u"||!document.body?v:(0,SE.createPortal)(v,document.body)}function Pm({open:e=!1,anchorRef:t,preferredSide:n="bottom",desiredHeight:r=288,offset:o=4,className:a="",children:i,...l}){let s=Lm({open:e,anchorRef:t,preferredSide:n,desiredHeight:r,offset:o});return e?(0,be.jsx)("div",{className:Q("absolute left-0 right-0 z-30 overflow-y-auto rounded-xl border border-border/70 bg-popover shadow-lg",s.side==="top"?"bottom-full mb-1":"top-full mt-1",a),style:{maxHeight:`${Math.max(0,Math.floor(s.maxHeight||r))}px`},...l,children:i}):null}function AE({open:e=!1,onKeepEditing:t=()=>{},onDiscardAndClose:n=()=>{},onSaveAndClose:r=()=>{},saveDisabled:o=!1,dirtyLabels:a=[],details:i=""}){let l=a.length>1?`${a.slice(0,-1).join(", ")} and ${a[a.length-1]}`:a[0]||"this form";return(0,be.jsx)(En,{open:e,onClose:t,title:"Unsaved changes",description:`You have unsaved edits in ${l}.`,contentClassName:"max-w-lg rounded-2xl border border-border/70 bg-background/98 shadow-[0_32px_120px_rgba(15,23,42,0.48)]",showCloseButton:!1,footer:(0,be.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2",children:[(0,be.jsx)(H,{type:"button",variant:"ghost",onClick:t,children:"Keep editing"}),(0,be.jsx)(H,{type:"button",variant:"outline",onClick:n,children:"Cancel + Close"}),(0,be.jsx)(H,{type:"button",onClick:()=>{r()},disabled:o,children:"Save + Close"})]}),children:(0,be.jsxs)("div",{className:"space-y-3 text-sm leading-6 text-muted-foreground",children:[(0,be.jsx)("div",{children:"Choose whether to save these edits before closing the modal."}),i?(0,be.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-amber-900",children:i}):null]})})}function CE({open:e=!1,failedModelIds:t=[],onKeepEditing:n=()=>{},onRemoveFailedAndClose:r=()=>{},removeDisabled:o=!1}){let a=t.length>1?`${t.length} failed models`:t[0]||"the failed model";return(0,be.jsx)(En,{open:e,onClose:n,title:"Failed model tests",description:`Some new models did not pass validation: ${a}.`,contentClassName:"max-w-lg rounded-2xl border border-border/70 bg-background/98 shadow-[0_32px_120px_rgba(15,23,42,0.48)]",showCloseButton:!1,footer:(0,be.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2",children:[(0,be.jsx)(H,{type:"button",variant:"ghost",onClick:n,children:"Keep editing"}),(0,be.jsx)(H,{type:"button",variant:"outline",onClick:()=>{r()},disabled:o,children:"Remove failed + close"})]}),children:(0,be.jsxs)("div",{className:"space-y-3 text-sm leading-6 text-muted-foreground",children:[(0,be.jsx)("div",{children:"Successful new models are still kept in the draft. You can continue editing, or remove only the failed rows and close the modal."}),t.length>0?(0,be.jsx)("div",{className:"rounded-xl border border-rose-200 bg-rose-50 px-3 py-2 text-rose-900",children:t.join(", ")}):null]})})}function Br(){return(0,be.jsx)("span",{className:"mr-2 inline-flex h-3.5 w-3.5 animate-spin rounded-full border-2 border-current border-r-transparent align-[-0.125em]"})}function RE({children:e,onClick:t,disabled:n=!1,title:r="",className:o=""}){return(0,be.jsx)("button",{type:"button",className:Q("inline-flex items-center rounded-full border border-border bg-background/70 px-2.5 py-1 text-[11px] font-medium tracking-wide text-muted-foreground transition hover:border-primary/35 hover:bg-primary/5 hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/60 focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:pointer-events-none disabled:opacity-50",o),onClick:t,disabled:n,title:r,"aria-label":r||void 0,children:e})}var Le=B(te(),1);function Q5({className:e=""}){return(0,Le.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:[(0,Le.jsx)("circle",{cx:"6.75",cy:"10",r:"3.25"}),(0,Le.jsx)("path",{d:"M10 10h6.5"}),(0,Le.jsx)("path",{d:"M13.5 10v2.25"}),(0,Le.jsx)("path",{d:"M15.75 10v1.5"})]})}function X5({className:e=""}){return(0,Le.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:[(0,Le.jsx)("path",{d:"M16.25 10a6.25 6.25 0 1 1-1.83-4.42"}),(0,Le.jsx)("path",{d:"M13.5 3.75h3v3"}),(0,Le.jsx)("path",{d:"M16.5 3.75 12.75 7.5"})]})}function J5({className:e=""}){return(0,Le.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:[(0,Le.jsx)("path",{d:"M7.25 5.75h-1.5A2.75 2.75 0 0 0 3 8.5v5.75A2.75 2.75 0 0 0 5.75 17h5.75a2.75 2.75 0 0 0 2.75-2.75v-1.5"}),(0,Le.jsx)("path",{d:"M10.5 9.5 17 3"}),(0,Le.jsx)("path",{d:"M12 3h5v5"})]})}function Z5({className:e=""}){return(0,Le.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:[(0,Le.jsx)("path",{d:"M6 3.5h5.25L15 7.25V16A1.5 1.5 0 0 1 13.5 17.5h-7A1.5 1.5 0 0 1 5 16V5A1.5 1.5 0 0 1 6.5 3.5H6Z"}),(0,Le.jsx)("path",{d:"M11 3.5V7.5H15"})]})}function eB({className:e=""}){return(0,Le.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:[(0,Le.jsx)("path",{d:"M6 3.5h5.25L15 7.25V16A1.5 1.5 0 0 1 13.5 17.5h-7A1.5 1.5 0 0 1 5 16V5A1.5 1.5 0 0 1 6.5 3.5H6Z"}),(0,Le.jsx)("path",{d:"M11 3.5V7.5H15"}),(0,Le.jsx)("path",{d:"M7 12.25a3 3 0 1 1 2.85 2.99"}),(0,Le.jsx)("path",{d:"M8.5 10.25h1.5v1.5"})]})}function tB({label:e,value:t,icon:n,disabled:r=!1,onClick:o,actionLabel:a}){return(0,Le.jsxs)("button",{type:"button",className:"inline-flex h-9 min-w-0 max-w-full items-center gap-2 rounded-full border border-border/70 bg-background/90 px-3 text-left transition hover:border-accent hover:bg-accent disabled:cursor-not-allowed disabled:opacity-70 sm:max-w-[18rem]",onClick:o,disabled:r,"aria-label":a,title:r?a:t,children:[(0,Le.jsx)("span",{className:"flex h-6 w-6 shrink-0 items-center justify-center rounded-full bg-secondary text-muted-foreground",children:n}),(0,Le.jsx)("span",{className:"shrink-0 text-[10px] font-semibold uppercase tracking-[0.14em] text-muted-foreground",children:e}),(0,Le.jsx)("span",{className:"min-w-0 truncate text-xs font-medium text-foreground",children:t})]})}function nB({value:e,pending:t=!1,disabled:n=!1,rotateDisabled:r=!1,onCopy:o,onRotate:a}){return(0,Le.jsxs)("div",{className:"flex h-9 min-w-0 max-w-full items-stretch overflow-hidden rounded-full border border-border/70 bg-background/90 sm:max-w-[18rem]",children:[(0,Le.jsxs)("button",{type:"button",className:"inline-flex min-w-0 flex-1 items-center gap-2 rounded-l-full px-3 text-left transition hover:bg-accent disabled:cursor-not-allowed disabled:opacity-70",onClick:o,disabled:n,"aria-label":t?"Gateway key is still generating":"Copy gateway key",title:t?"Gateway key is still generating":"Copy gateway key",children:[(0,Le.jsx)("span",{className:"flex h-6 w-6 shrink-0 items-center justify-center rounded-full bg-secondary text-muted-foreground",children:(0,Le.jsx)(Q5,{className:"h-3.5 w-3.5"})}),(0,Le.jsx)("span",{className:"shrink-0 text-[10px] font-semibold uppercase tracking-[0.14em] text-muted-foreground",children:"Gateway key"}),(0,Le.jsx)("span",{className:"min-w-0 truncate text-xs font-medium text-foreground",children:e})]}),(0,Le.jsx)("button",{type:"button",className:"inline-flex w-9 shrink-0 items-center justify-center rounded-r-full border-l border-border/70 text-muted-foreground transition hover:bg-accent hover:text-foreground disabled:cursor-not-allowed disabled:opacity-70",onClick:a,disabled:r,"aria-label":"Rotate gateway key",title:"Rotate gateway key",children:(0,Le.jsx)(X5,{className:"h-3.5 w-3.5"})})]})}function EE({endpointValue:e,endpointDisabled:t=!1,gatewayValue:n,gatewayPending:r=!1,gatewayDisabled:o=!1,rotateDisabled:a=!1,onCopyEndpoint:i,onCopyGatewayKey:l,onRotateKey:s}){return(0,Le.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[(0,Le.jsx)(tB,{label:"Endpoint",value:e,icon:(0,Le.jsx)(J5,{className:"h-3.5 w-3.5"}),disabled:t,onClick:i,actionLabel:t?"API endpoint not ready yet":"Copy API endpoint"}),(0,Le.jsx)(nB,{value:n,pending:r,disabled:o,rotateDisabled:a,onCopy:l,onRotate:s})]})}function NE({label:e,value:t,icon:n,disabled:r=!1,onClick:o,actionLabel:a="",emptyLabel:i="Not resolved"}){let l=String(t||"").trim()||i;return(0,Le.jsxs)("button",{type:"button",className:"inline-flex min-w-0 max-w-full items-start gap-2 rounded-2xl border border-border/70 bg-background/90 px-3 py-2 text-left transition hover:border-accent hover:bg-accent disabled:cursor-not-allowed disabled:opacity-70",onClick:o,disabled:r,"aria-label":a,title:r?a:l,children:[(0,Le.jsx)("span",{className:"mt-0.5 flex h-5 w-5 shrink-0 items-center justify-center rounded-full bg-secondary text-muted-foreground",children:n}),(0,Le.jsxs)("span",{className:"min-w-0",children:[(0,Le.jsx)("span",{className:"block text-[9px] font-semibold uppercase tracking-[0.12em] text-muted-foreground",children:e}),(0,Le.jsx)("span",{className:"mt-1 block break-all text-[11px] font-medium leading-4 text-foreground",children:l})]})]})}function wl({connected:e=!1,className:t,srLabel:n="Connected",size:r="sm"}){if(!e)return null;let o=r==="md"?"h-3.5 w-3.5":"h-2.5 w-2.5",a=r==="md"?"h-2 w-2":"h-1.5 w-1.5";return(0,Le.jsxs)("span",{className:Q("relative inline-flex shrink-0 items-center justify-center",o,t),children:[(0,Le.jsx)("span",{"aria-hidden":"true",className:"absolute inset-0 rounded-full bg-emerald-400/45 animate-ping motion-reduce:animate-none"}),(0,Le.jsx)("span",{"aria-hidden":"true",className:Q("relative rounded-full bg-emerald-500 ring-2 ring-emerald-500/15",a)}),(0,Le.jsx)("span",{className:"sr-only",children:n})]})}function Um({primaryLabel:e="Config file",primaryValue:t="",primaryIcon:n=(0,Le.jsx)(Z5,{className:"h-3 w-3"}),onOpenPrimary:r,secondaryLabel:o="Backup file",secondaryValue:a="",secondaryIcon:i=(0,Le.jsx)(eB,{className:"h-3 w-3"}),onOpenSecondary:l}){let s=String(t||"").trim(),c=String(a||"").trim();return(0,Le.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,Le.jsx)(NE,{label:e,value:s,icon:n,disabled:!s||typeof r!="function",onClick:r,actionLabel:s?`Open ${e.toLowerCase()}`:`${e} path is not resolved yet`}),(0,Le.jsx)(NE,{label:o,value:c,icon:i,disabled:!c||typeof l!="function",onClick:l,actionLabel:c?`Open ${o.toLowerCase()}`:`${o} path is not resolved yet`})]})}var Yo=B(xe(),1);var ln=B(te(),1);function rB(e){return e==="error"?"Error":e==="success"?"Success":"Notice"}function oB({notice:e,onDismiss:t}){let[n,r]=(0,Yo.useState)(zf),[o,a]=(0,Yo.useState)(zf),[i,l]=(0,Yo.useState)(!1),s=(0,Yo.useRef)(null),c=(0,Yo.useRef)(0);(0,Yo.useEffect)(()=>{if(n<=0){t();return}if(i){s.current&&(clearTimeout(s.current),s.current=null);return}return c.current=Date.now(),s.current=setTimeout(()=>{s.current=null,t()},n),()=>{s.current&&(clearTimeout(s.current),s.current=null)}},[t,i,n]),(0,Yo.useEffect)(()=>{if(i||n<=0){a(n);return}let g=()=>{let x=c.current?Date.now()-c.current:0;a(Math.max(0,n-x))};g();let y=setInterval(g,uC);return()=>clearInterval(y)},[i,n]);function d(){if(i)return;s.current&&(clearTimeout(s.current),s.current=null);let g=c.current?Date.now()-c.current:0,y=Math.max(0,n-g);r(y),a(y),l(!0)}function u(){l(!1)}let f=e.tone==="error"?"border-rose-200 bg-rose-50 text-rose-800":e.tone==="success"?"border-emerald-200 bg-emerald-50 text-emerald-800":"border-amber-200 bg-amber-50 text-amber-800",p=9,b=2*Math.PI*p,m=Math.max(0,Math.min(1,o/zf)),v=b*(1-m),h=i?`Auto-dismiss paused with ${Math.max(0,o/1e3).toFixed(1)} seconds remaining`:`Auto-dismiss in ${Math.max(0,o/1e3).toFixed(1)} seconds`;return(0,ln.jsx)("div",{className:Q("pointer-events-auto rounded-2xl border px-4 py-3 text-sm shadow-lg backdrop-blur",f),onMouseEnter:d,onMouseLeave:u,onFocusCapture:d,onBlurCapture:g=>{g.currentTarget.contains(g.relatedTarget)||u()},role:e.tone==="error"?"alert":"status",children:(0,ln.jsxs)("div",{className:"min-w-0",children:[(0,ln.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,ln.jsx)("div",{className:"text-[11px] font-medium uppercase tracking-[0.16em] opacity-75",children:rB(e.tone)}),(0,ln.jsxs)("div",{className:"relative mt-0.5 h-6 w-6 shrink-0 opacity-85","aria-label":h,title:h,children:[(0,ln.jsxs)("svg",{viewBox:"0 0 24 24",className:Q("h-6 w-6 -rotate-90",i?"opacity-70":"opacity-100"),"aria-hidden":"true",children:[(0,ln.jsx)("circle",{cx:"12",cy:"12",r:p,fill:"none",stroke:"currentColor",strokeOpacity:"0.18",strokeWidth:"2"}),(0,ln.jsx)("circle",{cx:"12",cy:"12",r:p,fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeDasharray:b,strokeDashoffset:v,className:"transition-[stroke-dashoffset,opacity] duration-100 ease-linear"})]}),(0,ln.jsx)("span",{className:Q("pointer-events-none absolute inset-0 flex items-center justify-center",i?"gap-[2px]":""),"aria-hidden":"true",children:i?(0,ln.jsxs)(ln.Fragment,{children:[(0,ln.jsx)("span",{className:"h-2.5 w-[2px] rounded-full bg-current/75"}),(0,ln.jsx)("span",{className:"h-2.5 w-[2px] rounded-full bg-current/75"})]}):(0,ln.jsx)("span",{className:"h-1.5 w-1.5 rounded-full bg-current/75"})})]})]}),(0,ln.jsx)("div",{className:"mt-1 leading-6",children:e.message}),(0,ln.jsx)("div",{className:"mt-2 flex justify-end",children:(0,ln.jsx)("button",{className:"rounded-full border border-current/15 px-2.5 py-1 text-[11px] font-medium uppercase tracking-[0.16em] opacity-85 transition hover:border-current/30 hover:opacity-100",onClick:t,type:"button",children:"Dismiss"})})]})})}function wb({notices:e,onDismiss:t}){return!Array.isArray(e)||e.length===0?null:(0,ln.jsx)("div",{className:"pointer-events-none fixed inset-x-4 top-4 z-50 flex flex-col items-end gap-3","aria-live":"polite","aria-relevant":"additions text",children:e.map(n=>(0,ln.jsx)("div",{className:"w-full max-w-md",children:(0,ln.jsx)(oB,{notice:n,onDismiss:()=>t(n.id)})},n.id))})}var _a=B(xe(),1);var _n=B(xe(),1);var Zn=B(xe(),1);var ka=B(xe(),1);function $s(e=[]){let t=(0,ka.useRef)(new Map),n=(0,ka.useRef)(new Map),r=(0,ka.useRef)(new Map),o=(0,ka.useRef)(""),a=JSON.stringify(e);return(0,ka.useLayoutEffect)(()=>{let i=new Map;for(let d of e){let u=t.current.get(d);u&&i.set(d,u.getBoundingClientRect())}let l=typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches;if(o.current!==""&&o.current!==a&&!l)for(let d of e){let u=r.current.get(d),f=i.get(d),p=t.current.get(d);if(!u||!f||!p)continue;let b=u.top-f.top;Math.abs(b)<1||typeof p.animate!="function"||p.animate([{transform:`translateY(${b}px)`},{transform:"translateY(0)"}],{duration:220,easing:"cubic-bezier(0.22, 1, 0.36, 1)"})}let c=new Set(e);for(let d of n.current.keys())c.has(d)||n.current.delete(d);r.current=i,o.current=a},[a]),(0,ka.useMemo)(()=>i=>(n.current.has(i)||n.current.set(i,l=>{if(l){t.current.set(i,l);return}t.current.delete(i)}),n.current.get(i)),[])}var Rt=B(te(),1);function Ab({title:e,rows:t,onChange:n,options:r,disabled:o=!1,addLabel:a="Add target",emptyLabel:i="No targets configured.",helperText:l="Drag rows or use the arrow to change routing order.",helperAction:s=null,placeholder:c="provider/model or alias",draftPlaceholder:d="Add a new route",showDraftRow:u=!1,showDraftFocusButton:f=!1,showWeightInput:p=!1,filterOtherSelectedValues:b=!1,excludedValues:m=[]}){let v=(0,Zn.useRef)(0),h=(0,Zn.useRef)(""),g=(0,Zn.useRef)(null),y=(0,Zn.useRef)(new Map),x=(0,Zn.useRef)(0),A=(0,Zn.useRef)(0),[N,E]=(0,Zn.useState)(0),C=(0,Zn.useMemo)(()=>String(e||"targets").trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"targets",[e]),O=`${C}-draft-row`,L=(0,Zn.useMemo)(()=>{let ne=(t||[]).filter(Ve=>String(Ve?.ref||"").trim());return u?[{key:O,ref:"",sourceRef:""},...ne]:ne},[t,u,O]),V=$s(L.map(ne=>ne.key)),z=(0,Zn.useMemo)(()=>yr(m),[m]),G=(0,Zn.useMemo)(()=>Ti(r,[...L.map(ne=>ne?.ref),...z]),[r,L,z]);(0,Zn.useEffect)(()=>()=>{typeof window<"u"&&x.current&&window.cancelAnimationFrame(x.current)},[]);function Z(ne,Ve){if(u&&ne===O){if(!String(Ve||"").trim())return;v.current+=1,n([{key:`${C}-draft-${v.current}`,ref:Ve,sourceRef:"",...p?{weight:"1"}:{}},...(t||[]).filter(ae=>String(ae?.ref||"").trim())]);return}n((t||[]).map(ae=>ae.key===ne?{...ae,ref:Ve}:ae))}function ue(ne,Ve){n((t||[]).map(ae=>ae.key===ne?{...ae,weight:Ve}:ae))}function q(ne){n((t||[]).filter(Ve=>Ve.key!==ne))}function oe(ne){n(Ts(t||[],ne,Ve=>Ve?.key))}function ee(ne){n(Kf(t||[],ne,Ve=>Ve?.key))}function W(){h.current="",Ea(g.current,!1),g.current=null}function j(){v.current+=1;let ne=new Set([...(t||[]).map(ae=>String(ae?.ref||"").trim()).filter(Boolean),...z]),Ve=G.find(ae=>!ne.has(ae.value))?.value||"";n([...t||[],{key:`${C}-draft-${v.current}`,ref:Ve,sourceRef:""}])}function Ie(){if(!u||o)return;let ne=y.current.get(O);if(!ne||typeof window>"u"){E(qe=>qe+1);return}A.current+=1;let Ve=A.current;x.current&&(window.cancelAnimationFrame(x.current),x.current=0),ne.scrollIntoView({block:"start",behavior:"smooth"});let ae=_m(ne),Se=my(ne,ae),ze=0,U=0,fe=90,ve=8,ke=6,we=.5,Ee=()=>{if(A.current!==Ve)return;let qe=y.current.get(O)||ne,We=my(qe,ae);if(!Number.isFinite(We.top)||!Number.isFinite(We.left)){x.current=0,E(nn=>nn+1);return}if(MC(Se,We,we)?ze+=1:ze=0,Se=We,U+=1,U>=ve&&ze>=ke||U>=fe){x.current=0,E(nn=>nn+1);return}x.current=window.requestAnimationFrame(Ee)};x.current=window.requestAnimationFrame(Ee)}return(0,Rt.jsxs)("div",{className:"space-y-2 rounded-2xl border border-border/70 bg-background/55 p-4",children:[(0,Rt.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-2",children:[(0,Rt.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,Rt.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:e}),f&&u?(0,Rt.jsx)(H,{type:"button",variant:"ghost",size:"sm",className:"h-6 w-6 rounded-md p-0 text-muted-foreground hover:text-foreground",onMouseDown:ne=>ne.preventDefault(),onClick:Ie,disabled:o,"aria-label":a,title:a,children:(0,Rt.jsx)(bC,{className:"h-3.5 w-3.5"})}):null]}),(0,Rt.jsxs)("div",{className:"ml-auto flex max-w-full flex-wrap items-start justify-end gap-x-3 gap-y-2",children:[l?(0,Rt.jsx)("div",{className:"max-w-[34rem] text-right text-[11px] leading-4 text-muted-foreground",children:l}):null,u?null:(0,Rt.jsx)(H,{type:"button",variant:"ghost",onClick:j,disabled:o,children:a})]})]}),L.length>0?(0,Rt.jsx)("div",{className:"space-y-2",children:L.map((ne,Ve)=>{let ae=u&&ne.key===O,Se=ae?-1:(t||[]).findIndex(U=>U?.key===ne.key),ze=b?G.filter(U=>{let fe=String(U?.value||"").trim();return fe?fe===String(ne?.ref||"").trim()?!0:z.includes(fe)?!1:!(L||[]).some(ve=>ve?.key!==ne.key&&String(ve?.ref||"").trim()===fe):!1}):G;return(0,Rt.jsxs)("div",{ref:U=>{if(V(ne.key)(U),U){y.current.set(ne.key,U);return}y.current.delete(ne.key)},"data-reorder-row":"true",onDragOver:U=>{!o&&h.current&&h.current!==ne.key&&(U.preventDefault(),U.dataTransfer.dropEffect="move")},onDrop:U=>{if(o)return;U.preventDefault();let fe=U.dataTransfer.getData("text/plain")||h.current;W(),n($f(t||[],fe,ne.key))},className:Q(p?"grid grid-cols-[auto_auto_auto_minmax(0,1fr)_10rem_5.5rem] items-center gap-2 rounded-xl border border-border/70 bg-card/90 p-3":"grid grid-cols-[auto_auto_auto_minmax(0,1fr)_5.5rem] items-center gap-2 rounded-xl border border-border/70 bg-card/90 p-3",ae?"border-dashed bg-background/85":null),children:[(0,Rt.jsx)("span",{className:Q("flex h-8 w-8 items-center justify-center rounded-full text-muted-foreground",ae||o?"opacity-45":"cursor-grab"),draggable:!o&&!ae,onDragStart:U=>{if(o||ae)return;let fe=Ms(U.currentTarget);U.dataTransfer.effectAllowed="move",U.dataTransfer.setData("text/plain",ne.key),fe&&typeof U.dataTransfer?.setDragImage=="function"&&U.dataTransfer.setDragImage(fe,20,20),W(),h.current=ne.key,g.current=fe,Ea(fe,!0)},onDragEnd:W,title:ae?"New route draft row":"Drag to reorder",children:(0,Rt.jsx)(Ns,{className:"h-4 w-4"})}),(0,Rt.jsx)(Oa,{disabled:o||ae||Se<=0,label:ae||Se<=0?"Already first":`Move ${ne.ref||`target ${Se+1}`} up`,onClick:()=>oe(ne.key)}),(0,Rt.jsx)(Sl,{disabled:o||ae||Se===-1||Se>=(t||[]).length-1,label:ae||Se===-1||Se>=(t||[]).length-1?"Already last":`Move ${ne.ref||`target ${Se+1}`} down`,onClick:()=>ee(ne.key)}),(0,Rt.jsxs)("div",{className:"flex h-9 min-w-0 overflow-hidden rounded-lg border border-input bg-background/80 shadow-sm transition focus-within:border-ring focus-within:ring-2 focus-within:ring-ring/40",children:[(0,Rt.jsx)("div",{className:"flex shrink-0 items-center border-r border-border/70 bg-secondary/55 px-2.5 text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Model"}),(0,Rt.jsxs)(Xt,{value:ne.ref||void 0,onValueChange:U=>Z(ne.key,U),disabled:o,openSearchRequest:ae?N:0,children:[(0,Rt.jsx)(Jt,{className:"h-full min-w-0 flex-1 rounded-none border-0 bg-transparent px-3 shadow-none focus:border-transparent focus:ring-0",children:(0,Rt.jsx)(Zt,{placeholder:ae?d:c})}),(0,Rt.jsx)(en,{children:ze.length>0?vE(ze,{keyPrefix:`${e}-row-${ne.key}`}):(0,Rt.jsx)(Ct,{value:"__no-route-options",disabled:!0,children:"No routes available"})})]})]}),p?(0,Rt.jsxs)("div",{className:Q("flex h-9 overflow-hidden rounded-lg border border-input bg-background/80 shadow-sm transition focus-within:border-ring focus-within:ring-2 focus-within:ring-ring/40",ae?"opacity-45":null),children:[(0,Rt.jsx)("div",{className:"flex shrink-0 items-center border-r border-border/70 bg-secondary/55 px-2.5 text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Weight"}),(0,Rt.jsx)(it,{value:ae?"":String(ne?.weight||"1"),onChange:U=>ue(ne.key,U.target.value),inputMode:"numeric",placeholder:"1",disabled:o||ae,className:"h-full min-w-0 rounded-none border-0 bg-transparent px-3 text-center shadow-none focus:border-transparent focus:ring-0","aria-label":ae?"Weight for new target":`Weight for ${ne.ref||`target ${Ve+1}`}`})]}):null,ae?(0,Rt.jsx)(H,{type:"button",variant:"ghost",className:Q(Rs,"pointer-events-none invisible"),tabIndex:-1,disabled:!0,"aria-hidden":"true",children:"Remove"}):(0,Rt.jsx)(H,{type:"button",variant:"ghost",className:Rs,onMouseDown:U=>U.preventDefault(),onClick:()=>q(ne.key),disabled:o,children:"Remove"})]},ne.key)})}):(0,Rt.jsx)("div",{className:"rounded-xl border border-dashed border-border px-4 py-5 text-sm text-muted-foreground",children:i}),s?(0,Rt.jsx)("div",{className:"flex min-h-8 items-center justify-end",children:s}):null]})}var Al=B(xe(),1);var se=B(te(),1);function aB(e,t){let n=Math.abs(Number(e)||0),r=Math.abs(Number(t)||0);for(;r!==0;){let o=n%r;n=r,r=o}return n||1}function iB(e=[]){return!Array.isArray(e)||e.length===0?1:e.reduce((t,n)=>aB(t,n),0)||1}function lB(e,t){let n=String(e||"").trim();if(!n)return"Unconfigured route";let r=t.get(n);if(!r)return n;let o=String(r.label||n).trim()||n,a=String(r.hint||"").trim();return a&&a!==o?`${o} \xB7 ${a}`:o}function TE(e,t,n=[]){let r=new Map((n||[]).map(l=>[String(l?.value||"").trim(),l]).filter(([l])=>!!l)),o=new Map((Array.isArray(t?.targets)?t.targets:[]).map(l=>[String(l?.ref||"").trim(),l]).filter(([l])=>!!l)),a=new Map((Array.isArray(t?.fallbackTargets)?t.fallbackTargets:[]).map(l=>[String(l?.ref||"").trim(),l]).filter(([l])=>!!l));function i(l,s,c){return(l||[]).map((d,u)=>{let f=String(d?.ref||"").trim(),p=String(d?.sourceRef||d?.ref||"").trim(),b=c.get(p)||c.get(f)||{},m=Number(d?.weight??b?.weight),v=Number.isFinite(m)&&m>0?Math.floor(m):1;return{key:`${s}-${f||"empty"}-${u}`,ref:f,label:lB(f,r),bucket:s,weight:v}}).filter(d=>!!d.ref)}return[...i(e?.targets,"primary",o),...i(e?.fallbackTargets,"fallback",a)]}function sB(e=[],t=8){if(!Array.isArray(e)||e.length===0)return[];let n=e.map(l=>Math.max(1,Number(l?.weight)||1)),r=iB(n),o=n.map(l=>Math.max(1,Math.floor(l/r))),a=o.reduce((l,s)=>l+s,0);if(a>24){let l=a/24;o=o.map(s=>Math.max(1,Math.round(s/l))),a=o.reduce((s,c)=>s+c,0)}let i=[];for(let l=0;l<e.length;l+=1)for(let s=0;s<o[l];s+=1)i.push(e[l]);return Array.from({length:Math.max(e.length,t)},(l,s)=>i[s%i.length])}function cB(e,t=[]){let n=Gf(e),r=qf(n),o=Array.isArray(t)?t.filter(Boolean):[],i=o.some(l=>l.bucket==="fallback")?"Runtime builds the candidate pool as all primary targets first, then all fallback targets.":"Runtime builds the candidate pool from the primary target list only.";if(n==="round-robin"){let l=o.length>0?Array.from({length:Math.max(o.length,8)},(s,c)=>o[c%o.length]):[];return{strategyLabel:r,summary:"Each new request starts from the next candidate in the current pool, then wraps around.",poolNote:`${i} Round-robin rotates across that combined eligible list.`,sequenceLabel:"Example starting candidate by request",sequenceEntries:l,footnote:"If a candidate is unhealthy or quota-blocked, it is skipped and the next eligible candidate is chosen."}}if(n==="weighted-rr"||n==="quota-aware-weighted-rr"||n==="auto"){let l=n==="auto",s=sB(o,8);return{strategyLabel:r,summary:l?"`auto` normalizes to quota-aware weighted round-robin in the runtime balancer.":n==="quota-aware-weighted-rr"?"Candidates rotate like weighted round-robin, but low remaining quota or poor health lowers their share.":"Candidates repeat in proportion to their configured weights.",poolNote:`${i} This strategy ranks across the full eligible pool after it is built.`,sequenceLabel:"Example starting candidate by request",sequenceEntries:s,footnote:l||n==="quota-aware-weighted-rr"?"When all quotas and health scores are equal, the rotation looks like the weighted example below. Low remaining capacity or retryable failures push a target later.":"Weights come from the existing alias target metadata when present. Targets without a stored weight behave as weight 1."}}return{strategyLabel:r,summary:"Requests try candidates in the configured list order and only move to later candidates when earlier ones are unavailable or fail.",poolNote:`${i} Ordered keeps that exact sequence.`,sequenceLabel:"Attempt order",sequenceEntries:o,footnote:"This is the most predictable option when you want a strict preference order."}}function ME({open:e=!1,onClose:t=()=>{},onSave:n=()=>{},aliasLabel:r="",initialStrategy:o="auto",entries:a=[],disabled:i=!1}){let l=Gf(o),[s,c]=(0,Al.useState)(l),[d,u]=(0,Al.useState)(!1);(0,Al.useEffect)(()=>{e&&(c(l),u(!1))},[e,l,r]);async function f(){if(!(i||d)){u(!0);try{await n(s)!==!1&&t()}finally{u(!1)}}}return(0,se.jsx)(En,{open:e,onClose:t,title:r?`Choose strategy \xB7 ${r}`:"Choose strategy",description:"Review each routing strategy in its own tab. Save applies the currently selected tab to this alias.",showCloseButton:!1,footer:(0,se.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2",children:[(0,se.jsx)(H,{type:"button",variant:"ghost",onClick:t,disabled:d,children:"Cancel"}),(0,se.jsx)(H,{type:"button",onClick:()=>{f()},disabled:i||d,children:d?"Saving\u2026":"Save strategy"})]}),children:(0,se.jsxs)(bi,{value:s,onValueChange:c,children:[(0,se.jsx)("div",{className:"overflow-x-auto pb-1",children:(0,se.jsx)(vi,{className:"h-auto min-w-max flex-wrap justify-start gap-2 rounded-2xl bg-secondary/80 p-2",children:Pf.map(p=>(0,se.jsx)(Gn,{value:p.value,className:"h-auto min-h-10 rounded-xl px-4 py-2",children:p.label},p.value))})}),Pf.map(p=>{let b=cB(p.value,a),m=(b.sequenceEntries||[]).filter(Boolean);return(0,se.jsx)(qn,{value:p.value,className:"mt-4",children:(0,se.jsxs)("div",{className:"grid gap-4 xl:grid-cols-[minmax(0,1.15fr)_minmax(320px,0.85fr)]",children:[(0,se.jsxs)("div",{className:"space-y-4",children:[(0,se.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/80 p-5",children:[(0,se.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,se.jsx)(_e,{variant:"outline",children:b.strategyLabel}),(0,se.jsxs)(_e,{variant:"info",children:[a.length," candidate",a.length===1?"":"s"]})]}),(0,se.jsxs)("div",{className:"mt-4 space-y-3 text-sm leading-6 text-foreground",children:[(0,se.jsx)("p",{children:b.summary}),(0,se.jsx)("p",{className:"text-muted-foreground",children:b.poolNote})]})]}),(0,se.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/80 p-5",children:[(0,se.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:b.sequenceLabel}),m.length>0?(0,se.jsx)("div",{className:"mt-4 flex flex-wrap gap-2",children:m.map((v,h)=>(0,se.jsxs)("div",{className:"rounded-full border border-border/70 bg-card/90 px-3 py-1.5 text-sm text-foreground",children:[(0,se.jsx)("span",{className:"mr-2 text-xs text-muted-foreground",children:h+1}),(0,se.jsx)("span",{children:v.label})]},`${v.key}-sequence-${h}`))}):(0,se.jsx)("div",{className:"mt-4 rounded-xl border border-dashed border-border px-4 py-5 text-sm text-muted-foreground",children:"Add at least one target to preview how this strategy would route requests."}),(0,se.jsx)("div",{className:"mt-4 text-sm leading-6 text-muted-foreground",children:b.footnote})]})]}),(0,se.jsx)("div",{className:"space-y-4",children:(0,se.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/80 p-5",children:[(0,se.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,se.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Current setup"}),r?(0,se.jsx)(_e,{variant:"outline",children:r}):null]}),a.length>0?(0,se.jsx)("div",{className:"mt-4 space-y-2",children:a.map(v=>(0,se.jsxs)("div",{className:"flex flex-wrap items-center gap-2 rounded-xl border border-border/70 bg-card/90 px-3 py-2 text-sm",children:[(0,se.jsx)(_e,{variant:v.bucket==="primary"?"info":"outline",children:v.bucket}),(0,se.jsx)("span",{className:"font-medium text-foreground",children:v.label}),(0,se.jsxs)("span",{className:"text-xs text-muted-foreground",children:["weight ",v.weight]})]},v.key))}):(0,se.jsx)("div",{className:"mt-4 rounded-xl border border-dashed border-border px-4 py-5 text-sm text-muted-foreground",children:"This alias does not have any targets yet."})]})})]})},p.value)})]})})}function OE({open:e=!1,onClose:t=()=>{},config:n={}}){let r=(0,Al.useMemo)(()=>h1(n),[n]);return(0,se.jsx)(En,{open:e,onClose:t,title:"Alias guide",description:"Aliases give clients one stable route while letting LLM Router swap, balance, and fail over across provider/model targets behind that route.",contentClassName:"max-h-[92vh] max-w-4xl rounded-2xl border border-border/70 bg-background/98 shadow-[0_32px_120px_rgba(15,23,42,0.48)]",bodyClassName:"max-h-[calc(92vh-5.5rem)]",children:(0,se.jsxs)("div",{className:"space-y-4",children:[(0,se.jsxs)("div",{className:"grid gap-4 md:grid-cols-3",children:[(0,se.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/70 p-4",children:[(0,se.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Stable route"}),(0,se.jsxs)("div",{className:"mt-2 text-sm leading-6 text-foreground",children:["Expose one alias like ",(0,se.jsx)("code",{children:"coding"})," or ",(0,se.jsx)("code",{children:"gpt-5.4"})," to clients, then retarget the alias later without touching client config."]})]}),(0,se.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/70 p-4",children:[(0,se.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Selection strategy"}),(0,se.jsx)("div",{className:"mt-2 text-sm leading-6 text-foreground",children:"The alias strategy controls how LLM Router picks from the configured targets. Ordered is strict preference; the other strategies distribute traffic when multiple targets are healthy."})]}),(0,se.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/70 p-4",children:[(0,se.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Fallback behavior"}),(0,se.jsx)("div",{className:"mt-2 text-sm leading-6 text-foreground",children:"If one target is unavailable or rate limited, LLM Router can continue to later candidates in the same alias instead of failing the whole request immediately."})]})]}),(0,se.jsxs)("div",{className:"rounded-2xl border border-amber-200 bg-amber-50 p-4",children:[(0,se.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,se.jsx)(_e,{variant:"warning",children:"Important"}),(0,se.jsx)("div",{className:"text-sm font-medium text-amber-950",children:"Mixed context windows inside one alias can change behavior."})]}),(0,se.jsxs)("div",{className:"mt-3 text-sm leading-6 text-amber-900",children:["If an alias mixes models with different context windows, requests that fit the larger model may still fail on the smaller model. For example, an alias that includes both a ",(0,se.jsx)("code",{children:"258K"})," model and a ",(0,se.jsx)("code",{children:"128K"})," model can still fail when routing lands on the smaller target. Keep aliases aligned by context size when you expect long histories or large prompts."]})]}),(0,se.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/70 p-4",children:[(0,se.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,se.jsxs)("div",{children:[(0,se.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Current config check"}),(0,se.jsx)("div",{className:"mt-1 text-sm text-muted-foreground",children:"Aliases below currently mix different configured model context windows."})]}),(0,se.jsx)(_e,{variant:r.length>0?"warning":"success",children:r.length>0?`${r.length} alias${r.length===1?"":"es"} need review`:"No mixed context windows detected"})]}),r.length>0?(0,se.jsx)("div",{className:"mt-4 space-y-3",children:r.map(o=>(0,se.jsxs)("div",{className:"rounded-2xl border border-amber-200 bg-amber-50/70 p-4",children:[(0,se.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,se.jsx)(_e,{variant:"outline",children:o.aliasId}),(0,se.jsxs)("div",{className:"text-sm font-medium text-amber-950",children:["Smallest target: ",Ho(o.smallestContextWindow),". Largest target: ",Ho(o.largestContextWindow),"."]})]}),(0,se.jsxs)("div",{className:"mt-3 flex flex-wrap gap-2",children:[o.models.map(a=>(0,se.jsxs)("div",{className:"rounded-full border border-amber-200 bg-background/90 px-3 py-1.5 text-sm text-foreground",children:[a.ref," \xB7 ",Ho(a.contextWindow)]},a.ref)),o.unknownRefs.map(a=>(0,se.jsxs)("div",{className:"rounded-full border border-dashed border-amber-300 bg-background/70 px-3 py-1.5 text-sm text-muted-foreground",children:[a," \xB7 context unknown"]},a))]})]},o.aliasId))}):(0,se.jsx)("div",{className:"mt-4 rounded-xl border border-dashed border-border px-4 py-5 text-sm text-muted-foreground",children:"No alias currently mixes known context-window sizes across its configured targets."})]})]})})}var Me=B(te(),1),uB=500;function Mi(e=[]){return(e||[]).map(t=>({ref:String(t?.ref||"").trim(),weight:String(t?.weight||"1").trim()}))}function Cb({aliasId:e,alias:t,aliasIds:n,routeOptions:r,defaultModel:o,ampDefaultRoute:a,disabled:i=!1,disabledReason:l="",busy:s=!1,onApply:c,onRemove:d,onCopyAliasId:u=()=>{},isNew:f=!1,alwaysShowAliasIdInput:p=!1,showIssueOnSubmitOnly:b=!1,onDiscard:m=()=>{},onOpenStrategyModal:v=()=>{},titleAccessory:h=null,aliasSwitcher:g=null,framed:y=!0}){let x=_C(e,t,{isNew:f}),A=(0,_n.useMemo)(()=>nC(f?"":e,t),[x]),[N,E]=(0,_n.useState)(A),[C,O]=(0,_n.useState)(f),[L,V]=(0,_n.useState)(!1),z=(0,_n.useRef)(null),G=(0,_n.useRef)(0),Z=(0,_n.useRef)(""),[ue,q]=(0,_n.useState)("idle");(0,_n.useEffect)(()=>{E(A),O(f),V(!1),q("idle"),Z.current=""},[A,f]);let oe=!f&&Array.isArray(g?.entries)&&g.entries.length>1,ee=p||C;(0,_n.useEffect)(()=>{if(!ee)return;let M=typeof window<"u"?window.requestAnimationFrame(()=>{z.current?.focus(),z.current?.select?.()}):0;return()=>{typeof window<"u"&&window.cancelAnimationFrame(M)}},[ee]);let W=String(N?.id||"").trim(),j=e===Mt||W===Mt,Ie=(0,_n.useMemo)(()=>Ti((r||[]).filter(M=>M.kind!=="alias"&&M.value!==W&&M.value!==`alias:${W}`),[...(N?.targets||[]).map(M=>M?.ref),...(N?.fallbackTargets||[]).map(M=>M?.ref)]),[r,W,N?.targets,N?.fallbackTargets]),ne=(N?.targets||[]).map(M=>String(M?.ref||"").trim()),Ve=(N?.fallbackTargets||[]).map(M=>String(M?.ref||"").trim()),ae=[...ne,...Ve],Se=[...N?.targets||[],...N?.fallbackTargets||[]],ze=Se.some(M=>!String(M?.ref||"").trim()),U=Os(ae),fe=Se.some(M=>{if(!String(M?.ref||"").trim())return!1;let F=Math.floor(Number(M?.weight));return!Number.isFinite(F)||F<=0}),ve=W&&n.some(M=>M!==e&&M===W),ke=W&&ae.some(M=>M===W||M===`alias:${W}`),we=ae.filter(Boolean).length>0,Ee=JSON.stringify({id:A.id,strategy:A.strategy,targets:Mi(A.targets),fallbackTargets:Mi(A.fallbackTargets)}),qe=JSON.stringify({id:W,strategy:N?.strategy,targets:Mi(N?.targets),fallbackTargets:Mi(N?.fallbackTargets)}),We=JSON.stringify({targets:Mi(A.targets),fallbackTargets:Mi(A.fallbackTargets)}),nn=JSON.stringify({targets:Mi(N?.targets),fallbackTargets:Mi(N?.fallbackTargets)}),Dn=Ee!==qe,cn=W?fC.test(W)?ve?"Alias id already exists. Choose another id.":ze?"Fill or remove blank target rows before applying.":U?"Duplicate targets are not allowed anywhere in this alias.":fe?"Target weights must be positive integers.":ke?"An alias cannot target itself.":"":"Alias id must start with a letter or number and use letters, numbers, dots, underscores, colons, or hyphens.":"Alias id is required.",xt=i?l:cn,ht=i?l:b&&cn&&!L?"":cn,yt=i||s,Ue=String(W||e||"").trim(),It=Ue||"Select alias",Wt=yt||j||f,pn=j?"Default alias cannot be removed":`Remove alias ${Ue||e}`,wr=(0,_n.useMemo)(()=>nm(It),[It]),Te=j||o===e||o===W,et=a===e||a===W,ft=f?"Enter alias name. Example: claude-opus":void 0,lo=(0,_n.useMemo)(()=>TE(N,t,r),[N,t,r]);async function St(){if(V(!0),xt)return!1;let M=await c(e,N);return M&&f&&m(e),M}async function Re(M){let F={...N,strategy:M};return await c(e,F)?f?(m(e),!0):(E(F),!0):!1}async function gn(){if(V(!0),xt)return!1;let M=await c(e,N);return M&&(O(!1),V(!1)),M}function k(){if(p)return;if(!oe){O(!1);return}let M=String(e||"").trim(),F=String(N?.id||"").trim();if(!F||F===M){E(ce=>({...ce,id:M})),O(!1),V(!1);return}gn()}function me(M){if(M.key==="Escape"){M.preventDefault(),E(F=>({...F,id:A.id})),O(!1),V(!1);return}!p&&M.key==="Enter"&&(M.preventDefault(),M.currentTarget.blur())}async function re(){if(ee){let M=String(e||"").trim(),F=String(N?.id||"").trim();if(!F||F===M){E(ce=>({...ce,id:M})),O(!1),V(!1);return}await gn();return}O(!0)}(0,_n.useEffect)(()=>()=>{typeof window<"u"&&G.current&&window.clearTimeout(G.current)},[]),(0,_n.useEffect)(()=>{if(f||yt||xt||nn===We){typeof window<"u"&&G.current&&(window.clearTimeout(G.current),G.current=0),!f&&nn===We&&ue!=="saving"&&q("idle");return}if(!(Z.current===nn&&ue==="error")&&(q("pending"),!(typeof window>"u")))return G.current=window.setTimeout(()=>{G.current=0,Z.current=nn,q("saving"),c(e,N,{showSuccessNotice:!1,successMessage:""}).then(M=>{q(M?"saved":"error")})},uB),()=>{G.current&&(window.clearTimeout(G.current),G.current=0)}},[e,nn,N,We,f,xt,yt,c]);let Pe=f?"":ue==="saving"?"Saving alias changes\u2026":ue==="pending"?"Changes save automatically.":ue==="saved"?"Alias changes saved.":ue==="error"?"Autosave failed. Keep editing to retry.":"Changes save automatically.",T=(0,Me.jsxs)("div",{className:"space-y-4",children:[(0,Me.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,Me.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,Me.jsx)("div",{className:"flex min-w-0 flex-wrap items-center gap-2",children:oe?(0,Me.jsxs)("div",{className:"flex min-w-0 flex-1 flex-wrap items-center gap-2",children:[(0,Me.jsxs)("div",{className:Q("flex h-9 min-w-0 max-w-full overflow-hidden rounded-lg border border-input bg-background/80 shadow-sm transition focus-within:border-ring focus-within:ring-2 focus-within:ring-ring/40",ee?"flex-1":"w-fit"),children:[(0,Me.jsx)("div",{className:"flex shrink-0 items-center border-r border-border/70 bg-secondary/55 px-2.5 text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Select an alias"}),ee?(0,Me.jsx)(it,{ref:z,value:N.id,placeholder:ft,onChange:M=>E(F=>({...F,id:M.target.value})),onBlur:k,onKeyDown:me,disabled:yt||j,className:"h-full min-w-[12rem] flex-1 rounded-none border-0 bg-transparent px-3 text-sm font-medium shadow-none focus:border-transparent focus:ring-0"}):(0,Me.jsxs)(Xt,{value:g.value||void 0,onValueChange:g.onValueChange,children:[(0,Me.jsx)(Jt,{className:"h-full min-w-[10rem] flex-none rounded-none border-0 bg-transparent px-3 pr-[50px] text-left text-sm font-medium shadow-none focus:border-transparent focus:ring-0",style:{width:`${wr}px`,maxWidth:"100%"},children:(0,Me.jsx)(Zt,{placeholder:"Select alias"})}),(0,Me.jsx)(en,{children:g.entries.map(([M,F])=>(0,Me.jsx)(Ct,{value:M,searchText:`${M} ${(F?.targets||[]).length} ${(F?.fallbackTargets||[]).length}`,children:M},M))})]}),ee?null:(0,Me.jsx)("button",{type:"button",className:"flex h-full w-10 shrink-0 items-center justify-center border-l border-border/70 text-muted-foreground transition hover:bg-accent/60 hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring/60 disabled:cursor-not-allowed disabled:opacity-60",onClick:()=>{u(Ue)},disabled:yt||!Ue,"aria-label":`Copy alias id ${Ue}`,title:Ue?`Copy alias id ${Ue}`:"Alias id is not ready yet",children:(0,Me.jsx)(Vf,{className:"h-4 w-4 shrink-0"})})]}),(0,Me.jsx)(H,{type:"button",variant:"outline",size:"sm",className:"h-9 w-9 rounded-lg border-border/70 bg-background/70 p-0 text-muted-foreground shadow-none hover:bg-background/90 hover:text-foreground",onMouseDown:M=>{ee&&M.preventDefault()},onClick:()=>{re()},disabled:yt||j,"aria-label":ee?"Save alias id":j?"Default alias id cannot be edited":"Edit alias id",title:ee?"Save alias id":j?"Default alias id cannot be edited":"Edit alias id",children:ee?(0,Me.jsx)(RC,{className:"h-4 w-4 shrink-0"}):(0,Me.jsx)(Es,{className:"h-4 w-4 shrink-0"})}),f?null:(0,Me.jsx)(H,{type:"button",variant:"outline",size:"sm",className:"h-9 w-9 rounded-lg border-border/70 bg-background/70 p-0 text-muted-foreground shadow-none hover:border-destructive hover:bg-background/90 hover:text-destructive",onClick:()=>d(e),disabled:Wt,"aria-label":pn,title:pn,children:(0,Me.jsx)(lu,{className:"h-4 w-4 shrink-0"})})]}):(0,Me.jsxs)(Me.Fragment,{children:[ee?(0,Me.jsx)(it,{ref:z,autoFocus:f,value:N.id,placeholder:ft,onChange:M=>E(F=>({...F,id:M.target.value})),onBlur:k,onKeyDown:me,disabled:yt||j&&!f,className:"max-w-[22rem] font-semibold"}):j&&!f?(0,Me.jsx)("div",{className:"truncate text-base font-semibold text-foreground",children:e}):(0,Me.jsxs)("button",{type:"button",className:"group inline-flex max-w-full items-center gap-2 rounded-lg text-left text-base font-semibold text-foreground transition hover:bg-primary/5 hover:text-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/60 focus-visible:ring-offset-2 focus-visible:ring-offset-background",onClick:()=>O(!0),disabled:yt,"aria-label":"Edit alias id",title:"Edit alias id",children:[(0,Me.jsx)("span",{className:"truncate",children:f?W||"New alias":W||e}),(0,Me.jsx)(Es,{className:"h-4 w-4 shrink-0"})]}),h?(0,Me.jsx)("div",{className:"min-w-[11rem] max-w-full",children:h}):null]})}),j?null:(0,Me.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-2",children:[Te?(0,Me.jsx)(_e,{variant:"success",children:"Default route"}):null,et?(0,Me.jsx)(_e,{variant:"info",children:"AMP default"}):null]})]}),(0,Me.jsxs)("div",{className:"flex items-start gap-2 self-start",children:[(0,Me.jsxs)(H,{type:"button",variant:"outline",size:"default",className:"group h-9 gap-0 overflow-hidden rounded-lg border-border/70 bg-background/70 px-0 text-sm font-medium normal-case tracking-normal shadow-none hover:bg-background/90",onClick:()=>v({aliasLabel:W||(f?"New alias":e),strategy:N?.strategy||"auto",entries:lo,disabled:yt||!!xt,onSave:Re}),disabled:yt,children:[(0,Me.jsx)("span",{className:"flex h-full shrink-0 items-center border-r border-border/70 bg-secondary/55 px-2.5 text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Routing stratergy"}),(0,Me.jsxs)("span",{className:"inline-flex min-w-0 items-center gap-2 px-3 text-left",children:[(0,Me.jsx)("span",{className:"truncate",children:qf(N.strategy||"auto")}),(0,Me.jsx)(Es,{className:"h-4 w-4 shrink-0"})]})]}),!oe&&!f?(0,Me.jsx)(H,{type:"button",variant:"outline",size:"sm",className:"h-9 w-9 rounded-lg border-border/70 bg-background/70 p-0 text-muted-foreground shadow-none hover:border-destructive hover:bg-background/90 hover:text-destructive",onClick:()=>d(e),disabled:Wt,"aria-label":pn,title:pn,children:(0,Me.jsx)(lu,{className:"h-4 w-4 shrink-0"})}):null]})]}),(0,Me.jsx)(Ab,{title:"Primary targets",rows:N.targets,onChange:M=>E(F=>({...F,targets:M})),options:Ie,disabled:yt,addLabel:"Add target",emptyLabel:"No targets yet. This alias can stay empty until you wire routes back in.",helperText:"Primary targets are tried first. Drag to reorder targets. Weights and metadata stay with the same ref.",draftPlaceholder:"Add a new target",showDraftRow:!0,showDraftFocusButton:!0,showWeightInput:!0,filterOtherSelectedValues:!0,excludedValues:Ve}),(0,Me.jsx)(Ab,{title:"Fallback targets",rows:N.fallbackTargets,onChange:M=>E(F=>({...F,fallbackTargets:M})),options:Ie,disabled:yt,addLabel:"Add fallback",emptyLabel:"No fallback targets configured.",helperText:"Fallback targets only enter the candidate pool after the full primary list. Weights still apply within the chosen routing strategy.",draftPlaceholder:"Add a fallback target",showDraftRow:!0,showDraftFocusButton:!0,showWeightInput:!0,filterOtherSelectedValues:!0,excludedValues:ne}),ht?null:(0,Me.jsx)("div",{className:"text-xs text-muted-foreground",children:Pe}),ht?(0,Me.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-sm text-amber-900",children:ht}):null,!ht&&j&&!we?(0,Me.jsxs)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-sm text-amber-900",children:["The fixed ",(0,Me.jsx)("code",{children:"default"})," route is empty. Requests routed to ",(0,Me.jsx)("code",{children:"default"})," or ",(0,Me.jsx)("code",{children:"smart"})," will return 500 until you add a working target."]}):null,f?(0,Me.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,Me.jsx)("div",{children:(0,Me.jsx)(H,{type:"button",variant:"ghost",onClick:()=>m(e),disabled:yt,children:"Discard"})}),(0,Me.jsx)("div",{className:"flex flex-wrap justify-end gap-2",children:(0,Me.jsx)(H,{type:"button",onClick:()=>{St()},disabled:yt||!!xt,children:s?"Saving\u2026":"Create alias"})})]}):null]});return y?(0,Me.jsx)(Lt,{children:(0,Me.jsx)(Dt,{className:"space-y-4 p-5",children:T})}):T}var sn=B(te(),1);function kE({aliases:e,config:t,aliasIds:n,routeOptions:r,defaultModel:o,ampDefaultRoute:a,disabledReason:i="",busy:l=!1,onApplyAlias:s,onRemoveAlias:c,onCopyAliasId:d}){let u=Object.entries(e||{}),f=!!i,[p,b]=(0,_a.useState)(""),[m,v]=(0,_a.useState)(!1),[h,g]=(0,_a.useState)(""),y=(0,_a.useMemo)(()=>kC(),[]),[x,A]=(0,_a.useState)({open:!1,aliasLabel:"",strategy:"auto",entries:[],disabled:!1,onSave:null});function N(){f||l||b(`draft-${Date.now()}`)}function E(q){(!q||q===p)&&b("")}function C(){b("")}function O({aliasLabel:q="",strategy:oe="auto",entries:ee=[],disabled:W=!1,onSave:j=null}){A({open:!0,aliasLabel:q,strategy:oe,entries:ee,disabled:W,onSave:j})}function L(){A(q=>({...q,open:!1}))}async function V(q,oe,ee={}){let W=await s(q,oe,ee);if(W){let j=String(oe?.id||q||"").trim()||q;g(j)}return W}(0,_a.useEffect)(()=>{let q=u.map(([oe])=>oe);if(q.length===0){h&&g("");return}(!h||!q.includes(h))&&g(q[0])},[u,h]);let z=u.find(([q])=>q===h)||u[0]||null,G=z?.[0]||"",Z=z?.[1]||null,ue=u.length>1?{value:G,onValueChange:g,entries:u}:null;return(0,sn.jsxs)(sn.Fragment,{children:[(0,sn.jsxs)(Lt,{children:[(0,sn.jsx)(Jr,{children:(0,sn.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,sn.jsx)("div",{className:"space-y-1",children:(0,sn.jsx)(pi,{children:"Model aliases give clients one stable route across multiple provider/models, so you can swap, balance, and fail over without changing client config."})}),(0,sn.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,sn.jsx)(H,{type:"button",variant:"outline",size:"sm",onClick:()=>v(!0),children:"Help"}),(0,sn.jsx)(H,{type:"button",size:"sm",onClick:N,disabled:f||l,children:l?"Saving\u2026":"Add alias"})]})]})}),(0,sn.jsxs)(Dt,{className:"space-y-4",children:[f?(0,sn.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-sm text-amber-900",children:i}):null,u.length>0?G&&Z?(0,sn.jsx)(Cb,{aliasId:G,alias:Z,aliasIds:n,routeOptions:r,defaultModel:o,ampDefaultRoute:a,disabled:f,disabledReason:i,busy:l,onApply:V,onRemove:c,onCopyAliasId:d,onOpenStrategyModal:O,aliasSwitcher:ue,framed:!1},G):null:(0,sn.jsxs)("div",{className:"rounded-2xl border border-dashed border-border px-4 py-6 text-sm text-muted-foreground",children:["No model aliases yet. Add one to expose stable routes like ",(0,sn.jsx)("code",{children:"coding"})," or ",(0,sn.jsx)("code",{children:"chat.fast"})," in the Web UI."]})]})]}),(0,sn.jsx)(En,{open:!!p,onClose:C,title:"Add alias",description:"Set a stable client-facing route, choose its strategy, and order the targets it should use.",showCloseButton:!1,contentClassName:"max-h-[92vh] max-w-5xl rounded-2xl border border-border/70 bg-background/98 shadow-[0_32px_120px_rgba(15,23,42,0.48)]",bodyClassName:"max-h-[calc(92vh-5.5rem)]",children:p?(0,sn.jsx)(Cb,{aliasId:p,alias:y,aliasIds:n,routeOptions:r,defaultModel:o,ampDefaultRoute:a,disabled:f,disabledReason:i,busy:l,onApply:V,onRemove:c,onCopyAliasId:d,isNew:!0,alwaysShowAliasIdInput:!0,showIssueOnSubmitOnly:!0,onDiscard:E,onOpenStrategyModal:O,framed:!1},p):null}),(0,sn.jsx)(ME,{open:x.open,onClose:L,onSave:q=>x.onSave?.(q),aliasLabel:x.aliasLabel,initialStrategy:x.strategy,entries:x.entries,disabled:x.disabled}),(0,sn.jsx)(OE,{open:m,onClose:()=>v(!1),config:t})]})}var tn=B(xe(),1);var Cl=B(xe(),1);var Ir=B(te(),1);function ku({values:e,onChange:t,placeholder:n,helperText:r,inputRef:o=null,inputClassName:a="",suggestedValues:i=[],valueStates:l={},draftValue:s="",onDraftValueChange:c=()=>{},commitOnBlur:d=!1,disabled:u=!1,isValueValid:f=b=>!!String(b||"").trim(),inputProps:p={}}){let b=(0,Cl.useMemo)(()=>yr(e),[e]),[m,v]=(0,Cl.useState)(""),[h,g]=(0,Cl.useState)("");function y(C=s,{clearDraft:O=!0}={}){if(u)return!1;let L=Hf(C).filter(z=>f(z));if(L.length===0)return O&&c(""),!1;let V=Array.from(new Set([...b||[],...L]));return JSON.stringify(V)!==JSON.stringify(b||[])&&t(V),O&&c(""),!0}function x(C){u||(t(b.filter(O=>O!==C)),m===C&&(v(""),g("")))}function A(){u||i.length&&(t(Array.from(new Set([...b||[],...i]))),c(""))}function N(C){u||(v(C),g(C))}function E(C=h){if(u)return v(""),g(""),!1;if(!m)return!1;let O=Hf(C).filter(G=>f(G)),L=[],V=!1;for(let G of b||[]){if(G!==m){L.push(G);continue}V||(L.push(...O),V=!0)}let z=Array.from(new Set(L.map(G=>String(G||"").trim()).filter(Boolean)));return JSON.stringify(z)!==JSON.stringify(b||[])&&t(z),v(""),g(""),O.length>0}return(0,Cl.useEffect)(()=>{!u||!m||(v(""),g(""))},[u,m]),(0,Ir.jsxs)("div",{className:"space-y-2",children:[(0,Ir.jsxs)("div",{className:Q("flex min-h-11 flex-wrap items-center gap-2 rounded-xl border border-input bg-background/80 px-3 py-2",u?"opacity-80":null),children:[b.map(C=>{let O=l?.[C]||"default",L=O==="success"?"border-emerald-200 bg-emerald-50 text-emerald-900":O==="error"?"border-rose-200 bg-rose-50 text-rose-900":O==="pending"?"border-sky-200 bg-sky-50 text-sky-900":"border-border bg-secondary text-foreground",V=!u&&m===C;return(0,Ir.jsxs)("span",{className:Q("inline-flex max-w-full items-center gap-1 rounded-full border px-2.5 py-1 text-xs",L),children:[V?(0,Ir.jsx)("input",{autoFocus:!0,className:"min-w-[7rem] bg-transparent text-xs text-foreground outline-none",value:h,onChange:z=>g(z.target.value),onKeyDown:z=>{if(z.key==="Enter"||z.key==="Tab"){z.preventDefault(),E();return}z.key==="Escape"&&(z.preventDefault(),v(""),g(""))},onBlur:()=>{E()}}):(0,Ir.jsx)("button",{className:"max-w-[16rem] truncate text-left transition hover:text-foreground disabled:cursor-not-allowed disabled:opacity-70",type:"button",onMouseDown:z=>z.preventDefault(),onClick:()=>N(C),disabled:u,title:"Click to edit",children:C}),(0,Ir.jsx)("button",{className:"text-muted-foreground transition hover:text-foreground disabled:cursor-not-allowed disabled:opacity-60",type:"button",onMouseDown:z=>z.preventDefault(),onClick:()=>x(C),disabled:u,children:"\xD7"})]},C)}),(0,Ir.jsx)("input",{...p,ref:o,className:Q("min-w-[10rem] flex-1 bg-transparent text-sm text-foreground outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-70",a),value:s,disabled:u,onChange:C=>{let O=C.target.value;if(/[\s,]/.test(O)){let L=O.split(/[\s,]+/),V=L.pop()||"";L.length>0&&y(L.join(","),{clearDraft:!1}),c(V);return}c(O)},onKeyDown:C=>{if((C.key===","||C.key===" "||C.key==="Enter"||C.key==="Tab")&&s.trim()){C.preventDefault(),y();return}C.key==="Backspace"&&!s&&b.length>0&&(C.preventDefault(),x(b[b.length-1]))},onPaste:C=>{let O=C.clipboardData?.getData("text")||"";if(/[\s,]/.test(O)){C.preventDefault();let L=O.split(/[\s,]+/).filter(Boolean).filter(V=>f(V));L.length>0&&(t(Array.from(new Set([...b||[],...L]))),c(""));return}C.preventDefault(),c(`${s}${O}`)},onBlur:()=>{if(d&&f(s)){y(s);return}c(s)},placeholder:n}),b.length>0||s?(0,Ir.jsx)("button",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground transition hover:text-foreground disabled:cursor-not-allowed disabled:opacity-60",type:"button",onMouseDown:C=>C.preventDefault(),onClick:()=>{t([]),c("")},disabled:u,children:"Clear all"}):null]}),(0,Ir.jsxs)("div",{className:"flex flex-wrap items-center gap-2 text-xs text-muted-foreground",children:[r?(0,Ir.jsx)("span",{children:r}):null,b.length===0&&i.length>0?(0,Ir.jsx)("button",{className:"font-medium uppercase tracking-[0.16em] text-foreground transition hover:text-primary disabled:cursor-not-allowed disabled:opacity-60",type:"button",onClick:A,disabled:u,children:"Use suggested values"}):null]})]})}var ir=B(xe(),1);var rt=B(te(),1);function _E(e="rate-limit-draft-row"){return mu({key:e,models:[],requests:"",windowValue:"",windowUnit:bo.custom.rateLimitDefaults.windowUnit},{keyPrefix:"rate-limit-draft",defaults:bo.custom.rateLimitDefaults,useDefaults:!1})}function jm(e=[],{keyPrefix:t="rate-limit-draft"}={}){let n=`${t}-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`;return[...Array.isArray(e)?e:[],_E(n)]}function dB({value:e=[],onChange:t,availableModelIds:n=[],disabled:r=!1}){let o=(0,ir.useRef)(null),[a,i]=(0,ir.useState)(!1),l=(0,ir.useMemo)(()=>yo(e),[e]),s=l.includes("all"),c=s?[]:l.filter(Boolean),d=s||c.length===0,u=(0,ir.useMemo)(()=>yr(n),[n]);(0,ir.useEffect)(()=>{if(!a||typeof document>"u")return;function h(g){o.current?.contains(g.target)||i(!1)}return document.addEventListener("mousedown",h),()=>document.removeEventListener("mousedown",h)},[a]);function f(h){t(yo(h))}function p(h){f(h?["all"]:[])}function b(h,g){let y=g?[...c,h]:c.filter(x=>x!==h);f(y)}function m(h){if(h==="all"){f([]);return}f(c.filter(g=>g!==h))}let v=s?[{key:"all",label:"All model",removable:!0}]:c.length>0?c.map(h=>({key:h,label:h,removable:!0})):[{key:"__implicit-all__",label:"All model",removable:!1,muted:!0}];return(0,rt.jsxs)("div",{ref:o,className:"relative space-y-1.5",children:[(0,rt.jsxs)("div",{role:"button",tabIndex:r?-1:0,className:Q("flex min-h-9 w-full items-center justify-between gap-2 rounded-lg border border-input bg-background/80 px-3 py-1.5 text-left text-sm text-foreground shadow-sm outline-none transition focus:border-ring focus:ring-2 focus:ring-ring/40",r?"cursor-not-allowed opacity-50":"cursor-pointer",a?"border-ring ring-2 ring-ring/40":null),onClick:()=>{r||i(h=>!h)},"aria-expanded":a,"aria-haspopup":"menu",onKeyDown:h=>{if(!r){if(h.key==="Enter"||h.key===" "){h.preventDefault(),i(g=>!g);return}if(h.key==="ArrowDown"){h.preventDefault(),i(!0);return}h.key==="Escape"&&(h.preventDefault(),i(!1))}},children:[(0,rt.jsx)("div",{className:"flex min-w-0 flex-1 flex-wrap items-center gap-1.5",children:v.map(h=>h.removable?(0,rt.jsxs)("button",{type:"button",className:"inline-flex max-w-full items-center gap-1 rounded-full border border-border/70 bg-background px-2 py-0.5 text-xs font-medium text-foreground transition hover:border-accent hover:bg-accent",onClick:g=>{g.preventDefault(),g.stopPropagation(),m(h.key)},disabled:r,title:`Remove ${h.label}`,children:[(0,rt.jsx)("span",{className:"truncate",children:h.label}),(0,rt.jsx)("span",{className:"text-muted-foreground",children:"x"})]},h.key):(0,rt.jsx)("span",{className:Q("inline-flex max-w-full items-center rounded-full border px-2 py-0.5 text-xs font-medium",h.muted?"border-border/70 bg-secondary/45 text-muted-foreground":"border-border/70 bg-background text-foreground"),children:(0,rt.jsx)("span",{className:"truncate",children:h.label})},h.key))}),(0,rt.jsx)("span",{className:"text-muted-foreground",children:"\u25BE"})]}),a?(0,rt.jsxs)(Pm,{open:a,anchorRef:o,preferredSide:"top",desiredHeight:192,className:"p-2",onMouseDown:h=>h.stopPropagation(),onClick:h=>h.stopPropagation(),onKeyDown:h=>{h.key==="Escape"&&(h.preventDefault(),i(!1))},children:[(0,rt.jsxs)("label",{className:"flex cursor-pointer items-center gap-2 rounded-lg px-2 py-2 text-sm text-foreground transition hover:bg-secondary/60",children:[(0,rt.jsx)("input",{type:"checkbox",className:"h-4 w-4 rounded border-input",checked:s,onChange:h=>p(h.target.checked)}),(0,rt.jsx)("span",{children:"All model"})]}),(0,rt.jsx)("div",{className:"my-1 border-t border-border/70"}),u.length>0?(0,rt.jsx)("div",{children:u.map(h=>(0,rt.jsxs)("label",{className:"flex cursor-pointer items-center gap-2 rounded-lg px-2 py-2 text-sm text-foreground transition hover:bg-secondary/60",children:[(0,rt.jsx)("input",{type:"checkbox",className:"h-4 w-4 rounded border-input",checked:c.includes(h),onChange:g=>b(h,g.target.checked)}),(0,rt.jsx)("span",{className:"truncate",children:h})]},h))}):(0,rt.jsx)("div",{className:"px-2 py-2 text-sm text-muted-foreground",children:"No models available yet."})]}):null]})}function Vm({rows:e,onChange:t,availableModelIds:n=[],disabled:r=!1,inputRef:o=null,helperText:a="",onValidBlur:i=null}){let l=Array.isArray(e)?e:[],s=(0,ir.useRef)(null),c=(0,ir.useRef)(l),d=(0,ir.useMemo)(()=>yr(n),[n]),u=(0,ir.useMemo)(()=>{let g=new Set,y=new Set;for(let x of br(l)){let A=eu(x);if(A){if(g.has(A)){y.add(A);continue}g.add(A)}}return y},[l]),f=(0,ir.useMemo)(()=>l.map(g=>({..._E(g.key),...g,models:yo(g?.models||[])})),[l]);(0,ir.useEffect)(()=>{c.current=l},[l]);function p(g){let y=Array.isArray(g)?g:[];c.current=y,t(y)}function b(g,y){p(l.map(x=>x.key===g?{...x,...y}:x))}function m(g){p(l.filter(y=>y.key!==g))}function v(g){if(Wf(g))return"";let y=yo(g?.models||[]);if(d.length>0&&y.some(A=>A!=="all"&&!d.includes(A)))return"Use exact provider model ids only.";if(gy(g?.requests,0)<=0)return"Requests must be a positive integer.";if(gy(g?.windowValue,0)<=0)return"Window size must be a positive integer.";if(!cy.includes(String(g?.windowUnit||"").trim()))return"Window unit is invalid.";let x=eu({requests:g?.requests,windowValue:g?.windowValue,windowUnit:g?.windowUnit});return x&&u.has(x)?"Another row already uses this cap.":""}function h(g){if(!(!i||r)&&!g.currentTarget.contains(g.relatedTarget)){if(typeof window>"u"){let y=br(c.current);Po(y,{knownModelIds:d,requireAtLeastOne:!0})||i(y);return}window.setTimeout(()=>{if(!s.current||s.current.contains(document.activeElement))return;let y=br(c.current);Po(y,{knownModelIds:d,requireAtLeastOne:!0})||i(y)},0)}}return(0,rt.jsxs)("div",{ref:s,className:"space-y-2.5",onBlurCapture:h,children:[(0,rt.jsx)("div",{className:"space-y-2.5",children:f.map((g,y)=>{let x=Wf(g),A=v(g);return(0,rt.jsxs)("div",{className:Q("rounded-2xl border border-border/70 bg-background/70 p-3",A?"border-amber-200 bg-amber-50/70":null,x?"border-dashed bg-background/80":null),children:[(0,rt.jsxs)("div",{className:"grid gap-2.5 xl:grid-cols-[minmax(0,1.5fr)_minmax(0,0.72fr)_minmax(0,0.72fr)_minmax(0,0.86fr)_auto] xl:items-end",children:[(0,rt.jsx)(He,{label:"Models",stacked:!0,className:"gap-1",headerClassName:"min-h-0",hintClassName:"leading-4",children:(0,rt.jsx)(dB,{value:g.models,onChange:N=>b(g.key,{models:N}),availableModelIds:d,disabled:r})}),(0,rt.jsx)(He,{label:"Request",stacked:!0,className:"gap-1",headerClassName:"min-h-0",children:(0,rt.jsx)(it,{ref:y===0?o:null,value:g.requests,onChange:N=>b(g.key,{requests:N.target.value}),disabled:r,inputMode:"numeric",placeholder:"60"})}),(0,rt.jsx)(He,{label:"Window",stacked:!0,className:"gap-1",headerClassName:"min-h-0",children:(0,rt.jsx)(it,{value:g.windowValue,onChange:N=>b(g.key,{windowValue:N.target.value}),disabled:r,inputMode:"numeric",placeholder:"1"})}),(0,rt.jsx)(He,{label:"Unit",stacked:!0,className:"gap-1",headerClassName:"min-h-0",children:(0,rt.jsxs)(Xt,{value:String(g.windowUnit||"minute"),onValueChange:N=>b(g.key,{windowUnit:N}),disabled:r,children:[(0,rt.jsx)(Jt,{children:(0,rt.jsx)(Zt,{placeholder:"Window unit"})}),(0,rt.jsx)(en,{children:cy.map(N=>(0,rt.jsx)(Ct,{value:N,children:N},`${g.key}-${N}`))})]})}),(0,rt.jsx)(H,{type:"button",variant:"ghost",onClick:()=>m(g.key),disabled:r,className:"xl:self-end",children:"Remove"})]}),A?(0,rt.jsx)("div",{className:"mt-2.5 rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-sm text-amber-900",children:A}):null]},g.key)})}),a?(0,rt.jsx)("div",{className:"text-xs leading-5 text-muted-foreground",children:a}):null]})}var gt=B(xe(),1);var LE=[{key:"supportsReasoning",label:"Reasoning",field:"reasoning_effort"},{key:"supportsThinking",label:"Thinking",field:"thinking"},{key:"supportsResponseFormat",label:"Response Format",field:"response_format"},{key:"supportsLogprobs",label:"Logprobs",field:"logprobs"},{key:"supportsServiceTier",label:"Service Tier",field:"service_tier"},{key:"supportsPrediction",label:"Prediction",field:"prediction"},{key:"supportsStreamOptions",label:"Stream Options",field:"stream_options"}];function DE(e={},t={}){if(!t||typeof t!="object")return e;let n={...e};for(let r of Object.keys(t))typeof t[r]=="boolean"&&n[r]===void 0&&(n[r]=t[r]);return n}function BE(e){if(e===void 0)return!0;if(e===!0)return!1}function IE(e){return!e||typeof e!="object"?!1:Object.values(e).some(t=>typeof t=="boolean")}var Oi=B(te(),1);function fB({label:e,value:t,disabled:n,onCycle:r}){let o=typeof t=="boolean";return(0,Oi.jsxs)("button",{type:"button",disabled:n,onClick:r,className:Q("flex items-center gap-1.5 rounded-md border px-2 py-1 text-xs transition-colors",t===!0&&"border-emerald-200 bg-emerald-50/80",t===!1&&"border-rose-200 bg-rose-50/60",!o&&"border-border/60 bg-secondary/40",!n&&"hover:bg-accent"),children:[(0,Oi.jsx)("span",{className:Q("inline-flex h-3 w-3 shrink-0 items-center justify-center rounded-full text-[8px] font-bold leading-none",t===!0&&"bg-emerald-500 text-white",t===!1&&"bg-rose-400 text-white",!o&&"bg-muted-foreground/25"),children:t===!0?"\u2713":t===!1?"\u2715":""}),(0,Oi.jsx)("span",{className:Q("select-none whitespace-nowrap font-medium",t===!0&&"text-emerald-800",t===!1&&"text-rose-700 line-through",!o&&"text-muted-foreground"),children:e})]})}function Fm({capabilities:e={},disabled:t=!1,onChange:n}){return(0,Oi.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5 pt-1",children:[(0,Oi.jsx)("span",{className:"text-[11px] font-medium text-muted-foreground/80",children:"Capabilities"}),LE.map(({key:r,label:o})=>{let a=e[r];return(0,Oi.jsx)(fB,{label:o,value:a,disabled:t,onCycle:()=>n(r,BE(a))},r)})]})}var De=B(te(),1);function zE({provider:e,disabled:t=!1,disabledReason:n="",busy:r=!1,onApply:o,framed:a=!0,focusRequest:i=0,onStateChange:l=null,testStateByModel:s={},savePhase:c="",saveMessage:d=""}){let u=(0,gt.useMemo)(()=>rC(e),[e]),[f,p]=(0,gt.useState)([]),[b,m]=(0,gt.useState)(""),[v,h]=(0,gt.useState)(!1),[g,y]=(0,gt.useState)({}),[x,A]=(0,gt.useState)({}),[N,E]=(0,gt.useState)(null),[C,O]=(0,gt.useState)(""),[L,V]=(0,gt.useState)(""),[z,G]=(0,gt.useState)({}),Z=(0,gt.useRef)(0),ue=(0,gt.useRef)([]),q=(0,gt.useRef)(new Map),oe=(0,gt.useRef)(new Map),ee=(0,gt.useRef)(""),W=(0,gt.useRef)(""),j=(0,gt.useRef)(null),Ie=(0,gt.useRef)(new Map),ne=(0,gt.useRef)(new Map);function Ve(k={}){return Z.current+=1,{key:`model-${e.id}-draft-${Z.current}`,id:"",sourceId:"",contextWindow:"",capabilities:{},...k}}function ae(k){ee.current=k}function Se(k=[],{preserveFocus:me=!1}={}){let re=[],Pe=null;for(let T of Array.isArray(k)?k:[]){let M=String(T?.id||""),F=T?.contextWindow===void 0||T?.contextWindow===null?"":String(T.contextWindow);if(String(M).trim()){re.push({...T,id:M,contextWindow:F});continue}Pe||(Pe={...T,id:"",contextWindow:F})}return Pe||(Pe=Ve(),me&&ae(Pe.key)),[Pe,...re]}function ze(k){A(me=>{if(!me[k])return me;let re={...me};return delete re[k],re})}function U(k,me){y(re=>{if(me)return re[k]?re:{...re,[k]:!0};if(!re[k])return re;let Pe={...re};return delete Pe[k],Pe})}function fe(k,me={},{clearLookupState:re=!1,clearStatus:Pe=!0,closeLookupMenu:T=!1}={}){re&&ze(k),Pe&&E(null),T&&C===k&&O(""),p(M=>Se(M.map(F=>F.key===k?{...F,...me}:F),{preserveFocus:!1}))}(0,gt.useEffect)(()=>{ue.current=f},[f]),(0,gt.useEffect)(()=>{let k=Se(u,{preserveFocus:!0});p(k),ue.current=k,Ie.current.clear(),ne.current.clear(),y({}),A({}),E(null),O(""),V(""),G({})},[u]),(0,gt.useEffect)(()=>{let k=ee.current;if(!k)return;let me=q.current.get(k);if(!me)return;me.scrollIntoView?.({block:"nearest"}),me.focus();let re=me.value?.length||0;me.setSelectionRange?.(re,re),ee.current=""},[f]),(0,gt.useEffect)(()=>{i&&p(k=>{let me=Se(k,{preserveFocus:!1}),re=me.find(Pe=>!String(Pe?.id||"").trim())||me[me.length-1];return re&&ae(re.key),me})},[i]),(0,gt.useEffect)(()=>{C&&(f.some(k=>k.key===C)||O(""))},[f,C]),(0,gt.useEffect)(()=>{L&&(f.some(k=>k.key===L)||V(""))},[f,L]),(0,gt.useEffect)(()=>{G(k=>{let me=new Set(f.map(T=>T.key)),re=!1,Pe={};for(let[T,M]of Object.entries(k)){if(!me.has(T)){re=!0;continue}Pe[T]=M}return re?Pe:k})},[f]),(0,gt.useEffect)(()=>{if(!C||typeof document>"u")return;function k(me){oe.current.get(C)?.contains(me.target)||O("")}return document.addEventListener("mousedown",k),()=>document.removeEventListener("mousedown",k)},[C]);let ve=(0,gt.useMemo)(()=>f.filter(k=>String(k?.id||"").trim()),[f]),ke=(0,gt.useMemo)(()=>u.map(k=>({id:String(k?.id||"").trim(),contextWindow:$o(k?.contextWindow||""),capabilities:k?.capabilities||{}})).filter(k=>k.id),[u]),we=(0,gt.useMemo)(()=>ve.map(k=>({...k,id:String(k?.id||"").trim(),contextWindow:$o(k?.contextWindow||"")})),[ve]),Ee=we.map(k=>k.id),qe=ke.map(k=>k.id),We=Ee.filter(k=>!qe.includes(k)),nn=Os(Ee),Dn=Ee.length>0,cn=new Set(we.filter(k=>{let me=String(k?.contextWindow||"").trim();if(!me)return!1;let re=Number.parseInt(me,10);return!Number.isFinite(re)||re<=0||String(re)!==me}).map(k=>k.key)),xt=we.filter(k=>!String(k?.contextWindow||"").trim()),ht=JSON.stringify(ke)!==JSON.stringify(we.map(k=>({id:k.id,contextWindow:k.contextWindow,capabilities:k.capabilities||{}}))),Ue=t||r||(b!==""||c==="testing"||c==="saving")||v,It=(0,gt.useMemo)(()=>{let k=-1;return f.forEach((me,re)=>{String(me?.id||"").trim()&&(k=re)}),k},[f]),Wt=t?n:Dn?nn?"Model ids must be unique for each provider.":cn.size>0?"Context windows must be positive integers when set.":"":"Keep at least one model id on the provider.",pn=$s(f.map(k=>k.key));(0,gt.useEffect)(()=>{l?.({isDirty:ht,issue:Wt,locked:Ue,rows:we.map(k=>({...k,contextWindow:$o(k.contextWindow)}))})},[l,ht,Wt,Ue,we]);function wr(k){ze(k),U(k,!1),E(null),C===k&&O(""),L===k&&V(""),G(me=>{if(!Object.prototype.hasOwnProperty.call(me,k))return me;let re={...me};return delete re[k],re}),p(me=>Se(me.filter(re=>re.key!==k)))}function Te(k){p(me=>Se(Ts(me,k,re=>re?.key)))}function et(k){p(me=>Se(Kf(me,k,re=>re?.key)))}function ft(){W.current="",Ea(j.current,!1),j.current=null}async function lo(k,{force:me=!1}={}){let re=String(k||"").trim();if(!re)return Ls({query:re});if(!me&&Ie.current.has(re))return Ie.current.get(re);if(!me&&ne.current.has(re))return ne.current.get(re);let Pe=(async()=>{let T=await xu([re]),M=(Array.isArray(T)?T:[]).find(ce=>String(ce?.query||"").trim()===re)||{query:re},F=Ls(M,{fallbackQuery:re});return Ie.current.set(re,F),F})();ne.current.set(re,Pe);try{return await Pe}finally{ne.current.delete(re)}}async function St(k,{openMenu:me=!1,prefill:re=!1,modelId:Pe=""}={}){let T=ue.current.find(F=>F.key===k),M=String(Pe||T?.id||"").trim();if(!M)return null;me&&O(k),U(k,!0);try{let F=await lo(M);if(A(ce=>({...ce,[k]:F})),re){let ce=rm(F),Je=F?.exactMatch?.capabilities;(ce||Je)&&p(Vt=>Se(Vt.map(Ne=>{if(Ne.key!==k)return Ne;let Y=String(Ne?.id||"").trim();if(!Y||Y!==M)return Ne;let ge={};return ce&&!String(Ne?.contextWindow||"").trim()&&(ge.contextWindow=ce),Je&&!IE(Ne.capabilities)&&(ge.capabilities=DE(Ne.capabilities,Je)),Object.keys(ge).length>0?{...Ne,...ge}:Ne}),{preserveFocus:!1}))}return F}catch(F){let ce=F instanceof Error?F.message:String(F),Je={query:M,status:"error",error:ce,options:[]};return A(Vt=>({...Vt,[k]:Je})),Je}finally{U(k,!1)}}async function Re(k=[]){let me=new Set(Array.isArray(k)?k:[]),re=we.filter(Pe=>!Pe.id||String(Pe?.contextWindow||"").trim()?!1:me.size===0?!0:me.has(Pe.key)).map(Pe=>({key:Pe.key,id:Pe.id}));if(re.length!==0){h(!0),E(null);try{let Pe=await xu(re.map(Ne=>Ne.id)),T=y1(Pe),M=new Map(re.map(Ne=>[Ne.key,Ne]));for(let Ne of T.values())Ne?.query&&Ie.current.set(Ne.query,Ne);let F=Array.isArray(ue.current)?ue.current:[],ce=0,Je=0,Vt=F.map(Ne=>{let Y=M.get(Ne.key);if(!Y)return Ne;let ge=String(Ne?.id||"").trim(),Un=String(Ne?.contextWindow||"").trim();if(!ge||ge!==Y.id||Un)return Ne;let ki=T.get(ge)||Ls({query:ge}),_i=rm(ki);return _i?(ce+=1,{...Ne,contextWindow:_i}):(Je+=1,Ne)});p(Se(Vt,{preserveFocus:!1})),E({tone:ce>0?"success":"warning",message:ce>0?`Filled ${ce} context size${ce===1?"":"s"}${Je>0?`; ${Je} still need a manual value`:""}.`:`Could not fill ${Je} model${Je===1?"":"s"}.`})}catch(Pe){E({tone:"error",message:Pe instanceof Error?Pe.message:String(Pe)})}finally{h(!1)}}}async function gn(){if(Ue||Wt||!ht)return!1;let k=xo(e)==="api"&&We.length>0;m(k?"testing":"saving");try{return await o(we.map(me=>({...me,contextWindow:$o(me.contextWindow)})))}finally{m("")}}return(0,De.jsxs)("div",{className:Q(a?"space-y-3 rounded-2xl border border-border/70 bg-background/60 p-4":"space-y-3"),children:[(0,De.jsx)("div",{className:"rounded-2xl border border-border/70 bg-secondary/35 px-4 py-3 text-sm leading-6 text-muted-foreground",children:"Direct routes follow this top-to-bottom order. Focus a context field to load suggested sizes, or use Fill missing context size to fill each empty row with a median size."}),(0,De.jsx)("div",{className:"space-y-2",children:f.map((k,me)=>{let re=String(k?.id||"").trim(),Pe=String(k?.contextWindow||"").trim(),T=!!re,M=T?ve.findIndex(Y=>Y.key===k.key):-1,F=x[k.key]||null,ce=!!g[k.key],Je=C===k.key&&!!re,Vt=cn.has(k.key),Ne=re&&s?.[re]||"default";return(0,De.jsxs)("div",{ref:pn(k.key),"data-reorder-row":"true",onDragOver:Y=>{!Ue&&W.current&&W.current!==k.key&&(Y.preventDefault(),Y.dataTransfer.dropEffect="move")},onDrop:Y=>{if(Ue)return;Y.preventDefault();let ge=Y.dataTransfer.getData("text/plain")||W.current;ft(),p(Un=>Se($f(Un,ge,k.key)))},className:Q("space-y-2 rounded-xl border border-border/70 bg-card/90 p-3",T?null:"border-dashed bg-background/85",Vt?"border-amber-200 bg-amber-50/70":null,!Vt&&Ne==="success"?"border-emerald-200 bg-emerald-50/70":null,!Vt&&Ne==="error"?"border-rose-200 bg-rose-50/70":null,!Vt&&Ne==="pending"?"border-sky-200 bg-sky-50/70":null),children:[(0,De.jsxs)("div",{className:"grid grid-cols-[auto_auto_auto_minmax(0,1fr)_minmax(12rem,14rem)_5.5rem] items-center gap-2",children:[(0,De.jsx)("span",{className:Q("flex h-8 w-8 items-center justify-center rounded-full text-muted-foreground",T&&!Ue?"cursor-grab":"opacity-45"),draggable:!Ue&&T,onDragStart:Y=>{if(Ue||!T)return;let ge=Ms(Y.currentTarget);Y.dataTransfer.effectAllowed="move",Y.dataTransfer.setData("text/plain",k.key),ge&&typeof Y.dataTransfer?.setDragImage=="function"&&Y.dataTransfer.setDragImage(ge,20,20),ft(),W.current=k.key,j.current=ge,Ea(ge,!0)},onDragEnd:ft,title:T?"Drag to reorder":"New model draft row",children:(0,De.jsx)(Ns,{className:"h-4 w-4"})}),(0,De.jsx)(Oa,{disabled:Ue||!T||M<=0,label:!T||M<=0?"Already first":`Move ${k.id||`model ${M+1}`} up`,onClick:()=>Te(k.key)}),(0,De.jsx)(Sl,{disabled:Ue||!T||me>=It,label:!T||me>=It?"Already last":`Move ${k.id||`model ${M+1}`} down`,onClick:()=>et(k.key)}),(0,De.jsx)(it,{ref:Y=>{Y?q.current.set(k.key,Y):q.current.delete(k.key)},value:k.id,onChange:Y=>fe(k.key,{id:Y.target.value},{clearLookupState:!0,closeLookupMenu:!0}),placeholder:T?"Model id":"Add a new model id",disabled:Ue}),(0,De.jsxs)("div",{ref:Y=>{Y?oe.current.set(k.key,Y):oe.current.delete(k.key)},className:"relative min-w-0",children:[(0,De.jsx)(it,{value:L===k.key?z[k.key]??bu(k.contextWindow):g1(k.contextWindow),onChange:Y=>{let ge=Y.target.value,Un=$o(ge);G(ki=>({...ki,[k.key]:bu(Un)})),fe(k.key,{contextWindow:Un},{clearStatus:!1})},onBlur:Y=>{V(ge=>ge===k.key?"":ge),G(ge=>{if(!Object.prototype.hasOwnProperty.call(ge,k.key))return ge;let Un={...ge};return delete Un[k.key],Un}),fe(k.key,{contextWindow:$o(Y.target.value)},{clearStatus:!1})},onFocus:()=>{re&&(V(k.key),G(Y=>({...Y,[k.key]:bu(k.contextWindow)})),St(k.key,{openMenu:!0}))},onClick:()=>{re&&St(k.key,{openMenu:!0})},onKeyDown:Y=>{if(Y.key==="ArrowDown"&&re){Y.preventDefault(),St(k.key,{openMenu:!0});return}Y.key==="Escape"&&(Y.preventDefault(),O(""))},placeholder:"Context window",inputMode:"numeric",disabled:Ue||!re,className:"font-medium tabular-nums","aria-label":re?`Context window for ${re}`:"Context window"}),Je?(0,De.jsx)(Pm,{open:Je,anchorRef:{current:oe.current.get(k.key)||null},preferredSide:"top",desiredHeight:224,className:"z-20 rounded-lg bg-background/98 p-2",onMouseDown:Y=>Y.preventDefault(),children:ce?(0,De.jsxs)("div",{className:"inline-flex items-center gap-2 px-1 py-2 text-sm text-muted-foreground",children:[(0,De.jsx)(Br,{}),"Fetching size options for ",(0,De.jsx)("code",{children:re}),"."]}):F?.status==="error"?(0,De.jsx)("div",{className:"rounded-lg border border-rose-200 bg-rose-50 px-3 py-2 text-xs text-rose-900",children:F.error||"Could not load suggested sizes."}):F?.options?.length>0?(0,De.jsx)("div",{className:"space-y-1",children:F.options.map(Y=>(0,De.jsxs)("button",{type:"button",className:"flex w-full flex-col gap-2 rounded-lg border border-border/70 bg-background px-3 py-2 text-left text-sm text-foreground transition hover:border-accent hover:bg-accent disabled:cursor-not-allowed disabled:opacity-70",disabled:Ue,onMouseDown:ge=>ge.preventDefault(),onClick:()=>{G(ge=>({...ge,[k.key]:bu(Y.contextWindow)})),fe(k.key,{contextWindow:String(Y.contextWindow)},{clearStatus:!1}),O("")},title:`Use ${Y.label}`,children:[(0,De.jsxs)("div",{className:"min-w-0 space-y-1",children:[(0,De.jsx)("div",{className:"break-words font-medium leading-5",children:Y.label}),(0,De.jsx)("div",{className:"break-words text-xs leading-4 text-muted-foreground",children:Y.detail})]}),(0,De.jsxs)("div",{className:"w-full rounded-md border border-border/70 bg-secondary/70 px-3 py-2",children:[(0,De.jsx)("div",{className:"text-[10px] font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Context size"}),(0,De.jsx)("div",{className:"mt-1 text-lg font-semibold leading-none tabular-nums text-foreground",children:Ho(Y.contextWindow)})]})]},Y.key))}):(0,De.jsxs)("div",{className:"rounded-lg border border-dashed border-border/70 bg-background/80 px-3 py-2 text-xs text-muted-foreground",children:["No suggested size was found for ",(0,De.jsx)("code",{children:F?.query||re}),"."]})}):null]}),T?(0,De.jsx)(H,{type:"button",variant:"ghost",className:Rs,onMouseDown:Y=>Y.preventDefault(),onClick:()=>wr(k.key),disabled:Ue,children:"Remove"}):(0,De.jsx)(H,{type:"button",variant:"ghost",className:Q(Rs,"pointer-events-none invisible"),tabIndex:-1,disabled:!0,"aria-hidden":"true",children:"Remove"})]}),T&&(0,De.jsx)(Fm,{capabilities:k.capabilities||{},disabled:Ue,onChange:(Y,ge)=>{let Un={...k.capabilities||{}};ge===void 0?delete Un[Y]:Un[Y]=ge,fe(k.key,{capabilities:Un})}}),ce?(0,De.jsx)("div",{className:"flex justify-end text-xs",children:(0,De.jsxs)("div",{className:"inline-flex items-center gap-1.5 text-sky-700",children:[(0,De.jsx)(Br,{}),"Looking up sizes"]})}):null,Vt?(0,De.jsxs)("div",{className:"rounded-lg border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-900",children:["Enter a positive integer like ",(0,De.jsx)("code",{children:"128000"}),", or leave the field blank."]}):Ne==="pending"?(0,De.jsx)("div",{className:"rounded-lg border border-sky-200 bg-sky-50 px-3 py-2 text-xs text-sky-900",children:"Testing this model against the provider endpoint now."}):Ne==="success"?(0,De.jsx)("div",{className:"rounded-lg border border-emerald-200 bg-emerald-50 px-3 py-2 text-xs text-emerald-900",children:"Confirmed by the latest live provider test."}):Ne==="error"?(0,De.jsx)("div",{className:"rounded-lg border border-rose-200 bg-rose-50 px-3 py-2 text-xs text-rose-900",children:"This model failed the latest live provider test."}):null]},k.key)})}),Wt?(0,De.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-sm text-amber-900",children:Wt}):null,N?(0,De.jsx)("div",{className:Q("rounded-xl px-3 py-2 text-sm",N.tone==="error"?"border border-rose-200 bg-rose-50 text-rose-900":N.tone==="warning"?"border border-amber-200 bg-amber-50 text-amber-900":"border border-emerald-200 bg-emerald-50 text-emerald-900"),children:N.message}):null,(0,De.jsx)("div",{className:Q("sticky z-10 border-t border-border/70 bg-background/95 pt-3 backdrop-blur",a?"bottom-0":"bottom-0 -mx-5 rounded-b-[1rem] px-5 pb-4"),children:(0,De.jsxs)("div",{className:"flex min-h-9 items-center justify-between gap-3",children:[(0,De.jsx)("div",{className:Q("text-xs",c==="testing"?"text-sky-700":c==="saving"?"text-foreground":"text-muted-foreground"),children:c==="testing"?(0,De.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:[(0,De.jsx)(Br,{}),d||"Testing new models before save."]}):c==="saving"?(0,De.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:[(0,De.jsx)(Br,{}),d||"Saving provider models."]}):We.length>0&&xo(e)==="api"?`${We.length} new model${We.length===1?"":"s"} will be tested before save.`:"Existing models keep their current configuration metadata."}),(0,De.jsxs)("div",{className:"flex items-center justify-end gap-2",children:[!t&&!Ue&&xt.length>0?(0,De.jsx)(H,{type:"button",variant:"outline",onClick:()=>{Re()},children:v?"Filling\u2026":"Fill missing context size"}):null,!t&&!Ue&&ht?(0,De.jsx)(H,{type:"button",variant:"ghost",onClick:()=>{y({}),A({}),E(null),O(""),Ie.current.clear(),ne.current.clear(),p(Se(u,{preserveFocus:!0}))},children:"Reset"}):null,!t&&ht&&!Wt?(0,De.jsx)(H,{type:"button",onClick:()=>{gn()},disabled:Ue,children:c==="testing"||b==="testing"?"Testing\u2026":c==="saving"||b==="saving"||r?"Saving\u2026":"Save models"}):null]})]})})]})}var he=B(te(),1);function mB({provider:e,onRemove:t,onCopyModelId:n,onApplyProviderDetails:r,onApplyProviderModels:o,onSaveAndCloseEditor:a,disabledReason:i="",busy:l=!1}){let s=(0,tn.useMemo)(()=>jC(e),[e]),[c,d]=(0,tn.useState)(s),[u,f]=(0,tn.useState)(!1),[p,b]=(0,tn.useState)(!1),[m,v]=(0,tn.useState)(!1),[h,g]=(0,tn.useState)("provider"),[y,x]=(0,tn.useState)(""),[A,N]=(0,tn.useState)(0),[E,C]=(0,tn.useState)({isDirty:!1,issue:"",locked:!1,rows:[]}),[O,L]=(0,tn.useState)({phase:"",modelStates:{},failedModelIds:[],message:""}),V=(0,tn.useRef)(null),z=(0,tn.useRef)(null),G=(0,tn.useRef)(null),Z=(0,tn.useRef)(null);(0,tn.useEffect)(()=>{d(s)},[s]);let q=xo(e)!=="api",oe=(Array.isArray(e?.models)?e.models:[]).map(Te=>String(Te?.id||"").trim()).filter(Boolean),ee=Ta(e),W=q?"":LC(e?.rateLimits),j=q?[]:rr(c?.endpoints,c?.endpointDraft),Ie=q?[]:br(c?.rateLimitRows),ne=JSON.stringify({id:String(c?.id||"").trim(),name:String(c?.name||"").trim(),credentialInput:String(c?.credentialInput||"").trim(),endpoints:j,endpointDraft:String(c?.endpointDraft||"").trim(),rateLimitRows:hy(c?.rateLimitRows)}),Ve=JSON.stringify({id:String(s?.id||"").trim(),name:String(s?.name||"").trim(),credentialInput:String(s?.credentialInput||"").trim(),endpoints:yr(s?.endpoints),endpointDraft:String(s?.endpointDraft||"").trim(),rateLimitRows:hy(s?.rateLimitRows)}),ae=ne!==Ve,Se=!!i||l,ze=new Set((Array.isArray(E.rows)?E.rows:[]).map(Te=>String(Te?.id||"").trim()).filter(Boolean)),U=O.failedModelIds.filter(Te=>ze.has(Te)),fe=Se||O.phase==="testing"||O.phase==="saving",ve=q?"":Po(Ie,{knownModelIds:oe,requireAtLeastOne:!0}),ke=i||(String(c?.id||"").trim()?ll.test(String(c?.id||"").trim())?String(c?.name||"").trim()?!q&&j.length===0?"Add at least one endpoint for API Key providers.":!q&&j.some(Te=>!Si(Te))?"All endpoints must start with http:// or https://.":ve:"Provider name is required.":"Provider id must start with a letter and use lowercase letters, digits, or dashes only.":"Provider id is required."),we=q?c:{...c,endpoints:j,endpointDraft:""},Ee=!!E.isDirty,qe=ae||Ee,We=[ae?"provider settings":"",Ee?"model list":""].filter(Boolean),nn=[ae&&ke?`Provider: ${ke}`:"",Ee&&E.issue?`Models: ${E.issue}`:""].filter(Boolean).join(" "),Dn=Se||O.phase==="testing"||O.phase==="saving"||ae&&!!ke||Ee&&(!!E.issue||E.locked)||typeof a!="function";async function cn(){let Te=await r(e.id,we);return Te&&Ue(),Te}async function xt(Te){let et=await o(e.id,Te,{providerDraft:ae?we:null,onModelTestStateChange:ft=>{L({phase:String(ft?.phase||""),modelStates:ft?.modelStates&&typeof ft.modelStates=="object"?ft.modelStates:{},failedModelIds:Array.isArray(ft?.failedModelIds)?ft.failedModelIds:[],message:String(ft?.message||"")})}});return et&&Ue(),et}function ht(){d(s)}let yt=(0,tn.useCallback)(Te=>{C(Te)},[]);function Ue(){b(!1),v(!1),f(!1),g("provider"),x(""),d(s),C({isDirty:!1,issue:"",locked:!1,rows:[]}),L({phase:"",modelStates:{},failedModelIds:[],message:""})}async function It(){let Te=(Array.isArray(E.rows)?E.rows:[]).filter(ft=>!U.includes(String(ft?.id||"").trim()));return Te.length===0&&!ae||await a(e.id,{providerDraft:ae?we:null,modelRows:Ee?Te:null,onModelTestStateChange:ft=>{L({phase:String(ft?.phase||""),modelStates:ft?.modelStates&&typeof ft.modelStates=="object"?ft.modelStates:{},failedModelIds:Array.isArray(ft?.failedModelIds)?ft.failedModelIds:[],message:String(ft?.message||"")})}})?(Ue(),!0):(g("models"),!1)}(0,tn.useEffect)(()=>{L({phase:"",modelStates:{},failedModelIds:[],message:""})},[s]),(0,tn.useEffect)(()=>{U.length>0||!m||v(!1)},[U,m]),(0,tn.useEffect)(()=>{if(!u||h!=="provider"||y!=="endpoint"&&y!=="rate-limit"||typeof window>"u")return;let Te=window.requestAnimationFrame(()=>{let et=y==="endpoint"?V.current:G.current,ft=y==="endpoint"?z.current:Z.current;et?.scrollIntoView?.({block:"nearest"}),ft?.focus?.(),ft?.select?.(),x("")});return()=>window.cancelAnimationFrame(Te)},[u,h,y]);function Wt(Te="provider",et=""){b(!1),v(!1),g(Te),x(et),Te==="models"&&et==="models"&&N(ft=>ft+1),f(!0)}function pn(){if(!fe){if(U.length>0){b(!1),v(!0);return}if(qe){b(!0);return}Ue()}}async function wr(){if(Dn)return;if(!await a(e.id,{providerDraft:ae?we:null,modelRows:Ee?E.rows:null,onModelTestStateChange:et=>{L({phase:String(et?.phase||""),modelStates:et?.modelStates&&typeof et.modelStates=="object"?et.modelStates:{},failedModelIds:Array.isArray(et?.failedModelIds)?et.failedModelIds:[],message:String(et?.message||"")})}})){Ee&&(b(!1),g("models"));return}Ue()}return(0,he.jsxs)(he.Fragment,{children:[(0,he.jsx)(Lt,{children:(0,he.jsxs)(Dt,{className:"space-y-3 p-5",children:[(0,he.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,he.jsx)("div",{className:"min-w-0 flex-1 px-0.5 py-0.5",children:(0,he.jsxs)("div",{className:"flex flex-wrap items-baseline gap-x-2 gap-y-1",children:[(0,he.jsx)("span",{className:"text-base font-semibold text-foreground",children:e.name||e.id}),(0,he.jsxs)("span",{className:"text-sm text-muted-foreground",children:["(",e.id,")"]})]})}),(0,he.jsxs)("div",{className:"flex items-start gap-2 self-start",children:[(0,he.jsxs)(H,{type:"button",variant:"outline",size:"sm",className:"gap-1.5 normal-case tracking-normal",onClick:()=>Wt("provider"),disabled:Se,"aria-label":`Edit provider ${e.name||e.id}`,title:"Edit provider",children:[(0,he.jsx)(Es,{className:"h-4 w-4 shrink-0"}),"Edit"]}),(0,he.jsx)(H,{type:"button",variant:"outline",size:"sm",className:"h-8 w-8 shrink-0 p-0 text-muted-foreground hover:border-destructive/35 hover:bg-destructive/5 hover:text-destructive",onClick:()=>t(e.id),disabled:l,"aria-label":"Remove provider",title:"Remove provider",children:(0,he.jsx)(lu,{className:"h-4 w-4"})})]})]}),oe.length>0?(0,he.jsx)("div",{className:"flex flex-wrap gap-2 pt-1",children:oe.map(Te=>(0,he.jsx)(RE,{onClick:()=>n?.(Te),title:`Copy model id ${Te}`,className:"max-w-full",children:(0,he.jsx)("span",{className:"truncate",children:Te})},`${e.id}-${Te}`))}):null]})}),(0,he.jsx)(En,{open:u,onClose:pn,title:`Edit \xB7 ${e.id}`,description:O.phase==="testing"?O.message||"Testing new models before save.":O.phase==="saving"?O.message||"Saving provider changes.":"Switch between provider settings and model list. Each tab saves independently.",closeDisabled:fe,closeOnBackdrop:!fe,closeOnEscape:!fe,contentClassName:"max-h-[92vh] max-w-5xl rounded-2xl border border-border/70 bg-background/98 shadow-[0_32px_120px_rgba(15,23,42,0.48)]",bodyClassName:"max-h-[calc(92vh-5.5rem)] pb-0",children:(0,he.jsxs)(bi,{value:h,onValueChange:g,children:[(0,he.jsxs)(vi,{className:"w-full justify-start",children:[(0,he.jsx)(Gn,{value:"provider",children:"Provider"}),(0,he.jsx)(Gn,{value:"models",children:"Model list"})]}),(0,he.jsxs)(qn,{forceMount:!0,value:"provider",className:Q("space-y-4 pb-4",h!=="provider"?"hidden":null),children:[(0,he.jsx)("div",{className:"rounded-2xl border border-border/70 bg-background/60 p-4",children:(0,he.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,he.jsxs)("div",{children:[(0,he.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Provider"}),(0,he.jsx)("div",{className:"mt-1 text-sm text-muted-foreground",children:"Update provider identity and connection settings here."})]}),(0,he.jsx)(_e,{variant:"outline",children:q?"Subscription":"API Key"})]})}),(0,he.jsxs)("div",{className:Q("grid gap-3",q?"md:grid-cols-2":"md:grid-cols-[minmax(0,1fr)_minmax(0,1fr)]"),children:[(0,he.jsx)(He,{label:"Provider name",stacked:!0,children:(0,he.jsx)(it,{value:c.name,onChange:Te=>d(et=>({...et,name:Te.target.value})),disabled:fe})}),(0,he.jsx)(He,{label:"Provider id",hint:"Used in direct routes like provider/model",stacked:!0,children:(0,he.jsx)(it,{value:c.id,onChange:Te=>d(et=>({...et,id:Dr(Te.target.value)})),disabled:fe})})]}),q?null:(0,he.jsxs)("div",{className:"space-y-3",children:[(0,he.jsx)(He,{label:"API key or env",hint:"Use an env var like OPENAI_API_KEY or paste the direct key.",stacked:!0,children:(0,he.jsx)(Hs,{value:c.credentialInput||"",onChange:Te=>d(et=>({...et,credentialInput:Te.target.value})),disabled:fe,placeholder:"Example: OPENAI_API_KEY or sk-...",isEnvVar:vo(c.credentialInput)})}),(0,he.jsx)("div",{ref:V,children:(0,he.jsx)(He,{label:"Endpoints",hint:ee.length>1?"Comma, space, or newline turns into chips. The first endpoint stays active until you re-test this provider.":"Comma, space, or newline turns into chips.",stacked:!0,children:(0,he.jsx)(ku,{values:c.endpoints,onChange:Te=>d(et=>({...et,endpoints:Te})),draftValue:c.endpointDraft,onDraftValueChange:Te=>d(et=>({...et,endpointDraft:Te})),commitOnBlur:!0,disabled:fe,isValueValid:Si,inputRef:z,inputClassName:"placeholder:text-muted-foreground/55",placeholder:"Click here to type new endpoint",helperText:"Paste one or more endpoints"})})}),(0,he.jsx)("div",{ref:G,className:"grid gap-3 md:grid-cols-2 xl:grid-cols-[minmax(0,1.35fr)_minmax(0,0.8fr)_minmax(0,0.8fr)_minmax(0,1fr)]",children:(0,he.jsx)("div",{className:"md:col-span-2 xl:col-span-4",children:(0,he.jsx)(He,{label:"Rate limit",stacked:!0,headerAction:(0,he.jsx)(H,{type:"button",size:"sm",variant:"outline",onClick:()=>d(Te=>({...Te,rateLimitRows:jm(Te.rateLimitRows)})),disabled:fe,children:"Add rate limit"}),children:(0,he.jsx)(Vm,{rows:c.rateLimitRows,onChange:Te=>d(et=>({...et,rateLimitRows:Te})),availableModelIds:oe,disabled:fe,inputRef:Z})})})})]}),ke?(0,he.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-sm text-amber-900",children:ke}):null,(0,he.jsxs)("div",{className:"flex min-h-9 items-center justify-end gap-2",children:[!fe&&ae?(0,he.jsx)(H,{type:"button",variant:"ghost",onClick:ht,children:"Reset"}):null,ae&&!ke?(0,he.jsx)(H,{type:"button",onClick:()=>{cn()},disabled:fe,children:O.phase==="saving"||l?"Saving\u2026":"Save provider"}):null]})]}),(0,he.jsx)(qn,{forceMount:!0,value:"models",className:Q(h!=="models"?"hidden":null),children:(0,he.jsx)(zE,{provider:e,disabled:!!i,disabledReason:i,busy:l,framed:!1,focusRequest:A,onStateChange:yt,onApply:xt,testStateByModel:O.modelStates,savePhase:O.phase,saveMessage:O.message})})]})}),(0,he.jsx)(AE,{open:p,onKeepEditing:()=>b(!1),onDiscardAndClose:Ue,onSaveAndClose:wr,saveDisabled:Dn,dirtyLabels:We,details:nn}),(0,he.jsx)(CE,{open:m,failedModelIds:U,onKeepEditing:()=>v(!1),onRemoveFailedAndClose:It,removeDisabled:fe||typeof a!="function"})]})}function pB({providers:e,onRemove:t,onCopyModelId:n,onApplyProviderDetails:r,onApplyProviderModels:o,onSaveAndCloseEditor:a,disabledReason:i="",busy:l=!1}){return e.length?(0,he.jsx)("div",{className:"grid gap-4 xl:grid-cols-2",children:e.map(s=>(0,he.jsx)(mB,{provider:s,onRemove:t,onCopyModelId:n,onApplyProviderDetails:r,onApplyProviderModels:o,onSaveAndCloseEditor:a,disabledReason:i,busy:l},s.id))}):(0,he.jsx)(Lt,{children:(0,he.jsx)(Dt,{className:"flex flex-col gap-4 p-5 text-sm text-muted-foreground",children:(0,he.jsx)("div",{children:"No enabled providers are configured yet. Use Add provider to create your first provider, model list, and rate limits."})})})}function PE({providers:e,onAddProvider:t,onRemove:n,onCopyModelId:r,onApplyProviderDetails:o,onApplyProviderModels:a,onSaveAndCloseEditor:i,disabledReason:l="",busy:s=!1}){return(0,he.jsxs)("section",{className:"rounded-2xl border border-border/70 bg-card p-4","aria-label":"Provider models",children:[(0,he.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between",children:[(0,he.jsxs)("div",{className:"min-w-0",children:[(0,he.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Provider & Models"}),(0,he.jsx)("div",{className:"mt-1 text-sm text-muted-foreground",children:"Manage providers, direct model routes, endpoints, and rate limits in one place."})]}),(0,he.jsx)(H,{onClick:t,children:"Add provider"})]}),(0,he.jsx)("div",{className:"mt-4",children:(0,he.jsx)(pB,{providers:e,onRemove:n,onCopyModelId:r,onApplyProviderDetails:o,onApplyProviderModels:a,onSaveAndCloseEditor:i,disabledReason:l,busy:s})})]})}var _u=B(xe(),1);var ie=B(te(),1);function UE({connected:e,snapshot:t,models:n,busy:r,refreshing:o,config:a,onRefresh:i,onLoad:l,onUnload:s,onPin:c,onKeepAlive:d,onContextLength:u,onAddToRouter:f,onRemoveFromRouter:p,onAutoLoad:b,onSaveSettings:m,onInstall:v,onStartServer:h,onStopServer:g,onSyncRouter:y,embedded:x=!1}){let A=a?.ollama||{},[N,E]=(0,_u.useState)(A.baseUrl||"http://localhost:11434"),[C,O]=(0,_u.useState)(A.autoConnect!==!1),[L,V]=(0,_u.useState)(A.defaultKeepAlive||"5m"),z=t?.installed===!0;return(0,ie.jsxs)("div",{className:"space-y-4",children:[(0,ie.jsx)(Lt,{children:(0,ie.jsxs)(Dt,{className:"p-4 space-y-3",children:[(0,ie.jsxs)("div",{className:"flex items-center justify-between",children:[(0,ie.jsxs)("div",{className:"flex items-center gap-2",children:[(0,ie.jsx)("h3",{className:"font-medium",children:"Ollama Connection"}),x?(0,ie.jsx)("span",{className:"text-xs text-muted-foreground",children:"Local Models runtime"}):null,e?(0,ie.jsx)(_e,{variant:"success",children:"Connected"}):(0,ie.jsx)(_e,{variant:"outline",children:"Disconnected"})]}),(0,ie.jsxs)("div",{className:"flex gap-2",children:[!z&&(0,ie.jsx)(H,{size:"sm",onClick:v,disabled:r._install,children:r._install?"Installing\u2026":"Install Ollama"}),z&&!e&&(0,ie.jsx)(H,{size:"sm",onClick:h,disabled:r._startServer,children:r._startServer?"Starting\u2026":"Start Server"}),e&&(0,ie.jsx)(H,{size:"sm",variant:"outline",onClick:g,children:"Stop Server"})]})]}),t?.version&&(0,ie.jsxs)("p",{className:"text-xs text-muted-foreground",children:["Version: ",t.version]})]})}),e&&(0,ie.jsx)(Lt,{children:(0,ie.jsxs)(Dt,{className:"p-4 space-y-3",children:[(0,ie.jsxs)("div",{className:"flex items-center justify-between",children:[(0,ie.jsx)("h3",{className:"font-medium",children:"Models"}),(0,ie.jsxs)("div",{className:"flex gap-2",children:[(0,ie.jsx)(H,{size:"sm",variant:"outline",onClick:y,disabled:r._syncRouter,children:r._syncRouter?"Syncing\u2026":"Sync All to Router"}),(0,ie.jsx)(H,{size:"sm",variant:"outline",onClick:i,disabled:o,children:o?"Refreshing\u2026":"Reload Models"})]})]}),n.length===0&&!o&&(0,ie.jsxs)("p",{className:"text-sm text-muted-foreground",children:["No models found. Pull models with ",(0,ie.jsx)("code",{className:"text-xs bg-muted px-1 py-0.5 rounded",children:"ollama pull <model>"})]}),(0,ie.jsx)("div",{className:"space-y-2",children:n.map(G=>(0,ie.jsx)(gB,{model:G,busy:r[G.name]||{},onLoad:l,onUnload:s,onPin:c,onKeepAlive:d,onContextLength:u,onAddToRouter:f,onRemoveFromRouter:p,onAutoLoad:b},G.name))})]})}),(0,ie.jsx)(Lt,{children:(0,ie.jsxs)(Dt,{className:"p-4 space-y-3",children:[(0,ie.jsx)("h3",{className:"font-medium",children:"Settings"}),(0,ie.jsxs)("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-3",children:[(0,ie.jsxs)("div",{children:[(0,ie.jsx)("label",{className:"mb-1 block text-xs font-medium text-muted-foreground",children:"Base URL"}),(0,ie.jsx)(it,{value:N,onChange:G=>E(G.target.value),placeholder:"http://localhost:11434"})]}),(0,ie.jsxs)("div",{children:[(0,ie.jsx)("label",{className:"mb-1 block text-xs font-medium text-muted-foreground",children:"Default Keep Alive"}),(0,ie.jsxs)(Xt,{value:L,onValueChange:V,children:[(0,ie.jsx)(Jt,{children:(0,ie.jsx)(Zt,{})}),(0,ie.jsx)(en,{children:dy.map(G=>(0,ie.jsx)(Ct,{value:G.value,children:G.label},G.value))})]})]})]}),(0,ie.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,ie.jsx)("label",{className:"text-sm text-foreground",children:"Auto-connect on startup"}),(0,ie.jsx)(Io,{checked:C,onCheckedChange:O})]}),(0,ie.jsx)(H,{size:"sm",onClick:()=>m({baseUrl:N,autoConnect:C,defaultKeepAlive:L}),children:"Save Settings"})]})})]})}function gB({model:e,busy:t,onLoad:n,onUnload:r,onPin:o,onKeepAlive:a,onContextLength:i,onAddToRouter:l,onRemoveFromRouter:s,onAutoLoad:c}){let[d,u]=(0,_u.useState)(e.contextLength||0);return(0,ie.jsxs)("div",{className:"rounded-lg border border-border p-3 space-y-2",children:[(0,ie.jsxs)("div",{className:"flex items-center justify-between gap-2 flex-wrap",children:[(0,ie.jsxs)("div",{className:"flex items-center gap-2 flex-wrap",children:[(0,ie.jsx)("span",{className:"font-mono text-sm font-medium",children:e.name}),(0,ie.jsx)(_e,{variant:"outline",children:e.parameterSize||"?"}),(0,ie.jsx)(_e,{variant:"outline",children:e.quantizationLevel||"?"}),e.loaded?(0,ie.jsxs)(_e,{variant:"success",children:["Loaded",e.sizeVramFormatted?` (${e.sizeVramFormatted})`:""]}):(0,ie.jsx)(_e,{variant:"default",children:"Available"}),e.isPinned&&(0,ie.jsx)(_e,{variant:"warning",children:"Pinned"})]}),(0,ie.jsxs)("div",{className:"flex items-center gap-1.5 flex-wrap",children:[e.loaded?(0,ie.jsx)(H,{size:"sm",variant:"outline",onClick:()=>r(e.name),disabled:t.unloading,children:t.unloading?"Unloading\u2026":"Unload"}):(0,ie.jsx)(H,{size:"sm",variant:"outline",onClick:()=>n(e.name),disabled:t.loading,children:t.loading?"Loading\u2026":"Load"}),(0,ie.jsx)(H,{size:"sm",variant:e.isPinned?"default":"outline",onClick:()=>o(e.name,!e.isPinned),disabled:t.pinning,title:e.isPinned?"Unpin (allow auto-unload)":"Pin in memory (blocks eviction)",children:e.isPinned?"Unpin":"Pin"}),e.inRouter?(0,ie.jsx)(H,{size:"sm",variant:"outline",onClick:()=>s(e.name),className:"text-red-600 hover:text-red-700",children:"Remove from Router"}):(0,ie.jsx)(H,{size:"sm",variant:"default",onClick:()=>l(e.name),children:"Add to Router"})]})]}),(0,ie.jsxs)("div",{className:"flex items-center gap-4 flex-wrap text-xs",children:[(0,ie.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,ie.jsx)("label",{className:"text-muted-foreground whitespace-nowrap",children:"Keep Alive:"}),(0,ie.jsxs)(Xt,{value:e.keepAlive||"5m",onValueChange:f=>a(e.name,f),children:[(0,ie.jsx)(Jt,{className:"h-7 w-[160px] text-xs",children:(0,ie.jsx)(Zt,{})}),(0,ie.jsx)(en,{children:dy.map(f=>(0,ie.jsx)(Ct,{value:f.value,children:f.label},f.value))})]})]}),(0,ie.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,ie.jsx)("label",{className:"text-muted-foreground whitespace-nowrap",children:"Context:"}),(0,ie.jsx)(it,{type:"number",className:"h-7 w-24 text-xs",value:d,onChange:f=>u(Number(f.target.value)),onBlur:()=>{d!==e.contextLength&&i(e.name,d)},min:0,step:1024}),e.contextLength>0&&(0,ie.jsxs)("span",{className:"text-muted-foreground",children:["max: ",e.contextLength.toLocaleString()]})]}),(0,ie.jsxs)("div",{className:"flex items-center gap-2",children:[(0,ie.jsx)(Io,{checked:e.autoLoad,onCheckedChange:f=>c(e.name,f)}),(0,ie.jsx)("label",{className:"text-muted-foreground",children:"Auto-load on start"})]}),e.estimatedVram&&(0,ie.jsxs)("span",{className:"text-muted-foreground",children:["Est. VRAM: ",e.estimatedVram]})]})]})}var QE=B(xe(),1);var Ln=B(xe(),1);function Hm(e,t){return Object.values(e||{}).filter(n=>t(n)).length}var Lu={balanced:{label:"Balanced",contextWindow:65536},"long-context":{label:"Long Context",contextWindow:2e5},"low-memory":{label:"Low Memory",contextWindow:16384},"fast-response":{label:"Fast Response",contextWindow:8192}};function hB(e){let t=String(e||"").trim().toLowerCase();return t||"stopped"}function $m(e){return String(e||"").trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}function Rb(e,t=new Set){let n=String(e||"").trim()||"local/local-model";if(!t.has(n))return n;let r=2;for(;t.has(`${n}-${r}`);)r+=1;return`${n}-${r}`}function jE(e={}){return new Set(Object.values(e||{}).map(t=>String(t?.id||"").trim()).filter(Boolean))}function VE(e){return String(e||"").replace(/\.[^.]+$/u,"")}function yB(e){return String(e||"").trim().replace(/\\/g,"/").split("/").filter(Boolean).pop()||""}function FE(e={},t={}){let n=String(e?.repo||"").trim(),r=String(e?.file||"").trim(),o=jE(t),a=$m(`${n}-${VE(r)}`)||"local-model";return{id:Rb(a,o),displayName:r||n||"Managed GGUF",repo:n,file:r}}function Nb(e="",t={}){let n=String(e||"").trim(),r=yB(n),o=jE(t),a=$m(VE(r))||"local-model";return{id:Rb(a,o),displayName:r||n||"Attached GGUF",filePath:n}}function Km(e){let t=Number.parseInt(String(e??"").replace(/[^\d]/g,""),10);return Number.isFinite(t)&&t>0?t:void 0}function HE(e,t={}){let n=String(e?.displayName||e?.id||"Local Model").trim()||"Local Model",r="balanced",o=Lu[r],a=new Set(Object.values(t||{}).map(s=>String(s?.id||"").trim()).filter(Boolean)),i=`${n} ${o.label}`,l=Rb(`local/${$m(i)}`,a);return{key:$m(l)||`local-${Date.now()}`,baseModelId:e?.id,runtime:"llamacpp",name:i,id:l,preset:r,enabled:!0,preload:!1,contextWindow:o.contextWindow,capabilities:{}}}function $E(e){return{...e,preset:String(e?.preset||"balanced").trim()||"balanced",contextWindow:Number.isFinite(Number(e?.contextWindow))?Number(e.contextWindow):Lu.balanced.contextWindow,capabilities:e?.capabilities&&typeof e.capabilities=="object"?{...e.capabilities}:{}}}function KE(e,t=new Set){return String(e?.name||"").trim()?String(e?.id||"").trim()?t.has(String(e?.id||"").trim())?"Model id already exists.":Km(e?.contextWindow)?"":"Context window must be a positive integer.":"Model id is required.":"Variant name is required."}function GE(e={}){let t=e?.runtime||{},n=e?.library||{},r=e?.variants||{};return{enabledVariants:Hm(r,o=>o?.enabled===!0),preloadedVariants:Hm(r,o=>o?.preload===!0),staleAssets:Hm(n,o=>String(o?.availability||"").trim().toLowerCase()==="stale"),runningRuntimes:Hm(t,o=>hB(o?.status)==="running")}}var st=B(te(),1);function qE({draft:e,baseModel:t=null,duplicateIds:n=new Set,saveDisabled:r=!1,saveDisabledReason:o="",saving:a=!1,onChange:i,onSave:l,onCancel:s}){return(0,st.jsxs)("form",{className:"space-y-4",onSubmit:c=>{c.preventDefault(),l?.()},children:[t?(0,st.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/70 px-4 py-3",children:[(0,st.jsx)("div",{className:"text-xs font-semibold uppercase tracking-[0.16em] text-muted-foreground",children:"Base Model"}),(0,st.jsx)("div",{className:"mt-2 text-sm font-medium text-foreground",children:t?.displayName||t?.id}),(0,st.jsx)("div",{className:"mt-1 break-all text-xs text-muted-foreground",children:t?.path||"Path not recorded"})]}):null,(0,st.jsx)(He,{label:"Variant name",stacked:!0,children:(0,st.jsx)(it,{"aria-label":"Variant name",value:e?.name||"",onChange:c=>i?.({...e,name:c.target.value})})}),(0,st.jsxs)(He,{label:"Model id",stacked:!0,children:[(0,st.jsx)(it,{"aria-label":"Model id",value:e?.id||"",onChange:c=>i?.({...e,id:c.target.value})}),n.has(e?.id)?(0,st.jsx)("div",{className:"text-xs text-red-600",children:"Model id already exists."}):null]}),(0,st.jsx)(He,{label:"Preset",stacked:!0,children:(0,st.jsxs)(Xt,{value:e?.preset||"balanced",onValueChange:c=>i?.({...e,preset:c}),children:[(0,st.jsx)(Jt,{children:(0,st.jsx)(Zt,{})}),(0,st.jsxs)(en,{children:[(0,st.jsx)(Ct,{value:"balanced",children:"Balanced"}),(0,st.jsx)(Ct,{value:"long-context",children:"Long Context"}),(0,st.jsx)(Ct,{value:"low-memory",children:"Low Memory"}),(0,st.jsx)(Ct,{value:"fast-response",children:"Fast Response"})]})]})}),(0,st.jsx)(He,{label:"Context window",stacked:!0,hint:"Router-visible max context length for this variant.",children:(0,st.jsx)(it,{"aria-label":"Context window",inputMode:"numeric",value:e?.contextWindow??"",onChange:c=>i?.({...e,contextWindow:c.target.value})})}),(0,st.jsxs)("div",{className:"grid gap-3 sm:grid-cols-2",children:[(0,st.jsx)(He,{label:"Enabled in router",stacked:!0,children:(0,st.jsxs)("div",{className:"flex items-center justify-between rounded-xl border border-border/70 px-3 py-2",children:[(0,st.jsx)("span",{className:"text-sm text-foreground",children:"Expose this variant to aliases and route pickers"}),(0,st.jsx)(Io,{checked:e?.enabled===!0,onCheckedChange:c=>i?.({...e,enabled:c})})]})}),(0,st.jsx)(He,{label:"Preload on startup",stacked:!0,children:(0,st.jsxs)("div",{className:"flex items-center justify-between rounded-xl border border-border/70 px-3 py-2",children:[(0,st.jsx)("span",{className:"text-sm text-foreground",children:"Load it when the local runtime starts"}),(0,st.jsx)(Io,{checked:e?.preload===!0,onCheckedChange:c=>i?.({...e,preload:c})})]})})]}),(0,st.jsx)(He,{label:"Capability hints",stacked:!0,hint:"Leave unset unless this model needs a routing override.",children:(0,st.jsx)(Fm,{capabilities:e?.capabilities||{},onChange:(c,d)=>{let u={...e?.capabilities||{}};typeof d=="boolean"?u[c]=d:delete u[c],i?.({...e,capabilities:u})}})}),o?(0,st.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-900",children:o}):null,(0,st.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2",children:[(0,st.jsx)(H,{type:"button",variant:"outline",onClick:()=>s?.(),disabled:a,children:"Cancel"}),(0,st.jsx)(H,{type:"submit",disabled:r||a,children:a?"Saving\u2026":"Save variant"})]})]})}var _=B(te(),1);function bB(e){let t=String(e||"").trim().toLowerCase();return t?t==="running"?{label:"Running",variant:"success"}:t==="stale"?{label:"Stale runtime",variant:"warning"}:t==="invalid"?{label:"Invalid runtime",variant:"warning"}:t==="stopped"?{label:"Stopped",variant:"outline"}:{label:t,variant:"outline"}:{label:"Needs validation",variant:"outline"}}function WE(e){let t=String(e||"").trim().toLowerCase();return!t||t==="available"?{label:"Available",variant:"success"}:t==="stale"?{label:"Stale",variant:"warning"}:t==="missing"?{label:"Missing",variant:"warning"}:t==="invalid"?{label:"Invalid",variant:"warning"}:{label:t,variant:"outline"}}function vB(e){let t=String(e||"").trim().toLowerCase();return!t||t==="safe"?{label:"Safe",variant:"success"}:t==="tight"?{label:"Tight",variant:"warning"}:t==="over-budget"?{label:"Over budget",variant:"danger"}:{label:t,variant:"outline"}}function xB(e){return String(e||"").includes("managed")?"Managed":"Attached"}function Ks(e){let t=Number(e);if(!Number.isFinite(t)||t<=0)return"";let n=["B","KB","MB","GB","TB"],r=t,o=0;for(;r>=1024&&o<n.length-1;)r/=1024,o+=1;return`${r>=10||o===0?r.toFixed(0):r.toFixed(1)} ${n[o]}`}function Eb(e){return/\.gguf$/i.test(String(e||"").trim())}function SB(e){let t=String(e||"").trim();if(!t)return"";let n=Math.max(t.lastIndexOf("/"),t.lastIndexOf("\\"));return n>0?t.slice(0,n):""}function wB({candidate:e,busy:t=!1,onUseRuntime:n}){return(0,_.jsx)("div",{className:"rounded-2xl border border-border/70 bg-background/75 p-4",children:(0,_.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,_.jsxs)("div",{className:"space-y-2",children:[(0,_.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,_.jsx)("div",{className:"text-sm font-semibold text-foreground",children:e?.label||e?.path}),(0,_.jsx)(_e,{variant:"outline",children:e?.source||"path"}),e?.isTurboQuant?(0,_.jsx)(_e,{variant:"warning",children:"TurboQuant"}):null,e?.current?(0,_.jsx)(_e,{variant:"success",children:"Configured"}):null,(0,_.jsx)(_e,{variant:e?.ok===!1?"warning":"outline",children:e?.ok===!1?"Needs review":"Detected"})]}),(0,_.jsx)("div",{className:"break-all font-mono text-xs text-muted-foreground",children:e?.path}),e?.directory?(0,_.jsxs)("div",{className:"font-mono text-xs text-muted-foreground/80",children:["Dir: ",e.directory]}):null,e?.errorMessage?(0,_.jsx)("div",{className:"text-xs text-amber-900",children:e.errorMessage}):null]}),(0,_.jsx)("div",{className:"flex shrink-0 items-center",children:(0,_.jsx)(H,{size:"sm",variant:"outline",onClick:()=>n?.(e?.path),disabled:t||e?.current===!0||e?.ok===!1,children:e?.current===!0?"Selected":t?"Selecting\u2026":"Use runtime"})})]})})}function AB({entry:e,variantCount:t=0,disabledReason:n="",busy:r=!1,onCreateVariant:o,onLocateModel:a,onRemoveModel:i}){let l=WE(e?.availability),s=Ks(e?.metadata?.sizeBytes),c=String(e?.metadata?.repo||"").trim(),d=String(e?.metadata?.file||"").trim(),u=!n&&l.label==="Available",f=l.label!=="Available";return(0,_.jsx)("div",{className:"rounded-2xl border border-border/70 bg-background/75 p-4",children:(0,_.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,_.jsxs)("div",{className:"space-y-2",children:[(0,_.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,_.jsx)("div",{className:"text-sm font-semibold text-foreground",children:e?.displayName||e?.id}),(0,_.jsx)(_e,{variant:"outline",children:xB(e?.source)}),(0,_.jsx)(_e,{variant:l.variant,children:l.label}),s?(0,_.jsx)(_e,{variant:"outline",children:s}):null]}),(0,_.jsx)("div",{className:"break-all font-mono text-xs text-muted-foreground",children:e?.path||"Path not recorded"}),c||d?(0,_.jsxs)("div",{className:"text-xs text-muted-foreground",children:[c||"Managed file",d?` \u2022 ${d}`:""]}):null,(0,_.jsxs)("div",{className:"text-xs text-muted-foreground",children:[t," variant",t===1?"":"s"," attached to this base model."]})]}),(0,_.jsxs)("div",{className:"flex shrink-0 flex-wrap items-center gap-2",children:[(0,_.jsx)(H,{size:"sm",onClick:()=>o?.(e),disabled:!u||r,children:"Create variant"}),f?(0,_.jsx)(H,{size:"sm",variant:"outline",onClick:()=>a?.(e),disabled:!!n||r,children:"Locate model"}):null,(0,_.jsx)(H,{size:"sm",variant:"outline",onClick:()=>i?.(e),disabled:!!n||r,children:"Remove"})]})]})})}function CB({variant:e,baseModel:t,runtimeStatus:n,onEdit:r}){let o=WE(e?.availability||t?.availability),a=vB(e?.capacityState),i=o.label!=="Available"?o.label:String(n?.label||"").trim()||"Stopped";return(0,_.jsx)("div",{className:"rounded-2xl border border-border/70 bg-background/75 p-4",children:(0,_.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,_.jsxs)("div",{className:"space-y-2",children:[(0,_.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,_.jsx)("div",{className:"text-sm font-semibold text-foreground",children:e?.name||e?.id}),(0,_.jsx)(_e,{variant:e?.enabled===!0?"success":"outline",children:e?.enabled===!0?"Enabled":"Disabled"}),e?.preload===!0?(0,_.jsx)(_e,{variant:"warning",children:"Preload"}):null,(0,_.jsx)(_e,{variant:a.variant,children:a.label}),(0,_.jsx)(_e,{variant:o.variant,children:o.label})]}),(0,_.jsx)("div",{className:"font-mono text-xs text-muted-foreground",children:e?.id||"Missing model id"}),(0,_.jsxs)("div",{className:"text-xs text-muted-foreground",children:["Base model: ",t?.displayName||t?.id||e?.baseModelId," \u2022 Context: ",Ho(e?.contextWindow)]}),(0,_.jsxs)("div",{className:"text-xs text-muted-foreground",children:["Runtime state: ",i]})]}),(0,_.jsx)("div",{className:"flex shrink-0 flex-wrap items-center gap-2",children:(0,_.jsx)(H,{size:"sm",variant:"outline",onClick:()=>r?.(e),children:"Edit"})})]})})}function RB({result:e,downloading:t=!1,onDownload:n}){return(0,_.jsx)("div",{className:"rounded-2xl border border-border/70 bg-background/75 p-4",children:(0,_.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,_.jsxs)("div",{className:"space-y-2",children:[(0,_.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,_.jsx)("div",{className:"text-sm font-semibold text-foreground",children:e.file}),e.quantization?(0,_.jsx)(_e,{variant:"outline",children:e.quantization}):null,(e.badges||[]).map(r=>(0,_.jsx)(_e,{variant:"outline",children:r},`${e.repo}:${e.file}:${r}`))]}),(0,_.jsx)("div",{className:"text-xs text-muted-foreground",children:e.repo}),e.sizeBytes?(0,_.jsx)("div",{className:"text-xs text-muted-foreground",children:Ks(e.sizeBytes)}):null,e.disabledReason?(0,_.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-900",children:e.disabledReason}):null,e.recommendation?(0,_.jsx)("div",{className:"rounded-xl border border-sky-200 bg-sky-50 px-3 py-2 text-xs text-sky-900",children:e.recommendation}):null]}),(0,_.jsx)(H,{size:"sm",onClick:()=>n?.(e),disabled:e.disabled===!0||t,children:t?"Downloading\u2026":"Download"})]})})}function YE({runtime:e={},library:t={},variants:n={},disableEditsReason:r="",onSelectRuntime:o,onStartRuntime:a,onStopRuntime:i,onSaveRuntimeSettings:l,onSaveVariant:s,onRefreshLibrary:c,onAttachModel:d,onLocateModel:u,onRemoveModel:f,onDownloadManagedModel:p}){let b=bB(e?.status),m=(0,Ln.useMemo)(()=>Object.values(t||{}),[t]),v=(0,Ln.useMemo)(()=>Object.values(n||{}),[n]),h=String(e?.selectedCommand||e?.manualCommand||"").trim(),g=String(e?.selectedDirectory||"").trim()||SB(h),y=String(e?.host||"127.0.0.1").trim()||"127.0.0.1",x=Number.isFinite(Number(e?.port))?Number(e.port):39391,A=String(e?.status||"").trim().toLowerCase()==="running",[N,E]=(0,Ln.useState)({open:!1,draft:null,baseModelId:"",title:""}),[C,O]=(0,Ln.useState)(!1),[L,V]=(0,Ln.useState)({open:!1,draft:{id:"",displayName:"",filePath:""},saving:!1,browseBusy:!1,scanBusy:!1,scanMatches:[],error:""}),[z,G]=(0,Ln.useState)({open:!1,baseModelId:"",displayName:"",filePath:"",saving:!1,browseBusy:!1,error:""}),[Z,ue]=(0,Ln.useState)({open:!1,query:"",searching:!1,results:[],error:"",downloadingKey:"",progressLabel:""}),[q,oe]=(0,Ln.useState)(!1),[ee,W]=(0,Ln.useState)(""),[j,Ie]=(0,Ln.useState)({selecting:!1,starting:!1,stopping:!1,savingSettings:!1,error:""}),[ne,Ve]=(0,Ln.useState)(e?.startWithRouter===!0),[ae,Se]=(0,Ln.useState)({loading:!1,error:"",runtime:null});(0,Ln.useEffect)(()=>{Ve(e?.startWithRouter===!0)},[e?.startWithRouter]);let ze=(0,Ln.useMemo)(()=>{let T=String(N?.draft?.id||"").trim(),M=String(N?.draft?.key||"").trim();return new Set(v.filter(F=>String(F?.key||"").trim()!==M).map(F=>String(F?.id||"").trim()).filter(F=>F&&F===T))},[N?.draft?.id,N?.draft?.key,v]),U=N?.baseModelId&&t[N.baseModelId]||null,fe=KE(N?.draft||{},ze),ve=String(L?.draft?.id||"").trim()?String(L?.draft?.filePath||"").trim()?Eb(L?.draft?.filePath)?"":"Select a GGUF file path.":"GGUF file path is required.":"Model id is required.",ke=String(z.filePath||"").trim()?Eb(z.filePath)?"":"Select a GGUF file path.":"GGUF file path is required.";(0,Ln.useEffect)(()=>{!r&&typeof c=="function"&&c({silent:!0})},[]);async function we(){Se(T=>({...T,loading:!0,error:""}));try{let T=await Ny();Se({loading:!1,error:"",runtime:T?.runtime||null})}catch(T){Se({loading:!1,error:T instanceof Error?T.message:String(T),runtime:null})}}(0,Ln.useEffect)(()=>{let T=!1;async function M(){Se(F=>({...F,loading:!0,error:""}));try{let F=await Ny();if(T)return;Se({loading:!1,error:"",runtime:F?.runtime||null})}catch(F){if(T)return;Se({loading:!1,error:F instanceof Error?F.message:String(F),runtime:null})}}return M(),()=>{T=!0}},[h,e?.startWithRouter,e?.status]);async function Ee(T){let M=String(T||"").trim();if(!(!M||!o)){Ie(F=>({...F,selecting:!0,error:""}));try{await o(M)&&await we()}catch(F){Ie(ce=>({...ce,selecting:!1,error:F instanceof Error?F.message:String(F)}));return}Ie(F=>({...F,selecting:!1,error:""}))}}async function qe(){if(!(!a||!h)){Ie(T=>({...T,starting:!0,error:""}));try{await a(),await we(),Ie(T=>({...T,starting:!1,error:""}))}catch(T){Ie(M=>({...M,starting:!1,error:T instanceof Error?T.message:String(T)}))}}}async function We(){if(i){Ie(T=>({...T,stopping:!0,error:""}));try{await i(),await we(),Ie(T=>({...T,stopping:!1,error:""}))}catch(T){Ie(M=>({...M,stopping:!1,error:T instanceof Error?T.message:String(T)}))}}}async function nn(){if(l){Ie(T=>({...T,savingSettings:!0,error:""}));try{await l({startWithRouter:ne}),await we(),Ie(T=>({...T,savingSettings:!1,error:""}))}catch(T){Ie(M=>({...M,savingSettings:!1,error:T instanceof Error?T.message:String(T)}))}}}async function Dn(){Ie(T=>({...T,selecting:!0,error:""}));try{let T=await om("runtime"),M=String(T?.selection?.path||"").trim();if(!M){Ie(ce=>({...ce,selecting:!1,error:""}));return}await o?.(M)&&await we(),Ie(ce=>({...ce,selecting:!1,error:""}))}catch(T){Ie(M=>({...M,selecting:!1,error:T instanceof Error?T.message:String(T)}))}}function cn(T){E({open:!0,title:"Create local variant",baseModelId:T?.id||"",draft:HE(T,n)})}function xt(T){E({open:!0,title:"Edit local variant",baseModelId:T?.baseModelId||"",draft:$E(T)})}function ht(){C||E({open:!1,draft:null,baseModelId:"",title:""})}async function yt(){if(!N?.draft||fe)return;O(!0);let T=!1;try{let M={...N.draft,contextWindow:Km(N.draft.contextWindow)};T=await s?.(M)}finally{O(!1)}T&&E({open:!1,draft:null,baseModelId:"",title:""})}function Ue(){V({open:!0,saving:!1,browseBusy:!1,scanBusy:!1,scanMatches:[],error:"",draft:{id:"",displayName:"",filePath:""}})}function It(){L.saving||V({open:!1,draft:{id:"",displayName:"",filePath:""},saving:!1,browseBusy:!1,scanBusy:!1,scanMatches:[],error:""})}async function Wt(){if(ve)return;V(M=>({...M,saving:!0}));let T=!1;try{T=await d?.(L.draft)}finally{V(M=>({...M,saving:!1}))}T&&V({open:!1,draft:{id:"",displayName:"",filePath:""},saving:!1,browseBusy:!1,scanBusy:!1,scanMatches:[],error:""})}function pn(T){let M=Nb(T,t);V(F=>({...F,draft:{id:M.id,displayName:M.displayName,filePath:M.filePath},error:""}))}async function wr(T){V(M=>({...M,browseBusy:!0,error:""}));try{let M=await om(T),F=String(M?.selection?.path||"").trim(),ce=Array.isArray(M?.matches)?M.matches:[];F&&T==="file"&&ce.length>0?pn(ce[0].filePath||F):V(Je=>({...Je,draft:{...Je.draft,filePath:F||Je.draft.filePath},scanMatches:ce,error:ce.length===0&&T==="directory"&&F?"No GGUF files were found in that folder.":""}))}catch(M){V(F=>({...F,error:M instanceof Error?M.message:String(M)}))}finally{V(M=>({...M,browseBusy:!1}))}}async function Te(){let T=String(L?.draft?.filePath||"").trim();if(T){V(M=>({...M,scanBusy:!0,error:""}));try{let M=await T1(T),F=Array.isArray(M?.matches)?M.matches:[];V(ce=>({...ce,scanMatches:F,error:F.length===0?"No GGUF files were found at that path.":""})),F.length===1&&Eb(F[0]?.filePath)&&pn(F[0].filePath)}catch(M){V(F=>({...F,error:M instanceof Error?M.message:String(M)}))}finally{V(M=>({...M,scanBusy:!1}))}}}function et(T){G({open:!0,baseModelId:T?.id||"",displayName:T?.displayName||T?.id||"",filePath:T?.path||"",saving:!1,browseBusy:!1,error:""})}function ft(){z.saving||G({open:!1,baseModelId:"",displayName:"",filePath:"",saving:!1,browseBusy:!1,error:""})}async function lo(){if(!z.baseModelId||!String(z.filePath||"").trim())return;G(M=>({...M,saving:!0}));let T=!1;try{T=await u?.({baseModelId:z.baseModelId,filePath:z.filePath})}finally{G(M=>({...M,saving:!1}))}T&&G({open:!1,baseModelId:"",displayName:"",filePath:"",saving:!1,browseBusy:!1,error:""})}async function St(){G(T=>({...T,browseBusy:!0,error:""}));try{let T=await om("file"),M=String(T?.selection?.path||"").trim();M&&G(F=>({...F,filePath:M}))}catch(T){G(M=>({...M,error:T instanceof Error?T.message:String(T)}))}finally{G(T=>({...T,browseBusy:!1}))}}async function Re(T){if(!(!T?.id||!(typeof window>"u"||window.confirm(`Remove local model "${T.displayName||T.id}" and all of its variants?`)))){W(`remove:${T.id}`);try{await f?.(T.id)}finally{W("")}}}async function gn(){oe(!0);try{await c?.({silent:!1})}finally{oe(!1)}}async function k(T=null){let M=T??Z.query;ue(F=>({...F,searching:!0,error:""}));try{let F=await x1({query:M,expectedContextWindow:2e5});ue(ce=>({...ce,query:M,results:F,searching:!1,error:""}))}catch(F){ue(ce=>({...ce,query:M,searching:!1,error:F instanceof Error?F.message:String(F)}))}}function me(){ue(T=>({...T,open:!0,error:"",progressLabel:""})),(Z.results||[]).length===0&&!Z.searching&&k("")}function re(){Z.downloadingKey||ue(T=>({...T,open:!1,error:"",progressLabel:""}))}async function Pe(T){let M=FE(T,t),F=`${T.repo}:${T.file}`;ue(Je=>({...Je,downloadingKey:F,progressLabel:"Preparing download\u2026",error:""}));let ce=!1;try{ce=await p?.({...M,repo:T.repo,file:T.file},{onMessage:Je=>{if(Je?.type==="progress"){let Vt=Number(Je?.event?.receivedBytes||0),Ne=Number(Je?.event?.totalBytes||0),Y=Ne>0?`${Ks(Vt)} / ${Ks(Ne)}`:Vt>0?Ks(Vt):"Downloading\u2026";ue(ge=>({...ge,progressLabel:Y}))}}})}finally{ue(Je=>({...Je,downloadingKey:"",progressLabel:""}))}ce&&ue(Je=>({...Je,open:!1,downloadingKey:"",progressLabel:"",error:""}))}return(0,_.jsxs)("div",{className:"space-y-4",children:[(0,_.jsx)(Lt,{children:(0,_.jsxs)(Dt,{className:"space-y-4 p-5",children:[(0,_.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[(0,_.jsxs)("div",{className:"space-y-1",children:[(0,_.jsx)("div",{className:"text-sm font-semibold uppercase tracking-[0.14em] text-muted-foreground",children:"llama.cpp Runtime"}),(0,_.jsx)("div",{className:"text-lg font-semibold text-foreground",children:"Native runtime configuration"})]}),(0,_.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[A?(0,_.jsx)(H,{size:"sm",variant:"outline",onClick:We,disabled:j.stopping,children:j.stopping?"Stopping\u2026":"Stop Runtime"}):(0,_.jsx)(H,{size:"sm",onClick:qe,disabled:!h||j.starting,children:j.starting?"Starting\u2026":"Start Runtime"}),(0,_.jsx)(_e,{variant:b.variant,children:b.label})]})]}),(0,_.jsxs)("div",{className:"grid gap-3 md:grid-cols-3",children:[(0,_.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/75 p-4",children:[(0,_.jsx)("div",{className:"text-xs font-semibold uppercase tracking-[0.16em] text-muted-foreground",children:"Selected Command"}),(0,_.jsx)("div",{className:"mt-2 break-all font-mono text-sm text-foreground",children:h||"Not configured yet"}),g?(0,_.jsxs)("div",{className:"mt-2 font-mono text-xs text-muted-foreground",children:["Dir: ",g]}):null]}),(0,_.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/75 p-4",children:[(0,_.jsx)("div",{className:"text-xs font-semibold uppercase tracking-[0.16em] text-muted-foreground",children:"Runtime Address"}),(0,_.jsx)("div",{className:"mt-2 font-mono text-sm text-foreground",children:`${y}:${x}`})]}),(0,_.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/75 p-4",children:[(0,_.jsx)("div",{className:"text-xs font-semibold uppercase tracking-[0.16em] text-muted-foreground",children:"Start With Router"}),(0,_.jsx)("div",{className:"mt-2 text-sm text-foreground",children:e?.startWithRouter===!0?"Enabled":"Disabled"})]})]}),(0,_.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3 rounded-2xl border border-border/70 bg-background/75 p-4",children:[(0,_.jsxs)("div",{className:"space-y-1",children:[(0,_.jsx)("div",{className:"text-xs font-semibold uppercase tracking-[0.16em] text-muted-foreground",children:"Runtime Settings"}),(0,_.jsx)("div",{className:"text-sm text-muted-foreground",children:"Auto-start launches the selected `llama-server` when the router starts."})]}),(0,_.jsxs)("div",{className:"flex flex-wrap items-center gap-3",children:[(0,_.jsx)("label",{className:"text-sm text-foreground",children:"Auto-start with router"}),(0,_.jsx)(Io,{checked:ne,onCheckedChange:Ve,disabled:!!r||j.savingSettings}),(0,_.jsx)(H,{size:"sm",variant:"outline",onClick:nn,disabled:!!r||j.savingSettings,children:j.savingSettings?"Saving\u2026":"Save Settings"})]})]}),(0,_.jsxs)("div",{className:"space-y-3",children:[(0,_.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,_.jsxs)("div",{children:[(0,_.jsx)("div",{className:"text-xs font-semibold uppercase tracking-[0.16em] text-muted-foreground",children:"Detected runtimes"}),(0,_.jsx)("div",{className:"mt-1 text-sm text-muted-foreground",children:"Auto-search checks `PATH`, Homebrew, and common source-build locations such as `~/src/llama-cpp-turboquant/build/bin`. TurboQuant builds are labeled explicitly when detected."})]}),(0,_.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,_.jsx)(H,{size:"sm",variant:"outline",onClick:Dn,disabled:j.selecting,children:j.selecting?"Selecting\u2026":"Browse runtime"}),(0,_.jsx)(H,{size:"sm",variant:"outline",onClick:()=>{we()},disabled:ae.loading||j.selecting,children:ae.loading?"Refreshing\u2026":"Refresh runtimes"})]})]}),j.error?(0,_.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-900",children:j.error}):null,ae.error?(0,_.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-900",children:ae.error}):null,(ae.runtime?.candidates||[]).length===0&&!ae.loading?(0,_.jsx)("div",{className:"rounded-2xl border border-dashed border-border px-4 py-4 text-sm text-muted-foreground",children:"No local `llama-server` candidates were detected yet. If TurboQuant is already built outside the common search locations, use Browse runtime and point the router at the binary directly."}):(0,_.jsx)("div",{className:"space-y-3",children:(ae.runtime?.candidates||[]).map(T=>(0,_.jsx)(wB,{candidate:T,busy:j.selecting,onUseRuntime:Ee},T.path||T.id))})]})]})}),(0,_.jsxs)("div",{className:"grid gap-4 xl:grid-cols-[minmax(0,1.1fr)_minmax(0,0.9fr)]",children:[(0,_.jsx)(Lt,{children:(0,_.jsxs)(Dt,{className:"space-y-4 p-5",children:[(0,_.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,_.jsxs)("div",{className:"space-y-1",children:[(0,_.jsx)("div",{className:"text-sm font-semibold uppercase tracking-[0.14em] text-muted-foreground",children:"Library"}),(0,_.jsx)("div",{className:"text-lg font-semibold text-foreground",children:"Tracked GGUF base models"}),(0,_.jsx)("div",{className:"text-sm text-muted-foreground",children:"Create router-facing variants from managed Hugging Face downloads or attached GGUF paths. Missing or stale files stay visible until you repair or remove them."})]}),(0,_.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,_.jsx)(H,{size:"sm",variant:"outline",onClick:Ue,disabled:!!r,children:"Attach path"}),(0,_.jsx)(H,{size:"sm",onClick:me,disabled:!!r,children:"Download from Hugging Face"}),(0,_.jsx)(H,{size:"sm",variant:"outline",onClick:gn,disabled:!!r||q,children:q?"Refreshing\u2026":"Refresh status"})]})]}),r?(0,_.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-900",children:r}):null,(0,_.jsx)("div",{className:"space-y-3",children:m.length===0?(0,_.jsx)("div",{className:"rounded-2xl border border-dashed border-border px-4 py-6 text-sm text-muted-foreground",children:"No `llama.cpp` base models are tracked yet. Managed downloads and attached GGUF files will land here."}):m.map(T=>(0,_.jsx)(AB,{entry:T,variantCount:v.filter(M=>M?.baseModelId===T.id).length,disabledReason:r,busy:ee===`remove:${T.id}`,onCreateVariant:cn,onLocateModel:et,onRemoveModel:Re},T.id))})]})}),(0,_.jsx)(Lt,{children:(0,_.jsxs)(Dt,{className:"space-y-4 p-5",children:[(0,_.jsxs)("div",{className:"space-y-1",children:[(0,_.jsx)("div",{className:"text-sm font-semibold uppercase tracking-[0.14em] text-muted-foreground",children:"Variants"}),(0,_.jsx)("div",{className:"text-lg font-semibold text-foreground",children:"Router-visible local models"}),(0,_.jsx)("div",{className:"text-sm text-muted-foreground",children:"Variants behave like standard router models after save, including alias usage, context-window metadata, and capability hints."})]}),(0,_.jsx)("div",{className:"space-y-3",children:v.length===0?(0,_.jsx)("div",{className:"rounded-2xl border border-dashed border-border px-4 py-6 text-sm text-muted-foreground",children:"No local variants yet. Start from a base model on the left, choose a preset, and expose the saved variant to aliases and route pickers."}):v.map(T=>(0,_.jsx)(CB,{variant:T,baseModel:t[T?.baseModelId]||null,runtimeStatus:b,onEdit:xt},T.key||T.id))})]})})]}),(0,_.jsx)(En,{open:L.open,onClose:It,title:"Attach local GGUF",description:"Register an existing GGUF file in place. The router stores metadata only and does not copy the file.",contentClassName:"max-w-xl",children:(0,_.jsxs)("div",{className:"space-y-4",children:[(0,_.jsx)(He,{label:"GGUF file path",stacked:!0,children:(0,_.jsxs)("div",{className:"space-y-2",children:[(0,_.jsx)(it,{value:L.draft.filePath,onChange:T=>{let M={...L.draft,filePath:T.target.value};if(!String(L.draft.id||"").trim()||!String(L.draft.displayName||"").trim()){let F=Nb(T.target.value,t);String(L.draft.id||"").trim()||(M.id=F.id),String(L.draft.displayName||"").trim()||(M.displayName=F.displayName)}V(F=>({...F,draft:M}))},placeholder:"/Volumes/models/qwen.Q5.gguf"}),(0,_.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,_.jsx)(H,{size:"sm",variant:"outline",onClick:()=>wr("file"),disabled:L.browseBusy||L.scanBusy,children:L.browseBusy?"Browsing\u2026":"Browse file"}),(0,_.jsx)(H,{size:"sm",variant:"outline",onClick:()=>wr("directory"),disabled:L.browseBusy||L.scanBusy,children:L.browseBusy?"Browsing\u2026":"Browse folder"}),(0,_.jsx)(H,{size:"sm",variant:"outline",onClick:Te,disabled:L.scanBusy||!String(L.draft.filePath||"").trim(),children:L.scanBusy?"Scanning\u2026":"Scan path"})]})]})}),(0,_.jsx)(He,{label:"Model name",stacked:!0,children:(0,_.jsx)(it,{value:L.draft.displayName,onChange:T=>V(M=>({...M,draft:{...M.draft,displayName:T.target.value}}))})}),(0,_.jsx)(He,{label:"Base model id",stacked:!0,hint:"Stable inventory id used for variants and stale-path recovery.",children:(0,_.jsx)(it,{value:L.draft.id,onChange:T=>V(M=>({...M,draft:{...M.draft,id:T.target.value}}))})}),L.error?(0,_.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-900",children:L.error}):null,(L.scanMatches||[]).length>0?(0,_.jsxs)("div",{className:"space-y-2 rounded-2xl border border-border/70 bg-background/60 p-3",children:[(0,_.jsx)("div",{className:"text-xs font-semibold uppercase tracking-[0.16em] text-muted-foreground",children:"Scanned GGUF files"}),(L.scanMatches||[]).map(T=>(0,_.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-2 rounded-xl border border-border/60 bg-background/80 px-3 py-3",children:[(0,_.jsxs)("div",{className:"space-y-1",children:[(0,_.jsx)("div",{className:"text-sm font-medium text-foreground",children:T.fileName}),(0,_.jsx)("div",{className:"break-all font-mono text-xs text-muted-foreground",children:T.filePath}),T.sizeBytes?(0,_.jsx)("div",{className:"text-xs text-muted-foreground",children:Ks(T.sizeBytes)}):null]}),(0,_.jsx)(H,{size:"sm",variant:"outline",onClick:()=>pn(T.filePath),disabled:L.saving,children:"Use file"})]},T.filePath))]}):null,ve?(0,_.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-900",children:ve}):null,(0,_.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2",children:[(0,_.jsx)(H,{type:"button",variant:"outline",onClick:It,disabled:L.saving,children:"Cancel"}),(0,_.jsx)(H,{type:"button",onClick:Wt,disabled:!!ve||L.saving,children:L.saving?"Attaching\u2026":"Attach model"})]})]})}),(0,_.jsx)(En,{open:z.open,onClose:ft,title:"Locate local model",description:`Update the file path for ${z.displayName||"this model"} without changing any attached variants.`,contentClassName:"max-w-xl",children:(0,_.jsxs)("div",{className:"space-y-4",children:[(0,_.jsx)(He,{label:"Updated GGUF path",stacked:!0,children:(0,_.jsxs)("div",{className:"space-y-2",children:[(0,_.jsx)(it,{value:z.filePath,onChange:T=>G(M=>({...M,filePath:T.target.value})),placeholder:"/Volumes/models/qwen.Q5.gguf"}),(0,_.jsx)("div",{className:"flex flex-wrap items-center gap-2",children:(0,_.jsx)(H,{size:"sm",variant:"outline",onClick:St,disabled:z.browseBusy||z.saving,children:z.browseBusy?"Browsing\u2026":"Browse file"})})]})}),z.error?(0,_.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-900",children:z.error}):null,ke?(0,_.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-900",children:ke}):null,(0,_.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2",children:[(0,_.jsx)(H,{type:"button",variant:"outline",onClick:ft,disabled:z.saving,children:"Cancel"}),(0,_.jsx)(H,{type:"button",onClick:lo,disabled:!!ke||z.saving,children:z.saving?"Updating\u2026":"Save path"})]})]})}),(0,_.jsx)(En,{open:Z.open,onClose:re,title:"Download GGUF from Hugging Face",description:"Public Hugging Face search only for v1. Unsupported or oversized files stay visible with explicit reasons instead of disappearing.",contentClassName:"max-w-4xl",children:(0,_.jsxs)("div",{className:"space-y-4",children:[(0,_.jsxs)("div",{className:"flex flex-wrap items-end gap-2",children:[(0,_.jsx)(He,{label:"Search query",stacked:!0,className:"min-w-0 flex-1",children:(0,_.jsx)(it,{value:Z.query,onChange:T=>ue(M=>({...M,query:T.target.value})),placeholder:"qwen q5 gguf"})}),(0,_.jsx)(H,{type:"button",onClick:()=>k(),disabled:Z.searching,children:Z.searching?"Searching\u2026":"Search"})]}),Z.error?(0,_.jsx)("div",{className:"rounded-xl border border-rose-200 bg-rose-50 px-3 py-2 text-xs text-rose-800",children:Z.error}):null,Z.progressLabel?(0,_.jsx)("div",{className:"rounded-xl border border-sky-200 bg-sky-50 px-3 py-2 text-xs text-sky-900",children:Z.progressLabel}):null,(0,_.jsx)("div",{className:"space-y-3",children:(Z.results||[]).length===0&&!Z.searching?(0,_.jsx)("div",{className:"rounded-2xl border border-dashed border-border px-4 py-6 text-sm text-muted-foreground",children:"Search for a public GGUF repo or file name to download into the router-managed local model directory."}):(Z.results||[]).map(T=>(0,_.jsx)(RB,{result:T,downloading:Z.downloadingKey===`${T.repo}:${T.file}`,onDownload:Pe},`${T.repo}:${T.file}`))})]})}),(0,_.jsx)(En,{open:N.open,onClose:ht,title:N.title,description:"Create a router-visible local model without touching the base GGUF file. Presets seed the context window, while the backend enforces Mac unified-memory activation limits.",contentClassName:"max-w-2xl",children:(0,_.jsx)(qE,{draft:N.draft,baseModel:U,duplicateIds:ze,saveDisabled:!!fe,saveDisabledReason:fe,saving:C,onChange:T=>{let M=String(T?.preset||N?.draft?.preset||"balanced").trim()||"balanced",F=String(N?.draft?.preset||"balanced").trim()||"balanced",ce=Km(N?.draft?.contextWindow),Je=M!==F&&ce===Lu[F]?.contextWindow;E(Vt=>({...Vt,draft:{...T,contextWindow:Je?Lu[M]?.contextWindow??T?.contextWindow:T?.contextWindow}}))},onCancel:ht,onSave:yt})})]})}var Qo=B(te(),1);function XE({summary:e,llamacpp:t,ollama:n}){let[r,o]=(0,QE.useState)("ollama");return(0,Qo.jsxs)(bi,{value:r,onValueChange:o,className:"space-y-4",children:[(0,Qo.jsxs)(vi,{children:[(0,Qo.jsx)(Gn,{value:"ollama",children:"Ollama"}),(0,Qo.jsx)(Gn,{value:"llamacpp",children:"llama.cpp"})]}),(0,Qo.jsx)(qn,{value:"ollama",children:(0,Qo.jsx)(UE,{...n,embedded:!0})}),(0,Qo.jsx)(qn,{value:"llamacpp",children:(0,Qo.jsx)(YE,{...t})})]})}var Gm=B(xe(),1);var de=B(te(),1);function NB(e=[]){let t=[],n=new Map,r=null;for(let o of(Array.isArray(e)?e:[]).filter(Boolean)){let a=String(o?.groupKey||o?.groupLabel||"").trim(),i=String(o?.groupLabel||"").trim();if(!a){r||(r={key:"__ungrouped__",label:"",options:[]},t.push(r)),r.options.push(o);continue}let l=n.get(a);l||(l={key:a,label:i||a,options:[]},n.set(a,l),t.push(l)),l.options.push(o)}return t}function EB(e={},{includeHint:t=!1}={}){let n=String(e?.label||e?.value||"").trim()||String(e?.value||"").trim(),r=String(e?.hint||"").trim();return t&&r?`${n} \xB7 ${r}`:n}function JE(e=[],{keyPrefix:t="select-option",includeHint:n=!1}={}){return NB(e).map((r,o)=>{let a=r.options.map(i=>(0,de.jsx)(Ct,{value:i.value,searchText:`${i.label||""} ${i.value||""} ${i.hint||""} ${r.label||""}`,children:EB(i,{includeHint:n})},`${t}-${i.value}`));return r.label?(0,de.jsxs)(xl,{children:[(0,de.jsx)(Vs,{children:r.label}),a]},`${t}-group-${r.key||o}`):a})}function TB({className:e=""}){return(0,de.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:[(0,de.jsx)("path",{d:"M10 2.75 4.75 5v4.12c0 3.42 2.1 6.58 5.25 7.88 3.15-1.3 5.25-4.46 5.25-7.88V5L10 2.75Z"}),(0,de.jsx)("circle",{cx:"10",cy:"9",r:"1.4"}),(0,de.jsx)("path",{d:"M10 10.4v2.1"})]})}function ZE({rows:e,routeOptions:t,webSearchSnapshot:n,ampClientUrl:r,ampClientGlobal:o,routingBusy:a,onToggleGlobalRouting:i,onInboundChange:l,onOutboundChange:s,onCreateEntry:c,onRemoveEntry:d,onOpenWebSearchTab:u,onOpenConfigPath:f,onOpenSecretsPath:p,hasMasterKey:b,disabledReason:m,autosaveState:v}){let[h,g]=(0,Gm.useState)(!1),[y,x]=(0,Gm.useState)(""),[A,N]=(0,Gm.useState)(String(t[0]?.value||"").trim()),E=e.some(W=>String(W?.inbound||"").trim()===String(y||"").trim()&&String(y||"").trim()),C=String(y||"").trim()&&String(A||"").trim()&&!E,O=o?.routedViaRouter===!0,L=String(o?.error||"").trim(),V=!!(b&&r&&!m&&!L),z=Number(n?.configuredProviderCount)||0,G=O&&z===0,Z=m?"warning":v.status==="error"?"danger":v.status==="pending"?"outline":v.status==="saving"?"info":v.savedAt?"success":"outline",ue=m?"Needs review":v.status==="error"?"Save failed":v.status==="pending"?"Unsaved":v.status==="saving"?"saving...":v.savedAt?"Saved":"Ready",q=m||(v.status==="error"?v.message:v.status==="pending"?"Unsaved changes queued. Auto-save will run shortly.":v.status==="saving"?"Saving changes...":v.savedAt?`Last saved ${ks(v.savedAt)}.`:"AMP route changes auto-save after valid edits.");async function oe(){!C||await c?.({inbound:y,outbound:A})===!1||(g(!1),x(""),N(String(t[0]?.value||"").trim()))}function ee(){g(!0),x(""),N(String(t[0]?.value||"").trim())}return(0,de.jsx)("div",{className:"grid gap-4",children:(0,de.jsxs)(Lt,{children:[(0,de.jsxs)(Jr,{className:"flex flex-col gap-3 p-4 pb-0 sm:flex-row sm:items-start sm:justify-between",children:[(0,de.jsxs)("div",{className:"space-y-2",children:[(0,de.jsx)(Bo,{className:"flex items-center gap-2",children:(0,de.jsx)("span",{children:"Use AMP via LLM Router"})}),(0,de.jsx)(Um,{primaryLabel:"Config file",primaryValue:o?.settingsFilePath||"",onOpenPrimary:f,secondaryLabel:"Secrets file",secondaryValue:o?.secretsFilePath||"",secondaryIcon:(0,de.jsx)(TB,{className:"h-3 w-3"}),onOpenSecondary:p})]}),(0,de.jsx)("div",{className:"flex shrink-0 flex-wrap items-center gap-2",children:(0,de.jsx)(H,{type:"button",size:"sm",variant:O?"outline":void 0,onClick:i,disabled:a!==""||!O&&!V,children:a==="enable"?"Connecting\u2026":a==="disable"?"Disconnecting\u2026":O?"Disconnect":"Connect"})})]}),(0,de.jsxs)(Dt,{className:"space-y-4 p-4",children:[L?(0,de.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-900",children:L}):null,!O&&!b?(0,de.jsxs)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-800",children:["Set ",(0,de.jsx)("code",{children:"masterKey"})," first to connect AMP."]}):null,G?(0,de.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3 rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-900",children:[(0,de.jsx)("div",{className:"max-w-3xl",children:"AMP is connected, but no alternative web search provider is configured. AMP web search is only available through the shared Web Search tab."}),(0,de.jsx)(H,{type:"button",size:"sm",variant:"outline",onClick:u,children:"Open Web Search"})]}):null,m?(0,de.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-800",children:m}):(0,de.jsxs)("div",{className:"space-y-3 rounded-2xl border border-border/70 bg-background/60 p-4",children:[(0,de.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,de.jsxs)("div",{children:[(0,de.jsx)("div",{className:"text-sm font-medium text-foreground",children:"Route mapping editor"}),(0,de.jsx)("div",{className:"mt-1 text-xs text-muted-foreground",children:"Map built-in AMP route keys and wildcard model matches to managed routes."})]}),(0,de.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,de.jsx)(_e,{variant:Z,children:ue}),(0,de.jsxs)(_e,{variant:"outline",children:[e.length," routes"]}),(0,de.jsx)(H,{type:"button",size:"sm",onClick:ee,children:"Add custom mapping"})]})]}),(0,de.jsx)("div",{className:"text-xs text-muted-foreground",children:q}),h?(0,de.jsx)("div",{className:"rounded-2xl border border-dashed border-border bg-background/80 p-3",children:(0,de.jsxs)("div",{className:"grid gap-3 xl:grid-cols-[160px_minmax(0,1fr)_minmax(0,1fr)] xl:items-start",children:[(0,de.jsxs)("div",{className:"space-y-2",children:[(0,de.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,de.jsx)("div",{className:"text-sm font-medium text-foreground",children:"Add custom mapping"}),(0,de.jsx)(_e,{variant:"info",children:"Custom"})]}),(0,de.jsxs)("div",{className:"text-xs leading-5 text-muted-foreground",children:["Match a built-in AMP route key like ",(0,de.jsx)("code",{children:"smart"})," or a wildcard such as ",(0,de.jsx)("code",{children:"gpt-*-codex*"}),", then send it to any managed route."]}),(0,de.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,de.jsx)(H,{type:"button",size:"sm",onClick:oe,disabled:!C,children:"Create mapping"}),(0,de.jsx)(H,{type:"button",size:"sm",variant:"ghost",onClick:()=>g(!1),children:"Close"})]})]}),(0,de.jsx)(He,{label:"Inbound match",hint:"Built-in route key or AMP model pattern",children:(0,de.jsx)(it,{value:y,onChange:W=>x(W.target.value),placeholder:"smart or gpt-*-codex*"})}),(0,de.jsx)(He,{label:"Route target",hint:"Alias or provider/model route in LLM Router",children:(0,de.jsxs)(Xt,{value:A||void 0,onValueChange:N,children:[(0,de.jsx)(Jt,{children:(0,de.jsx)(Zt,{placeholder:"Select local route"})}),(0,de.jsx)(en,{children:JE(t,{keyPrefix:"amp-route-create",includeHint:!0})})]})})]})}):null,(0,de.jsx)("div",{className:"space-y-2",children:e.map(W=>(0,de.jsx)("div",{className:"rounded-2xl border border-border/70 bg-background/75 p-3",children:(0,de.jsxs)("div",{className:"grid gap-3 xl:grid-cols-[160px_minmax(0,1fr)_minmax(0,1fr)] xl:items-start",children:[(0,de.jsxs)("div",{className:"space-y-2",children:[(0,de.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,de.jsx)("div",{className:"text-sm font-medium text-foreground",children:W.label}),W.isCustom?(0,de.jsx)(_e,{variant:"info",children:"Custom"}):null]}),(0,de.jsx)("div",{className:"text-xs leading-5 text-muted-foreground",children:W.description}),W.removable?(0,de.jsx)(H,{type:"button",size:"sm",variant:"ghost",onClick:()=>d(W.id),children:"Remove"}):null]}),(0,de.jsx)(He,{label:"Inbound wildcard",hint:W.defaultMatch?`Default: ${W.defaultMatch}`:"AMP model pattern",children:(0,de.jsx)(Im,{commitOnBlur:!0,value:W.inbound,onValueCommit:j=>l(W.id,j),placeholder:W.defaultMatch||"gpt-*-codex*",onKeyDown:j=>{j.key==="Enter"&&(j.preventDefault(),j.currentTarget.blur())}})}),(0,de.jsx)(He,{label:"Target route",hint:"Alias or provider/model route",children:(0,de.jsxs)(Xt,{value:W.outbound||"__default__",onValueChange:j=>s(W.id,j),children:[(0,de.jsx)(Jt,{children:(0,de.jsx)(Zt,{placeholder:W.removable?"Choose target route":"Use default route"})}),(0,de.jsxs)(en,{children:[W.removable?null:(0,de.jsx)(Ct,{value:"__default__",children:"Use default route"}),JE(t,{keyPrefix:`amp-route-${W.id}`,includeHint:!0})]})]})})]})},W.id))})]})]})]})})}var La=B(xe(),1);var J=B(te(),1);function MB({className:e=""}){return(0,J.jsxs)("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",className:e,children:[(0,J.jsx)("path",{d:"M8 3.5v9",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"}),(0,J.jsx)("path",{d:"M3.5 8h9",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]})}function OB({open:e=!1,onClose:t=()=>{},candidates:n=[],onTestAndAdd:r=async()=>{},disabledReason:o=""}){let[a,i]=(0,La.useState)(""),[l,s]=(0,La.useState)(""),[c,d]=(0,La.useState)(!1),[u,f]=(0,La.useState)(""),p=Array.isArray(n)?n:[],b=p.find(y=>y.providerId===a)||p[0]||null,m=Array.isArray(b?.models)?b.models:[];(0,La.useEffect)(()=>{if(!e){d(!1),f("");return}let y=p[0]?.providerId||"";i(x=>p.some(N=>N.providerId===x)?x:y)},[e,p]),(0,La.useEffect)(()=>{let y=m[0]?.value||"";s(x=>m.some(N=>N.value===x)?x:y)},[m]);let v=wi(a,l),h=e&&!c&&!o&&a&&l;async function g(){if(h){d(!0),f("");try{await r({providerId:a,modelId:l}),t()}catch(y){f(y instanceof Error?y.message:String(y))}finally{d(!1)}}}return(0,J.jsx)(En,{open:e,onClose:()=>{c||t()},title:"Add ChatGPT Search Endpoint",description:"Choose a configured OpenAI-compatible GPT route. Test runs a live Responses API request with the native web search tool, then saves the route on success.",contentClassName:"max-h-[92vh] max-w-3xl rounded-2xl border border-border/70 bg-background/98 shadow-[0_32px_120px_rgba(15,23,42,0.48)]",showCloseButton:!1,footer:(0,J.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2",children:[(0,J.jsx)(H,{type:"button",variant:"ghost",onClick:t,disabled:c,children:"Cancel"}),(0,J.jsx)(H,{type:"button",onClick:()=>{g()},disabled:!h,children:c?"Testing\u2026":"Test connection"})]}),children:(0,J.jsxs)("div",{className:"space-y-4",children:[o?(0,J.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-900",children:o}):null,!o&&p.length===0?(0,J.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-900",children:"No configured OpenAI-compatible GPT providers are available yet. Add a provider with a GPT model first."}):null,p.length>0?(0,J.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,J.jsx)(He,{label:"Provider",hint:"Configured provider or ChatGPT subscription",stacked:!0,children:(0,J.jsxs)(Xt,{value:a||void 0,onValueChange:i,disabled:c||!!o,children:[(0,J.jsx)(Jt,{children:(0,J.jsx)(Zt,{placeholder:"Choose provider"})}),(0,J.jsx)(en,{children:p.map(y=>(0,J.jsx)(Ct,{value:y.providerId,children:y.providerLabel},y.providerId))})]})}),(0,J.jsx)(He,{label:"GPT model",hint:"Only GPT models on OpenAI-compatible routes are listed",stacked:!0,children:(0,J.jsxs)(Xt,{value:l||void 0,onValueChange:s,disabled:c||!!o||m.length===0,children:[(0,J.jsx)(Jt,{children:(0,J.jsx)(Zt,{placeholder:"Choose model"})}),(0,J.jsx)(en,{children:m.map(y=>(0,J.jsx)(Ct,{value:y.value,children:y.label},y.routeId))})]})})]}):null,v?(0,J.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/70 px-4 py-3",children:[(0,J.jsx)("div",{className:"text-[11px] font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Saved route id"}),(0,J.jsx)("div",{className:"mt-1 text-sm font-medium text-foreground",children:v}),(0,J.jsx)("div",{className:"mt-1 text-xs leading-5 text-muted-foreground",children:"This route stores only the provider/model reference. No separate API key or quota is saved here."})]}):null,u?(0,J.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-900",children:u}):null]})})}function eT({webSearchConfig:e,webSearchProviders:t,hostedSearchCandidates:n,onWebSearchStrategyChange:r,onWebSearchProviderChange:o,onWebSearchProviderMove:a,onRemoveWebSearchProvider:i,onAddHostedSearchEndpoint:l,disabledReason:s,autosaveState:c}){let[d,u]=(0,La.useState)(!1),f=String(e?.strategy||"ordered").trim()==="quota-balance"?"quota-balance":"ordered",p=Array.isArray(n)&&n.some(m=>Array.isArray(m?.models)&&m.models.length>0),b=s||(c.status==="error"?c.message:c.status==="pending"?"Unsaved changes queued. Auto-save will run shortly.":c.status==="saving"?"Saving changes...":c.savedAt?`Last saved ${ks(c.savedAt)}.`:"");return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(Lt,{children:[(0,J.jsxs)(Jr,{className:"flex flex-col gap-4 p-4 pb-0 xl:flex-row xl:items-start xl:justify-between",children:[(0,J.jsxs)("div",{className:"space-y-1",children:[(0,J.jsx)(Bo,{children:"Web Search"}),(0,J.jsx)(pi,{className:"text-xs leading-5",children:"Shared web search routing for AMP and other router-managed tools."}),b?(0,J.jsx)("div",{className:"text-xs text-muted-foreground",children:b}):null]}),(0,J.jsxs)("div",{className:"flex w-full shrink-0 flex-wrap items-end justify-end gap-3 xl:w-auto",children:[(0,J.jsxs)("div",{className:"min-w-[12rem] space-y-1",children:[(0,J.jsx)("div",{className:"text-[11px] font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Routing strategy"}),(0,J.jsxs)(Xt,{value:f,onValueChange:r,disabled:!!s,children:[(0,J.jsx)(Jt,{children:(0,J.jsx)(Zt,{placeholder:"Choose strategy"})}),(0,J.jsx)(en,{children:yC.map(m=>(0,J.jsx)(Ct,{value:m.value,children:m.label},m.value))})]})]}),(0,J.jsxs)(H,{type:"button",variant:"outline",className:"gap-2",onClick:()=>u(!0),disabled:!!s||!p,children:[(0,J.jsx)(MB,{className:"h-3.5 w-3.5"}),(0,J.jsx)("span",{children:"Endpoint"})]})]})]}),(0,J.jsx)(Dt,{className:"space-y-4 p-4",children:(0,J.jsx)("div",{className:"space-y-3",children:(t||[]).map(m=>{if(m.kind==="hosted"){let g=m.runtimeState&&m.runtimeState.ready===!1?"This provider/model route is no longer available or is not OpenAI-compatible.":"";return(0,J.jsx)("div",{className:"rounded-2xl border border-border/70 bg-background/80 p-4",children:(0,J.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,J.jsxs)("div",{className:"flex flex-col gap-3 xl:flex-row xl:items-start xl:justify-between",children:[(0,J.jsxs)("div",{className:"min-w-0",children:[(0,J.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,J.jsx)(Sb,{active:m.active}),(0,J.jsx)("div",{className:"text-sm font-medium text-foreground",children:m.label}),(0,J.jsx)(_e,{variant:"outline",children:"GPT Search"})]}),(0,J.jsx)("div",{className:"mt-1 text-xs break-all text-muted-foreground",children:m.routeId}),(0,J.jsx)("div",{className:"mt-2 text-xs leading-5 text-muted-foreground",children:"Uses the provider's native OpenAI Responses web search tool. No local API key or quota is stored here."})]}),(0,J.jsxs)("div",{className:"flex items-center gap-2 self-start",children:[(0,J.jsxs)("div",{className:"flex items-center gap-2 rounded-xl border border-border/70 bg-background/70 p-1",children:[(0,J.jsx)(Oa,{disabled:!!s||m.displayIndex<=0,label:`Move ${m.routeId} up`,onClick:()=>a(m.id,"up")}),(0,J.jsx)(Sl,{disabled:!!s||m.displayIndex>=m.displayCount-1,label:`Move ${m.routeId} down`,onClick:()=>a(m.id,"down")})]}),(0,J.jsx)(H,{type:"button",size:"sm",variant:"ghost",onClick:()=>i(m.id),disabled:!!s,children:"Remove"})]})]}),g?(0,J.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-900",children:g}):null]})},m.key)}let v=m.credentialField,h=String(m?.credentialValue||"").trim();return(0,J.jsx)("div",{className:"rounded-2xl border border-border/70 bg-background/80 p-4",children:(0,J.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,J.jsxs)("div",{className:"flex flex-col gap-3 xl:flex-row xl:items-start xl:justify-between",children:[(0,J.jsx)("div",{className:"min-w-0",children:(0,J.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,J.jsx)(Sb,{active:m.active}),(0,J.jsx)("div",{className:"text-sm font-medium text-foreground",children:m.label})]})}),(0,J.jsxs)("div",{className:"flex items-center gap-2 self-start rounded-xl border border-border/70 bg-background/70 p-1",children:[(0,J.jsx)(Oa,{disabled:!!s||m.displayIndex<=0,label:`Move ${m.label} up`,onClick:()=>a(m.id,"up")}),(0,J.jsx)(Sl,{disabled:!!s||m.displayIndex>=m.displayCount-1,label:`Move ${m.label} down`,onClick:()=>a(m.id,"down")})]})]}),(0,J.jsxs)("div",{className:"grid gap-3 lg:grid-cols-[minmax(0,0.9fr)_minmax(0,1.35fr)]",children:[(0,J.jsx)(He,{label:m.credentialLabel,hint:m.credentialField==="url"?"Required to enable this backend.":"Required to enable this backend. Stored in router config.",stacked:!0,className:"gap-1",headerClassName:"min-h-0",hintClassName:"leading-4",children:(0,J.jsx)(Hs,{buffered:!0,value:h,placeholder:m.credentialPlaceholder,onValueChange:g=>o(m.id,v,g),disabled:!!s,isEnvVar:m.credentialField==="url"})}),(0,J.jsxs)("div",{className:"grid gap-3 sm:grid-cols-3",children:[(0,J.jsx)(He,{label:"Result per call",hint:"Empty keeps the default of 5.",stacked:!0,className:"gap-1",headerClassName:"min-h-0",hintClassName:"leading-4",children:(0,J.jsx)(zm,{value:m.resultPerCallInput,placeholder:"Default: 5",allowEmptyCommit:!0,onValueChange:g=>o(m.id,"count",g),disabled:!!s})}),(0,J.jsx)(He,{label:"Monthly limit",hint:"0 keeps quotas self-managed.",stacked:!0,className:"gap-1",headerClassName:"min-h-0",hintClassName:"leading-4",children:(0,J.jsx)(zm,{value:String(m.limit||0),onValueChange:g=>o(m.id,"limit",g),disabled:!!s})}),(0,J.jsx)(He,{label:"Synced remaining",hint:"Adjust after manual upstream sync.",stacked:!0,className:"gap-1",headerClassName:"min-h-0",hintClassName:"leading-4",children:(0,J.jsx)(zm,{value:String(m.remaining||0),onValueChange:g=>o(m.id,"remaining",g),disabled:!!s})})]})]})]})},m.key)})})})]}),(0,J.jsx)(OB,{open:d,onClose:()=>u(!1),candidates:n,onTestAndAdd:l,disabledReason:s})]})}var Du=B(xe(),1);var S=B(te(),1);function kB(e=""){let t=String(e||"").trim();if(!t)return{};let n=If(t);if(n?.kind==="alias")return{kind:"alias",groupKey:"aliases",groupLabel:"Aliases"};if(n?.kind==="model"&&n.providerId)return{kind:"model",providerId:n.providerId,groupKey:`provider:${n.providerId}`,groupLabel:n.providerId};if(n?.kind==="model")return{kind:"model",groupKey:"llm-router",groupLabel:"LLM Router"};let r=t.startsWith("alias:")?t.slice(6).trim():t;if(!r.includes("/"))return{kind:"alias",groupKey:"aliases",groupLabel:"Aliases"};let o=r.indexOf("/"),a=r.slice(0,o).trim();return a?{kind:"model",providerId:a,groupKey:`provider:${a}`,groupLabel:a}:{}}function _B(e=[],t=[]){let n=[...Array.isArray(e)?e:[]],r=new Set(n.map(o=>String(o?.value||"").trim()).filter(Boolean));for(let o of(Array.isArray(t)?t:[]).map(a=>String(a||"").trim()).filter(Boolean))r.has(o)||(r.add(o),n.push({value:o,label:o,hint:"Current config",...kB(o)}));return n}function LB(e=[]){let t=[],n=new Map,r=null;for(let o of(Array.isArray(e)?e:[]).filter(Boolean)){let a=String(o?.groupKey||o?.groupLabel||"").trim(),i=String(o?.groupLabel||"").trim();if(!a){r||(r={key:"__ungrouped__",label:"",options:[]},t.push(r)),r.options.push(o);continue}let l=n.get(a);l||(l={key:a,label:i||a,options:[]},n.set(a,l),t.push(l)),l.options.push(o)}return t}function DB(e={},{includeHint:t=!1}={}){let n=String(e?.label||e?.value||"").trim()||String(e?.value||"").trim(),r=String(e?.hint||"").trim();return t&&r?`${n} \xB7 ${r}`:n}function BB(e=[],{keyPrefix:t="select-option",includeHint:n=!1}={}){return LB(e).map((r,o)=>{let a=r.options.map(i=>(0,S.jsx)(Ct,{value:i.value,searchText:`${i.label||""} ${i.value||""} ${i.hint||""} ${r.label||""}`,children:DB(i,{includeHint:n})},`${t}-${i.value}`));return r.label?(0,S.jsxs)(xl,{children:[(0,S.jsx)(Vs,{children:r.label}),a]},`${t}-group-${r.key||o}`):a})}function IB({className:e=""}){return(0,S.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:[(0,S.jsx)("path",{d:"M6 3.5h5.25L15 7.25V16A1.5 1.5 0 0 1 13.5 17.5h-7A1.5 1.5 0 0 1 5 16V5A1.5 1.5 0 0 1 6.5 3.5H6Z"}),(0,S.jsx)("path",{d:"M11 3.5V7.5H15"}),(0,S.jsx)("path",{d:"M7 12.25a3 3 0 1 1 2.85 2.99"}),(0,S.jsx)("path",{d:"M8.5 10.25h1.5v1.5"})]})}function nT({bindingValue:e="",thinkingLevel:t="",configFilePath:n="",endpointUrl:r=""}={}){let o=String(e||"").trim(),a=String(t||"").trim(),i=String(n||"").trim(),l=String(r||"").trim(),s=Bf(o),c=s?"Mode: Inherit Codex model":o?`Mode: Pinned to ${o}`:"Mode: Choose a route",d=s?{variant:"success",title:"Inherit mode keeps Codex-native model picks intact.",body:(0,S.jsxs)(S.Fragment,{children:["Codex CLI still chooses its own model name. Create a same-name alias in the ",(0,S.jsx)("span",{className:"font-medium",children:"Alias & Fallback"})," tab so LLM Router can resolve that name to the real upstream target you want."]})}:o?{variant:"info",title:"Pinned mode forces one router target.",body:(0,S.jsxs)(S.Fragment,{children:["LLM Router writes ",(0,S.jsxs)("code",{children:["model=",o]})," into Codex CLI config. That is the simplest setup when every Codex session should use one managed route or alias."]})}:{variant:"warning",title:"Choose your model strategy before you connect.",body:(0,S.jsxs)(S.Fragment,{children:["Pick ",(0,S.jsx)("span",{className:"font-medium",children:"Inherit Codex CLI model"})," if Codex should keep using its built-in model names, or pick one managed route/alias if you want a single fixed target."]})};return{title:"Codex CLI guide",description:"Quick setup for routing Codex CLI through LLM Router while keeping model routing easy to inspect and change later.",badges:[{label:c,variant:s?"success":o?"info":"outline"},{label:a?`Thinking: ${a}`:"Thinking: Codex default",variant:"outline"},{label:i?"Config file detected":"User config: ~/.codex/config.toml",variant:"outline"}],callout:d,highlights:[{eyebrow:"1. Connect",title:"Point Codex CLI at LLM Router",body:l?(0,S.jsxs)(S.Fragment,{children:["When connected, Codex sends requests to ",(0,S.jsx)("code",{children:l}),". LLM Router then handles upstream auth, alias resolution, and failover."]}):(0,S.jsxs)(S.Fragment,{children:["Click ",(0,S.jsx)("span",{className:"font-medium",children:"Connect"})," to patch Codex CLI so it talks to LLM Router instead of a provider directly."]})},{eyebrow:"2. Route",title:"Choose between inherit and pinned mode",body:s?(0,S.jsxs)(S.Fragment,{children:["Keep Codex model names such as ",(0,S.jsx)("code",{children:"gpt-5.4"}),", then create matching aliases in LLM Router, for example ",(0,S.jsx)("code",{children:"gpt-5.4"})," -> ",(0,S.jsx)("code",{children:"demo/gpt-4o-mini"}),"."]}):(0,S.jsxs)(S.Fragment,{children:["Select one managed route or alias in ",(0,S.jsx)("span",{className:"font-medium",children:"Default model"})," when you want every Codex request to land on the same router target."]})},{eyebrow:"3. Tune",title:"Optional reasoning control",body:(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)("span",{className:"font-medium",children:"Thinking level"})," writes Codex CLI ",(0,S.jsx)("code",{children:"model_reasoning_effort"})," with the official values ",(0,S.jsx)("code",{children:"minimal"}),", ",(0,S.jsx)("code",{children:"low"}),", ",(0,S.jsx)("code",{children:"medium"}),", ",(0,S.jsx)("code",{children:"high"}),", or ",(0,S.jsx)("code",{children:"xhigh"}),"."]})}],sections:[{title:"Quick start",items:[(0,S.jsxs)(S.Fragment,{children:["Set a ",(0,S.jsx)("code",{children:"masterKey"})," in LLM Router first. The ",(0,S.jsx)("span",{className:"font-medium",children:"Connect"})," button stays disabled until gateway auth is ready."]}),(0,S.jsxs)(S.Fragment,{children:["Click ",(0,S.jsx)("span",{className:"font-medium",children:"Connect"})," to patch the Codex CLI config file and router base URL."]}),s?(0,S.jsxs)(S.Fragment,{children:["Leave ",(0,S.jsx)("span",{className:"font-medium",children:"Default model"})," on ",(0,S.jsx)("span",{className:"font-medium",children:"Inherit Codex CLI model"}),", then create aliases that match the Codex model names you actually use."]}):o?(0,S.jsxs)(S.Fragment,{children:["Your current default is pinned to ",(0,S.jsx)("code",{children:o}),". Change it only when you want Codex to use a different managed route or alias."]}):(0,S.jsxs)(S.Fragment,{children:["Choose either ",(0,S.jsx)("span",{className:"font-medium",children:"Inherit Codex CLI model"})," or one managed route/alias in ",(0,S.jsx)("span",{className:"font-medium",children:"Default model"})," before you start using Codex through the router."]}),(0,S.jsxs)(S.Fragment,{children:["Set ",(0,S.jsx)("span",{className:"font-medium",children:"Thinking level"})," only when you want LLM Router to write ",(0,S.jsx)("code",{children:"model_reasoning_effort"}),"; leave it unset to keep Codex CLI defaults."]})]},{title:"Choose the right model strategy",items:[(0,S.jsxs)(S.Fragment,{children:["Use ",(0,S.jsx)("span",{className:"font-medium",children:"Inherit Codex CLI model"})," when you want Codex-native model names and model-specific UI/options to remain visible."]}),(0,S.jsx)(S.Fragment,{children:"Use a fixed route or alias when your team wants one centrally managed target regardless of what Codex would otherwise choose."}),(0,S.jsx)(S.Fragment,{children:"If Codex-specific options disappear after pinning a route, switch back to inherit mode and route those same model names through aliases instead."})]},{title:"Where these settings land",items:[i?(0,S.jsxs)(S.Fragment,{children:["This page is currently managing ",(0,S.jsx)("code",{children:i}),"."]}):(0,S.jsxs)(S.Fragment,{children:["Codex CLI usually stores user settings in ",(0,S.jsx)("code",{children:"~/.codex/config.toml"}),". Trusted projects can also add overrides in ",(0,S.jsx)("code",{children:".codex/config.toml"}),"."]}),(0,S.jsxs)(S.Fragment,{children:["The router-managed bindings in this panel map to Codex CLI ",(0,S.jsx)("code",{children:"model"})," and ",(0,S.jsx)("code",{children:"model_reasoning_effort"}),"."]}),(0,S.jsxs)(S.Fragment,{children:["Use ",(0,S.jsx)("span",{className:"font-medium",children:"Open Codex CLI Config File"})," whenever you want to inspect the exact generated config."]})]},{title:"Quick verify",items:[(0,S.jsx)(S.Fragment,{children:"Open the config file from this page and confirm the values match the mode you intended."}),(0,S.jsx)(S.Fragment,{children:"Start Codex CLI and run a small prompt. If inherit mode is on, make sure the Codex model you selected has a same-name alias in LLM Router."}),(0,S.jsxs)(S.Fragment,{children:["If requests fail after switching models, check the ",(0,S.jsx)("span",{className:"font-medium",children:"Alias & Fallback"})," tab first because the alias behind that model name may be missing or pointed at the wrong target."]})]}]}}function rT({bindings:e={},settingsFilePath:t="",endpointUrl:n=""}={}){let r=String(e?.primaryModel||"").trim(),o=String(e?.defaultOpusModel||"").trim(),a=String(e?.defaultSonnetModel||"").trim(),i=String(e?.defaultHaikuModel||"").trim(),l=String(e?.subagentModel||"").trim(),s=oC(e?.thinkingLevel),c=String(t||"").trim(),d=String(n||"").trim(),u=[r,o,a,i,l,s].filter(Boolean).length,f=r?{variant:"info",title:"Primary model override is active.",body:(0,S.jsxs)(S.Fragment,{children:["LLM Router is currently writing ",(0,S.jsxs)("code",{children:["ANTHROPIC_MODEL=",r]}),". Leave that field blank if you want Claude Code to keep choosing its own primary model."]})}:u>0?{variant:"info",title:"Only filled fields are overridden.",body:(0,S.jsx)(S.Fragment,{children:"Claude Code continues to inherit its normal defaults for every blank field. This is useful when you only want to steer alias models, subagents, or effort level through LLM Router."})}:{variant:"success",title:"Blank fields are a valid setup.",body:(0,S.jsx)(S.Fragment,{children:"You do not need to fill every binding. Leave fields empty unless you want LLM Router to override that specific Claude Code setting."})};return{title:"Claude Code guide",description:"Quick setup for routing Claude Code through LLM Router while keeping only the model and effort level overrides you actually want.",badges:[{label:u>0?`${u} override${u===1?"":"s"} active`:"No router overrides",variant:u>0?"info":"outline"},{label:s?`Effort: ${s}`:"Effort: Claude adaptive default",variant:"outline"},{label:c?"Settings file detected":"Settings scope: local/project/user",variant:"outline"}],callout:f,highlights:[{eyebrow:"1. Connect",title:"Point Claude Code at the router",body:d?(0,S.jsxs)(S.Fragment,{children:["When connected, Claude Code sends requests to ",(0,S.jsx)("code",{children:d}),". LLM Router then handles upstream auth, route selection, and failover."]}):(0,S.jsxs)(S.Fragment,{children:["Click ",(0,S.jsx)("span",{className:"font-medium",children:"Connect"})," to patch Claude Code so it uses the router Anthropic endpoint instead of a provider directly."]})},{eyebrow:"2. Override",title:"Set only the bindings you need",body:(0,S.jsxs)(S.Fragment,{children:["Leave fields blank to inherit Claude Code defaults. Fill ",(0,S.jsx)("code",{children:"ANTHROPIC_MODEL"}),", the Opus/Sonnet/Haiku defaults, or ",(0,S.jsx)("code",{children:"CLAUDE_CODE_SUBAGENT_MODEL"})," only when you want LLM Router to manage those values."]})},{eyebrow:"3. Effort",title:"Set thinking effort level",body:(0,S.jsxs)(S.Fragment,{children:["The ",(0,S.jsx)("span",{className:"font-medium",children:"Effort level"})," dropdown writes ",(0,S.jsx)("code",{children:"CLAUDE_CODE_EFFORT_LEVEL"})," to your shell profile. If the shell profile cannot be updated, ",(0,S.jsx)("code",{children:"effortLevel"})," is set in ",(0,S.jsx)("code",{children:"settings.json"}),' as a fallback (only "high" is supported there).']})}],sections:[{title:"Quick start",items:[(0,S.jsxs)(S.Fragment,{children:["Click ",(0,S.jsx)("span",{className:"font-medium",children:"Connect"})," to patch Claude Code toward the router and keep provider credentials centralized inside LLM Router."]}),(0,S.jsxs)(S.Fragment,{children:["Leave ",(0,S.jsx)("span",{className:"font-medium",children:"Current model override"})," empty unless you explicitly want to replace Claude Code's own main model selection."]}),(0,S.jsxs)(S.Fragment,{children:["Use ",(0,S.jsx)("span",{className:"font-medium",children:"Default Opus"}),", ",(0,S.jsx)("span",{className:"font-medium",children:"Default Sonnet"}),", and ",(0,S.jsx)("span",{className:"font-medium",children:"Default Haiku"})," when you want Claude Code's built-in alias names to resolve to managed routes or aliases."]}),(0,S.jsxs)(S.Fragment,{children:["Use ",(0,S.jsx)("span",{className:"font-medium",children:"Sub-agent model"})," when background workers or helper agents should run on a different route than the main session."]}),(0,S.jsxs)(S.Fragment,{children:["Use ",(0,S.jsx)("span",{className:"font-medium",children:"Effort level"})," to set ",(0,S.jsx)("code",{children:"CLAUDE_CODE_EFFORT_LEVEL"})," in your shell profile; leave it unset to keep Claude Code's adaptive default. The ",(0,S.jsx)("code",{children:"effortLevel"})," key in ",(0,S.jsx)("code",{children:"settings.json"}),' (only "high") acts as a fallback when the shell profile cannot be updated.']})]},{title:"What each binding controls",items:[(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)("code",{children:"ANTHROPIC_MODEL"}),": overrides the main model for the active Claude Code session."]}),(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)("code",{children:"ANTHROPIC_DEFAULT_OPUS_MODEL"}),", ",(0,S.jsx)("code",{children:"ANTHROPIC_DEFAULT_SONNET_MODEL"}),", and ",(0,S.jsx)("code",{children:"ANTHROPIC_DEFAULT_HAIKU_MODEL"}),": remap Claude Code's built-in alias names to managed routes or aliases."]}),(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)("code",{children:"CLAUDE_CODE_SUBAGENT_MODEL"}),": routes subagents and background workers to a specific managed model."]}),s?(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)("code",{children:"CLAUDE_CODE_EFFORT_LEVEL"}),": currently set to ",(0,S.jsx)("span",{className:"font-medium",children:s})," in your shell profile."]}):(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)("code",{children:"CLAUDE_CODE_EFFORT_LEVEL"}),": stays unset unless you choose an effort level."]})]},{title:"Settings scope and precedence",items:[(0,S.jsxs)(S.Fragment,{children:["Claude Code settings apply in this order: ",(0,S.jsx)("code",{children:"managed-settings.json"}),", CLI arguments, ",(0,S.jsx)("code",{children:".claude/settings.local.json"}),", ",(0,S.jsx)("code",{children:".claude/settings.json"}),", then ",(0,S.jsx)("code",{children:"~/.claude/settings.json"}),"."]}),c?(0,S.jsxs)(S.Fragment,{children:["This page is currently managing ",(0,S.jsx)("code",{children:c}),"."]}):(0,S.jsx)(S.Fragment,{children:"Claude Code can read from project-local, project-shared, or user settings files depending on what exists in your environment."}),(0,S.jsx)(S.Fragment,{children:"If a value seems ignored, check whether a higher-precedence file or command-line flag is overriding it."})]},{title:"Quick verify",items:[(0,S.jsxs)(S.Fragment,{children:["Open the settings file from this page and confirm the ",(0,S.jsx)("code",{children:"env"})," block contains only the overrides you meant to set."]}),(0,S.jsxs)(S.Fragment,{children:["Launch Claude Code and test both the main session and any subagents if you changed ",(0,S.jsx)("code",{children:"CLAUDE_CODE_SUBAGENT_MODEL"}),"."]}),(0,S.jsxs)(S.Fragment,{children:["If thinking behavior is not what you expected, remember this UI writes ",(0,S.jsx)("code",{children:"CLAUDE_CODE_EFFORT_LEVEL"})," to your shell profile; clearing the field returns control to Claude Code's own default behavior."]})]}]}}function oT({bindings:e={},settingsFilePath:t="",endpointUrl:n=""}={}){let r=String(e?.defaultModel||"").trim(),o=String(e?.missionOrchestratorModel||"").trim(),a=String(e?.missionWorkerModel||"").trim(),i=String(e?.missionValidatorModel||"").trim(),l=aC(e?.reasoningEffort),s=String(t||"").trim(),c=String(n||"").trim(),d=r||o||a||i?{variant:"info",title:"Factory defaults are set.",body:(0,S.jsxs)(S.Fragment,{children:["LLM Router injects router-managed ",(0,S.jsx)("code",{children:"customModels"})," entries, sets each managed provider to ",(0,S.jsx)("code",{children:"openai"})," or ",(0,S.jsx)("code",{children:"anthropic"})," based on the routed model format, and writes separate defaults for normal sessions and Missions."]})}:{variant:"success",title:"Factory Droid connected via managed custom models.",body:(0,S.jsxs)(S.Fragment,{children:["LLM Router injects router-managed ",(0,S.jsx)("code",{children:"customModels"})," entries pointing at the gateway. Set normal or Mission defaults below, or use Factory Droid's ",(0,S.jsx)("code",{children:"/model"})," command to pick the routed model at runtime."]})};return{title:"Factory Droid guide",description:"Quick setup for routing Factory Droid through LLM Router via router-managed custom models.",badges:[{label:r?`Normal: ${r}`:"Normal: Factory default",variant:r?"info":"outline"},{label:o?`Orchestrator: ${o}`:"Orchestrator: Factory default",variant:o?"info":"outline"},{label:a?`Worker: ${a}`:"Worker: Factory default",variant:a?"info":"outline"},{label:i?`Validator: ${i}`:"Validator: Factory default",variant:i?"info":"outline"},{label:l?`Reasoning: ${l}`:"Reasoning: Droid default",variant:"outline"},{label:s?"Settings file detected":"User config: ~/.factory/settings.json",variant:"outline"}],callout:d,highlights:[{eyebrow:"1. Connect",title:"Point Factory Droid at LLM Router",body:c?(0,S.jsxs)(S.Fragment,{children:["When connected, Factory Droid sends requests to ",(0,S.jsx)("code",{children:c}),". LLM Router handles upstream auth, alias resolution, and failover."]}):(0,S.jsxs)(S.Fragment,{children:["Click ",(0,S.jsx)("span",{className:"font-medium",children:"Connect"})," to inject router-managed custom models into Factory Droid settings."]})},{eyebrow:"2. Route",title:"Set normal and Mission defaults",body:(0,S.jsxs)(S.Fragment,{children:["Use ",(0,S.jsx)("span",{className:"font-medium",children:"Normal mode model"})," for regular sessions, then set separate Mission bindings for the orchestrator, worker, and validator roles."]})},{eyebrow:"3. Tune",title:"Optional reasoning control",body:(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)("span",{className:"font-medium",children:"Reasoning effort"})," writes Factory Droid ",(0,S.jsx)("code",{children:"reasoningEffort"}),". Values: ",(0,S.jsx)("code",{children:"off"}),", ",(0,S.jsx)("code",{children:"none"}),", ",(0,S.jsx)("code",{children:"low"}),", ",(0,S.jsx)("code",{children:"medium"}),", or ",(0,S.jsx)("code",{children:"high"}),"."]})}],sections:[{title:"Quick start",items:[(0,S.jsxs)(S.Fragment,{children:["Set a ",(0,S.jsx)("code",{children:"masterKey"})," in LLM Router first. The ",(0,S.jsx)("span",{className:"font-medium",children:"Connect"})," button stays disabled until gateway auth is ready."]}),(0,S.jsxs)(S.Fragment,{children:["Click ",(0,S.jsx)("span",{className:"font-medium",children:"Connect"})," to inject a managed ",(0,S.jsx)("code",{children:"customModels"})," entry into ",(0,S.jsx)("code",{children:"~/.factory/settings.json"}),"."]}),r?(0,S.jsxs)(S.Fragment,{children:["Your normal-session default is ",(0,S.jsx)("code",{children:r}),". Change it any time from this panel."]}):(0,S.jsxs)(S.Fragment,{children:["Choose a managed route or alias in ",(0,S.jsx)("span",{className:"font-medium",children:"Normal mode model"})," to set the default Factory session route."]}),o?(0,S.jsxs)(S.Fragment,{children:["Your Mission orchestrator default is ",(0,S.jsx)("code",{children:o}),"."]}):(0,S.jsxs)(S.Fragment,{children:["Set ",(0,S.jsx)("span",{className:"font-medium",children:"Mission orchestrator"})," when mission planning should use a specific route."]}),a?(0,S.jsxs)(S.Fragment,{children:["Your Mission worker default is ",(0,S.jsx)("code",{children:a}),"."]}):(0,S.jsxs)(S.Fragment,{children:["Set ",(0,S.jsx)("span",{className:"font-medium",children:"Mission worker"})," when implementation workers should use a specific route."]}),i?(0,S.jsxs)(S.Fragment,{children:["Your Mission validator default is ",(0,S.jsx)("code",{children:i}),"."]}):(0,S.jsxs)(S.Fragment,{children:["Set ",(0,S.jsx)("span",{className:"font-medium",children:"Mission validator"})," when validation workers should use a specific route."]}),(0,S.jsxs)(S.Fragment,{children:["Set ",(0,S.jsx)("span",{className:"font-medium",children:"Reasoning effort"})," only when you want LLM Router to write ",(0,S.jsx)("code",{children:"reasoningEffort"}),"; leave it unset to keep Factory Droid defaults."]})]},{title:"How it works",items:[(0,S.jsxs)(S.Fragment,{children:["LLM Router adds router-managed ",(0,S.jsx)("code",{children:"customModels"})," entries with ",(0,S.jsx)("code",{children:'provider: "openai"'})," or ",(0,S.jsx)("code",{children:'provider: "anthropic"'}),", plus the matching gateway base URL for that request format."]}),(0,S.jsxs)(S.Fragment,{children:["Each injected entry has a ",(0,S.jsx)("code",{children:"_llmRouterManaged"})," marker so it can be cleanly updated or removed without touching your other custom models."]}),(0,S.jsxs)(S.Fragment,{children:["The router-managed bindings map to both the legacy root ",(0,S.jsx)("code",{children:"model"})," field and current Factory settings such as ",(0,S.jsx)("code",{children:"sessionDefaultSettings.model"}),", ",(0,S.jsx)("code",{children:"missionOrchestratorModel"}),", and ",(0,S.jsx)("code",{children:"missionModelSettings"}),"."]}),(0,S.jsx)(S.Fragment,{children:"Disconnecting removes only the router-managed entries and restores any backed-up session, Mission, or reasoning settings."})]},{title:"Where these settings land",items:[s?(0,S.jsxs)(S.Fragment,{children:["This page is managing ",(0,S.jsx)("code",{children:s}),"."]}):(0,S.jsxs)(S.Fragment,{children:["Factory Droid stores user settings in ",(0,S.jsx)("code",{children:"~/.factory/settings.json"}),"."]}),(0,S.jsxs)(S.Fragment,{children:["The normal-session binding maps to ",(0,S.jsx)("code",{children:"sessionDefaultSettings.model"})," and the legacy root ",(0,S.jsx)("code",{children:"model"})," field."]}),(0,S.jsxs)(S.Fragment,{children:["The Mission orchestrator binding maps to ",(0,S.jsx)("code",{children:"missionOrchestratorModel"}),"."]}),(0,S.jsxs)(S.Fragment,{children:["The Mission worker binding maps to ",(0,S.jsx)("code",{children:"missionModelSettings.workerModel"}),"."]}),(0,S.jsxs)(S.Fragment,{children:["The Mission validator binding maps to ",(0,S.jsx)("code",{children:"missionModelSettings.validationWorkerModel"}),"."]}),(0,S.jsxs)(S.Fragment,{children:["Use ",(0,S.jsx)("span",{className:"font-medium",children:"Open Config File"})," to inspect the generated settings."]})]},{title:"Quick verify",items:[(0,S.jsxs)(S.Fragment,{children:["Open the settings file from this page and confirm the ",(0,S.jsx)("code",{children:"customModels"})," array contains the LLM Router entry."]}),(0,S.jsxs)(S.Fragment,{children:["Launch Factory Droid and run a small prompt. Use ",(0,S.jsx)("code",{children:"/model"})," to confirm the routed model is available."]}),(0,S.jsxs)(S.Fragment,{children:["If requests fail, check the ",(0,S.jsx)("span",{className:"font-medium",children:"Alias & Fallback"})," tab first to ensure the alias behind your model exists."]})]}]}}function zB(e="outline"){switch(e){case"success":return"border-emerald-200 bg-emerald-50";case"warning":return"border-amber-200 bg-amber-50";case"danger":return"border-rose-200 bg-rose-50";case"info":return"border-sky-200 bg-sky-50";default:return"border-border/70 bg-background/70"}}function tT(e="outline"){switch(e){case"success":return"text-emerald-950";case"warning":return"text-amber-950";case"danger":return"text-rose-950";case"info":return"text-sky-950";default:return"text-foreground"}}function PB({guideContent:e}){let[t,n]=(0,Du.useState)(!1),r=String(e?.title||"").trim()||"Guide",o=String(e?.description||"").trim(),a=Array.isArray(e?.badges)?e.badges.filter(Boolean):[],i=Array.isArray(e?.highlights)?e.highlights.filter(Boolean):[],l=Array.isArray(e?.sections)?e.sections.filter(Boolean):[],s=e?.callout&&e.callout.body?e.callout:null,c=s?.variant||"outline";return i.length===0&&l.length===0&&!s?null:(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(H,{type:"button",size:"sm",variant:"outline","aria-label":r,onClick:()=>n(!0),children:"Guide"}),(0,S.jsx)(En,{open:t,onClose:()=>n(!1),title:r,description:o,contentClassName:"max-h-[92vh] max-w-4xl rounded-2xl border border-border/70 bg-background/98 shadow-[0_32px_120px_rgba(15,23,42,0.48)]",bodyClassName:"max-h-[calc(92vh-5.5rem)]",children:(0,S.jsxs)("div",{className:"space-y-4",children:[a.length>0?(0,S.jsx)("div",{className:"flex flex-wrap items-center gap-2",children:a.map((d,u)=>(0,S.jsx)(_e,{variant:d?.variant||"outline",children:d?.label},`${r}-badge-${u}`))}):null,s?(0,S.jsxs)("div",{className:Q("rounded-2xl border p-4",zB(c)),children:[(0,S.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,S.jsx)(_e,{variant:["success","warning","danger","info"].includes(c)?c:"outline",children:c==="success"?"Current best fit":c==="warning"?"Needs attention":c==="info"?"Current behavior":"Guide note"}),(0,S.jsx)("div",{className:Q("text-sm font-medium",tT(c)),children:s.title})]}),(0,S.jsx)("div",{className:Q("mt-3 text-sm leading-6",tT(c)),children:s.body})]}):null,i.length>0?(0,S.jsx)("div",{className:Q("grid gap-4",i.length>2?"md:grid-cols-3":"md:grid-cols-2"),children:i.map((d,u)=>(0,S.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/70 p-4",children:[d?.eyebrow?(0,S.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:d.eyebrow}):null,(0,S.jsx)("div",{className:"mt-2 text-sm font-medium text-foreground",children:d?.title}),(0,S.jsx)("div",{className:"mt-2 text-sm leading-6 text-muted-foreground",children:d?.body})]},`${r}-highlight-${u}`))}):null,l.map((d,u)=>{let f=Array.isArray(d?.items)?d.items.filter(Boolean):[];return(0,S.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/70 p-4",children:[(0,S.jsx)("div",{className:"text-sm font-medium text-foreground",children:d?.title}),d?.description?(0,S.jsx)("div",{className:"mt-2 text-sm leading-6 text-muted-foreground",children:d.description}):null,f.length>0?(0,S.jsx)("div",{className:"mt-3 space-y-3",children:f.map((p,b)=>(0,S.jsxs)("div",{className:"flex gap-3 text-sm leading-6 text-foreground",children:[(0,S.jsx)("span",{className:"mt-2 h-1.5 w-1.5 shrink-0 rounded-full bg-foreground/50"}),(0,S.jsx)("div",{className:"min-w-0",children:p})]},`${r}-section-${u}-item-${b}`))}):null]},`${r}-section-${u}`)})]})})]})}function UB({field:e,routeOptions:t,disabled:n=!1,onValueChange:r}){let o=String(e?.value||"").trim()||(e?.allowUnset?"__unset__":""),a=(0,Du.useMemo)(()=>{let i=e?.usesRouteOptions===!1?[]:t,l=Array.isArray(e?.options)?e.options:[],s=Array.isArray(e?.extraOptions)?e.extraOptions:[];return e?.allowUnset?[{value:"__unset__",label:"Inherit tool default",hint:""},...s,...l,...i]:[...s,...l,...i]},[e?.allowUnset,e?.extraOptions,e?.options,e?.usesRouteOptions,t]);return(0,S.jsxs)(Xt,{value:o,onValueChange:r,disabled:n||a.length===0,children:[(0,S.jsx)(Jt,{children:(0,S.jsx)(Zt,{placeholder:e.placeholder||"Select a route"})}),(0,S.jsx)(en,{children:a.length>0?BB(a,{keyPrefix:e.id||"binding-option"}):(0,S.jsx)(Ct,{value:"__no-route-options",disabled:!0,children:"No routes available"})})]})}function qm({toolName:e,toolState:t,endpointUrl:n,routeOptions:r,connectionBusy:o,bindingBusy:a,onToggleRouting:i,onBindingChange:l,hasMasterKey:s,disabledReason:c,onOpenPrimaryPath:d,onOpenSecondaryPath:u,secondaryPathLabel:f="Backup file",secondaryPathIcon:p=(0,S.jsx)(IB,{className:"h-3 w-3"}),bindingFields:b=[],guideContent:m=null}){let v=t?.routedViaRouter===!0,h=String(t?.error||"").trim(),g=!!(s&&n&&!c&&!h),y=(0,Du.useMemo)(()=>{let A=new Set(["__unset__"]);for(let N of b){for(let E of Array.isArray(N?.extraOptions)?N.extraOptions:[]){let C=String(E?.value||"").trim();C&&A.add(C)}for(let E of Array.isArray(N?.options)?N.options:[]){let C=String(E?.value||"").trim();C&&A.add(C)}}return b.filter(N=>N?.usesRouteOptions!==!1).map(N=>String(N?.value||"").trim()).filter(N=>N&&!A.has(N))},[b]),x=_B(r,y);return(0,S.jsxs)(Lt,{children:[(0,S.jsxs)(Jr,{className:"flex flex-col gap-3 p-4 pb-0 sm:flex-row sm:items-start sm:justify-between",children:[(0,S.jsxs)("div",{className:"space-y-2",children:[(0,S.jsx)(Bo,{className:"flex items-center gap-2",children:(0,S.jsx)("span",{children:`Use ${e} via LLM Router`})}),(0,S.jsx)(Um,{primaryLabel:"Config file",primaryValue:t?.configFilePath||t?.settingsFilePath||"",onOpenPrimary:d,secondaryLabel:f,secondaryValue:t?.backupFilePath||"",secondaryIcon:p,onOpenSecondary:u})]}),(0,S.jsxs)("div",{className:"flex shrink-0 flex-wrap items-center gap-2",children:[m?(0,S.jsx)(PB,{guideContent:m}):null,(0,S.jsx)(H,{type:"button",size:"sm",variant:v?"outline":void 0,onClick:i,disabled:o!==""||!v&&!g,children:o==="enable"?"Connecting\u2026":o==="disable"?"Disconnecting\u2026":v?"Disconnect":"Connect"})]})]}),(0,S.jsxs)(Dt,{className:"space-y-4 p-4",children:[h?(0,S.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-900",children:h}):null,!v&&!s?(0,S.jsxs)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-800",children:["Set ",(0,S.jsx)("code",{children:"masterKey"})," first to connect ",e,"."]}):null,c?(0,S.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-800",children:c}):null,(0,S.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/60 p-4",children:[(0,S.jsx)("div",{children:(0,S.jsxs)("div",{children:[(0,S.jsx)("div",{className:"text-sm font-medium text-foreground",children:"Model bindings"}),(0,S.jsx)("div",{className:"mt-1 text-xs text-muted-foreground",children:"Prefer LLM Router aliases here so you can retarget models later from the Alias & Fallback tab."})]})}),b.length===0?(0,S.jsx)("div",{className:"mt-4 rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-800",children:"No tool bindings are available yet."}):(0,S.jsx)("div",{className:"mt-4 grid gap-3",children:b.map(A=>(0,S.jsxs)("div",{className:"rounded-xl border border-border/70 bg-background/80 p-3",children:[(0,S.jsxs)("div",{className:"mb-2 flex flex-wrap items-center justify-between gap-2",children:[(0,S.jsx)("div",{className:"text-sm font-medium text-foreground",children:A.label}),(0,S.jsx)(_e,{variant:"outline",children:A.envKey})]}),(0,S.jsx)("div",{className:"mb-3 text-xs leading-5 text-muted-foreground",children:A.description}),(0,S.jsx)(UB,{field:A,routeOptions:x,disabled:A.standaloneWhenDisconnected?a:!v||a,onValueChange:N=>l(A.id,N==="__unset__"?"":N)})]},A.id))})]})]})]})}var Ot=B(te(),1);function aT({logs:e,activityLogEnabled:t=!0,activityFilter:n="usage",busyAction:r="",onActivityFilterChange:o,onToggleEnabled:a,onClear:i}){let l=Array.isArray(e)?e:[],s=l.filter(d=>n==="all"?!0:py(d)===n),c=ou[n]||ou.usage;return(0,Ot.jsxs)(Lt,{children:[(0,Ot.jsx)(Jr,{children:(0,Ot.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between",children:[(0,Ot.jsxs)("div",{className:"space-y-1",children:[(0,Ot.jsx)(Bo,{children:"Activity"}),(0,Ot.jsx)(pi,{children:t?"Router actions, request fallbacks, and runtime issues stream here.":"Activity logging is paused. Re-enable it to capture router actions, request fallbacks, and runtime issues."})]}),(0,Ot.jsxs)("div",{className:"flex shrink-0 flex-wrap items-center gap-2",children:[(0,Ot.jsx)("div",{className:"min-w-[13rem]",children:(0,Ot.jsxs)(Xt,{value:n,onValueChange:o,searchEnabled:!1,children:[(0,Ot.jsx)(Jt,{children:(0,Ot.jsx)(Zt,{placeholder:"Filter category"})}),(0,Ot.jsx)(en,{children:iC.map(d=>(0,Ot.jsx)(Ct,{value:d.value,children:d.label},d.value))})]})}),(0,Ot.jsx)(H,{type:"button",size:"sm",variant:"outline",onClick:i,disabled:r!==""||!e?.length,children:r==="clear"?"Clearing\u2026":"Clear log"}),(0,Ot.jsx)(H,{type:"button",size:"sm",variant:t?"outline":"default",onClick:a,disabled:r!=="",children:r==="toggle"?"Updating\u2026":t?"Disable log":"Enable log"})]})]})}),(0,Ot.jsx)(Dt,{children:(0,Ot.jsx)("div",{className:"max-h-[32rem] space-y-3 overflow-auto pr-1",children:s.length?s.map(d=>{let u=py(d),f=ou[u]||ou.usage;return(0,Ot.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/80 px-4 py-3",children:[(0,Ot.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,Ot.jsxs)("div",{className:"flex items-center gap-2",children:[(0,Ot.jsx)("span",{className:Q("inline-flex h-2.5 w-2.5 rounded-full ring-4",sy[d.level]||sy.info)}),(0,Ot.jsx)(_e,{variant:f.badgeVariant,children:f.label}),(0,Ot.jsx)("span",{className:"text-sm font-medium text-foreground",children:d.message})]}),(0,Ot.jsx)("span",{className:"text-xs text-muted-foreground",children:ks(d.time)})]}),d.detail?(0,Ot.jsx)("div",{className:"mt-2 text-sm leading-6 text-muted-foreground",children:d.detail}):null]},d.id)}):l.length?(0,Ot.jsxs)("div",{className:"rounded-2xl border border-dashed border-border px-4 py-6 text-sm text-muted-foreground",children:["No ",c.emptyLabel," activity matches the current filter. Switch the dropdown to inspect the hidden categories."]}):(0,Ot.jsx)("div",{className:"rounded-2xl border border-dashed border-border px-4 py-6 text-sm text-muted-foreground",children:"Activity is quiet. Save config changes or start the router to populate this stream."})})})]})}var Bt=B(xe(),1);var Tb=B(xe(),1);var bn=B(te(),1);function iT({rows:e,onChange:t}){let n=Qf(e),r=n.length>0?n:[{name:"",value:""}];function o(l,s,c){s==="name"&&OC(r,c,l)||t(r.map((d,u)=>u===l?{...d,[s]:c}:d))}function a(){t([...r,{name:"",value:""}])}function i(l){let s=r.filter((c,d)=>d!==l);t(s.length>0?s:[{name:"",value:""}])}return(0,bn.jsxs)("div",{className:"space-y-2",children:[r.map((l,s)=>(0,bn.jsxs)("div",{className:"grid gap-2 md:grid-cols-[minmax(0,0.9fr)_minmax(0,1.3fr)_auto]",children:[(0,bn.jsx)(it,{value:l.name,onChange:c=>o(s,"name",c.target.value),placeholder:s===0?"User-Agent":"Header name"}),(0,bn.jsx)(it,{value:l.value,onChange:c=>o(s,"value",c.target.value),placeholder:s===0?no:"Header value"}),(0,bn.jsx)(H,{type:"button",variant:"ghost",onClick:()=>i(s),children:"Remove"})]},`header-row-${s}`)),(0,bn.jsxs)("div",{className:"flex items-center justify-between gap-3 text-xs text-muted-foreground",children:[(0,bn.jsx)("span",{children:"User-Agent is included by default. Add more only when a provider needs them."}),(0,bn.jsx)(H,{type:"button",variant:"outline",onClick:a,children:"Add custom header"})]})]})}function lT({providerId:e,values:t,onChange:n}){let r=(t||[]).map(u=>String(u||"").trim()).filter(Boolean),o=$s(r),a=(0,Tb.useRef)(""),i=(0,Tb.useRef)(null);function l(u){n((t||[]).filter(f=>f!==u))}function s(u,f){if(!u||!f||u===f)return;let p=[...t||[]],b=p.indexOf(u),m=p.indexOf(f);if(b===-1||m===-1)return;let[v]=p.splice(b,1);p.splice(m,0,v),n(p)}function c(u){n(Ts(t||[],u,f=>String(f||"").trim()))}function d(){a.current="",Ea(i.current,!1),i.current=null}return(0,bn.jsxs)("div",{className:"space-y-2",children:[(0,bn.jsx)("div",{className:"space-y-2 rounded-xl border border-input bg-background/80 px-3 py-3",children:r.length>0?r.map((u,f)=>(0,bn.jsxs)("div",{ref:o(u),"data-reorder-row":"true",onDragOver:p=>{a.current&&a.current!==u&&(p.preventDefault(),p.dataTransfer.dropEffect="move")},onDrop:p=>{p.preventDefault();let b=p.dataTransfer.getData("text/plain")||a.current;d(),s(b,u)},className:Q("grid grid-cols-[auto_auto_minmax(0,1fr)_auto] items-center gap-2 rounded-xl border border-border/70 bg-card/90 p-3"),children:[(0,bn.jsx)("span",{className:"flex h-8 w-8 cursor-grab items-center justify-center rounded-full text-muted-foreground",draggable:!0,onDragStart:p=>{let b=Ms(p.currentTarget);p.dataTransfer.effectAllowed="move",p.dataTransfer.setData("text/plain",u),b&&typeof p.dataTransfer?.setDragImage=="function"&&p.dataTransfer.setDragImage(b,20,20),d(),a.current=u,i.current=b,Ea(b,!0)},onDragEnd:d,title:"Drag to reorder",children:(0,bn.jsx)(Ns,{className:"h-4 w-4"})}),(0,bn.jsx)(Oa,{disabled:f===0,label:f===0?"Already first":`Move ${e}/${u} up`,onClick:()=>c(u)}),(0,bn.jsxs)("span",{className:"truncate text-sm font-medium text-foreground",children:[e,"/",u]}),(0,bn.jsx)("button",{className:"text-muted-foreground transition hover:text-foreground",type:"button",onMouseDown:p=>p.preventDefault(),onClick:()=>l(u),children:"\xD7"})]},u)):(0,bn.jsxs)("span",{className:"block px-1 text-xs text-muted-foreground",children:["Leave it empty for now, or add models to back the fixed ",(0,bn.jsx)("code",{children:"default"})," route. An empty default route returns 500 until you add a working model."]})}),(0,bn.jsx)("div",{className:"text-xs text-muted-foreground",children:"Drag rows to change the preferred order, use the arrow to move a model earlier, or remove any models you do not want in this route."})]})}var P=B(te(),1);function Mb({baseConfig:e,onApplyDraft:t,onValidateDraft:n,onSaveDraft:r,onSaveAndStart:o,seedMode:a="blank",mode:i="add",targetProviderId:l="",defaultProviderUserAgent:s=no,framed:c=!0,showHeader:d=!0}){let[u,f]=(0,Bt.useState)(0),[p,b]=(0,Bt.useState)(""),[m,v]=(0,Bt.useState)(()=>KC(e,{seedMode:a,targetProviderId:l,defaultProviderUserAgent:s})),[h,g]=(0,Bt.useState)(null),[y,x]=(0,Bt.useState)(""),[A,N]=(0,Bt.useState)({}),[E,C]=(0,Bt.useState)(!1),[O,L]=(0,Bt.useState)(null),[V,z]=(0,Bt.useState)(""),[G,Z]=(0,Bt.useState)(!1),[ue,q]=(0,Bt.useState)(""),oe=(0,Bt.useRef)(!0),ee=(0,Bt.useRef)(""),W=(0,Bt.useRef)(Math.random().toString(36).slice(2,10)),j=i==="edit",Ie=!j&&a==="blank"&&em(e),ne=`llr-qs-endpoint-${W.current}`,Ve=`llr-qs-endpoint-input-${W.current}`,ae=`llr-qs-credential-${W.current}`,Se=`llr-qs-credential-input-${W.current}`,ze=[{title:"Provider",detail:"Choose API Key or OAuth first, then enter the provider details needed for that connection type."},{title:"Models",detail:"Add model ids, then configure one or more rate limits for all models or selected models. API Key providers are tested before continue."},{title:"Default",detail:"Order the models behind the fixed `default` route before you finish."}],U=rr(m.modelIds,m.modelDraft),fe=Zf(m.aliasModelIds,U),ve=m.connectionType==="api"?rr(m.endpoints,m.endpointDraft):[],ke=(0,Bt.useMemo)(()=>({...m,endpoints:ve,modelIds:U,aliasModelIds:fe,rateLimitRows:br(m.rateLimitRows)}),[m,ve,U,fe]),we=(0,Bt.useMemo)(()=>Xf(m.headerRows||[]),[m.headerRows]),Ee=String(m.apiKeyEnv||"").trim(),qe=(0,Bt.useMemo)(()=>vy(ke),[ke]),We=O?.signature===qe?O.result:null,nn=We?.models?.length>0?We.models:wy(m.selectedConnection||"custom"),Dn=Dr(m.providerId||m.providerName||"my-provider")||"my-provider",cn=Ay(m),xt=JSON.stringify({connectionType:m.connectionType,selectedConnection:m.selectedConnection,subscriptionProfile:cn}),ht=U.filter(X=>A[X]==="error"),yt=U.filter(X=>A[X]==="success"),Ue=U.some(X=>A[X]==="success"||A[X]==="error"),It=U.length>0&&U.every(X=>A[X]==="success"),Wt=yt.length>0,pn=ht.length>0,wr=U.some(X=>!A[X]||A[X]==="default"),Te=h?.signature===qe?h.result:null,et=m.connectionType!=="api"||Wt,ft=(0,Bt.useMemo)(()=>GC(e,ke,Te,{targetProviderId:l}),[e,ke,Te,l]),lo=(0,Bt.useMemo)(()=>`${JSON.stringify(ft,null,2)}
52
+ `,[ft]),St=Mt,Re=ze[u],gn=qC(u,ke,e,{targetProviderId:l});(0,Bt.useEffect)(()=>{TC()},[]),(0,Bt.useEffect)(()=>{let X=ee.current!==""&&ee.current!==qe;if(ee.current=qe,X&&m.connectionType==="api"&&(N({}),g(null),x(""),oe.current=!0,C(!1)),m.connectionType!=="api"){h!==null&&g(null),y&&x(""),Object.keys(A).length>0&&N({}),O!==null&&L(null),V&&z("");return}O?.signature&&O.signature!==qe&&(L(null),z(""))},[m.connectionType,qe,h,y,A,O,V]);function k(X,$e){v(Ke=>({...Ke,[X]:$e}))}function me(X){v($e=>{let Ke=Dr($e.providerName||""),lt=Dr(X||"")||"my-provider",vn=!$e.providerId||$e.providerId===Ke;return{...$e,providerName:X,providerId:vn?lt:$e.providerId}})}function re(X){x(""),g(null),N({}),L(null),z(""),oe.current=!0,C(!1),T(X,X==="api"?"custom":"oauth-gpt")}function Pe(X){x(""),g(null),N({}),L(null),z(""),oe.current=!0,C(!1);let $e=Lr(X);T($e.category,X)}function T(X,$e){v(Ke=>$C(Ke,{baseConfig:e,nextCategory:X,nextPresetKey:$e,defaultProviderUserAgent:s}))}async function M({force:X=!1,silent:$e=!1}={}){if(m.connectionType!=="api")return!1;if(ve.length===0||!Ee)return $e||z("Add endpoints and an API key or env before checking the model list API."),!1;if(!X&&O?.signature===qe)return!!(O?.result?.models||[]).length;Z(!0),$e||z("");try{let Ke=await Ze("/api/config/discover-provider-models",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({endpoints:ve,...vo(Ee)?{apiKeyEnv:Ee}:{apiKey:Ee},...Object.keys(we).length>0?{headers:we}:{}})}),lt=(Ke.result?.models||[]).map(un=>String(un||"").trim()).filter(Boolean),vn={};if(lt.length>0){let un=m.selectedConnection;if(un&&uu.set(un,lt),Sy(ve)){let Wn=await v1(ve[0]||"",Ee,lt.filter(Yn=>!Yn.includes("embed")&&!Yn.includes("tts")&&!Yn.includes("image")&&!Yn.includes("lyria")&&!Yn.includes("veo")));Wn&&(lt=Wn)}try{let Wn=await xu(lt);vn=b1(Wn)}catch{vn={}}}let zr={...Ke.result&&typeof Ke.result=="object"?Ke.result:{},modelContextWindows:vn};if(L({signature:qe,result:zr}),lt.length>0)return v(un=>{if(vy(un)!==qe||un.connectionType!=="api")return un;let dn=Array.isArray(un.modelIds)?un.modelIds:[],Wn=X&&dn.length>0?Array.from(new Set([...dn,...lt])):dn.length>0?dn:lt,Yn={...un.modelContextWindows&&typeof un.modelContextWindows=="object"?un.modelContextWindows:{},...vn},qs=Sy(un.endpoints),Li=qs?FC(qs,Wn):null;return JSON.stringify(Wn)===JSON.stringify(dn)&&JSON.stringify(Yn)===JSON.stringify(un.modelContextWindows||{})&&!Li?un:{...un,modelIds:Wn,modelContextWindows:Yn,...Li?{rateLimitRows:Li}:{}}}),z(""),!0;let so=(Ke.result?.warnings||[]).join(" ")||"Model list API did not return any models. Add model ids manually if needed.";return z(so),!1}catch(Ke){let lt=Ke instanceof Error?Ke.message:String(Ke);return z(lt),!1}finally{Z(!1)}}async function F({onlyModels:X=null}={}){if(m.connectionType!=="api")return!0;let $e=X||U;b("test"),x(""),N(Ke=>{let lt={...Ke};for(let vn of $e)lt[vn]="pending";return lt});try{let Ke=await vu("/api/config/test-provider-stream",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({endpoints:ve,models:$e,...vo(Ee)?{apiKeyEnv:Ee}:{apiKey:Ee},...Object.keys(we).length>0?{headers:we}:{}})},{onMessage:dn=>{if(dn?.type!=="progress")return;let Wn=dn.event||{};Wn.phase==="model-done"&&N(Yn=>({...Yn,[Wn.model]:Wn.confirmed?"success":"error"}))}}),lt=new Set(Ke?.models||[]),vn=h?.signature===qe?h.result:null,zr=new Set(vn?.models||[]);for(let dn of $e)lt.has(dn)?zr.add(dn):zr.delete(dn);let so={...vn||{},...Ke,models:Array.from(zr),workingFormats:Array.from(new Set([...vn?.workingFormats||[],...Ke?.workingFormats||[]])),ok:U.every(dn=>zr.has(dn))};g({signature:qe,result:so}),N(dn=>{let Wn={...dn};for(let Yn of $e)Wn[Yn]=lt.has(Yn)?"success":"error";return Wn});let un=$e.filter(dn=>!lt.has(dn));return un.length>0?(x((Ke?.warnings||[]).join(" ")||`${un.length} model(s) failed the provider test.`),!1):!0}catch(Ke){return N(lt=>{let vn={...lt};for(let zr of $e)(!vn[zr]||vn[zr]==="pending")&&(vn[zr]="error");return vn}),x(Ke instanceof Error?Ke.message:String(Ke)),!1}finally{b("")}}(0,Bt.useEffect)(()=>{u!==1||m.connectionType!=="api"||U.length>0||!Ee||ve.length===0||G||O?.signature===qe||M({silent:!0})},[u,m.connectionType,U.length,Ee,ve.length,G,O,qe]);async function ce({force:X=!1}={}){if(m.connectionType==="api"||!X&&ue===xt)return!0;let $e=Lr(m.selectedConnection||"oauth-gpt");b("oauth-login"),x("");try{return await Ze("/api/subscription/login",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({profileId:cn,providerId:Dn,subscriptionType:$e.subscriptionType||"chatgpt-codex"})}),q(xt),!0}catch(Ke){return x(Ke instanceof Error?Ke.message:String(Ke)),!1}finally{b("")}}async function Je(){u===0&&m.connectionType==="subscription"&&!await ce()||(u===1&&C(!0),f(X=>Math.min(X+1,ze.length-1)))}async function Vt(){let X=U.filter(lt=>A[lt]!=="success"),$e=oe.current;oe.current=!1,await F({onlyModels:X.length<U.length?X:null})&&$e&&!E&&(C(!0),f(lt=>Math.min(lt+1,ze.length-1)))}async function Ne(){let X=U.filter($e=>A[$e]==="error");X.length!==0&&await F({onlyModels:X})}function Y(){let X=U.filter($e=>A[$e]==="error");v($e=>({...$e,modelIds:($e.modelIds||[]).filter(Ke=>!X.includes(Ke))})),N($e=>{let Ke={...$e};for(let lt of X)delete Ke[lt];return Ke}),x(""),C(!0),f($e=>Math.min($e+1,ze.length-1))}async function ge(X){if((X==="save"||X==="save-start")&&m.connectionType==="api"&&!et){x("Finish is available after the provider test succeeds.");return}b(X);try{if(X==="apply"){await t(lo);return}if(X==="validate"){await n(lo);return}if(X==="save"){await r(lo);return}X==="save-start"&&await o(lo)}finally{b("")}}let Un=y||gn||(u===0&&m.connectionType==="subscription"&&ue!==xt?"Continue opens the browser sign-in flow for this provider.":u===1&&m.connectionType==="api"&&!Ue?"Test the provider against the entered endpoints and model ids using your API key or env.":u===1&&m.connectionType==="api"&&pn&&!It?`${yt.length} of ${U.length} model(s) confirmed. Fix or skip failed model(s) to continue.`:ze[u].detail),ki=m.selectedConnection==="oauth-claude"?"Examples: claude-opus-4-6 claude-sonnet-4-6 claude-haiku-4-5":m.selectedConnection==="oauth-gpt"?"Examples: gpt-5.3-codex gpt-5.2-codex gpt-5.1-codex-mini":(0,P.jsxs)(P.Fragment,{children:[(0,P.jsxs)("span",{children:["Examples: gpt-4o-mini gpt-4.1-mini",Object.keys(We?.modelContextWindows||{}).length>0?` \xB7 ${Object.keys(We?.modelContextWindows||{}).length} context size${Object.keys(We?.modelContextWindows||{}).length===1?"":"s"} ready`:""]}),(0,P.jsx)("span",{className:"ml-2 text-amber-700",children:"Auto-discovered model ids may be incomplete or inaccurate if the provider is misconfigured. Verify the list and add or remove model ids yourself."})]}),_i=j?"Edit provider":Ie?"Add provider":"Quick start wizard",Iu=j?"Update this provider in place. Change endpoints, model ids, rate limits, alias, or provider id, then save the refreshed config.":Ie?"Add another provider with endpoints, model ids, rate limits, and a stable alias. API Key providers are auto-tested before save.":"",Gs=(0,P.jsx)("div",{className:"flex items-center gap-1",children:ze.map((X,$e)=>{let Ke=$e===u,lt=$e<u;return(0,P.jsxs)(Bt.Fragment,{children:[$e>0?(0,P.jsx)("span",{className:"text-[10px] text-muted-foreground/40 select-none",children:"/"}):null,(0,P.jsxs)("button",{type:"button",disabled:!lt,onClick:()=>{lt&&f($e)},className:Q("inline-flex items-center gap-1.5 rounded-md px-2 py-1 text-xs font-medium transition-colors",Ke?"bg-primary text-primary-foreground":lt?"text-emerald-700 hover:bg-emerald-50":"text-muted-foreground/50"),children:[(0,P.jsx)("span",{className:Q("inline-flex h-4 w-4 shrink-0 items-center justify-center rounded-full text-[10px] font-bold leading-none",Ke?"bg-primary-foreground/20":lt?"bg-emerald-100 text-emerald-700":"bg-muted"),children:$e+1}),X.title]})]},X.title)})}),Da=(0,P.jsxs)("div",{className:"space-y-5",children:[u===0?(0,P.jsxs)("div",{className:"space-y-4",children:[(0,P.jsx)("div",{className:"grid gap-3 md:grid-cols-2",children:mC.map(X=>(0,P.jsxs)("button",{type:"button",className:Q("rounded-2xl border px-4 py-3 text-left transition",m.connectionType===X.value?"border-ring bg-background shadow-sm":"border-border/70 bg-background/70 hover:border-border"),onClick:()=>re(X.value),children:[(0,P.jsx)("div",{className:"text-sm font-medium text-foreground",children:X.label}),(0,P.jsx)("div",{className:"mt-1 text-xs leading-5 text-muted-foreground",children:X.description})]},X.value))}),(0,P.jsx)(He,{label:"Provider preset",children:(0,P.jsxs)(Xt,{value:m.selectedConnection||(m.connectionType==="api"?"custom":"oauth-gpt"),onValueChange:Pe,children:[(0,P.jsx)(Jt,{children:(0,P.jsx)(Zt,{})}),(0,P.jsx)(en,{children:EC(m.connectionType==="subscription"?"subscription":"api").map(X=>(0,P.jsxs)(Ct,{value:X.key,children:[X.label,(0,P.jsx)("span",{className:"ml-2 text-muted-foreground",children:X.description})]},X.key))})]})}),(0,P.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,P.jsx)(He,{label:"Provider name",children:(0,P.jsx)(it,{value:m.providerName,onChange:X=>me(X.target.value),placeholder:Lr(m.selectedConnection||"custom").providerName})}),(0,P.jsx)(He,{label:"Provider id",hint:"lowercase-hyphenated",children:(0,P.jsx)(it,{value:m.providerId,onChange:X=>k("providerId",X.target.value),onBlur:()=>k("providerId",Dr(m.providerId||m.providerName||"my-provider")||"my-provider"),placeholder:Lr(m.selectedConnection||"custom").providerId})})]}),m.connectionType==="api"?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(He,{label:"Endpoints",hint:"comma, space, or newline turns into chips",children:(0,P.jsx)(ku,{values:m.endpoints,onChange:X=>k("endpoints",X),draftValue:m.endpointDraft,onDraftValueChange:X=>k("endpointDraft",X),commitOnBlur:!0,isValueValid:Si,placeholder:"Example: https://api.openai.com/v1",helperText:"Paste one or more endpoints",inputProps:{id:Ve,name:ne,autoComplete:"off",autoCapitalize:"none",autoCorrect:"off",spellCheck:!1,inputMode:"url","data-form-type":"other"}})}),(0,P.jsx)(He,{label:"API key or env",children:(0,P.jsx)(Hs,{value:m.apiKeyEnv,onChange:X=>k("apiKeyEnv",X.target.value),placeholder:"Example: OPENAI_API_KEY or sk-...",isEnvVar:vo(m.apiKeyEnv),maskMode:"obscured-text",inputProps:{id:Se,name:ae,autoComplete:"new-password",autoCapitalize:"none",autoCorrect:"off",spellCheck:!1,"data-form-type":"other","data-lpignore":"true","data-1p-ignore":"true"}})}),(0,P.jsx)(He,{label:"Custom headers",hint:"User-Agent included by default",children:(0,P.jsx)(iT,{rows:m.headerRows,onChange:X=>k("headerRows",X)})})]}):(0,P.jsxs)("div",{className:"space-y-3",children:[(0,P.jsx)("div",{className:"rounded-2xl border border-border/70 bg-secondary/45 px-4 py-3 text-sm leading-6 text-muted-foreground",children:m.selectedConnection==="oauth-claude"?"Continue opens the Claude sign-in page in your browser and stores the login for this provider automatically.":"Continue opens the ChatGPT sign-in page in your browser and stores the login for this provider automatically."}),m.selectedConnection==="oauth-claude"?(0,P.jsxs)("div",{className:"rounded-2xl border border-amber-300/60 bg-amber-50/80 px-4 py-3 text-xs leading-5 text-amber-800 dark:border-amber-500/30 dark:bg-amber-950/40 dark:text-amber-300",children:[(0,P.jsx)("span",{className:"font-medium",children:"Heads up:"})," Claude Code OAuth routes through Anthropic's API with your subscription credentials. Usage will count against your Claude Max/Pro plan's extra usage quota, not the included subscription messages. Make sure you have extra usage enabled on your Claude plan to avoid request failures."]}):(0,P.jsxs)("div",{className:"rounded-2xl border border-amber-300/60 bg-amber-50/80 px-4 py-3 text-xs leading-5 text-amber-800 dark:border-amber-500/30 dark:bg-amber-950/40 dark:text-amber-300",children:[(0,P.jsx)("span",{className:"font-medium",children:"Heads up:"})," ChatGPT subscriptions (Plus / Pro / Team) are separate from the OpenAI API and are intended for use within OpenAI's own apps. Routing requests through your subscription here may violate OpenAI's terms of service and could result in account restrictions."]})]})]}):null,u===1?(0,P.jsxs)("div",{className:"space-y-4",children:[(0,P.jsx)(He,{label:"Models",hint:"comma, space, or newline turns into chips",children:(0,P.jsx)(ku,{values:m.modelIds,onChange:X=>k("modelIds",X),draftValue:m.modelDraft,onDraftValueChange:X=>k("modelDraft",X),commitOnBlur:!0,disabled:p==="test",valueStates:m.connectionType==="api"?A:{},placeholder:"Paste model ids",helperText:ki,suggestedValues:nn})}),m.connectionType==="api"&&G?(0,P.jsxs)("div",{className:"rounded-2xl border border-sky-200 bg-sky-50 px-4 py-3 text-sm text-sky-900",children:[(0,P.jsxs)("div",{className:"flex items-center gap-2 font-medium",children:[(0,P.jsx)(Br,{}),"Loading provider models"]}),(0,P.jsx)("div",{className:"mt-1 text-xs leading-5 text-sky-800/90",children:"LLM Router is checking the provider model list and matching context sizes for the discovered models."})]}):null,m.connectionType==="api"?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(He,{label:"Rate limit",stacked:!0,headerAction:(0,P.jsx)(H,{type:"button",size:"sm",variant:"outline",onClick:()=>k("rateLimitRows",jm(m.rateLimitRows)),disabled:p==="test",children:"Add rate limit"}),children:(0,P.jsx)(Vm,{rows:m.rateLimitRows,onChange:X=>k("rateLimitRows",X),availableModelIds:U,disabled:p==="test"})}),(0,P.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/80 px-4 py-3 text-sm leading-6 text-muted-foreground",children:["The first model becomes the primary direct route. Add caps for ",(0,P.jsx)("code",{children:"all"})," models or target individual model ids when you need a narrower quota bucket."]})]}):null,m.connectionType==="api"?(0,P.jsxs)("div",{className:Q("rounded-2xl border px-4 py-3 text-sm leading-6",It&&Ue?"border-emerald-200 bg-emerald-50 text-emerald-900":pn?"border-amber-200 bg-amber-50 text-amber-900":Wt?"border-emerald-200 bg-emerald-50 text-emerald-900":"border-border/70 bg-background/80 text-muted-foreground"),children:[(0,P.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em]",children:"Provider test"}),(0,P.jsx)("div",{className:"mt-2",children:It&&Ue?`Confirmed ${yt.length} model(s) across ${(Te?.workingFormats||[]).join(", ")||"detected formats"}.`:pn?`${yt.length} of ${U.length} model(s) confirmed. ${ht.length} failed: ${ht.join(", ")}.`:Wt?`Confirmed ${yt.length} of ${U.length} model(s) across ${(Te?.workingFormats||[]).join(", ")||"detected formats"}.`:"Test the provider before continuing so the wizard can auto-detect the working endpoint format(s)."})]}):null]}):null,u===2?(0,P.jsxs)("div",{className:"space-y-4",children:[(0,P.jsx)("div",{className:"grid gap-3 md:grid-cols-2",children:Ie||j?(0,P.jsx)(wE,{label:"Use this provider order for the default route",hint:"Updates the fixed `default` alias",checked:m.useAliasAsDefault,onCheckedChange:X=>k("useAliasAsDefault",X)}):(0,P.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/80 px-4 py-3 text-sm text-muted-foreground md:col-span-2",children:["The fixed ",(0,P.jsx)("code",{children:"default"})," route is created automatically. Arrange this provider's models in the order you want clients to try first."]})}),(0,P.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/80 px-4 py-3",children:[(0,P.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Model order"}),(0,P.jsx)("div",{className:"mt-3",children:(0,P.jsx)(lT,{providerId:Dn,values:fe,onChange:X=>k("aliasModelIds",X)})})]}),(0,P.jsxs)("div",{className:"grid gap-3 md:grid-cols-2 xl:grid-cols-4",children:[(0,P.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/80 px-4 py-3",children:[(0,P.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Provider"}),(0,P.jsx)("div",{className:"mt-2 text-sm font-medium text-foreground",children:Dn}),(0,P.jsx)("div",{className:"mt-1 text-xs text-muted-foreground",children:m.providerName})]}),(0,P.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/80 px-4 py-3",children:[(0,P.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Connection"}),(0,P.jsx)("div",{className:"mt-2 text-sm font-medium text-foreground",children:VC(m.selectedConnection||"custom")}),(0,P.jsx)("div",{className:"mt-1 text-xs text-muted-foreground break-all",children:m.connectionType==="api"?`${ve.length} endpoint candidate(s)`:"Browser sign-in flow"})]}),(0,P.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/80 px-4 py-3",children:[(0,P.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Models"}),(0,P.jsxs)("div",{className:"mt-2 text-sm font-medium text-foreground",children:[U.length," configured"]}),(0,P.jsx)("div",{className:"mt-1 text-xs text-muted-foreground break-all",children:U.join(", ")||"No models yet"})]}),(0,P.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/80 px-4 py-3",children:[(0,P.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Default route"}),(0,P.jsx)("div",{className:"mt-2 text-sm font-medium text-foreground break-all",children:St}),(0,P.jsx)("div",{className:"mt-1 text-xs text-muted-foreground",children:m.useAliasAsDefault?"Requests to `default` and `smart` use this ordered list.":"This provider keeps its direct routes only until you opt it into the fixed default route."})]})]}),m.connectionType==="api"?(0,P.jsxs)("div",{className:Q("rounded-2xl border px-4 py-3 text-sm leading-6",et?"border-emerald-200 bg-emerald-50 text-emerald-900":"border-amber-200 bg-amber-50 text-amber-900"),children:[(0,P.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em]",children:"Provider test"}),(0,P.jsx)("div",{className:"mt-2",children:et?`Using ${(Te?.workingFormats||[]).join(", ")||"detected formats"}. The saved provider keeps the tested endpoint selection and confirmed models.`:"Finish is available after the provider test succeeds."})]}):null]}):null,(0,P.jsxs)("div",{className:"flex flex-col gap-3 border-t border-border/70 pt-4 md:flex-row md:items-start md:justify-between md:gap-4",children:[(0,P.jsx)("div",{className:Q("min-w-0 flex-1 text-sm md:max-w-2xl",gn||y?"text-amber-700":"text-muted-foreground"),children:Un}),(0,P.jsxs)("div",{className:"flex shrink-0 flex-wrap items-center gap-2 md:justify-end",children:[u>0?(0,P.jsx)(H,{variant:"ghost",onClick:()=>f(X=>Math.max(X-1,0)),children:"Back"}):null,u<ze.length-1?u===1&&m.connectionType==="api"?E?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(H,{variant:"outline",onClick:()=>{Vt()},disabled:!!gn||p!=="",children:p==="test"?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(Br,{}),"Testing\u2026"]}):"Test"}),(0,P.jsx)(H,{onClick:()=>{Je()},disabled:!!gn||p!==""||!Wt,children:"Continue"})]}):!Ue||wr?(0,P.jsx)(H,{onClick:()=>{Vt()},disabled:!!gn||p!=="",children:p==="test"?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(Br,{}),"Testing provider\u2026"]}):"Test"}):It?(0,P.jsx)(H,{onClick:()=>{Je()},disabled:!!gn||p!=="",children:"Continue"}):pn?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(H,{variant:"outline",onClick:()=>{Ne()},disabled:!!gn||p!=="",children:p==="test"?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(Br,{}),"Re-testing\u2026"]}):"Test again"}),Wt?(0,P.jsx)(H,{onClick:()=>{Y()},disabled:p!=="",children:"Skip failed model(s) and continue"}):null]}):(0,P.jsx)(H,{onClick:()=>{Vt()},disabled:!!gn||p!=="",children:p==="test"?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(Br,{}),"Testing provider\u2026"]}):"Test"}):(0,P.jsx)(H,{onClick:()=>{Je()},disabled:!!gn||p!=="",children:p==="oauth-login"?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(Br,{}),"Signing in\u2026"]}):"Continue"}):(0,P.jsx)(H,{onClick:()=>{ge("save-start")},disabled:!!gn||p!==""||m.connectionType==="api"&&!et,children:p==="save-start"?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(Br,{}),"Finishing\u2026"]}):"Finish"})]})]})]});return c?(0,P.jsxs)(Lt,{className:"border-dashed",children:[(0,P.jsxs)(Jr,{children:[(0,P.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[d?(0,P.jsx)(Bo,{children:_i}):null,Gs]}),d?(0,P.jsx)(pi,{children:Iu}):null]}),(0,P.jsx)(Dt,{className:"space-y-5",children:Da})]}):(0,P.jsxs)("div",{children:[(0,P.jsx)("div",{className:"-mx-5 -mt-4 flex items-center gap-3 border-b border-border/70 bg-muted/30 px-5 py-2",children:Gs}),(0,P.jsxs)("div",{className:"space-y-5 pt-5",children:[d?(0,P.jsxs)("div",{children:[(0,P.jsx)("div",{className:"text-base font-semibold text-foreground",children:_i}),(0,P.jsx)("div",{className:"mt-1 text-sm leading-6 text-muted-foreground",children:Iu})]}):null,Da]})]})}var $=B(te(),1);async function Bu(e){let t=String(e||"");if(!t)return;if(typeof navigator<"u"&&navigator.clipboard?.writeText){await navigator.clipboard.writeText(t);return}if(typeof document>"u")throw new Error("Clipboard is not available in this environment.");let n=document.createElement("textarea");n.value=t,n.setAttribute("readonly",""),n.style.position="absolute",n.style.left="-9999px",document.body.appendChild(n),n.select(),document.execCommand("copy"),document.body.removeChild(n)}function jB(e="127.0.0.1"){let t=String(e||"127.0.0.1").trim()||"127.0.0.1";return t.includes(":")&&!t.startsWith("[")?`[${t}]`:t}function VB(e={}){let t=jB(e?.host||"127.0.0.1"),n=Number.isInteger(Number(e?.port))?Number(e.port):8376;return`http://${t}:${n}`}function sT({currentConfigPath:e="",productionConfigPath:t="",routerPort:n=8376,canSyncProductionConfig:r=!1,syncBusy:o=!1,onSyncProductionConfig:a}){return(0,$.jsx)("div",{className:"overflow-hidden rounded-[1.75rem] border border-amber-300/80 bg-[linear-gradient(135deg,rgba(255,247,237,0.98),rgba(255,251,235,0.97),rgba(254,243,199,0.82))] shadow-[0_20px_60px_rgba(180,83,9,0.12)]",children:(0,$.jsxs)("div",{className:"flex flex-col gap-4 px-4 py-4 sm:px-5 lg:flex-row lg:items-center lg:justify-between",children:[(0,$.jsxs)("div",{className:"min-w-0 space-y-3",children:[(0,$.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,$.jsx)(_e,{variant:"warning",className:"border-amber-300 bg-amber-100 text-amber-950",children:"Dev Mode"}),(0,$.jsx)("span",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] text-amber-900/80",children:"Isolated router sandbox"})]}),(0,$.jsxs)("div",{className:"space-y-1",children:[(0,$.jsxs)("div",{className:"text-base font-semibold text-amber-950 sm:text-lg",children:["Dev console runs on router port ",n," and leaves the production startup service alone."]}),(0,$.jsx)("div",{className:"max-w-3xl text-sm leading-6 text-amber-950/75",children:"Use the sync action to clone the current production config into this dev workspace without changing the dev router binding."})]}),(0,$.jsxs)("div",{className:"flex flex-wrap gap-2 text-xs",children:[(0,$.jsxs)("span",{className:"rounded-full border border-amber-300/70 bg-white/75 px-3 py-1.5 font-medium text-amber-950/80",children:["Dev config: ",(0,$.jsx)("span",{className:"font-semibold",children:e||"Not resolved"})]}),(0,$.jsxs)("span",{className:"rounded-full border border-amber-300/60 bg-amber-50/70 px-3 py-1.5 font-medium text-amber-950/75",children:["Production source: ",(0,$.jsx)("span",{className:"font-semibold",children:t||"Not resolved"})]})]})]}),r?(0,$.jsx)("div",{className:"flex shrink-0 items-center",children:(0,$.jsxs)(H,{size:"sm",variant:"outline",className:"border-amber-300 bg-white/85 text-amber-950 hover:bg-amber-100 hover:text-amber-950",onClick:a,disabled:o,"aria-label":o?"Syncing production config":"Sync production config into this dev workspace",title:o?"Syncing production config":"Sync production config into this dev workspace",children:[(0,$.jsx)(Vf,{className:"h-3.5 w-3.5"}),(0,$.jsx)("span",{children:o?"Syncing production config\u2026":"Sync production config"})]})}):null]})})}function cT(){let[e,t]=(0,ye.useState)(null),[n,r]=(0,ye.useState)(""),[o,a]=(0,ye.useState)(""),[i,l]=(0,ye.useState)(null),[s,c]=(0,ye.useState)([]),[d,u]=(0,ye.useState)(!0),[f,p]=(0,ye.useState)(!1),[b,m]=(0,ye.useState)(!1),[v,h]=(0,ye.useState)(!1),[g,y]=(0,ye.useState)(""),[x,A]=(0,ye.useState)(""),[N,E]=(0,ye.useState)(!1),[C,O]=(0,ye.useState)("model-alias"),[L,V]=(0,ye.useState)(!1),[z,G]=(0,ye.useState)(!1),[Z,ue]=(0,ye.useState)(0),[q,oe]=(0,ye.useState)(""),[ee,W]=(0,ye.useState)(""),[j,Ie]=(0,ye.useState)(""),[ne,Ve]=(0,ye.useState)(""),[ae,Se]=(0,ye.useState)(!1),[ze,U]=(0,ye.useState)(!1),[fe,ve]=(0,ye.useState)(!1),[ke,we]=(0,ye.useState)(""),[Ee,qe]=(0,ye.useState)("usage"),[We,nn]=(0,ye.useState)(null),[Dn,cn]=(0,ye.useState)({status:"idle",message:"",savedAt:""}),xt=(0,ye.useRef)(""),ht=(0,ye.useRef)(""),yt=(0,ye.useRef)(null),Ue=(0,ye.useRef)(null),It=(0,ye.useRef)(null),Wt=(0,ye.useRef)(0),pn=(0,ye.useRef)(""),wr=(0,ye.useRef)(0);(0,ye.useEffect)(()=>{xt.current=n},[n]),(0,ye.useEffect)(()=>{ht.current=o},[o]),(0,ye.useEffect)(()=>()=>{It.current&&(clearTimeout(It.current),It.current=null)},[]);let Te=n!==o,et=e?.config?.document,ft=i?.summary||e?.config||{},lo=i?.validationMessages||e?.config?.validationMessages||[],St=(0,ye.useMemo)(()=>yy(e?.config?.rawText||"{}",e?.config?.document||{}),[e?.config?.rawText,e?.config?.document]),Re=(0,ye.useMemo)(()=>DC(n,St),[n,St]),gn=(0,ye.useMemo)(()=>yy(n,St),[n,St]),k=Re.parseError?St:Re.value,me=(0,ye.useMemo)(()=>Array.isArray(k?.providers)?k.providers:[],[k]),re=(0,ye.useMemo)(()=>k?.modelAliases&&typeof k.modelAliases=="object"&&!Array.isArray(k.modelAliases)?k.modelAliases:{},[k]),Pe=(0,ye.useMemo)(()=>xb(k),[k]),T=Re.parseError?`Fix the raw JSON parse error first: ${Re.parseError}`:"",M=k,F=e?.config?.localServer||e?.startup?.defaults||null,ce=(0,ye.useMemo)(()=>VB(F||{}),[F?.host,F?.port]),Je=e?.ampClient?.global||{},Vt=e?.webSearch||e?.ampWebSearch||null,Ne=e?.codingTools?.codexCli||{},Y=e?.codingTools?.claudeCode||{},ge=e?.codingTools?.factoryDroid||{},Un=Je?.routedViaRouter===!0,ki=Ne?.routedViaRouter===!0,_i=Y?.routedViaRouter===!0,Iu=ge?.routedViaRouter===!0,Gs=e?.ollama||null,Da=Gs?.connected===!0,[X,$e]=(0,ye.useState)([]),Ke=k?.metadata?.localModels||{},lt=(0,ye.useMemo)(()=>({runtime:{...Ke?.runtime||{},ollama:{...Ke?.runtime?.ollama||{},status:Da?"running":"stopped"}},library:Ke?.library||{},variants:Ke?.variants||{}}),[Ke,Da]),vn=(0,ye.useMemo)(()=>GE(lt),[lt]),[zr,so]=(0,ye.useState)({}),[un,dn]=(0,ye.useState)(!1),Yn=(e?.activityLog||{enabled:!0})?.enabled!==!1,qs=(0,ye.useMemo)(()=>xb(M),[M]),Li=(0,ye.useMemo)(()=>Cy(M),[M]),Rl=(0,ye.useMemo)(()=>Ai(or(M)),[M]),Wm=(0,ye.useMemo)(()=>o1(M,Vt),[M,Vt]),mT=(0,ye.useMemo)(()=>a1(Wm,Y?.webSearchProvider||""),[Wm,Y?.webSearchProvider]),pT=(0,ye.useMemo)(()=>{let w=new Set((Array.isArray(Rl?.providers)?Rl.providers:[]).map(R=>Cn(R?.id)).filter(Boolean));return r1(M,w)},[M,Rl]),Xo=Re.parseError?`Fix the raw JSON parse error first: ${Re.parseError}`:qs.length===0?"Add at least one alias or provider/model route before configuring AMP.":"",co=Re.parseError?`Fix the raw JSON parse error first: ${Re.parseError}`:"",Jo=Re.parseError?`Fix the raw JSON parse error first: ${Re.parseError}`:Pe.length===0?"Add at least one alias or provider/model route before configuring coding-tool bindings.":"",gT=(0,ye.useMemo)(()=>Ti(Pe,Bf(Ne?.bindings?.defaultModel)?[]:[Ne?.bindings?.defaultModel]),[Pe,Ne?.bindings?.defaultModel]),hT=(0,ye.useMemo)(()=>Ti(Pe,[Y?.bindings?.primaryModel,Y?.bindings?.defaultOpusModel,Y?.bindings?.defaultSonnetModel,Y?.bindings?.defaultHaikuModel,Y?.bindings?.subagentModel]),[Pe,Y?.bindings?.primaryModel,Y?.bindings?.defaultOpusModel,Y?.bindings?.defaultSonnetModel,Y?.bindings?.defaultHaikuModel,Y?.bindings?.subagentModel]),yT=(0,ye.useMemo)(()=>Ti(Pe,[ge?.bindings?.defaultModel,ge?.bindings?.missionOrchestratorModel,ge?.bindings?.missionWorkerModel,ge?.bindings?.missionValidatorModel]),[Pe,ge?.bindings?.defaultModel,ge?.bindings?.missionOrchestratorModel,ge?.bindings?.missionWorkerModel,ge?.bindings?.missionValidatorModel]),Ym=String(M?.amp?.defaultRoute||M?.defaultModel||gu(M)||"").trim(),Qn=String(M?.masterKey||e?.config?.document?.masterKey||"").trim(),bT=(0,ye.useMemo)(()=>QC(Qn),[Qn]),Qm=me.length>0,vT=Qm&&z,Nl=e?.router?.running===!0,kb=e?.startup?.installed===!0,Xm=e?.environment?.devMode===!0,_b=String(e?.config?.path||e?.environment?.configPath||"").trim(),Lb=String(e?.environment?.productionConfigPath||"").trim(),Jm=e?.environment?.canSyncProductionConfig===!0,zu=Number.isInteger(Number(e?.config?.localServer?.port))?Number(e.config.localServer.port):Number.isInteger(Number(e?.router?.port))?Number(e.router.port):8376,Zm=g==="start"?"Starting\u2026":g==="stop"?"Stopping\u2026":Nl?"Stop server":"Start server",ep=x==="enable"?"Enabling OS startup\u2026":x==="disable"?"Disabling OS startup\u2026":kb?"Disable OS startup":"Enable OS startup",Db=e?.router?.portBusy?e?.router?.portBusyReason||`Port ${zu} is occupied${e?.router?.listenerPids?.length>0?` by PID${e.router.listenerPids.length===1?"":"s"} ${e.router.listenerPids.join(", ")}`:""}.`:String(e?.router?.lastError||"").trim(),xT=!em(k),Bb=me.filter(w=>w?.type!=="ollama"),Ib=Bb.length>0?"existing":"blank",zb=Bb[0]?.id||"",Pb=e?.defaults?.providerUserAgent||no;(0,ye.useEffect)(()=>{if(d||f||Re.parseError)return;if(Qn){pn.current="";return}let w=String(e?.config?.rawText||o||"__empty__");pn.current!==w&&(pn.current=w,RT({showSuccessNotice:!1}))},[o,Qn,d,Re.parseError,f,e?.config?.rawText]),(0,ye.useEffect)(()=>{if(It.current&&(clearTimeout(It.current),It.current=null),!We)return;let w=We.immediate===!0?0:450;return It.current=setTimeout(()=>{It.current=null;let R=We.sequence;cn(I=>({...I,status:"saving",message:""})),(async()=>{try{let I=await Ze("/api/amp/apply",{method:"POST",headers:Xe,body:JSON.stringify({rawText:We.rawText,source:"autosave"})});if(R!==Wt.current)return;Ro(I,{preserveDraft:xt.current!==We.rawText}),cn({status:"saved",message:"",savedAt:new Date().toISOString()})}catch(I){if(R!==Wt.current)return;let pe=I instanceof Error?I.message:String(I);cn({status:"error",message:pe,savedAt:""}),D("error",pe)}})()},w),()=>{It.current&&(clearTimeout(It.current),It.current=null)}},[We]);function ST(){G(!0),ue(w=>w+1)}function wT(){ST()}function tp(){G(!1)}(0,ye.useEffect)(()=>{!Qm&&z&&G(!1)},[Qm,z]);function D(w,R){wr.current+=1,c(I=>[...I,{id:`notice-${wr.current}`,tone:w,message:R}])}function Ub(w){c(R=>R.filter(I=>I.id!==w))}function Ro(w,{preserveDraft:R=!1}={}){t(w);let I=String(w?.config?.rawText||"");if(!R||xt.current===ht.current){r(I),a(I),V(!1),l({rawText:I,summary:w?.config,validationMessages:w?.config?.validationMessages||[]});return}a(I),I!==ht.current&&V(!0)}async function rn({preserveDraft:w=!1}={}){let R=await Ze("/api/state");Ro(R,{preserveDraft:w})}(0,ye.useEffect)(()=>{let w=!1;function R(){yt.current&&(yt.current.close(),yt.current=null)}function I(){Ue.current&&(clearTimeout(Ue.current),Ue.current=null)}function pe(){w||Ue.current||(Ue.current=setTimeout(()=>{Ue.current=null,Oe({isReconnect:!0})},cC))}function Oe({isReconnect:tt=!1}={}){if(w)return;I(),R();let Ge=new EventSource("/api/events");yt.current=Ge,Ge.onopen=()=>{w||yt.current!==Ge||tt&&rn({preserveDraft:xt.current!==ht.current}).catch(()=>{})},Ge.addEventListener("state",Ut=>{if(!(w||yt.current!==Ge))try{let zt=JSON.parse(Ut.data);zt?.snapshot&&Ro(zt.snapshot,{preserveDraft:!0})}catch(zt){D("error",zt instanceof Error?zt.message:String(zt))}}),Ge.addEventListener("log",Ut=>{if(!(w||yt.current!==Ge))try{let zt=JSON.parse(Ut.data);t(Fe=>Fe&&{...Fe,logs:[zt,...Fe.logs||[]].slice(0,150)})}catch{}}),Ge.addEventListener("logs",Ut=>{if(!(w||yt.current!==Ge))try{let zt=JSON.parse(Ut.data);t(Fe=>Fe&&{...Fe,...zt?.activityLog?{activityLog:zt.activityLog}:{},logs:Array.isArray(zt?.logs)?zt.logs:[]})}catch{}}),Ge.onerror=()=>{w||yt.current!==Ge||(R(),pe())}}return(async()=>{try{await rn()}catch(tt){w||D("error",tt instanceof Error?tt.message:String(tt))}finally{w||(u(!1),Oe())}})(),()=>{w=!0,I(),R()}},[]);async function jb(w,{silent:R=!1}={}){m(!0);try{let I=await Ze("/api/config/validate",{method:"POST",headers:Xe,body:JSON.stringify({rawText:w})});return l({rawText:w,summary:I.summary,validationMessages:I.validationMessages||[]}),R||D(BC(I.summary)==="success"?"success":"warning",I.summary.validationSummary),I}catch(I){throw R||D("error",I instanceof Error?I.message:String(I)),I}finally{m(!1)}}async function np(w,{successMessage:R="Config saved.",showSuccessNotice:I=!0}={}){p(!0);try{let pe=await Ze("/api/config/save",{method:"POST",headers:Xe,body:JSON.stringify({rawText:w})});return Ro(pe,{preserveDraft:xt.current!==w}),I&&R&&D("success",R),pe}catch(pe){throw D("error",pe instanceof Error?pe.message:String(pe)),pe}finally{p(!1)}}async function Vb(){if(!(!Jm||N)&&!(Te&&typeof window<"u"&&typeof window.confirm=="function"&&!window.confirm("Replace the current dev draft with the production config file? Unsaved edits in this dev session will be lost."))){E(!0);try{let w=await Ze("/api/config/sync-production",{method:"POST",headers:Xe,body:"{}"});Ro(w,{preserveDraft:!1}),D("success",w?.message||"Production config synced into the dev workspace.")}catch(w){D("error",w instanceof Error?w.message:String(w))}finally{E(!1)}}}function Di(w,{immediate:R=!1}={}){let I=Wt.current+1;Wt.current=I,nn({sequence:I,rawText:w,immediate:R===!0}),cn(pe=>({status:"pending",message:"",savedAt:pe.savedAt}))}function Pr(w){r(w),l(null)}async function Zo(w,R,I={}){let pe=`${JSON.stringify(w,null,2)}
53
+ `;Pr(pe),V(!1),await np(pe,{successMessage:R,...I})}async function Fb({providerId:w,endpoints:R,newModelIds:I,credentialPayload:pe,headers:Oe,onModelTestStateChange:tt}){if(!Array.isArray(I)||I.length===0)return tt?.({phase:"",modelStates:{},failedModelIds:[],message:""}),{ok:!0};let Ge=Object.fromEntries(I.map(Fe=>[Fe,"pending"])),Ut=({phase:Fe="testing",message:jn="",failedModelIds:ct=[]}={})=>{tt?.({phase:Fe,modelStates:{...Ge},failedModelIds:ct,message:jn})},zt=()=>`Testing ${I.filter(jn=>Ge[jn]==="success"||Ge[jn]==="error").length}/${I.length} new model${I.length===1?"":"s"} for ${w}.`;Ut({phase:"testing",message:zt()});try{let Fe=await vu("/api/config/test-provider-stream",{method:"POST",headers:Xe,body:JSON.stringify({endpoints:R,models:I,...pe,...Oe&&typeof Oe=="object"&&!Array.isArray(Oe)?{headers:Oe}:{}})},{onMessage:Ft=>{if(Ft?.type!=="progress")return;let uo=Ft.event||{};if(uo.phase!=="model-done")return;let ea=String(uo.model||"").trim();!ea||!Object.prototype.hasOwnProperty.call(Ge,ea)||(Ge[ea]=uo.confirmed?"success":"error",Ut({phase:"testing",message:zt()}))}}),jn=new Set(Array.isArray(Fe?.models)?Fe.models:[]),ct=I.filter(Ft=>!jn.has(Ft));for(let Ft of I)Ge[Ft]=jn.has(Ft)?"success":"error";if(!Fe?.ok||ct.length>0){let Ft=ct.length>0?`New model test failed for ${w}: ${ct.join(", ")}.`:(Fe?.warnings||[]).join(" ")||`New model test failed for ${w}.`;return Ut({phase:"",failedModelIds:ct,message:Ft}),D("warning",Ft),{ok:!1,failedModelIds:ct,result:Fe}}return Ut({phase:"saving",message:`Saving ${I.length} confirmed new model${I.length===1?"":"s"} for ${w}.`}),{ok:!0,failedModelIds:[],result:Fe}}catch(Fe){for(let Ft of I)Ge[Ft]!=="success"&&(Ge[Ft]="error");let jn=Fe instanceof Error?Fe.message:String(Fe),ct=I.filter(Ft=>Ge[Ft]==="error");return Ut({phase:"",failedModelIds:ct,message:jn}),D("error",jn),{ok:!1,failedModelIds:ct}}}async function AT(w,R,{showSuccessNotice:I=!0}={}){if(T)return D("warning",T),!1;let pe=String(R?.id||"").trim(),Oe=String(R?.name||"").trim(),tt=Array.isArray(R?.endpoints)?yr(R.endpoints):rr([],R?.endpoint||""),Ge=Array.isArray(R?.rateLimitRows)?br(R.rateLimitRows):[],Ut=me.find(Ft=>Ft?.id===w),zt=xo(Ut)==="api",Fe=fu(Ut);if(!pe)return D("warning","Provider id is required."),!1;if(!ll.test(pe))return D("warning","Provider id must start with a letter and use lowercase letters, digits, or dashes only."),!1;if(!Oe)return D("warning","Provider name is required."),!1;if(pe!==w&&me.some(Ft=>Ft?.id===pe))return D("warning",`Provider id "${pe}" already exists.`),!1;if(zt&&tt.length===0)return D("warning","API Key providers require at least one valid http(s) endpoint."),!1;if(zt&&tt.some(Ft=>!Si(Ft)))return D("warning","One or more endpoints are invalid. Use full http:// or https:// URLs."),!1;let jn=zt?Po(Ge,{knownModelIds:Fe,requireAtLeastOne:!0}):"";if(jn)return D("warning",jn),!1;let ct=iy(Re.value||St,w,{...R,endpoints:tt,rateLimitRows:Ge});try{return await Zo(ct,`Updated provider ${pe}.`,{showSuccessNotice:I}),!0}catch{return!1}}async function CT(w,{providerDraft:R=null,modelRows:I=null,showSuccessNotice:pe=!0,onModelTestStateChange:Oe=null}={}){if(T)return D("warning",T),!1;let tt=me.find(Ur=>Ur?.id===w);if(!tt)return D("error",`Provider '${w}' was not found.`),!1;let Ge=!!(R&&typeof R=="object"),Ut=Array.isArray(I);if(!Ge&&!Ut)return!0;let zt=xo(tt)==="api",Fe=Ge?String(R?.id||"").trim():w,jn=Ge?String(R?.name||"").trim():String(tt?.name||w).trim(),ct=Ge?Array.isArray(R?.endpoints)?yr(R.endpoints):rr([],R?.endpoint||""):Ta(tt),Ft=Ge&&Array.isArray(R?.rateLimitRows)?br(R.rateLimitRows):[],uo=Ut?I.map(Ur=>({...Ur,id:String(Ur?.id||"").trim(),contextWindow:$o(Ur?.contextWindow||"")})).filter(Ur=>Ur.id):[];if(Ge){let Ur=Ut?uo.map(jr=>jr.id):fu(tt);if(!Fe)return D("warning","Provider id is required."),!1;if(!ll.test(Fe))return D("warning","Provider id must start with a letter and use lowercase letters, digits, or dashes only."),!1;if(!jn)return D("warning","Provider name is required."),!1;if(Fe!==w&&me.some(jr=>jr?.id===Fe))return D("warning",`Provider id "${Fe}" already exists.`),!1;if(zt&&ct.length===0)return D("warning","API Key providers require at least one valid http(s) endpoint."),!1;if(zt&&ct.some(jr=>!Si(jr)))return D("warning","One or more endpoints are invalid. Use full http:// or https:// URLs."),!1;let Ia=zt?Po(Ft,{knownModelIds:Ur,requireAtLeastOne:!0}):"";if(Ia)return D("warning",Ia),!1}if(Ut){if(uo.length===0)return D("warning","Keep at least one model id on the provider."),!1;if(Os(uo.map(fo=>fo.id)))return D("warning","Model ids must be unique for each provider."),!1;if(uo.some(fo=>{let Pu=String(fo?.contextWindow||"").trim();if(!Pu)return!1;let ap=Number.parseInt(Pu,10);return!Number.isFinite(ap)||ap<=0||String(ap)!==Pu}))return D("warning","Context windows must be positive integers when set."),!1;let Ia=fu(tt),jr=uo.map(fo=>fo.id).filter(fo=>!Ia.includes(fo));if(zt&&jr.length>0){if(ct.length===0)return D("warning",`Provider '${Fe}' needs at least one endpoint before testing new models.`),!1;let fo=xy(R,tt);if(!fo.apiKey&&!fo.apiKeyEnv)return D("warning",`Provider '${Fe}' needs an API key or env before testing new models.`),!1;if(!(await Fb({providerId:Fe,endpoints:ct,newModelIds:jr,credentialPayload:fo,headers:tt?.headers,onModelTestStateChange:Oe})).ok)return!1}}let ea=Re.value||St;Ge&&(ea=iy(ea,w,{...R,endpoints:ct,rateLimitRows:Ft})),Ut&&(ea=ay(ea,Ge?Fe:w,uo));let NM=Ge&&Ut?`Updated provider ${Fe} and saved its model list.`:Ge?`Updated provider ${Fe}.`:(()=>{let Ur=fu(tt),Ia=uo.map(jr=>jr.id).filter(jr=>!Ur.includes(jr));return Ia.length>0?`Tested ${Ia.length} new model${Ia.length===1?"":"s"} and updated ${Fe}.`:`Updated models for ${Fe}.`})();try{return await Zo(ea,NM,{showSuccessNotice:pe}),Oe?.({phase:"",modelStates:{},failedModelIds:[],message:""}),!0}catch{return!1}}async function RT({showSuccessNotice:w=!1}={}){if(Re.parseError||String((Re.value||St||{}).masterKey||"").trim())return!1;let R=jo(Re.value||St||{});R.masterKey=du();try{return await Zo(R,"Gateway key ready.",{showSuccessNotice:w}),!0}catch{return!1}}async function NT(){if(!Qn){D("warning","Gateway key is still generating. Try again in a second.");return}try{await Bu(Qn),D("success","Gateway key copied to clipboard.")}catch(w){D("error",w instanceof Error?w.message:String(w))}}async function ET(){if(!ce){D("warning","API endpoint is not ready yet.");return}try{await Bu(ce),D("success","API endpoint copied to clipboard.")}catch(w){D("error",w instanceof Error?w.message:String(w))}}async function TT(w){let R=String(w||"").trim();if(!R){D("warning","Alias id is not ready yet.");return}try{await Bu(R),D("success",`Alias id ${R} copied to clipboard.`)}catch(I){D("error",I instanceof Error?I.message:String(I))}}async function Ba(w,R,{ensureMode:I="none",successMessage:pe=""}={}){let Oe=String(w||"").trim();if(!Oe){D("warning",`${R} is not resolved yet.`);return}try{await Ze("/api/file/open",{method:"POST",headers:Xe,body:JSON.stringify({editorId:"default",filePath:Oe,ensureMode:I})}),D("success",pe||`Opened ${R} in the default app.`)}catch(tt){D("error",tt instanceof Error?tt.message:String(tt))}}async function MT(w){let R=String(w||"").trim();if(!R){D("warning","Model id is not ready yet.");return}try{await Bu(R),D("success",`Model id ${R} copied to clipboard.`)}catch(I){D("error",I instanceof Error?I.message:String(I))}}async function OT(){if(!(typeof window>"u"?!0:window.confirm("Rotate the gateway key? Existing clients using the old key will need the new one. Linked tools like AMP, Codex CLI, and Claude Code will auto-update to the new key.")))return;let R=jo(Re.value||St||{});R.masterKey=du();try{await Zo(R,"Rotated gateway key. Linked tools like AMP, Codex CLI, and Claude Code refreshed automatically.")}catch{}}async function kT(w,R,{providerDraft:I=null,onModelTestStateChange:pe=null}={}){if(T)return D("warning",T),!1;let Oe=me.find(ct=>ct?.id===w);if(!Oe)return D("error",`Provider '${w}' was not found.`),!1;let tt=(Array.isArray(R)?R:[]).map(ct=>({...ct,id:String(ct?.id||"").trim()})).filter(ct=>ct.id),Ge=I&&String(I?.id||"").trim()||w,Ut=I?Array.isArray(I?.endpoints)?yr(I.endpoints):rr([],I?.endpoint||""):Ta(Oe),zt=(Array.isArray(Oe?.models)?Oe.models:[]).map(ct=>String(ct?.id||"").trim()).filter(Boolean),Fe=tt.map(ct=>ct.id).filter(ct=>!zt.includes(ct));if(xo(Oe)==="api"&&Fe.length>0){if(Ut.length===0)return D("warning",`Provider '${Ge}' needs at least one endpoint before testing new models.`),!1;let ct=xy(I,Oe);if(!ct.apiKey&&!ct.apiKeyEnv)return D("warning",`Provider '${Ge}' needs an API key or env before testing new models.`),!1;if(!(await Fb({providerId:Ge,endpoints:Ut,newModelIds:Fe,credentialPayload:ct,headers:Oe?.headers,onModelTestStateChange:pe})).ok)return!1}let jn=ay(Re.value||St,w,tt);try{let ct=Fe.length>0?`Tested ${Fe.length} new model${Fe.length===1?"":"s"} and updated ${w}.`:`Updated models for ${w}.`;return await Zo(jn,ct),pe?.({phase:"",modelStates:{},failedModelIds:[],message:""}),!0}catch{return!1}}async function _T(w,R,I={}){if(T)return D("warning",T),!1;let pe=eC(Re.value||St,w,R),Oe=String(R?.id||w||"").trim()||w;try{return await Zo(pe,I.successMessage||`Updated alias ${Oe}.`,{showSuccessNotice:I.showSuccessNotice!==!1}),!0}catch{return!1}}async function LT(w){if(T){D("warning",T);return}if(!(typeof window>"u"?!0:window.confirm(`Remove alias "${w}" from the config?`)))return;let I=tC(Re.value||St,w);try{await Zo(I,`Removed alias ${w}.`)}catch{}}async function FB(w){try{await Bu(w?.url||""),D("success",`${w?.label||"Endpoint"} copied to clipboard.`)}catch(R){D("error",R instanceof Error?R.message:String(R))}}async function DT(){let R=!(Je?.routedViaRouter===!0);if(R){if(Xo){D("warning",Xo);return}if(!Qn){D("warning","Gateway key is still generating. Try again in a second.");return}if(!ce){D("warning","API endpoint is not ready yet.");return}}oe(R?"enable":"disable");try{let I=!1,pe;try{pe=await Ze("/api/amp/global-route",{method:"POST",headers:Xe,body:JSON.stringify({enabled:R,rawText:R?n:void 0,endpointUrl:ce})})}catch(tt){if(tt?.statusCode===404&&R)I=!0,pe=await Ze("/api/amp/apply",{method:"POST",headers:Xe,body:JSON.stringify({rawText:n,source:"amp-global-route-compat",patchScope:"global",endpointUrl:ce})});else throw tt?.statusCode===404?new Error("Restart the web console so the AMP routing endpoint is available."):tt}await rn({preserveDraft:!R});let Oe=R?"AMP connected.":"AMP disconnected.";D("success",I?`${Oe} Restart the web console if the AMP status does not refresh.`:Oe)}catch(I){D("error",I instanceof Error?I.message:String(I))}finally{oe("")}}function BT(w,R){if(Xo){D("warning",Xo);return}let I=String(R||"").trim(),pe=Li.find(Ge=>Ge.id!==w&&String(Ge?.inbound||"").trim()===I);if(I&&pe){D("warning",`AMP inbound match "${I}" already exists.`);return}let Oe=Ry(Re.value||St,w,{inbound:R}),tt=`${JSON.stringify(Oe,null,2)}
54
+ `;Pr(tt),Di(tt)}function IT(w,R){if(Xo){D("warning",Xo);return}let I=Ry(Re.value||St,w,{outbound:R==="__default__"?"":R}),pe=`${JSON.stringify(I,null,2)}
55
+ `;Pr(pe),Di(pe)}function zT(w){if(co){D("warning",co);return}let R=i1(Re.value||St,{strategy:w}),I=`${JSON.stringify(R,null,2)}
56
+ `;Pr(I),Di(I)}function PT(w,R,I){if(co){D("warning",co);return}let pe=l1(Re.value||St,w,{[R]:I}),Oe=`${JSON.stringify(pe,null,2)}
57
+ `;Pr(Oe),Di(Oe,{immediate:d1(w,R,I)})}function UT(w,R){if(co){D("warning",co);return}let I=u1(Re.value||St,w,R),pe=`${JSON.stringify(I,null,2)}
58
+ `;Pr(pe),Di(pe)}function jT(w){if(co){D("warning",co);return}let R=c1(Re.value||St,w),I=`${JSON.stringify(R,null,2)}
59
+ `;Pr(I),Di(I,{immediate:!0})}async function VT({providerId:w,modelId:R}){if(co)throw new Error(co);let I=wi(w,R);if(!I)throw new Error("Choose a provider and GPT model before testing.");if(new Set((Array.isArray(Rl?.providers)?Rl.providers:[]).map(Ut=>Cn(Ut?.id)).filter(Boolean)).has(Cn(I)))throw new Error(`Web search route '${I}' is already configured.`);let Oe=await Ze("/api/config/test-web-search-provider",{method:"POST",headers:Xe,body:JSON.stringify({providerId:w,modelId:R,rawText:n})}),tt=s1(Re.value||St,w,R),Ge=`${JSON.stringify(tt,null,2)}
60
+ `;return Pr(Ge),Di(Ge,{immediate:!0}),D("success",`Added ${I} to shared web search routing.`),Oe?.result||null}async function FT({inbound:w,outbound:R}){if(Xo)return D("warning",Xo),!1;let I=String(w||"").trim();if(I&&Li.some(Oe=>String(Oe?.inbound||"").trim()===I))return D("warning",`AMP inbound match "${I}" already exists.`),!1;let pe=ZC(Re.value||St,{inbound:w,outbound:R});try{return await Zo(pe,`Added AMP route ${String(w||"").trim()}.`),!0}catch{return!1}}async function HT(w){let R=findAmpEditableRouteEntry(Re.value||St,w);if(!R?.removable)return;let I=R.source==="raw"?R.inbound||R.label:R.routeKey||R.label;if(!(typeof window>"u"?!0:window.confirm(`Remove AMP route mapping "${I}"?`)))return;let Oe=e1(Re.value||St,w);try{await Zo(Oe,`Removed AMP route ${I}.`)}catch{}}function HB(){r(o),l({rawText:o,summary:e?.config,validationMessages:e?.config?.validationMessages||[]}),V(!1),D("success","Editor reset to the latest disk version.")}function Hb(w){Pr(w),V(!1),D("success","Quick-start config loaded into the editor.")}async function $b(w){Pr(w);try{await jb(w)}catch{}}async function rp(w){Pr(w);let R;try{R=await jb(w,{silent:!0})}catch{return null}let I=R?.summary||{};if(I.parseError)return D("warning",I.validationSummary||"Quick-start config contains invalid JSON."),null;try{let pe=await np(w,{successMessage:"Quick-start config saved."});return(I.validationErrors||[]).length>0&&D("warning",I.validationSummary),pe}catch{return null}}async function Kb(w){let R=await rp(w);return R?(O("activity"),R.router?.running?(D("success","Quick-start config saved. Router is already running."),!0):(D("success","Quick-start config saved. Starting router\u2026"),setTimeout(()=>{op("start")},0),!0)):!1}async function $T(w){let R=await rp(w);return R&&tp(),!!R}async function KT(w){let R=await Kb(w);return R&&tp(),R}async function GT(){h(!0);try{await Ze("/api/config/open",{method:"POST",headers:Xe,body:JSON.stringify({editorId:"default"})}),D("success","Opened config file in the default app.")}catch(w){D("error",w instanceof Error?w.message:String(w))}finally{h(!1)}}async function qT(){let R=!(Ne?.routedViaRouter===!0);if(R){if(Jo){D("warning",Jo);return}if(!Qn){D("warning","Gateway key is still generating. Try again in a second.");return}if(!ce){D("warning","API endpoint is not ready yet.");return}}W(R?"enable":"disable");try{await Ze("/api/codex-cli/global-route",{method:"POST",headers:Xe,body:JSON.stringify({enabled:R,rawText:R?n:void 0,endpointUrl:ce,bindings:R?{defaultModel:Ne?.bindings?.defaultModel||Ym,thinkingLevel:Ne?.bindings?.thinkingLevel||""}:void 0})}),await rn({preserveDraft:!R}),D("success",R?"Codex CLI connected.":"Codex CLI disconnected.")}catch(I){D("error",I instanceof Error?I.message:String(I))}finally{W("")}}async function WT(){let R=!(Y?.routedViaRouter===!0);if(R){if(Jo){D("warning",Jo);return}if(!Qn){D("warning","Gateway key is still generating. Try again in a second.");return}if(!ce){D("warning","API endpoint is not ready yet.");return}}Ie(R?"enable":"disable");try{await Ze("/api/claude-code/global-route",{method:"POST",headers:Xe,body:JSON.stringify({enabled:R,rawText:R?n:void 0,endpointUrl:ce,bindings:R?{primaryModel:Y?.bindings?.primaryModel||"",defaultOpusModel:Y?.bindings?.defaultOpusModel||"",defaultSonnetModel:Y?.bindings?.defaultSonnetModel||"",defaultHaikuModel:Y?.bindings?.defaultHaikuModel||"",subagentModel:Y?.bindings?.subagentModel||"",thinkingLevel:Y?.bindings?.thinkingLevel||""}:void 0})}),await rn({preserveDraft:!R}),D("success",R?"Claude Code connected.":"Claude Code disconnected.")}catch(I){D("error",I instanceof Error?I.message:String(I))}finally{Ie("")}}async function YT(w,R){let I={defaultModel:Ne?.bindings?.defaultModel||Ym,thinkingLevel:Ne?.bindings?.thinkingLevel||""};I[w]=R,Se(!0);try{await Ze("/api/codex-cli/model-bindings",{method:"POST",headers:Xe,body:JSON.stringify({bindings:I})}),await rn({preserveDraft:!0}),D("success","Codex CLI bindings updated.")}catch(pe){D("error",pe instanceof Error?pe.message:String(pe))}finally{Se(!1)}}async function QT(w,R){if(w==="webSearchProvider"){U(!0);try{let Oe=await Ze("/api/claude-code/search-provider",{method:"POST",headers:Xe,body:JSON.stringify({webSearchProvider:R,rawText:n})});Ro(Oe,{preserveDraft:!1}),D("success",R?"Claude Code search capability updated.":"Claude Code search capability cleared.")}catch(Oe){D("error",Oe instanceof Error?Oe.message:String(Oe))}finally{U(!1)}return}let I=Y?.routedViaRouter===!0;if(w==="thinkingLevel"&&!I){U(!0);try{await Ze("/api/claude-code/effort-level",{method:"POST",headers:Xe,body:JSON.stringify({effortLevel:R})}),await rn({preserveDraft:!0}),D("success",R?`Effort level set to ${R}.`:"Effort level cleared.")}catch(Oe){D("error",Oe instanceof Error?Oe.message:String(Oe))}finally{U(!1)}return}let pe={primaryModel:Y?.bindings?.primaryModel||"",defaultOpusModel:Y?.bindings?.defaultOpusModel||"",defaultSonnetModel:Y?.bindings?.defaultSonnetModel||"",defaultHaikuModel:Y?.bindings?.defaultHaikuModel||"",subagentModel:Y?.bindings?.subagentModel||"",thinkingLevel:Y?.bindings?.thinkingLevel||""};pe[w]=R,U(!0);try{await Ze("/api/claude-code/model-bindings",{method:"POST",headers:Xe,body:JSON.stringify({bindings:pe})}),await rn({preserveDraft:!0}),D("success","Claude Code model bindings updated.")}catch(Oe){D("error",Oe instanceof Error?Oe.message:String(Oe))}finally{U(!1)}}async function XT(){let R=!(ge?.routedViaRouter===!0);if(R){if(Jo){D("warning",Jo);return}if(!Qn){D("warning","Gateway key is still generating. Try again in a second.");return}if(!ce){D("warning","API endpoint is not ready yet.");return}}Ve(R?"enable":"disable");try{await Ze("/api/factory-droid/global-route",{method:"POST",headers:Xe,body:JSON.stringify({enabled:R,rawText:R?n:void 0,endpointUrl:ce,bindings:R?{defaultModel:ge?.bindings?.defaultModel||"",missionOrchestratorModel:ge?.bindings?.missionOrchestratorModel||"",missionWorkerModel:ge?.bindings?.missionWorkerModel||"",missionValidatorModel:ge?.bindings?.missionValidatorModel||"",reasoningEffort:ge?.bindings?.reasoningEffort||""}:void 0})}),await rn({preserveDraft:!R}),D("success",R?"Factory Droid connected.":"Factory Droid disconnected.")}catch(I){D("error",I instanceof Error?I.message:String(I))}finally{Ve("")}}async function JT(w,R){let I={defaultModel:ge?.bindings?.defaultModel||"",missionOrchestratorModel:ge?.bindings?.missionOrchestratorModel||"",missionWorkerModel:ge?.bindings?.missionWorkerModel||"",missionValidatorModel:ge?.bindings?.missionValidatorModel||"",reasoningEffort:ge?.bindings?.reasoningEffort||""};I[w]=R,ve(!0);try{await Ze("/api/factory-droid/model-bindings",{method:"POST",headers:Xe,body:JSON.stringify({bindings:I})}),await rn({preserveDraft:!0}),D("success","Factory Droid model bindings updated.")}catch(pe){D("error",pe instanceof Error?pe.message:String(pe))}finally{ve(!1)}}async function op(w){y(w);try{let R=await Ze(`/api/router/${w}`,{method:"POST",headers:Xe,body:"{}"});Ro(R,{preserveDraft:!0}),D("success",R.message||`Router ${w}ed.`)}catch(R){await rn({preserveDraft:!0}).catch(()=>{}),D("error",R instanceof Error?R.message:String(R))}finally{y("")}}async function ZT(w){A(w);try{let R=await Ze(`/api/startup/${w}`,{method:"POST",headers:Xe,body:"{}"});Ro(R,{preserveDraft:!0}),D("success",R.message||`Startup ${w}d.`)}catch(R){await rn({preserveDraft:!0}).catch(()=>{}),D("error",R instanceof Error?R.message:String(R))}finally{A("")}}async function eM(){let w=!Yn;we("toggle");try{let R=await Ze("/api/activity-log/settings",{method:"POST",headers:Xe,body:JSON.stringify({enabled:w})});Ro(R,{preserveDraft:!0}),D("success",R.message||`Activity log ${w?"enabled":"disabled"}.`)}catch(R){await rn({preserveDraft:!0}).catch(()=>{}),D("error",R instanceof Error?R.message:String(R))}finally{we("")}}async function tM(){if(typeof window>"u"||window.confirm("Clear the shared activity log file? This also clears the Activity tab for connected web console sessions.")){we("clear");try{let R=await Ze("/api/activity-log/clear",{method:"POST",headers:Xe,body:"{}"});Ro(R,{preserveDraft:!0}),D("success",R.message||"Activity log cleared.")}catch(R){D("error",R instanceof Error?R.message:String(R))}finally{we("")}}}async function nM(w){let R=me.find(tt=>tt.id===w);if(!(typeof window>"u"?!0:window.confirm(`Remove provider "${R?.name||w}" from the config?`)))return;let pe=PC(e?.config?.document||gn||{},w),Oe=`${JSON.stringify(pe,null,2)}
61
+ `;Pr(Oe);try{await np(Oe,{successMessage:`Removed provider ${R?.name||w}.`})}catch{}}async function rM(w){if(Re.parseError)return D("warning",`Fix the raw JSON parse error first: ${Re.parseError}`),!1;if(xt.current!==ht.current)return D("warning","Save or discard the current config draft before changing local models."),!1;try{return await w1(w),await rn({preserveDraft:!1}),D("success",`Saved local variant ${String(w?.name||w?.id||"").trim()||"draft"}.`),!0}catch(R){return D("error",R instanceof Error?R.message:String(R)),!1}}async function oM({silent:w=!1}={}){if(Re.parseError)return w||D("warning",`Fix the raw JSON parse error first: ${Re.parseError}`),!1;if(xt.current!==ht.current)return w||D("warning","Save or discard the current config draft before changing local models."),!1;try{return await N1(),await rn({preserveDraft:!1}),w||D("success","Local model status refreshed."),!0}catch(R){return w||D("error",R instanceof Error?R.message:String(R)),!1}}async function aM(w){if(Re.parseError)return D("warning",`Fix the raw JSON parse error first: ${Re.parseError}`),!1;if(xt.current!==ht.current)return D("warning","Save or discard the current config draft before changing local models."),!1;try{return await A1(w),await rn({preserveDraft:!1}),D("success",`Attached local model ${String(w?.displayName||w?.id||"").trim()||"draft"}.`),!0}catch(R){return D("error",R instanceof Error?R.message:String(R)),!1}}async function iM(w){if(Re.parseError)return D("warning",`Fix the raw JSON parse error first: ${Re.parseError}`),!1;if(xt.current!==ht.current)return D("warning","Save or discard the current config draft before changing local models."),!1;try{return await C1(w),await rn({preserveDraft:!1}),D("success","Updated local model path."),!0}catch(R){return D("error",R instanceof Error?R.message:String(R)),!1}}async function lM(w){if(Re.parseError)return D("warning",`Fix the raw JSON parse error first: ${Re.parseError}`),!1;if(xt.current!==ht.current)return D("warning","Save or discard the current config draft before changing local models."),!1;try{return await R1(w),await rn({preserveDraft:!1}),D("success","Removed local model."),!0}catch(R){return D("error",R instanceof Error?R.message:String(R)),!1}}async function sM(w,{onMessage:R}={}){if(Re.parseError)return D("warning",`Fix the raw JSON parse error first: ${Re.parseError}`),!1;if(xt.current!==ht.current)return D("warning","Save or discard the current config draft before changing local models."),!1;try{return await S1(w,{onMessage:R}),await rn({preserveDraft:!1}),D("success",`Downloaded ${String(w?.displayName||w?.file||"").trim()||"managed GGUF"}.`),!0}catch(I){return D("error",I instanceof Error?I.message:String(I)),!1}}async function cM(w){if(Re.parseError)return D("warning",`Fix the raw JSON parse error first: ${Re.parseError}`),!1;if(xt.current!==ht.current)return D("warning","Save or discard the current config draft before changing local models."),!1;try{return await E1(w),await rn({preserveDraft:!1}),D("success",`Selected llama.cpp runtime ${String(w||"").trim()||"binary"}.`),!0}catch(R){return D("error",R instanceof Error?R.message:String(R)),!1}}async function uM(w){if(Re.parseError)return D("warning",`Fix the raw JSON parse error first: ${Re.parseError}`),!1;if(xt.current!==ht.current)return D("warning","Save or discard the current config draft before changing local models."),!1;try{return await Ze("/api/local-models/runtime/settings",{method:"POST",headers:Xe,body:JSON.stringify(w)}),await rn({preserveDraft:!1}),D("success","Updated llama.cpp runtime settings."),!0}catch(R){return D("error",R instanceof Error?R.message:String(R)),!1}}async function dM(){if(Re.parseError)return D("warning",`Fix the raw JSON parse error first: ${Re.parseError}`),!1;if(xt.current!==ht.current)return D("warning","Save or discard the current config draft before changing local models."),!1;try{return await Ze("/api/local-models/runtime/start",{method:"POST",headers:Xe,body:"{}"}),await rn({preserveDraft:!1}),D("success","Started llama.cpp runtime."),!0}catch(w){return D("error",w instanceof Error?w.message:String(w)),!1}}async function fM(){if(Re.parseError)return D("warning",`Fix the raw JSON parse error first: ${Re.parseError}`),!1;if(xt.current!==ht.current)return D("warning","Save or discard the current config draft before changing local models."),!1;try{return await Ze("/api/local-models/runtime/stop",{method:"POST",headers:Xe,body:"{}"}),await rn({preserveDraft:!1}),D("success","Stopped llama.cpp runtime."),!0}catch(w){return D("error",w instanceof Error?w.message:String(w)),!1}}async function No(){dn(!0);try{let R=await(await fetch("/api/ollama/models",{method:"POST",headers:{"content-type":"application/json"},body:"{}"})).json();R?.models&&$e(R.models)}catch{}finally{dn(!1)}}(0,ye.useEffect)(()=>{C==="local-models"&&Da&&No()},[C,Da]);function El(w,R,I){so(pe=>({...pe,[w]:{...pe[w]||{},[R]:I}}))}async function mM(w){El(w,"loading",!0);try{await fetch("/api/ollama/load",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({model:w})}),await No()}finally{El(w,"loading",!1)}}async function pM(w){El(w,"unloading",!0);try{await fetch("/api/ollama/unload",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({model:w})}),await No()}finally{El(w,"unloading",!1)}}async function gM(w,R){El(w,"pinning",!0);try{await fetch("/api/ollama/pin",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({model:w,pinned:R})}),await No()}finally{El(w,"pinning",!1)}}async function hM(w,R){await fetch("/api/ollama/keep-alive",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({model:w,keepAlive:R})}),await No()}async function yM(w,R){await fetch("/api/ollama/context-length",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({model:w,contextLength:R})}),await No()}async function bM(w){await fetch("/api/ollama/add-model",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({model:w})}),await No()}async function vM(w){await fetch("/api/ollama/remove-model",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({model:w})}),await No()}async function xM(w,R){await fetch("/api/ollama/auto-load",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({model:w,autoLoad:R})})}async function SM(w){await fetch("/api/ollama/save-settings",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(w)})}async function wM(){so(w=>({...w,_install:!0}));try{await fetch("/api/ollama/install",{method:"POST",headers:{"content-type":"application/json"},body:"{}"})}finally{so(w=>({...w,_install:!1}))}}async function AM(){so(w=>({...w,_startServer:!0}));try{await fetch("/api/ollama/start-server",{method:"POST",headers:{"content-type":"application/json"},body:"{}"})}finally{so(w=>({...w,_startServer:!1}))}}async function CM(){await fetch("/api/ollama/stop-server",{method:"POST",headers:{"content-type":"application/json"},body:"{}"})}async function RM(){so(w=>({...w,_syncRouter:!0}));try{await fetch("/api/ollama/sync-router",{method:"POST",headers:{"content-type":"application/json"},body:"{}"}),await No()}finally{so(w=>({...w,_syncRouter:!1}))}}return d?(0,$.jsx)("div",{className:"console-shell flex min-h-screen items-center justify-center px-6 py-10",children:(0,$.jsx)(Lt,{className:"w-full max-w-lg",children:(0,$.jsxs)(Dt,{className:"space-y-3 p-6 text-center",children:[(0,$.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.2em] text-muted-foreground",children:"LLM Router"}),(0,$.jsx)("div",{className:"text-xl font-semibold text-foreground",children:"Loading web console\u2026"}),(0,$.jsx)("div",{className:"text-sm text-muted-foreground",children:"Preparing config state, router controls, and live activity."})]})})}):xT?(0,$.jsx)("div",{className:"console-shell min-h-screen px-4 py-6 md:px-6",children:(0,$.jsxs)("div",{className:"mx-auto flex max-w-5xl flex-col gap-4",children:[(0,$.jsx)(wb,{notices:s,onDismiss:Ub}),Xm?(0,$.jsx)(sT,{currentConfigPath:_b,productionConfigPath:Lb,routerPort:zu,canSyncProductionConfig:Jm,syncBusy:N,onSyncProductionConfig:Vb}):null,(0,$.jsx)("div",{id:"quick-start-wizard",children:(0,$.jsx)(Mb,{baseConfig:gn,seedMode:Ib,mode:"onboarding",targetProviderId:zb,defaultProviderUserAgent:Pb,onApplyDraft:Hb,onValidateDraft:$b,onSaveDraft:rp,onSaveAndStart:Kb},`onboarding-wizard-${Ib}-${zb||"new"}`)})]})}):(0,$.jsx)("div",{className:"console-shell min-h-screen px-4 py-4 md:px-6 md:py-6",children:(0,$.jsxs)("div",{className:"mx-auto flex max-w-7xl flex-col gap-4",children:[Xm?(0,$.jsx)(sT,{currentConfigPath:_b,productionConfigPath:Lb,routerPort:zu,canSyncProductionConfig:Jm,syncBusy:N,onSyncProductionConfig:Vb}):null,(0,$.jsx)(Lt,{className:"overflow-hidden",children:(0,$.jsx)(Dt,{className:"p-5",children:(0,$.jsxs)("div",{className:"space-y-4",children:[(0,$.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,$.jsx)("div",{className:"min-w-0 flex-1",children:(0,$.jsxs)("h1",{className:"inline-flex items-center gap-2 text-2xl font-semibold tracking-tight text-foreground",children:[(0,$.jsx)("span",{children:"LLM Router Web Console"}),(0,$.jsx)(wl,{connected:Nl,size:"md",srLabel:"Router running"}),Xm?(0,$.jsx)(_e,{variant:"warning",className:"border-amber-300 bg-amber-100 text-amber-950",children:"Dev Mode"}):null]})}),(0,$.jsxs)("div",{className:"flex shrink-0 flex-wrap items-center gap-2",children:[(0,$.jsxs)("a",{href:sC,target:"_blank",rel:"noreferrer noopener",className:"inline-flex h-8 items-center gap-2 rounded-lg border border-amber-300 bg-amber-50/90 px-3 text-xs font-medium uppercase tracking-[0.16em] text-amber-900 transition-colors hover:bg-amber-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-amber-500/60 focus-visible:ring-offset-2 focus-visible:ring-offset-background","aria-label":"Support LLM Router via GitHub Sponsors",title:"Support LLM Router",children:[(0,$.jsx)(xC,{className:"h-3.5 w-3.5"}),(0,$.jsx)("span",{children:"Buy me a coffee"})]}),(0,$.jsxs)("a",{href:lC,target:"_blank",rel:"noreferrer noopener",className:"inline-flex h-8 items-center gap-2 rounded-lg border border-border bg-background/80 px-3 text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/60 focus-visible:ring-offset-2 focus-visible:ring-offset-background","aria-label":"Open the LLM Router GitHub repository",title:"Open GitHub repository",children:[(0,$.jsx)(vC,{className:"h-3.5 w-3.5"}),(0,$.jsx)("span",{children:"Repo"})]})]})]}),(0,$.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,$.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,$.jsxs)(H,{size:"sm",variant:Nl?"outline":void 0,className:"px-2 sm:px-3",onClick:()=>op(Nl?"stop":"start"),disabled:g!=="","aria-label":Zm,title:Zm,children:[Nl?(0,$.jsx)(wC,{className:"h-3.5 w-3.5"}):(0,$.jsx)(SC,{className:"h-3.5 w-3.5"}),(0,$.jsx)("span",{className:"hidden sm:inline",children:Zm})]}),(0,$.jsxs)(H,{size:"sm",variant:"outline",className:"px-2 sm:px-3",onClick:GT,disabled:v,"aria-label":v?"Opening config file":"Open config file",title:v?"Opening config file":"Open config file",children:[(0,$.jsx)(AC,{className:"h-3.5 w-3.5"}),(0,$.jsx)("span",{className:"hidden sm:inline",children:v?"Opening\u2026":"Open config file"})]}),(0,$.jsxs)(H,{size:"sm",variant:"outline",className:"px-2 sm:px-3",onClick:()=>ZT(kb?"disable":"enable"),disabled:x!=="","aria-label":ep,title:ep,children:[(0,$.jsx)(CC,{className:"h-3.5 w-3.5"}),(0,$.jsx)("span",{className:"hidden sm:inline",children:ep})]})]}),(0,$.jsx)(EE,{endpointValue:ce||Jc,endpointDisabled:!ce,gatewayValue:Qn?bT:"Generating\u2026",gatewayPending:!Qn,gatewayDisabled:!Qn||f,rotateDisabled:f,onCopyEndpoint:ET,onCopyGatewayKey:NT,onRotateKey:OT})]}),f||b?(0,$.jsx)("div",{className:"flex flex-wrap gap-2 text-xs text-muted-foreground",children:(0,$.jsx)("span",{className:"rounded-full bg-secondary px-2.5 py-1",children:f?"Saving changes\u2026":"Validating\u2026"})}):null,!Nl&&e?.router?.portBusy&&!e?.router?.portBusySelf?(0,$.jsx)("div",{className:"flex flex-wrap items-center gap-2",children:(0,$.jsx)(H,{size:"sm",variant:"outline",onClick:()=>op("reclaim"),disabled:g!=="",children:g==="reclaim"?"Reclaiming\u2026":`Reclaim port ${zu}`})}):null,Db?(0,$.jsx)("div",{className:Q("rounded-xl border px-3 py-2 text-sm",e?.router?.portBusy?"border-amber-200 bg-amber-50 text-amber-900":"border-rose-200 bg-rose-50 text-rose-800"),children:Db}):null]})})}),(0,$.jsx)(wb,{notices:s,onDismiss:Ub}),(0,$.jsx)("div",{className:"space-y-4",children:(0,$.jsx)(PE,{providers:me.filter(w=>w?.type!=="ollama"),onAddProvider:wT,onRemove:nM,onCopyModelId:MT,onApplyProviderDetails:AT,onApplyProviderModels:kT,onSaveAndCloseEditor:CT,disabledReason:T,busy:f})}),(0,$.jsxs)(bi,{value:C,onValueChange:O,className:"space-y-0",children:[(0,$.jsx)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between",children:(0,$.jsxs)(vi,{children:[(0,$.jsx)(Gn,{value:"model-alias",children:"Alias & Fallback"}),(0,$.jsx)(Gn,{value:"amp",children:(0,$.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,$.jsx)("span",{children:"AMP"}),(0,$.jsx)(wl,{connected:Un,srLabel:"AMP connected"})]})}),(0,$.jsx)(Gn,{value:"codex-cli",children:(0,$.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,$.jsx)("span",{children:"Codex CLI"}),(0,$.jsx)(wl,{connected:ki,srLabel:"Codex CLI connected"})]})}),(0,$.jsx)(Gn,{value:"claude-code",children:(0,$.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,$.jsx)("span",{children:"Claude Code"}),(0,$.jsx)(wl,{connected:_i,srLabel:"Claude Code connected"})]})}),(0,$.jsx)(Gn,{value:"factory-droid",children:(0,$.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,$.jsx)("span",{children:"Factory Droid"}),(0,$.jsx)(wl,{connected:Iu,srLabel:"Factory Droid connected"})]})}),(0,$.jsx)(Gn,{value:"local-models",children:(0,$.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,$.jsx)("span",{children:"Local Models"}),(0,$.jsx)(wl,{connected:vn.runningRuntimes>0,srLabel:"Local runtime connected"})]})}),(0,$.jsx)(Gn,{value:"web-search",children:"Web Search"}),(0,$.jsx)(Gn,{value:"activity",children:"Activity"})]})}),(0,$.jsx)(qn,{value:"model-alias",className:"space-y-4",children:(0,$.jsx)(kE,{aliases:re,config:k,aliasIds:Object.keys(re),routeOptions:Pe,defaultModel:String(k?.defaultModel||"").trim(),ampDefaultRoute:Ym,disabledReason:T,busy:f,onApplyAlias:_T,onRemoveAlias:LT,onCopyAliasId:TT})}),(0,$.jsx)(qn,{value:"amp",className:"space-y-4",children:(0,$.jsx)(ZE,{rows:Li,routeOptions:qs,webSearchSnapshot:Vt,ampClientUrl:ce,ampClientGlobal:Je,routingBusy:q,onToggleGlobalRouting:DT,onInboundChange:BT,onOutboundChange:IT,onCreateEntry:FT,onRemoveEntry:HT,onOpenWebSearchTab:()=>O("web-search"),onOpenConfigPath:()=>Ba(Je?.settingsFilePath,"AMP config file",{ensureMode:"jsonObject",successMessage:"Opened AMP config file in the default app."}),onOpenSecretsPath:()=>Ba(Je?.secretsFilePath,"AMP secrets file",{ensureMode:"jsonObject",successMessage:"Opened AMP secrets file in the default app."}),hasMasterKey:!!String(M?.masterKey||"").trim(),disabledReason:Xo,autosaveState:Dn})}),(0,$.jsx)(qn,{value:"codex-cli",className:"space-y-4",children:(0,$.jsx)(qm,{toolName:"Codex CLI",toolState:Ne,endpointUrl:Ne?.configuredBaseUrl||`${ce?`${ce}/openai/v1`:""}`,routeOptions:gT,connectionBusy:ee,bindingBusy:ae,onToggleRouting:qT,onBindingChange:YT,hasMasterKey:!!Qn,disabledReason:Jo,onOpenPrimaryPath:()=>Ba(Ne?.configFilePath,"Codex CLI config file",{ensureMode:"text",successMessage:"Opened Codex CLI config file in the default app."}),onOpenSecondaryPath:()=>Ba(Ne?.backupFilePath,"Codex CLI backup file",{ensureMode:"jsonObject",successMessage:"Opened Codex CLI backup file in the default app."}),guideContent:nT({bindingValue:Ne?.bindings?.defaultModel,thinkingLevel:Ne?.bindings?.thinkingLevel,configFilePath:Ne?.configFilePath,endpointUrl:Ne?.configuredBaseUrl||`${ce?`${ce}/openai/v1`:""}`}),bindingFields:[{id:"defaultModel",label:"Default model",description:"Choose a managed route/alias to set Codex CLI `model`, or use Inherit Codex CLI model to keep Codex built-in model names and route them through same-name LLM Router aliases.",envKey:"model",value:Ne?.bindings?.defaultModel||"",allowUnset:!1,placeholder:"Select a default route",extraOptions:[{value:ly,label:"Inherit Codex CLI model",hint:"Keep Codex built-in model names; route them via same-name aliases in LLM Router"}]},{id:"thinkingLevel",label:"Thinking level",description:"Maps to Codex CLI `model_reasoning_effort`. Official values are `minimal`, `low`, `medium`, `high`, and `xhigh` (`xhigh` is model-dependent).",envKey:"model_reasoning_effort",value:Ne?.bindings?.thinkingLevel||"",allowUnset:!0,usesRouteOptions:!1,placeholder:"Inherit Codex default",options:pC}]})}),(0,$.jsx)(qn,{value:"claude-code",className:"space-y-4",children:(0,$.jsx)(qm,{toolName:"Claude Code",toolState:Y,endpointUrl:Y?.configuredBaseUrl||`${ce?`${ce}/anthropic`:""}`,routeOptions:hT,connectionBusy:j,bindingBusy:ze,onToggleRouting:WT,onBindingChange:QT,hasMasterKey:!!Qn,disabledReason:Jo,onOpenPrimaryPath:()=>Ba(Y?.settingsFilePath,"Claude Code config file",{ensureMode:"jsonObject",successMessage:"Opened Claude Code config file in the default app."}),onOpenSecondaryPath:()=>Ba(Y?.backupFilePath,"Claude Code backup file",{ensureMode:"jsonObject",successMessage:"Opened Claude Code backup file in the default app."}),guideContent:rT({bindings:Y?.bindings,settingsFilePath:Y?.settingsFilePath,endpointUrl:Y?.configuredBaseUrl||`${ce?`${ce}/anthropic`:""}`}),bindingFields:[{id:"primaryModel",label:"Current model override",description:"Optional. Set `ANTHROPIC_MODEL` only when you want to override Claude Code\u2019s own `model` setting with a managed route or alias.",envKey:"ANTHROPIC_MODEL",value:Y?.bindings?.primaryModel||"",allowUnset:!0,placeholder:"Inherit Claude Code default"},{id:"defaultOpusModel",label:"Default Opus",description:"Maps `ANTHROPIC_DEFAULT_OPUS_MODEL` so Claude Code\u2019s `opus` alias points to a managed route or alias.",envKey:"ANTHROPIC_DEFAULT_OPUS_MODEL",value:Y?.bindings?.defaultOpusModel||"",allowUnset:!0,placeholder:"Select an Opus route"},{id:"defaultSonnetModel",label:"Default Sonnet",description:"Maps `ANTHROPIC_DEFAULT_SONNET_MODEL` so Claude Code\u2019s `sonnet` alias points to a managed route or alias.",envKey:"ANTHROPIC_DEFAULT_SONNET_MODEL",value:Y?.bindings?.defaultSonnetModel||"",allowUnset:!0,placeholder:"Select a Sonnet route"},{id:"defaultHaikuModel",label:"Default Haiku",description:"Maps `ANTHROPIC_DEFAULT_HAIKU_MODEL` so Claude Code\u2019s `haiku` alias points to a managed route or alias.",envKey:"ANTHROPIC_DEFAULT_HAIKU_MODEL",value:Y?.bindings?.defaultHaikuModel||"",allowUnset:!0,placeholder:"Select a Haiku route"},{id:"subagentModel",label:"Sub-agent model",description:"Maps `CLAUDE_CODE_SUBAGENT_MODEL` for Claude Code sub-agents and background workers.",envKey:"CLAUDE_CODE_SUBAGENT_MODEL",value:Y?.bindings?.subagentModel||"",allowUnset:!0,placeholder:"Select a sub-agent route"},{id:"webSearchProvider",label:"Search capability",description:"Choose which configured router web-search backend powers Claude Code\u2019s native Anthropic web tools like `web_search_*`. Native `web_fetch_*` page retrieval is intercepted locally by LLM Router and does not use this provider selection.",envKey:"claudeCode.webSearchProvider",value:Y?.webSearchProvider||"",allowUnset:!0,usesRouteOptions:!1,standaloneWhenDisconnected:!0,placeholder:"Use default router web-search order",options:mT},{id:"thinkingLevel",label:"Effort level",description:'Sets `CLAUDE_CODE_EFFORT_LEVEL` in your shell profile (~/.zshrc or ~/.bashrc). Falls back to `effortLevel` in settings.json (only "high") if shell profile cannot be updated.',envKey:"CLAUDE_CODE_EFFORT_LEVEL",value:Y?.bindings?.thinkingLevel||"",allowUnset:!0,usesRouteOptions:!1,standaloneWhenDisconnected:!0,placeholder:"Inherit Claude Code adaptive default",options:gC}]})}),(0,$.jsx)(qn,{value:"factory-droid",className:"space-y-4",children:(0,$.jsx)(qm,{toolName:"Factory Droid",toolState:ge,endpointUrl:ge?.configuredBaseUrl||`${ce?`${ce}/openai/v1`:""}`,routeOptions:yT,connectionBusy:ne,bindingBusy:fe,onToggleRouting:XT,onBindingChange:JT,hasMasterKey:!!Qn,disabledReason:Jo,onOpenPrimaryPath:()=>Ba(ge?.settingsFilePath,"Factory Droid config file",{ensureMode:"jsonObject",successMessage:"Opened Factory Droid config file in the default app."}),onOpenSecondaryPath:()=>Ba(ge?.backupFilePath,"Factory Droid backup file",{ensureMode:"jsonObject",successMessage:"Opened Factory Droid backup file in the default app."}),guideContent:oT({bindings:ge?.bindings,settingsFilePath:ge?.settingsFilePath,endpointUrl:ge?.configuredBaseUrl||`${ce?`${ce}/openai/v1`:""}`}),bindingFields:[{id:"defaultModel",label:"Normal mode model",description:"Choose a managed route or alias for normal Factory sessions. LLM Router writes both the legacy `model` field and current `sessionDefaultSettings.model` default.",envKey:"sessionDefaultSettings.model",value:ge?.bindings?.defaultModel||"",allowUnset:!0,placeholder:"Select a default route"},{id:"missionOrchestratorModel",label:"Mission orchestrator",description:"Choose the managed route or alias used for Factory mission orchestration.",envKey:"missionOrchestratorModel",value:ge?.bindings?.missionOrchestratorModel||"",allowUnset:!0,placeholder:"Use Factory orchestrator default"},{id:"missionWorkerModel",label:"Mission worker",description:"Choose the managed route or alias used for Factory mission workers.",envKey:"missionModelSettings.workerModel",value:ge?.bindings?.missionWorkerModel||"",allowUnset:!0,placeholder:"Use Factory worker default"},{id:"missionValidatorModel",label:"Mission validator",description:"Choose the managed route or alias used for Factory validation workers.",envKey:"missionModelSettings.validationWorkerModel",value:ge?.bindings?.missionValidatorModel||"",allowUnset:!0,placeholder:"Use Factory validator default"},{id:"reasoningEffort",label:"Reasoning effort",description:"Maps to Factory Droid `reasoningEffort` setting. Controls the depth of extended thinking for supported models.",envKey:"reasoningEffort",value:ge?.bindings?.reasoningEffort||"",allowUnset:!0,usesRouteOptions:!1,placeholder:"Inherit Factory Droid default",options:hC}]})}),(0,$.jsx)(qn,{value:"local-models",className:"space-y-4",children:(0,$.jsx)(XE,{summary:vn,llamacpp:{runtime:lt.runtime?.llamacpp||{},library:Object.fromEntries(Object.entries(lt.library||{}).filter(([,w])=>String(w?.source||"").startsWith("llamacpp"))),variants:Object.fromEntries(Object.entries(lt.variants||{}).filter(([,w])=>w?.runtime==="llamacpp")),disableEditsReason:Re.parseError?`Fix the raw JSON parse error first: ${Re.parseError}`:xt.current!==ht.current?"Save or discard the current config draft before changing local models.":"",onSaveVariant:rM,onRefreshLibrary:oM,onSelectRuntime:cM,onStartRuntime:dM,onStopRuntime:fM,onSaveRuntimeSettings:uM,onAttachModel:aM,onLocateModel:iM,onRemoveModel:lM,onDownloadManagedModel:sM},ollama:{connected:Da,snapshot:Gs,models:X,busy:zr,refreshing:un,config:k,onRefresh:No,onLoad:mM,onUnload:pM,onPin:gM,onKeepAlive:hM,onContextLength:yM,onAddToRouter:bM,onRemoveFromRouter:vM,onAutoLoad:xM,onSaveSettings:SM,onInstall:wM,onStartServer:AM,onStopServer:CM,onSyncRouter:RM}})}),(0,$.jsx)(qn,{value:"web-search",className:"space-y-4",children:(0,$.jsx)(eT,{webSearchConfig:Rl,webSearchProviders:Wm,hostedSearchCandidates:pT,onWebSearchStrategyChange:zT,onWebSearchProviderChange:PT,onWebSearchProviderMove:UT,onRemoveWebSearchProvider:jT,onAddHostedSearchEndpoint:VT,disabledReason:co,autosaveState:Dn})}),(0,$.jsx)(qn,{value:"activity",children:(0,$.jsx)(aT,{logs:e?.logs||[],activityLogEnabled:Yn,activityFilter:Ee,busyAction:ke,onActivityFilterChange:qe,onToggleEnabled:eM,onClear:tM})})]}),(0,$.jsx)(En,{open:vT,onClose:tp,title:"Add provider",contentClassName:"max-h-[92vh] max-w-5xl rounded-2xl border border-border/70 bg-background/98 shadow-[0_32px_120px_rgba(15,23,42,0.48)]",closeOnBackdrop:!1,bodyClassName:"max-h-[calc(92vh-5.5rem)]",children:(0,$.jsx)(Mb,{baseConfig:gn,seedMode:"blank",mode:"add",targetProviderId:"",defaultProviderUserAgent:Pb,onApplyDraft:Hb,onValidateDraft:$b,onSaveDraft:$T,onSaveAndStart:KT,framed:!1,showHeader:!1},`provider-wizard-modal-${Z}`)})]})})}var fT=B(te(),1),uT=document.getElementById("app");uT&&(0,dT.createRoot)(uT).render((0,fT.jsx)(cT,{}));})();