@khanglvm/llm-router 2.6.0 → 2.6.1

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 TM=Object.create;var qb=Object.defineProperty;var MM=Object.getOwnPropertyDescriptor;var OM=Object.getOwnPropertyNames;var kM=Object.getPrototypeOf,_M=Object.prototype.hasOwnProperty;var No=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var LM=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of OM(t))!_M.call(e,o)&&o!==n&&qb(e,o,{get:()=>t[o],enumerable:!(r=MM(t,o))||r.enumerable});return e};var B=(e,t,n)=>(n=e!=null?TM(kM(e)):{},LM(t||!e||!e.__esModule?qb(n,"default",{value:e,enumerable:!0}):n,e));var rv=No(Yt=>{"use strict";function up(e,t){var n=e.length;e.push(t);e:for(;0<n;){var r=n-1>>>1,o=e[r];if(0<ju(o,t))e[r]=t,e[n]=o,n=r;else break e}}function To(e){return e.length===0?null:e[0]}function Fu(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>ju(l,n))s<o&&0>ju(c,l)?(e[r]=c,e[s]=n,r=s):(e[r]=l,e[i]=n,r=i);else if(s<o&&0>ju(c,n))e[r]=c,e[s]=n,r=s;else break e}}return t}function ju(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"?(Wb=performance,Yt.unstable_now=function(){return Wb.now()}):(lp=Date,Yb=lp.now(),Yt.unstable_now=function(){return lp.now()-Yb});var Wb,lp,Yb,ta=[],za=[],DM=1,Vr=null,Xn=3,dp=!1,Ws=!1,Ys=!1,fp=!1,Jb=typeof setTimeout=="function"?setTimeout:null,Zb=typeof clearTimeout=="function"?clearTimeout:null,Qb=typeof setImmediate<"u"?setImmediate:null;function Vu(e){for(var t=To(za);t!==null;){if(t.callback===null)Fu(za);else if(t.startTime<=e)Fu(za),t.sortIndex=t.expirationTime,up(ta,t);else break;t=To(za)}}function mp(e){if(Ys=!1,Vu(e),!Ws)if(To(ta)!==null)Ws=!0,Ml||(Ml=!0,Tl());else{var t=To(za);t!==null&&pp(mp,t.startTime-e)}}var Ml=!1,Qs=-1,ev=5,tv=-1;function nv(){return fp?!0:!(Yt.unstable_now()-tv<ev)}function sp(){if(fp=!1,Ml){var e=Yt.unstable_now();tv=e;var t=!0;try{e:{Ws=!1,Ys&&(Ys=!1,Zb(Qs),Qs=-1),dp=!0;var n=Xn;try{t:{for(Vu(e),Vr=To(ta);Vr!==null&&!(Vr.expirationTime>e&&nv());){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,Vu(e),t=!0;break t}Vr===To(ta)&&Fu(ta),Vu(e)}else Fu(ta);Vr=To(ta)}if(Vr!==null)t=!0;else{var a=To(za);a!==null&&pp(mp,a.startTime-e),t=!1}}break e}finally{Vr=null,Xn=n,dp=!1}t=void 0}}finally{t?Tl():Ml=!1}}}var Tl;typeof Qb=="function"?Tl=function(){Qb(sp)}:typeof MessageChannel<"u"?(cp=new MessageChannel,Xb=cp.port2,cp.port1.onmessage=sp,Tl=function(){Xb.postMessage(null)}):Tl=function(){Jb(sp,0)};var cp,Xb;function pp(e,t){Qs=Jb(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"):ev=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(){fp=!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:DM++,callback:t,priorityLevel:e,startTime:n,expirationTime:o,sortIndex:-1},n>r?(e.sortIndex=n,up(za,e),To(ta)===null&&e===To(za)&&(Ys?(Zb(Qs),Qs=-1):Ys=!0,pp(mp,n-r))):(e.sortIndex=o,up(ta,e),Ws||dp||(Ws=!0,Ml||(Ml=!0,Tl()))),e};Yt.unstable_shouldYield=nv;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 av=No((WB,ov)=>{"use strict";ov.exports=rv()});var hv=No(Ye=>{"use strict";var yp=Symbol.for("react.transitional.element"),BM=Symbol.for("react.portal"),IM=Symbol.for("react.fragment"),zM=Symbol.for("react.strict_mode"),PM=Symbol.for("react.profiler"),UM=Symbol.for("react.consumer"),jM=Symbol.for("react.context"),VM=Symbol.for("react.forward_ref"),FM=Symbol.for("react.suspense"),HM=Symbol.for("react.memo"),uv=Symbol.for("react.lazy"),$M=Symbol.for("react.activity"),iv=Symbol.iterator;function KM(e){return e===null||typeof e!="object"?null:(e=iv&&e[iv]||e["@@iterator"],typeof e=="function"?e:null)}var dv={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},fv=Object.assign,mv={};function kl(e,t,n){this.props=e,this.context=t,this.refs=mv,this.updater=n||dv}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 pv(){}pv.prototype=kl.prototype;function bp(e,t,n){this.props=e,this.context=t,this.refs=mv,this.updater=n||dv}var vp=bp.prototype=new pv;vp.constructor=bp;fv(vp,kl.prototype);vp.isPureReactComponent=!0;var lv=Array.isArray;function hp(){}var Ht={H:null,A:null,T:null,S:null},gv=Object.prototype.hasOwnProperty;function xp(e,t,n){var r=n.ref;return{$$typeof:yp,type:e,key:t,ref:r!==void 0?r:null,props:n}}function GM(e,t){return xp(e.type,t,e.props)}function Sp(e){return typeof e=="object"&&e!==null&&e.$$typeof===yp}function qM(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(n){return t[n]})}var sv=/\/+/g;function gp(e,t){return typeof e=="object"&&e!==null&&e.key!=null?qM(""+e.key):t.toString(36)}function WM(e){switch(e.status){case"fulfilled":return e.value;case"rejected":throw e.reason;default:switch(typeof e.status=="string"?e.then(hp,hp):(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 yp:case BM:i=!0;break;case uv:return i=e._init,Ol(i(e._payload),t,n,r,o)}}if(i)return o=o(e),i=r===""?"."+gp(e,0):r,lv(o)?(n="",i!=null&&(n=i.replace(sv,"$&/")+"/"),Ol(o,t,n,"",function(c){return c})):o!=null&&(Sp(o)&&(o=GM(o,n+(o.key==null||e&&e.key===o.key?"":(""+o.key).replace(sv,"$&/")+"/")+i)),t.push(o)),1;i=0;var l=r===""?".":r+":";if(lv(e))for(var s=0;s<e.length;s++)r=e[s],a=l+gp(r,s),i+=Ol(r,t,n,a,o);else if(s=KM(e),typeof s=="function")for(e=s.call(e),s=0;!(r=e.next()).done;)r=r.value,a=l+gp(r,s++),i+=Ol(r,t,n,a,o);else if(a==="object"){if(typeof e.then=="function")return Ol(WM(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 Hu(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 YM(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 cv=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)},QM={map:Hu,forEach:function(e,t,n){Hu(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return Hu(e,function(){t++}),t},toArray:function(e){return Hu(e,function(t){return t})||[]},only:function(e){if(!Sp(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};Ye.Activity=$M;Ye.Children=QM;Ye.Component=kl;Ye.Fragment=IM;Ye.Profiler=PM;Ye.PureComponent=bp;Ye.StrictMode=zM;Ye.Suspense=FM;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=fv({},e.props),o=e.key;if(t!=null)for(a in t.key!==void 0&&(o=""+t.key),t)!gv.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 xp(e.type,o,r)};Ye.createContext=function(e){return e={$$typeof:jM,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:UM,_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)gv.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 xp(e,a,o)};Ye.createRef=function(){return{current:null}};Ye.forwardRef=function(e){return{$$typeof:VM,render:e}};Ye.isValidElement=Sp;Ye.lazy=function(e){return{$$typeof:uv,_payload:{_status:-1,_result:e},_init:YM}};Ye.memo=function(e,t){return{$$typeof:HM,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(hp,cv)}catch(a){cv(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=No((QB,yv)=>{"use strict";yv.exports=hv()});var vv=No(tr=>{"use strict";var XM=xe();function bv(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(bv(522))},D:Pa,C:Pa,L:Pa,m:Pa,X:Pa,S:Pa,M:Pa},p:0,findDOMNode:null},JM=Symbol.for("react.portal");function ZM(e,t,n){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:JM,key:r==null?null:""+r,children:e,containerInfo:t,implementation:n}}var Xs=XM.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function $u(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(bv(299));return ZM(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=$u(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=$u(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=$u(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=$u(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=No((JB,Sv)=>{"use strict";function xv(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(xv)}catch(e){console.error(e)}}xv(),Sv.exports=vv()});var Lw=No(hf=>{"use strict";var Mn=av(),qx=xe(),eO=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 Wx(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 Yx(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 Qx(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 wv(e){if(zc(e)!==e)throw Error(K(188))}function tO(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 wv(o),e;if(a===r)return wv(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 Xx(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=Xx(e),t!==null)return t;e=e.sibling}return null}var Gt=Object.assign,nO=Symbol.for("react.element"),Ku=Symbol.for("react.transitional.element"),ac=Symbol.for("react.portal"),zl=Symbol.for("react.fragment"),Jx=Symbol.for("react.strict_mode"),tg=Symbol.for("react.profiler"),Zx=Symbol.for("react.consumer"),ca=Symbol.for("react.context"),Qg=Symbol.for("react.forward_ref"),ng=Symbol.for("react.suspense"),rg=Symbol.for("react.suspense_list"),Xg=Symbol.for("react.memo"),Ua=Symbol.for("react.lazy"),og=Symbol.for("react.activity"),rO=Symbol.for("react.memo_cache_sentinel"),Av=Symbol.iterator;function Js(e){return e===null||typeof e!="object"?null:(e=Av&&e[Av]||e["@@iterator"],typeof e=="function"?e:null)}var oO=Symbol.for("react.client.reference");function ag(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===oO?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case zl:return"Fragment";case tg:return"Profiler";case Jx:return"StrictMode";case ng:return"Suspense";case rg:return"SuspenseList";case og:return"Activity"}if(typeof e=="object")switch(e.$$typeof){case ac:return"Portal";case ca:return e.displayName||"Context";case Zx:return(e._context.displayName||"Context")+".Consumer";case Qg:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Xg:return t=e.displayName||null,t!==null?t:ag(e.type)||"Memo";case Ua:t=e._payload,e=e._init;try{return ag(e(t))}catch{}}return null}var ic=Array.isArray,je=qx.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,At=eO.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,Vi={pending:!1,data:null,method:null,action:null},ig=[],Pl=-1;function Lo(e){return{current:e}}function zn(e){0>Pl||(e.current=ig[Pl],ig[Pl]=null,Pl--)}function jt(e,t){Pl++,ig[Pl]=e.current,e.current=t}var _o=Lo(null),Ac=Lo(null),Qa=Lo(null),Cd=Lo(null);function Rd(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)?Ox(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Ox(t),e=vw(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 lg(e){e.memoizedState!==null&&jt(Cd,e);var t=_o.current,n=vw(t,e.type);t!==n&&(jt(Ac,e),jt(_o,n))}function Ed(e){Ac.current===e&&(zn(_o),zn(Ac)),Cd.current===e&&(zn(Cd),Dc._currentValue=Vi)}var wp,Cv;function zi(e){if(wp===void 0)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);wp=t&&t[1]||"",Cv=-1<n.stack.indexOf(`
1
+ (()=>{var GM=Object.create;var rv=Object.defineProperty;var qM=Object.getOwnPropertyDescriptor;var WM=Object.getOwnPropertyNames;var YM=Object.getPrototypeOf,QM=Object.prototype.hasOwnProperty;var Oo=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var XM=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of WM(t))!QM.call(e,o)&&o!==n&&rv(e,o,{get:()=>t[o],enumerable:!(r=qM(t,o))||r.enumerable});return e};var D=(e,t,n)=>(n=e!=null?GM(YM(e)):{},XM(t||!e||!e.__esModule?rv(n,"default",{value:e,enumerable:!0}):n,e));var mv=Oo(tn=>{"use strict";function hp(e,t){var n=e.length;e.push(t);e:for(;0<n;){var r=n-1>>>1,o=e[r];if(0<Ku(o,t))e[r]=t,e[n]=o,n=r;else break e}}function _o(e){return e.length===0?null:e[0]}function qu(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>Ku(l,n))s<o&&0>Ku(c,l)?(e[r]=c,e[s]=n,r=s):(e[r]=l,e[i]=n,r=i);else if(s<o&&0>Ku(c,n))e[r]=c,e[s]=n,r=s;else break e}}return t}function Ku(e,t){var n=e.sortIndex-t.sortIndex;return n!==0?n:e.id-t.id}tn.unstable_now=void 0;typeof performance=="object"&&typeof performance.now=="function"?(ov=performance,tn.unstable_now=function(){return ov.now()}):(mp=Date,av=mp.now(),tn.unstable_now=function(){return mp.now()-av});var ov,mp,av,sa=[],$a=[],JM=1,Kr=null,er=3,yp=!1,ec=!1,tc=!1,bp=!1,sv=typeof setTimeout=="function"?setTimeout:null,cv=typeof clearTimeout=="function"?clearTimeout:null,iv=typeof setImmediate<"u"?setImmediate:null;function Gu(e){for(var t=_o($a);t!==null;){if(t.callback===null)qu($a);else if(t.startTime<=e)qu($a),t.sortIndex=t.expirationTime,hp(sa,t);else break;t=_o($a)}}function vp(e){if(tc=!1,Gu(e),!ec)if(_o(sa)!==null)ec=!0,Dl||(Dl=!0,Ll());else{var t=_o($a);t!==null&&xp(vp,t.startTime-e)}}var Dl=!1,nc=-1,uv=5,dv=-1;function fv(){return bp?!0:!(tn.unstable_now()-dv<uv)}function pp(){if(bp=!1,Dl){var e=tn.unstable_now();dv=e;var t=!0;try{e:{ec=!1,tc&&(tc=!1,cv(nc),nc=-1),yp=!0;var n=er;try{t:{for(Gu(e),Kr=_o(sa);Kr!==null&&!(Kr.expirationTime>e&&fv());){var r=Kr.callback;if(typeof r=="function"){Kr.callback=null,er=Kr.priorityLevel;var o=r(Kr.expirationTime<=e);if(e=tn.unstable_now(),typeof o=="function"){Kr.callback=o,Gu(e),t=!0;break t}Kr===_o(sa)&&qu(sa),Gu(e)}else qu(sa);Kr=_o(sa)}if(Kr!==null)t=!0;else{var a=_o($a);a!==null&&xp(vp,a.startTime-e),t=!1}}break e}finally{Kr=null,er=n,yp=!1}t=void 0}}finally{t?Ll():Dl=!1}}}var Ll;typeof iv=="function"?Ll=function(){iv(pp)}:typeof MessageChannel<"u"?(gp=new MessageChannel,lv=gp.port2,gp.port1.onmessage=pp,Ll=function(){lv.postMessage(null)}):Ll=function(){sv(pp,0)};var gp,lv;function xp(e,t){nc=sv(function(){e(tn.unstable_now())},t)}tn.unstable_IdlePriority=5;tn.unstable_ImmediatePriority=1;tn.unstable_LowPriority=4;tn.unstable_NormalPriority=3;tn.unstable_Profiling=null;tn.unstable_UserBlockingPriority=2;tn.unstable_cancelCallback=function(e){e.callback=null};tn.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"):uv=0<e?Math.floor(1e3/e):5};tn.unstable_getCurrentPriorityLevel=function(){return er};tn.unstable_next=function(e){switch(er){case 1:case 2:case 3:var t=3;break;default:t=er}var n=er;er=t;try{return e()}finally{er=n}};tn.unstable_requestPaint=function(){bp=!0};tn.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=er;er=e;try{return t()}finally{er=n}};tn.unstable_scheduleCallback=function(e,t,n){var r=tn.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:JM++,callback:t,priorityLevel:e,startTime:n,expirationTime:o,sortIndex:-1},n>r?(e.sortIndex=n,hp($a,e),_o(sa)===null&&e===_o($a)&&(tc?(cv(nc),nc=-1):tc=!0,xp(vp,n-r))):(e.sortIndex=o,hp(sa,e),ec||yp||(ec=!0,Dl||(Dl=!0,Ll()))),e};tn.unstable_shouldYield=fv;tn.unstable_wrapCallback=function(e){var t=er;return function(){var n=er;er=t;try{return e.apply(this,arguments)}finally{er=n}}}});var gv=Oo((AI,pv)=>{"use strict";pv.exports=mv()});var Nv=Oo(et=>{"use strict";var Ap=Symbol.for("react.transitional.element"),ZM=Symbol.for("react.portal"),ek=Symbol.for("react.fragment"),tk=Symbol.for("react.strict_mode"),nk=Symbol.for("react.profiler"),rk=Symbol.for("react.consumer"),ok=Symbol.for("react.context"),ak=Symbol.for("react.forward_ref"),ik=Symbol.for("react.suspense"),lk=Symbol.for("react.memo"),xv=Symbol.for("react.lazy"),sk=Symbol.for("react.activity"),hv=Symbol.iterator;function ck(e){return e===null||typeof e!="object"?null:(e=hv&&e[hv]||e["@@iterator"],typeof e=="function"?e:null)}var Sv={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},wv=Object.assign,Av={};function Il(e,t,n){this.props=e,this.context=t,this.refs=Av,this.updater=n||Sv}Il.prototype.isReactComponent={};Il.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")};Il.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function Cv(){}Cv.prototype=Il.prototype;function Cp(e,t,n){this.props=e,this.context=t,this.refs=Av,this.updater=n||Sv}var Rp=Cp.prototype=new Cv;Rp.constructor=Cp;wv(Rp,Il.prototype);Rp.isPureReactComponent=!0;var yv=Array.isArray;function wp(){}var Yt={H:null,A:null,T:null,S:null},Rv=Object.prototype.hasOwnProperty;function Np(e,t,n){var r=n.ref;return{$$typeof:Ap,type:e,key:t,ref:r!==void 0?r:null,props:n}}function uk(e,t){return Np(e.type,t,e.props)}function Ep(e){return typeof e=="object"&&e!==null&&e.$$typeof===Ap}function dk(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(n){return t[n]})}var bv=/\/+/g;function Sp(e,t){return typeof e=="object"&&e!==null&&e.key!=null?dk(""+e.key):t.toString(36)}function fk(e){switch(e.status){case"fulfilled":return e.value;case"rejected":throw e.reason;default:switch(typeof e.status=="string"?e.then(wp,wp):(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 Bl(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 Ap:case ZM:i=!0;break;case xv:return i=e._init,Bl(i(e._payload),t,n,r,o)}}if(i)return o=o(e),i=r===""?"."+Sp(e,0):r,yv(o)?(n="",i!=null&&(n=i.replace(bv,"$&/")+"/"),Bl(o,t,n,"",function(c){return c})):o!=null&&(Ep(o)&&(o=uk(o,n+(o.key==null||e&&e.key===o.key?"":(""+o.key).replace(bv,"$&/")+"/")+i)),t.push(o)),1;i=0;var l=r===""?".":r+":";if(yv(e))for(var s=0;s<e.length;s++)r=e[s],a=l+Sp(r,s),i+=Bl(r,t,n,a,o);else if(s=ck(e),typeof s=="function")for(e=s.call(e),s=0;!(r=e.next()).done;)r=r.value,a=l+Sp(r,s++),i+=Bl(r,t,n,a,o);else if(a==="object"){if(typeof e.then=="function")return Bl(fk(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 Wu(e,t,n){if(e==null)return e;var r=[],o=0;return Bl(e,r,"","",function(a){return t.call(n,a,o++)}),r}function mk(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 vv=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)},pk={map:Wu,forEach:function(e,t,n){Wu(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return Wu(e,function(){t++}),t},toArray:function(e){return Wu(e,function(t){return t})||[]},only:function(e){if(!Ep(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};et.Activity=sk;et.Children=pk;et.Component=Il;et.Fragment=ek;et.Profiler=nk;et.PureComponent=Cp;et.StrictMode=tk;et.Suspense=ik;et.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=Yt;et.__COMPILER_RUNTIME={__proto__:null,c:function(e){return Yt.H.useMemoCache(e)}};et.cache=function(e){return function(){return e.apply(null,arguments)}};et.cacheSignal=function(){return null};et.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)!Rv.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 Np(e.type,o,r)};et.createContext=function(e){return e={$$typeof:ok,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:rk,_context:e},e};et.createElement=function(e,t,n){var r,o={},a=null;if(t!=null)for(r in t.key!==void 0&&(a=""+t.key),t)Rv.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 Np(e,a,o)};et.createRef=function(){return{current:null}};et.forwardRef=function(e){return{$$typeof:ak,render:e}};et.isValidElement=Ep;et.lazy=function(e){return{$$typeof:xv,_payload:{_status:-1,_result:e},_init:mk}};et.memo=function(e,t){return{$$typeof:lk,type:e,compare:t===void 0?null:t}};et.startTransition=function(e){var t=Yt.T,n={};Yt.T=n;try{var r=e(),o=Yt.S;o!==null&&o(n,r),typeof r=="object"&&r!==null&&typeof r.then=="function"&&r.then(wp,vv)}catch(a){vv(a)}finally{t!==null&&n.types!==null&&(t.types=n.types),Yt.T=t}};et.unstable_useCacheRefresh=function(){return Yt.H.useCacheRefresh()};et.use=function(e){return Yt.H.use(e)};et.useActionState=function(e,t,n){return Yt.H.useActionState(e,t,n)};et.useCallback=function(e,t){return Yt.H.useCallback(e,t)};et.useContext=function(e){return Yt.H.useContext(e)};et.useDebugValue=function(){};et.useDeferredValue=function(e,t){return Yt.H.useDeferredValue(e,t)};et.useEffect=function(e,t){return Yt.H.useEffect(e,t)};et.useEffectEvent=function(e){return Yt.H.useEffectEvent(e)};et.useId=function(){return Yt.H.useId()};et.useImperativeHandle=function(e,t,n){return Yt.H.useImperativeHandle(e,t,n)};et.useInsertionEffect=function(e,t){return Yt.H.useInsertionEffect(e,t)};et.useLayoutEffect=function(e,t){return Yt.H.useLayoutEffect(e,t)};et.useMemo=function(e,t){return Yt.H.useMemo(e,t)};et.useOptimistic=function(e,t){return Yt.H.useOptimistic(e,t)};et.useReducer=function(e,t,n){return Yt.H.useReducer(e,t,n)};et.useRef=function(e){return Yt.H.useRef(e)};et.useState=function(e){return Yt.H.useState(e)};et.useSyncExternalStore=function(e,t,n){return Yt.H.useSyncExternalStore(e,t,n)};et.useTransition=function(){return Yt.H.useTransition()};et.version="19.2.4"});var be=Oo((RI,Ev)=>{"use strict";Ev.exports=Nv()});var Mv=Oo(ar=>{"use strict";var gk=be();function Tv(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 Ka(){}var or={d:{f:Ka,r:function(){throw Error(Tv(522))},D:Ka,C:Ka,L:Ka,m:Ka,X:Ka,S:Ka,M:Ka},p:0,findDOMNode:null},hk=Symbol.for("react.portal");function yk(e,t,n){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:hk,key:r==null?null:""+r,children:e,containerInfo:t,implementation:n}}var rc=gk.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function Yu(e,t){if(e==="font")return"";if(typeof t=="string")return t==="use-credentials"?t:""}ar.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=or;ar.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(Tv(299));return yk(e,t,null,n)};ar.flushSync=function(e){var t=rc.T,n=or.p;try{if(rc.T=null,or.p=2,e)return e()}finally{rc.T=t,or.p=n,or.d.f()}};ar.preconnect=function(e,t){typeof e=="string"&&(t?(t=t.crossOrigin,t=typeof t=="string"?t==="use-credentials"?t:"":void 0):t=null,or.d.C(e,t))};ar.prefetchDNS=function(e){typeof e=="string"&&or.d.D(e)};ar.preinit=function(e,t){if(typeof e=="string"&&t&&typeof t.as=="string"){var n=t.as,r=Yu(n,t.crossOrigin),o=typeof t.integrity=="string"?t.integrity:void 0,a=typeof t.fetchPriority=="string"?t.fetchPriority:void 0;n==="style"?or.d.S(e,typeof t.precedence=="string"?t.precedence:void 0,{crossOrigin:r,integrity:o,fetchPriority:a}):n==="script"&&or.d.X(e,{crossOrigin:r,integrity:o,fetchPriority:a,nonce:typeof t.nonce=="string"?t.nonce:void 0})}};ar.preinitModule=function(e,t){if(typeof e=="string")if(typeof t=="object"&&t!==null){if(t.as==null||t.as==="script"){var n=Yu(t.as,t.crossOrigin);or.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&&or.d.M(e)};ar.preload=function(e,t){if(typeof e=="string"&&typeof t=="object"&&t!==null&&typeof t.as=="string"){var n=t.as,r=Yu(n,t.crossOrigin);or.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})}};ar.preloadModule=function(e,t){if(typeof e=="string")if(t){var n=Yu(t.as,t.crossOrigin);or.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 or.d.m(e)};ar.requestFormReset=function(e){or.d.r(e)};ar.unstable_batchedUpdates=function(e,t){return e(t)};ar.useFormState=function(e,t,n){return rc.H.useFormState(e,t,n)};ar.useFormStatus=function(){return rc.H.useHostTransitionStatus()};ar.version="19.2.4"});var ji=Oo((EI,Ov)=>{"use strict";function kv(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(kv)}catch(e){console.error(e)}}kv(),Ov.exports=Mv()});var Hw=Oo(Sf=>{"use strict";var Dn=gv(),r0=be(),bk=ji();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 o0(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function Hc(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 a0(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 i0(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 _v(e){if(Hc(e)!==e)throw Error(K(188))}function vk(e){var t=e.alternate;if(!t){if(t=Hc(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 _v(o),e;if(a===r)return _v(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 l0(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=l0(e),t!==null)return t;e=e.sibling}return null}var Jt=Object.assign,xk=Symbol.for("react.element"),Qu=Symbol.for("react.transitional.element"),dc=Symbol.for("react.portal"),Fl=Symbol.for("react.fragment"),s0=Symbol.for("react.strict_mode"),lg=Symbol.for("react.profiler"),c0=Symbol.for("react.consumer"),ha=Symbol.for("react.context"),nh=Symbol.for("react.forward_ref"),sg=Symbol.for("react.suspense"),cg=Symbol.for("react.suspense_list"),rh=Symbol.for("react.memo"),Ga=Symbol.for("react.lazy"),ug=Symbol.for("react.activity"),Sk=Symbol.for("react.memo_cache_sentinel"),Lv=Symbol.iterator;function oc(e){return e===null||typeof e!="object"?null:(e=Lv&&e[Lv]||e["@@iterator"],typeof e=="function"?e:null)}var wk=Symbol.for("react.client.reference");function dg(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===wk?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Fl:return"Fragment";case lg:return"Profiler";case s0:return"StrictMode";case sg:return"Suspense";case cg:return"SuspenseList";case ug:return"Activity"}if(typeof e=="object")switch(e.$$typeof){case dc:return"Portal";case ha:return e.displayName||"Context";case c0:return(e._context.displayName||"Context")+".Consumer";case nh:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case rh:return t=e.displayName||null,t!==null?t:dg(e.type)||"Memo";case Ga:t=e._payload,e=e._init;try{return dg(e(t))}catch{}}return null}var fc=Array.isArray,Fe=r0.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,Nt=bk.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,Gi={pending:!1,data:null,method:null,action:null},fg=[],Hl=-1;function zo(e){return{current:e}}function Fn(e){0>Hl||(e.current=fg[Hl],fg[Hl]=null,Hl--)}function Gt(e,t){Hl++,fg[Hl]=e.current,e.current=t}var Io=zo(null),Mc=zo(null),ri=zo(null),Md=zo(null);function kd(e,t){switch(Gt(ri,t),Gt(Mc,e),Gt(Io,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?jx(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=jx(t),e=Mw(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}Fn(Io),Gt(Io,e)}function ls(){Fn(Io),Fn(Mc),Fn(ri)}function mg(e){e.memoizedState!==null&&Gt(Md,e);var t=Io.current,n=Mw(t,e.type);t!==n&&(Gt(Mc,e),Gt(Io,n))}function Od(e){Mc.current===e&&(Fn(Io),Fn(Mc)),Md.current===e&&(Fn(Md),jc._currentValue=Gi)}var Tp,Dv;function Fi(e){if(Tp===void 0)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);Tp=t&&t[1]||"",Dv=-1<n.stack.indexOf(`
2
2
  at`)?" (<anonymous>)":-1<n.stack.indexOf("@")?"@unknown:0:0":""}return`
3
- `+wp+e+Cv}var Ap=!1;function Cp(e,t){if(!e||Ap)return"";Ap=!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
+ `+Tp+e+Dv}var Mp=!1;function kp(e,t){if(!e||Mp)return"";Mp=!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(m){var f=m}Reflect.construct(e,[],u)}else{try{u.call()}catch(m){f=m}e.call(u.prototype)}}else{try{throw Error()}catch(m){f=m}(u=e())&&typeof u.catch=="function"&&u.catch(function(){})}}catch(m){if(m&&f&&typeof m.stack=="string")return[m.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{Ap=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:"")?zi(n):""}function aO(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 Cp(e.type,!1);case 11:return Cp(e.type.render,!1);case 1:return Cp(e.type,!0);case 31:return zi("Activity");default:return""}}function Rv(e){try{var t="",n=null;do t+=aO(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{Mp=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:"")?Fi(n):""}function Ak(e,t){switch(e.tag){case 26:case 27:case 5:return Fi(e.type);case 16:return Fi("Lazy");case 13:return e.child!==t&&t!==null?Fi("Suspense Fallback"):Fi("Suspense");case 19:return Fi("SuspenseList");case 0:case 15:return kp(e.type,!1);case 11:return kp(e.type.render,!1);case 1:return kp(e.type,!0);case 31:return Fi("Activity");default:return""}}function Bv(e){try{var t="",n=null;do t+=Ak(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 sg=Object.prototype.hasOwnProperty,Jg=Mn.unstable_scheduleCallback,Rp=Mn.unstable_cancelCallback,iO=Mn.unstable_shouldYield,lO=Mn.unstable_requestPaint,Nr=Mn.unstable_now,sO=Mn.unstable_getCurrentPriorityLevel,e0=Mn.unstable_ImmediatePriority,t0=Mn.unstable_UserBlockingPriority,Nd=Mn.unstable_NormalPriority,cO=Mn.unstable_LowPriority,n0=Mn.unstable_IdlePriority,uO=Mn.log,dO=Mn.unstable_setDisableYieldValue,Pc=null,Tr=null;function Ka(e){if(typeof uO=="function"&&dO(e),Tr&&typeof Tr.setStrictMode=="function")try{Tr.setStrictMode(Pc,e)}catch{}}var Mr=Math.clz32?Math.clz32:pO,fO=Math.log,mO=Math.LN2;function pO(e){return e>>>=0,e===0?32:31-(fO(e)/mO|0)|0}var Gu=256,qu=262144,Wu=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 Zd(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 gO(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 r0(){var e=Wu;return Wu<<=1,(Wu&62914560)===0&&(Wu=4194304),e}function Ep(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 hO(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&&o0(e,r,0),a!==0&&o===0&&e.tag!==0&&(e.suspendedLanes|=a&~(i&~t))}function o0(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 a0(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 i0(e,t){var n=t&-t;return n=(n&42)!==0?1:Zg(n),(n&(e.suspendedLanes|t))!==0?0:n}function Zg(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 eh(e){return e&=-e,2<e?8<e?(e&134217727)!==0?32:268435456:8:2}function l0(){var e=At.p;return e!==0?e:(e=window.event,e===void 0?32:Ow(e.type))}function Ev(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,cg="__reactEvents$"+ci,yO="__reactListeners$"+ci,bO="__reactHandles$"+ci,Nv="__reactResources$"+ci,Vc="__reactMarker$"+ci;function th(e){delete e[Fn],delete e[fr],delete e[cg],delete e[yO],delete e[bO]}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=Bx(e);e!==null;){if(n=e[Fn])return n;e=Bx(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 s0=new Set,c0={};function Xi(e,t){rs(e,t),rs(e+"Capture",t)}function rs(e,t){for(c0[e]=t,e=0;e<t.length;e++)s0.add(t[e])}var vO=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]*$"),Tv={},Mv={};function xO(e){return sg.call(Mv,e)?!0:sg.call(Tv,e)?!1:vO.test(e)?Mv[e]=!0:(Tv[e]=!0,!1)}function cd(e,t,n){if(xO(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 Yu(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 u0(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function SO(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 ug(e){if(!e._valueTracker){var t=u0(e)?"checked":"value";e._valueTracker=SO(e,t,""+e[t])}}function d0(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=u0(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function Td(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 wO=/[\n"\\]/g;function Gr(e){return e.replace(wO,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function dg(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?fg(e,i,Hr(t)):n!=null?fg(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 f0(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)){ug(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),ug(e)}function fg(e,t,n){t==="number"&&Td(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 m0(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 p0(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),ug(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 AO=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 Ov(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||AO.has(t)?t==="float"?e.cssFloat=n:e[t]=(""+n).trim():e[t]=n+"px"}function g0(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&&Ov(e,o,r)}else for(var a in t)t.hasOwnProperty(a)&&Ov(e,a,t[a])}function nh(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 CO=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"]]),RO=/^[\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 ud(e){return RO.test(""+e)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":e}function ua(){}var mg=null;function rh(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 kv(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(dg(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));dg(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&&d0(r)}break e;case"textarea":m0(e,n.value,n.defaultValue);break e;case"select":t=n.value,t!=null&&Ql(e,!!n.multiple,t,!1)}}}var Np=!1;function h0(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)&&(ff(),jl&&(t=jl,e=Xl,Xl=jl=null,kv(t),e)))for(t=0;t<e.length;t++)kv(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"),pg=!1;if(ga)try{_l={},Object.defineProperty(_l,"passive",{get:function(){pg=!0}}),window.addEventListener("test",_l,_l),window.removeEventListener("test",_l,_l)}catch{pg=!1}var _l,Ga=null,oh=null,dd=null;function y0(){if(dd)return dd;var e,t=oh,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 dd=o.slice(e,1<r?1-r:void 0)}function fd(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 Qu(){return!0}function _v(){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)?Qu:_v,this.isPropagationStopped=_v,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=Qu)},stopPropagation:function(){var n=this.nativeEvent;n&&(n.stopPropagation?n.stopPropagation():typeof n.cancelBubble!="unknown"&&(n.cancelBubble=!0),this.isPropagationStopped=Qu)},persist:function(){},isPersistent:Qu}),t}var Ji={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},ef=mr(Ji),Fc=Gt({},Ji,{view:0,detail:0}),EO=mr(Fc),Tp,Mp,Zs,tf=Gt({},Fc,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:ah,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"?(Tp=e.screenX-Zs.screenX,Mp=e.screenY-Zs.screenY):Mp=Tp=0,Zs=e),Tp)},movementY:function(e){return"movementY"in e?e.movementY:Mp}}),Lv=mr(tf),NO=Gt({},tf,{dataTransfer:0}),TO=mr(NO),MO=Gt({},Fc,{relatedTarget:0}),Op=mr(MO),OO=Gt({},Ji,{animationName:0,elapsedTime:0,pseudoElement:0}),kO=mr(OO),_O=Gt({},Ji,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),LO=mr(_O),DO=Gt({},Ji,{data:0}),Dv=mr(DO),BO={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},IO={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"},zO={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function PO(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=zO[e])?!!t[e]:!1}function ah(){return PO}var UO=Gt({},Fc,{key:function(e){if(e.key){var t=BO[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=fd(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?IO[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:ah,charCode:function(e){return e.type==="keypress"?fd(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?fd(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),jO=mr(UO),VO=Gt({},tf,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Bv=mr(VO),FO=Gt({},Fc,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:ah}),HO=mr(FO),$O=Gt({},Ji,{propertyName:0,elapsedTime:0,pseudoElement:0}),KO=mr($O),GO=Gt({},tf,{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}),qO=mr(GO),WO=Gt({},Ji,{newState:0,oldState:0}),YO=mr(WO),QO=[9,13,27,32],ih=ga&&"CompositionEvent"in window,uc=null;ga&&"documentMode"in document&&(uc=document.documentMode);var XO=ga&&"TextEvent"in window&&!uc,b0=ga&&(!ih||uc&&8<uc&&11>=uc),Iv=" ",zv=!1;function v0(e,t){switch(e){case"keyup":return QO.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function x0(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Vl=!1;function JO(e,t){switch(e){case"compositionend":return x0(t);case"keypress":return t.which!==32?null:(zv=!0,Iv);case"textInput":return e=t.data,e===Iv&&zv?null:e;default:return null}}function ZO(e,t){if(Vl)return e==="compositionend"||!ih&&v0(e,t)?(e=y0(),dd=oh=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 b0&&t.locale!=="ko"?null:t.data;default:return null}}var ek={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 Pv(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!ek[e.type]:t==="textarea"}function S0(e,t,n,r){jl?Xl?Xl.push(r):Xl=[r]:jl=r,t=Gd(t,"onChange"),0<t.length&&(n=new ef("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var dc=null,Rc=null;function tk(e){hw(e,0)}function nf(e){var t=lc(e);if(d0(t))return e}function Uv(e,t){if(e==="change")return t}var w0=!1;ga&&(ga?(Ju="oninput"in document,Ju||(kp=document.createElement("div"),kp.setAttribute("oninput","return;"),Ju=typeof kp.oninput=="function"),Xu=Ju):Xu=!1,w0=Xu&&(!document.documentMode||9<document.documentMode));var Xu,Ju,kp;function jv(){dc&&(dc.detachEvent("onpropertychange",A0),Rc=dc=null)}function A0(e){if(e.propertyName==="value"&&nf(Rc)){var t=[];S0(t,Rc,e,rh(e)),h0(tk,t)}}function nk(e,t,n){e==="focusin"?(jv(),dc=t,Rc=n,dc.attachEvent("onpropertychange",A0)):e==="focusout"&&jv()}function rk(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return nf(Rc)}function ok(e,t){if(e==="click")return nf(t)}function ak(e,t){if(e==="input"||e==="change")return nf(t)}function ik(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var kr=typeof Object.is=="function"?Object.is:ik;function Ec(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(!sg.call(t,o)||!kr(e[o],t[o]))return!1}return!0}function Vv(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Fv(e,t){var n=Vv(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=Vv(n)}}function C0(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?C0(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function R0(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Td(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=Td(e.document)}return t}function lh(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 lk=ga&&"documentMode"in document&&11>=document.documentMode,Fl=null,gg=null,fc=null,hg=!1;function Hv(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;hg||Fl==null||Fl!==Td(r)||(r=Fl,"selectionStart"in r&&lh(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&&Ec(fc,r)||(fc=r,r=Gd(gg,"onSelect"),0<r.length&&(t=new ef("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")},_p={},E0={};ga&&(E0=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(_p[e])return _p[e];if(!Hl[e])return e;var t=Hl[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in E0)return _p[e]=t[n];return e}var N0=Zi("animationend"),T0=Zi("animationiteration"),M0=Zi("animationstart"),sk=Zi("transitionrun"),ck=Zi("transitionstart"),uk=Zi("transitioncancel"),O0=Zi("transitionend"),k0=new Map,yg="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(" ");yg.push("scrollEnd");function go(e,t){k0.set(e,t),Xi(t,[e])}var Md=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,sh=0;function rf(){for(var e=$l,t=sh=$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&&_0(n,o,a)}}function of(e,t,n,r){Fr[$l++]=e,Fr[$l++]=t,Fr[$l++]=n,Fr[$l++]=r,sh|=r,e.lanes|=r,e=e.alternate,e!==null&&(e.lanes|=r)}function ch(e,t,n,r){return of(e,t,n,r),Od(e)}function el(e,t){return of(e,null,null,t),Od(e)}function _0(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 Od(e){if(50<Sc)throw Sc=0,Pg=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 dk(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 dk(e,t,n,r)}function uh(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 L0(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 md(e,t,n,r,o,a){var i=0;if(r=e,typeof e=="function")uh(e)&&(i=1);else if(typeof e=="string")i=p_(e,n,_o.current)?26:e==="html"||e==="head"||e==="body"?27:5;else e:switch(e){case og:return e=Rr(31,n,t,o),e.elementType=og,e.lanes=a,e;case zl:return Fi(n.children,o,a,t);case Jx:i=8,o|=24;break;case tg:return e=Rr(12,n,t,o|2),e.elementType=tg,e.lanes=a,e;case ng:return e=Rr(13,n,t,o),e.elementType=ng,e.lanes=a,e;case rg:return e=Rr(19,n,t,o),e.elementType=rg,e.lanes=a,e;default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case ca:i=10;break e;case Zx:i=9;break e;case Qg:i=11;break e;case Xg: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 Lp(e,t,n){return e=Rr(6,e,null,t),e.lanes=n,e}function D0(e){var t=Rr(18,null,null,0);return t.stateNode=e,t}function Dp(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 $v=new WeakMap;function qr(e,t){if(typeof e=="object"&&e!==null){var n=$v.get(e);return n!==void 0?n:(t={value:e,source:t,stack:Rv(t)},$v.set(e,t),t)}return{value:e,source:t,stack:Rv(t)}}var Gl=[],ql=0,kd=null,Nc=0,$r=[],Kr=0,ai=null,Mo=1,Oo="";function la(e,t){Gl[ql++]=Nc,Gl[ql++]=kd,kd=e,Nc=t}function B0(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 dh(e){e.return!==null&&(la(e,1),B0(e,1,0))}function fh(e){for(;e===kd;)kd=Gl[--ql],Gl[ql]=null,Nc=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 I0(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,bg=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)),bg}function Kv(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),f0(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),p0(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||bw(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 Gv(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 Gv(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")||Hg(e.type,e.memoizedProps)),n=!n),n&&Kt&&ii(e),Gv(e),t===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(K(317));Kt=Dx(e)}else if(t===31){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(K(317));Kt=Dx(e)}else t===27?(t=Kt,ui(e.type)?(e=qg,qg=null,Kt=e):Kt=t):Kt=Hn?Qr(e.stateNode.nextSibling):null;return!0}function Gi(){Kt=Hn=null,bt=!1}function Bp(){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 vg=Lo(null),tl=null,da=null;function Va(e,t,n){jt(vg,t._currentValue),t._currentValue=n}function ma(e){e._currentValue=vg.current,zn(vg)}function xg(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 Sg(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),xg(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),xg(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===Cd.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&&Sg(t,e,n,r),t.flags|=262144}function _d(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 z0(tl,e)}function Zu(e,t){return tl===null&&qi(e),z0(e,t)}function z0(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 fk=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()})}},mk=Mn.unstable_scheduleCallback,pk=Mn.unstable_NormalPriority,wn={$$typeof:ca,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function mh(){return{controller:new fk,data:new Map,refCount:0}}function Hc(e){e.refCount--,e.refCount===0&&mk(pk,function(){e.controller.abort()})}var mc=null,wg=0,as=0,Jl=null;function gk(e,t){if(mc===null){var n=mc=[];wg=0,as=Ph(),Jl={status:"pending",value:void 0,then:function(r){n.push(r)}}}return wg++,t.then(qv,qv),t}function qv(){if(--wg===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 hk(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 Wv=je.S;je.S=function(e,t){XS=Nr(),typeof t=="object"&&t!==null&&typeof t.then=="function"&&gk(e,t),Wv!==null&&Wv(e,t)};var Hi=Lo(null);function ph(){var e=Hi.current;return e!==null?e:Pt.pooledCache}function pd(e,t){t===null?jt(Hi,Hi.current):jt(Hi,t.pool)}function P0(){var e=ph();return e===null?null:{parent:wn._currentValue,pool:e}}var hs=Error(K(460)),gh=Error(K(474)),af=Error(K(542)),Ld={then:function(){}};function Yv(e){return e=e.status,e==="fulfilled"||e==="rejected"}function U0(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,Xv(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,Xv(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 Qv(){if($i===null)throw Error(K(459));var e=$i;return $i=null,e}function Xv(e){if(e===hs||e===af)throw Error(K(483))}var Zl=null,Mc=0;function ed(e){var t=Mc;return Mc+=1,Zl===null&&(Zl=[]),U0(Zl,e,t)}function ec(e,t){t=t.props.ref,e.ref=t!==void 0?t:null}function td(e,t){throw t.$$typeof===nO?Error(K(525)):(e=Object.prototype.toString.call(t),Error(K(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e)))}function j0(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=Lp(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=md(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=Dp(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=Lp(""+g,h.mode,y),g.return=h,g;if(typeof g=="object"&&g!==null){switch(g.$$typeof){case Ku:return y=md(g.type,g.key,g.props,null,h.mode,y),ec(y,g),y.return=h,y;case ac:return g=Dp(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,ed(g),y);if(g.$$typeof===ca)return u(h,Zu(h,g),y);td(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 Ku: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,ed(y),x);if(y.$$typeof===ca)return f(h,g,Zu(h,y),x);td(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 Ku: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,ed(x),A);if(x.$$typeof===ca)return p(h,g,y,Zu(g,x),A);td(g,x)}return null}function b(h,g,y,x){for(var A=null,E=null,N=g,C=g=0,O=null;N!==null&&C<y.length;C++){N.index>C?(O=N,N=null):O=N.sibling;var L=f(h,N,y[C],x);if(L===null){N===null&&(N=O);break}e&&N&&L.alternate===null&&t(h,N),g=a(L,g,C),E===null?A=L:E.sibling=L,E=L,N=O}if(C===y.length)return n(h,N),bt&&la(h,C),A;if(N===null){for(;C<y.length;C++)N=u(h,y[C],x),N!==null&&(g=a(N,g,C),E===null?A=N:E.sibling=N,E=N);return bt&&la(h,C),A}for(N=r(N);C<y.length;C++)O=p(N,h,C,y[C],x),O!==null&&(e&&O.alternate!==null&&N.delete(O.key===null?C:O.key),g=a(O,g,C),E===null?A=O:E.sibling=O,E=O);return e&&N.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,E=null,N=g,C=g=0,O=null,L=y.next();N!==null&&!L.done;C++,L=y.next()){N.index>C?(O=N,N=null):O=N.sibling;var V=f(h,N,L.value,x);if(V===null){N===null&&(N=O);break}e&&N&&V.alternate===null&&t(h,N),g=a(V,g,C),E===null?A=V:E.sibling=V,E=V,N=O}if(L.done)return n(h,N),bt&&la(h,C),A;if(N===null){for(;!L.done;C++,L=y.next())L=u(h,L.value,x),L!==null&&(g=a(L,g,C),E===null?A=L:E.sibling=L,E=L);return bt&&la(h,C),A}for(N=r(N);!L.done;C++,L=y.next())L=p(N,h,C,L.value,x),L!==null&&(e&&L.alternate!==null&&N.delete(L.key===null?C:L.key),g=a(L,g,C),E===null?A=L:E.sibling=L,E=L);return e&&N.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 Ku: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=md(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=Dp(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,ed(y),x);if(y.$$typeof===ca)return v(h,g,Zu(h,y),x);td(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=Lp(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(N){if(N===hs||N===af)throw N;var E=Rr(29,N,null,h.mode);return E.lanes=x,E.return=h,E}}}var Wi=j0(!0),V0=j0(!1),ja=!1;function hh(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Ag(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=Od(e),_0(e,null,n),t}return of(e,r,t,n),Od(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,a0(e,n)}}function Ip(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 Cg=!1;function gc(){if(Cg){var e=Jl;if(e!==null)throw e}}function hc(e,t,n,r){Cg=!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&&(Cg=!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 F0(e,t){if(typeof e!="function")throw Error(K(191,e));e.call(t)}function H0(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;e<n.length;e++)F0(n[e],t)}var is=Lo(null),Dd=Lo(0);function Jv(e,t){e=va,jt(Dd,e),jt(is,t),va=e|t.baseLanes}function Rg(){jt(Dd,va),jt(is,is.current)}function yh(){va=Dd.current,zn(is),zn(Dd)}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 Eg(e){jt(hn,hn.current),jt(_r,e),Yr===null&&(Yr=e)}function $0(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 Bd(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||Kg(n)||Gg(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,Id=!1,es=!1,Yi=!1,zd=0,Oc=0,ts=null,yk=0;function fn(){throw Error(K(321))}function bh(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 vh(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?SS:Oh,Yi=!1,a=n(r,o),Yi=!1,es&&(a=G0(t,n,r,o)),K0(e),a}function K0(e){je.H=kc;var t=_t!==null&&_t.next!==null;if(ha=0,xn=_t=Qe=null,Id=!1,Oc=0,ts=null,t)throw Error(K(300));e===null||An||(e=e.dependencies,e!==null&&_d(e)&&(An=!0))}function G0(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=wS,a=t(n,r)}while(es);return a}function bk(){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 xh(){var e=zd!==0;return zd=0,e}function Sh(e,t,n){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~n}function wh(e){if(Id){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}Id=!1}ha=0,xn=_t=Qe=null,es=!1,Oc=zd=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 lf(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function $c(e){var t=Oc;return Oc+=1,ts===null&&(ts=[]),e=U0(ts,e,t),t=Qe,(xn===null?t.memoizedState:xn.next)===null&&(t=t.alternate,je.H=t===null||t.memoizedState===null?SS:Oh),e}function sf(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 Ah(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=lf(),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]=rO;return t.index++,n}function ya(e,t){return typeof t=="function"?t(e):t}function gd(e){var t=yn();return Ch(t,_t,e)}function Ch(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 zp(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 q0(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,Rh(Q0.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},Y0.bind(null,r,o,n,t),null),Pt===null)throw Error(K(349));a||(ha&127)!==0||W0(r,t,n)}return n}function W0(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=Qe.updateQueue,t===null?(t=lf(),Qe.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function Y0(e,t,n,r){t.value=n,t.getSnapshot=r,X0(t)&&J0(e)}function Q0(e,t,n){return n(function(){X0(t)&&J0(e)})}function X0(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!kr(e,n)}catch{return!0}}function J0(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 Z0(e,t,n,r){return e.baseState=n,Ch(e,_t,typeof r=="function"?r:ya)}function vk(e,t,n,r,o){if(uf(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,eS(t,a)):(a.next=n.next,t.pending=n.next=a)}}function eS(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),Zv(e,t,l)}catch(c){Tg(e,t,c)}finally{a!==null&&i.types!==null&&(a.types=i.types),je.T=a}}else try{a=n(o,r),Zv(e,t,a)}catch(c){Tg(e,t,c)}}function Zv(e,t,n){n!==null&&typeof n=="object"&&typeof n.then=="function"?n.then(function(r){ex(e,t,r)},function(r){return Tg(e,t,r)}):ex(e,t,n)}function ex(e,t,n){t.status="fulfilled",t.value=n,tS(t),e.state=n,t=e.pending,t!==null&&(n=t.next,n===t?e.pending=null:(n=n.next,t.next=n,eS(e,n)))}function Tg(e,t,n){var r=e.pending;if(e.pending=null,r!==null){r=r.next;do t.status="rejected",t.reason=n,tS(t),t=t.next;while(t!==r)}e.action=null}function tS(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function nS(e,t){return t}function tx(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:nS,lastRenderedState:t},n.queue=r,n=bS.bind(null,Qe,r),r.dispatch=n,r=Ng(!1),a=Mh.bind(null,Qe,!1,r.queue),r=nr(),o={state:t,dispatch:null,action:e,pending:null},r.queue=o,n=vk.bind(null,Qe,o,a,n),o.dispatch=n,r.memoizedState=e,[t,n,!1]}function nx(e){var t=yn();return rS(t,_t,e)}function rS(e,t,n){if(t=Ch(e,t,nS)[0],e=gd(ya)[0],typeof t=="object"&&t!==null&&typeof t.then=="function")try{var r=$c(t)}catch(i){throw i===hs?af: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},xk.bind(null,o,n),null)),[r,a,e]}function xk(e,t){e.action=t}function rx(e){var t=yn(),n=_t;if(n!==null)return rS(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=lf(),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 oS(){return yn().memoizedState}function hd(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 cf(e,t,n,r){var o=yn();r=r===void 0?null:r;var a=o.memoizedState.inst;_t!==null&&r!==null&&bh(r,_t.memoizedState.deps)?o.memoizedState=ls(t,a,n,r):(Qe.flags|=e,o.memoizedState=ls(1|t,a,n,r))}function ox(e,t){hd(8390656,8,e,t)}function Rh(e,t){cf(2048,8,e,t)}function Sk(e){Qe.flags|=4;var t=Qe.updateQueue;if(t===null)t=lf(),Qe.updateQueue=t,t.events=[e];else{var n=t.events;n===null?t.events=[e]:n.push(e)}}function aS(e){var t=yn().memoizedState;return Sk({ref:t,nextImpl:e}),function(){if((wt&2)!==0)throw Error(K(440));return t.impl.apply(void 0,arguments)}}function iS(e,t){return cf(4,2,e,t)}function lS(e,t){return cf(4,4,e,t)}function sS(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 cS(e,t,n){n=n!=null?n.concat([e]):null,cf(4,4,sS.bind(null,t,e),n)}function Eh(){}function uS(e,t){var n=yn();t=t===void 0?null:t;var r=n.memoizedState;return t!==null&&bh(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function dS(e,t){var n=yn();t=t===void 0?null:t;var r=n.memoizedState;if(t!==null&&bh(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=ZS(),Qe.lanes|=e,si|=e,n)}function fS(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=ZS(),Qe.lanes|=e,si|=e,t)}function mS(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,Mh(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=hk(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 wk(){}function Mg(e,t,n,r){if(e.tag!==5)throw Error(K(476));var o=pS(e).queue;mS(e,o,t,Vi,n===null?wk:function(){return gS(e),n(r)})}function pS(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 gS(e){var t=pS(e);t.next===null&&(t=e.alternate.memoizedState),yc(e,t.next.queue,{},Or())}function Th(){return $n(Dc)}function hS(){return yn().memoizedState}function yS(){return yn().memoizedState}function Ak(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:mh()},e.payload=t;return}t=t.return}}function Ck(e,t,n){var r=Or();n={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},uf(e)?vS(t,n):(n=ch(e,t,n,r),n!==null&&(dr(n,e,r),xS(n,t,r)))}function bS(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(uf(e))vS(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 of(e,t,o,0),Pt===null&&rf(),!1}catch{}if(n=ch(e,t,o,r),n!==null)return dr(n,e,r),xS(n,t,r),!0}return!1}function Mh(e,t,n,r){if(r={lane:2,revertLane:Ph(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},uf(e)){if(t)throw Error(K(479))}else t=ch(e,n,r,2),t!==null&&dr(t,e,2)}function uf(e){var t=e.alternate;return e===Qe||t!==null&&t===Qe}function vS(e,t){es=Id=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function xS(e,t,n){if((n&4194048)!==0){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,a0(e,n)}}var kc={readContext:$n,use:sf,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 SS={readContext:$n,use:sf,useCallback:function(e,t){return nr().memoizedState=[e,t===void 0?null:t],e},useContext:$n,useEffect:ox,useImperativeHandle:function(e,t,n){n=n!=null?n.concat([e]):null,hd(4194308,4,sS.bind(null,t,e),n)},useLayoutEffect:function(e,t){return hd(4194308,4,e,t)},useInsertionEffect:function(e,t){hd(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=Ck.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=bS.bind(null,Qe,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:Eh,useDeferredValue:function(e,t){var n=nr();return Nh(n,e,t)},useTransition:function(){var e=Ng(!1);return e=mS.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||W0(r,t,n)}o.memoizedState=n;var a={value:n,getSnapshot:t};return o.queue=a,ox(Q0.bind(null,r,a,e),[e]),r.flags|=2048,ls(9,{destroy:void 0},Y0.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=zd++,0<n&&(t+="H"+n.toString(32)),t+="_"}else n=yk++,t="_"+t+"r_"+n.toString(32)+"_";return e.memoizedState=t},useHostTransitionStatus:Th,useFormState:tx,useActionState:tx,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=Mh.bind(null,Qe,!0,n),n.dispatch=t,[e,t]},useMemoCache:Ah,useCacheRefresh:function(){return nr().memoizedState=Ak.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)}}},Oh={readContext:$n,use:sf,useCallback:uS,useContext:$n,useEffect:Rh,useImperativeHandle:cS,useInsertionEffect:iS,useLayoutEffect:lS,useMemo:dS,useReducer:gd,useRef:oS,useState:function(){return gd(ya)},useDebugValue:Eh,useDeferredValue:function(e,t){var n=yn();return fS(n,_t.memoizedState,e,t)},useTransition:function(){var e=gd(ya)[0],t=yn().memoizedState;return[typeof e=="boolean"?e:$c(e),t]},useSyncExternalStore:q0,useId:hS,useHostTransitionStatus:Th,useFormState:nx,useActionState:nx,useOptimistic:function(e,t){var n=yn();return Z0(n,_t,e,t)},useMemoCache:Ah,useCacheRefresh:yS};Oh.useEffectEvent=aS;var wS={readContext:$n,use:sf,useCallback:uS,useContext:$n,useEffect:Rh,useImperativeHandle:cS,useInsertionEffect:iS,useLayoutEffect:lS,useMemo:dS,useReducer:zp,useRef:oS,useState:function(){return zp(ya)},useDebugValue:Eh,useDeferredValue:function(e,t){var n=yn();return _t===null?Nh(n,e,t):fS(n,_t.memoizedState,e,t)},useTransition:function(){var e=zp(ya)[0],t=yn().memoizedState;return[typeof e=="boolean"?e:$c(e),t]},useSyncExternalStore:q0,useId:hS,useHostTransitionStatus:Th,useFormState:rx,useActionState:rx,useOptimistic:function(e,t){var n=yn();return _t!==null?Z0(n,_t,e,t):(n.baseState=e,[e,n.queue.dispatch])},useMemoCache:Ah,useCacheRefresh:yS};wS.useEffectEvent=aS;function Pp(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 Og={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 ax(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?!Ec(n,r)||!Ec(o,a):!0}function ix(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&&Og.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 AS(e){Md(e)}function CS(e){console.error(e)}function RS(e){Md(e)}function Pd(e,t){try{var n=e.onUncaughtError;n(t.value,{componentStack:t.stack})}catch(r){setTimeout(function(){throw r})}}function lx(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 kg(e,t,n){return n=Ja(n),n.tag=3,n.payload={element:null},n.callback=function(){Pd(e,t)},n}function ES(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(){lx(t,n,r)}}var i=n.stateNode;i!==null&&typeof i.componentDidCatch=="function"&&(e.callback=function(){lx(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 Rk(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?Hd():n.alternate===null&&mn===0&&(mn=3),n.flags&=-257,n.flags|=65536,n.lanes=o,r===Ld?n.flags|=16384:(t=n.updateQueue,t===null?n.updateQueue=new Set([r]):t.add(r),Yp(e,r,o)),!1;case 22:return n.flags|=65536,r===Ld?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)),Yp(e,r,o)),!1}throw Error(K(435,n.tag))}return Yp(e,r,o),Hd(),!1}if(bt)return t=_r.current,t!==null?((t.flags&65536)===0&&(t.flags|=256),t.flags|=65536,t.lanes=o,r!==bg&&(e=Error(K(422),{cause:r}),Tc(qr(e,n)))):(r!==bg&&(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=kg(e.stateNode,r,o),Ip(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=kg(n.stateNode,r,e),Ip(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=ES(o),NS(o,e,n,r),Ip(n,o),!1}n=n.return}while(n!==null);return!1}var kh=Error(K(461)),An=!1;function Vn(e,t,n,r){t.child=e===null?V0(t,null,n,r):Wi(t,e.child,n,r)}function sx(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=vh(e,t,n,i,a,o),l=xh(),e!==null&&!An?(Sh(e,t,o),ba(e,t,o)):(bt&&l&&dh(t),t.flags|=1,Vn(e,t,r,o),t.child)}function cx(e,t,n,r,o){if(e===null){var a=n.type;return typeof a=="function"&&!uh(a)&&a.defaultProps===void 0&&n.compare===null?(t.tag=15,t.type=a,TS(e,t,a,r,o)):(e=md(n.type,null,r,t,t.mode,o),e.ref=t.ref,e.return=t,t.child=e)}if(a=e.child,!_h(e,o)){var i=a.memoizedProps;if(n=n.compare,n=n!==null?n:Ec,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 TS(e,t,n,r,o){if(e!==null){var a=e.memoizedProps;if(Ec(a,r)&&e.ref===t.ref)if(An=!1,t.pendingProps=r=a,_h(e,o))(e.flags&131072)!==0&&(An=!0);else return t.lanes=e.lanes,ba(e,t,o)}return _g(e,t,n,r,o)}function MS(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 ux(e,t,a,n,r)}if((n&536870912)!==0)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&pd(t,a!==null?a.cachePool:null),a!==null?Jv(t,a):Rg(),$0(t);else return r=t.lanes=536870912,ux(e,t,a!==null?a.baseLanes|n:n,n,r)}else a!==null?(pd(t,a.cachePool),Jv(t,a),Ha(t),t.memoizedState=null):(e!==null&&pd(t,null),Rg(),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 ux(e,t,n,r,o){var a=ph();return a=a===null?null:{parent:wn._currentValue,pool:a},t.memoizedState={baseLanes:n,cachePool:a},e!==null&&pd(t,null),Rg(),$0(t),e!==null&&gs(e,t,r,!0),t.childLanes=o,null}function yd(e,t){return t=Ud({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function dx(e,t,n){return Wi(t,e.child,null,n),e=yd(t,t.pendingProps),e.flags|=2,Cr(t),t.memoizedState=null,e}function Ek(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=yd(t,r),t.lanes=536870912,sc(null,e);if(Eg(t),(e=Kt)?(e=Sw(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=D0(e),n.return=t,t.child=n,Hn=t,Kt=null)):e=null,e===null)throw ii(t);return t.lanes=536870912,null}return yd(t,r)}var a=e.memoizedState;if(a!==null){var i=a.dehydrated;if(Eg(t),o)if(t.flags&256)t.flags&=-257,t=dx(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=i0(r,n),i!==0&&i!==a.retryLane))throw a.retryLane=i,el(e,i),dr(r,e,i),kh;Hd(),t=dx(e,t,n)}else e=a.treeContext,Kt=Qr(i.nextSibling),Hn=t,bt=!0,Xa=null,Wr=!1,e!==null&&I0(t,e),t=yd(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 bd(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 _g(e,t,n,r,o){return qi(t),n=vh(e,t,n,r,void 0,o),r=xh(),e!==null&&!An?(Sh(e,t,o),ba(e,t,o)):(bt&&r&&dh(t),t.flags|=1,Vn(e,t,n,o),t.child)}function fx(e,t,n,r,o,a){return qi(t),t.updateQueue=null,n=G0(t,r,n,o),K0(e),r=xh(),e!==null&&!An?(Sh(e,t,a),ba(e,t,a)):(bt&&r&&dh(t),t.flags|=1,Vn(e,t,n,a),t.child)}function mx(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=Og,t.stateNode=a,a._reactInternals=t,a=t.stateNode,a.props=r,a.state=t.memoizedState,a.refs={},hh(t),i=n.contextType,a.context=typeof i=="object"&&i!==null?$n(i):Kl,a.state=t.memoizedState,i=n.getDerivedStateFromProps,typeof i=="function"&&(Pp(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&&Og.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)&&ix(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"&&(Pp(t,n,u,r),c=t.memoizedState),(s=ja||ax(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,Ag(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)&&ix(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&&_d(e.dependencies)?(typeof l=="function"&&(Pp(t,n,l,r),p=t.memoizedState),(d=ja||ax(t,n,d,r,f,p,s)||e!==null&&e.dependencies!==null&&_d(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,bd(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 px(e,t,n,r){return Gi(),t.flags|=256,Vn(e,t,n,r),t.child}var Up={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function jp(e){return{baseLanes:e,cachePool:P0()}}function Vp(e,t,n){return e=e!==null?e.childLanes&~n:0,t&&(e|=Er),e}function OS(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=Sw(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=D0(e),n.return=t,t.child=n,Hn=t,Kt=null)):e=null,e===null)throw ii(t);return Gg(e)?t.lanes=32:t.lanes=536870912,null}var l=r.children;return r=r.fallback,o?(Ha(t),o=t.mode,l=Ud({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=jp(n),r.childLanes=Vp(e,i,n),t.memoizedState=Up,sc(null,r)):(Fa(t),Lg(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=Fp(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=Ud({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=jp(n),r.childLanes=Vp(e,i,n),t.memoizedState=Up,t=sc(null,r));else if(Fa(t),Gg(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=Fp(e,t,n)}else if(An||gs(e,t,n,!1),i=(n&e.childLanes)!==0,An||i){if(i=Pt,i!==null&&(r=i0(i,n),r!==0&&r!==s.retryLane))throw s.retryLane=r,el(e,r),dr(i,e,r),kh;Kg(l)||Hd(),t=Fp(e,t,n)}else Kg(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&&I0(t,e),t=Lg(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=jp(n):(o=l.cachePool,o!==null?(s=wn._currentValue,o=o.parent!==s?{parent:s,pool:s}:o):o=P0(),l={baseLanes:l.baseLanes|n,cachePool:o}),r.memoizedState=l,r.childLanes=Vp(e,i,n),t.memoizedState=Up,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 Lg(e,t){return t=Ud({mode:"visible",children:t},e.mode),t.return=e,e.child=t}function Ud(e,t){return e=Rr(22,e,null,t),e.lanes=0,e}function Fp(e,t,n){return Wi(t,e.child,null,n),e=Lg(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function gx(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),xg(e.return,t,n)}function Hp(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 kS(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?Nc:0,!l&&e!==null&&(e.flags&128)!==0)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&gx(e,n,t);else if(e.tag===19)gx(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&&Bd(e)===null&&(o=n),n=n.sibling;n=o,n===null?(o=t.child,t.child=null):(o=n.sibling,n.sibling=null),Hp(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&&Bd(e)===null){t.child=o;break}e=o.sibling,o.sibling=n,n=o,o=e}Hp(t,!0,n,null,a,r);break;case"together":Hp(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 _h(e,t){return(e.lanes&t)!==0?!0:(e=e.dependencies,!!(e!==null&&_d(e)))}function Nk(e,t,n){switch(t.tag){case 3:Rd(t,t.stateNode.containerInfo),Va(t,wn,e.memoizedState.cache),Gi();break;case 27:case 5:lg(t);break;case 4:Rd(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,Eg(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?OS(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 kS(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,MS(e,t,n,t.pendingProps);case 24:Va(t,wn,e.memoizedState.cache)}return ba(e,t,n)}function _S(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps)An=!0;else{if(!_h(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&&B0(t,Nc,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")uh(e)?(r=Qi(e,r),t.tag=1,t=mx(null,t,e,r,n)):(t.tag=0,t=_g(null,t,e,r,n));else{if(e!=null){var o=e.$$typeof;if(o===Qg){t.tag=11,t=sx(null,t,e,r,n);break e}else if(o===Xg){t.tag=14,t=cx(null,t,e,r,n);break e}}throw t=ag(e)||e,Error(K(306,t,""))}}return t;case 0:return _g(e,t,t.type,t.pendingProps,n);case 1:return r=t.type,o=Qi(r,t.pendingProps),mx(e,t,r,o,n);case 3:e:{if(Rd(t,t.stateNode.containerInfo),e===null)throw Error(K(387));r=t.pendingProps;var a=t.memoizedState;o=a.element,Ag(e,t),hc(t,r,null,n);var i=t.memoizedState;if(r=i.cache,Va(t,wn,r),r!==a.cache&&Sg(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=px(e,t,r,n);break e}else if(r!==o){o=qr(Error(K(424)),t),Tc(o),t=px(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=V0(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 bd(e,t),e===null?(n=zx(t.type,null,t.pendingProps,null))?t.memoizedState=n:bt||(n=t.type,e=t.pendingProps,r=qd(Qa.current).createElement(n),r[Fn]=t,r[fr]=e,Kn(r,n,e),In(r),t.stateNode=r):t.memoizedState=zx(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return lg(t),e===null&&bt&&(r=t.stateNode=ww(t.type,t.pendingProps,Qa.current),Hn=t,Wr=!0,o=Kt,ui(t.type)?(qg=o,Kt=Qr(r.firstChild)):Kt=o),Vn(e,t,t.pendingProps.children,n),bd(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&bt&&((o=r=Kt)&&(r=t_(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)),lg(t),o=t.type,a=t.pendingProps,i=e!==null?e.memoizedProps:null,r=a.children,Hg(o,a)?r=null:i!==null&&Hg(o,i)&&(t.flags|=32),t.memoizedState!==null&&(o=vh(e,t,bk,null,null,n),Dc._currentValue=o),bd(e,t),Vn(e,t,r,n),t.child;case 6:return e===null&&bt&&((e=n=Kt)&&(n=n_(n,t.pendingProps,Wr),n!==null?(t.stateNode=n,Hn=t,Kt=null,e=!0):e=!1),e||ii(t)),null;case 13:return OS(e,t,n);case 4:return Rd(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 sx(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 cx(e,t,t.type,t.pendingProps,n);case 15:return TS(e,t,t.type,t.pendingProps,n);case 19:return kS(e,t,n);case 31:return Ek(e,t,n);case 22:return MS(e,t,n,t.pendingProps);case 24:return qi(t),r=$n(wn),e===null?(o=ph(),o===null&&(o=Pt,a=mh(),o.pooledCache=a,a.refCount++,a!==null&&(o.pooledCacheLanes|=n),o=a),t.memoizedState={parent:r,cache:o},hh(t),Va(t,wn,o)):((e.lanes&n)!==0&&(Ag(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&&Sg(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 $p(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(nw())e.flags|=8192;else throw $i=Ld,gh}else e.flags&=-16777217}function hx(e,t){if(t.type!=="stylesheet"||(t.state.loading&4)!==0)e.flags&=-16777217;else if(e.flags|=16777216,!Rw(t))if(nw())e.flags|=8192;else throw $i=Ld,gh}function nd(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag!==22?r0():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 Tk(e,t,n){var r=t.pendingProps;switch(fh(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,Bp())),$t(t),null;case 26:var o=t.type,a=t.memoizedState;return e===null?(ra(t),a!==null?($t(t),hx(t,a)):($t(t),$p(t,o,null,r,n))):a?a!==e.memoizedState?(ra(t),$t(t),hx(t,a)):($t(t),t.flags&=-16777217):(e=e.memoizedProps,e!==r&&ra(t),$t(t),$p(t,o,e,r,n)),null;case 27:if(Ed(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)?Kv(t,e):(e=ww(o,r,n),t.stateNode=e,ra(t))}return $t(t),null;case 5:if(Ed(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))Kv(t,a);else{var i=qd(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),$p(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||bw(e.nodeValue,n)),e||ii(t,!0)}else e=qd(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=Bp(),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=Bp(),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),nd(t,t.updateQueue),$t(t),null);case 4:return ns(),e===null&&Uh(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=Bd(e),a!==null){for(t.flags|=128,tc(r,!1),e=a.updateQueue,t.updateQueue=e,nd(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)L0(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&&Nr()>Vd&&(t.flags|=128,o=!0,tc(r,!1),t.lanes=4194304)}else{if(!o)if(e=Bd(a),e!==null){if(t.flags|=128,o=!0,e=e.updateQueue,t.updateQueue=e,nd(t,e),tc(r,!0),r.tail===null&&r.tailMode==="hidden"&&!a.alternate&&!bt)return $t(t),null}else 2*Nr()-r.renderingStartTime>Vd&&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=Nr(),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),yh(),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&&nd(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 Mk(e,t){switch(fh(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 Ed(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),yh(),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 LS(e,t){switch(fh(t),t.tag){case 3:ma(wn),ns();break;case 26:case 27:case 5:Ed(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),yh(),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){Nt(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){Nt(o,s,d)}}}r=r.next}while(r!==a)}}catch(d){Nt(t,t.return,d)}}function DS(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{H0(t,n)}catch(r){Nt(e,e.return,r)}}}function BS(e,t,n){n.props=Qi(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(r){Nt(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){Nt(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){Nt(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){Nt(e,t,o)}else n.current=null}function IS(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){Nt(e,e.return,o)}}function Kp(e,t,n){try{var r=e.stateNode;Yk(r,e.type,n,t),r[fr]=t}catch(o){Nt(e,e.return,o)}}function zS(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&ui(e.type)||e.tag===4}function Gp(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||zS(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 Dg(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(Dg(e,t,n),e=e.sibling;e!==null;)Dg(e,t,n),e=e.sibling}function jd(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(jd(e,t,n),e=e.sibling;e!==null;)jd(e,t,n),e=e.sibling}function PS(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){Nt(e,e.return,a)}}var sa=!1,Sn=!1,qp=!1,yx=typeof WeakSet=="function"?WeakSet:Set,Bn=null;function Ok(e,t){if(e=e.containerInfo,Vg=Xd,e=R0(e),lh(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(Fg={focusedElem:e,selectionRange:n},Xd=!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){Nt(n,n.return,m)}}break;case 3:if((e&1024)!==0){if(e=t.stateNode.containerInfo,n=e.nodeType,n===9)$g(e);else if(n===1)switch(e.nodeName){case"HEAD":case"HTML":case"BODY":$g(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 US(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){Nt(n,n.return,i)}else{var o=Qi(n.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(o,t,e.__reactInternalSnapshotBeforeUpdate)}catch(i){Nt(n,n.return,i)}}r&64&&DS(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{H0(e,t)}catch(i){Nt(n,n.return,i)}}break;case 27:t===null&&r&4&&PS(n);case 26:case 5:aa(e,n),t===null&&r&4&&IS(n),r&512&&bc(n,n.return);break;case 12:aa(e,n);break;case 31:aa(e,n),r&4&&FS(e,n);break;case 13:aa(e,n),r&4&&HS(e,n),r&64&&(e=n.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(n=Uk.bind(null,n),r_(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 jS(e){var t=e.alternate;t!==null&&(e.alternate=null,jS(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&th(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;)VS(e,t,n),n=n.sibling}function VS(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){Nt(n,t,a)}else try{Qt.removeChild(n.stateNode)}catch(a){Nt(n,t,a)}break;case 18:Qt!==null&&(cr?(e=Qt,_x(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,n.stateNode),fs(e)):_x(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"&&BS(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 FS(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{fs(e)}catch(n){Nt(t,t.return,n)}}}function HS(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){Nt(t,t.return,n)}}function kk(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new yx),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new yx),t;default:throw Error(K(435,e.tag))}}function rd(e,t){var n=kk(e);t.forEach(function(r){if(!n.has(r)){n.add(r);var o=jk.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));VS(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;)$S(t,e),t=t.sibling}var po=null;function $S(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=Ux("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=Ux("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 jx(o,e.type,e.stateNode);else e.stateNode=Px(o,r,e.memoizedProps);else a!==r?(a===null?n.stateNode!==null&&(n=n.stateNode,n.parentNode.removeChild(n)):a.count--,r===null?jx(o,e.type,e.stateNode):Px(o,r,e.memoizedProps)):r===null&&e.stateNode!==null&&Kp(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&&Kp(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){Nt(e,e.return,b)}}r&4&&e.stateNode!=null&&(o=e.memoizedProps,Kp(e,o,n!==null?n.memoizedProps:o)),r&1024&&(qp=!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){Nt(e,e.return,b)}}break;case 3:if(Sd=null,o=po,po=Wd(t.containerInfo),lr(t,e),po=o,sr(e),r&4&&n!==null&&n.memoizedState.isDehydrated)try{fs(t.containerInfo)}catch(b){Nt(e,e.return,b)}qp&&(qp=!1,KS(e));break;case 4:r=po,po=Wd(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,rd(e,r)));break;case 13:lr(t,e),sr(e),e.child.flags&8192&&e.memoizedState!==null!=(n!==null&&n.memoizedState!==null)&&(df=Nr()),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,rd(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){Nt(s,s.return,b)}}}else if(t.tag===6){if(n===null){s=t;try{s.stateNode.nodeValue=o?"":s.memoizedProps}catch(b){Nt(s,s.return,b)}}}else if(t.tag===18){if(n===null){s=t;try{var p=s.stateNode;o?Lx(p,!0):Lx(s.stateNode,!1)}catch(b){Nt(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,rd(e,n))));break;case 19:lr(t,e),sr(e),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,rd(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(zS(r)){n=r;break}r=r.return}if(n==null)throw Error(K(160));switch(n.tag){case 27:var o=n.stateNode,a=Gp(e);jd(e,a,o);break;case 5:var i=n.stateNode;n.flags&32&&(os(i,""),n.flags&=-33);var l=Gp(e);jd(e,l,i);break;case 3:case 4:var s=n.stateNode.containerInfo,c=Gp(e);Dg(e,c,s);break;default:throw Error(K(161))}}catch(d){Nt(e,e.return,d)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function KS(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;KS(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;)US(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"&&BS(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){Nt(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++)F0(s[o],l)}catch(c){Nt(r,r.return,c)}}n&&i&64&&DS(a),bc(a,a.return);break;case 27:PS(a);case 26:case 5:ia(o,a,n),n&&r===null&&i&4&&IS(a),bc(a,a.return);break;case 12:ia(o,a,n);break;case 31:ia(o,a,n),n&&i&4&&FS(o,a);break;case 13:ia(o,a,n),n&&i&4&&HS(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 Lh(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 Dh(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;)GS(e,t,n,r),t=t.sibling}function GS(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){Nt(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&&Lh(i,t);break;case 24:mo(e,t,n,r),o&2048&&Dh(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&&Lh(i.alternate,i);break;case 24:Bl(a,i,l,s,o),o&&c&2048&&Dh(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&&Lh(r.alternate,r);break;case 24:vc(n,r),o&2048&&Dh(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;)qS(e,t,n),e=e.sibling}function qS(e,t,n){switch(e.tag){case 26:Dl(e,t,n),e.flags&cc&&e.memoizedState!==null&&g_(n,po,e.memoizedState,e.memoizedProps);break;case 5:Dl(e,t,n);break;case 3:case 4:var r=po;po=Wd(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 WS(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,QS(r,e)}WS(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)YS(e),e=e.sibling}function YS(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,vd(e)):nc(e);break;default:nc(e)}}function vd(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,QS(r,e)}WS(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:li(8,t,t.return),vd(t);break;case 22:n=t.stateNode,n._visibility&2&&(n._visibility&=-3,vd(t));break;default:vd(t)}e=e.sibling}}function QS(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(jS(r),r===n){Bn=null;break e}if(o!==null){o.return=a,Bn=o;break e}Bn=a}}}var _k={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}},Lk=typeof WeakMap=="function"?WeakMap:Map,wt=0,Pt=null,dt=null,mt=0,Et=0,Ar=null,qa=!1,ys=!1,Bh=!1,va=0,mn=0,si=0,Ki=0,Ih=0,Er=0,ss=0,xc=null,ur=null,Bg=!1,df=0,XS=0,Vd=1/0,Fd=null,ei=null,Tn=0,ti=null,cs=null,pa=0,Ig=0,zg=null,JS=null,Sc=0,Pg=null;function Or(){return(wt&2)!==0&&mt!==0?mt&-mt:je.T!==null?Ph():l0()}function ZS(){if(Er===0)if((mt&536870912)===0||bt){var e=qu;qu<<=1,(qu&3932160)===0&&(qu=262144),Er=e}else Er=536870912;return e=_r.current,e!==null&&(e.flags|=32),Er}function dr(e,t,n){(e===Pt&&(Et===2||Et===9)||e.cancelPendingCommit!==null)&&(us(e,0),Wa(e,mt,Er,!1)),jc(e,n),((wt&2)===0||e!==Pt)&&(e===Pt&&((wt&2)===0&&(Ki|=n),mn===4&&Wa(e,mt,Er,!1)),Do(e))}function ew(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?Ik(e,t):Wp(e,t,!0),a=r;do{if(o===0){ys&&!r&&Wa(e,t,0,!1);break}else{if(n=e.current.alternate,a&&!Dk(n)){o=Wp(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=Wp(l,i,!1),i!==2){if(Bh&&!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,Er,!qa);break e;case 2:ur=null;break;case 3:case 5:break;default:throw Error(K(329))}if((t&62914560)===t&&(o=df+300-Nr(),10<o)){if(Wa(r,t,Er,!qa),Zd(r,0,!0)!==0)break e;pa=t,r.timeoutHandle=xw(bx.bind(null,r,n,ur,Fd,Bg,t,Er,Ki,ss,qa,a,"Throttled",-0,0),o);break e}bx(r,n,ur,Fd,Bg,t,Er,Ki,ss,qa,a,null,-0,0)}}break}while(!0);Do(e)}function bx(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},qS(t,a,u);var b=(a&62914560)===a?df-Nr():(a&4194048)===a?XS-Nr():0;if(b=h_(u,b),b!==null){pa=a,e.cancelPendingCommit=b(xx.bind(null,e,t,a,n,r,o,i,l,s,d,u,null,f,p)),Wa(e,a,i,!c);return}}xx(e,t,a,n,r,o,i,l,s)}function Dk(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&=~Ih,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&&o0(e,n,t)}function ff(){return(wt&6)===0?(Gc(0,!1),!1):!0}function zh(){if(dt!==null){if(Et===0)var e=dt.return;else e=dt,da=tl=null,wh(e),Zl=null,Mc=0,e=dt;for(;e!==null;)LS(e.alternate,e),e=e.return;dt=null}}function us(e,t){var n=e.timeoutHandle;n!==-1&&(e.timeoutHandle=-1,Jk(n)),n=e.cancelPendingCommit,n!==null&&(e.cancelPendingCommit=null,n()),pa=0,zh(),Pt=e,dt=n=fa(e.current,null),mt=t,Et=0,Ar=null,qa=!1,ys=Uc(e,t),Bh=!1,ss=Er=Ih=Ki=si=mn=0,ur=xc=null,Bg=!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,rf(),n}function tw(e,t){Qe=null,je.H=kc,t===hs||t===af?(t=Qv(),Et=3):t===gh?(t=Qv(),Et=4):Et=t===kh?8:t!==null&&typeof t=="object"&&typeof t.then=="function"?6:1,Ar=t,dt===null&&(mn=1,Pd(e,qr(t,e.current)))}function nw(){var e=_r.current;return e===null?!0:(mt&4194048)===mt?Yr===null:(mt&62914560)===mt||(mt&536870912)!==0?e===Yr:!1}function rw(){var e=je.H;return je.H=kc,e===null?kc:e}function ow(){var e=je.A;return je.A=_k,e}function Hd(){mn=4,qa||(mt&4194048)!==mt&&_r.current!==null||(ys=!0),(si&134217727)===0&&(Ki&134217727)===0||Pt===null||Wa(Pt,mt,Er,!1)}function Wp(e,t,n){var r=wt;wt|=2;var o=rw(),a=ow();(Pt!==e||mt!==t)&&(Fd=null,us(e,t)),t=!1;var i=mn;e:do try{if(Et!==0&&dt!==null){var l=dt,s=Ar;switch(Et){case 8:zh(),i=6;break e;case 3:case 2:case 9:case 6:_r.current===null&&(t=!0);var c=Et;if(Et=0,Ar=null,Wl(e,l,s,c),n&&ys){i=0;break e}break;default:c=Et,Et=0,Ar=null,Wl(e,l,s,c)}}Bk(),i=mn;break}catch(d){tw(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,rf()),i}function Bk(){for(;dt!==null;)aw(dt)}function Ik(e,t){var n=wt;wt|=2;var r=rw(),o=ow();Pt!==e||mt!==t?(Fd=null,Vd=Nr()+500,us(e,t)):ys=Uc(e,t);e:do try{if(Et!==0&&dt!==null){t=dt;var a=Ar;t:switch(Et){case 1:Et=0,Ar=null,Wl(e,t,a,1);break;case 2:case 9:if(Yv(a)){Et=0,Ar=null,vx(t);break}t=function(){Et!==2&&Et!==9||Pt!==e||(Et=7),Do(e)},a.then(t,t);break e;case 3:Et=7;break e;case 4:Et=5;break e;case 7:Yv(a)?(Et=0,Ar=null,vx(t)):(Et=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?Rw(i):l.stateNode.complete){Et=0,Ar=null;var s=l.sibling;if(s!==null)dt=s;else{var c=l.return;c!==null?(dt=c,mf(c)):dt=null}break t}}Et=0,Ar=null,Wl(e,t,a,5);break;case 6:Et=0,Ar=null,Wl(e,t,a,6);break;case 8:zh(),mn=6;break e;default:throw Error(K(462))}}zk();break}catch(d){tw(e,d)}while(!0);return da=tl=null,je.H=r,je.A=o,wt=n,dt!==null?0:(Pt=null,mt=0,rf(),mn)}function zk(){for(;dt!==null&&!iO();)aw(dt)}function aw(e){var t=_S(e.alternate,e,va);e.memoizedProps=e.pendingProps,t===null?mf(e):dt=t}function vx(e){var t=e,n=t.alternate;switch(t.tag){case 15:case 0:t=fx(n,t,t.pendingProps,t.type,void 0,mt);break;case 11:t=fx(n,t,t.pendingProps,t.type.render,t.ref,mt);break;case 5:wh(t);default:LS(n,t),t=dt=L0(t,va),t=_S(n,t,va)}e.memoizedProps=e.pendingProps,t===null?mf(e):dt=t}function Wl(e,t,n,r){da=tl=null,wh(t),Zl=null,Mc=0;var o=t.return;try{if(Rk(e,o,t,n,mt)){mn=1,Pd(e,qr(n,e.current)),dt=null;return}}catch(a){if(o!==null)throw dt=o,a;mn=1,Pd(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))),iw(t,e)):mf(t)}function mf(e){var t=e;do{if((t.flags&32768)!==0){iw(t,qa);return}e=t.return;var n=Tk(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 iw(e,t){do{var n=Mk(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 xx(e,t,n,r,o,a,i,l,s){e.cancelPendingCommit=null;do pf();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|=sh,hO(e,n,a,i,l,s),e===Pt&&(dt=Pt=null,mt=0),cs=t,ti=e,pa=n,Ig=a,zg=o,JS=r,(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?(e.callbackNode=null,e.callbackPriority=0,Vk(Nd,function(){return dw(),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{Ok(e,t,n)}finally{wt=i,At.p=o,je.T=r}}Tn=1,lw(),sw(),cw()}}function lw(){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{$S(t,e);var a=Fg,i=R0(e.containerInfo),l=a.focusedElem,s=a.selectionRange;if(i!==l&&l&&l.ownerDocument&&C0(l.ownerDocument.documentElement,l)){if(s!==null&&lh(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=Fv(l,m),g=Fv(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}}Xd=!!Vg,Fg=Vg=null}finally{wt=o,At.p=r,je.T=n}}e.current=t,Tn=2}}function sw(){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{US(e,t.alternate,t)}finally{wt=o,At.p=r,je.T=n}}Tn=3}}function cw(){if(Tn===4||Tn===3){Tn=0,lO();var e=ti,t=cs,n=pa,r=JS;(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?Tn=5:(Tn=0,cs=ti=null,uw(e,e.pendingLanes));var o=e.pendingLanes;if(o===0&&(ei=null),eh(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&&pf(),Do(e),o=e.pendingLanes,(n&261930)!==0&&(o&42)!==0?e===Pg?Sc++:(Sc=0,Pg=e):Sc=0,Gc(0,!1)}}function uw(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,Hc(t)))}function pf(){return lw(),sw(),cw(),dw()}function dw(){if(Tn!==5)return!1;var e=ti,t=Ig;Ig=0;var n=eh(pa),r=je.T,o=At.p;try{At.p=32>n?32:n,je.T=null,n=zg,zg=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,YS(a.current),GS(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,uw(e,t)}}function Sx(e,t,n){t=qr(n,t),t=kg(e.stateNode,t,2),e=Za(e,t,2),e!==null&&(jc(e,2),Do(e))}function Nt(e,t,n){if(e.tag===3)Sx(e,e,n);else for(;t!==null;){if(t.tag===3){Sx(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=ES(2),r=Za(t,n,2),r!==null&&(NS(n,r,t,e),jc(r,2),Do(r));break}}t=t.return}}function Yp(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new Lk;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)||(Bh=!0,o.add(n),e=Pk.bind(null,e,t,n),t.then(e,e))}function Pk(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>Nr()-df?(wt&2)===0&&us(e,0):Ih|=n,ss===mt&&(ss=0)),Do(e)}function fw(e,t){t===0&&(t=r0()),e=el(e,t),e!==null&&(jc(e,t),Do(e))}function Uk(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),fw(e,n)}function jk(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),fw(e,n)}function Vk(e,t){return Jg(e,t)}var $d=null,Il=null,Ug=!1,Kd=!1,Qp=!1,Ya=0;function Do(e){e!==Il&&e.next===null&&(Il===null?$d=Il=e:Il=Il.next=e),Kd=!0,Ug||(Ug=!0,Hk())}function Gc(e,t){if(!Qp&&Kd){Qp=!0;do for(var n=!1,r=$d;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,wx(r,a))}else a=mt,a=Zd(r,r===Pt?a:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),(a&3)===0||Uc(r,a)||(n=!0,wx(r,a));r=r.next}while(n);Qp=!1}}function Fk(){mw()}function mw(){Kd=Ug=!1;var e=0;Ya!==0&&Xk()&&(e=Ya);for(var t=Nr(),n=null,r=$d;r!==null;){var o=r.next,a=pw(r,t);a===0?(r.next=null,n===null?$d=o:n.next=o,o===null&&(Il=n)):(n=r,(e!==0||(a&3)!==0)&&(Kd=!0)),r=o}Tn!==0&&Tn!==5||Gc(e,!1),Ya!==0&&(Ya=0)}function pw(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]=gO(l,t)):s<=t&&(e.expiredLanes|=l),a&=~l}if(t=Pt,n=mt,n=Zd(e,e===t?n:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r=e.callbackNode,n===0||e===t&&(Et===2||Et===9)||e.cancelPendingCommit!==null)return r!==null&&r!==null&&Rp(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&&Rp(r),eh(n)){case 2:case 8:n=t0;break;case 32:n=Nd;break;case 268435456:n=n0;break;default:n=Nd}return r=gw.bind(null,e),n=Jg(n,r),e.callbackPriority=t,e.callbackNode=n,t}return r!==null&&r!==null&&Rp(r),e.callbackPriority=2,e.callbackNode=null,2}function gw(e,t){if(Tn!==0&&Tn!==5)return e.callbackNode=null,e.callbackPriority=0,null;var n=e.callbackNode;if(pf()&&e.callbackNode!==n)return null;var r=mt;return r=Zd(e,e===Pt?r:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r===0?null:(ew(e,r,t),pw(e,Nr()),e.callbackNode!=null&&e.callbackNode===n?gw.bind(null,e):null)}function wx(e,t){if(pf())return null;ew(e,t,!0)}function Hk(){Zk(function(){(wt&6)!==0?Jg(e0,Fk):mw()})}function Ph(){if(Ya===0){var e=as;e===0&&(e=Gu,Gu<<=1,(Gu&261888)===0&&(Gu=256)),Ya=e}return Ya}function Ax(e){return e==null||typeof e=="symbol"||typeof e=="boolean"?null:typeof e=="function"?e:ud(""+e)}function Cx(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 $k(e,t,n,r,o){if(t==="submit"&&n&&n.stateNode===o){var a=Ax((o[fr]||null).action),i=r.submitter;i&&(t=(t=i[fr]||null)?Ax(t.formAction):i.getAttribute("formAction"),t!==null&&(a=t,i=null));var l=new ef("action","action",null,r,o);e.push({event:l,listeners:[{instance:null,listener:function(){if(r.defaultPrevented){if(Ya!==0){var s=i?Cx(o,i):new FormData(o);Mg(n,{pending:!0,data:s,method:o.method,action:a},null,s)}}else typeof a=="function"&&(l.preventDefault(),s=i?Cx(o,i):new FormData(o),Mg(n,{pending:!0,data:s,method:o.method,action:a},a,s))},currentTarget:o}]})}}for(od=0;od<yg.length;od++)ad=yg[od],Rx=ad.toLowerCase(),Ex=ad[0].toUpperCase()+ad.slice(1),go(Rx,"on"+Ex);var ad,Rx,Ex,od;go(N0,"onAnimationEnd");go(T0,"onAnimationIteration");go(M0,"onAnimationStart");go("dblclick","onDoubleClick");go("focusin","onFocus");go("focusout","onBlur");go(sk,"onTransitionRun");go(ck,"onTransitionStart");go(uk,"onTransitionCancel");go(O0,"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(" "),Kk=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(_c));function hw(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){Md(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){Md(d)}o.currentTarget=null,a=s}}}}function ut(e,t){var n=t[cg];n===void 0&&(n=t[cg]=new Set);var r=e+"__bubble";n.has(r)||(yw(t,e,2,!1),n.add(r))}function Xp(e,t,n){var r=0;t&&(r|=4),yw(n,e,r,t)}var id="_reactListening"+Math.random().toString(36).slice(2);function Uh(e){if(!e[id]){e[id]=!0,s0.forEach(function(n){n!=="selectionchange"&&(Kk.has(n)||Xp(n,!1,e),Xp(n,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[id]||(t[id]=!0,Xp("selectionchange",!1,t))}}function yw(e,t,n,r){switch(Ow(t)){case 2:var o=v_;break;case 8:o=x_;break;default:o=Hh}n=o.bind(null,t,n,e),o=void 0,!pg||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 Jp(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}h0(function(){var c=a,d=rh(n),u=[];e:{var f=k0.get(e);if(f!==void 0){var p=ef,b=e;switch(e){case"keypress":if(fd(n)===0)break e;case"keydown":case"keyup":p=jO;break;case"focusin":b="focus",p=Op;break;case"focusout":b="blur",p=Op;break;case"beforeblur":case"afterblur":p=Op;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=Lv;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":p=TO;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":p=HO;break;case N0:case T0:case M0:p=kO;break;case O0:p=KO;break;case"scroll":case"scrollend":p=EO;break;case"wheel":p=qO;break;case"copy":case"cut":case"paste":p=LO;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":p=Bv;break;case"toggle":case"beforetoggle":p=YO}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!==mg&&(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=Lv,x="onMouseLeave",h="onMouseEnter",g="mouse",(e==="pointerout"||e==="pointerover")&&(m=Bv,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=Gk,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 E=Uv;else if(Pv(f))if(w0)E=ak;else{E=rk;var N=nk}else p=f.nodeName,!p||p.toLowerCase()!=="input"||f.type!=="checkbox"&&f.type!=="radio"?c&&nh(c.elementType)&&(E=Uv):E=ok;if(E&&(E=E(e,c))){S0(u,E,n,d);break e}N&&N(e,f,c),e==="focusout"&&c&&f.type==="number"&&c.memoizedProps.value!=null&&fg(f,"number",f.value)}switch(N=c?lc(c):window,e){case"focusin":(Pv(N)||N.contentEditable==="true")&&(Fl=N,gg=c,fc=null);break;case"focusout":fc=gg=Fl=null;break;case"mousedown":hg=!0;break;case"contextmenu":case"mouseup":case"dragend":hg=!1,Hv(u,n,d);break;case"selectionchange":if(lk)break;case"keydown":case"keyup":Hv(u,n,d)}var C;if(ih)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?v0(e,n)&&(O="onCompositionEnd"):e==="keydown"&&n.keyCode===229&&(O="onCompositionStart");O&&(b0&&n.locale!=="ko"&&(Vl||O!=="onCompositionStart"?O==="onCompositionEnd"&&Vl&&(C=y0()):(Ga=d,oh="value"in Ga?Ga.value:Ga.textContent,Vl=!0)),N=Gd(c,O),0<N.length&&(O=new Dv(O,e,null,n,d),u.push({event:O,listeners:N}),C?O.data=C:(C=x0(n),C!==null&&(O.data=C)))),(C=XO?JO(e,n):ZO(e,n))&&(O=Gd(c,"onBeforeInput"),0<O.length&&(N=new Dv("onBeforeInput","beforeinput",null,n,d),u.push({event:N,listeners:O}),N.data=C)),$k(u,e,c,n,d)}hw(u,t)})}function Lc(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Gd(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 Gk(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 qk=/\r\n?/g,Wk=/\u0000|\uFFFD/g;function Tx(e){return(typeof e=="string"?e:""+e).replace(qk,`
9
- `).replace(Wk,"")}function bw(e,t){return t=Tx(t),Tx(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":Yu(e,"class",r);break;case"tabIndex":Yu(e,"tabindex",r);break;case"dir":case"role":case"viewBox":case"width":case"height":Yu(e,n,r);break;case"style":g0(e,r,a);break;case"data":if(t!=="object"){Yu(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=ud(""+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=ud(""+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=ud(""+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),cd(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":cd(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=CO.get(n)||n,cd(e,n,r))}}function jg(e,t,n,r,o,a){switch(n){case"style":g0(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(!c0.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,""):cd(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)}}f0(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)}p0(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(nh(t)){for(d in n)n.hasOwnProperty(d)&&(r=n[d],r!==void 0&&jg(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 Yk(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)}}dg(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)}m0(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(nh(t)){for(var v in n)f=n[v],n.hasOwnProperty(v)&&f!==void 0&&!r.hasOwnProperty(v)&&jg(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||jg(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 Mx(e){switch(e){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function Qk(){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&&Mx(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&&Mx(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 Vg=null,Fg=null;function qd(e){return e.nodeType===9?e:e.ownerDocument}function Ox(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 vw(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 Hg(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 Zp=null;function Xk(){var e=window.event;return e&&e.type==="popstate"?e===Zp?!1:(Zp=e,!0):(Zp=null,!1)}var xw=typeof setTimeout=="function"?setTimeout:void 0,Jk=typeof clearTimeout=="function"?clearTimeout:void 0,kx=typeof Promise=="function"?Promise:void 0,Zk=typeof queueMicrotask=="function"?queueMicrotask:typeof kx<"u"?function(e){return kx.resolve(null).then(e).catch(e_)}:xw;function e_(e){setTimeout(function(){throw e})}function ui(e){return e==="head"}function _x(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 Lx(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 $g(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":$g(n),th(n);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(n.rel.toLowerCase()==="stylesheet")continue}e.removeChild(n)}}function t_(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 n_(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 Sw(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 Kg(e){return e.data==="$?"||e.data==="$~"}function Gg(e){return e.data==="$!"||e.data==="$?"&&e.ownerDocument.readyState!=="loading"}function r_(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 qg=null;function Dx(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 Bx(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 ww(e,t,n){switch(t=qd(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]);th(e)}var Xr=new Map,Ix=new Set;function Wd(e){return typeof e.getRootNode=="function"?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var xa=At.d;At.d={f:o_,r:a_,D:i_,C:l_,L:s_,m:c_,X:d_,S:u_,M:f_};function o_(){var e=xa.f(),t=ff();return e||t}function a_(e){var t=ps(e);t!==null&&t.tag===5&&t.type==="form"?gS(t):xa.r(e)}var bs=typeof document>"u"?null:document;function Aw(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+'"]'),Ix.has(o)||(Ix.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 i_(e){xa.D(e),Aw("dns-prefetch",e,null)}function l_(e,t){xa.C(e,t),Aw("preconnect",e,t)}function s_(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 c_(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 u_(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))&&jh(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,xd(i,t,r)}i={type:"stylesheet",instance:i,count:1,state:l},o.set(a,i)}}}function d_(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))&&Vh(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 f_(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))&&Vh(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 zx(e,t,n,r){var o=(o=Qa.current)?Wd(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||m_(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 Cw(e){return Gt({},e,{"data-precedence":e.precedence,precedence:null})}function m_(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 Px(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),xd(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=Cw(n),(o=Xr.get(o))&&jh(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,xd(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),Vh(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,xd(r,n.precedence,e));return t.instance}function xd(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 jh(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.title==null&&(e.title=t.title)}function Vh(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.integrity==null&&(e.integrity=t.integrity)}var Sd=null;function Ux(e,t,n){if(Sd===null){var r=new Map,o=Sd=new Map;o.set(n,r)}else o=Sd,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 jx(e,t,n){e=e.ownerDocument||e,e.head.insertBefore(n,t==="title"?e.querySelector("head > title"):null)}function p_(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 Rw(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function g_(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=Yd.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=a,In(a);return}a=t.ownerDocument||t,r=Cw(r),(o=Xr.get(o))&&jh(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=Yd.bind(e),t.addEventListener("load",n),t.addEventListener("error",n))}}var eg=0;function h_(e,t){return e.stylesheets&&e.count===0&&wd(e,e.stylesheets),0<e.count||0<e.imgCount?function(n){var r=setTimeout(function(){if(e.stylesheets&&wd(e,e.stylesheets),e.unsuspend){var a=e.unsuspend;e.unsuspend=null,a()}},6e4+t);0<e.imgBytes&&eg===0&&(eg=62500*Qk());var o=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&wd(e,e.stylesheets),e.unsuspend)){var a=e.unsuspend;e.unsuspend=null,a()}},(e.imgBytes>eg?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(o)}}:null}function Yd(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)wd(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Qd=null;function wd(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Qd=new Map,t.forEach(y_,e),Qd=null,Yd.call(e))}function y_(e,t){if(!(t.state.loading&4)){var n=Qd.get(e);if(n)var r=n.get(null);else{n=new Map,Qd.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=Yd.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 b_(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=Ep(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Ep(0),this.hiddenUpdates=Ep(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 Ew(e,t,n,r,o,a,i,l,s,c,d,u){return e=new b_(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=mh(),t.refCount++,e.pooledCache=t,t.refCount++,a.memoizedState={element:r,isDehydrated:n,cache:t},hh(a),e}function Nw(e){return e?(e=Kl,e):Kl}function Tw(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 Vx(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function Fh(e,t){Vx(e,t),(e=e.alternate)&&Vx(e,t)}function Mw(e){if(e.tag===13||e.tag===31){var t=el(e,67108864);t!==null&&dr(t,e,67108864),Fh(e,67108864)}}function Fx(e){if(e.tag===13||e.tag===31){var t=Or();t=Zg(t);var n=el(e,t);n!==null&&dr(n,e,t),Fh(e,t)}}var Xd=!0;function v_(e,t,n,r){var o=je.T;je.T=null;var a=At.p;try{At.p=2,Hh(e,t,n,r)}finally{At.p=a,je.T=o}}function x_(e,t,n,r){var o=je.T;je.T=null;var a=At.p;try{At.p=8,Hh(e,t,n,r)}finally{At.p=a,je.T=o}}function Hh(e,t,n,r){if(Xd){var o=Wg(r);if(o===null)Jp(e,t,r,Jd,n),Hx(e,r);else if(w_(o,e,t,n,r))r.stopPropagation();else if(Hx(e,r),t&4&&-1<S_.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&&(Vd=Nr()+500,Gc(0,!1))}}break;case 31:case 13:l=el(a,2),l!==null&&dr(l,a,2),ff(),Fh(a,2)}if(a=Wg(r),a===null&&Jp(e,t,r,Jd,n),a===o)break;o=a}o!==null&&r.stopPropagation()}else Jp(e,t,r,null,n)}}function Wg(e){return e=rh(e),$h(e)}var Jd=null;function $h(e){if(Jd=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=Yx(t),e!==null)return e;e=null}else if(n===31){if(e=Qx(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 Jd=e,null}function Ow(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(sO()){case e0:return 2;case t0:return 8;case Nd:case cO:return 32;case n0:return 268435456;default:return 32}default:return 32}}var Yg=!1,ni=null,ri=null,oi=null,Bc=new Map,Ic=new Map,$a=[],S_="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 Hx(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&&Mw(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,o!==null&&t.indexOf(o)===-1&&t.push(o),e)}function w_(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 kw(e){var t=Ul(e.target);if(t!==null){var n=zc(t);if(n!==null){if(t=n.tag,t===13){if(t=Yx(n),t!==null){e.blockedOn=t,Ev(e.priority,function(){Fx(n)});return}}else if(t===31){if(t=Qx(n),t!==null){e.blockedOn=t,Ev(e.priority,function(){Fx(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 Ad(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=Wg(e.nativeEvent);if(n===null){n=e.nativeEvent;var r=new n.constructor(n.type,n);mg=r,n.target.dispatchEvent(r),mg=null}else return t=ps(n),t!==null&&Mw(t),e.blockedOn=n,!1;t.shift()}return!0}function $x(e,t,n){Ad(e)&&n.delete(t)}function A_(){Yg=!1,ni!==null&&Ad(ni)&&(ni=null),ri!==null&&Ad(ri)&&(ri=null),oi!==null&&Ad(oi)&&(oi=null),Bc.forEach($x),Ic.forEach($x)}function ld(e,t){e.blockedOn===t&&(e.blockedOn=null,Yg||(Yg=!0,Mn.unstable_scheduleCallback(Mn.unstable_NormalPriority,A_)))}var sd=null;function Kx(e){sd!==e&&(sd=e,Mn.unstable_scheduleCallback(Mn.unstable_NormalPriority,function(){sd===e&&(sd=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($h(r||n)===null)continue;break}var a=ps(n);a!==null&&(e.splice(t,3),t-=3,Mg(a,{pending:!0,data:o,method:n.method,action:r},r,o))}}))}function fs(e){function t(s){return ld(s,e)}ni!==null&&ld(ni,e),ri!==null&&ld(ri,e),oi!==null&&ld(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);)kw(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||Kx(n);else if(i){var l=null;if(a&&a.hasAttribute("formAction")){if(o=a,i=a[fr]||null)l=i.formAction;else if($h(o)!==null)continue}else l=i.action;typeof l=="function"?n[r+1]=l:(n.splice(r,3),r-=3),Kx(n)}}}function _w(){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 Kh(e){this._internalRoot=e}gf.prototype.render=Kh.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(K(409));var n=t.current,r=Or();Tw(n,r,e,t,null,null)};gf.prototype.unmount=Kh.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;Tw(e.current,2,null,e,null,null),ff(),t[ms]=null}};function gf(e){this._internalRoot=e}gf.prototype.unstable_scheduleHydration=function(e){if(e){var t=l0();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&&kw(e)}};var Gx=qx.version;if(Gx!=="19.2.4")throw Error(K(527,Gx,"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=tO(t),e=e!==null?Xx(e):null,e=e===null?null:e.stateNode,e};var C_={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(C_),Tr=oc}catch{}var oc;hf.createRoot=function(e,t){if(!Wx(e))throw Error(K(299));var n=!1,r="",o=AS,a=CS,i=RS;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=Ew(e,1,!1,null,null,n,r,null,o,a,i,_w),e[ms]=t.current,Uh(e),new Kh(t)};hf.hydrateRoot=function(e,t,n){if(!Wx(e))throw Error(K(299));var r=!1,o="",a=AS,i=CS,l=RS,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=Ew(e,1,!0,t,n??null,r,o,s,a,i,l,_w),t.context=Nw(null),n=t.current,r=Or(),r=Zg(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,Uh(e),new gf(t)};hf.version="19.2.4"});var Iw=No((eI,Bw)=>{"use strict";function Dw(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Dw)}catch(e){console.error(e)}}Dw(),Bw.exports=Lw()});var lA=No(Sf=>{"use strict";var m2=Symbol.for("react.transitional.element"),p2=Symbol.for("react.fragment");function iA(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:m2,type:e,key:r,ref:t!==void 0?t:null,props:n}}Sf.Fragment=p2;Sf.jsx=iA;Sf.jsxs=iA});var te=No((cI,sA)=>{"use strict";sA.exports=lA()});var fT=B(Iw(),1);var ye=B(xe(),1);function zw(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=zw(e[t]))&&(r&&(r+=" "),r+=n)}else for(n in e)e[n]&&(r&&(r+=" "),r+=n);return r}function yf(){for(var e,t,n=0,r="",o=arguments.length;n<o;n++)(e=arguments[n])&&(t=zw(e))&&(r&&(r+=" "),r+=t);return r}var Pw=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,Uw=yf,bf=(e,t)=>n=>{var r;if(t?.variants==null)return Uw(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=Pw(d)||Pw(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 Uw(e,i,s,n?.class,n?.className)};var R_=(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_=(e,t)=>({classGroupId:e,validator:t}),Kw=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n});var jw=[],N_="arbitrary..",T_=e=>{let t=O_(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:i=>{if(i.startsWith("[")&&i.endsWith("]"))return M_(i);let l=i.split("-"),s=l[0]===""&&l.length>1?1:0;return Gw(l,s,t)},getConflictingClassGroupIds:(i,l)=>{if(l){let s=r[i],c=n[i];return s?c?R_(c,s):s:c||jw}return n[i]||jw}}},Gw=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;let o=e[t],a=n.nextPart.get(o);if(a){let c=Gw(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}},M_=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})(),O_=e=>{let{theme:t,classGroups:n}=e;return k_(n,t)},k_=(e,t)=>{let n=Kw();for(let r in e){let o=e[r];qh(o,n,r,t)}return n},qh=(e,t,n,r)=>{let o=e.length;for(let a=0;a<o;a++){let i=e[a];__(i,t,n,r)}},__=(e,t,n,r)=>{if(typeof e=="string"){L_(e,t,n);return}if(typeof e=="function"){D_(e,t,n,r);return}B_(e,t,n,r)},L_=(e,t,n)=>{let r=e===""?t:qw(t,e);r.classGroupId=n},D_=(e,t,n,r)=>{if(I_(e)){qh(e(r),t,n,r);return}t.validators===null&&(t.validators=[]),t.validators.push(E_(n,e))},B_=(e,t,n,r)=>{let o=Object.entries(e),a=o.length;for(let i=0;i<a;i++){let[l,s]=o[i];qh(s,qw(t,l),n,r)}},qw=(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=Kw(),n.nextPart.set(i,l)),n=l}return n},I_=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,z_=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 P_=[],Vw=(e,t,n,r,o)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:o}),U_=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 Vw(a,p,f,b)};if(t){let o=t+":",a=r;r=i=>i.startsWith(o)?a(i.slice(o.length)):Vw(P_,!1,i,void 0,!0)}if(n){let o=r;r=a=>n({className:a,parseClassName:o})}return r},j_=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}},V_=e=>({cache:z_(e.cacheSize),parseClassName:U_(e),sortModifiers:j_(e),...T_(e)}),F_=/\s+/,H_=(e,t)=>{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:o,sortModifiers:a}=t,i=[],l=e.trim().split(F_),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 E=0;E<A.length;++E){let N=A[E];i.push(y+N)}s=d+(s.length>0?" "+s:s)}return s},$_=(...e)=>{let t=0,n,r,o="";for(;t<e.length;)(n=e[t++])&&(r=Ww(n))&&(o&&(o+=" "),o+=r);return o},Ww=e=>{if(typeof e=="string")return e;let t,n="";for(let r=0;r<e.length;r++)e[r]&&(t=Ww(e[r]))&&(n&&(n+=" "),n+=t);return n},K_=(e,...t)=>{let n,r,o,a,i=s=>{let c=t.reduce((d,u)=>u(d),e());return n=V_(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=H_(s,n);return o(s,d),d};return a=i,(...s)=>a($_(...s))},G_=[],On=e=>{let t=n=>n[e]||G_;return t.isThemeGetter=!0,t},Yw=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Qw=/^\((?:(\w[\w-]*):)?(.+)\)$/i,q_=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,W_=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Y_=/\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$/,Q_=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,X_=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,J_=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,di=e=>q_.test(e),ot=e=>!!e&&!Number.isNaN(Number(e)),fi=e=>!!e&&Number.isInteger(Number(e)),Gh=e=>e.endsWith("%")&&ot(e.slice(0,-1)),Sa=e=>W_.test(e),Xw=()=>!0,Z_=e=>Y_.test(e)&&!Q_.test(e),Wh=()=>!1,e2=e=>X_.test(e),t2=e=>J_.test(e),n2=e=>!Ae(e)&&!Ce(e),r2=e=>mi(e,eA,Wh),Ae=e=>Yw.test(e),nl=e=>mi(e,tA,Z_),Fw=e=>mi(e,d2,ot),o2=e=>mi(e,rA,Xw),a2=e=>mi(e,nA,Wh),Hw=e=>mi(e,Jw,Wh),i2=e=>mi(e,Zw,t2),vf=e=>mi(e,oA,e2),Ce=e=>Qw.test(e),Yc=e=>rl(e,tA),l2=e=>rl(e,nA),$w=e=>rl(e,Jw),s2=e=>rl(e,eA),c2=e=>rl(e,Zw),xf=e=>rl(e,oA,!0),u2=e=>rl(e,rA,!0),mi=(e,t,n)=>{let r=Yw.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},rl=(e,t,n=!1)=>{let r=Qw.exec(e);return r?r[1]?t(r[1]):n:!1},Jw=e=>e==="position"||e==="percentage",Zw=e=>e==="image"||e==="url",eA=e=>e==="length"||e==="size"||e==="bg-size",tA=e=>e==="length",d2=e=>e==="number",nA=e=>e==="family-name",rA=e=>e==="number"||e==="weight",oA=e=>e==="shadow";var f2=()=>{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],E=()=>["auto","hidden","clip","visible","scroll"],N=()=>["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(),$w,Hw,{position:[Ce,Ae]}],ne=()=>["no-repeat",{repeat:["","x","y","space","round"]}],Ve=()=>["auto","cover","contain",s2,r2,{size:[Ce,Ae]}],ae=()=>[Gh,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,Gh,$w,Hw],ke=()=>["","none",b,Ce,Ae],we=()=>["none",ot,Ce,Ae],Ne=()=>["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:[Xw],container:[Sa],"drop-shadow":[Sa],ease:["in","out","in-out"],font:[n2],"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:E()}],"overflow-x":[{"overflow-x":E()}],"overflow-y":[{"overflow-y":E()}],overscroll:[{overscroll:N()}],"overscroll-x":[{"overscroll-x":N()}],"overscroll-y":[{"overscroll-y":N()}],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,u2,o2]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Gh,Ae]}],"font-family":[{font:[l2,a2,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,Fw]}],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]},c2,i2]}],"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,xf,vf]}],"shadow-color":[{shadow:j()}],"inset-shadow":[{"inset-shadow":["none",u,xf,vf]}],"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,xf,vf]}],"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,xf,vf]}],"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:Ne()}],"scale-x":[{"scale-x":Ne()}],"scale-y":[{"scale-y":Ne()}],"scale-z":[{"scale-z":Ne()}],"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,Fw]}],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 aA=K_(f2);function Q(...e){return aA(yf(e))}var cA=B(te(),1),g2=bf("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,cA.jsx)("span",{className:Q(g2({variant:t}),e),...n})}var uA=B(te(),1),h2=bf("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,uA.jsx)("button",{className:Q(h2({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 bI=!!(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 fA=B(xe(),1);function dA(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function Yh(...e){return t=>{let n=!1,r=e.map(o=>{let a=dA(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():dA(e[o],null)}}}}function Tt(...e){return fA.useCallback(Yh(...e),e)}var wa=B(xe(),1),mA=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,mA.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,y2(o,...t)]}function y2(...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 pA=B(xe(),1),on=globalThis?.document?pA.useLayoutEffect:()=>{};var wf=B(xe(),1);var b2=eo[" useInsertionEffect ".trim().toString()]||on;function Aa({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){let[o,a,i]=v2({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=x2(d)?d(e):d;u!==e&&i.current?.(u)}else a(d)},[l,e,a,i]);return[s,c]}function v2({defaultProp:e,onChange:t}){let[n,r]=eo.useState(e),o=eo.useRef(n),a=eo.useRef(t);return b2(()=>{a.current=t},[t]),eo.useEffect(()=>{o.current!==n&&(a.current?.(n),o.current=n)},[n,o]),[n,r,a]}function x2(e){return typeof e=="function"}var Af=B(xe(),1);function Cf(e){let t=Af.useRef({value:e,previous:e});return Af.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}var gA=B(xe(),1);function Rf(e){let[t,n]=gA.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 hA=B(xe(),1),yA=B(Bi(),1);var kn=B(xe(),1);var Ef=B(te(),1);function ol(e){let t=S2(e),n=kn.forwardRef((r,o)=>{let{children:a,...i}=r,l=kn.Children.toArray(a),s=l.find(A2);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,Ef.jsx)(t,{...i,ref:o,children:kn.isValidElement(c)?kn.cloneElement(c,void 0,d):null})}return(0,Ef.jsx)(t,{...i,ref:o,children:a})});return n.displayName=`${e}.Slot`,n}function S2(e){let t=kn.forwardRef((n,r)=>{let{children:o,...a}=n;if(kn.isValidElement(o)){let i=R2(o),l=C2(a,o.props);return o.type!==kn.Fragment&&(l.ref=r?Yh(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 w2=Symbol("radix.slottable");function A2(e){return kn.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===w2}function C2(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 R2(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 bA=B(te(),1),E2=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],at=E2.reduce((e,t)=>{let n=ol(`Primitive.${t}`),r=hA.forwardRef((o,a)=>{let{asChild:i,...l}=o,s=i?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),(0,bA.jsx)(s,{...l,ref:a})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function vA(e,t){e&&yA.flushSync(()=>e.dispatchEvent(t))}var al=B(te(),1),Nf="Switch",[N2,UI]=Zr(Nf),[T2,M2]=N2(Nf),xA=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)(T2,{scope:n,checked:h,disabled:l,children:[(0,al.jsx)(at.button,{type:"button",role:"switch","aria-checked":h,"aria-required":i,"data-state":CA(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)(AA,{control:f,bubbles:!m.current,name:r,value:s,checked:h,required:i,disabled:l,form:d,style:{transform:"translateX(-100%)"}})]})});xA.displayName=Nf;var SA="SwitchThumb",wA=ho.forwardRef((e,t)=>{let{__scopeSwitch:n,...r}=e,o=M2(SA,n);return(0,al.jsx)(at.span,{"data-state":CA(o.checked),"data-disabled":o.disabled?"":void 0,...r,ref:t})});wA.displayName=SA;var O2="SwitchBubbleInput",AA=ho.forwardRef(({__scopeSwitch:e,control:t,checked:n,bubbles:r=!0,...o},a)=>{let i=ho.useRef(null),l=Tt(i,a),s=Cf(n),c=Rf(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}})});AA.displayName=O2;function CA(e){return e?"checked":"unchecked"}var RA=xA,EA=wA;var Qh=B(te(),1);function Io({className:e,...t}){return(0,Qh.jsx)(RA,{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,Qh.jsx)(EA,{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 Tf=B(te(),1),_2=B(xe(),1);var L2=B(te(),1);function Mf(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,Tf.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,Tf.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),E=a(d,h);return gi.default.useEffect(()=>(E.itemMap.set(x,{ref:x,...y}),()=>{E.itemMap.delete(x)})),(0,Tf.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((E,N)=>y.indexOf(E.ref.current)-y.indexOf(N.ref.current))},[v.collectionRef,v.itemMap])}return[{Provider:i,Slot:c,ItemSlot:p},b,r]}var Xh=B(xe(),1);var D2=Xh[" useId ".trim().toString()]||(()=>{}),B2=0;function hi(e){let[t,n]=Xh.useState(D2());return on(()=>{e||n(r=>r??String(B2++))},[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 Of=B(xe(),1),I2=B(te(),1),z2=Of.createContext(void 0);function ws(e){let t=Of.useContext(z2);return e||t||"ltr"}var yi=B(te(),1),Jh="rovingFocusGroup.onEntryFocus",P2={bubbles:!1,cancelable:!0},Qc="RovingFocusGroup",[Zh,NA,U2]=Mf(Qc),[j2,ey]=Zr(Qc,[U2]),[V2,F2]=j2(Qc),TA=Pn.forwardRef((e,t)=>(0,yi.jsx)(Zh.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,yi.jsx)(Zh.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,yi.jsx)(H2,{...e,ref:t})})}));TA.displayName=Qc;var H2=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),[E,N]=Pn.useState(0);return Pn.useEffect(()=>{let C=f.current;if(C)return C.addEventListener(Jh,y),()=>C.removeEventListener(Jh,y)},[y]),(0,yi.jsx)(V2,{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(()=>N(C=>C+1),[]),onFocusableItemRemove:Pn.useCallback(()=>N(C=>C-1),[]),children:(0,yi.jsx)(at.div,{tabIndex:h||E===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(Jh,P2);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);kA(ue,d)}}A.current=!1}),onBlur:vt(e.onBlur,()=>g(!1))})})}),MA="RovingFocusGroupItem",OA=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=F2(MA,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)(Zh.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=G2(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?q2(y,x+1):y.slice(x+1)}setTimeout(()=>kA(y))}}),children:typeof i=="function"?i({isCurrentTabStop:u,hasTabStop:m!=null}):i})})});OA.displayName=MA;var $2={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function K2(e,t){return t!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function G2(e,t,n){let r=K2(e.key,n);if(!(t==="vertical"&&["ArrowLeft","ArrowRight"].includes(r))&&!(t==="horizontal"&&["ArrowUp","ArrowDown"].includes(r)))return $2[r]}function kA(e,t=!1){let n=document.activeElement;for(let r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}function q2(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var _A=TA,LA=OA;var gr=B(xe(),1);var DA=B(xe(),1);function Y2(e,t){return DA.useReducer((n,r)=>t[n][r]??n,e)}var ty=e=>{let{present:t,children:n}=e,r=Q2(t),o=typeof n=="function"?n({present:r.isPresent}):gr.Children.only(n),a=Tt(r.ref,X2(o));return typeof n=="function"||r.isPresent?gr.cloneElement(o,{ref:a}):null};ty.displayName="Presence";function Q2(e){let[t,n]=gr.useState(),r=gr.useRef(null),o=gr.useRef(e),a=gr.useRef("none"),i=e?"mounted":"unmounted",[l,s]=Y2(i,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return gr.useEffect(()=>{let c=kf(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=kf(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=kf(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=kf(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 kf(e){return e?.animationName||"none"}function X2(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),_f="Tabs",[J2,xz]=Zr(_f,[ey]),BA=ey(),[Z2,ny]=J2(_f),IA=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:_f});return(0,Ca.jsx)(Z2,{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})})});IA.displayName=_f;var zA="TabsList",PA=Ra.forwardRef((e,t)=>{let{__scopeTabs:n,loop:r=!0,...o}=e,a=ny(zA,n),i=BA(n);return(0,Ca.jsx)(_A,{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})})});PA.displayName=zA;var UA="TabsTrigger",jA=Ra.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,disabled:o=!1,...a}=e,i=ny(UA,n),l=BA(n),s=HA(i.baseId,r),c=$A(i.baseId,r),d=r===i.value;return(0,Ca.jsx)(LA,{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)})})})});jA.displayName=UA;var VA="TabsContent",FA=Ra.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,forceMount:o,children:a,...i}=e,l=ny(VA,n),s=HA(l.baseId,r),c=$A(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)(ty,{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})})});FA.displayName=VA;function HA(e,t){return`${e}-trigger-${t}`}function $A(e,t){return`${e}-content-${t}`}var KA=IA,GA=PA,qA=jA,WA=FA;var Xc=B(te(),1);function bi(e){return(0,Xc.jsx)(KA,{...e})}function vi({className:e,...t}){return(0,Xc.jsx)(GA,{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)(qA,{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)(WA,{className:Q("mt-4 outline-none",e),...t})}var Oz=Object.freeze({web_search_requests:0,web_fetch_requests:0}),kz=Object.freeze({ephemeral_1h_input_tokens:0,ephemeral_5m_input_tokens:0});var ry=Object.freeze(["gpt-5.3-codex","gpt-5.2-codex","gpt-5.1-codex-mini"]),oy=Object.freeze(["claude-sonnet-4-6","claude-opus-4-6","claude-haiku-4-5"]),Vz=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}),Fz=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 nL="127.0.0.1";var Jc=`http://${nL}:8376`,$z=`${Jc}/openai/v1`,Kz=`${Jc}/anthropic`,Gz=Object.freeze({enabled:!0});var Mt="default",rL="AICodeClient",oL="1.0.0",o3=iL();var a3=Object.freeze({CHATGPT_CODEX:"chatgpt-codex",CLAUDE_CODE:"claude-code"});var i3=Object.freeze(["5m","10m","30m","1h","24h","-1","0"]);function aL(){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 iL(){let{runtime:e,platform:t,arch:n}=aL();return`${rL}/${oL} (${t}; ${n}) ${e}`}var l3=Object.freeze(["brave","tavily","exa","searxng"]),s3=Object.freeze({brave:1e3,tavily:1e3,exa:1e3,searxng:0});var Lf=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"]})]),c3=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 ay=["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 ay.includes(n)?n:t}function YA(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}-${YA(a,o)}`}function QA(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} ${YA(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 Df(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 JA(e){let t=String(e||"").trim();return t?t.startsWith("alias:")?t.slice(6).trim():t:""}function lL(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=JA(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 sL(e={}){return(!e.modelAliases||typeof e.modelAliases!="object"||Array.isArray(e.modelAliases))&&(e.modelAliases={}),e.modelAliases[Mt]=lL(e,e.modelAliases),e}function cL(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 uL(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 Bf(e={}){sL(e);let t=cL(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(JA(n))){let r=String(e.defaultModel||"").trim()||uL(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 ZA(e=[]){return Df(Array.isArray(e)?e:[e])}function dL(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 fL(e={},t=[]){let n={...e},r=ZA(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 mL(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 pL(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:mL(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 eC(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),Bf(e)}function gL(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 XA(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 iy(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=gL(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:Df(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:Df(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)),Bf(r)}function ly(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=ZA(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=dL(f,n),f=fL(f,c),f=pL(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:Df(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 Bf(r)}function tC(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=XA(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=XA(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 eC(r)}function nC(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,Bf(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)),eC(n)}function rC(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 oC(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 sy="__codex_cli_inherit__",g3=Object.freeze(["minimal","low","medium","high","xhigh"]),hL=Object.freeze(["low","medium","high","xhigh","max"]),h3=Object.freeze({low:4096,medium:12e3,high:24e3,xhigh:28e3,max:31999});function If(e){return String(e||"").trim()===sy}function yL(e){let t=String(e||"").trim().toLowerCase();return hL.includes(t)?t:""}var aC=yL;var bL=Object.freeze(["off","none","low","medium","high"]);function vL(e){let t=String(e||"").trim();return t.startsWith("custom:")?t.slice(7).trim():t}function zf(e){let t=vL(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 iC(e){let t=String(e||"").trim().toLowerCase();return bL.includes(t)?t:""}var Xe={"content-type":"application/json"},cy={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"},lC=[{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"}},sC="https://github.com/khanglvm/llm-router",cC="https://github.com/sponsors/khanglvm",no="AICodeClient/1.0.0",uC=3e3,Pf=4e3,dC=100,fC=6,ll=/^[a-z][a-z0-9-]*$/,mC=/^[A-Za-z0-9][A-Za-z0-9._:\-\[\]]*$/,pC=[{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."}],Uf=[{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"}],jf=Object.fromEntries(Uf.map(e=>[e.value,e.label])),gC=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"}]),hC=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"}]),yC=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"}]),uy=ay;var bC=Object.freeze([{value:"ordered",label:"Ordered"},{value:"quota-balance",label:"Quota balance"}]),Vf=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})]),Ea=Object.fromEntries(Vf.map(e=>[e.id,e])),xi=5,au=1,iu=20,Rs="w-[5.5rem] justify-self-end",dy=["border-primary/45","bg-primary/5"],fy=[{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 Es({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 vC({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 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 .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 SC({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 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.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,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 CC({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 RC({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 Ns({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 EC({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 Ff({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:ry,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:oy,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 TC(e){return cu.filter(t=>t.category===e)}var my=Object.freeze(Object.fromEntries(cu.filter(e=>e.freeTierRpm?.host&&e.freeTierRpm?.models).map(e=>[e.freeTierRpm.host,e.freeTierRpm.models]))),uu=new Map,Hf=null;function MC(){return Hf||(Hf=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{}})),Hf)}function $f(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),...$f(t)]))}function Kf(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 Gf(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 py(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 OC(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 gy(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 Na(e,t){if(e?.classList){if(t){e.classList.add(...dy);return}e.classList.remove(...dy)}}function Ms(e){return typeof e?.closest=="function"?e.closest("[data-reorder-row='true']"):null}function qf(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(jf,t)?t:"ordered"}function Wf(e){let t=qf(e);return jf[t]||jf.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 kC(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 _C(){return{id:"",strategy:"auto",targets:[{ref:""}],fallbackTargets:[]}}function LC(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 hy(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 Yf(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)=>!Yf({...e?.[n]||{},...t}))}function yy(e=[]){return br(e).map(t=>({sourceId:t.sourceId,models:t.models,requests:t.requests,windowValue:t.windowValue,windowUnit:t.windowUnit}))}function DC(e=[]){let t=Array.isArray(e)?e.filter(Boolean):[];return t.length===0?"":t.length===1?QA(t[0]):`${t.length} rate limits`}function jo(e){return JSON.parse(JSON.stringify(e??{}))}function by(e,t={}){try{let n=JSON.parse(String(e||"{}"));return n&&typeof n=="object"&&!Array.isArray(n)?n:t}catch{return t}}function BC(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 IC(e){return e?.parseError?"danger":(e?.validationErrors||[]).length>0?"warning":"success"}function Qf(e=no){return[{name:"User-Agent",value:String(e||no)}]}function Xf(e=[]){return(Array.isArray(e)?e:[]).map(t=>({name:String(t?.name||""),value:t?.value===void 0||t?.value===null?"":String(t.value)}))}function xL(e,t=no){if(!e||typeof e!="object"||Array.isArray(e))return Qf(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:Qf(t)}function Jf(e=[]){let t={};for(let n of Xf(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 xy(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:Jf(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 UC(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 SL(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 Sy(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 SL(t)}function xo(e={}){return e?.type==="subscription"?"subscription":"api"}function jC(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 VC(e={}){let t=Ta(e),n=xo(e),r=jC(e),o=Zf(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 FC(e){return Lr(e).label||"API Key"}function wy(e){for(let t of e||[])try{let n=new URL(String(t||"")).hostname;if(my[n])return n}catch{}return null}function HC(e,t){let n=my[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 $C(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 Ay(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 Zf(e){return Lr(e).rateLimitDefaults||bo.custom.rateLimitDefaults}function wL(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 vy(e,t="openai"){let n=Lr(e),r=Zf(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"?[]:Ay(e,t),rateLimitRows:o?pu([],{keyPrefix:`quick-start-${e}-rate-limit`,defaults:r,includeDefault:!0}):[]}}function KC(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=vy(l),d=Array.isArray(t?.providers)?t.providers:[],u=wL(a.providerId,a.providerName,d),f=e.connectionType==="api"?Qf(o):[],p=i?Qf(o):[],b=Xf(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),E=Array.isArray(c.endpoints)?c.endpoints:[],N=A.length===0||JSON.stringify(A)===JSON.stringify(E),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=vy(r);return{...e,connectionType:n,selectedConnection:r,providerName:v?u.providerName:e.providerName,providerId:m?u.providerId:e.providerId,endpoints:i?N?[...V.endpoints]:Array.isArray(e.endpoints)?e.endpoints:[]:[],endpointDraft:i?N?"":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 AL(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 CL(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 em(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 zC(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 RL(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=>zC(a,t)).filter(Boolean)),o&&(n.fallbackTargets=e.fallbackTargets.map(a=>zC(a,t)).filter(Boolean)),n}function EL(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 GC(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?jC(l):"custom",d=l?.format==="claude"?"claude":"openai",u=vy(c,d),f=Zf(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?AL(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"?xL(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:CL(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 PC(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 Cy(e={}){let t=Dr(e?.providerId||e?.providerName||"")||"";return String(e?.subscriptionProfile||t||"default").trim()||t||"default"}function qC(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=em(t?.aliasModelIds,l),c=Zf(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=Jf(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:PC(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:Cy(t),format:Z,formats:[Z],models:PC(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?RL(G,{fromProviderId:p,toProviderId:a,allowedModelIds:y}):G;A[z]=Z}let E=m.models?.[0]?.id?`${a}/${m.models[0].id}`:"",N=(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:N.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=EL(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 tm(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 WC(e,t,n={},{targetProviderId:r=""}={}){let o=Dr(t?.providerId||t?.providerName||""),a=rr(t?.modelIds,t?.modelDraft),i=em(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 YC(e){return String(e||"").split("-").filter(Boolean).map(t=>t.charAt(0).toUpperCase()+t.slice(1)).join(" ")}function QC(e){let t=String(e||"").trim();if(!t)return"";let n=Lf.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=>Lf.find(i=>i?.id===a)?.defaultMatch).map(a=>String(a||"").trim()).filter(Boolean))];return o.length===1?o[0]:o.join(" | ")}function XC(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 TL(){return new Set([...Zc.map(e=>e.id),...Lf.map(e=>e.id)].map(e=>String(e||"").trim()).filter(Boolean))}var ML=TL();function hu(e){return ML.has(String(e||"").trim())}function nm(e){(!e.routes||typeof e.routes!="object"||Array.isArray(e.routes))&&(e.routes={}),Array.isArray(e.rawModelRoutes)||(e.rawModelRoutes=[])}function JC(e={}){return String(e?.sourceRouteKey||"").trim()}function Ry(e={}){let n=or(e).amp;nm(n);let r=new Map,o=[];for(let[l,s]of(n.rawModelRoutes||[]).entries()){let c=JC(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=QC(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:YC(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=QC(c),u=hu(c);return{id:`route:${c}`,source:"route",routeKey:c,inbound:c,outbound:String(s||"").trim(),label:u?d||c:YC(c),description:u?`Route key: ${c}`:`Custom route key: ${c}`,defaultMatch:d,isCustom:!0,removable:!0}});return[...a,...i,...o]}function ZC(e,t){return Ry(e).find(n=>n.id===t)||null}function Ey(e={},t,{inbound:n,outbound:r}={}){let o=or(e),a=o.amp;nm(a);let i=ZC(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=>JC(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 e1(e={},{inbound:t,outbound:n}={}){let r=or(e),o=r.amp;nm(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 t1(e={},t){let n=or(e),r=n.amp;nm(r);let o=ZC(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 n1(e=""){return String(e||"").trim().includes("/")}function Cn(e=""){let t=String(e||"").trim();return n1(t)?t:t.toLowerCase()}function wi(e="",t=""){let n=String(e||"").trim(),r=String(t||"").trim();return!n||!r?"":`${n}/${r}`}function OL(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 kL(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 r1(e={}){let t=String(e?.subscriptionType||e?.subscription_type||"").trim().toLowerCase();return String(e?.type||"").trim().toLowerCase()==="subscription"?t==="chatgpt-codex":OL(e).includes("openai")?!!String(e?.baseUrlByFormat?.openai||e?.baseUrl||"").trim():!1}function _L(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 LL(e={},t={}){if(!r1(e))return!1;let n=kL(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=Ea[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 DL(e={},t=""){let n=String(t||e?.id||wi(e?.providerId??e?.provider,e?.model??e?.modelId)).trim();if(!n1(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 BL(e={},t=""){return DL(e,t)||yu(e,t)}function o1(e={},t=new Set){return(Array.isArray(e?.providers)?e.providers:[]).map(r=>{let o=String(r?.id||"").trim();if(!o||r?.enabled===!1||!r1(r)||!_L(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)||!LL(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 a1(e={},t=null){let n=or(e),r=Ai(n),o=Array.isArray(r.providers)?r.providers.map(u=>BL(u,u?.id)).filter(Boolean):[],a=new Set(o.map(u=>Cn(u.id))),i=[...o,...Vf.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(E=>Cn(E.id)===f),m=i.findIndex(E=>Cn(E.id)===f),v=u.kind==="hosted"?p?.ready!==!1:!!u?.[Ea[u.id]?.credentialField||"apiKey"];if(u.kind==="hosted"){let E=c.get(u.providerId)||null;return{id:u.id,key:u.id,kind:"hosted",label:String(E?.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=Ea[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 i1(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 l1(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 s1(e={},t,n={}){let r=String(t||"").trim().toLowerCase();if(!Ea[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=Ea[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 c1(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 u1(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 d1(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(!Ea[r])return o;let c=[...i.map(m=>Cn(m?.id)).filter(Boolean),...Vf.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))Ea[m]&&b.add(m);return a.providers=f.filter(m=>b.has(m)).map(m=>l.get(m)||{id:m}),o}function f1(e,t,n){let r=String(e||"").trim().toLowerCase(),o=Ea[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 h1(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 IL(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 zL(e="",t={}){let n=t?.modelAliases&&typeof t.modelAliases=="object"&&!Array.isArray(t.modelAliases)?t.modelAliases:{},r=IL(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 y1(e={}){let t=e?.modelAliases&&typeof e.modelAliases=="object"&&!Array.isArray(e.modelAliases)?e.modelAliases:{};return Object.keys(t).map(n=>zL(n,e)).filter(n=>n.hasMixedContextWindows).sort((n,r)=>String(n.aliasId||"").localeCompare(String(r.aliasId||"")))}function rm(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=(rm.canvas||(rm.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 m1(e={}){return`${String(e?.model||"").trim()}::${String(e?.contextWindow||"").trim()}`}function PL(e){return String(e||"").trim().replace(/[.,\s_'`]/g,"")}function $o(e){let t=PL(e);if(!t)return"";let n=Number.parseInt(t,10);return Number.isFinite(n)&&n>0?String(n):t}function p1(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 g1(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=p1(e?.exactMatch),o=(Array.isArray(e?.suggestions)?e.suggestions:[]).map(d=>p1(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::${m1(r)}`,label:g1(r.model,r.provider)||"Exact match",detail:r.provider?`Exact \xB7 ${r.provider}`:"Exact",contextWindow:r.contextWindow});for(let d of o)c({key:m1(d),label:g1(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 om(e={}){let t=Ls(e);return t.exactMatch?.contextWindow?String(t.exactMatch.contextWindow):t.medianContextWindow?String(t.medianContextWindow):""}function b1(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 v1(e=[]){let t={};for(let n of Array.isArray(e)?e:[]){let r=String(n?.query||"").trim(),o=om(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 x1(e,t,n){let r=$C(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:fC})});return Array.isArray(n?.result)?n.result:[]}async function S1(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 w1(e,{onMessage:t}={}){return vu("/api/local-models/download-managed",{method:"POST",headers:Xe,body:JSON.stringify(e)},{onMessage:t})}async function A1(e){return(await Ze("/api/local-models/variants/save",{method:"POST",headers:Xe,body:JSON.stringify({variant:e})}))?.variants||{}}async function C1(e){return await Ze("/api/local-models/attach",{method:"POST",headers:Xe,body:JSON.stringify(e)})}async function R1(e){return await Ze("/api/local-models/locate",{method:"POST",headers:Xe,body:JSON.stringify(e)})}async function E1(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 T1(e){return Ze("/api/local-models/runtime/select",{method:"POST",headers:Xe,body:JSON.stringify({command:e})})}async function am(e="file"){return Ze("/api/local-models/browse",{method:"POST",headers:Xe,body:JSON.stringify({selection:e})})}async function M1(e){return Ze("/api/local-models/scan-path",{method:"POST",headers:Xe,body:JSON.stringify({path:e})})}var I4=B(xe(),1);var pt=B(xe(),1);var le=B(xe(),1),hb=B(Bi(),1);function Ty(e,[t,n]){return Math.min(n,Math.max(t,e))}var an=B(xe(),1);var O1=B(xe(),1);function k1(e,t=globalThis?.document){let n=pr(e);O1.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 Oy=B(te(),1),UL="DismissableLayer",My="dismissableLayer.update",jL="dismissableLayer.pointerDownOutside",VL="dismissableLayer.focusOutside",_1,D1=an.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),ky=an.forwardRef((e,t)=>{let{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:r,onPointerDownOutside:o,onFocusOutside:a,onInteractOutside:i,onDismiss:l,...s}=e,c=an.useContext(D1),[d,u]=an.useState(null),f=d?.ownerDocument??globalThis?.document,[,p]=an.useState({}),b=Tt(t,N=>u(N)),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=$L(N=>{let C=N.target,O=[...c.branches].some(L=>L.contains(C));!x||O||(o?.(N),i?.(N),N.defaultPrevented||l?.())},f),E=KL(N=>{let C=N.target;[...c.branches].some(L=>L.contains(C))||(a?.(N),i?.(N),N.defaultPrevented||l?.())},f);return k1(N=>{g===c.layers.size-1&&(r?.(N),!N.defaultPrevented&&l&&(N.preventDefault(),l()))},f),an.useEffect(()=>{if(d)return n&&(c.layersWithOutsidePointerEventsDisabled.size===0&&(_1=f.body.style.pointerEvents,f.body.style.pointerEvents="none"),c.layersWithOutsidePointerEventsDisabled.add(d)),c.layers.add(d),L1(),()=>{n&&c.layersWithOutsidePointerEventsDisabled.size===1&&(f.body.style.pointerEvents=_1)}},[d,f,n,c]),an.useEffect(()=>()=>{d&&(c.layers.delete(d),c.layersWithOutsidePointerEventsDisabled.delete(d),L1())},[d,c]),an.useEffect(()=>{let N=()=>p({});return document.addEventListener(My,N),()=>document.removeEventListener(My,N)},[]),(0,Oy.jsx)(at.div,{...s,ref:b,style:{pointerEvents:y?x?"auto":"none":void 0,...e.style},onFocusCapture:vt(e.onFocusCapture,E.onFocusCapture),onBlurCapture:vt(e.onBlurCapture,E.onBlurCapture),onPointerDownCapture:vt(e.onPointerDownCapture,A.onPointerDownCapture)})});ky.displayName=UL;var FL="DismissableLayerBranch",HL=an.forwardRef((e,t)=>{let n=an.useContext(D1),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,Oy.jsx)(at.div,{...e,ref:o})});HL.displayName=FL;function $L(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(){B1(jL,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 KL(e,t=globalThis?.document){let n=pr(e),r=an.useRef(!1);return an.useEffect(()=>{let o=a=>{a.target&&!r.current&&B1(VL,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 L1(){let e=new CustomEvent(My);document.dispatchEvent(e)}function B1(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?vA(o,a):o.dispatchEvent(a)}var z1=B(xe(),1),_y=0;function P1(){z1.useEffect(()=>{let e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??I1()),document.body.insertAdjacentElement("beforeend",e[1]??I1()),_y++,()=>{_y===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(t=>t.remove()),_y--}},[])}function I1(){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 H1=B(te(),1),Ly="focusScope.autoFocusOnMount",Dy="focusScope.autoFocusOnUnmount",U1={bubbles:!1,cancelable:!0},GL="FocusScope",By=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(E){if(p.paused||!l)return;let N=E.target;l.contains(N)?u.current=N:Ci(u.current,{select:!0})},y=function(E){if(p.paused||!l)return;let N=E.relatedTarget;N!==null&&(l.contains(N)||Ci(u.current,{select:!0}))},x=function(E){if(document.activeElement===document.body)for(let C of E)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){V1.add(p);let m=document.activeElement;if(!l.contains(m)){let h=new CustomEvent(Ly,U1);l.addEventListener(Ly,c),l.dispatchEvent(h),h.defaultPrevented||(qL(JL($1(l)),{select:!0}),document.activeElement===m&&Ci(l))}return()=>{l.removeEventListener(Ly,c),setTimeout(()=>{let h=new CustomEvent(Dy,U1);l.addEventListener(Dy,d),l.dispatchEvent(h),h.defaultPrevented||Ci(m??document.body,{select:!0}),l.removeEventListener(Dy,d),V1.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]=WL(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,H1.jsx)(at.div,{tabIndex:-1,...i,ref:f,onKeyDown:b})});By.displayName=GL;function qL(e,{select:t=!1}={}){let n=document.activeElement;for(let r of e)if(Ci(r,{select:t}),document.activeElement!==n)return}function WL(e){let t=$1(e),n=j1(t,e),r=j1(t.reverse(),e);return[n,r]}function $1(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 j1(e,t){for(let n of e)if(!YL(n,{upTo:t}))return n}function YL(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 QL(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&&QL(e)&&t&&e.select()}}var V1=XL();function XL(){let e=[];return{add(t){let n=e[0];t!==n&&n?.pause(),e=F1(e,t),e.unshift(t)},remove(t){e=F1(e,t),e[0]?.resume()}}}function F1(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function JL(e){return e.filter(t=>t.tagName!=="A")}var xr=B(xe(),1);var q1=["top","right","bottom","left"];var Ko=Math.min,ar=Math.max,wu=Math.round,Au=Math.floor,So=e=>({x:e,y:e}),ZL={left:"right",right:"left",bottom:"top",top:"bottom"};function lm(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 sm(e){return e==="x"?"y":"x"}function cm(e){return e==="y"?"height":"width"}function wo(e){let t=e[0];return t==="t"||t==="b"?"y":"x"}function um(e){return sm(wo(e))}function W1(e,t,n){n===void 0&&(n=!1);let r=sl(e),o=um(e),a=cm(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 Y1(e){let t=Su(e);return[im(e),t,im(t)]}function im(e){return e.includes("start")?e.replace("start","end"):e.replace("end","start")}var K1=["left","right"],G1=["right","left"],eD=["top","bottom"],tD=["bottom","top"];function nD(e,t,n){switch(e){case"top":case"bottom":return n?t?G1:K1:t?K1:G1;case"left":case"right":return t?eD:tD;default:return[]}}function Q1(e,t,n,r){let o=sl(e),a=nD(qo(e),n==="start",r);return o&&(a=a.map(i=>i+"-"+o),t&&(a=a.concat(a.map(im)))),a}function Su(e){let t=qo(e);return ZL[t]+e.slice(t.length)}function rD(e){return{top:0,right:0,bottom:0,left:0,...e}}function Iy(e){return typeof e!="number"?rD(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 X1(e,t,n){let{reference:r,floating:o}=e,a=wo(t),i=um(t),l=cm(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 eR(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=Iy(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 oD=50,tR=async(e,t,n)=>{let{placement:r="bottom",strategy:o="absolute",middleware:a=[],platform:i}=n,l=i.detectOverflow?i:{...i,detectOverflow:eR},s=await(i.isRTL==null?void 0:i.isRTL(t)),c=await i.getElementRects({reference:e,floating:t,strategy:o}),{x:d,y:u}=X1(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:E}=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},E&&p<oD&&(p++,typeof E=="object"&&(E.placement&&(f=E.placement),E.rects&&(c=E.rects===!0?await i.getElementRects({reference:e,floating:t,strategy:o}):E.rects),{x:d,y:u}=X1(c,f,s)),m=-1)}return{x:d,y:u,placement:f,strategy:o,middlewareData:b}},nR=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=Iy(d),f={x:n,y:r},p=um(o),b=cm(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],E=await(i.getOffsetParent==null?void 0:i.getOffsetParent(c)),N=E?E[y]:0;(!N||!await(i.isElement==null?void 0:i.isElement(E)))&&(N=l.floating[y]||a.floating[b]);let C=x/2-A/2,O=N/2-m[b]/2-1,L=Ko(u[h],O),V=Ko(u[g],O),z=L,G=N-m[b]-V,Z=N/2-m[b]/2+C,ue=lm(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 rR=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)]:Y1(l)),E=b!=="none";!f&&E&&A.push(...Q1(l,m,b,x));let N=[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=W1(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=N[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(E){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 J1(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function Z1(e){return q1.some(t=>e[t]>=0)}var oR=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=J1(i,n.reference);return{data:{referenceHiddenOffsets:l,referenceHidden:Z1(l)}}}case"escaped":{let i=await r.detectOverflow(t,{...a,altBoundary:!0}),l=J1(i,n.floating);return{data:{escapedOffsets:l,escaped:Z1(l)}}}default:return{}}}}};var aR=new Set(["left","top"]);async function aD(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=aR.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 iR=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 aD(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}}}}},lR=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=sm(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=lm(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=lm(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}}}}}},sR=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=sm(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=aR.has(qo(o)),A=a.reference[u]-a.floating[y]+(x&&((h=i.offset)==null?void 0:h[u])||0)+(x?0:v.crossAxis),E=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>E&&(b=E)}return{[f]:p,[u]:b}}}},cR=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),E=!t.middlewareData.shift,N=x,C=A;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(C=y),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(N=g),E&&!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)):N=m-2*(z!==0||G!==0?z+G:ar(d.top,d.bottom))}await s({...t,availableWidth:C,availableHeight:N});let O=await i.getDimensions(l.floating);return b!==O.width||m!==O.height?{reset:{rects:!0}}:{}}}};function dm(){return typeof window<"u"}function fl(e){return dR(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=(dR(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function dR(e){return dm()?e instanceof Node||e instanceof vr(e).Node:!1}function oo(e){return dm()?e instanceof Element||e instanceof vr(e).Element:!1}function Wo(e){return dm()?e instanceof HTMLElement||e instanceof vr(e).HTMLElement:!1}function uR(e){return!dm()||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 fR(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 iD=/transform|translate|scale|rotate|perspective|filter/,lD=/paint|layout|strict|content/,ul=e=>!!e&&e!=="none",zy;function fm(e){let t=oo(e)?ao(e):e;return ul(t.transform)||ul(t.translate)||ul(t.scale)||ul(t.rotate)||ul(t.perspective)||!mm()&&(ul(t.backdropFilter)||ul(t.filter))||iD.test(t.willChange||"")||lD.test(t.contain||"")}function mR(e){let t=Ma(e);for(;Wo(t)&&!ml(t);){if(fm(t))return t;if(Cu(t))return null;t=Ma(t)}return null}function mm(){return zy==null&&(zy=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),zy}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||uR(e)&&e.host||Ao(e);return uR(t)?t.host:t}function pR(e){let t=Ma(e);return ml(t)?e.ownerDocument?e.ownerDocument.body:e.body:Wo(t)&&Ds(t)?t:pR(t)}function dl(e,t,n){var r;t===void 0&&(t=[]),n===void 0&&(n=!0);let o=pR(e),a=o===((r=e.ownerDocument)==null?void 0:r.body),i=vr(o);if(a){let l=pm(i);return t.concat(i,i.visualViewport||[],Ds(o)?o:[],l&&n?dl(l):[])}else return t.concat(o,dl(o,[],n))}function pm(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function bR(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 Uy(e){return oo(e)?e:e.contextElement}function Bs(e){let t=Uy(e);if(!Wo(t))return So(1);let n=t.getBoundingClientRect(),{width:r,height:o,$:a}=bR(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 sD=So(0);function vR(e){let t=vr(e);return!mm()||!t.visualViewport?sD:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function cD(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=Uy(e),i=So(1);t&&(r?oo(r)&&(i=Bs(r)):i=Bs(e));let l=cD(a,n,r)?vR(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=pm(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=pm(b)}}return cl({width:d,height:u,x:s,y:c})}function gm(e,t){let n=Ru(e).scrollLeft;return t?t.left+n:pl(Ao(e)).left+n}function xR(e,t){let n=e.getBoundingClientRect(),r=n.left+t.scrollLeft-gm(e,n),o=n.top+t.scrollTop;return{x:r,y:o}}function uD(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?xR(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 dD(e){return Array.from(e.getClientRects())}function fD(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+gm(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 gR=25;function mD(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=mm();(!d||d&&t==="fixed")&&(l=o.offsetLeft,s=o.offsetTop)}let c=gm(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<=gR&&(a-=b)}else c<=gR&&(a+=c);return{width:a,height:i,x:l,y:s}}function pD(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 hR(e,t,n){let r;if(t==="viewport")r=mD(e,n);else if(t==="document")r=fD(Ao(e));else if(oo(t))r=pD(t,n);else{let o=vR(e);r={x:t.x-o.x,y:t.y-o.y,width:t.width,height:t.height}}return cl(r)}function SR(e,t){let n=Ma(e);return n===t||!oo(n)||ml(n)?!1:ao(n).position==="fixed"||SR(n,t)}function gD(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=fm(i);!s&&l.position==="fixed"&&(o=null),(a?!s&&!o:!s&&l.position==="static"&&!!o&&(o.position==="absolute"||o.position==="fixed")||Ds(i)&&!s&&SR(e,i))?r=r.filter(d=>d!==i):o=l,i=Ma(i)}return t.set(e,r),r}function hD(e){let{element:t,boundary:n,rootBoundary:r,strategy:o}=e,i=[...n==="clippingAncestors"?Cu(t)?[]:gD(t,this._c):[].concat(n),r],l=hR(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=hR(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 yD(e){let{width:t,height:n}=bR(e);return{width:t,height:n}}function bD(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=gm(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?xR(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 Py(e){return ao(e).position==="static"}function yR(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 wR(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)&&!Py(o))return o;o=Ma(o)}return n}let r=yR(e,t);for(;r&&fR(r)&&Py(r);)r=yR(r,t);return r&&ml(r)&&Py(r)&&!fm(r)?n:r||mR(e)||n}var vD=async function(e){let t=this.getOffsetParent||wR,n=this.getDimensions,r=await n(e.floating);return{reference:bD(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function xD(e){return ao(e).direction==="rtl"}var AR={convertOffsetParentRelativeRectToViewportRelativeRect:uD,getDocumentElement:Ao,getClippingRect:hD,getOffsetParent:wR,getElementRects:vD,getClientRects:dD,getDimensions:yD,getScale:Bs,isElement:oo,isRTL:xD};function CR(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function SD(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(E){let N=E[0].intersectionRatio;if(N!==s){if(!x)return i();N?i(!1,N):r=setTimeout(()=>{i(!1,1e-7)},1e3)}N===1&&!CR(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 jy(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=Uy(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?SD(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&&!CR(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 RR=iR;var ER=lR,NR=rR,TR=cR,MR=oR,Vy=nR;var OR=sR,Fy=(e,t,n)=>{let r=new Map,o={platform:AR,...n},a={...o.platform,_c:r};return tR(e,t,{...o,platform:a})};var Rn=B(xe(),1),_R=B(xe(),1),LR=B(Bi(),1),wD=typeof document<"u",AD=function(){},hm=wD?_R.useLayoutEffect:AD;function ym(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(!ym(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)&&!ym(e[a],t[a]))return!1}return!0}return e!==e&&t!==t}function DR(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function kR(e,t){let n=DR(e);return Math.round(t*n)/n}function Hy(e){let t=Rn.useRef(e);return hm(()=>{t.current=e}),t}function BR(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);ym(f,r)||p(r);let[b,m]=Rn.useState(null),[v,h]=Rn.useState(null),g=Rn.useCallback(ee=>{ee!==E.current&&(E.current=ee,m(ee))},[]),y=Rn.useCallback(ee=>{ee!==N.current&&(N.current=ee,h(ee))},[]),x=a||b,A=i||v,E=Rn.useRef(null),N=Rn.useRef(null),C=Rn.useRef(d),O=s!=null,L=Hy(s),V=Hy(o),z=Hy(c),G=Rn.useCallback(()=>{if(!E.current||!N.current)return;let ee={placement:t,strategy:n,middleware:f};V.current&&(ee.platform=V.current),Fy(E.current,N.current,ee).then(W=>{let j={...W,isPositioned:z.current!==!1};Z.current&&!ym(C.current,j)&&(C.current=j,LR.flushSync(()=>{u(j)}))})},[f,t,n,V,z]);hm(()=>{c===!1&&C.current.isPositioned&&(C.current.isPositioned=!1,u(ee=>({...ee,isPositioned:!1})))},[c]);let Z=Rn.useRef(!1);hm(()=>(Z.current=!0,()=>{Z.current=!1}),[]),hm(()=>{if(x&&(E.current=x),A&&(N.current=A),x&&A){if(L.current)return L.current(x,A,G);G()}},[x,A,G,L,O]);let ue=Rn.useMemo(()=>({reference:E,floating:N,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=kR(q.floating,d.x),j=kR(q.floating,d.y);return l?{...ee,transform:"translate("+W+"px, "+j+"px)",...DR(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 CD=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?Vy({element:r.current,padding:o}).fn(n):{}:r?Vy({element:r,padding:o}).fn(n):{}}}},IR=(e,t)=>{let n=RR(e);return{name:n.name,fn:n.fn,options:[e,t]}},zR=(e,t)=>{let n=ER(e);return{name:n.name,fn:n.fn,options:[e,t]}},PR=(e,t)=>({fn:OR(e).fn,options:[e,t]}),UR=(e,t)=>{let n=NR(e);return{name:n.name,fn:n.fn,options:[e,t]}},jR=(e,t)=>{let n=TR(e);return{name:n.name,fn:n.fn,options:[e,t]}};var VR=(e,t)=>{let n=MR(e);return{name:n.name,fn:n.fn,options:[e,t]}};var FR=(e,t)=>{let n=CD(e);return{name:n.name,fn:n.fn,options:[e,t]}};var HR=B(xe(),1);var $y=B(te(),1),RD="Arrow",$R=HR.forwardRef((e,t)=>{let{children:n,width:r=10,height:o=5,...a}=e;return(0,$y.jsx)(at.svg,{...a,ref:t,width:r,height:o,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?n:(0,$y.jsx)("polygon",{points:"0,0 30,0 15,10"})})});$R.displayName=RD;var KR=$R;var Ri=B(te(),1);var Ky="Popper",[GR,Gy]=Zr(Ky),[ND,qR]=GR(Ky),WR=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})};WR.displayName=Ky;var YR="PopperAnchor",QR=xr.forwardRef((e,t)=>{let{__scopePopper:n,virtualRef:r,...o}=e,a=qR(YR,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})});QR.displayName=YR;var qy="PopperContent",[TD,MD]=GR(qy),XR=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=qR(qy,n),[h,g]=xr.useState(null),y=Tt(t,U=>g(U)),[x,A]=xr.useState(null),E=Rf(x),N=E?.width??0,C=E?.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(kD),altBoundary:z},{refs:Z,floatingStyles:ue,placement:q,isPositioned:oe,middlewareData:ee}=BR({strategy:"fixed",placement:O,whileElementsMounted:(...U)=>jy(...U,{animationFrame:p==="always"}),elements:{reference:v.anchor},middleware:[IR({mainAxis:o+C,alignmentAxis:i}),s&&zR({mainAxis:!0,crossAxis:!1,limiter:u==="partial"?PR():void 0,...G}),s&&UR({...G}),jR({...G,apply:({elements:U,rects:fe,availableWidth:ve,availableHeight:ke})=>{let{width:we,height:Ne}=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",`${Ne}px`)}}),x&&FR({element:x,padding:l}),_D({arrowWidth:N,arrowHeight:C}),f&&VR({strategy:"referenceHidden",...G})]}),[W,j]=eE(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)(TD,{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"}})})})});XR.displayName=qy;var JR="PopperArrow",OD={top:"bottom",right:"left",bottom:"top",left:"right"},ZR=xr.forwardRef(function(t,n){let{__scopePopper:r,...o}=t,a=MD(JR,r),i=OD[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)(KR,{...o,ref:n,style:{...o.style,display:"block"}})})});ZR.displayName=JR;function kD(e){return e!==null}var _D=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]=eE(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 eE(e){let[t,n="center"]=e.split("-");return[t,n]}var tE=WR,nE=QR,rE=XR,oE=ZR;var bm=B(xe(),1),aE=B(Bi(),1);var iE=B(te(),1),DD="Portal",Wy=bm.forwardRef((e,t)=>{let{container:n,...r}=e,[o,a]=bm.useState(!1);on(()=>a(!0),[]);let i=n||o&&globalThis?.document?.body;return i?aE.default.createPortal((0,iE.jsx)(at.div,{...r,ref:t}),i):null});Wy.displayName=DD;var lE=B(xe(),1);var sE=B(te(),1),Yy=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"}),BD="VisuallyHidden",ID=lE.forwardRef((e,t)=>(0,sE.jsx)(at.span,{...e,ref:t,style:{...Yy,...e.style}}));ID.displayName=BD;var zD=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},Is=new WeakMap,vm=new WeakMap,xm={},Qy=0,cE=function(e){return e&&(e.host||cE(e.parentNode))},PD=function(e,t){return t.map(function(n){if(e.contains(n))return n;var r=cE(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})},UD=function(e,t,n,r){var o=PD(t,Array.isArray(e)?e:[e]);xm[n]||(xm[n]=new WeakMap);var a=xm[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&&vm.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(),Qy++,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||(vm.has(u)||u.removeAttribute(r),vm.delete(u)),p||u.removeAttribute(n)}),Qy--,Qy||(Is=new WeakMap,Is=new WeakMap,vm=new WeakMap,xm={})}},uE=function(e,t,n){n===void 0&&(n="data-aria-hidden");var r=Array.from(Array.isArray(e)?e:[e]),o=t||zD(e);return o?(r.push.apply(r,Array.from(o.querySelectorAll("[aria-live], script"))),UD(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 Sm(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 dE(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 Em=B(xe());var Jn=B(xe());var gl="right-scroll-bar-position",hl="width-before-scroll-bar",Xy="with-scroll-bars-hidden",Jy="--removed-body-scroll-bar-size";function wm(e,t){return typeof e=="function"?e(t):e&&(e.current=t),e}var fE=B(xe());function mE(e,t){var n=(0,fE.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 Am=B(xe());var jD=typeof window<"u"?Am.useLayoutEffect:Am.useEffect,pE=new WeakMap;function Zy(e,t){var n=mE(t||null,function(r){return e.forEach(function(o){return wm(o,r)})});return jD(function(){var r=pE.get(n);if(r){var o=new Set(r),a=new Set(e),i=n.current;o.forEach(function(l){a.has(l)||wm(l,null)}),a.forEach(function(l){o.has(l)||wm(l,i)})}pE.set(n,e)},[e]),n}function VD(e){return e}function FD(e,t){t===void 0&&(t=VD);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 eb(e){e===void 0&&(e={});var t=FD(null);return t.options=Sr({async:!0,ssr:!1},e),t}var gE=B(xe()),hE=function(e){var t=e.sideCar,n=Sm(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 gE.createElement(r,Sr({},n))};hE.isSideCarExport=!0;function tb(e,t){return e.useMedium(t),hE}var Cm=eb();var nb=function(){},Eu=Jn.forwardRef(function(e,t){var n=Jn.useRef(null),r=Jn.useState({onScrollCapture:nb,onWheelCapture:nb,onTouchMoveCapture:nb}),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=Sm(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),A=f,E=Zy([n,t]),N=Sr(Sr({},x),o);return Jn.createElement(Jn.Fragment,null,d&&Jn.createElement(A,{sideCar:Cm,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({},N),{ref:E})):Jn.createElement(g,Sr({},N,{className:s,ref:E}),l))});Eu.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};Eu.classNames={fullWidth:hl,zeroRight:gl};var qt=B(xe());var Ps=B(xe());var vE=B(xe());var yE;var bE=function(){if(yE)return yE;if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function HD(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=bE();return t&&e.setAttribute("nonce",t),e}function $D(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function KD(e){var t=document.head||document.getElementsByTagName("head")[0];t.appendChild(e)}var rb=function(){var e=0,t=null;return{add:function(n){e==0&&(t=HD())&&($D(t,n),KD(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}};var ob=function(){var e=rb();return function(t,n){vE.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}};var Nu=function(){var e=ob(),t=function(n){var r=n.styles,o=n.dynamic;return e(r,o),null};return t};var GD={left:0,top:0,right:0,gap:0},ab=function(e){return parseInt(e||"",10)||0},qD=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[ab(n),ab(r),ab(o)]},ib=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return GD;var t=qD(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 WD=Nu(),zs="data-scroll-locked",YD=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(Xy,` {
8
+ `+r.stack}}var pg=Object.prototype.hasOwnProperty,oh=Dn.unstable_scheduleCallback,Op=Dn.unstable_cancelCallback,Ck=Dn.unstable_shouldYield,Rk=Dn.unstable_requestPaint,Or=Dn.unstable_now,Nk=Dn.unstable_getCurrentPriorityLevel,u0=Dn.unstable_ImmediatePriority,d0=Dn.unstable_UserBlockingPriority,_d=Dn.unstable_NormalPriority,Ek=Dn.unstable_LowPriority,f0=Dn.unstable_IdlePriority,Tk=Dn.log,Mk=Dn.unstable_setDisableYieldValue,$c=null,_r=null;function Ja(e){if(typeof Tk=="function"&&Mk(e),_r&&typeof _r.setStrictMode=="function")try{_r.setStrictMode($c,e)}catch{}}var Lr=Math.clz32?Math.clz32:_k,kk=Math.log,Ok=Math.LN2;function _k(e){return e>>>=0,e===0?32:31-(kk(e)/Ok|0)|0}var Xu=256,Ju=262144,Zu=4194304;function Hi(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 of(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=Hi(r):(i&=l,i!==0?o=Hi(i):n||(n=l&~e,n!==0&&(o=Hi(n))))):(l=r&~a,l!==0?o=Hi(l):i!==0?o=Hi(i):n||(n=r&~e,n!==0&&(o=Hi(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 Kc(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function Lk(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 m0(){var e=Zu;return Zu<<=1,(Zu&62914560)===0&&(Zu=4194304),e}function _p(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function Gc(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function Dk(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-Lr(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 m=f[d];m!==null&&(m.lane&=-536870913)}n&=~u}r!==0&&p0(e,r,0),a!==0&&o===0&&e.tag!==0&&(e.suspendedLanes|=a&~(i&~t))}function p0(e,t,n){e.pendingLanes|=t,e.suspendedLanes&=~t;var r=31-Lr(t);e.entangledLanes|=t,e.entanglements[r]=e.entanglements[r]|1073741824|n&261930}function g0(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-Lr(n),o=1<<r;o&t|e[r]&t&&(e[r]|=t),n&=~o}}function h0(e,t){var n=t&-t;return n=(n&42)!==0?1:ah(n),(n&(e.suspendedLanes|t))!==0?0:n}function ah(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 ih(e){return e&=-e,2<e?8<e?(e&134217727)!==0?32:268435456:8:2}function y0(){var e=Nt.p;return e!==0?e:(e=window.event,e===void 0?32:jw(e.type))}function Iv(e,t){var n=Nt.p;try{return Nt.p=e,t()}finally{Nt.p=n}}var hi=Math.random().toString(36).slice(2),qn="__reactFiber$"+hi,hr="__reactProps$"+hi,bs="__reactContainer$"+hi,gg="__reactEvents$"+hi,Bk="__reactListeners$"+hi,Ik="__reactHandles$"+hi,zv="__reactResources$"+hi,qc="__reactMarker$"+hi;function lh(e){delete e[qn],delete e[hr],delete e[gg],delete e[Bk],delete e[Ik]}function $l(e){var t=e[qn];if(t)return t;for(var n=e.parentNode;n;){if(t=n[bs]||n[qn]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=Kx(e);e!==null;){if(n=e[qn])return n;e=Kx(e)}return t}e=n,n=e.parentNode}return null}function vs(e){if(e=e[qn]||e[bs]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function mc(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(K(33))}function es(e){var t=e[zv];return t||(t=e[zv]={hoistableStyles:new Map,hoistableScripts:new Map}),t}function Vn(e){e[qc]=!0}var b0=new Set,v0={};function nl(e,t){ss(e,t),ss(e+"Capture",t)}function ss(e,t){for(v0[e]=t,e=0;e<t.length;e++)b0.add(t[e])}var zk=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]*$"),Pv={},Uv={};function Pk(e){return pg.call(Uv,e)?!0:pg.call(Pv,e)?!1:zk.test(e)?Uv[e]=!0:(Pv[e]=!0,!1)}function pd(e,t,n){if(Pk(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 ed(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 ca(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 qr(e){switch(typeof e){case"bigint":case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function x0(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Uk(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 hg(e){if(!e._valueTracker){var t=x0(e)?"checked":"value";e._valueTracker=Uk(e,t,""+e[t])}}function S0(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=x0(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function Ld(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 jk=/[\n"\\]/g;function Qr(e){return e.replace(jk,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function yg(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=""+qr(t)):e.value!==""+qr(t)&&(e.value=""+qr(t)):i!=="submit"&&i!=="reset"||e.removeAttribute("value"),t!=null?bg(e,i,qr(t)):n!=null?bg(e,i,qr(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=""+qr(l):e.removeAttribute("name")}function w0(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)){hg(e);return}n=n!=null?""+qr(n):"",t=t!=null?""+qr(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),hg(e)}function bg(e,t,n){t==="number"&&Ld(e.ownerDocument)===e||e.defaultValue===""+n||(e.defaultValue=""+n)}function ts(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=""+qr(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 A0(e,t,n){if(t!=null&&(t=""+qr(t),t!==e.value&&(e.value=t),n==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=n!=null?""+qr(n):""}function C0(e,t,n,r){if(t==null){if(r!=null){if(n!=null)throw Error(K(92));if(fc(r)){if(1<r.length)throw Error(K(93));r=r[0]}n=r}n==null&&(n=""),t=n}n=qr(t),e.defaultValue=n,r=e.textContent,r===n&&r!==""&&r!==null&&(e.value=r),hg(e)}function cs(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Vk=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 jv(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||Vk.has(t)?t==="float"?e.cssFloat=n:e[t]=(""+n).trim():e[t]=n+"px"}function R0(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&&jv(e,o,r)}else for(var a in t)t.hasOwnProperty(a)&&jv(e,a,t[a])}function sh(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 Fk=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"]]),Hk=/^[\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 gd(e){return Hk.test(""+e)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":e}function ya(){}var vg=null;function ch(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Kl=null,ns=null;function Vv(e){var t=vs(e);if(t&&(e=t.stateNode)){var n=e[hr]||null;e:switch(e=t.stateNode,t.type){case"input":if(yg(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="'+Qr(""+t)+'"][type="radio"]'),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var o=r[hr]||null;if(!o)throw Error(K(90));yg(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&&S0(r)}break e;case"textarea":A0(e,n.value,n.defaultValue);break e;case"select":t=n.value,t!=null&&ts(e,!!n.multiple,t,!1)}}}var Lp=!1;function N0(e,t,n){if(Lp)return e(t,n);Lp=!0;try{var r=e(t);return r}finally{if(Lp=!1,(Kl!==null||ns!==null)&&(yf(),Kl&&(t=Kl,e=ns,ns=Kl=null,Vv(t),e)))for(t=0;t<e.length;t++)Vv(e[t])}}function kc(e,t){var n=e.stateNode;if(n===null)return null;var r=n[hr]||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 wa=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),xg=!1;if(wa)try{zl={},Object.defineProperty(zl,"passive",{get:function(){xg=!0}}),window.addEventListener("test",zl,zl),window.removeEventListener("test",zl,zl)}catch{xg=!1}var zl,Za=null,uh=null,hd=null;function E0(){if(hd)return hd;var e,t=uh,n=t.length,r,o="value"in Za?Za.value:Za.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 hd=o.slice(e,1<r?1-r:void 0)}function yd(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 td(){return!0}function Fv(){return!1}function yr(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)?td:Fv,this.isPropagationStopped=Fv,this}return Jt(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=td)},stopPropagation:function(){var n=this.nativeEvent;n&&(n.stopPropagation?n.stopPropagation():typeof n.cancelBubble!="unknown"&&(n.cancelBubble=!0),this.isPropagationStopped=td)},persist:function(){},isPersistent:td}),t}var rl={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},af=yr(rl),Wc=Jt({},rl,{view:0,detail:0}),$k=yr(Wc),Dp,Bp,ac,lf=Jt({},Wc,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:dh,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!==ac&&(ac&&e.type==="mousemove"?(Dp=e.screenX-ac.screenX,Bp=e.screenY-ac.screenY):Bp=Dp=0,ac=e),Dp)},movementY:function(e){return"movementY"in e?e.movementY:Bp}}),Hv=yr(lf),Kk=Jt({},lf,{dataTransfer:0}),Gk=yr(Kk),qk=Jt({},Wc,{relatedTarget:0}),Ip=yr(qk),Wk=Jt({},rl,{animationName:0,elapsedTime:0,pseudoElement:0}),Yk=yr(Wk),Qk=Jt({},rl,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),Xk=yr(Qk),Jk=Jt({},rl,{data:0}),$v=yr(Jk),Zk={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},eO={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"},tO={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function nO(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=tO[e])?!!t[e]:!1}function dh(){return nO}var rO=Jt({},Wc,{key:function(e){if(e.key){var t=Zk[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=yd(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?eO[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:dh,charCode:function(e){return e.type==="keypress"?yd(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?yd(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),oO=yr(rO),aO=Jt({},lf,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Kv=yr(aO),iO=Jt({},Wc,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:dh}),lO=yr(iO),sO=Jt({},rl,{propertyName:0,elapsedTime:0,pseudoElement:0}),cO=yr(sO),uO=Jt({},lf,{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}),dO=yr(uO),fO=Jt({},rl,{newState:0,oldState:0}),mO=yr(fO),pO=[9,13,27,32],fh=wa&&"CompositionEvent"in window,hc=null;wa&&"documentMode"in document&&(hc=document.documentMode);var gO=wa&&"TextEvent"in window&&!hc,T0=wa&&(!fh||hc&&8<hc&&11>=hc),Gv=" ",qv=!1;function M0(e,t){switch(e){case"keyup":return pO.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function k0(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Gl=!1;function hO(e,t){switch(e){case"compositionend":return k0(t);case"keypress":return t.which!==32?null:(qv=!0,Gv);case"textInput":return e=t.data,e===Gv&&qv?null:e;default:return null}}function yO(e,t){if(Gl)return e==="compositionend"||!fh&&M0(e,t)?(e=E0(),hd=uh=Za=null,Gl=!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 T0&&t.locale!=="ko"?null:t.data;default:return null}}var bO={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 Wv(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!bO[e.type]:t==="textarea"}function O0(e,t,n,r){Kl?ns?ns.push(r):ns=[r]:Kl=r,t=Xd(t,"onChange"),0<t.length&&(n=new af("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var yc=null,Oc=null;function vO(e){Nw(e,0)}function sf(e){var t=mc(e);if(S0(t))return e}function Yv(e,t){if(e==="change")return t}var _0=!1;wa&&(wa?(rd="oninput"in document,rd||(zp=document.createElement("div"),zp.setAttribute("oninput","return;"),rd=typeof zp.oninput=="function"),nd=rd):nd=!1,_0=nd&&(!document.documentMode||9<document.documentMode));var nd,rd,zp;function Qv(){yc&&(yc.detachEvent("onpropertychange",L0),Oc=yc=null)}function L0(e){if(e.propertyName==="value"&&sf(Oc)){var t=[];O0(t,Oc,e,ch(e)),N0(vO,t)}}function xO(e,t,n){e==="focusin"?(Qv(),yc=t,Oc=n,yc.attachEvent("onpropertychange",L0)):e==="focusout"&&Qv()}function SO(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return sf(Oc)}function wO(e,t){if(e==="click")return sf(t)}function AO(e,t){if(e==="input"||e==="change")return sf(t)}function CO(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Br=typeof Object.is=="function"?Object.is:CO;function _c(e,t){if(Br(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(!pg.call(t,o)||!Br(e[o],t[o]))return!1}return!0}function Xv(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Jv(e,t){var n=Xv(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=Xv(n)}}function D0(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?D0(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function B0(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Ld(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=Ld(e.document)}return t}function mh(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 RO=wa&&"documentMode"in document&&11>=document.documentMode,ql=null,Sg=null,bc=null,wg=!1;function Zv(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;wg||ql==null||ql!==Ld(r)||(r=ql,"selectionStart"in r&&mh(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}),bc&&_c(bc,r)||(bc=r,r=Xd(Sg,"onSelect"),0<r.length&&(t=new af("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=ql)))}function Vi(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var Wl={animationend:Vi("Animation","AnimationEnd"),animationiteration:Vi("Animation","AnimationIteration"),animationstart:Vi("Animation","AnimationStart"),transitionrun:Vi("Transition","TransitionRun"),transitionstart:Vi("Transition","TransitionStart"),transitioncancel:Vi("Transition","TransitionCancel"),transitionend:Vi("Transition","TransitionEnd")},Pp={},I0={};wa&&(I0=document.createElement("div").style,"AnimationEvent"in window||(delete Wl.animationend.animation,delete Wl.animationiteration.animation,delete Wl.animationstart.animation),"TransitionEvent"in window||delete Wl.transitionend.transition);function ol(e){if(Pp[e])return Pp[e];if(!Wl[e])return e;var t=Wl[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in I0)return Pp[e]=t[n];return e}var z0=ol("animationend"),P0=ol("animationiteration"),U0=ol("animationstart"),NO=ol("transitionrun"),EO=ol("transitionstart"),TO=ol("transitioncancel"),j0=ol("transitionend"),V0=new Map,Ag="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(" ");Ag.push("scrollEnd");function vo(e,t){V0.set(e,t),nl(t,[e])}var Dd=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)},Gr=[],Yl=0,ph=0;function cf(){for(var e=Yl,t=ph=Yl=0;t<e;){var n=Gr[t];Gr[t++]=null;var r=Gr[t];Gr[t++]=null;var o=Gr[t];Gr[t++]=null;var a=Gr[t];if(Gr[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&&F0(n,o,a)}}function uf(e,t,n,r){Gr[Yl++]=e,Gr[Yl++]=t,Gr[Yl++]=n,Gr[Yl++]=r,ph|=r,e.lanes|=r,e=e.alternate,e!==null&&(e.lanes|=r)}function gh(e,t,n,r){return uf(e,t,n,r),Bd(e)}function al(e,t){return uf(e,null,null,t),Bd(e)}function F0(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-Lr(n),e=a.hiddenUpdates,r=e[o],r===null?e[o]=[t]:r.push(t),t.lane=n|536870912),a):null}function Bd(e){if(50<Ec)throw Ec=0,$g=null,Error(K(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var Ql={};function MO(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 Mr(e,t,n,r){return new MO(e,t,n,r)}function hh(e){return e=e.prototype,!(!e||!e.isReactComponent)}function va(e,t){var n=e.alternate;return n===null?(n=Mr(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 H0(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 bd(e,t,n,r,o,a){var i=0;if(r=e,typeof e=="function")hh(e)&&(i=1);else if(typeof e=="string")i=__(e,n,Io.current)?26:e==="html"||e==="head"||e==="body"?27:5;else e:switch(e){case ug:return e=Mr(31,n,t,o),e.elementType=ug,e.lanes=a,e;case Fl:return qi(n.children,o,a,t);case s0:i=8,o|=24;break;case lg:return e=Mr(12,n,t,o|2),e.elementType=lg,e.lanes=a,e;case sg:return e=Mr(13,n,t,o),e.elementType=sg,e.lanes=a,e;case cg:return e=Mr(19,n,t,o),e.elementType=cg,e.lanes=a,e;default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case ha:i=10;break e;case c0:i=9;break e;case nh:i=11;break e;case rh:i=14;break e;case Ga:i=16,r=null;break e}i=29,n=Error(K(130,e===null?"null":typeof e,"")),r=null}return t=Mr(i,n,t,o),t.elementType=e,t.type=r,t.lanes=a,t}function qi(e,t,n,r){return e=Mr(7,e,r,t),e.lanes=n,e}function Up(e,t,n){return e=Mr(6,e,null,t),e.lanes=n,e}function $0(e){var t=Mr(18,null,null,0);return t.stateNode=e,t}function jp(e,t,n){return t=Mr(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var ex=new WeakMap;function Xr(e,t){if(typeof e=="object"&&e!==null){var n=ex.get(e);return n!==void 0?n:(t={value:e,source:t,stack:Bv(t)},ex.set(e,t),t)}return{value:e,source:t,stack:Bv(t)}}var Xl=[],Jl=0,Id=null,Lc=0,Wr=[],Yr=0,fi=null,Lo=1,Do="";function pa(e,t){Xl[Jl++]=Lc,Xl[Jl++]=Id,Id=e,Lc=t}function K0(e,t,n){Wr[Yr++]=Lo,Wr[Yr++]=Do,Wr[Yr++]=fi,fi=e;var r=Lo;e=Do;var o=32-Lr(r)-1;r&=~(1<<o),n+=1;var a=32-Lr(t)+o;if(30<a){var i=o-o%5;a=(r&(1<<i)-1).toString(32),r>>=i,o-=i,Lo=1<<32-Lr(t)+o|n<<o|r,Do=a+e}else Lo=1<<a|n<<o|r,Do=e}function yh(e){e.return!==null&&(pa(e,1),K0(e,1,0))}function bh(e){for(;e===Id;)Id=Xl[--Jl],Xl[Jl]=null,Lc=Xl[--Jl],Xl[Jl]=null;for(;e===fi;)fi=Wr[--Yr],Wr[Yr]=null,Do=Wr[--Yr],Wr[Yr]=null,Lo=Wr[--Yr],Wr[Yr]=null}function G0(e,t){Wr[Yr++]=Lo,Wr[Yr++]=Do,Wr[Yr++]=fi,Lo=t.id,Do=t.overflow,fi=e}var Wn=null,Xt=null,xt=!1,oi=null,Jr=!1,Cg=Error(K(519));function mi(e){var t=Error(K(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw Dc(Xr(t,e)),Cg}function tx(e){var t=e.stateNode,n=e.type,r=e.memoizedProps;switch(t[qn]=e,t[hr]=r,n){case"dialog":ft("cancel",t),ft("close",t);break;case"iframe":case"object":case"embed":ft("load",t);break;case"video":case"audio":for(n=0;n<Pc.length;n++)ft(Pc[n],t);break;case"source":ft("error",t);break;case"img":case"image":case"link":ft("error",t),ft("load",t);break;case"details":ft("toggle",t);break;case"input":ft("invalid",t),w0(t,r.value,r.defaultValue,r.checked,r.defaultChecked,r.type,r.name,!0);break;case"select":ft("invalid",t);break;case"textarea":ft("invalid",t),C0(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||Tw(t.textContent,n)?(r.popover!=null&&(ft("beforetoggle",t),ft("toggle",t)),r.onScroll!=null&&ft("scroll",t),r.onScrollEnd!=null&&ft("scrollend",t),r.onClick!=null&&(t.onclick=ya),t=!0):t=!1,t||mi(e,!0)}function nx(e){for(Wn=e.return;Wn;)switch(Wn.tag){case 5:case 31:case 13:Jr=!1;return;case 27:case 3:Jr=!0;return;default:Wn=Wn.return}}function Pl(e){if(e!==Wn)return!1;if(!xt)return nx(e),xt=!0,!1;var t=e.tag,n;if((n=t!==3&&t!==27)&&((n=t===5)&&(n=e.type,n=!(n!=="form"&&n!=="button")||Yg(e.type,e.memoizedProps)),n=!n),n&&Xt&&mi(e),nx(e),t===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(K(317));Xt=$x(e)}else if(t===31){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(K(317));Xt=$x(e)}else t===27?(t=Xt,yi(e.type)?(e=Zg,Zg=null,Xt=e):Xt=t):Xt=Wn?eo(e.stateNode.nextSibling):null;return!0}function Xi(){Xt=Wn=null,xt=!1}function Vp(){var e=oi;return e!==null&&(pr===null?pr=e:pr.push.apply(pr,e),oi=null),e}function Dc(e){oi===null?oi=[e]:oi.push(e)}var Rg=zo(null),il=null,ba=null;function Wa(e,t,n){Gt(Rg,t._currentValue),t._currentValue=n}function xa(e){e._currentValue=Rg.current,Fn(Rg)}function Ng(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 Eg(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),Ng(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),Ng(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 xs(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;Br(o.pendingProps.value,i.value)||(e!==null?e.push(l):e=[l])}}else if(o===Md.current){if(i=o.alternate,i===null)throw Error(K(387));i.memoizedState.memoizedState!==o.memoizedState.memoizedState&&(e!==null?e.push(jc):e=[jc])}o=o.return}e!==null&&Eg(t,e,n,r),t.flags|=262144}function zd(e){for(e=e.firstContext;e!==null;){if(!Br(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function Ji(e){il=e,ba=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function Yn(e){return q0(il,e)}function od(e,t){return il===null&&Ji(e),q0(e,t)}function q0(e,t){var n=t._currentValue;if(t={context:t,memoizedValue:n,next:null},ba===null){if(e===null)throw Error(K(308));ba=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else ba=ba.next=t;return n}var kO=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()})}},OO=Dn.unstable_scheduleCallback,_O=Dn.unstable_NormalPriority,En={$$typeof:ha,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function vh(){return{controller:new kO,data:new Map,refCount:0}}function Yc(e){e.refCount--,e.refCount===0&&OO(_O,function(){e.controller.abort()})}var vc=null,Tg=0,us=0,rs=null;function LO(e,t){if(vc===null){var n=vc=[];Tg=0,us=$h(),rs={status:"pending",value:void 0,then:function(r){n.push(r)}}}return Tg++,t.then(rx,rx),t}function rx(){if(--Tg===0&&vc!==null){rs!==null&&(rs.status="fulfilled");var e=vc;vc=null,us=0,rs=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function DO(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 ox=Fe.S;Fe.S=function(e,t){lw=Or(),typeof t=="object"&&t!==null&&typeof t.then=="function"&&LO(e,t),ox!==null&&ox(e,t)};var Wi=zo(null);function xh(){var e=Wi.current;return e!==null?e:$t.pooledCache}function vd(e,t){t===null?Gt(Wi,Wi.current):Gt(Wi,t.pool)}function W0(){var e=xh();return e===null?null:{parent:En._currentValue,pool:e}}var Ss=Error(K(460)),Sh=Error(K(474)),df=Error(K(542)),Pd={then:function(){}};function ax(e){return e=e.status,e==="fulfilled"||e==="rejected"}function Y0(e,t,n){switch(n=e[n],n===void 0?e.push(t):n!==t&&(t.then(ya,ya),t=n),t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,lx(e),e;default:if(typeof t.status=="string")t.then(ya,ya);else{if(e=$t,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,lx(e),e}throw Yi=t,Ss}}function $i(e){try{var t=e._init;return t(e._payload)}catch(n){throw n!==null&&typeof n=="object"&&typeof n.then=="function"?(Yi=n,Ss):n}}var Yi=null;function ix(){if(Yi===null)throw Error(K(459));var e=Yi;return Yi=null,e}function lx(e){if(e===Ss||e===df)throw Error(K(483))}var os=null,Bc=0;function ad(e){var t=Bc;return Bc+=1,os===null&&(os=[]),Y0(os,e,t)}function ic(e,t){t=t.props.ref,e.ref=t!==void 0?t:null}function id(e,t){throw t.$$typeof===xk?Error(K(525)):(e=Object.prototype.toString.call(t),Error(K(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e)))}function Q0(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=va(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=Up(y,h.mode,x),g.return=h,g):(g=o(g,y),g.return=h,g)}function s(h,g,y,x){var R=y.type;return R===Fl?d(h,g,y.props.children,x,y.key):g!==null&&(g.elementType===R||typeof R=="object"&&R!==null&&R.$$typeof===Ga&&$i(R)===g.type)?(g=o(g,y.props),ic(g,y),g.return=h,g):(g=bd(y.type,y.key,y.props,null,h.mode,x),ic(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=jp(y,h.mode,x),g.return=h,g):(g=o(g,y.children||[]),g.return=h,g)}function d(h,g,y,x,R){return g===null||g.tag!==7?(g=qi(y,h.mode,x,R),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=Up(""+g,h.mode,y),g.return=h,g;if(typeof g=="object"&&g!==null){switch(g.$$typeof){case Qu:return y=bd(g.type,g.key,g.props,null,h.mode,y),ic(y,g),y.return=h,y;case dc:return g=jp(g,h.mode,y),g.return=h,g;case Ga:return g=$i(g),u(h,g,y)}if(fc(g)||oc(g))return g=qi(g,h.mode,y,null),g.return=h,g;if(typeof g.then=="function")return u(h,ad(g),y);if(g.$$typeof===ha)return u(h,od(h,g),y);id(h,g)}return null}function f(h,g,y,x){var R=g!==null?g.key:null;if(typeof y=="string"&&y!==""||typeof y=="number"||typeof y=="bigint")return R!==null?null:l(h,g,""+y,x);if(typeof y=="object"&&y!==null){switch(y.$$typeof){case Qu:return y.key===R?s(h,g,y,x):null;case dc:return y.key===R?c(h,g,y,x):null;case Ga:return y=$i(y),f(h,g,y,x)}if(fc(y)||oc(y))return R!==null?null:d(h,g,y,x,null);if(typeof y.then=="function")return f(h,g,ad(y),x);if(y.$$typeof===ha)return f(h,g,od(h,y),x);id(h,y)}return null}function m(h,g,y,x,R){if(typeof x=="string"&&x!==""||typeof x=="number"||typeof x=="bigint")return h=h.get(y)||null,l(g,h,""+x,R);if(typeof x=="object"&&x!==null){switch(x.$$typeof){case Qu:return h=h.get(x.key===null?y:x.key)||null,s(g,h,x,R);case dc:return h=h.get(x.key===null?y:x.key)||null,c(g,h,x,R);case Ga:return x=$i(x),m(h,g,y,x,R)}if(fc(x)||oc(x))return h=h.get(y)||null,d(g,h,x,R,null);if(typeof x.then=="function")return m(h,g,y,ad(x),R);if(x.$$typeof===ha)return m(h,g,y,od(g,x),R);id(g,x)}return null}function b(h,g,y,x){for(var R=null,w=null,E=g,C=g=0,M=null;E!==null&&C<y.length;C++){E.index>C?(M=E,E=null):M=E.sibling;var L=f(h,E,y[C],x);if(L===null){E===null&&(E=M);break}e&&E&&L.alternate===null&&t(h,E),g=a(L,g,C),w===null?R=L:w.sibling=L,w=L,E=M}if(C===y.length)return n(h,E),xt&&pa(h,C),R;if(E===null){for(;C<y.length;C++)E=u(h,y[C],x),E!==null&&(g=a(E,g,C),w===null?R=E:w.sibling=E,w=E);return xt&&pa(h,C),R}for(E=r(E);C<y.length;C++)M=m(E,h,C,y[C],x),M!==null&&(e&&M.alternate!==null&&E.delete(M.key===null?C:M.key),g=a(M,g,C),w===null?R=M:w.sibling=M,w=M);return e&&E.forEach(function(F){return t(h,F)}),xt&&pa(h,C),R}function p(h,g,y,x){if(y==null)throw Error(K(151));for(var R=null,w=null,E=g,C=g=0,M=null,L=y.next();E!==null&&!L.done;C++,L=y.next()){E.index>C?(M=E,E=null):M=E.sibling;var F=f(h,E,L.value,x);if(F===null){E===null&&(E=M);break}e&&E&&F.alternate===null&&t(h,E),g=a(F,g,C),w===null?R=F:w.sibling=F,w=F,E=M}if(L.done)return n(h,E),xt&&pa(h,C),R;if(E===null){for(;!L.done;C++,L=y.next())L=u(h,L.value,x),L!==null&&(g=a(L,g,C),w===null?R=L:w.sibling=L,w=L);return xt&&pa(h,C),R}for(E=r(E);!L.done;C++,L=y.next())L=m(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),w===null?R=L:w.sibling=L,w=L);return e&&E.forEach(function(z){return t(h,z)}),xt&&pa(h,C),R}function v(h,g,y,x){if(typeof y=="object"&&y!==null&&y.type===Fl&&y.key===null&&(y=y.props.children),typeof y=="object"&&y!==null){switch(y.$$typeof){case Qu:e:{for(var R=y.key;g!==null;){if(g.key===R){if(R=y.type,R===Fl){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===R||typeof R=="object"&&R!==null&&R.$$typeof===Ga&&$i(R)===g.type){n(h,g.sibling),x=o(g,y.props),ic(x,y),x.return=h,h=x;break e}n(h,g);break}else t(h,g);g=g.sibling}y.type===Fl?(x=qi(y.props.children,h.mode,x,y.key),x.return=h,h=x):(x=bd(y.type,y.key,y.props,null,h.mode,x),ic(x,y),x.return=h,h=x)}return i(h);case dc:e:{for(R=y.key;g!==null;){if(g.key===R)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=jp(y,h.mode,x),x.return=h,h=x}return i(h);case Ga:return y=$i(y),v(h,g,y,x)}if(fc(y))return b(h,g,y,x);if(oc(y)){if(R=oc(y),typeof R!="function")throw Error(K(150));return y=R.call(y),p(h,g,y,x)}if(typeof y.then=="function")return v(h,g,ad(y),x);if(y.$$typeof===ha)return v(h,g,od(h,y),x);id(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=Up(y,h.mode,x),x.return=h,h=x),i(h)):n(h,g)}return function(h,g,y,x){try{Bc=0;var R=v(h,g,y,x);return os=null,R}catch(E){if(E===Ss||E===df)throw E;var w=Mr(29,E,null,h.mode);return w.lanes=x,w.return=h,w}}}var Zi=Q0(!0),X0=Q0(!1),qa=!1;function wh(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Mg(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 ai(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function ii(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,(Rt&2)!==0){var o=r.pending;return o===null?t.next=t:(t.next=o.next,o.next=t),r.pending=t,t=Bd(e),F0(e,null,n),t}return uf(e,r,t,n),Bd(e)}function xc(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,g0(e,n)}}function Fp(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 kg=!1;function Sc(){if(kg){var e=rs;if(e!==null)throw e}}function wc(e,t,n,r){kg=!1;var o=e.updateQueue;qa=!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,m=f!==l.lane;if(m?(gt&f)===f:(r&f)===f){f!==0&&f===us&&(kg=!0),d!==null&&(d=d.next={lane:0,tag:l.tag,payload:l.payload,callback:null,next:null});e:{var b=e,p=l;f=t;var v=n;switch(p.tag){case 1:if(b=p.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=p.payload,f=typeof b=="function"?b.call(v,u,f):b,f==null)break e;u=Jt({},u,f);break e;case 2:qa=!0}}f=l.callback,f!==null&&(e.flags|=64,m&&(e.flags|=8192),m=o.callbacks,m===null?o.callbacks=[f]:m.push(f))}else m={lane:f,tag:l.tag,payload:l.payload,callback:l.callback,next:null},d===null?(c=d=m,s=u):d=d.next=m,i|=f;if(l=l.next,l===null){if(l=o.shared.pending,l===null)break;m=l,l=m.next,m.next=null,o.lastBaseUpdate=m,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),gi|=i,e.lanes=i,e.memoizedState=u}}function J0(e,t){if(typeof e!="function")throw Error(K(191,e));e.call(t)}function Z0(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;e<n.length;e++)J0(n[e],t)}var ds=zo(null),Ud=zo(0);function sx(e,t){e=Na,Gt(Ud,e),Gt(ds,t),Na=e|t.baseLanes}function Og(){Gt(Ud,Na),Gt(ds,ds.current)}function Ah(){Na=Ud.current,Fn(ds),Fn(Ud)}var Ir=zo(null),Zr=null;function Ya(e){var t=e.alternate;Gt(bn,bn.current&1),Gt(Ir,e),Zr===null&&(t===null||ds.current!==null||t.memoizedState!==null)&&(Zr=e)}function _g(e){Gt(bn,bn.current),Gt(Ir,e),Zr===null&&(Zr=e)}function eS(e){e.tag===22?(Gt(bn,bn.current),Gt(Ir,e),Zr===null&&(Zr=e)):Qa(e)}function Qa(){Gt(bn,bn.current),Gt(Ir,Ir.current)}function Tr(e){Fn(Ir),Zr===e&&(Zr=null),Fn(bn)}var bn=zo(0);function jd(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||Xg(n)||Jg(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 Aa=0,tt=null,Pt=null,Rn=null,Vd=!1,as=!1,el=!1,Fd=0,Ic=0,is=null,BO=0;function pn(){throw Error(K(321))}function Ch(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!Br(e[n],t[n]))return!1;return!0}function Rh(e,t,n,r,o,a){return Aa=a,tt=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,Fe.H=e===null||e.memoizedState===null?OS:Ih,el=!1,a=n(r,o),el=!1,as&&(a=nS(t,n,r,o)),tS(e),a}function tS(e){Fe.H=zc;var t=Pt!==null&&Pt.next!==null;if(Aa=0,Rn=Pt=tt=null,Vd=!1,Ic=0,is=null,t)throw Error(K(300));e===null||Tn||(e=e.dependencies,e!==null&&zd(e)&&(Tn=!0))}function nS(e,t,n,r){tt=e;var o=0;do{if(as&&(is=null),Ic=0,as=!1,25<=o)throw Error(K(301));if(o+=1,Rn=Pt=null,e.updateQueue!=null){var a=e.updateQueue;a.lastEffect=null,a.events=null,a.stores=null,a.memoCache!=null&&(a.memoCache.index=0)}Fe.H=_S,a=t(n,r)}while(as);return a}function IO(){var e=Fe.H,t=e.useState()[0];return t=typeof t.then=="function"?Qc(t):t,e=e.useState()[0],(Pt!==null?Pt.memoizedState:null)!==e&&(tt.flags|=1024),t}function Nh(){var e=Fd!==0;return Fd=0,e}function Eh(e,t,n){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~n}function Th(e){if(Vd){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}Vd=!1}Aa=0,Rn=Pt=tt=null,as=!1,Ic=Fd=0,is=null}function ir(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Rn===null?tt.memoizedState=Rn=e:Rn=Rn.next=e,Rn}function vn(){if(Pt===null){var e=tt.alternate;e=e!==null?e.memoizedState:null}else e=Pt.next;var t=Rn===null?tt.memoizedState:Rn.next;if(t!==null)Rn=t,Pt=e;else{if(e===null)throw tt.alternate===null?Error(K(467)):Error(K(310));Pt=e,e={memoizedState:Pt.memoizedState,baseState:Pt.baseState,baseQueue:Pt.baseQueue,queue:Pt.queue,next:null},Rn===null?tt.memoizedState=Rn=e:Rn=Rn.next=e}return Rn}function ff(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Qc(e){var t=Ic;return Ic+=1,is===null&&(is=[]),e=Y0(is,e,t),t=tt,(Rn===null?t.memoizedState:Rn.next)===null&&(t=t.alternate,Fe.H=t===null||t.memoizedState===null?OS:Ih),e}function mf(e){if(e!==null&&typeof e=="object"){if(typeof e.then=="function")return Qc(e);if(e.$$typeof===ha)return Yn(e)}throw Error(K(438,String(e)))}function Mh(e){var t=null,n=tt.updateQueue;if(n!==null&&(t=n.memoCache),t==null){var r=tt.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=ff(),tt.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]=Sk;return t.index++,n}function Ca(e,t){return typeof t=="function"?t(e):t}function xd(e){var t=vn();return kh(t,Pt,e)}function kh(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?(gt&u)===u:(Aa&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===us&&(d=!0);else if((Aa&f)===f){c=c.next,f===us&&(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,tt.lanes|=f,gi|=f;u=c.action,el&&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,tt.lanes|=u,gi|=u;c=c.next}while(c!==null&&c!==t);if(s===null?i=a:s.next=l,!Br(a,e.memoizedState)&&(Tn=!0,d&&(n=rs,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 Hp(e){var t=vn(),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);Br(a,t.memoizedState)||(Tn=!0),t.memoizedState=a,t.baseQueue===null&&(t.baseState=a),n.lastRenderedState=a}return[a,r]}function rS(e,t,n){var r=tt,o=vn(),a=xt;if(a){if(n===void 0)throw Error(K(407));n=n()}else n=t();var i=!Br((Pt||o).memoizedState,n);if(i&&(o.memoizedState=n,Tn=!0),o=o.queue,Oh(iS.bind(null,r,o,e),[e]),o.getSnapshot!==t||i||Rn!==null&&Rn.memoizedState.tag&1){if(r.flags|=2048,fs(9,{destroy:void 0},aS.bind(null,r,o,n,t),null),$t===null)throw Error(K(349));a||(Aa&127)!==0||oS(r,t,n)}return n}function oS(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=tt.updateQueue,t===null?(t=ff(),tt.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function aS(e,t,n,r){t.value=n,t.getSnapshot=r,lS(t)&&sS(e)}function iS(e,t,n){return n(function(){lS(t)&&sS(e)})}function lS(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!Br(e,n)}catch{return!0}}function sS(e){var t=al(e,2);t!==null&&gr(t,e,2)}function Lg(e){var t=ir();if(typeof e=="function"){var n=e;if(e=n(),el){Ja(!0);try{n()}finally{Ja(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ca,lastRenderedState:e},t}function cS(e,t,n,r){return e.baseState=n,kh(e,Pt,typeof r=="function"?r:Ca)}function zO(e,t,n,r,o){if(gf(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)}};Fe.T!==null?n(!0):a.isTransition=!1,r(a),n=t.pending,n===null?(a.next=t.pending=a,uS(t,a)):(a.next=n.next,t.pending=n.next=a)}}function uS(e,t){var n=t.action,r=t.payload,o=e.state;if(t.isTransition){var a=Fe.T,i={};Fe.T=i;try{var l=n(o,r),s=Fe.S;s!==null&&s(i,l),cx(e,t,l)}catch(c){Dg(e,t,c)}finally{a!==null&&i.types!==null&&(a.types=i.types),Fe.T=a}}else try{a=n(o,r),cx(e,t,a)}catch(c){Dg(e,t,c)}}function cx(e,t,n){n!==null&&typeof n=="object"&&typeof n.then=="function"?n.then(function(r){ux(e,t,r)},function(r){return Dg(e,t,r)}):ux(e,t,n)}function ux(e,t,n){t.status="fulfilled",t.value=n,dS(t),e.state=n,t=e.pending,t!==null&&(n=t.next,n===t?e.pending=null:(n=n.next,t.next=n,uS(e,n)))}function Dg(e,t,n){var r=e.pending;if(e.pending=null,r!==null){r=r.next;do t.status="rejected",t.reason=n,dS(t),t=t.next;while(t!==r)}e.action=null}function dS(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function fS(e,t){return t}function dx(e,t){if(xt){var n=$t.formState;if(n!==null){e:{var r=tt;if(xt){if(Xt){t:{for(var o=Xt,a=Jr;o.nodeType!==8;){if(!a){o=null;break t}if(o=eo(o.nextSibling),o===null){o=null;break t}}a=o.data,o=a==="F!"||a==="F"?o:null}if(o){Xt=eo(o.nextSibling),r=o.data==="F!";break e}}mi(r)}r=!1}r&&(t=n[0])}}return n=ir(),n.memoizedState=n.baseState=t,r={pending:null,lanes:0,dispatch:null,lastRenderedReducer:fS,lastRenderedState:t},n.queue=r,n=TS.bind(null,tt,r),r.dispatch=n,r=Lg(!1),a=Bh.bind(null,tt,!1,r.queue),r=ir(),o={state:t,dispatch:null,action:e,pending:null},r.queue=o,n=zO.bind(null,tt,o,a,n),o.dispatch=n,r.memoizedState=e,[t,n,!1]}function fx(e){var t=vn();return mS(t,Pt,e)}function mS(e,t,n){if(t=kh(e,t,fS)[0],e=xd(Ca)[0],typeof t=="object"&&t!==null&&typeof t.then=="function")try{var r=Qc(t)}catch(i){throw i===Ss?df:i}else r=t;t=vn();var o=t.queue,a=o.dispatch;return n!==t.memoizedState&&(tt.flags|=2048,fs(9,{destroy:void 0},PO.bind(null,o,n),null)),[r,a,e]}function PO(e,t){e.action=t}function mx(e){var t=vn(),n=Pt;if(n!==null)return mS(t,n,e);vn(),t=t.memoizedState,n=vn();var r=n.queue.dispatch;return n.memoizedState=e,[t,r,!1]}function fs(e,t,n,r){return e={tag:e,create:n,deps:r,inst:t,next:null},t=tt.updateQueue,t===null&&(t=ff(),tt.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 pS(){return vn().memoizedState}function Sd(e,t,n,r){var o=ir();tt.flags|=e,o.memoizedState=fs(1|t,{destroy:void 0},n,r===void 0?null:r)}function pf(e,t,n,r){var o=vn();r=r===void 0?null:r;var a=o.memoizedState.inst;Pt!==null&&r!==null&&Ch(r,Pt.memoizedState.deps)?o.memoizedState=fs(t,a,n,r):(tt.flags|=e,o.memoizedState=fs(1|t,a,n,r))}function px(e,t){Sd(8390656,8,e,t)}function Oh(e,t){pf(2048,8,e,t)}function UO(e){tt.flags|=4;var t=tt.updateQueue;if(t===null)t=ff(),tt.updateQueue=t,t.events=[e];else{var n=t.events;n===null?t.events=[e]:n.push(e)}}function gS(e){var t=vn().memoizedState;return UO({ref:t,nextImpl:e}),function(){if((Rt&2)!==0)throw Error(K(440));return t.impl.apply(void 0,arguments)}}function hS(e,t){return pf(4,2,e,t)}function yS(e,t){return pf(4,4,e,t)}function bS(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 vS(e,t,n){n=n!=null?n.concat([e]):null,pf(4,4,bS.bind(null,t,e),n)}function _h(){}function xS(e,t){var n=vn();t=t===void 0?null:t;var r=n.memoizedState;return t!==null&&Ch(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function SS(e,t){var n=vn();t=t===void 0?null:t;var r=n.memoizedState;if(t!==null&&Ch(t,r[1]))return r[0];if(r=e(),el){Ja(!0);try{e()}finally{Ja(!1)}}return n.memoizedState=[r,t],r}function Lh(e,t,n){return n===void 0||(Aa&1073741824)!==0&&(gt&261930)===0?e.memoizedState=t:(e.memoizedState=n,e=cw(),tt.lanes|=e,gi|=e,n)}function wS(e,t,n,r){return Br(n,t)?n:ds.current!==null?(e=Lh(e,n,r),Br(e,t)||(Tn=!0),e):(Aa&42)===0||(Aa&1073741824)!==0&&(gt&261930)===0?(Tn=!0,e.memoizedState=n):(e=cw(),tt.lanes|=e,gi|=e,t)}function AS(e,t,n,r,o){var a=Nt.p;Nt.p=a!==0&&8>a?a:8;var i=Fe.T,l={};Fe.T=l,Bh(e,!1,t,n);try{var s=o(),c=Fe.S;if(c!==null&&c(l,s),s!==null&&typeof s=="object"&&typeof s.then=="function"){var d=DO(s,r);Ac(e,t,d,Dr(e))}else Ac(e,t,r,Dr(e))}catch(u){Ac(e,t,{then:function(){},status:"rejected",reason:u},Dr())}finally{Nt.p=a,i!==null&&l.types!==null&&(i.types=l.types),Fe.T=i}}function jO(){}function Bg(e,t,n,r){if(e.tag!==5)throw Error(K(476));var o=CS(e).queue;AS(e,o,t,Gi,n===null?jO:function(){return RS(e),n(r)})}function CS(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:Gi,baseState:Gi,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ca,lastRenderedState:Gi},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ca,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function RS(e){var t=CS(e);t.next===null&&(t=e.alternate.memoizedState),Ac(e,t.next.queue,{},Dr())}function Dh(){return Yn(jc)}function NS(){return vn().memoizedState}function ES(){return vn().memoizedState}function VO(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=Dr();e=ai(n);var r=ii(t,e,n);r!==null&&(gr(r,t,n),xc(r,t,n)),t={cache:vh()},e.payload=t;return}t=t.return}}function FO(e,t,n){var r=Dr();n={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},gf(e)?MS(t,n):(n=gh(e,t,n,r),n!==null&&(gr(n,e,r),kS(n,t,r)))}function TS(e,t,n){var r=Dr();Ac(e,t,n,r)}function Ac(e,t,n,r){var o={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(gf(e))MS(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,Br(l,i))return uf(e,t,o,0),$t===null&&cf(),!1}catch{}if(n=gh(e,t,o,r),n!==null)return gr(n,e,r),kS(n,t,r),!0}return!1}function Bh(e,t,n,r){if(r={lane:2,revertLane:$h(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},gf(e)){if(t)throw Error(K(479))}else t=gh(e,n,r,2),t!==null&&gr(t,e,2)}function gf(e){var t=e.alternate;return e===tt||t!==null&&t===tt}function MS(e,t){as=Vd=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function kS(e,t,n){if((n&4194048)!==0){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,g0(e,n)}}var zc={readContext:Yn,use:mf,useCallback:pn,useContext:pn,useEffect:pn,useImperativeHandle:pn,useLayoutEffect:pn,useInsertionEffect:pn,useMemo:pn,useReducer:pn,useRef:pn,useState:pn,useDebugValue:pn,useDeferredValue:pn,useTransition:pn,useSyncExternalStore:pn,useId:pn,useHostTransitionStatus:pn,useFormState:pn,useActionState:pn,useOptimistic:pn,useMemoCache:pn,useCacheRefresh:pn};zc.useEffectEvent=pn;var OS={readContext:Yn,use:mf,useCallback:function(e,t){return ir().memoizedState=[e,t===void 0?null:t],e},useContext:Yn,useEffect:px,useImperativeHandle:function(e,t,n){n=n!=null?n.concat([e]):null,Sd(4194308,4,bS.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Sd(4194308,4,e,t)},useInsertionEffect:function(e,t){Sd(4,2,e,t)},useMemo:function(e,t){var n=ir();t=t===void 0?null:t;var r=e();if(el){Ja(!0);try{e()}finally{Ja(!1)}}return n.memoizedState=[r,t],r},useReducer:function(e,t,n){var r=ir();if(n!==void 0){var o=n(t);if(el){Ja(!0);try{n(t)}finally{Ja(!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=FO.bind(null,tt,e),[r.memoizedState,e]},useRef:function(e){var t=ir();return e={current:e},t.memoizedState=e},useState:function(e){e=Lg(e);var t=e.queue,n=TS.bind(null,tt,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:_h,useDeferredValue:function(e,t){var n=ir();return Lh(n,e,t)},useTransition:function(){var e=Lg(!1);return e=AS.bind(null,tt,e.queue,!0,!1),ir().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var r=tt,o=ir();if(xt){if(n===void 0)throw Error(K(407));n=n()}else{if(n=t(),$t===null)throw Error(K(349));(gt&127)!==0||oS(r,t,n)}o.memoizedState=n;var a={value:n,getSnapshot:t};return o.queue=a,px(iS.bind(null,r,a,e),[e]),r.flags|=2048,fs(9,{destroy:void 0},aS.bind(null,r,a,n,t),null),n},useId:function(){var e=ir(),t=$t.identifierPrefix;if(xt){var n=Do,r=Lo;n=(r&~(1<<32-Lr(r)-1)).toString(32)+n,t="_"+t+"R_"+n,n=Fd++,0<n&&(t+="H"+n.toString(32)),t+="_"}else n=BO++,t="_"+t+"r_"+n.toString(32)+"_";return e.memoizedState=t},useHostTransitionStatus:Dh,useFormState:dx,useActionState:dx,useOptimistic:function(e){var t=ir();t.memoizedState=t.baseState=e;var n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=n,t=Bh.bind(null,tt,!0,n),n.dispatch=t,[e,t]},useMemoCache:Mh,useCacheRefresh:function(){return ir().memoizedState=VO.bind(null,tt)},useEffectEvent:function(e){var t=ir(),n={impl:e};return t.memoizedState=n,function(){if((Rt&2)!==0)throw Error(K(440));return n.impl.apply(void 0,arguments)}}},Ih={readContext:Yn,use:mf,useCallback:xS,useContext:Yn,useEffect:Oh,useImperativeHandle:vS,useInsertionEffect:hS,useLayoutEffect:yS,useMemo:SS,useReducer:xd,useRef:pS,useState:function(){return xd(Ca)},useDebugValue:_h,useDeferredValue:function(e,t){var n=vn();return wS(n,Pt.memoizedState,e,t)},useTransition:function(){var e=xd(Ca)[0],t=vn().memoizedState;return[typeof e=="boolean"?e:Qc(e),t]},useSyncExternalStore:rS,useId:NS,useHostTransitionStatus:Dh,useFormState:fx,useActionState:fx,useOptimistic:function(e,t){var n=vn();return cS(n,Pt,e,t)},useMemoCache:Mh,useCacheRefresh:ES};Ih.useEffectEvent=gS;var _S={readContext:Yn,use:mf,useCallback:xS,useContext:Yn,useEffect:Oh,useImperativeHandle:vS,useInsertionEffect:hS,useLayoutEffect:yS,useMemo:SS,useReducer:Hp,useRef:pS,useState:function(){return Hp(Ca)},useDebugValue:_h,useDeferredValue:function(e,t){var n=vn();return Pt===null?Lh(n,e,t):wS(n,Pt.memoizedState,e,t)},useTransition:function(){var e=Hp(Ca)[0],t=vn().memoizedState;return[typeof e=="boolean"?e:Qc(e),t]},useSyncExternalStore:rS,useId:NS,useHostTransitionStatus:Dh,useFormState:mx,useActionState:mx,useOptimistic:function(e,t){var n=vn();return Pt!==null?cS(n,Pt,e,t):(n.baseState=e,[e,n.queue.dispatch])},useMemoCache:Mh,useCacheRefresh:ES};_S.useEffectEvent=gS;function $p(e,t,n,r){t=e.memoizedState,n=n(r,t),n=n==null?t:Jt({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var Ig={enqueueSetState:function(e,t,n){e=e._reactInternals;var r=Dr(),o=ai(r);o.payload=t,n!=null&&(o.callback=n),t=ii(e,o,r),t!==null&&(gr(t,e,r),xc(t,e,r))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=Dr(),o=ai(r);o.tag=1,o.payload=t,n!=null&&(o.callback=n),t=ii(e,o,r),t!==null&&(gr(t,e,r),xc(t,e,r))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=Dr(),r=ai(n);r.tag=2,t!=null&&(r.callback=t),t=ii(e,r,n),t!==null&&(gr(t,e,n),xc(t,e,n))}};function gx(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?!_c(n,r)||!_c(o,a):!0}function hx(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&&Ig.enqueueReplaceState(t,t.state,null)}function tl(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=Jt({},n));for(var o in e)n[o]===void 0&&(n[o]=e[o])}return n}function LS(e){Dd(e)}function DS(e){console.error(e)}function BS(e){Dd(e)}function Hd(e,t){try{var n=e.onUncaughtError;n(t.value,{componentStack:t.stack})}catch(r){setTimeout(function(){throw r})}}function yx(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 zg(e,t,n){return n=ai(n),n.tag=3,n.payload={element:null},n.callback=function(){Hd(e,t)},n}function IS(e){return e=ai(e),e.tag=3,e}function zS(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(){yx(t,n,r)}}var i=n.stateNode;i!==null&&typeof i.componentDidCatch=="function"&&(e.callback=function(){yx(t,n,r),typeof o!="function"&&(li===null?li=new Set([this]):li.add(this));var l=r.stack;this.componentDidCatch(r.value,{componentStack:l!==null?l:""})})}function HO(e,t,n,r,o){if(n.flags|=32768,r!==null&&typeof r=="object"&&typeof r.then=="function"){if(t=n.alternate,t!==null&&xs(t,n,o,!0),n=Ir.current,n!==null){switch(n.tag){case 31:case 13:return Zr===null?Wd():n.alternate===null&&gn===0&&(gn=3),n.flags&=-257,n.flags|=65536,n.lanes=o,r===Pd?n.flags|=16384:(t=n.updateQueue,t===null?n.updateQueue=new Set([r]):t.add(r),tg(e,r,o)),!1;case 22:return n.flags|=65536,r===Pd?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)),tg(e,r,o)),!1}throw Error(K(435,n.tag))}return tg(e,r,o),Wd(),!1}if(xt)return t=Ir.current,t!==null?((t.flags&65536)===0&&(t.flags|=256),t.flags|=65536,t.lanes=o,r!==Cg&&(e=Error(K(422),{cause:r}),Dc(Xr(e,n)))):(r!==Cg&&(t=Error(K(423),{cause:r}),Dc(Xr(t,n))),e=e.current.alternate,e.flags|=65536,o&=-o,e.lanes|=o,r=Xr(r,n),o=zg(e.stateNode,r,o),Fp(e,o),gn!==4&&(gn=2)),!1;var a=Error(K(520),{cause:r});if(a=Xr(a,n),Nc===null?Nc=[a]:Nc.push(a),gn!==4&&(gn=2),t===null)return!0;r=Xr(r,n),n=t;do{switch(n.tag){case 3:return n.flags|=65536,e=o&-o,n.lanes|=e,e=zg(n.stateNode,r,e),Fp(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"&&(li===null||!li.has(a))))return n.flags|=65536,o&=-o,n.lanes|=o,o=IS(o),zS(o,e,n,r),Fp(n,o),!1}n=n.return}while(n!==null);return!1}var zh=Error(K(461)),Tn=!1;function Gn(e,t,n,r){t.child=e===null?X0(t,null,n,r):Zi(t,e.child,n,r)}function bx(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 Ji(t),r=Rh(e,t,n,i,a,o),l=Nh(),e!==null&&!Tn?(Eh(e,t,o),Ra(e,t,o)):(xt&&l&&yh(t),t.flags|=1,Gn(e,t,r,o),t.child)}function vx(e,t,n,r,o){if(e===null){var a=n.type;return typeof a=="function"&&!hh(a)&&a.defaultProps===void 0&&n.compare===null?(t.tag=15,t.type=a,PS(e,t,a,r,o)):(e=bd(n.type,null,r,t,t.mode,o),e.ref=t.ref,e.return=t,t.child=e)}if(a=e.child,!Ph(e,o)){var i=a.memoizedProps;if(n=n.compare,n=n!==null?n:_c,n(i,r)&&e.ref===t.ref)return Ra(e,t,o)}return t.flags|=1,e=va(a,r),e.ref=t.ref,e.return=t,t.child=e}function PS(e,t,n,r,o){if(e!==null){var a=e.memoizedProps;if(_c(a,r)&&e.ref===t.ref)if(Tn=!1,t.pendingProps=r=a,Ph(e,o))(e.flags&131072)!==0&&(Tn=!0);else return t.lanes=e.lanes,Ra(e,t,o)}return Pg(e,t,n,r,o)}function US(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 xx(e,t,a,n,r)}if((n&536870912)!==0)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&vd(t,a!==null?a.cachePool:null),a!==null?sx(t,a):Og(),eS(t);else return r=t.lanes=536870912,xx(e,t,a!==null?a.baseLanes|n:n,n,r)}else a!==null?(vd(t,a.cachePool),sx(t,a),Qa(t),t.memoizedState=null):(e!==null&&vd(t,null),Og(),Qa(t));return Gn(e,t,o,n),t.child}function pc(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function xx(e,t,n,r,o){var a=xh();return a=a===null?null:{parent:En._currentValue,pool:a},t.memoizedState={baseLanes:n,cachePool:a},e!==null&&vd(t,null),Og(),eS(t),e!==null&&xs(e,t,r,!0),t.childLanes=o,null}function wd(e,t){return t=$d({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function Sx(e,t,n){return Zi(t,e.child,null,n),e=wd(t,t.pendingProps),e.flags|=2,Tr(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(xt){if(r.mode==="hidden")return e=wd(t,r),t.lanes=536870912,pc(null,e);if(_g(t),(e=Xt)?(e=Ow(e,Jr),e=e!==null&&e.data==="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:fi!==null?{id:Lo,overflow:Do}:null,retryLane:536870912,hydrationErrors:null},n=$0(e),n.return=t,t.child=n,Wn=t,Xt=null)):e=null,e===null)throw mi(t);return t.lanes=536870912,null}return wd(t,r)}var a=e.memoizedState;if(a!==null){var i=a.dehydrated;if(_g(t),o)if(t.flags&256)t.flags&=-257,t=Sx(e,t,n);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(K(558));else if(Tn||xs(e,t,n,!1),o=(n&e.childLanes)!==0,Tn||o){if(r=$t,r!==null&&(i=h0(r,n),i!==0&&i!==a.retryLane))throw a.retryLane=i,al(e,i),gr(r,e,i),zh;Wd(),t=Sx(e,t,n)}else e=a.treeContext,Xt=eo(i.nextSibling),Wn=t,xt=!0,oi=null,Jr=!1,e!==null&&G0(t,e),t=wd(t,r),t.flags|=4096;return t}return e=va(e.child,{mode:r.mode,children:r.children}),e.ref=t.ref,t.child=e,e.return=t,e}function Ad(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 Pg(e,t,n,r,o){return Ji(t),n=Rh(e,t,n,r,void 0,o),r=Nh(),e!==null&&!Tn?(Eh(e,t,o),Ra(e,t,o)):(xt&&r&&yh(t),t.flags|=1,Gn(e,t,n,o),t.child)}function wx(e,t,n,r,o,a){return Ji(t),t.updateQueue=null,n=nS(t,r,n,o),tS(e),r=Nh(),e!==null&&!Tn?(Eh(e,t,a),Ra(e,t,a)):(xt&&r&&yh(t),t.flags|=1,Gn(e,t,n,a),t.child)}function Ax(e,t,n,r,o){if(Ji(t),t.stateNode===null){var a=Ql,i=n.contextType;typeof i=="object"&&i!==null&&(a=Yn(i)),a=new n(r,a),t.memoizedState=a.state!==null&&a.state!==void 0?a.state:null,a.updater=Ig,t.stateNode=a,a._reactInternals=t,a=t.stateNode,a.props=r,a.state=t.memoizedState,a.refs={},wh(t),i=n.contextType,a.context=typeof i=="object"&&i!==null?Yn(i):Ql,a.state=t.memoizedState,i=n.getDerivedStateFromProps,typeof i=="function"&&($p(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&&Ig.enqueueReplaceState(a,a.state,null),wc(t,r,a,o),Sc(),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=tl(n,l);a.props=s;var c=a.context,d=n.contextType;i=Ql,typeof d=="object"&&d!==null&&(i=Yn(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)&&hx(t,a,r,i),qa=!1;var f=t.memoizedState;a.state=f,wc(t,r,a,o),Sc(),c=t.memoizedState,l||f!==c||qa?(typeof u=="function"&&($p(t,n,u,r),c=t.memoizedState),(s=qa||gx(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,Mg(e,t),i=t.memoizedProps,d=tl(n,i),a.props=d,u=t.pendingProps,f=a.context,c=n.contextType,s=Ql,typeof c=="object"&&c!==null&&(s=Yn(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)&&hx(t,a,r,s),qa=!1,f=t.memoizedState,a.state=f,wc(t,r,a,o),Sc();var m=t.memoizedState;i!==u||f!==m||qa||e!==null&&e.dependencies!==null&&zd(e.dependencies)?(typeof l=="function"&&($p(t,n,l,r),m=t.memoizedState),(d=qa||gx(t,n,d,r,f,m,s)||e!==null&&e.dependencies!==null&&zd(e.dependencies))?(c||typeof a.UNSAFE_componentWillUpdate!="function"&&typeof a.componentWillUpdate!="function"||(typeof a.componentWillUpdate=="function"&&a.componentWillUpdate(r,m,s),typeof a.UNSAFE_componentWillUpdate=="function"&&a.UNSAFE_componentWillUpdate(r,m,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=m),a.props=r,a.state=m,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,Ad(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=Zi(t,e.child,null,o),t.child=Zi(t,null,n,o)):Gn(e,t,n,o),t.memoizedState=a.state,e=t.child):e=Ra(e,t,o),e}function Cx(e,t,n,r){return Xi(),t.flags|=256,Gn(e,t,n,r),t.child}var Kp={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function Gp(e){return{baseLanes:e,cachePool:W0()}}function qp(e,t,n){return e=e!==null?e.childLanes&~n:0,t&&(e|=kr),e}function jS(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:(bn.current&2)!==0),i&&(o=!0,t.flags&=-129),i=(t.flags&32)!==0,t.flags&=-33,e===null){if(xt){if(o?Ya(t):Qa(t),(e=Xt)?(e=Ow(e,Jr),e=e!==null&&e.data!=="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:fi!==null?{id:Lo,overflow:Do}:null,retryLane:536870912,hydrationErrors:null},n=$0(e),n.return=t,t.child=n,Wn=t,Xt=null)):e=null,e===null)throw mi(t);return Jg(e)?t.lanes=32:t.lanes=536870912,null}var l=r.children;return r=r.fallback,o?(Qa(t),o=t.mode,l=$d({mode:"hidden",children:l},o),r=qi(r,o,n,null),l.return=t,r.return=t,l.sibling=r,t.child=l,r=t.child,r.memoizedState=Gp(n),r.childLanes=qp(e,i,n),t.memoizedState=Kp,pc(null,r)):(Ya(t),Ug(t,l))}var s=e.memoizedState;if(s!==null&&(l=s.dehydrated,l!==null)){if(a)t.flags&256?(Ya(t),t.flags&=-257,t=Wp(e,t,n)):t.memoizedState!==null?(Qa(t),t.child=e.child,t.flags|=128,t=null):(Qa(t),l=r.fallback,o=t.mode,r=$d({mode:"visible",children:r.children},o),l=qi(l,o,n,null),l.flags|=2,r.return=t,l.return=t,r.sibling=l,t.child=r,Zi(t,e.child,null,n),r=t.child,r.memoizedState=Gp(n),r.childLanes=qp(e,i,n),t.memoizedState=Kp,t=pc(null,r));else if(Ya(t),Jg(l)){if(i=l.nextSibling&&l.nextSibling.dataset,i)var c=i.dgst;i=c,r=Error(K(419)),r.stack="",r.digest=i,Dc({value:r,source:null,stack:null}),t=Wp(e,t,n)}else if(Tn||xs(e,t,n,!1),i=(n&e.childLanes)!==0,Tn||i){if(i=$t,i!==null&&(r=h0(i,n),r!==0&&r!==s.retryLane))throw s.retryLane=r,al(e,r),gr(i,e,r),zh;Xg(l)||Wd(),t=Wp(e,t,n)}else Xg(l)?(t.flags|=192,t.child=e.child,t=null):(e=s.treeContext,Xt=eo(l.nextSibling),Wn=t,xt=!0,oi=null,Jr=!1,e!==null&&G0(t,e),t=Ug(t,r.children),t.flags|=4096);return t}return o?(Qa(t),l=r.fallback,o=t.mode,s=e.child,c=s.sibling,r=va(s,{mode:"hidden",children:r.children}),r.subtreeFlags=s.subtreeFlags&65011712,c!==null?l=va(c,l):(l=qi(l,o,n,null),l.flags|=2),l.return=t,r.return=t,r.sibling=l,t.child=r,pc(null,r),r=t.child,l=e.child.memoizedState,l===null?l=Gp(n):(o=l.cachePool,o!==null?(s=En._currentValue,o=o.parent!==s?{parent:s,pool:s}:o):o=W0(),l={baseLanes:l.baseLanes|n,cachePool:o}),r.memoizedState=l,r.childLanes=qp(e,i,n),t.memoizedState=Kp,pc(e.child,r)):(Ya(t),n=e.child,e=n.sibling,n=va(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 Ug(e,t){return t=$d({mode:"visible",children:t},e.mode),t.return=e,e.child=t}function $d(e,t){return e=Mr(22,e,null,t),e.lanes=0,e}function Wp(e,t,n){return Zi(t,e.child,null,n),e=Ug(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Rx(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),Ng(e.return,t,n)}function Yp(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 VS(e,t,n){var r=t.pendingProps,o=r.revealOrder,a=r.tail;r=r.children;var i=bn.current,l=(i&2)!==0;if(l?(i=i&1|2,t.flags|=128):i&=1,Gt(bn,i),Gn(e,t,r,n),r=xt?Lc:0,!l&&e!==null&&(e.flags&128)!==0)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Rx(e,n,t);else if(e.tag===19)Rx(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&&jd(e)===null&&(o=n),n=n.sibling;n=o,n===null?(o=t.child,t.child=null):(o=n.sibling,n.sibling=null),Yp(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&&jd(e)===null){t.child=o;break}e=o.sibling,o.sibling=n,n=o,o=e}Yp(t,!0,n,null,a,r);break;case"together":Yp(t,!1,null,null,void 0,r);break;default:t.memoizedState=null}return t.child}function Ra(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),gi|=t.lanes,(n&t.childLanes)===0)if(e!==null){if(xs(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=va(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=va(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function Ph(e,t){return(e.lanes&t)!==0?!0:(e=e.dependencies,!!(e!==null&&zd(e)))}function KO(e,t,n){switch(t.tag){case 3:kd(t,t.stateNode.containerInfo),Wa(t,En,e.memoizedState.cache),Xi();break;case 27:case 5:mg(t);break;case 4:kd(t,t.stateNode.containerInfo);break;case 10:Wa(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,_g(t),null;break;case 13:var r=t.memoizedState;if(r!==null)return r.dehydrated!==null?(Ya(t),t.flags|=128,null):(n&t.child.childLanes)!==0?jS(e,t,n):(Ya(t),e=Ra(e,t,n),e!==null?e.sibling:null);Ya(t);break;case 19:var o=(e.flags&128)!==0;if(r=(n&t.childLanes)!==0,r||(xs(e,t,n,!1),r=(n&t.childLanes)!==0),o){if(r)return VS(e,t,n);t.flags|=128}if(o=t.memoizedState,o!==null&&(o.rendering=null,o.tail=null,o.lastEffect=null),Gt(bn,bn.current),r)break;return null;case 22:return t.lanes=0,US(e,t,n,t.pendingProps);case 24:Wa(t,En,e.memoizedState.cache)}return Ra(e,t,n)}function FS(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps)Tn=!0;else{if(!Ph(e,n)&&(t.flags&128)===0)return Tn=!1,KO(e,t,n);Tn=(e.flags&131072)!==0}else Tn=!1,xt&&(t.flags&1048576)!==0&&K0(t,Lc,t.index);switch(t.lanes=0,t.tag){case 16:e:{var r=t.pendingProps;if(e=$i(t.elementType),t.type=e,typeof e=="function")hh(e)?(r=tl(e,r),t.tag=1,t=Ax(null,t,e,r,n)):(t.tag=0,t=Pg(null,t,e,r,n));else{if(e!=null){var o=e.$$typeof;if(o===nh){t.tag=11,t=bx(null,t,e,r,n);break e}else if(o===rh){t.tag=14,t=vx(null,t,e,r,n);break e}}throw t=dg(e)||e,Error(K(306,t,""))}}return t;case 0:return Pg(e,t,t.type,t.pendingProps,n);case 1:return r=t.type,o=tl(r,t.pendingProps),Ax(e,t,r,o,n);case 3:e:{if(kd(t,t.stateNode.containerInfo),e===null)throw Error(K(387));r=t.pendingProps;var a=t.memoizedState;o=a.element,Mg(e,t),wc(t,r,null,n);var i=t.memoizedState;if(r=i.cache,Wa(t,En,r),r!==a.cache&&Eg(t,[En],n,!0),Sc(),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=Cx(e,t,r,n);break e}else if(r!==o){o=Xr(Error(K(424)),t),Dc(o),t=Cx(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,Xt=eo(e.firstChild),Wn=t,xt=!0,oi=null,Jr=!0,n=X0(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(Xi(),r===o){t=Ra(e,t,n);break e}Gn(e,t,r,n)}t=t.child}return t;case 26:return Ad(e,t),e===null?(n=qx(t.type,null,t.pendingProps,null))?t.memoizedState=n:xt||(n=t.type,e=t.pendingProps,r=Jd(ri.current).createElement(n),r[qn]=t,r[hr]=e,Qn(r,n,e),Vn(r),t.stateNode=r):t.memoizedState=qx(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return mg(t),e===null&&xt&&(r=t.stateNode=_w(t.type,t.pendingProps,ri.current),Wn=t,Jr=!0,o=Xt,yi(t.type)?(Zg=o,Xt=eo(r.firstChild)):Xt=o),Gn(e,t,t.pendingProps.children,n),Ad(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&xt&&((o=r=Xt)&&(r=v_(r,t.type,t.pendingProps,Jr),r!==null?(t.stateNode=r,Wn=t,Xt=eo(r.firstChild),Jr=!1,o=!0):o=!1),o||mi(t)),mg(t),o=t.type,a=t.pendingProps,i=e!==null?e.memoizedProps:null,r=a.children,Yg(o,a)?r=null:i!==null&&Yg(o,i)&&(t.flags|=32),t.memoizedState!==null&&(o=Rh(e,t,IO,null,null,n),jc._currentValue=o),Ad(e,t),Gn(e,t,r,n),t.child;case 6:return e===null&&xt&&((e=n=Xt)&&(n=x_(n,t.pendingProps,Jr),n!==null?(t.stateNode=n,Wn=t,Xt=null,e=!0):e=!1),e||mi(t)),null;case 13:return jS(e,t,n);case 4:return kd(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=Zi(t,null,r,n):Gn(e,t,r,n),t.child;case 11:return bx(e,t,t.type,t.pendingProps,n);case 7:return Gn(e,t,t.pendingProps,n),t.child;case 8:return Gn(e,t,t.pendingProps.children,n),t.child;case 12:return Gn(e,t,t.pendingProps.children,n),t.child;case 10:return r=t.pendingProps,Wa(t,t.type,r.value),Gn(e,t,r.children,n),t.child;case 9:return o=t.type._context,r=t.pendingProps.children,Ji(t),o=Yn(o),r=r(o),t.flags|=1,Gn(e,t,r,n),t.child;case 14:return vx(e,t,t.type,t.pendingProps,n);case 15:return PS(e,t,t.type,t.pendingProps,n);case 19:return VS(e,t,n);case 31:return $O(e,t,n);case 22:return US(e,t,n,t.pendingProps);case 24:return Ji(t),r=Yn(En),e===null?(o=xh(),o===null&&(o=$t,a=vh(),o.pooledCache=a,a.refCount++,a!==null&&(o.pooledCacheLanes|=n),o=a),t.memoizedState={parent:r,cache:o},wh(t),Wa(t,En,o)):((e.lanes&n)!==0&&(Mg(e,t),wc(t,null,null,n),Sc()),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),Wa(t,En,r)):(r=a.cache,Wa(t,En,r),r!==o.cache&&Eg(t,[En],n,!0))),Gn(e,t,t.pendingProps.children,n),t.child;case 29:throw t.pendingProps}throw Error(K(156,t.tag))}function ua(e){e.flags|=4}function Qp(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(fw())e.flags|=8192;else throw Yi=Pd,Sh}else e.flags&=-16777217}function Nx(e,t){if(t.type!=="stylesheet"||(t.state.loading&4)!==0)e.flags&=-16777217;else if(e.flags|=16777216,!Bw(t))if(fw())e.flags|=8192;else throw Yi=Pd,Sh}function ld(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag!==22?m0():536870912,e.lanes|=t,ms|=t)}function lc(e,t){if(!xt)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 Qt(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 GO(e,t,n){var r=t.pendingProps;switch(bh(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Qt(t),null;case 1:return Qt(t),null;case 3:return n=t.stateNode,r=null,e!==null&&(r=e.memoizedState.cache),t.memoizedState.cache!==r&&(t.flags|=2048),xa(En),ls(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),(e===null||e.child===null)&&(Pl(t)?ua(t):e===null||e.memoizedState.isDehydrated&&(t.flags&256)===0||(t.flags|=1024,Vp())),Qt(t),null;case 26:var o=t.type,a=t.memoizedState;return e===null?(ua(t),a!==null?(Qt(t),Nx(t,a)):(Qt(t),Qp(t,o,null,r,n))):a?a!==e.memoizedState?(ua(t),Qt(t),Nx(t,a)):(Qt(t),t.flags&=-16777217):(e=e.memoizedProps,e!==r&&ua(t),Qt(t),Qp(t,o,e,r,n)),null;case 27:if(Od(t),n=ri.current,o=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==r&&ua(t);else{if(!r){if(t.stateNode===null)throw Error(K(166));return Qt(t),null}e=Io.current,Pl(t)?tx(t,e):(e=_w(o,r,n),t.stateNode=e,ua(t))}return Qt(t),null;case 5:if(Od(t),o=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==r&&ua(t);else{if(!r){if(t.stateNode===null)throw Error(K(166));return Qt(t),null}if(a=Io.current,Pl(t))tx(t,a);else{var i=Jd(ri.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[qn]=t,a[hr]=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(Qn(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&&ua(t)}}return Qt(t),Qp(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==r&&ua(t);else{if(typeof r!="string"&&t.stateNode===null)throw Error(K(166));if(e=ri.current,Pl(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,o=Wn,o!==null)switch(o.tag){case 27:case 5:r=o.memoizedProps}e[qn]=t,e=!!(e.nodeValue===n||r!==null&&r.suppressHydrationWarning===!0||Tw(e.nodeValue,n)),e||mi(t,!0)}else e=Jd(e).createTextNode(r),e[qn]=t,t.stateNode=e}return Qt(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(r=Pl(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[qn]=t}else Xi(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Qt(t),e=!1}else n=Vp(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(Tr(t),t):(Tr(t),null);if((t.flags&128)!==0)throw Error(K(558))}return Qt(t),null;case 13:if(r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(o=Pl(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[qn]=t}else Xi(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Qt(t),o=!1}else o=Vp(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=o),o=!0;if(!o)return t.flags&256?(Tr(t),t):(Tr(t),null)}return Tr(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),ld(t,t.updateQueue),Qt(t),null);case 4:return ls(),e===null&&Kh(t.stateNode.containerInfo),Qt(t),null;case 10:return xa(t.type),Qt(t),null;case 19:if(Fn(bn),r=t.memoizedState,r===null)return Qt(t),null;if(o=(t.flags&128)!==0,a=r.rendering,a===null)if(o)lc(r,!1);else{if(gn!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(a=jd(e),a!==null){for(t.flags|=128,lc(r,!1),e=a.updateQueue,t.updateQueue=e,ld(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)H0(n,e),n=n.sibling;return Gt(bn,bn.current&1|2),xt&&pa(t,r.treeForkCount),t.child}e=e.sibling}r.tail!==null&&Or()>Gd&&(t.flags|=128,o=!0,lc(r,!1),t.lanes=4194304)}else{if(!o)if(e=jd(a),e!==null){if(t.flags|=128,o=!0,e=e.updateQueue,t.updateQueue=e,ld(t,e),lc(r,!0),r.tail===null&&r.tailMode==="hidden"&&!a.alternate&&!xt)return Qt(t),null}else 2*Or()-r.renderingStartTime>Gd&&n!==536870912&&(t.flags|=128,o=!0,lc(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=Or(),e.sibling=null,n=bn.current,Gt(bn,o?n&1|2:n&1),xt&&pa(t,r.treeForkCount),e):(Qt(t),null);case 22:case 23:return Tr(t),Ah(),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&&(Qt(t),t.subtreeFlags&6&&(t.flags|=8192)):Qt(t),n=t.updateQueue,n!==null&&ld(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&&Fn(Wi),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),xa(En),Qt(t),null;case 25:return null;case 30:return null}throw Error(K(156,t.tag))}function qO(e,t){switch(bh(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return xa(En),ls(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Od(t),null;case 31:if(t.memoizedState!==null){if(Tr(t),t.alternate===null)throw Error(K(340));Xi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(Tr(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(K(340));Xi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Fn(bn),null;case 4:return ls(),null;case 10:return xa(t.type),null;case 22:case 23:return Tr(t),Ah(),e!==null&&Fn(Wi),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return xa(En),null;case 25:return null;default:return null}}function HS(e,t){switch(bh(t),t.tag){case 3:xa(En),ls();break;case 26:case 27:case 5:Od(t);break;case 4:ls();break;case 31:t.memoizedState!==null&&Tr(t);break;case 13:Tr(t);break;case 19:Fn(bn);break;case 10:xa(t.type);break;case 22:case 23:Tr(t),Ah(),e!==null&&Fn(Wi);break;case 24:xa(En)}}function Xc(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){Lt(t,t.return,l)}}function pi(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){Lt(o,s,d)}}}r=r.next}while(r!==a)}}catch(d){Lt(t,t.return,d)}}function $S(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{Z0(t,n)}catch(r){Lt(e,e.return,r)}}}function KS(e,t,n){n.props=tl(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(r){Lt(e,t,r)}}function Cc(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){Lt(e,t,o)}}function Bo(e,t){var n=e.ref,r=e.refCleanup;if(n!==null)if(typeof r=="function")try{r()}catch(o){Lt(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){Lt(e,t,o)}else n.current=null}function GS(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){Lt(e,e.return,o)}}function Xp(e,t,n){try{var r=e.stateNode;m_(r,e.type,n,t),r[hr]=t}catch(o){Lt(e,e.return,o)}}function qS(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&yi(e.type)||e.tag===4}function Jp(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||qS(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&&yi(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 jg(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=ya));else if(r!==4&&(r===27&&yi(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(jg(e,t,n),e=e.sibling;e!==null;)jg(e,t,n),e=e.sibling}function Kd(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&&yi(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(Kd(e,t,n),e=e.sibling;e!==null;)Kd(e,t,n),e=e.sibling}function WS(e){var t=e.stateNode,n=e.memoizedProps;try{for(var r=e.type,o=t.attributes;o.length;)t.removeAttributeNode(o[0]);Qn(t,r,n),t[qn]=e,t[hr]=n}catch(a){Lt(e,e.return,a)}}var ga=!1,Nn=!1,Zp=!1,Ex=typeof WeakSet=="function"?WeakSet:Set,jn=null;function WO(e,t){if(e=e.containerInfo,qg=nf,e=B0(e),mh(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 m;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),(m=u.firstChild)!==null;)f=u,u=m;for(;;){if(u===e)break t;if(f===n&&++c===o&&(l=i),f===a&&++d===r&&(s=i),(m=u.nextSibling)!==null)break;u=f,f=u.parentNode}u=m}n=l===-1||s===-1?null:{start:l,end:s}}else n=null}n=n||{start:0,end:0}}else n=null;for(Wg={focusedElem:e,selectionRange:n},nf=!1,jn=t;jn!==null;)if(t=jn,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,jn=e;else for(;jn!==null;){switch(t=jn,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=tl(n.type,o);e=r.getSnapshotBeforeUpdate(b,a),r.__reactInternalSnapshotBeforeUpdate=e}catch(p){Lt(n,n.return,p)}}break;case 3:if((e&1024)!==0){if(e=t.stateNode.containerInfo,n=e.nodeType,n===9)Qg(e);else if(n===1)switch(e.nodeName){case"HEAD":case"HTML":case"BODY":Qg(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,jn=e;break}jn=t.return}}function YS(e,t,n){var r=n.flags;switch(n.tag){case 0:case 11:case 15:fa(e,n),r&4&&Xc(5,n);break;case 1:if(fa(e,n),r&4)if(e=n.stateNode,t===null)try{e.componentDidMount()}catch(i){Lt(n,n.return,i)}else{var o=tl(n.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(o,t,e.__reactInternalSnapshotBeforeUpdate)}catch(i){Lt(n,n.return,i)}}r&64&&$S(n),r&512&&Cc(n,n.return);break;case 3:if(fa(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{Z0(e,t)}catch(i){Lt(n,n.return,i)}}break;case 27:t===null&&r&4&&WS(n);case 26:case 5:fa(e,n),t===null&&r&4&&GS(n),r&512&&Cc(n,n.return);break;case 12:fa(e,n);break;case 31:fa(e,n),r&4&&JS(e,n);break;case 13:fa(e,n),r&4&&ZS(e,n),r&64&&(e=n.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(n=r_.bind(null,n),S_(e,n))));break;case 22:if(r=n.memoizedState!==null||ga,!r){t=t!==null&&t.memoizedState!==null||Nn,o=ga;var a=Nn;ga=r,(Nn=t)&&!a?ma(e,n,(n.subtreeFlags&8772)!==0):fa(e,n),ga=o,Nn=a}break;case 30:break;default:fa(e,n)}}function QS(e){var t=e.alternate;t!==null&&(e.alternate=null,QS(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&lh(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 nn=null,mr=!1;function da(e,t,n){for(n=n.child;n!==null;)XS(e,t,n),n=n.sibling}function XS(e,t,n){if(_r&&typeof _r.onCommitFiberUnmount=="function")try{_r.onCommitFiberUnmount($c,n)}catch{}switch(n.tag){case 26:Nn||Bo(n,t),da(e,t,n),n.memoizedState?n.memoizedState.count--:n.stateNode&&(n=n.stateNode,n.parentNode.removeChild(n));break;case 27:Nn||Bo(n,t);var r=nn,o=mr;yi(n.type)&&(nn=n.stateNode,mr=!1),da(e,t,n),Tc(n.stateNode),nn=r,mr=o;break;case 5:Nn||Bo(n,t);case 6:if(r=nn,o=mr,nn=null,da(e,t,n),nn=r,mr=o,nn!==null)if(mr)try{(nn.nodeType===9?nn.body:nn.nodeName==="HTML"?nn.ownerDocument.body:nn).removeChild(n.stateNode)}catch(a){Lt(n,t,a)}else try{nn.removeChild(n.stateNode)}catch(a){Lt(n,t,a)}break;case 18:nn!==null&&(mr?(e=nn,Fx(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,n.stateNode),ys(e)):Fx(nn,n.stateNode));break;case 4:r=nn,o=mr,nn=n.stateNode.containerInfo,mr=!0,da(e,t,n),nn=r,mr=o;break;case 0:case 11:case 14:case 15:pi(2,n,t),Nn||pi(4,n,t),da(e,t,n);break;case 1:Nn||(Bo(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"&&KS(n,t,r)),da(e,t,n);break;case 21:da(e,t,n);break;case 22:Nn=(r=Nn)||n.memoizedState!==null,da(e,t,n),Nn=r;break;default:da(e,t,n)}}function JS(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{ys(e)}catch(n){Lt(t,t.return,n)}}}function ZS(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{ys(e)}catch(n){Lt(t,t.return,n)}}function YO(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new Ex),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new Ex),t;default:throw Error(K(435,e.tag))}}function sd(e,t){var n=YO(e);t.forEach(function(r){if(!n.has(r)){n.add(r);var o=o_.bind(null,e,r);r.then(o,o)}})}function dr(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(yi(l.type)){nn=l.stateNode,mr=!1;break e}break;case 5:nn=l.stateNode,mr=!1;break e;case 3:case 4:nn=l.stateNode.containerInfo,mr=!0;break e}l=l.return}if(nn===null)throw Error(K(160));XS(a,i,o),nn=null,mr=!1,a=o.alternate,a!==null&&(a.return=null),o.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)ew(t,e),t=t.sibling}var bo=null;function ew(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:dr(t,e),fr(e),r&4&&(pi(3,e,e.return),Xc(3,e),pi(5,e,e.return));break;case 1:dr(t,e),fr(e),r&512&&(Nn||n===null||Bo(n,n.return)),r&64&&ga&&(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=bo;if(dr(t,e),fr(e),r&512&&(Nn||n===null||Bo(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[qc]||a[qn]||a.namespaceURI==="http://www.w3.org/2000/svg"||a.hasAttribute("itemprop"))&&(a=o.createElement(r),o.head.insertBefore(a,o.querySelector("head > title"))),Qn(a,r,n),a[qn]=e,Vn(a),r=a;break e;case"link":var i=Yx("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),Qn(a,r,n),o.head.appendChild(a);break;case"meta":if(i=Yx("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),Qn(a,r,n),o.head.appendChild(a);break;default:throw Error(K(468,r))}a[qn]=e,Vn(a),r=a}e.stateNode=r}else Qx(o,e.type,e.stateNode);else e.stateNode=Wx(o,r,e.memoizedProps);else a!==r?(a===null?n.stateNode!==null&&(n=n.stateNode,n.parentNode.removeChild(n)):a.count--,r===null?Qx(o,e.type,e.stateNode):Wx(o,r,e.memoizedProps)):r===null&&e.stateNode!==null&&Xp(e,e.memoizedProps,n.memoizedProps)}break;case 27:dr(t,e),fr(e),r&512&&(Nn||n===null||Bo(n,n.return)),n!==null&&r&4&&Xp(e,e.memoizedProps,n.memoizedProps);break;case 5:if(dr(t,e),fr(e),r&512&&(Nn||n===null||Bo(n,n.return)),e.flags&32){o=e.stateNode;try{cs(o,"")}catch(b){Lt(e,e.return,b)}}r&4&&e.stateNode!=null&&(o=e.memoizedProps,Xp(e,o,n!==null?n.memoizedProps:o)),r&1024&&(Zp=!0);break;case 6:if(dr(t,e),fr(e),r&4){if(e.stateNode===null)throw Error(K(162));r=e.memoizedProps,n=e.stateNode;try{n.nodeValue=r}catch(b){Lt(e,e.return,b)}}break;case 3:if(Nd=null,o=bo,bo=Zd(t.containerInfo),dr(t,e),bo=o,fr(e),r&4&&n!==null&&n.memoizedState.isDehydrated)try{ys(t.containerInfo)}catch(b){Lt(e,e.return,b)}Zp&&(Zp=!1,tw(e));break;case 4:r=bo,bo=Zd(e.stateNode.containerInfo),dr(t,e),fr(e),bo=r;break;case 12:dr(t,e),fr(e);break;case 31:dr(t,e),fr(e),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,sd(e,r)));break;case 13:dr(t,e),fr(e),e.child.flags&8192&&e.memoizedState!==null!=(n!==null&&n.memoizedState!==null)&&(hf=Or()),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,sd(e,r)));break;case 22:o=e.memoizedState!==null;var s=n!==null&&n.memoizedState!==null,c=ga,d=Nn;if(ga=c||o,Nn=d||s,dr(t,e),Nn=d,ga=c,fr(e),r&8192)e:for(t=e.stateNode,t._visibility=o?t._visibility&-2:t._visibility|1,o&&(n===null||s||ga||Nn||Ki(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){Lt(s,s.return,b)}}}else if(t.tag===6){if(n===null){s=t;try{s.stateNode.nodeValue=o?"":s.memoizedProps}catch(b){Lt(s,s.return,b)}}}else if(t.tag===18){if(n===null){s=t;try{var m=s.stateNode;o?Hx(m,!0):Hx(s.stateNode,!1)}catch(b){Lt(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,sd(e,n))));break;case 19:dr(t,e),fr(e),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,sd(e,r)));break;case 30:break;case 21:break;default:dr(t,e),fr(e)}}function fr(e){var t=e.flags;if(t&2){try{for(var n,r=e.return;r!==null;){if(qS(r)){n=r;break}r=r.return}if(n==null)throw Error(K(160));switch(n.tag){case 27:var o=n.stateNode,a=Jp(e);Kd(e,a,o);break;case 5:var i=n.stateNode;n.flags&32&&(cs(i,""),n.flags&=-33);var l=Jp(e);Kd(e,l,i);break;case 3:case 4:var s=n.stateNode.containerInfo,c=Jp(e);jg(e,c,s);break;default:throw Error(K(161))}}catch(d){Lt(e,e.return,d)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function tw(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;tw(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),e=e.sibling}}function fa(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)YS(e,t.alternate,t),t=t.sibling}function Ki(e){for(e=e.child;e!==null;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:pi(4,t,t.return),Ki(t);break;case 1:Bo(t,t.return);var n=t.stateNode;typeof n.componentWillUnmount=="function"&&KS(t,t.return,n),Ki(t);break;case 27:Tc(t.stateNode);case 26:case 5:Bo(t,t.return),Ki(t);break;case 22:t.memoizedState===null&&Ki(t);break;case 30:Ki(t);break;default:Ki(t)}e=e.sibling}}function ma(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:ma(o,a,n),Xc(4,a);break;case 1:if(ma(o,a,n),r=a,o=r.stateNode,typeof o.componentDidMount=="function")try{o.componentDidMount()}catch(c){Lt(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++)J0(s[o],l)}catch(c){Lt(r,r.return,c)}}n&&i&64&&$S(a),Cc(a,a.return);break;case 27:WS(a);case 26:case 5:ma(o,a,n),n&&r===null&&i&4&&GS(a),Cc(a,a.return);break;case 12:ma(o,a,n);break;case 31:ma(o,a,n),n&&i&4&&JS(o,a);break;case 13:ma(o,a,n),n&&i&4&&ZS(o,a);break;case 22:a.memoizedState===null&&ma(o,a,n),Cc(a,a.return);break;case 30:break;default:ma(o,a,n)}t=t.sibling}}function Uh(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&&Yc(n))}function jh(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Yc(e))}function yo(e,t,n,r){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)nw(e,t,n,r),t=t.sibling}function nw(e,t,n,r){var o=t.flags;switch(t.tag){case 0:case 11:case 15:yo(e,t,n,r),o&2048&&Xc(9,t);break;case 1:yo(e,t,n,r);break;case 3:yo(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&&Yc(e)));break;case 12:if(o&2048){yo(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){Lt(t,t.return,s)}}else yo(e,t,n,r);break;case 31:yo(e,t,n,r);break;case 13:yo(e,t,n,r);break;case 23:break;case 22:a=t.stateNode,i=t.alternate,t.memoizedState!==null?a._visibility&2?yo(e,t,n,r):Rc(e,t):a._visibility&2?yo(e,t,n,r):(a._visibility|=2,jl(e,t,n,r,(t.subtreeFlags&10256)!==0||!1)),o&2048&&Uh(i,t);break;case 24:yo(e,t,n,r),o&2048&&jh(t.alternate,t);break;default:yo(e,t,n,r)}}function jl(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:jl(a,i,l,s,o),Xc(8,i);break;case 23:break;case 22:var d=i.stateNode;i.memoizedState!==null?d._visibility&2?jl(a,i,l,s,o):Rc(a,i):(d._visibility|=2,jl(a,i,l,s,o)),o&&c&2048&&Uh(i.alternate,i);break;case 24:jl(a,i,l,s,o),o&&c&2048&&jh(i.alternate,i);break;default:jl(a,i,l,s,o)}t=t.sibling}}function Rc(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:Rc(n,r),o&2048&&Uh(r.alternate,r);break;case 24:Rc(n,r),o&2048&&jh(r.alternate,r);break;default:Rc(n,r)}t=t.sibling}}var gc=8192;function Ul(e,t,n){if(e.subtreeFlags&gc)for(e=e.child;e!==null;)rw(e,t,n),e=e.sibling}function rw(e,t,n){switch(e.tag){case 26:Ul(e,t,n),e.flags&gc&&e.memoizedState!==null&&L_(n,bo,e.memoizedState,e.memoizedProps);break;case 5:Ul(e,t,n);break;case 3:case 4:var r=bo;bo=Zd(e.stateNode.containerInfo),Ul(e,t,n),bo=r;break;case 22:e.memoizedState===null&&(r=e.alternate,r!==null&&r.memoizedState!==null?(r=gc,gc=16777216,Ul(e,t,n),gc=r):Ul(e,t,n));break;default:Ul(e,t,n)}}function ow(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 sc(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];jn=r,iw(r,e)}ow(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)aw(e),e=e.sibling}function aw(e){switch(e.tag){case 0:case 11:case 15:sc(e),e.flags&2048&&pi(9,e,e.return);break;case 3:sc(e);break;case 12:sc(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&2&&(e.return===null||e.return.tag!==13)?(t._visibility&=-3,Cd(e)):sc(e);break;default:sc(e)}}function Cd(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];jn=r,iw(r,e)}ow(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:pi(8,t,t.return),Cd(t);break;case 22:n=t.stateNode,n._visibility&2&&(n._visibility&=-3,Cd(t));break;default:Cd(t)}e=e.sibling}}function iw(e,t){for(;jn!==null;){var n=jn;switch(n.tag){case 0:case 11:case 15:pi(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:Yc(n.memoizedState.cache)}if(r=n.child,r!==null)r.return=n,jn=r;else e:for(n=e;jn!==null;){r=jn;var o=r.sibling,a=r.return;if(QS(r),r===n){jn=null;break e}if(o!==null){o.return=a,jn=o;break e}jn=a}}}var QO={getCacheForType:function(e){var t=Yn(En),n=t.data.get(e);return n===void 0&&(n=e(),t.data.set(e,n)),n},cacheSignal:function(){return Yn(En).controller.signal}},XO=typeof WeakMap=="function"?WeakMap:Map,Rt=0,$t=null,mt=null,gt=0,_t=0,Er=null,ei=!1,ws=!1,Vh=!1,Na=0,gn=0,gi=0,Qi=0,Fh=0,kr=0,ms=0,Nc=null,pr=null,Vg=!1,hf=0,lw=0,Gd=1/0,qd=null,li=null,Ln=0,si=null,ps=null,Sa=0,Fg=0,Hg=null,sw=null,Ec=0,$g=null;function Dr(){return(Rt&2)!==0&&gt!==0?gt&-gt:Fe.T!==null?$h():y0()}function cw(){if(kr===0)if((gt&536870912)===0||xt){var e=Ju;Ju<<=1,(Ju&3932160)===0&&(Ju=262144),kr=e}else kr=536870912;return e=Ir.current,e!==null&&(e.flags|=32),kr}function gr(e,t,n){(e===$t&&(_t===2||_t===9)||e.cancelPendingCommit!==null)&&(gs(e,0),ti(e,gt,kr,!1)),Gc(e,n),((Rt&2)===0||e!==$t)&&(e===$t&&((Rt&2)===0&&(Qi|=n),gn===4&&ti(e,gt,kr,!1)),Po(e))}function uw(e,t,n){if((Rt&6)!==0)throw Error(K(327));var r=!n&&(t&127)===0&&(t&e.expiredLanes)===0||Kc(e,t),o=r?e_(e,t):eg(e,t,!0),a=r;do{if(o===0){ws&&!r&&ti(e,t,0,!1);break}else{if(n=e.current.alternate,a&&!JO(n)){o=eg(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=Nc;var s=l.current.memoizedState.isDehydrated;if(s&&(gs(l,i).flags|=256),i=eg(l,i,!1),i!==2){if(Vh&&!s){l.errorRecoveryDisabledLanes|=a,Qi|=a,o=4;break e}a=pr,pr=o,a!==null&&(pr===null?pr=a:pr.push.apply(pr,a))}o=i}if(a=!1,o!==2)continue}}if(o===1){gs(e,0),ti(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:ti(r,t,kr,!ei);break e;case 2:pr=null;break;case 3:case 5:break;default:throw Error(K(329))}if((t&62914560)===t&&(o=hf+300-Or(),10<o)){if(ti(r,t,kr,!ei),of(r,0,!0)!==0)break e;Sa=t,r.timeoutHandle=kw(Tx.bind(null,r,n,pr,qd,Vg,t,kr,Qi,ms,ei,a,"Throttled",-0,0),o);break e}Tx(r,n,pr,qd,Vg,t,kr,Qi,ms,ei,a,null,-0,0)}}break}while(!0);Po(e)}function Tx(e,t,n,r,o,a,i,l,s,c,d,u,f,m){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:ya},rw(t,a,u);var b=(a&62914560)===a?hf-Or():(a&4194048)===a?lw-Or():0;if(b=D_(u,b),b!==null){Sa=a,e.cancelPendingCommit=b(kx.bind(null,e,t,a,n,r,o,i,l,s,d,u,null,f,m)),ti(e,a,i,!c);return}}kx(e,t,a,n,r,o,i,l,s)}function JO(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(!Br(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 ti(e,t,n,r){t&=~Fh,t&=~Qi,e.suspendedLanes|=t,e.pingedLanes&=~t,r&&(e.warmLanes|=t),r=e.expirationTimes;for(var o=t;0<o;){var a=31-Lr(o),i=1<<a;r[a]=-1,o&=~i}n!==0&&p0(e,n,t)}function yf(){return(Rt&6)===0?(Jc(0,!1),!1):!0}function Hh(){if(mt!==null){if(_t===0)var e=mt.return;else e=mt,ba=il=null,Th(e),os=null,Bc=0,e=mt;for(;e!==null;)HS(e.alternate,e),e=e.return;mt=null}}function gs(e,t){var n=e.timeoutHandle;n!==-1&&(e.timeoutHandle=-1,h_(n)),n=e.cancelPendingCommit,n!==null&&(e.cancelPendingCommit=null,n()),Sa=0,Hh(),$t=e,mt=n=va(e.current,null),gt=t,_t=0,Er=null,ei=!1,ws=Kc(e,t),Vh=!1,ms=kr=Fh=Qi=gi=gn=0,pr=Nc=null,Vg=!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-Lr(r),a=1<<o;t|=e[o],r&=~a}return Na=t,cf(),n}function dw(e,t){tt=null,Fe.H=zc,t===Ss||t===df?(t=ix(),_t=3):t===Sh?(t=ix(),_t=4):_t=t===zh?8:t!==null&&typeof t=="object"&&typeof t.then=="function"?6:1,Er=t,mt===null&&(gn=1,Hd(e,Xr(t,e.current)))}function fw(){var e=Ir.current;return e===null?!0:(gt&4194048)===gt?Zr===null:(gt&62914560)===gt||(gt&536870912)!==0?e===Zr:!1}function mw(){var e=Fe.H;return Fe.H=zc,e===null?zc:e}function pw(){var e=Fe.A;return Fe.A=QO,e}function Wd(){gn=4,ei||(gt&4194048)!==gt&&Ir.current!==null||(ws=!0),(gi&134217727)===0&&(Qi&134217727)===0||$t===null||ti($t,gt,kr,!1)}function eg(e,t,n){var r=Rt;Rt|=2;var o=mw(),a=pw();($t!==e||gt!==t)&&(qd=null,gs(e,t)),t=!1;var i=gn;e:do try{if(_t!==0&&mt!==null){var l=mt,s=Er;switch(_t){case 8:Hh(),i=6;break e;case 3:case 2:case 9:case 6:Ir.current===null&&(t=!0);var c=_t;if(_t=0,Er=null,Zl(e,l,s,c),n&&ws){i=0;break e}break;default:c=_t,_t=0,Er=null,Zl(e,l,s,c)}}ZO(),i=gn;break}catch(d){dw(e,d)}while(!0);return t&&e.shellSuspendCounter++,ba=il=null,Rt=r,Fe.H=o,Fe.A=a,mt===null&&($t=null,gt=0,cf()),i}function ZO(){for(;mt!==null;)gw(mt)}function e_(e,t){var n=Rt;Rt|=2;var r=mw(),o=pw();$t!==e||gt!==t?(qd=null,Gd=Or()+500,gs(e,t)):ws=Kc(e,t);e:do try{if(_t!==0&&mt!==null){t=mt;var a=Er;t:switch(_t){case 1:_t=0,Er=null,Zl(e,t,a,1);break;case 2:case 9:if(ax(a)){_t=0,Er=null,Mx(t);break}t=function(){_t!==2&&_t!==9||$t!==e||(_t=7),Po(e)},a.then(t,t);break e;case 3:_t=7;break e;case 4:_t=5;break e;case 7:ax(a)?(_t=0,Er=null,Mx(t)):(_t=0,Er=null,Zl(e,t,a,7));break;case 5:var i=null;switch(mt.tag){case 26:i=mt.memoizedState;case 5:case 27:var l=mt;if(i?Bw(i):l.stateNode.complete){_t=0,Er=null;var s=l.sibling;if(s!==null)mt=s;else{var c=l.return;c!==null?(mt=c,bf(c)):mt=null}break t}}_t=0,Er=null,Zl(e,t,a,5);break;case 6:_t=0,Er=null,Zl(e,t,a,6);break;case 8:Hh(),gn=6;break e;default:throw Error(K(462))}}t_();break}catch(d){dw(e,d)}while(!0);return ba=il=null,Fe.H=r,Fe.A=o,Rt=n,mt!==null?0:($t=null,gt=0,cf(),gn)}function t_(){for(;mt!==null&&!Ck();)gw(mt)}function gw(e){var t=FS(e.alternate,e,Na);e.memoizedProps=e.pendingProps,t===null?bf(e):mt=t}function Mx(e){var t=e,n=t.alternate;switch(t.tag){case 15:case 0:t=wx(n,t,t.pendingProps,t.type,void 0,gt);break;case 11:t=wx(n,t,t.pendingProps,t.type.render,t.ref,gt);break;case 5:Th(t);default:HS(n,t),t=mt=H0(t,Na),t=FS(n,t,Na)}e.memoizedProps=e.pendingProps,t===null?bf(e):mt=t}function Zl(e,t,n,r){ba=il=null,Th(t),os=null,Bc=0;var o=t.return;try{if(HO(e,o,t,n,gt)){gn=1,Hd(e,Xr(n,e.current)),mt=null;return}}catch(a){if(o!==null)throw mt=o,a;gn=1,Hd(e,Xr(n,e.current)),mt=null;return}t.flags&32768?(xt||r===1?e=!0:ws||(gt&536870912)!==0?e=!1:(ei=e=!0,(r===2||r===9||r===3||r===6)&&(r=Ir.current,r!==null&&r.tag===13&&(r.flags|=16384))),hw(t,e)):bf(t)}function bf(e){var t=e;do{if((t.flags&32768)!==0){hw(t,ei);return}e=t.return;var n=GO(t.alternate,t,Na);if(n!==null){mt=n;return}if(t=t.sibling,t!==null){mt=t;return}mt=t=e}while(t!==null);gn===0&&(gn=5)}function hw(e,t){do{var n=qO(e.alternate,e);if(n!==null){n.flags&=32767,mt=n;return}if(n=e.return,n!==null&&(n.flags|=32768,n.subtreeFlags=0,n.deletions=null),!t&&(e=e.sibling,e!==null)){mt=e;return}mt=e=n}while(e!==null);gn=6,mt=null}function kx(e,t,n,r,o,a,i,l,s){e.cancelPendingCommit=null;do vf();while(Ln!==0);if((Rt&6)!==0)throw Error(K(327));if(t!==null){if(t===e.current)throw Error(K(177));if(a=t.lanes|t.childLanes,a|=ph,Dk(e,n,a,i,l,s),e===$t&&(mt=$t=null,gt=0),ps=t,si=e,Sa=n,Fg=a,Hg=o,sw=r,(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?(e.callbackNode=null,e.callbackPriority=0,a_(_d,function(){return Sw(),null})):(e.callbackNode=null,e.callbackPriority=0),r=(t.flags&13878)!==0,(t.subtreeFlags&13878)!==0||r){r=Fe.T,Fe.T=null,o=Nt.p,Nt.p=2,i=Rt,Rt|=4;try{WO(e,t,n)}finally{Rt=i,Nt.p=o,Fe.T=r}}Ln=1,yw(),bw(),vw()}}function yw(){if(Ln===1){Ln=0;var e=si,t=ps,n=(t.flags&13878)!==0;if((t.subtreeFlags&13878)!==0||n){n=Fe.T,Fe.T=null;var r=Nt.p;Nt.p=2;var o=Rt;Rt|=4;try{ew(t,e);var a=Wg,i=B0(e.containerInfo),l=a.focusedElem,s=a.selectionRange;if(i!==l&&l&&l.ownerDocument&&D0(l.ownerDocument.documentElement,l)){if(s!==null&&mh(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 m=f.getSelection(),b=l.textContent.length,p=Math.min(s.start,b),v=s.end===void 0?p:Math.min(s.end,b);!m.extend&&p>v&&(i=v,v=p,p=i);var h=Jv(l,p),g=Jv(l,v);if(h&&g&&(m.rangeCount!==1||m.anchorNode!==h.node||m.anchorOffset!==h.offset||m.focusNode!==g.node||m.focusOffset!==g.offset)){var y=u.createRange();y.setStart(h.node,h.offset),m.removeAllRanges(),p>v?(m.addRange(y),m.extend(g.node,g.offset)):(y.setEnd(g.node,g.offset),m.addRange(y))}}}}for(u=[],m=l;m=m.parentNode;)m.nodeType===1&&u.push({element:m,left:m.scrollLeft,top:m.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}}nf=!!qg,Wg=qg=null}finally{Rt=o,Nt.p=r,Fe.T=n}}e.current=t,Ln=2}}function bw(){if(Ln===2){Ln=0;var e=si,t=ps,n=(t.flags&8772)!==0;if((t.subtreeFlags&8772)!==0||n){n=Fe.T,Fe.T=null;var r=Nt.p;Nt.p=2;var o=Rt;Rt|=4;try{YS(e,t.alternate,t)}finally{Rt=o,Nt.p=r,Fe.T=n}}Ln=3}}function vw(){if(Ln===4||Ln===3){Ln=0,Rk();var e=si,t=ps,n=Sa,r=sw;(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?Ln=5:(Ln=0,ps=si=null,xw(e,e.pendingLanes));var o=e.pendingLanes;if(o===0&&(li=null),ih(n),t=t.stateNode,_r&&typeof _r.onCommitFiberRoot=="function")try{_r.onCommitFiberRoot($c,t,void 0,(t.current.flags&128)===128)}catch{}if(r!==null){t=Fe.T,o=Nt.p,Nt.p=2,Fe.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{Fe.T=t,Nt.p=o}}(Sa&3)!==0&&vf(),Po(e),o=e.pendingLanes,(n&261930)!==0&&(o&42)!==0?e===$g?Ec++:(Ec=0,$g=e):Ec=0,Jc(0,!1)}}function xw(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,Yc(t)))}function vf(){return yw(),bw(),vw(),Sw()}function Sw(){if(Ln!==5)return!1;var e=si,t=Fg;Fg=0;var n=ih(Sa),r=Fe.T,o=Nt.p;try{Nt.p=32>n?32:n,Fe.T=null,n=Hg,Hg=null;var a=si,i=Sa;if(Ln=0,ps=si=null,Sa=0,(Rt&6)!==0)throw Error(K(331));var l=Rt;if(Rt|=4,aw(a.current),nw(a,a.current,i,n),Rt=l,Jc(0,!1),_r&&typeof _r.onPostCommitFiberRoot=="function")try{_r.onPostCommitFiberRoot($c,a)}catch{}return!0}finally{Nt.p=o,Fe.T=r,xw(e,t)}}function Ox(e,t,n){t=Xr(n,t),t=zg(e.stateNode,t,2),e=ii(e,t,2),e!==null&&(Gc(e,2),Po(e))}function Lt(e,t,n){if(e.tag===3)Ox(e,e,n);else for(;t!==null;){if(t.tag===3){Ox(t,e,n);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof r.componentDidCatch=="function"&&(li===null||!li.has(r))){e=Xr(n,e),n=IS(2),r=ii(t,n,2),r!==null&&(zS(n,r,t,e),Gc(r,2),Po(r));break}}t=t.return}}function tg(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new XO;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)||(Vh=!0,o.add(n),e=n_.bind(null,e,t,n),t.then(e,e))}function n_(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,$t===e&&(gt&n)===n&&(gn===4||gn===3&&(gt&62914560)===gt&&300>Or()-hf?(Rt&2)===0&&gs(e,0):Fh|=n,ms===gt&&(ms=0)),Po(e)}function ww(e,t){t===0&&(t=m0()),e=al(e,t),e!==null&&(Gc(e,t),Po(e))}function r_(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),ww(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(K(314))}r!==null&&r.delete(t),ww(e,n)}function a_(e,t){return oh(e,t)}var Yd=null,Vl=null,Kg=!1,Qd=!1,ng=!1,ni=0;function Po(e){e!==Vl&&e.next===null&&(Vl===null?Yd=Vl=e:Vl=Vl.next=e),Qd=!0,Kg||(Kg=!0,l_())}function Jc(e,t){if(!ng&&Qd){ng=!0;do for(var n=!1,r=Yd;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-Lr(42|e)+1)-1,a&=o&~(i&~l),a=a&201326741?a&201326741|1:a?a|2:0}a!==0&&(n=!0,_x(r,a))}else a=gt,a=of(r,r===$t?a:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),(a&3)===0||Kc(r,a)||(n=!0,_x(r,a));r=r.next}while(n);ng=!1}}function i_(){Aw()}function Aw(){Qd=Kg=!1;var e=0;ni!==0&&g_()&&(e=ni);for(var t=Or(),n=null,r=Yd;r!==null;){var o=r.next,a=Cw(r,t);a===0?(r.next=null,n===null?Yd=o:n.next=o,o===null&&(Vl=n)):(n=r,(e!==0||(a&3)!==0)&&(Qd=!0)),r=o}Ln!==0&&Ln!==5||Jc(e,!1),ni!==0&&(ni=0)}function Cw(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,o=e.expirationTimes,a=e.pendingLanes&-62914561;0<a;){var i=31-Lr(a),l=1<<i,s=o[i];s===-1?((l&n)===0||(l&r)!==0)&&(o[i]=Lk(l,t)):s<=t&&(e.expiredLanes|=l),a&=~l}if(t=$t,n=gt,n=of(e,e===t?n:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r=e.callbackNode,n===0||e===t&&(_t===2||_t===9)||e.cancelPendingCommit!==null)return r!==null&&r!==null&&Op(r),e.callbackNode=null,e.callbackPriority=0;if((n&3)===0||Kc(e,n)){if(t=n&-n,t===e.callbackPriority)return t;switch(r!==null&&Op(r),ih(n)){case 2:case 8:n=d0;break;case 32:n=_d;break;case 268435456:n=f0;break;default:n=_d}return r=Rw.bind(null,e),n=oh(n,r),e.callbackPriority=t,e.callbackNode=n,t}return r!==null&&r!==null&&Op(r),e.callbackPriority=2,e.callbackNode=null,2}function Rw(e,t){if(Ln!==0&&Ln!==5)return e.callbackNode=null,e.callbackPriority=0,null;var n=e.callbackNode;if(vf()&&e.callbackNode!==n)return null;var r=gt;return r=of(e,e===$t?r:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r===0?null:(uw(e,r,t),Cw(e,Or()),e.callbackNode!=null&&e.callbackNode===n?Rw.bind(null,e):null)}function _x(e,t){if(vf())return null;uw(e,t,!0)}function l_(){y_(function(){(Rt&6)!==0?oh(u0,i_):Aw()})}function $h(){if(ni===0){var e=us;e===0&&(e=Xu,Xu<<=1,(Xu&261888)===0&&(Xu=256)),ni=e}return ni}function Lx(e){return e==null||typeof e=="symbol"||typeof e=="boolean"?null:typeof e=="function"?e:gd(""+e)}function Dx(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 s_(e,t,n,r,o){if(t==="submit"&&n&&n.stateNode===o){var a=Lx((o[hr]||null).action),i=r.submitter;i&&(t=(t=i[hr]||null)?Lx(t.formAction):i.getAttribute("formAction"),t!==null&&(a=t,i=null));var l=new af("action","action",null,r,o);e.push({event:l,listeners:[{instance:null,listener:function(){if(r.defaultPrevented){if(ni!==0){var s=i?Dx(o,i):new FormData(o);Bg(n,{pending:!0,data:s,method:o.method,action:a},null,s)}}else typeof a=="function"&&(l.preventDefault(),s=i?Dx(o,i):new FormData(o),Bg(n,{pending:!0,data:s,method:o.method,action:a},a,s))},currentTarget:o}]})}}for(cd=0;cd<Ag.length;cd++)ud=Ag[cd],Bx=ud.toLowerCase(),Ix=ud[0].toUpperCase()+ud.slice(1),vo(Bx,"on"+Ix);var ud,Bx,Ix,cd;vo(z0,"onAnimationEnd");vo(P0,"onAnimationIteration");vo(U0,"onAnimationStart");vo("dblclick","onDoubleClick");vo("focusin","onFocus");vo("focusout","onBlur");vo(NO,"onTransitionRun");vo(EO,"onTransitionStart");vo(TO,"onTransitionCancel");vo(j0,"onTransitionEnd");ss("onMouseEnter",["mouseout","mouseover"]);ss("onMouseLeave",["mouseout","mouseover"]);ss("onPointerEnter",["pointerout","pointerover"]);ss("onPointerLeave",["pointerout","pointerover"]);nl("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));nl("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));nl("onBeforeInput",["compositionend","keypress","textInput","paste"]);nl("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));nl("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));nl("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Pc="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(" "),c_=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(Pc));function Nw(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){Dd(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){Dd(d)}o.currentTarget=null,a=s}}}}function ft(e,t){var n=t[gg];n===void 0&&(n=t[gg]=new Set);var r=e+"__bubble";n.has(r)||(Ew(t,e,2,!1),n.add(r))}function rg(e,t,n){var r=0;t&&(r|=4),Ew(n,e,r,t)}var dd="_reactListening"+Math.random().toString(36).slice(2);function Kh(e){if(!e[dd]){e[dd]=!0,b0.forEach(function(n){n!=="selectionchange"&&(c_.has(n)||rg(n,!1,e),rg(n,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[dd]||(t[dd]=!0,rg("selectionchange",!1,t))}}function Ew(e,t,n,r){switch(jw(t)){case 2:var o=z_;break;case 8:o=P_;break;default:o=Yh}n=o.bind(null,t,n,e),o=void 0,!xg||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 og(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=$l(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}N0(function(){var c=a,d=ch(n),u=[];e:{var f=V0.get(e);if(f!==void 0){var m=af,b=e;switch(e){case"keypress":if(yd(n)===0)break e;case"keydown":case"keyup":m=oO;break;case"focusin":b="focus",m=Ip;break;case"focusout":b="blur",m=Ip;break;case"beforeblur":case"afterblur":m=Ip;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":m=Hv;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":m=Gk;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":m=lO;break;case z0:case P0:case U0:m=Yk;break;case j0:m=cO;break;case"scroll":case"scrollend":m=$k;break;case"wheel":m=dO;break;case"copy":case"cut":case"paste":m=Xk;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":m=Kv;break;case"toggle":case"beforetoggle":m=mO}var p=(t&4)!==0,v=!p&&(e==="scroll"||e==="scrollend"),h=p?f!==null?f+"Capture":null:f;p=[];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=kc(g,h),x!=null&&p.push(Uc(g,x,y))),v)break;g=g.return}0<p.length&&(f=new m(f,b,null,n,d),u.push({event:f,listeners:p}))}}if((t&7)===0){e:{if(f=e==="mouseover"||e==="pointerover",m=e==="mouseout"||e==="pointerout",f&&n!==vg&&(b=n.relatedTarget||n.fromElement)&&($l(b)||b[bs]))break e;if((m||f)&&(f=d.window===d?d:(f=d.ownerDocument)?f.defaultView||f.parentWindow:window,m?(b=n.relatedTarget||n.toElement,m=c,b=b?$l(b):null,b!==null&&(v=Hc(b),p=b.tag,b!==v||p!==5&&p!==27&&p!==6)&&(b=null)):(m=null,b=c),m!==b)){if(p=Hv,x="onMouseLeave",h="onMouseEnter",g="mouse",(e==="pointerout"||e==="pointerover")&&(p=Kv,x="onPointerLeave",h="onPointerEnter",g="pointer"),v=m==null?f:mc(m),y=b==null?f:mc(b),f=new p(x,g+"leave",m,n,d),f.target=v,f.relatedTarget=y,x=null,$l(d)===c&&(p=new p(h,g+"enter",b,n,d),p.target=y,p.relatedTarget=v,x=p),v=x,m&&b)t:{for(p=u_,h=m,g=b,y=0,x=h;x;x=p(x))y++;x=0;for(var R=g;R;R=p(R))x++;for(;0<y-x;)h=p(h),y--;for(;0<x-y;)g=p(g),x--;for(;y--;){if(h===g||g!==null&&h===g.alternate){p=h;break t}h=p(h),g=p(g)}p=null}else p=null;m!==null&&zx(u,f,m,p,!1),b!==null&&v!==null&&zx(u,v,b,p,!0)}}e:{if(f=c?mc(c):window,m=f.nodeName&&f.nodeName.toLowerCase(),m==="select"||m==="input"&&f.type==="file")var w=Yv;else if(Wv(f))if(_0)w=AO;else{w=SO;var E=xO}else m=f.nodeName,!m||m.toLowerCase()!=="input"||f.type!=="checkbox"&&f.type!=="radio"?c&&sh(c.elementType)&&(w=Yv):w=wO;if(w&&(w=w(e,c))){O0(u,w,n,d);break e}E&&E(e,f,c),e==="focusout"&&c&&f.type==="number"&&c.memoizedProps.value!=null&&bg(f,"number",f.value)}switch(E=c?mc(c):window,e){case"focusin":(Wv(E)||E.contentEditable==="true")&&(ql=E,Sg=c,bc=null);break;case"focusout":bc=Sg=ql=null;break;case"mousedown":wg=!0;break;case"contextmenu":case"mouseup":case"dragend":wg=!1,Zv(u,n,d);break;case"selectionchange":if(RO)break;case"keydown":case"keyup":Zv(u,n,d)}var C;if(fh)e:{switch(e){case"compositionstart":var M="onCompositionStart";break e;case"compositionend":M="onCompositionEnd";break e;case"compositionupdate":M="onCompositionUpdate";break e}M=void 0}else Gl?M0(e,n)&&(M="onCompositionEnd"):e==="keydown"&&n.keyCode===229&&(M="onCompositionStart");M&&(T0&&n.locale!=="ko"&&(Gl||M!=="onCompositionStart"?M==="onCompositionEnd"&&Gl&&(C=E0()):(Za=d,uh="value"in Za?Za.value:Za.textContent,Gl=!0)),E=Xd(c,M),0<E.length&&(M=new $v(M,e,null,n,d),u.push({event:M,listeners:E}),C?M.data=C:(C=k0(n),C!==null&&(M.data=C)))),(C=gO?hO(e,n):yO(e,n))&&(M=Xd(c,"onBeforeInput"),0<M.length&&(E=new $v("onBeforeInput","beforeinput",null,n,d),u.push({event:E,listeners:M}),E.data=C)),s_(u,e,c,n,d)}Nw(u,t)})}function Uc(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Xd(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=kc(e,n),o!=null&&r.unshift(Uc(e,o,a)),o=kc(e,t),o!=null&&r.push(Uc(e,o,a))),e.tag===3)return r;e=e.return}return[]}function u_(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function zx(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=kc(n,a),c!=null&&i.unshift(Uc(n,c,s))):o||(c=kc(n,a),c!=null&&i.push(Uc(n,c,s)))),n=n.return}i.length!==0&&e.push({event:t,listeners:i})}var d_=/\r\n?/g,f_=/\u0000|\uFFFD/g;function Px(e){return(typeof e=="string"?e:""+e).replace(d_,`
9
+ `).replace(f_,"")}function Tw(e,t){return t=Px(t),Px(e)===t}function zt(e,t,n,r,o,a){switch(n){case"children":typeof r=="string"?t==="body"||t==="textarea"&&r===""||cs(e,r):(typeof r=="number"||typeof r=="bigint")&&t!=="body"&&cs(e,""+r);break;case"className":ed(e,"class",r);break;case"tabIndex":ed(e,"tabindex",r);break;case"dir":case"role":case"viewBox":case"width":case"height":ed(e,n,r);break;case"style":R0(e,r,a);break;case"data":if(t!=="object"){ed(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=gd(""+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"&&zt(e,t,"name",o.name,o,null),zt(e,t,"formEncType",o.formEncType,o,null),zt(e,t,"formMethod",o.formMethod,o,null),zt(e,t,"formTarget",o.formTarget,o,null)):(zt(e,t,"encType",o.encType,o,null),zt(e,t,"method",o.method,o,null),zt(e,t,"target",o.target,o,null)));if(r==null||typeof r=="symbol"||typeof r=="boolean"){e.removeAttribute(n);break}r=gd(""+r),e.setAttribute(n,r);break;case"onClick":r!=null&&(e.onclick=ya);break;case"onScroll":r!=null&&ft("scroll",e);break;case"onScrollEnd":r!=null&&ft("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=gd(""+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":ft("beforetoggle",e),ft("toggle",e),pd(e,"popover",r);break;case"xlinkActuate":ca(e,"http://www.w3.org/1999/xlink","xlink:actuate",r);break;case"xlinkArcrole":ca(e,"http://www.w3.org/1999/xlink","xlink:arcrole",r);break;case"xlinkRole":ca(e,"http://www.w3.org/1999/xlink","xlink:role",r);break;case"xlinkShow":ca(e,"http://www.w3.org/1999/xlink","xlink:show",r);break;case"xlinkTitle":ca(e,"http://www.w3.org/1999/xlink","xlink:title",r);break;case"xlinkType":ca(e,"http://www.w3.org/1999/xlink","xlink:type",r);break;case"xmlBase":ca(e,"http://www.w3.org/XML/1998/namespace","xml:base",r);break;case"xmlLang":ca(e,"http://www.w3.org/XML/1998/namespace","xml:lang",r);break;case"xmlSpace":ca(e,"http://www.w3.org/XML/1998/namespace","xml:space",r);break;case"is":pd(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=Fk.get(n)||n,pd(e,n,r))}}function Gg(e,t,n,r,o,a){switch(n){case"style":R0(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"?cs(e,r):(typeof r=="number"||typeof r=="bigint")&&cs(e,""+r);break;case"onScroll":r!=null&&ft("scroll",e);break;case"onScrollEnd":r!=null&&ft("scrollend",e);break;case"onClick":r!=null&&(e.onclick=ya);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!v0.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[hr]||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,""):pd(e,n,r)}}}function Qn(e,t,n){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":ft("error",e),ft("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:zt(e,t,a,i,n,null)}}o&&zt(e,t,"srcSet",n.srcSet,n,null),r&&zt(e,t,"src",n.src,n,null);return;case"input":ft("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:zt(e,t,r,d,n,null)}}w0(e,a,l,s,c,i,o,!1);return;case"select":ft("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:zt(e,t,o,l,n,null)}t=a,n=i,e.multiple=!!r,t!=null?ts(e,!!r,t,!1):n!=null&&ts(e,!!r,n,!0);return;case"textarea":ft("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:zt(e,t,i,l,n,null)}C0(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":zt(e,t,s,r,n,null));return;case"dialog":ft("beforetoggle",e),ft("toggle",e),ft("cancel",e),ft("close",e);break;case"iframe":case"object":ft("load",e);break;case"video":case"audio":for(r=0;r<Pc.length;r++)ft(Pc[r],e);break;case"image":ft("error",e),ft("load",e);break;case"details":ft("toggle",e);break;case"embed":case"source":case"link":ft("error",e),ft("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:zt(e,t,c,r,n,null)}return;default:if(sh(t)){for(d in n)n.hasOwnProperty(d)&&(r=n[d],r!==void 0&&Gg(e,t,d,r,n,void 0));return}}for(l in n)n.hasOwnProperty(l)&&(r=n[l],r!=null&&zt(e,t,l,r,n,null))}function m_(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(m in n){var u=n[m];if(n.hasOwnProperty(m)&&u!=null)switch(m){case"checked":break;case"value":break;case"defaultValue":s=u;default:r.hasOwnProperty(m)||zt(e,t,m,null,r,u)}}for(var f in r){var m=r[f];if(u=n[f],r.hasOwnProperty(f)&&(m!=null||u!=null))switch(f){case"type":a=m;break;case"name":o=m;break;case"checked":c=m;break;case"defaultChecked":d=m;break;case"value":i=m;break;case"defaultValue":l=m;break;case"children":case"dangerouslySetInnerHTML":if(m!=null)throw Error(K(137,t));break;default:m!==u&&zt(e,t,f,m,r,u)}}yg(e,i,l,s,c,d,a,o);return;case"select":m=i=l=f=null;for(a in n)if(s=n[a],n.hasOwnProperty(a)&&s!=null)switch(a){case"value":break;case"multiple":m=s;default:r.hasOwnProperty(a)||zt(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&&zt(e,t,o,a,r,s)}t=l,n=i,r=m,f!=null?ts(e,!!n,f,!1):!!r!=!!n&&(t!=null?ts(e,!!n,t,!0):ts(e,!!n,n?[]:"",!1));return;case"textarea":m=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:zt(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":m=o;break;case"children":break;case"dangerouslySetInnerHTML":if(o!=null)throw Error(K(91));break;default:o!==a&&zt(e,t,i,o,r,a)}A0(e,f,m);return;case"option":for(var b in n)f=n[b],n.hasOwnProperty(b)&&f!=null&&!r.hasOwnProperty(b)&&(b==="selected"?e.selected=!1:zt(e,t,b,null,r,f));for(s in r)f=r[s],m=n[s],r.hasOwnProperty(s)&&f!==m&&(f!=null||m!=null)&&(s==="selected"?e.selected=f&&typeof f!="function"&&typeof f!="symbol":zt(e,t,s,f,r,m));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 p in n)f=n[p],n.hasOwnProperty(p)&&f!=null&&!r.hasOwnProperty(p)&&zt(e,t,p,null,r,f);for(c in r)if(f=r[c],m=n[c],r.hasOwnProperty(c)&&f!==m&&(f!=null||m!=null))switch(c){case"children":case"dangerouslySetInnerHTML":if(f!=null)throw Error(K(137,t));break;default:zt(e,t,c,f,r,m)}return;default:if(sh(t)){for(var v in n)f=n[v],n.hasOwnProperty(v)&&f!==void 0&&!r.hasOwnProperty(v)&&Gg(e,t,v,void 0,r,f);for(d in r)f=r[d],m=n[d],!r.hasOwnProperty(d)||f===m||f===void 0&&m===void 0||Gg(e,t,d,f,r,m);return}}for(var h in n)f=n[h],n.hasOwnProperty(h)&&f!=null&&!r.hasOwnProperty(h)&&zt(e,t,h,null,r,f);for(u in r)f=r[u],m=n[u],!r.hasOwnProperty(u)||f===m||f==null&&m==null||zt(e,t,u,f,r,m)}function Ux(e){switch(e){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function p_(){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&&Ux(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&&Ux(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 qg=null,Wg=null;function Jd(e){return e.nodeType===9?e:e.ownerDocument}function jx(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 Mw(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 Yg(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 ag=null;function g_(){var e=window.event;return e&&e.type==="popstate"?e===ag?!1:(ag=e,!0):(ag=null,!1)}var kw=typeof setTimeout=="function"?setTimeout:void 0,h_=typeof clearTimeout=="function"?clearTimeout:void 0,Vx=typeof Promise=="function"?Promise:void 0,y_=typeof queueMicrotask=="function"?queueMicrotask:typeof Vx<"u"?function(e){return Vx.resolve(null).then(e).catch(b_)}:kw;function b_(e){setTimeout(function(){throw e})}function yi(e){return e==="head"}function Fx(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),ys(t);return}r--}else if(n==="$"||n==="$?"||n==="$~"||n==="$!"||n==="&")r++;else if(n==="html")Tc(e.ownerDocument.documentElement);else if(n==="head"){n=e.ownerDocument.head,Tc(n);for(var a=n.firstChild;a;){var i=a.nextSibling,l=a.nodeName;a[qc]||l==="SCRIPT"||l==="STYLE"||l==="LINK"&&a.rel.toLowerCase()==="stylesheet"||n.removeChild(a),a=i}}else n==="body"&&Tc(e.ownerDocument.body);n=o}while(n);ys(t)}function Hx(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 Qg(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":Qg(n),lh(n);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(n.rel.toLowerCase()==="stylesheet")continue}e.removeChild(n)}}function v_(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[qc])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=eo(e.nextSibling),e===null)break}return null}function x_(e,t,n){if(t==="")return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!n||(e=eo(e.nextSibling),e===null))return null;return e}function Ow(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!t||(e=eo(e.nextSibling),e===null))return null;return e}function Xg(e){return e.data==="$?"||e.data==="$~"}function Jg(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 eo(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 Zg=null;function $x(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="/$"||n==="/&"){if(t===0)return eo(e.nextSibling);t--}else n!=="$"&&n!=="$!"&&n!=="$?"&&n!=="$~"&&n!=="&"||t++}e=e.nextSibling}return null}function Kx(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 _w(e,t,n){switch(t=Jd(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 Tc(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);lh(e)}var to=new Map,Gx=new Set;function Zd(e){return typeof e.getRootNode=="function"?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var Ea=Nt.d;Nt.d={f:w_,r:A_,D:C_,C:R_,L:N_,m:E_,X:M_,S:T_,M:k_};function w_(){var e=Ea.f(),t=yf();return e||t}function A_(e){var t=vs(e);t!==null&&t.tag===5&&t.type==="form"?RS(t):Ea.r(e)}var As=typeof document>"u"?null:document;function Lw(e,t,n){var r=As;if(r&&typeof t=="string"&&t){var o=Qr(t);o='link[rel="'+e+'"][href="'+o+'"]',typeof n=="string"&&(o+='[crossorigin="'+n+'"]'),Gx.has(o)||(Gx.add(o),e={rel:e,crossOrigin:n,href:t},r.querySelector(o)===null&&(t=r.createElement("link"),Qn(t,"link",e),Vn(t),r.head.appendChild(t)))}}function C_(e){Ea.D(e),Lw("dns-prefetch",e,null)}function R_(e,t){Ea.C(e,t),Lw("preconnect",e,t)}function N_(e,t,n){Ea.L(e,t,n);var r=As;if(r&&e&&t){var o='link[rel="preload"][as="'+Qr(t)+'"]';t==="image"&&n&&n.imageSrcSet?(o+='[imagesrcset="'+Qr(n.imageSrcSet)+'"]',typeof n.imageSizes=="string"&&(o+='[imagesizes="'+Qr(n.imageSizes)+'"]')):o+='[href="'+Qr(e)+'"]';var a=o;switch(t){case"style":a=hs(e);break;case"script":a=Cs(e)}to.has(a)||(e=Jt({rel:"preload",href:t==="image"&&n&&n.imageSrcSet?void 0:e,as:t},n),to.set(a,e),r.querySelector(o)!==null||t==="style"&&r.querySelector(Zc(a))||t==="script"&&r.querySelector(eu(a))||(t=r.createElement("link"),Qn(t,"link",e),Vn(t),r.head.appendChild(t)))}}function E_(e,t){Ea.m(e,t);var n=As;if(n&&e){var r=t&&typeof t.as=="string"?t.as:"script",o='link[rel="modulepreload"][as="'+Qr(r)+'"][href="'+Qr(e)+'"]',a=o;switch(r){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":a=Cs(e)}if(!to.has(a)&&(e=Jt({rel:"modulepreload",href:e},t),to.set(a,e),n.querySelector(o)===null)){switch(r){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(n.querySelector(eu(a)))return}r=n.createElement("link"),Qn(r,"link",e),Vn(r),n.head.appendChild(r)}}}function T_(e,t,n){Ea.S(e,t,n);var r=As;if(r&&e){var o=es(r).hoistableStyles,a=hs(e);t=t||"default";var i=o.get(a);if(!i){var l={loading:0,preload:null};if(i=r.querySelector(Zc(a)))l.loading=5;else{e=Jt({rel:"stylesheet",href:e,"data-precedence":t},n),(n=to.get(a))&&Gh(e,n);var s=i=r.createElement("link");Vn(s),Qn(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,Rd(i,t,r)}i={type:"stylesheet",instance:i,count:1,state:l},o.set(a,i)}}}function M_(e,t){Ea.X(e,t);var n=As;if(n&&e){var r=es(n).hoistableScripts,o=Cs(e),a=r.get(o);a||(a=n.querySelector(eu(o)),a||(e=Jt({src:e,async:!0},t),(t=to.get(o))&&qh(e,t),a=n.createElement("script"),Vn(a),Qn(a,"link",e),n.head.appendChild(a)),a={type:"script",instance:a,count:1,state:null},r.set(o,a))}}function k_(e,t){Ea.M(e,t);var n=As;if(n&&e){var r=es(n).hoistableScripts,o=Cs(e),a=r.get(o);a||(a=n.querySelector(eu(o)),a||(e=Jt({src:e,async:!0,type:"module"},t),(t=to.get(o))&&qh(e,t),a=n.createElement("script"),Vn(a),Qn(a,"link",e),n.head.appendChild(a)),a={type:"script",instance:a,count:1,state:null},r.set(o,a))}}function qx(e,t,n,r){var o=(o=ri.current)?Zd(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=hs(n.href),n=es(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=hs(n.href);var a=es(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(Zc(e)))&&!a._p&&(i.instance=a,i.state.loading=5),to.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},to.set(e,n),a||O_(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=Cs(n),n=es(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 hs(e){return'href="'+Qr(e)+'"'}function Zc(e){return'link[rel="stylesheet"]['+e+"]"}function Dw(e){return Jt({},e,{"data-precedence":e.precedence,precedence:null})}function O_(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}),Qn(t,"link",n),Vn(t),e.head.appendChild(t))}function Cs(e){return'[src="'+Qr(e)+'"]'}function eu(e){return"script[async]"+e}function Wx(e,t,n){if(t.count++,t.instance===null)switch(t.type){case"style":var r=e.querySelector('style[data-href~="'+Qr(n.href)+'"]');if(r)return t.instance=r,Vn(r),r;var o=Jt({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return r=(e.ownerDocument||e).createElement("style"),Vn(r),Qn(r,"style",o),Rd(r,n.precedence,e),t.instance=r;case"stylesheet":o=hs(n.href);var a=e.querySelector(Zc(o));if(a)return t.state.loading|=4,t.instance=a,Vn(a),a;r=Dw(n),(o=to.get(o))&&Gh(r,o),a=(e.ownerDocument||e).createElement("link"),Vn(a);var i=a;return i._p=new Promise(function(l,s){i.onload=l,i.onerror=s}),Qn(a,"link",r),t.state.loading|=4,Rd(a,n.precedence,e),t.instance=a;case"script":return a=Cs(n.src),(o=e.querySelector(eu(a)))?(t.instance=o,Vn(o),o):(r=n,(o=to.get(a))&&(r=Jt({},n),qh(r,o)),e=e.ownerDocument||e,o=e.createElement("script"),Vn(o),Qn(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,Rd(r,n.precedence,e));return t.instance}function Rd(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 Gh(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.title==null&&(e.title=t.title)}function qh(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.integrity==null&&(e.integrity=t.integrity)}var Nd=null;function Yx(e,t,n){if(Nd===null){var r=new Map,o=Nd=new Map;o.set(n,r)}else o=Nd,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[qc]||a[qn]||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 Qx(e,t,n){e=e.ownerDocument||e,e.head.insertBefore(n,t==="title"?e.querySelector("head > title"):null)}function __(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 Bw(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function L_(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=hs(r.href),a=t.querySelector(Zc(o));if(a){t=a._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=ef.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=a,Vn(a);return}a=t.ownerDocument||t,r=Dw(r),(o=to.get(o))&&Gh(r,o),a=a.createElement("link"),Vn(a);var i=a;i._p=new Promise(function(l,s){i.onload=l,i.onerror=s}),Qn(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=ef.bind(e),t.addEventListener("load",n),t.addEventListener("error",n))}}var ig=0;function D_(e,t){return e.stylesheets&&e.count===0&&Ed(e,e.stylesheets),0<e.count||0<e.imgCount?function(n){var r=setTimeout(function(){if(e.stylesheets&&Ed(e,e.stylesheets),e.unsuspend){var a=e.unsuspend;e.unsuspend=null,a()}},6e4+t);0<e.imgBytes&&ig===0&&(ig=62500*p_());var o=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&Ed(e,e.stylesheets),e.unsuspend)){var a=e.unsuspend;e.unsuspend=null,a()}},(e.imgBytes>ig?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(o)}}:null}function ef(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Ed(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var tf=null;function Ed(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,tf=new Map,t.forEach(B_,e),tf=null,ef.call(e))}function B_(e,t){if(!(t.state.loading&4)){var n=tf.get(e);if(n)var r=n.get(null);else{n=new Map,tf.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=ef.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 jc={$$typeof:ha,Provider:null,Consumer:null,_currentValue:Gi,_currentValue2:Gi,_threadCount:0};function I_(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=_p(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=_p(0),this.hiddenUpdates=_p(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 Iw(e,t,n,r,o,a,i,l,s,c,d,u){return e=new I_(e,t,n,i,s,c,d,u,l),t=1,a===!0&&(t|=24),a=Mr(3,null,null,t),e.current=a,a.stateNode=e,t=vh(),t.refCount++,e.pooledCache=t,t.refCount++,a.memoizedState={element:r,isDehydrated:n,cache:t},wh(a),e}function zw(e){return e?(e=Ql,e):Ql}function Pw(e,t,n,r,o,a){o=zw(o),r.context===null?r.context=o:r.pendingContext=o,r=ai(t),r.payload={element:n},a=a===void 0?null:a,a!==null&&(r.callback=a),n=ii(e,r,t),n!==null&&(gr(n,e,t),xc(n,e,t))}function Xx(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function Wh(e,t){Xx(e,t),(e=e.alternate)&&Xx(e,t)}function Uw(e){if(e.tag===13||e.tag===31){var t=al(e,67108864);t!==null&&gr(t,e,67108864),Wh(e,67108864)}}function Jx(e){if(e.tag===13||e.tag===31){var t=Dr();t=ah(t);var n=al(e,t);n!==null&&gr(n,e,t),Wh(e,t)}}var nf=!0;function z_(e,t,n,r){var o=Fe.T;Fe.T=null;var a=Nt.p;try{Nt.p=2,Yh(e,t,n,r)}finally{Nt.p=a,Fe.T=o}}function P_(e,t,n,r){var o=Fe.T;Fe.T=null;var a=Nt.p;try{Nt.p=8,Yh(e,t,n,r)}finally{Nt.p=a,Fe.T=o}}function Yh(e,t,n,r){if(nf){var o=eh(r);if(o===null)og(e,t,r,rf,n),Zx(e,r);else if(j_(o,e,t,n,r))r.stopPropagation();else if(Zx(e,r),t&4&&-1<U_.indexOf(e)){for(;o!==null;){var a=vs(o);if(a!==null)switch(a.tag){case 3:if(a=a.stateNode,a.current.memoizedState.isDehydrated){var i=Hi(a.pendingLanes);if(i!==0){var l=a;for(l.pendingLanes|=2,l.entangledLanes|=2;i;){var s=1<<31-Lr(i);l.entanglements[1]|=s,i&=~s}Po(a),(Rt&6)===0&&(Gd=Or()+500,Jc(0,!1))}}break;case 31:case 13:l=al(a,2),l!==null&&gr(l,a,2),yf(),Wh(a,2)}if(a=eh(r),a===null&&og(e,t,r,rf,n),a===o)break;o=a}o!==null&&r.stopPropagation()}else og(e,t,r,null,n)}}function eh(e){return e=ch(e),Qh(e)}var rf=null;function Qh(e){if(rf=null,e=$l(e),e!==null){var t=Hc(e);if(t===null)e=null;else{var n=t.tag;if(n===13){if(e=a0(t),e!==null)return e;e=null}else if(n===31){if(e=i0(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 rf=e,null}function jw(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(Nk()){case u0:return 2;case d0:return 8;case _d:case Ek:return 32;case f0:return 268435456;default:return 32}default:return 32}}var th=!1,ci=null,ui=null,di=null,Vc=new Map,Fc=new Map,Xa=[],U_="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 Zx(e,t){switch(e){case"focusin":case"focusout":ci=null;break;case"dragenter":case"dragleave":ui=null;break;case"mouseover":case"mouseout":di=null;break;case"pointerover":case"pointerout":Vc.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Fc.delete(t.pointerId)}}function cc(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=vs(t),t!==null&&Uw(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,o!==null&&t.indexOf(o)===-1&&t.push(o),e)}function j_(e,t,n,r,o){switch(t){case"focusin":return ci=cc(ci,e,t,n,r,o),!0;case"dragenter":return ui=cc(ui,e,t,n,r,o),!0;case"mouseover":return di=cc(di,e,t,n,r,o),!0;case"pointerover":var a=o.pointerId;return Vc.set(a,cc(Vc.get(a)||null,e,t,n,r,o)),!0;case"gotpointercapture":return a=o.pointerId,Fc.set(a,cc(Fc.get(a)||null,e,t,n,r,o)),!0}return!1}function Vw(e){var t=$l(e.target);if(t!==null){var n=Hc(t);if(n!==null){if(t=n.tag,t===13){if(t=a0(n),t!==null){e.blockedOn=t,Iv(e.priority,function(){Jx(n)});return}}else if(t===31){if(t=i0(n),t!==null){e.blockedOn=t,Iv(e.priority,function(){Jx(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 Td(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=eh(e.nativeEvent);if(n===null){n=e.nativeEvent;var r=new n.constructor(n.type,n);vg=r,n.target.dispatchEvent(r),vg=null}else return t=vs(n),t!==null&&Uw(t),e.blockedOn=n,!1;t.shift()}return!0}function e0(e,t,n){Td(e)&&n.delete(t)}function V_(){th=!1,ci!==null&&Td(ci)&&(ci=null),ui!==null&&Td(ui)&&(ui=null),di!==null&&Td(di)&&(di=null),Vc.forEach(e0),Fc.forEach(e0)}function fd(e,t){e.blockedOn===t&&(e.blockedOn=null,th||(th=!0,Dn.unstable_scheduleCallback(Dn.unstable_NormalPriority,V_)))}var md=null;function t0(e){md!==e&&(md=e,Dn.unstable_scheduleCallback(Dn.unstable_NormalPriority,function(){md===e&&(md=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(Qh(r||n)===null)continue;break}var a=vs(n);a!==null&&(e.splice(t,3),t-=3,Bg(a,{pending:!0,data:o,method:n.method,action:r},r,o))}}))}function ys(e){function t(s){return fd(s,e)}ci!==null&&fd(ci,e),ui!==null&&fd(ui,e),di!==null&&fd(di,e),Vc.forEach(t),Fc.forEach(t);for(var n=0;n<Xa.length;n++){var r=Xa[n];r.blockedOn===e&&(r.blockedOn=null)}for(;0<Xa.length&&(n=Xa[0],n.blockedOn===null);)Vw(n),n.blockedOn===null&&Xa.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[hr]||null;if(typeof a=="function")i||t0(n);else if(i){var l=null;if(a&&a.hasAttribute("formAction")){if(o=a,i=a[hr]||null)l=i.formAction;else if(Qh(o)!==null)continue}else l=i.action;typeof l=="function"?n[r+1]=l:(n.splice(r,3),r-=3),t0(n)}}}function Fw(){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 Xh(e){this._internalRoot=e}xf.prototype.render=Xh.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(K(409));var n=t.current,r=Dr();Pw(n,r,e,t,null,null)};xf.prototype.unmount=Xh.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;Pw(e.current,2,null,e,null,null),yf(),t[bs]=null}};function xf(e){this._internalRoot=e}xf.prototype.unstable_scheduleHydration=function(e){if(e){var t=y0();e={blockedOn:null,target:e,priority:t};for(var n=0;n<Xa.length&&t!==0&&t<Xa[n].priority;n++);Xa.splice(n,0,e),n===0&&Vw(e)}};var n0=r0.version;if(n0!=="19.2.4")throw Error(K(527,n0,"19.2.4"));Nt.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=vk(t),e=e!==null?l0(e):null,e=e===null?null:e.stateNode,e};var F_={bundleType:0,version:"19.2.4",rendererPackageName:"react-dom",currentDispatcherRef:Fe,reconcilerVersion:"19.2.4"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&(uc=__REACT_DEVTOOLS_GLOBAL_HOOK__,!uc.isDisabled&&uc.supportsFiber))try{$c=uc.inject(F_),_r=uc}catch{}var uc;Sf.createRoot=function(e,t){if(!o0(e))throw Error(K(299));var n=!1,r="",o=LS,a=DS,i=BS;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=Iw(e,1,!1,null,null,n,r,null,o,a,i,Fw),e[bs]=t.current,Kh(e),new Xh(t)};Sf.hydrateRoot=function(e,t,n){if(!o0(e))throw Error(K(299));var r=!1,o="",a=LS,i=DS,l=BS,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=Iw(e,1,!0,t,n??null,r,o,s,a,i,l,Fw),t.context=zw(null),n=t.current,r=Dr(),r=ah(r),o=ai(r),o.callback=null,ii(n,o,r),n=r,t.current.lanes=n,Gc(t,n),Po(t),e[bs]=t.current,Kh(e),new xf(t)};Sf.version="19.2.4"});var Gw=Oo((MI,Kw)=>{"use strict";function $w(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE($w)}catch(e){console.error(e)}}$w(),Kw.exports=Hw()});var yA=Oo(Nf=>{"use strict";var O2=Symbol.for("react.transitional.element"),_2=Symbol.for("react.fragment");function hA(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:O2,type:e,key:r,ref:t!==void 0?t:null,props:n}}Nf.Fragment=_2;Nf.jsx=hA;Nf.jsxs=hA});var J=Oo((PI,bA)=>{"use strict";bA.exports=yA()});var kT=D(Gw(),1);var ve=D(be(),1);function qw(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=qw(e[t]))&&(r&&(r+=" "),r+=n)}else for(n in e)e[n]&&(r&&(r+=" "),r+=n);return r}function wf(){for(var e,t,n=0,r="",o=arguments.length;n<o;n++)(e=arguments[n])&&(t=qw(e))&&(r&&(r+=" "),r+=t);return r}var Ww=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,Yw=wf,Af=(e,t)=>n=>{var r;if(t?.variants==null)return Yw(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=Ww(d)||Ww(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,...m}=d;return Object.entries(m).every(b=>{let[p,v]=b;return Array.isArray(v)?v.includes({...a,...l}[p]):{...a,...l}[p]===v})?[...c,u,f]:c},[]);return Yw(e,i,s,n?.class,n?.className)};var H_=(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}),tA=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n});var Qw=[],K_="arbitrary..",G_=e=>{let t=W_(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:i=>{if(i.startsWith("[")&&i.endsWith("]"))return q_(i);let l=i.split("-"),s=l[0]===""&&l.length>1?1:0;return nA(l,s,t)},getConflictingClassGroupIds:(i,l)=>{if(l){let s=r[i],c=n[i];return s?c?H_(c,s):s:c||Qw}return n[i]||Qw}}},nA=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;let o=e[t],a=n.nextPart.get(o);if(a){let c=nA(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}},q_=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})(),W_=e=>{let{theme:t,classGroups:n}=e;return Y_(n,t)},Y_=(e,t)=>{let n=tA();for(let r in e){let o=e[r];Zh(o,n,r,t)}return n},Zh=(e,t,n,r)=>{let o=e.length;for(let a=0;a<o;a++){let i=e[a];Q_(i,t,n,r)}},Q_=(e,t,n,r)=>{if(typeof e=="string"){X_(e,t,n);return}if(typeof e=="function"){J_(e,t,n,r);return}Z_(e,t,n,r)},X_=(e,t,n)=>{let r=e===""?t:rA(t,e);r.classGroupId=n},J_=(e,t,n,r)=>{if(e2(e)){Zh(e(r),t,n,r);return}t.validators===null&&(t.validators=[]),t.validators.push($_(n,e))},Z_=(e,t,n,r)=>{let o=Object.entries(e),a=o.length;for(let i=0;i<a;i++){let[l,s]=o[i];Zh(s,rA(t,l),n,r)}},rA=(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=tA(),n.nextPart.set(i,l)),n=l}return n},e2=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,t2=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 n2=[],Xw=(e,t,n,r,o)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:o}),r2=e=>{let{prefix:t,experimentalParseClassName:n}=e,r=o=>{let a=[],i=0,l=0,s=0,c,d=o.length;for(let p=0;p<d;p++){let v=o[p];if(i===0&&l===0){if(v===":"){a.push(o.slice(s,p)),s=p+1;continue}if(v==="/"){c=p;continue}}v==="["?i++:v==="]"?i--:v==="("?l++:v===")"&&l--}let u=a.length===0?o:o.slice(s),f=u,m=!1;u.endsWith("!")?(f=u.slice(0,-1),m=!0):u.startsWith("!")&&(f=u.slice(1),m=!0);let b=c&&c>s?c-s:void 0;return Xw(a,m,f,b)};if(t){let o=t+":",a=r;r=i=>i.startsWith(o)?a(i.slice(o.length)):Xw(n2,!1,i,void 0,!0)}if(n){let o=r;r=a=>n({className:a,parseClassName:o})}return r},o2=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}},a2=e=>({cache:t2(e.cacheSize),parseClassName:r2(e),sortModifiers:o2(e),...G_(e)}),i2=/\s+/,l2=(e,t)=>{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:o,sortModifiers:a}=t,i=[],l=e.trim().split(i2),s="";for(let c=l.length-1;c>=0;c-=1){let d=l[c],{isExternal:u,modifiers:f,hasImportantModifier:m,baseClassName:b,maybePostfixModifierPosition:p}=n(d);if(u){s=d+(s.length>0?" "+s:s);continue}let v=!!p,h=r(v?b.substring(0,p):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=m?g+"!":g,x=y+h;if(i.indexOf(x)>-1)continue;i.push(x);let R=o(h,v);for(let w=0;w<R.length;++w){let E=R[w];i.push(y+E)}s=d+(s.length>0?" "+s:s)}return s},s2=(...e)=>{let t=0,n,r,o="";for(;t<e.length;)(n=e[t++])&&(r=oA(n))&&(o&&(o+=" "),o+=r);return o},oA=e=>{if(typeof e=="string")return e;let t,n="";for(let r=0;r<e.length;r++)e[r]&&(t=oA(e[r]))&&(n&&(n+=" "),n+=t);return n},c2=(e,...t)=>{let n,r,o,a,i=s=>{let c=t.reduce((d,u)=>u(d),e());return n=a2(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=l2(s,n);return o(s,d),d};return a=i,(...s)=>a(s2(...s))},u2=[],Bn=e=>{let t=n=>n[e]||u2;return t.isThemeGetter=!0,t},aA=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,iA=/^\((?:(\w[\w-]*):)?(.+)\)$/i,d2=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,f2=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,m2=/\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$/,p2=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,g2=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,h2=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,bi=e=>d2.test(e),lt=e=>!!e&&!Number.isNaN(Number(e)),vi=e=>!!e&&Number.isInteger(Number(e)),Jh=e=>e.endsWith("%")&&lt(e.slice(0,-1)),Ta=e=>f2.test(e),lA=()=>!0,y2=e=>m2.test(e)&&!p2.test(e),ey=()=>!1,b2=e=>g2.test(e),v2=e=>h2.test(e),x2=e=>!Ce(e)&&!Re(e),S2=e=>xi(e,uA,ey),Ce=e=>aA.test(e),ll=e=>xi(e,dA,y2),Jw=e=>xi(e,M2,lt),w2=e=>xi(e,mA,lA),A2=e=>xi(e,fA,ey),Zw=e=>xi(e,sA,ey),C2=e=>xi(e,cA,v2),Cf=e=>xi(e,pA,b2),Re=e=>iA.test(e),tu=e=>sl(e,dA),R2=e=>sl(e,fA),eA=e=>sl(e,sA),N2=e=>sl(e,uA),E2=e=>sl(e,cA),Rf=e=>sl(e,pA,!0),T2=e=>sl(e,mA,!0),xi=(e,t,n)=>{let r=aA.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},sl=(e,t,n=!1)=>{let r=iA.exec(e);return r?r[1]?t(r[1]):n:!1},sA=e=>e==="position"||e==="percentage",cA=e=>e==="image"||e==="url",uA=e=>e==="length"||e==="size"||e==="bg-size",dA=e=>e==="length",M2=e=>e==="number",fA=e=>e==="family-name",mA=e=>e==="number"||e==="weight",pA=e=>e==="shadow";var k2=()=>{let e=Bn("color"),t=Bn("font"),n=Bn("text"),r=Bn("font-weight"),o=Bn("tracking"),a=Bn("leading"),i=Bn("breakpoint"),l=Bn("container"),s=Bn("spacing"),c=Bn("radius"),d=Bn("shadow"),u=Bn("inset-shadow"),f=Bn("text-shadow"),m=Bn("drop-shadow"),b=Bn("blur"),p=Bn("perspective"),v=Bn("aspect"),h=Bn("ease"),g=Bn("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"],R=()=>[...x(),Re,Ce],w=()=>["auto","hidden","clip","visible","scroll"],E=()=>["auto","contain","none"],C=()=>[Re,Ce,s],M=()=>[bi,"full","auto",...C()],L=()=>[vi,"none","subgrid",Re,Ce],F=()=>["auto",{span:["full",vi,Re,Ce]},vi,Re,Ce],z=()=>[vi,"auto",Re,Ce],G=()=>["auto","min","max","fr",Re,Ce],ee=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],de=()=>["start","end","center","stretch","center-safe","end-safe"],q=()=>["auto",...C()],ae=()=>[bi,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...C()],te=()=>[bi,"screen","full","dvw","lvw","svw","min","max","fit",...C()],W=()=>[bi,"screen","full","lh","dvh","lvh","svh","min","max","fit",...C()],V=()=>[e,Re,Ce],Pe=()=>[...x(),eA,Zw,{position:[Re,Ce]}],ne=()=>["no-repeat",{repeat:["","x","y","space","round"]}],$e=()=>["auto","cover","contain",N2,S2,{size:[Re,Ce]}],ie=()=>[Jh,tu,ll],we=()=>["","none","full",c,Re,Ce],Ue=()=>["",lt,tu,ll],j=()=>["solid","dashed","dotted","double"],pe=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],Se=()=>[lt,Jh,eA,Zw],Le=()=>["","none",b,Re,Ce],Ae=()=>["none",lt,Re,Ce],ke=()=>["none",lt,Re,Ce],Qe=()=>[lt,Re,Ce],Ze=()=>[bi,"full",...C()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[Ta],breakpoint:[Ta],color:[lA],container:[Ta],"drop-shadow":[Ta],ease:["in","out","in-out"],font:[x2],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[Ta],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[Ta],shadow:[Ta],spacing:["px",lt],text:[Ta],"text-shadow":[Ta],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",bi,Ce,Re,v]}],container:["container"],columns:[{columns:[lt,Ce,Re,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:R()}],overflow:[{overflow:w()}],"overflow-x":[{"overflow-x":w()}],"overflow-y":[{"overflow-y":w()}],overscroll:[{overscroll:E()}],"overscroll-x":[{"overscroll-x":E()}],"overscroll-y":[{"overscroll-y":E()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:M()}],"inset-x":[{"inset-x":M()}],"inset-y":[{"inset-y":M()}],start:[{"inset-s":M(),start:M()}],end:[{"inset-e":M(),end:M()}],"inset-bs":[{"inset-bs":M()}],"inset-be":[{"inset-be":M()}],top:[{top:M()}],right:[{right:M()}],bottom:[{bottom:M()}],left:[{left:M()}],visibility:["visible","invisible","collapse"],z:[{z:[vi,"auto",Re,Ce]}],basis:[{basis:[bi,"full","auto",l,...C()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[lt,bi,"auto","initial","none",Ce]}],grow:[{grow:["",lt,Re,Ce]}],shrink:[{shrink:["",lt,Re,Ce]}],order:[{order:[vi,"first","last","none",Re,Ce]}],"grid-cols":[{"grid-cols":L()}],"col-start-end":[{col:F()}],"col-start":[{"col-start":z()}],"col-end":[{"col-end":z()}],"grid-rows":[{"grid-rows":L()}],"row-start-end":[{row:F()}],"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:[...ee(),"normal"]}],"justify-items":[{"justify-items":[...de(),"normal"]}],"justify-self":[{"justify-self":["auto",...de()]}],"align-content":[{content:["normal",...ee()]}],"align-items":[{items:[...de(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...de(),{baseline:["","last"]}]}],"place-content":[{"place-content":ee()}],"place-items":[{"place-items":[...de(),"baseline"]}],"place-self":[{"place-self":["auto",...de()]}],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:ae()}],"inline-size":[{inline:["auto",...te()]}],"min-inline-size":[{"min-inline":["auto",...te()]}],"max-inline-size":[{"max-inline":["none",...te()]}],"block-size":[{block:["auto",...W()]}],"min-block-size":[{"min-block":["auto",...W()]}],"max-block-size":[{"max-block":["none",...W()]}],w:[{w:[l,"screen",...ae()]}],"min-w":[{"min-w":[l,"screen","none",...ae()]}],"max-w":[{"max-w":[l,"screen","none","prose",{screen:[i]},...ae()]}],h:[{h:["screen","lh",...ae()]}],"min-h":[{"min-h":["screen","lh","none",...ae()]}],"max-h":[{"max-h":["screen","lh",...ae()]}],"font-size":[{text:["base",n,tu,ll]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[r,T2,w2]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Jh,Ce]}],"font-family":[{font:[R2,A2,t]}],"font-features":[{"font-features":[Ce]}],"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,Re,Ce]}],"line-clamp":[{"line-clamp":[lt,"none",Re,Jw]}],leading:[{leading:[a,...C()]}],"list-image":[{"list-image":["none",Re,Ce]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",Re,Ce]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:V()}],"text-color":[{text:V()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...j(),"wavy"]}],"text-decoration-thickness":[{decoration:[lt,"from-font","auto",Re,ll]}],"text-decoration-color":[{decoration:V()}],"underline-offset":[{"underline-offset":[lt,"auto",Re,Ce]}],"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",Re,Ce]}],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",Re,Ce]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:Pe()}],"bg-repeat":[{bg:ne()}],"bg-size":[{bg:$e()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},vi,Re,Ce],radial:["",Re,Ce],conic:[vi,Re,Ce]},E2,C2]}],"bg-color":[{bg:V()}],"gradient-from-pos":[{from:ie()}],"gradient-via-pos":[{via:ie()}],"gradient-to-pos":[{to:ie()}],"gradient-from":[{from:V()}],"gradient-via":[{via:V()}],"gradient-to":[{to:V()}],rounded:[{rounded:we()}],"rounded-s":[{"rounded-s":we()}],"rounded-e":[{"rounded-e":we()}],"rounded-t":[{"rounded-t":we()}],"rounded-r":[{"rounded-r":we()}],"rounded-b":[{"rounded-b":we()}],"rounded-l":[{"rounded-l":we()}],"rounded-ss":[{"rounded-ss":we()}],"rounded-se":[{"rounded-se":we()}],"rounded-ee":[{"rounded-ee":we()}],"rounded-es":[{"rounded-es":we()}],"rounded-tl":[{"rounded-tl":we()}],"rounded-tr":[{"rounded-tr":we()}],"rounded-br":[{"rounded-br":we()}],"rounded-bl":[{"rounded-bl":we()}],"border-w":[{border:Ue()}],"border-w-x":[{"border-x":Ue()}],"border-w-y":[{"border-y":Ue()}],"border-w-s":[{"border-s":Ue()}],"border-w-e":[{"border-e":Ue()}],"border-w-bs":[{"border-bs":Ue()}],"border-w-be":[{"border-be":Ue()}],"border-w-t":[{"border-t":Ue()}],"border-w-r":[{"border-r":Ue()}],"border-w-b":[{"border-b":Ue()}],"border-w-l":[{"border-l":Ue()}],"divide-x":[{"divide-x":Ue()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":Ue()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...j(),"hidden","none"]}],"divide-style":[{divide:[...j(),"hidden","none"]}],"border-color":[{border:V()}],"border-color-x":[{"border-x":V()}],"border-color-y":[{"border-y":V()}],"border-color-s":[{"border-s":V()}],"border-color-e":[{"border-e":V()}],"border-color-bs":[{"border-bs":V()}],"border-color-be":[{"border-be":V()}],"border-color-t":[{"border-t":V()}],"border-color-r":[{"border-r":V()}],"border-color-b":[{"border-b":V()}],"border-color-l":[{"border-l":V()}],"divide-color":[{divide:V()}],"outline-style":[{outline:[...j(),"none","hidden"]}],"outline-offset":[{"outline-offset":[lt,Re,Ce]}],"outline-w":[{outline:["",lt,tu,ll]}],"outline-color":[{outline:V()}],shadow:[{shadow:["","none",d,Rf,Cf]}],"shadow-color":[{shadow:V()}],"inset-shadow":[{"inset-shadow":["none",u,Rf,Cf]}],"inset-shadow-color":[{"inset-shadow":V()}],"ring-w":[{ring:Ue()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:V()}],"ring-offset-w":[{"ring-offset":[lt,ll]}],"ring-offset-color":[{"ring-offset":V()}],"inset-ring-w":[{"inset-ring":Ue()}],"inset-ring-color":[{"inset-ring":V()}],"text-shadow":[{"text-shadow":["none",f,Rf,Cf]}],"text-shadow-color":[{"text-shadow":V()}],opacity:[{opacity:[lt,Re,Ce]}],"mix-blend":[{"mix-blend":[...pe(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":pe()}],"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":[lt]}],"mask-image-linear-from-pos":[{"mask-linear-from":Se()}],"mask-image-linear-to-pos":[{"mask-linear-to":Se()}],"mask-image-linear-from-color":[{"mask-linear-from":V()}],"mask-image-linear-to-color":[{"mask-linear-to":V()}],"mask-image-t-from-pos":[{"mask-t-from":Se()}],"mask-image-t-to-pos":[{"mask-t-to":Se()}],"mask-image-t-from-color":[{"mask-t-from":V()}],"mask-image-t-to-color":[{"mask-t-to":V()}],"mask-image-r-from-pos":[{"mask-r-from":Se()}],"mask-image-r-to-pos":[{"mask-r-to":Se()}],"mask-image-r-from-color":[{"mask-r-from":V()}],"mask-image-r-to-color":[{"mask-r-to":V()}],"mask-image-b-from-pos":[{"mask-b-from":Se()}],"mask-image-b-to-pos":[{"mask-b-to":Se()}],"mask-image-b-from-color":[{"mask-b-from":V()}],"mask-image-b-to-color":[{"mask-b-to":V()}],"mask-image-l-from-pos":[{"mask-l-from":Se()}],"mask-image-l-to-pos":[{"mask-l-to":Se()}],"mask-image-l-from-color":[{"mask-l-from":V()}],"mask-image-l-to-color":[{"mask-l-to":V()}],"mask-image-x-from-pos":[{"mask-x-from":Se()}],"mask-image-x-to-pos":[{"mask-x-to":Se()}],"mask-image-x-from-color":[{"mask-x-from":V()}],"mask-image-x-to-color":[{"mask-x-to":V()}],"mask-image-y-from-pos":[{"mask-y-from":Se()}],"mask-image-y-to-pos":[{"mask-y-to":Se()}],"mask-image-y-from-color":[{"mask-y-from":V()}],"mask-image-y-to-color":[{"mask-y-to":V()}],"mask-image-radial":[{"mask-radial":[Re,Ce]}],"mask-image-radial-from-pos":[{"mask-radial-from":Se()}],"mask-image-radial-to-pos":[{"mask-radial-to":Se()}],"mask-image-radial-from-color":[{"mask-radial-from":V()}],"mask-image-radial-to-color":[{"mask-radial-to":V()}],"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":[lt]}],"mask-image-conic-from-pos":[{"mask-conic-from":Se()}],"mask-image-conic-to-pos":[{"mask-conic-to":Se()}],"mask-image-conic-from-color":[{"mask-conic-from":V()}],"mask-image-conic-to-color":[{"mask-conic-to":V()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:Pe()}],"mask-repeat":[{mask:ne()}],"mask-size":[{mask:$e()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",Re,Ce]}],filter:[{filter:["","none",Re,Ce]}],blur:[{blur:Le()}],brightness:[{brightness:[lt,Re,Ce]}],contrast:[{contrast:[lt,Re,Ce]}],"drop-shadow":[{"drop-shadow":["","none",m,Rf,Cf]}],"drop-shadow-color":[{"drop-shadow":V()}],grayscale:[{grayscale:["",lt,Re,Ce]}],"hue-rotate":[{"hue-rotate":[lt,Re,Ce]}],invert:[{invert:["",lt,Re,Ce]}],saturate:[{saturate:[lt,Re,Ce]}],sepia:[{sepia:["",lt,Re,Ce]}],"backdrop-filter":[{"backdrop-filter":["","none",Re,Ce]}],"backdrop-blur":[{"backdrop-blur":Le()}],"backdrop-brightness":[{"backdrop-brightness":[lt,Re,Ce]}],"backdrop-contrast":[{"backdrop-contrast":[lt,Re,Ce]}],"backdrop-grayscale":[{"backdrop-grayscale":["",lt,Re,Ce]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[lt,Re,Ce]}],"backdrop-invert":[{"backdrop-invert":["",lt,Re,Ce]}],"backdrop-opacity":[{"backdrop-opacity":[lt,Re,Ce]}],"backdrop-saturate":[{"backdrop-saturate":[lt,Re,Ce]}],"backdrop-sepia":[{"backdrop-sepia":["",lt,Re,Ce]}],"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",Re,Ce]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[lt,"initial",Re,Ce]}],ease:[{ease:["linear","initial",h,Re,Ce]}],delay:[{delay:[lt,Re,Ce]}],animate:[{animate:["none",g,Re,Ce]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[p,Re,Ce]}],"perspective-origin":[{"perspective-origin":R()}],rotate:[{rotate:Ae()}],"rotate-x":[{"rotate-x":Ae()}],"rotate-y":[{"rotate-y":Ae()}],"rotate-z":[{"rotate-z":Ae()}],scale:[{scale:ke()}],"scale-x":[{"scale-x":ke()}],"scale-y":[{"scale-y":ke()}],"scale-z":[{"scale-z":ke()}],"scale-3d":["scale-3d"],skew:[{skew:Qe()}],"skew-x":[{"skew-x":Qe()}],"skew-y":[{"skew-y":Qe()}],transform:[{transform:[Re,Ce,"","none","gpu","cpu"]}],"transform-origin":[{origin:R()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:Ze()}],"translate-x":[{"translate-x":Ze()}],"translate-y":[{"translate-y":Ze()}],"translate-z":[{"translate-z":Ze()}],"translate-none":["translate-none"],accent:[{accent:V()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:V()}],"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",Re,Ce]}],"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",Re,Ce]}],fill:[{fill:["none",...V()]}],"stroke-w":[{stroke:[lt,tu,ll,Jw]}],stroke:[{stroke:["none",...V()]}],"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 gA=c2(k2);function Q(...e){return gA(wf(e))}var vA=D(J(),1),L2=Af("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 Ne({className:e,variant:t,...n}){return(0,vA.jsx)("span",{className:Q(L2({variant:t}),e),...n})}var xA=D(J(),1),D2=Af("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 U({className:e,variant:t,size:n,type:r="button",...o}){return(0,xA.jsx)("button",{className:Q(D2({variant:t,size:n}),e),type:r,...o})}var Rs=D(J(),1);function Ut({className:e,...t}){return(0,Rs.jsx)("section",{className:Q("rounded-2xl border border-border/70 bg-card/92 shadow-sm backdrop-blur",e),...t})}function no({className:e,...t}){return(0,Rs.jsx)("div",{className:Q("flex flex-col gap-1.5 p-5 pb-0",e),...t})}function Uo({className:e,...t}){return(0,Rs.jsx)("h2",{className:Q("text-sm font-semibold tracking-tight text-foreground",e),...t})}function Si({className:e,...t}){return(0,Rs.jsx)("p",{className:Q("text-sm text-muted-foreground",e),...t})}function jt({className:e,...t}){return(0,Rs.jsx)("div",{className:Q("p-5",e),...t})}var xo=D(be(),1);var qI=!!(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 wA=D(be(),1);function SA(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function ty(...e){return t=>{let n=!1,r=e.map(o=>{let a=SA(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():SA(e[o],null)}}}}function Dt(...e){return wA.useCallback(ty(...e),e)}var Ma=D(be(),1),AA=D(J(),1);function ro(e,t=[]){let n=[];function r(a,i){let l=Ma.createContext(i),s=n.length;n=[...n,i];let c=u=>{let{scope:f,children:m,...b}=u,p=f?.[e]?.[s]||l,v=Ma.useMemo(()=>b,Object.values(b));return(0,AA.jsx)(p.Provider,{value:v,children:m})};c.displayName=a+"Provider";function d(u,f){let m=f?.[e]?.[s]||l,b=Ma.useContext(m);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=>Ma.createContext(i));return function(l){let s=l?.[e]||a;return Ma.useMemo(()=>({[`__scope${e}`]:{...l,[e]:s}}),[l,s])}};return o.scopeName=e,[r,B2(o,...t)]}function B2(...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 Ma.useMemo(()=>({[`__scope${t.scopeName}`]:i}),[i])}};return n.scopeName=t.scopeName,n}var oo=D(be(),1);var CA=D(be(),1),ln=globalThis?.document?CA.useLayoutEffect:()=>{};var Ef=D(be(),1);var I2=oo[" useInsertionEffect ".trim().toString()]||ln;function ka({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){let[o,a,i]=z2({defaultProp:t,onChange:n}),l=e!==void 0,s=l?e:o;{let d=oo.useRef(e!==void 0);oo.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=oo.useCallback(d=>{if(l){let u=P2(d)?d(e):d;u!==e&&i.current?.(u)}else a(d)},[l,e,a,i]);return[s,c]}function z2({defaultProp:e,onChange:t}){let[n,r]=oo.useState(e),o=oo.useRef(n),a=oo.useRef(t);return I2(()=>{a.current=t},[t]),oo.useEffect(()=>{o.current!==n&&(a.current?.(n),o.current=n)},[n,o]),[n,r,a]}function P2(e){return typeof e=="function"}var Tf=D(be(),1);function Mf(e){let t=Tf.useRef({value:e,previous:e});return Tf.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}var RA=D(be(),1);function kf(e){let[t,n]=RA.useState(void 0);return ln(()=>{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 NA=D(be(),1),EA=D(ji(),1);var In=D(be(),1);var Of=D(J(),1);function cl(e){let t=U2(e),n=In.forwardRef((r,o)=>{let{children:a,...i}=r,l=In.Children.toArray(a),s=l.find(V2);if(s){let c=s.props.children,d=l.map(u=>u===s?In.Children.count(c)>1?In.Children.only(null):In.isValidElement(c)?c.props.children:null:u);return(0,Of.jsx)(t,{...i,ref:o,children:In.isValidElement(c)?In.cloneElement(c,void 0,d):null})}return(0,Of.jsx)(t,{...i,ref:o,children:a})});return n.displayName=`${e}.Slot`,n}function U2(e){let t=In.forwardRef((n,r)=>{let{children:o,...a}=n;if(In.isValidElement(o)){let i=H2(o),l=F2(a,o.props);return o.type!==In.Fragment&&(l.ref=r?ty(r,i):i),In.cloneElement(o,l)}return In.Children.count(o)>1?In.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var j2=Symbol("radix.slottable");function V2(e){return In.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===j2}function F2(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 H2(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 TA=D(J(),1),$2=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],st=$2.reduce((e,t)=>{let n=cl(`Primitive.${t}`),r=NA.forwardRef((o,a)=>{let{asChild:i,...l}=o,s=i?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),(0,TA.jsx)(s,{...l,ref:a})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function MA(e,t){e&&EA.flushSync(()=>e.dispatchEvent(t))}var ul=D(J(),1),_f="Switch",[K2,pz]=ro(_f),[G2,q2]=K2(_f),kA=xo.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,m]=xo.useState(null),b=Dt(t,y=>m(y)),p=xo.useRef(!1),v=f?d||!!f.closest("form"):!0,[h,g]=ka({prop:o,defaultProp:a??!1,onChange:c,caller:_f});return(0,ul.jsxs)(G2,{scope:n,checked:h,disabled:l,children:[(0,ul.jsx)(st.button,{type:"button",role:"switch","aria-checked":h,"aria-required":i,"data-state":DA(h),"data-disabled":l?"":void 0,disabled:l,value:s,...u,ref:b,onClick:St(e.onClick,y=>{g(x=>!x),v&&(p.current=y.isPropagationStopped(),p.current||y.stopPropagation())})}),v&&(0,ul.jsx)(LA,{control:f,bubbles:!p.current,name:r,value:s,checked:h,required:i,disabled:l,form:d,style:{transform:"translateX(-100%)"}})]})});kA.displayName=_f;var OA="SwitchThumb",_A=xo.forwardRef((e,t)=>{let{__scopeSwitch:n,...r}=e,o=q2(OA,n);return(0,ul.jsx)(st.span,{"data-state":DA(o.checked),"data-disabled":o.disabled?"":void 0,...r,ref:t})});_A.displayName=OA;var W2="SwitchBubbleInput",LA=xo.forwardRef(({__scopeSwitch:e,control:t,checked:n,bubbles:r=!0,...o},a)=>{let i=xo.useRef(null),l=Dt(i,a),s=Mf(n),c=kf(t);return xo.useEffect(()=>{let d=i.current;if(!d)return;let u=window.HTMLInputElement.prototype,m=Object.getOwnPropertyDescriptor(u,"checked").set;if(s!==n&&m){let b=new Event("click",{bubbles:r});m.call(d,n),d.dispatchEvent(b)}},[s,n,r]),(0,ul.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}})});LA.displayName=W2;function DA(e){return e?"checked":"unchecked"}var BA=kA,IA=_A;var ny=D(J(),1);function jo({className:e,...t}){return(0,ny.jsx)(BA,{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,ny.jsx)(IA,{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 _a=D(be(),1);var Hn=D(be(),1);var wi=D(be(),1);var Lf=D(J(),1),Q2=D(be(),1);var X2=D(J(),1);function Df(e){let t=e+"CollectionProvider",[n,r]=ro(t),[o,a]=n(t,{collectionRef:{current:null},itemMap:new Map}),i=p=>{let{scope:v,children:h}=p,g=wi.default.useRef(null),y=wi.default.useRef(new Map).current;return(0,Lf.jsx)(o,{scope:v,itemMap:y,collectionRef:g,children:h})};i.displayName=t;let l=e+"CollectionSlot",s=cl(l),c=wi.default.forwardRef((p,v)=>{let{scope:h,children:g}=p,y=a(l,h),x=Dt(v,y.collectionRef);return(0,Lf.jsx)(s,{ref:x,children:g})});c.displayName=l;let d=e+"CollectionItemSlot",u="data-radix-collection-item",f=cl(d),m=wi.default.forwardRef((p,v)=>{let{scope:h,children:g,...y}=p,x=wi.default.useRef(null),R=Dt(v,x),w=a(d,h);return wi.default.useEffect(()=>(w.itemMap.set(x,{ref:x,...y}),()=>{w.itemMap.delete(x)})),(0,Lf.jsx)(f,{[u]:"",ref:R,children:g})});m.displayName=d;function b(p){let v=a(e+"CollectionConsumer",p);return wi.default.useCallback(()=>{let g=v.collectionRef.current;if(!g)return[];let y=Array.from(g.querySelectorAll(`[${u}]`));return Array.from(v.itemMap.values()).sort((w,E)=>y.indexOf(w.ref.current)-y.indexOf(E.ref.current))},[v.collectionRef,v.itemMap])}return[{Provider:i,Slot:c,ItemSlot:m},b,r]}var ry=D(be(),1);var J2=ry[" useId ".trim().toString()]||(()=>{}),Z2=0;function Ai(e){let[t,n]=ry.useState(J2());return ln(()=>{e||n(r=>r??String(Z2++))},[e]),e||(t?`radix-${t}`:"")}var Ns=D(be(),1);function br(e){let t=Ns.useRef(e);return Ns.useEffect(()=>{t.current=e}),Ns.useMemo(()=>(...n)=>t.current?.(...n),[])}var Bf=D(be(),1),eL=D(J(),1),tL=Bf.createContext(void 0);function Es(e){let t=Bf.useContext(tL);return e||t||"ltr"}var Ci=D(J(),1),oy="rovingFocusGroup.onEntryFocus",nL={bubbles:!1,cancelable:!0},nu="RovingFocusGroup",[ay,zA,rL]=Df(nu),[oL,iy]=ro(nu,[rL]),[aL,iL]=oL(nu),PA=Hn.forwardRef((e,t)=>(0,Ci.jsx)(ay.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,Ci.jsx)(ay.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,Ci.jsx)(lL,{...e,ref:t})})}));PA.displayName=nu;var lL=Hn.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=Hn.useRef(null),m=Dt(t,f),b=Es(a),[p,v]=ka({prop:i,defaultProp:l??null,onChange:s,caller:nu}),[h,g]=Hn.useState(!1),y=br(c),x=zA(n),R=Hn.useRef(!1),[w,E]=Hn.useState(0);return Hn.useEffect(()=>{let C=f.current;if(C)return C.addEventListener(oy,y),()=>C.removeEventListener(oy,y)},[y]),(0,Ci.jsx)(aL,{scope:n,orientation:r,dir:b,loop:o,currentTabStopId:p,onItemFocus:Hn.useCallback(C=>v(C),[v]),onItemShiftTab:Hn.useCallback(()=>g(!0),[]),onFocusableItemAdd:Hn.useCallback(()=>E(C=>C+1),[]),onFocusableItemRemove:Hn.useCallback(()=>E(C=>C-1),[]),children:(0,Ci.jsx)(st.div,{tabIndex:h||w===0?-1:0,"data-orientation":r,...u,ref:m,style:{outline:"none",...e.style},onMouseDown:St(e.onMouseDown,()=>{R.current=!0}),onFocus:St(e.onFocus,C=>{let M=!R.current;if(C.target===C.currentTarget&&M&&!h){let L=new CustomEvent(oy,nL);if(C.currentTarget.dispatchEvent(L),!L.defaultPrevented){let F=x().filter(q=>q.focusable),z=F.find(q=>q.active),G=F.find(q=>q.id===p),de=[z,G,...F].filter(Boolean).map(q=>q.ref.current);VA(de,d)}}R.current=!1}),onBlur:St(e.onBlur,()=>g(!1))})})}),UA="RovingFocusGroupItem",jA=Hn.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,focusable:r=!0,active:o=!1,tabStopId:a,children:i,...l}=e,s=Ai(),c=a||s,d=iL(UA,n),u=d.currentTabStopId===c,f=zA(n),{onFocusableItemAdd:m,onFocusableItemRemove:b,currentTabStopId:p}=d;return Hn.useEffect(()=>{if(r)return m(),()=>b()},[r,m,b]),(0,Ci.jsx)(ay.ItemSlot,{scope:n,id:c,focusable:r,active:o,children:(0,Ci.jsx)(st.span,{tabIndex:u?0:-1,"data-orientation":d.orientation,...l,ref:t,onMouseDown:St(e.onMouseDown,v=>{r?d.onItemFocus(c):v.preventDefault()}),onFocus:St(e.onFocus,()=>d.onItemFocus(c)),onKeyDown:St(e.onKeyDown,v=>{if(v.key==="Tab"&&v.shiftKey){d.onItemShiftTab();return}if(v.target!==v.currentTarget)return;let h=uL(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?dL(y,x+1):y.slice(x+1)}setTimeout(()=>VA(y))}}),children:typeof i=="function"?i({isCurrentTabStop:u,hasTabStop:p!=null}):i})})});jA.displayName=UA;var sL={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function cL(e,t){return t!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function uL(e,t,n){let r=cL(e.key,n);if(!(t==="vertical"&&["ArrowLeft","ArrowRight"].includes(r))&&!(t==="horizontal"&&["ArrowUp","ArrowDown"].includes(r)))return sL[r]}function VA(e,t=!1){let n=document.activeElement;for(let r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}function dL(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var FA=PA,HA=jA;var vr=D(be(),1);var $A=D(be(),1);function mL(e,t){return $A.useReducer((n,r)=>t[n][r]??n,e)}var ly=e=>{let{present:t,children:n}=e,r=pL(t),o=typeof n=="function"?n({present:r.isPresent}):vr.Children.only(n),a=Dt(r.ref,gL(o));return typeof n=="function"||r.isPresent?vr.cloneElement(o,{ref:a}):null};ly.displayName="Presence";function pL(e){let[t,n]=vr.useState(),r=vr.useRef(null),o=vr.useRef(e),a=vr.useRef("none"),i=e?"mounted":"unmounted",[l,s]=mL(i,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return vr.useEffect(()=>{let c=If(r.current);a.current=l==="mounted"?c:"none"},[l]),ln(()=>{let c=r.current,d=o.current;if(d!==e){let f=a.current,m=If(c);e?s("MOUNT"):m==="none"||c?.display==="none"?s("UNMOUNT"):s(d&&f!==m?"ANIMATION_OUT":"UNMOUNT"),o.current=e}},[e,s]),ln(()=>{if(t){let c,d=t.ownerDocument.defaultView??window,u=m=>{let p=If(r.current).includes(CSS.escape(m.animationName));if(m.target===t&&p&&(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=m=>{m.target===t&&(a.current=If(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:vr.useCallback(c=>{r.current=c?getComputedStyle(c):null,n(c)},[])}}function If(e){return e?.animationName||"none"}function gL(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 Oa=D(J(),1),zf="Tabs",[hL,Yz]=ro(zf,[iy]),KA=iy(),[yL,sy]=hL(zf),GA=_a.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,onValueChange:o,defaultValue:a,orientation:i="horizontal",dir:l,activationMode:s="automatic",...c}=e,d=Es(l),[u,f]=ka({prop:r,onChange:o,defaultProp:a??"",caller:zf});return(0,Oa.jsx)(yL,{scope:n,baseId:Ai(),value:u,onValueChange:f,orientation:i,dir:d,activationMode:s,children:(0,Oa.jsx)(st.div,{dir:d,"data-orientation":i,...c,ref:t})})});GA.displayName=zf;var qA="TabsList",WA=_a.forwardRef((e,t)=>{let{__scopeTabs:n,loop:r=!0,...o}=e,a=sy(qA,n),i=KA(n);return(0,Oa.jsx)(FA,{asChild:!0,...i,orientation:a.orientation,dir:a.dir,loop:r,children:(0,Oa.jsx)(st.div,{role:"tablist","aria-orientation":a.orientation,...o,ref:t})})});WA.displayName=qA;var YA="TabsTrigger",QA=_a.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,disabled:o=!1,...a}=e,i=sy(YA,n),l=KA(n),s=ZA(i.baseId,r),c=eC(i.baseId,r),d=r===i.value;return(0,Oa.jsx)(HA,{asChild:!0,...l,focusable:!o,active:d,children:(0,Oa.jsx)(st.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)})})})});QA.displayName=YA;var XA="TabsContent",JA=_a.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,forceMount:o,children:a,...i}=e,l=sy(XA,n),s=ZA(l.baseId,r),c=eC(l.baseId,r),d=r===l.value,u=_a.useRef(d);return _a.useEffect(()=>{let f=requestAnimationFrame(()=>u.current=!1);return()=>cancelAnimationFrame(f)},[]),(0,Oa.jsx)(ly,{present:o||d,children:({present:f})=>(0,Oa.jsx)(st.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})})});JA.displayName=XA;function ZA(e,t){return`${e}-trigger-${t}`}function eC(e,t){return`${e}-content-${t}`}var tC=GA,nC=WA,rC=QA,oC=JA;var ru=D(J(),1);function Vo(e){return(0,ru.jsx)(tC,{...e})}function Fo({className:e,...t}){return(0,ru.jsx)(nC,{className:Q("inline-flex h-9 items-center gap-1 rounded-xl border border-border/70 bg-secondary/70 p-1",e),...t})}function xn({className:e,...t}){return(0,ru.jsx)(rC,{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 Sn({className:e,...t}){return(0,ru.jsx)(oC,{className:Q("mt-4 outline-none",e),...t})}var a3=Object.freeze({web_search_requests:0,web_fetch_requests:0}),i3=Object.freeze({ephemeral_1h_input_tokens:0,ephemeral_5m_input_tokens:0});var cy=Object.freeze(["gpt-5.3-codex","gpt-5.2-codex","gpt-5.1-codex-mini"]),uy=Object.freeze(["claude-sonnet-4-6","claude-opus-4-6","claude-haiku-4-5"]),h3=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}),y3=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 xL="127.0.0.1";var ou=`http://${xL}:8376`,v3=`${ou}/openai/v1`,x3=`${ou}/anthropic`,S3=Object.freeze({enabled:!0});var Bt="default",SL="AICodeClient",wL="1.0.0",I3=CL();var z3=Object.freeze({CHATGPT_CODEX:"chatgpt-codex",CLAUDE_CODE:"claude-code"});var P3=Object.freeze(["5m","10m","30m","1h","24h","-1","0"]);function AL(){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 CL(){let{runtime:e,platform:t,arch:n}=AL();return`${SL}/${wL} (${t}; ${n}) ${e}`}var U3=Object.freeze(["brave","tavily","exa","searxng"]),j3=Object.freeze({brave:1e3,tavily:1e3,exa:1e3,searxng:0});var Pf=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*"})]),au=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"]})]),V3=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 dy=["second","minute","hour","day","week","month"];function Ho(e,t=0){let n=Number.parseInt(String(e||""),10);return Number.isFinite(n)&&n>0?n:t}function dl(e,t=""){let n=String(e||"").trim().toLowerCase();return dy.includes(n)?n:t}function aC(e,t=1){let n=String(e||"").trim().toLowerCase().replace(/s$/,"");return n?Number(t)===1?n:`${n}s`:"windows"}function So(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 iu({requests:e,windowValue:t,windowUnit:n}){let r=Ho(e,0),o=Ho(t,0),a=dl(n,"");return!r||!o||!a?"":`${r}-req-per-${o}-${aC(a,o)}`}function iC(e={}){let t=Ho(e?.requests??e?.limit,0),n=Ho(e?.window?.size??e?.window?.value??e?.windowValue,0),r=dl(e?.window?.unit??e?.windowUnit,"");return!t||!n||!r?"Unconfigured":`${t}/${n} ${aC(r,n)}`}function $o(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=So(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=Ho(i?.requests,0);if(!s)return"Rate-limit requests must be a positive integer.";let c=Ho(i?.windowValue,0);if(!c)return"Rate-limit window size must be a positive integer.";let d=dl(i?.windowUnit,"");if(!d)return"Rate-limit window unit is invalid.";let u=iu({requests:s,windowValue:c,windowUnit:d});if(a.has(u))return"Duplicate rate-limit entities are not allowed.";a.add(u)}return""}function lu(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=Ho(a?.requests,Ho(s?.requests??s?.limit,n)),d=Ho(a?.windowValue,Ho(s?.window?.size??s?.window?.value,r)),u=dl(a?.windowUnit,dl(s?.window?.unit,o)||o),f=So(a?.models||[]),m=f.length>0?f:["all"],b={...s,id:iu({requests:c,windowValue:d,windowUnit:u})||`rate-limit-${i+1}`,models:m,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 su(e){return JSON.parse(JSON.stringify(e??{}))}function Uf(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 sC(e){let t=String(e||"").trim();return t?t.startsWith("alias:")?t.slice(6).trim():t:""}function RL(e={},t={}){let n=t?.[Bt];if(n&&typeof n=="object"&&!Array.isArray(n))return{...n,id:Bt,strategy:String(n.strategy||"ordered").trim()||"ordered",targets:xr(n.targets||[],a=>a),fallbackTargets:xr(n.fallbackTargets||[],a=>a)};let r=String(e?.defaultModel||"").trim();if(!r||r==="smart")return{id:Bt,strategy:"ordered",targets:[],fallbackTargets:[]};let o=sC(r);if(o&&t?.[o]){let a=t[o];return{...a,id:Bt,strategy:String(a.strategy||"ordered").trim()||"ordered",targets:xr(a.targets||[],i=>i),fallbackTargets:xr(a.fallbackTargets||[],i=>i)}}return{id:Bt,strategy:"ordered",targets:r?[{ref:r}]:[],fallbackTargets:[]}}function NL(e={}){return(!e.modelAliases||typeof e.modelAliases!="object"||Array.isArray(e.modelAliases))&&(e.modelAliases={}),e.modelAliases[Bt]=RL(e,e.modelAliases),e}function EL(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 TL(e={}){let t=Object.keys(e?.modelAliases||{}).map(n=>String(n||"").trim()).filter(Boolean);if(t.includes(Bt))return Bt;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 jf(e={}){NL(e);let t=EL(e);if(e.defaultModel=Bt,!e.amp||typeof e.amp!="object"||Array.isArray(e.amp))return e;let n=String(e.amp.defaultRoute||"").trim();if(!n||!t.has(sC(n))){let r=String(e.defaultModel||"").trim()||TL(e);r?e.amp.defaultRoute=r:delete e.amp.defaultRoute}return e}function Ts(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 Ms(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 cC(e=[]){return Uf(Array.isArray(e)?e:[e])}function ML(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 kL(e={},t=[]){let n={...e},r=cC(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 OL(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 _L(e={},t={},n=""){let r={...e},o=Array.isArray(r.rateLimits)?r.rateLimits.map(u=>u&&typeof u=="object"?su(u):u).filter(Boolean):[],a=Array.isArray(t?.rateLimitRows)?t.rateLimitRows:OL(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=lu(a,{existingBucketsBySourceId:d,fallbackRequests:l,fallbackWindowValue:s,fallbackWindowUnit:c}),r}function Ko(e,t,n=""){let r=String(e||"").trim();return r?r===t?n:r===`alias:${t}`?n?`alias:${n}`:"":r:""}function xr(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 cu(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 uC(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=xr(o?.targets||[],l=>l),i=xr(o?.fallbackTargets||[],l=>l);n[r]={...o,targets:a,fallbackTargets:i}}return e.modelAliases=n,cu(e,r=>r),jf(e)}function LL(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 lC(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 fy(e={},t,n=[]){let r=su(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=LL(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 m=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:Uf(h.map(g=>{if(String(g||"").trim()==="all")return"all";let y=u.get(String(g||"").trim())||String(g||"").trim();return m.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:Uf(h.fallbackModels.map(g=>Ts(g,t,u,m)))}:h)}));let b=r.modelAliases&&typeof r.modelAliases=="object"&&!Array.isArray(r.modelAliases)?r.modelAliases:{},p={};for(let[v,h]of Object.entries(b)){let g=xr(h?.targets||[],x=>Ts(x,t,u,m)),y=xr(h?.fallbackTargets||[],x=>Ts(x,t,u,m));p[v]={...h,targets:g,fallbackTargets:y}}return r.modelAliases=p,r.defaultModel=Ts(r.defaultModel,t,u,m),r?.amp&&typeof r.amp=="object"&&!Array.isArray(r.amp)&&(r.amp.defaultRoute=Ts(r.amp.defaultRoute,t,u,m)),cu(r,v=>Ts(v,t,u,m)),jf(r)}function my(e={},t="",n={}){let r=su(e),o=Array.isArray(r.providers)?r.providers:[],a=o.findIndex(m=>m?.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=cC(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=ML(f,n),f=kL(f,c),f=_L(f,n,u)),o[a]=f,r.providers=o.map(m=>({...m,models:(Array.isArray(m?.models)?m.models:[]).map(b=>Array.isArray(b?.fallbackModels)?{...b,fallbackModels:Uf(b.fallbackModels.map(p=>Ms(p,t,u)))}:b)})),u!==t){let m=r.modelAliases&&typeof r.modelAliases=="object"&&!Array.isArray(r.modelAliases)?r.modelAliases:{},b={};for(let[p,v]of Object.entries(m))b[p]={...v,targets:xr(v?.targets||[],h=>Ms(h,t,u)),fallbackTargets:xr(v?.fallbackTargets||[],h=>Ms(h,t,u))};r.modelAliases=b,r.defaultModel=Ms(r.defaultModel,t,u),r?.amp&&typeof r.amp=="object"&&!Array.isArray(r.amp)&&(r.amp.defaultRoute=Ms(r.amp.defaultRoute,t,u)),cu(r,p=>Ms(p,t,u))}return jf(r)}function dC(e={},t="",n={}){let r=su(e),o=r.modelAliases&&typeof r.modelAliases=="object"&&!Array.isArray(r.modelAliases)?r.modelAliases:{},a=t?o[t]:void 0,i=t===Bt?Bt:String(n?.id||t||"").trim();if(!i)return r;let l=new Map((a?.targets||[]).map(m=>[String(m?.ref||"").trim(),m])),s=new Map((a?.fallbackTargets||[]).map(m=>[String(m?.ref||"").trim(),m])),c=new Set,d=lC(n?.targets).map(m=>{let b=m.sourceRef&&l.has(m.sourceRef)&&!c.has(m.sourceRef)?m.sourceRef:l.has(m.ref)&&!c.has(m.ref)?m.ref:"";return b&&c.add(b),{...b?l.get(b):{},ref:m.ref,...m.weight!==void 0?{weight:m.weight}:{}}}),u=new Set,f=lC(n?.fallbackTargets).map(m=>{let b=m.sourceRef&&s.has(m.sourceRef)&&!u.has(m.sourceRef)?m.sourceRef:s.has(m.ref)&&!u.has(m.ref)?m.ref:"";return b&&u.add(b),{...b?s.get(b):{},ref:m.ref,...m.weight!==void 0?{weight:m.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[m,b]of Object.entries(o))m!==i&&(b.targets=xr(b?.targets||[],p=>Ko(p,t,i)),b.fallbackTargets=xr(b?.fallbackTargets||[],p=>Ko(p,t,i)));r.defaultModel=Ko(r.defaultModel,t,i),r?.amp&&typeof r.amp=="object"&&!Array.isArray(r.amp)&&(r.amp.defaultRoute=Ko(r.amp.defaultRoute,t,i)),cu(r,m=>Ko(m,t,i))}return uC(r)}function fC(e={},t=""){let n=su(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===Bt)return o[r]={...o[r],id:Bt,strategy:String(o[r]?.strategy||"ordered").trim()||"ordered",targets:[],fallbackTargets:[]},n.modelAliases=o,jf(n);delete o[r],n.modelAliases=o;for(let a of Object.values(o))a.targets=xr(a?.targets||[],i=>Ko(i,r)),a.fallbackTargets=xr(a?.fallbackTargets||[],i=>Ko(i,r));return n.defaultModel=Ko(n.defaultModel,r),n?.amp&&typeof n.amp=="object"&&!Array.isArray(n.amp)&&(n.amp.defaultRoute=Ko(n.amp.defaultRoute,r)),cu(n,a=>Ko(a,r)),uC(n)}function mC(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 pC(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 py="__codex_cli_inherit__",q3=Object.freeze(["minimal","low","medium","high","xhigh"]),DL=Object.freeze(["low","medium","high","xhigh","max"]),W3=Object.freeze({low:4096,medium:12e3,high:24e3,xhigh:28e3,max:31999});function Vf(e){return String(e||"").trim()===py}function BL(e){let t=String(e||"").trim().toLowerCase();return DL.includes(t)?t:""}var gC=BL;var IL=Object.freeze(["off","none","low","medium","high"]);function zL(e){let t=String(e||"").trim();return t.startsWith("custom:")?t.slice(7).trim():t}function Ff(e){let t=zL(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 hC(e){let t=String(e||"").trim().toLowerCase();return IL.includes(t)?t:""}var Ye={"content-type":"application/json"},gy={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"},yC=[{value:"usage",label:"Request / response"},{value:"router",label:"LLM Router"},{value:"all",label:"All categories"}],uu={usage:{label:"Request / response",badgeVariant:"info",emptyLabel:"request/response"},router:{label:"LLM Router",badgeVariant:"outline",emptyLabel:"LLM Router"}},bC="https://github.com/khanglvm/llm-router",vC="https://github.com/sponsors/khanglvm",io="AICodeClient/1.0.0",xC=3e3,Hf=4e3,SC=100,wC=6,fl=/^[a-z][a-z0-9-]*$/,AC=/^[A-Za-z0-9][A-Za-z0-9._:\-\[\]]*$/,CC=[{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."}],$f=[{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"}],Kf=Object.fromEntries($f.map(e=>[e.value,e.label])),RC=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"}]),NC=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"}]),EC=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"}]),hy=dy;var TC=Object.freeze([{value:"ordered",label:"Ordered"},{value:"quota-balance",label:"Quota balance"}]),Gf=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})]),La=Object.fromEntries(Gf.map(e=>[e.id,e])),Ri=5,du=1,fu=20,ks="w-[5.5rem] justify-self-end",yy=["border-primary/45","bg-primary/5"],by=[{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 at=D(J(),1);function Os({className:e=""}){return(0,at.jsxs)("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",className:e,children:[(0,at.jsx)("circle",{cx:"5",cy:"4",r:"1.25",fill:"currentColor"}),(0,at.jsx)("circle",{cx:"11",cy:"4",r:"1.25",fill:"currentColor"}),(0,at.jsx)("circle",{cx:"5",cy:"8",r:"1.25",fill:"currentColor"}),(0,at.jsx)("circle",{cx:"11",cy:"8",r:"1.25",fill:"currentColor"}),(0,at.jsx)("circle",{cx:"5",cy:"12",r:"1.25",fill:"currentColor"}),(0,at.jsx)("circle",{cx:"11",cy:"12",r:"1.25",fill:"currentColor"})]})}function MC({className:e=""}){return(0,at.jsxs)("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",className:e,children:[(0,at.jsx)("path",{d:"M8 3.5v9",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"}),(0,at.jsx)("path",{d:"M3.5 8h9",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]})}function kC({className:e=""}){return(0,at.jsx)("svg",{viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",className:e,children:(0,at.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 OC({className:e=""}){return(0,at.jsx)("svg",{viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",className:e,children:(0,at.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 _C({className:e=""}){return(0,at.jsx)("svg",{viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",className:e,children:(0,at.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 LC({className:e=""}){return(0,at.jsx)("svg",{viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",className:e,children:(0,at.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 DC({className:e=""}){return(0,at.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,at.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,at.jsx)("path",{d:"M2.75 8h14.5"})]})}function BC({className:e=""}){return(0,at.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,at.jsx)("path",{d:"M10 3.25v5"}),(0,at.jsx)("path",{d:"M6.1 5.15a6.25 6.25 0 1 0 7.8 0"})]})}function _s({className:e=""}){return(0,at.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,at.jsx)("path",{d:"M12 20h9"}),(0,at.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 IC({className:e=""}){return(0,at.jsx)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:(0,at.jsx)("path",{d:"m5 12 4.25 4.25L19 6.5"})})}function mu({className:e=""}){return(0,at.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,at.jsx)("path",{d:"M3 6h18"}),(0,at.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,at.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,at.jsx)("path",{d:"M10 10.5v5"}),(0,at.jsx)("path",{d:"M14 10.5v5"})]})}function qf({className:e=""}){return(0,at.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,at.jsx)("rect",{x:"9",y:"9",width:"11",height:"11",rx:"2"}),(0,at.jsx)("path",{d:"M5 15V6a2 2 0 0 1 2-2h9"})]})}function pu(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:Ye,body:JSON.stringify(o)})).result?.models||[]).map(i=>String(i||"").trim()).filter(Boolean)}})}var gu=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:pu("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:pu("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:pu("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:pu("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:pu("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:cy,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:uy,rateLimitDefaults:Object.freeze({limit:999999,windowValue:1,windowUnit:"month"}),warning:"claude-extra-usage"})]),wo=Object.freeze(Object.fromEntries(gu.map(e=>[e.key,e])));function zr(e){return wo[e]||wo.custom}function zC(e){return gu.find(t=>t.freeTierRpm?.host===e)||null}function PC(e){return gu.filter(t=>t.category===e)}var vy=Object.freeze(Object.fromEntries(gu.filter(e=>e.freeTierRpm?.host&&e.freeTierRpm?.models).map(e=>[e.freeTierRpm.host,e.freeTierRpm.models]))),hu=new Map,Wf=null;function UC(){return Wf||(Wf=Promise.allSettled(gu.filter(e=>e.discover&&!e.discover.requiresAuth).map(async e=>{try{let t=await e.discover.fetchModels();t.length&&hu.set(e.key,t)}catch{}})),Wf)}function Yf(e){return Array.from(new Set(String(e||"").split(/[\s,]+/).map(t=>t.trim()).filter(Boolean)))}function Ni(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 lr(e=[],t=""){return Array.from(new Set([...(Array.isArray(e)?e:[]).map(n=>String(n||"").trim()).filter(Boolean),...Yf(t)]))}function Qf(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 Ls(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 Xf(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 xy(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 jC(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 Sy(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 Da(e,t){if(e?.classList){if(t){e.classList.add(...yy);return}e.classList.remove(...yy)}}function Ds(e){return typeof e?.closest=="function"?e.closest("[data-reorder-row='true']"):null}function Jf(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(Kf,t)?t:"ordered"}function Zf(e){let t=Jf(e);return Kf[t]||Kf.ordered}function Sr(e=[]){return Array.from(new Set((e||[]).map(t=>String(t||"").trim()).filter(Boolean)))}function Bs(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 VC(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 FC(){return{id:"",strategy:"auto",targets:[{ref:""}],fallbackTargets:[]}}function HC(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 yu(){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 Ao(e){return/^[A-Z][A-Z0-9_]*$/.test(String(e||"").trim())}function Pr(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 wy(e,t){let n=Number.parseInt(String(e||""),10);return Number.isFinite(n)&&n>0?n:t}function bu(e={}){return Sr((Array.isArray(e?.models)?e.models:[]).map(t=>t?.id))}function vu(e={},{keyPrefix:t="rate-limit",index:n=0,defaults:r=wo.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:So(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 xu(e=[],{keyPrefix:t="rate-limit",defaults:n=wo.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)=>vu(a,{keyPrefix:t,index:i,defaults:n,useDefaults:!0}))}function em(e={}){return So(lr(e?.models,e?.modelsDraft||"")).length===0&&!String(e?.requests??"").trim()&&!String(e?.windowValue??"").trim()}function wr(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:So(lr(t?.models,t?.modelsDraft||"")),requests:String(t?.requests??"").trim(),windowValue:String(t?.windowValue??"").trim(),windowUnit:dl(t?.windowUnit,"minute")})).filter((t,n)=>!em({...e?.[n]||{},...t}))}function Ay(e=[]){return wr(e).map(t=>({sourceId:t.sourceId,models:t.models,requests:t.requests,windowValue:t.windowValue,windowUnit:t.windowUnit}))}function $C(e=[]){let t=Array.isArray(e)?e.filter(Boolean):[];return t.length===0?"":t.length===1?iC(t[0]):`${t.length} rate limits`}function Go(e){return JSON.parse(JSON.stringify(e??{}))}function Cy(e,t={}){try{let n=JSON.parse(String(e||"{}"));return n&&typeof n=="object"&&!Array.isArray(n)?n:t}catch{return t}}function KC(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 Is(e){return e?new Date(e).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit"}):"\u2014"}function GC(e){return e?.parseError?"danger":(e?.validationErrors||[]).length>0?"warning":"success"}function tm(e=io){return[{name:"User-Agent",value:String(e||io)}]}function nm(e=[]){return(Array.isArray(e)?e:[]).map(t=>({name:String(t?.name||""),value:t?.value===void 0||t?.value===null?"":String(t.value)}))}function PL(e,t=io){if(!e||typeof e!="object"||Array.isArray(e))return tm(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:tm(t)}function rm(e=[]){let t={};for(let n of nm(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 Ny(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:rm(e?.headerRows||[])})}function zs(e,t){return String(e||"").trim().startsWith(`${t}/`)}function Su(e){let t=Object.keys(e?.modelAliases||{});if(t.includes(Bt))return Bt;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 YC(e,t){let n=Go(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=>!zs(d?.ref,t)):[],c=Array.isArray(l?.fallbackTargets)?l.fallbackTargets.filter(d=>!zs(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=Bt),n?.amp?.defaultRoute&&!n.modelAliases?.[n.amp.defaultRoute]&&!r.has(n.amp.defaultRoute)&&(n.amp={...n.amp,defaultRoute:n.defaultModel||Su(n)}),n}function Ba(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 UL(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 Ey(e={},t={}){if(e&&Object.prototype.hasOwnProperty.call(e,"credentialInput")){let n=String(e?.credentialInput||"").trim();return n?Ao(n)?{apiKeyEnv:n}:{apiKey:n}:{}}return UL(t)}function Co(e={}){return e?.type==="subscription"?"subscription":"api"}function QC(e={}){if(e?.type==="subscription")return e?.subscriptionType==="claude-code"?"oauth-claude":"oauth-gpt";let t=Ba(e);for(let n of t)try{let r=new URL(String(n||"")).hostname,o=zC(r);if(o)return o.key}catch{}return"custom"}function XC(e={}){let t=Ba(e),n=Co(e),r=QC(e),o=om(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"?xu(e?.rateLimits,{keyPrefix:`provider-${e?.id||"new"}-rate-limit`,defaults:o,includeDefault:!0}):[]}}function JC(e){return zr(e).label||"API Key"}function Ty(e){for(let t of e||[])try{let n=new URL(String(t||"")).hostname;if(vy[n])return n}catch{}return null}function ZC(e,t){let n=vy[e];if(!n||!Array.isArray(t)||t.length===0)return null;let r=n._default||30;return t.map((o,a)=>vu({models:[String(o)],requests:n[o]||r,window:{size:1,unit:"minute"}},{keyPrefix:"preset-rl",index:a}))}function e1(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 My(e,t="openai"){let n=hu.get(e);if(n?.length)return[...n];let o=zr(e).defaultModels;return o&&typeof o=="object"&&!Array.isArray(o)?[...o[t]||o.openai||[]]:Array.isArray(o)?[...o]:[]}function om(e){return zr(e).rateLimitDefaults||wo.custom.rateLimitDefaults}function jL(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 Ry(e,t="openai"){let n=zr(e),r=om(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"?[]:My(e,t),rateLimitRows:o?xu([],{keyPrefix:`quick-start-${e}-rate-limit`,defaults:r,includeDefault:!0}):[]}}function t1(e={},{baseConfig:t={},nextCategory:n,nextPresetKey:r,defaultProviderUserAgent:o=io}={}){let a=zr(r),i=n==="api",l=e.selectedConnection||"custom",s=zr(l),c=Ry(l),d=Array.isArray(t?.providers)?t.providers:[],u=jL(a.providerId,a.providerName,d),f=e.connectionType==="api"?tm(o):[],m=i?tm(o):[],b=nm(e.headerRows||[]),p=!e.providerId||e.providerId===s.providerId||e.providerId===c.providerId||e.providerId===Pr(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),R=lr(e.endpoints,e.endpointDraft),w=Array.isArray(c.endpoints)?c.endpoints:[],E=R.length===0||JSON.stringify(R)===JSON.stringify(w),C=String(e.apiKeyEnv||"").trim(),M=!C||C===String(s.apiKeyEnv||"").trim()||C===String(c.apiKeyEnv||"").trim(),L=Array.isArray(a.defaultModels)?[...a.defaultModels]:[],F=Ry(r);return{...e,connectionType:n,selectedConnection:r,providerName:v?u.providerName:e.providerName,providerId:p?u.providerId:e.providerId,endpoints:i?E?[...F.endpoints]:Array.isArray(e.endpoints)?e.endpoints:[]:[],endpointDraft:i?E?"":String(e.endpointDraft||""):"",apiKeyEnv:i?M?a.apiKeyEnv||"":e.apiKeyEnv:"",subscriptionProfile:i?"":h?F.subscriptionProfile:e.subscriptionProfile,modelIds:y?L.length>0?L:F.modelIds:e.modelIds,modelContextWindows:y?{}:e.modelContextWindows||{},modelDraft:"",rateLimitRows:i?xu([],{keyPrefix:`quick-start-${r}-rate-limit`,defaults:a.rateLimitDefaults||wo.custom.rateLimitDefaults,includeDefault:!0}):[],headerRows:i?b.length===0||x?m:b:[]}}function VL(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=>zs(c?.ref,t)))return{aliasId:a,alias:i}}return null}function FL(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(!zs(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 am(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 qC(e,{fromProviderId:t,toProviderId:n,allowedModelIds:r}){if(!e||typeof e!="object")return e;let o=String(e.ref||"").trim();if(!t||!zs(o,t))return e;let a=o.slice(t.length+1);return r.has(a)?{...e,ref:`${n}/${a}`}:null}function HL(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=>qC(a,t)).filter(Boolean)),o&&(n.fallbackTargets=e.fallbackTargets.map(a=>qC(a,t)).filter(Boolean)),n}function $L(e,{fromProviderId:t,toProviderId:n,allowedModelIds:r}){let o=String(e||"").trim();if(!o||!t||!zs(o,t))return o;let a=o.slice(t.length+1);return r.has(a)?`${n}/${a}`:""}function KL(e=[]){return new Set((e||[]).flatMap(t=>(t?.models||[]).map(n=>`${t.id}/${n.id}`)))}function n1(e={},{seedMode:t="blank",targetProviderId:n="",defaultProviderUserAgent:r=io}={}){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?Co(l):"api",c=i?QC(l):"custom",d=l?.format==="claude"?"claude":"openai",u=Ry(c,d),f=om(c),m=Array.isArray(l?.models)?l.models.map(y=>y?.id).filter(Boolean):[],b=String(l?.id||u.providerId||Pr(l?.name||u.providerName||"my-provider")||"my-provider"),p=i?VL(e,b,{aliasId:Bt}):null,v=m.length>0?m:[...u.modelIds],h=Object.fromEntries((Array.isArray(l?.models)?l.models:[]).map(y=>{let x=String(y?.id||"").trim(),R=Number(y?.contextWindow);return!x||!Number.isFinite(R)||R<=0?null:[x,Math.floor(R)]}).filter(Boolean)),g=s==="api"?PL(l?.headers,r):[];return{connectionType:s,selectedConnection:c,providerName:String(l?.name||u.providerName),providerId:b,endpoints:Ba(l).length>0?Ba(l):u.endpoints,endpointDraft:"",apiKeyEnv:String(l?.apiKeyEnv||l?.apiKey||u.apiKeyEnv),subscriptionProfile:String(l?.subscriptionProfile||u.subscriptionProfile),modelIds:v,modelContextWindows:h,modelDraft:"",aliasModelIds:FL(p,b,v),headerRows:g,rateLimitRows:s==="api"?xu(l?.rateLimits,{keyPrefix:`quick-start-${b}-rate-limit`,defaults:f,includeDefault:!0}):[],enableAlias:!0,aliasId:Bt,sourceAliasId:p?.aliasId||"",useAliasAsDefault:i?!!p:!0}}function WC(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 ky(e={}){let t=Pr(e?.providerId||e?.providerName||"")||"";return String(e?.subscriptionProfile||t||"default").trim()||t||"default"}function r1(e={},t,n=null,{targetProviderId:r=""}={}){let o=Go(e&&typeof e=="object"?e:{}),a=Pr(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=am(t?.aliasModelIds,l),c=om(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,m=String(r||"").trim(),b=String(t?.sourceAliasId||"").trim(),p;if(t?.connectionType==="api"){let z=Array.isArray(t?.endpoints)?t.endpoints.map($e=>String($e||"").trim()).filter(Boolean):[],G=Array.isArray(n?.workingFormats)?n.workingFormats.filter(Boolean):[],ee=n?.preferredFormat||G[0]||"openai",de=n?.baseUrlByFormat&&typeof n.baseUrlByFormat=="object"?n.baseUrlByFormat:z[0]?{[ee]:z[0]}:void 0,q=ee&&de?.[ee]||de?.openai||de?.claude||z[0]||"",ae=Array.isArray(n?.models)&&n.models.length>0?s.filter($e=>n.models.includes($e)):s,te=ae.length>0?ae:s,W=z.length>1?{endpointCandidates:z}:void 0,V=String(t?.apiKeyEnv||"").trim(),Pe=Ao(V)?{apiKeyEnv:V}:V?{apiKey:V}:{},ne=rm(t?.headerRows||[]);p={id:a,name:i,baseUrl:q,baseUrlByFormat:de,...Pe,...Object.keys(ne).length>0?{headers:ne}:{},format:ee,formats:G.length>0?G:[ee],models:WC(te,n?.modelPreferredFormat||{},t?.modelContextWindows||{}),...W?{metadata:W}:{}}}else{let z=zr(t?.selectedConnection||"oauth-gpt"),G=z.subscriptionType||"chatgpt-codex",ee=z.format||"openai";p={id:a,name:i,type:"subscription",subscriptionType:G,subscriptionProfile:ky(t),format:ee,formats:[ee],models:WC(s,{},t?.modelContextWindows||{})}}p.rateLimits=t?.connectionType==="api"?lu(u,{fallbackRequests:c.limit,fallbackWindowValue:c.windowValue,fallbackWindowUnit:c.windowUnit}):lu([{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=yu()),o.version=typeof o.version=="number"?o.version:2;let v=Array.isArray(o.providers)?o.providers:[],h=m?v.findIndex(z=>z?.id===m):-1;h===-1&&(h=v.findIndex(z=>z?.id===a)),o.providers=h===-1?[...v,p]:v.map((z,G)=>G===h?p:z);let g=o.modelAliases&&typeof o.modelAliases=="object"&&!Array.isArray(o.modelAliases)?o.modelAliases:{},y=new Set((p.models||[]).map(z=>z.id)),x=!f||t?.useAliasAsDefault===!0,R={};for(let[z,G]of Object.entries(g)){let ee=m?HL(G,{fromProviderId:m,toProviderId:a,allowedModelIds:y}):G;R[z]=ee}let w=p.models?.[0]?.id?`${a}/${p.models[0].id}`:"",E=(s.length>0?s:(p.models||[]).map(z=>z.id)).filter(z=>y.has(z)),C=Bt,M=R[C]&&typeof R[C]=="object"?R[C]:{id:C,strategy:"ordered",targets:[],fallbackTargets:[]};R[C]=x?{...M,id:C,strategy:"ordered",targets:E.map(z=>({ref:`${a}/${z}`})),fallbackTargets:[]}:{...M,id:C,strategy:String(M.strategy||"ordered").trim()||"ordered",targets:Array.isArray(M.targets)?M.targets:[],fallbackTargets:Array.isArray(M.fallbackTargets)?M.fallbackTargets:[]},o.modelAliases=R;let L=KL(o.providers);o.defaultModel=Bt,(!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 F=String(o.amp.defaultRoute||"").trim();return m&&(F=$L(F,{fromProviderId:m,toProviderId:a,allowedModelIds:y})),(x||!F||!o.modelAliases?.[F]&&!L.has(F))&&(F=Bt),F&&(o.amp.defaultRoute=F),(!o.metadata||typeof o.metadata!="object"||Array.isArray(o.metadata))&&(o.metadata={}),o}function im(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 o1(e,t,n={},{targetProviderId:r=""}={}){let o=Pr(t?.providerId||t?.providerName||""),a=lr(t?.modelIds,t?.modelDraft),i=am(t?.aliasModelIds,a),l=wr(t?.rateLimitRows),s=t?.connectionType==="api"?lr(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||!fl.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=$o(l,{knownModelIds:a,requireAtLeastOne:!0});if(u)return u}}return e===2&&t?.useAliasAsDefault&&Object.prototype.hasOwnProperty.call(d,String(t?.aliasId||Bt).trim())===!1,""}function a1(e){return String(e||"").split("-").filter(Boolean).map(t=>t.charAt(0).toUpperCase()+t.slice(1)).join(" ")}function i1(e){let t=String(e||"").trim();if(!t)return"";let n=Pf.find(a=>a?.id===t);if(n?.defaultMatch)return String(n.defaultMatch).trim();let r=au.find(a=>a?.id===t);if(!r)return"";let o=[...new Set((r.signatures||[]).map(a=>Pf.find(i=>i?.id===a)?.defaultMatch).map(a=>String(a||"").trim()).filter(Boolean))];return o.length===1?o[0]:o.join(" | ")}function l1(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 sr(e={}){let t=Go(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 qo(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 GL(){return new Set([...au.map(e=>e.id),...Pf.map(e=>e.id)].map(e=>String(e||"").trim()).filter(Boolean))}var qL=GL();function wu(e){return qL.has(String(e||"").trim())}function lm(e){(!e.routes||typeof e.routes!="object"||Array.isArray(e.routes))&&(e.routes={}),Array.isArray(e.rawModelRoutes)||(e.rawModelRoutes=[])}function s1(e={}){return String(e?.sourceRouteKey||"").trim()}function Oy(e={}){let n=sr(e).amp;lm(n);let r=new Map,o=[];for(let[l,s]of(n.rawModelRoutes||[]).entries()){let c=s1(s);if(c&&wu(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=au.map(l=>{let s=String(l.id||"").trim(),c=i1(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:a1(s),description:l.description||"",defaultMatch:c,isCustom:!1,removable:!1}}),i=Object.entries(n.routes||{}).filter(([l])=>!au.some(s=>s.id===l)).map(([l,s])=>{let c=String(l||"").trim(),d=i1(c),u=wu(c);return{id:`route:${c}`,source:"route",routeKey:c,inbound:c,outbound:String(s||"").trim(),label:u?d||c:a1(c),description:u?`Route key: ${c}`:`Custom route key: ${c}`,defaultMatch:d,isCustom:!0,removable:!0}});return[...a,...i,...o]}function c1(e,t){return Oy(e).find(n=>n.id===t)||null}function _y(e={},t,{inbound:n,outbound:r}={}){let o=sr(e),a=o.amp;lm(a);let i=c1(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=>s1(b)===c):-1,f=c&&wu(c),m=wu(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),m)return s&&(a.routes[m]=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 u1(e={},{inbound:t,outbound:n}={}){let r=sr(e),o=r.amp;lm(o);let a=String(t||"").trim(),i=String(n||"").trim(),l=wu(a)?a:"";return!a||!i?r:l?(o.routes[l]=i,r):(o.rawModelRoutes.push({from:a,to:i}),r)}function d1(e={},t){let n=sr(e),r=n.amp;lm(r);let o=c1(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 Ti(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)?Go(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=qo(t.webSearch.count,Ri,{min:du,max:fu}):delete t.webSearch.count,Array.isArray(t.webSearch.providers)||(t.webSearch.providers=[]),t.webSearch}function f1(e=""){return String(e||"").trim().includes("/")}function Mn(e=""){let t=String(e||"").trim();return f1(t)?t:t.toLowerCase()}function Ei(e="",t=""){let n=String(e||"").trim(),r=String(t||"").trim();return!n||!r?"":`${n}/${r}`}function WL(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 YL(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 m1(e={}){let t=String(e?.subscriptionType||e?.subscription_type||"").trim().toLowerCase();return String(e?.type||"").trim().toLowerCase()==="subscription"?t==="chatgpt-codex":WL(e).includes("openai")?!!String(e?.baseUrlByFormat?.openai||e?.baseUrl||"").trim():!1}function QL(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 XL(e={},t={}){if(!m1(e))return!1;let n=YL(e,t);return n.length===0||n.includes("openai")}function Wo(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 Au(e={},t=""){let n=String(t||e?.id||"").trim().toLowerCase(),r=La[n];if(!r)return null;let o=r.credentialField,a=String(e?.[o]||"").trim(),i=Wo(e,["count","resultCount","result-count","resultsPerCall","results-per-call"]),l=Wo(e,["limit","monthlyLimit","monthly-limit","quota"]),s=Wo(e,["remaining","remainingQuota","remaining-quota","remainingQueries","remaining-queries"]),c=!!a||l||s,d=c&&Number(r.defaultLimit)||0,u=qo(e?.count??e?.resultCount??e?.["result-count"]??e?.resultsPerCall??e?.["results-per-call"],Ri,{min:du,max:fu}),f=qo(e?.limit,d,{min:0}),m=f>0?f:0,b=qo(e?.remaining,m,{min:0});return{kind:"builtin",id:n,[o]:a,...i&&u!==Ri?{count:u}:{},...l||c&&f>0?{limit:f}:{},...s||c&&(f>0||b>0)?{remaining:f>0?Math.min(b,f):b}:{}}}function JL(e={},t=""){let n=String(t||e?.id||Ei(e?.providerId??e?.provider,e?.model??e?.modelId)).trim();if(!f1(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=Ei(r,o);return!a||a!==n?null:{kind:"hosted",id:a,providerId:r,model:o}}function ZL(e={},t=""){return JL(e,t)||Au(e,t)}function p1(e={},t=new Set){return(Array.isArray(e?.providers)?e.providers:[]).map(r=>{let o=String(r?.id||"").trim();if(!o||r?.enabled===!1||!m1(r)||!QL(r))return null;let a=(Array.isArray(r?.models)?r.models:[]).map(i=>{let l=String(i?.id||"").trim(),s=Ei(o,l);return!l||!s||t.has(s)||!XL(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 g1(e={},t=null){let n=sr(e),r=Ti(n),o=Array.isArray(r.providers)?r.providers.map(u=>ZL(u,u?.id)).filter(Boolean):[],a=new Set(o.map(u=>Mn(u.id))),i=[...o,...Gf.filter(u=>!a.has(u.id)).map(u=>Au({id:u.id},u.id)).filter(Boolean)],l=Array.isArray(t?.providers)?t.providers:[],s=new Map(l.map(u=>[Mn(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=qo(r?.count,Ri,{min:du,max:fu});return i.map(u=>{let f=Mn(u.id),m=s.get(f)||null,b=o.findIndex(w=>Mn(w.id)===f),p=i.findIndex(w=>Mn(w.id)===f),v=u.kind==="hosted"?m?.ready!==!1:!!u?.[La[u.id]?.credentialField||"apiKey"];if(u.kind==="hosted"){let w=c.get(u.providerId)||null;return{id:u.id,key:u.id,kind:"hosted",label:String(w?.name||u.providerId).trim()||u.providerId,providerId:u.providerId,modelId:u.model,routeId:u.id,configured:!0,configuredIndex:b,configuredCount:o.length,displayIndex:p,displayCount:i.length,active:v,runtimeState:m}}let h=La[u.id],g=h?.credentialField||"apiKey",y=String(u?.[g]||"").trim(),x=Wo(u,["count"]),R=qo(u?.count,d,{min:du,max:fu});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:R,resultPerCallInput:x?String(R):d!==Ri?String(d):"",limit:qo(u?.limit,h?.defaultLimit||0,{min:0}),remaining:qo(u?.remaining,h?.defaultLimit||0,{min:0}),configured:!!y,configuredIndex:b,configuredCount:o.length,displayIndex:p,displayCount:i.length,active:v,runtimeState:m}})}function h1(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=Mn(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=Mn(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 y1(e={},t={}){let n=sr(e),r=Ti(n);return t.strategy!==void 0&&(r.strategy=String(t.strategy||"").trim()==="quota-balance"?"quota-balance":"ordered"),t.count!==void 0&&(r.count=qo(t.count,r.count,{min:1,max:20})),n}function b1(e={},t,n={}){let r=String(t||"").trim().toLowerCase();if(!La[r])return sr(e);let o=sr(e),a=Ti(o),i=Array.isArray(a.providers)?a.providers.slice():[],l=i.findIndex(g=>Mn(g?.id)===r),s=l>=0?i[l]:null,c=Au(s||{id:r},r)||Au({id:r},r),u=La[r].credentialField,f=Au({...s&&typeof s=="object"&&!Array.isArray(s)?s:{},...c,...n,id:r,[u]:n[u]!==void 0?String(n[u]||"").trim():c?.[u]},r),m=!!String(f?.[u]||"").trim(),b=Wo(n,["count"])?!!String(n?.count||"").trim()&&Number(f?.count)!==Ri:Wo(s,["count"])&&Number(f?.count)!==Ri,p=m||Wo(n,["limit"])||Wo(s,["limit"]),v=m||Wo(n,["remaining"])||Wo(s,["remaining"]),h={id:r,...m?{[u]:String(f?.[u]||"").trim()}:{},...b?{count:Number(f.count)}:{},...p&&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 v1(e={},t,n){let r=Ei(t,n);if(!r)return sr(e);let o=sr(e),a=Ti(o),i=Array.isArray(a.providers)?a.providers.slice():[],l=Mn(r);return i.some(s=>Mn(s?.id)===l)||(i.push({id:r,providerId:String(t||"").trim(),model:String(n||"").trim()}),a.providers=i),o}function x1(e={},t){let n=Mn(t),r=sr(e),o=Ti(r),a=Array.isArray(o.providers)?o.providers.slice():[],i=a.filter(l=>Mn(l?.id)!==n);return i.length===a.length||(o.providers=i),r}function S1(e={},t,n="up"){let r=Mn(t),o=sr(e),a=Ti(o),i=Array.isArray(a.providers)?a.providers.slice():[],l=new Map(i.map(p=>[Mn(p?.id),p]).filter(([p])=>!!p)),s=i.findIndex(p=>Mn(p?.id)===r);if(s!==-1){let p=n==="down"?s+1:s-1;if(p<0||p>=i.length)return o;let[v]=i.splice(s,1);return i.splice(p,0,v),a.providers=i,o}if(!La[r])return o;let c=[...i.map(p=>Mn(p?.id)).filter(Boolean),...Gf.map(p=>p.id).filter(p=>!l.has(p))],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(),[m]=f.splice(d,1);f.splice(u,0,m);let b=new Set(l.keys());b.add(r);for(let p of f.slice(0,u+1))La[p]&&b.add(p);return a.providers=f.filter(p=>b.has(p)).map(p=>l.get(p)||{id:p}),o}function w1(e,t,n){let r=String(e||"").trim().toLowerCase(),o=La[r];return!o||String(t||"").trim()!==o.credentialField?!1:!String(n||"").trim()}function Yo(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 N1(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 Cu(e){let t=Qo(e),n=Number(t);return!Number.isFinite(n)||n<=0?String(e||""):new Intl.NumberFormat().format(n)}function eD(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 tD(e="",t={}){let n=t?.modelAliases&&typeof t.modelAliases=="object"&&!Array.isArray(t.modelAliases)?t.modelAliases:{},r=eD(t),o=new Set,a=new Set,i=[],l=[];function s(m){let b=String(m||"").trim();if(!b)return;if(r.has(b)){if(a.has(b))return;a.add(b),i.push(r.get(b));return}let p=b.startsWith("alias:")?b.slice(6).trim():b;if(!p||!Object.prototype.hasOwnProperty.call(n,p)){l.includes(b)||l.push(b);return}if(o.has(p))return;o.add(p);let v=n[p];for(let h of[...v?.targets||[],...v?.fallbackTargets||[]])s(h?.ref)}s(e);let c=i.filter(m=>Number.isFinite(m?.contextWindow)),d=[...new Set(c.map(m=>m.contextWindow))].sort((m,b)=>m-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 E1(e={}){let t=e?.modelAliases&&typeof e.modelAliases=="object"&&!Array.isArray(e.modelAliases)?e.modelAliases:{};return Object.keys(t).map(n=>tD(n,e)).filter(n=>n.hasMixedContextWindows).sort((n,r)=>String(n.aliasId||"").localeCompare(String(r.aliasId||"")))}function sm(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=(sm.canvas||(sm.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 A1(e={}){return`${String(e?.model||"").trim()}::${String(e?.contextWindow||"").trim()}`}function nD(e){return String(e||"").trim().replace(/[.,\s_'`]/g,"")}function Qo(e){let t=nD(e);if(!t)return"";let n=Number.parseInt(t,10);return Number.isFinite(n)&&n>0?String(n):t}function C1(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 R1(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 Ps(e={},{fallbackQuery:t=""}={}){let n=String(e?.query||t||"").trim(),r=C1(e?.exactMatch),o=(Array.isArray(e?.suggestions)?e.suggestions:[]).map(d=>C1(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::${A1(r)}`,label:R1(r.model,r.provider)||"Exact match",detail:r.provider?`Exact \xB7 ${r.provider}`:"Exact",contextWindow:r.contextWindow});for(let d of o)c({key:A1(d),label:R1(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 cm(e={}){let t=Ps(e);return t.exactMatch?.contextWindow?String(t.exactMatch.contextWindow):t.medianContextWindow?String(t.medianContextWindow):""}function T1(e=[]){let t=new Map;for(let n of Array.isArray(e)?e:[]){let r=Ps(n);r.query&&t.set(r.query,r)}return t}function M1(e=[]){let t={};for(let n of Array.isArray(e)?e:[]){let r=String(n?.query||"").trim(),o=cm(n);!r||!o||(t[r]=Number(o))}return t}async function Xe(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 Ru(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 m=JSON.parse(f);if(n?.(m),m?.type==="result"&&(l=m.result),m?.type==="error"){let b=new Error(m.error||"Request failed.");throw b.statusCode=m.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 k1(e,t,n){let r=e1(n);if(r.length===0)return null;try{let o=await Xe("/api/config/probe-free-tier-models",{method:"POST",headers:Ye,body:JSON.stringify({baseUrl:e,...Ao(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 Nu(e=[]){let t=[...new Set((Array.isArray(e)?e:[]).map(r=>String(r||"").trim()).filter(Boolean))];if(t.length===0)return[];let n=await Xe("/api/config/litellm-context-lookup",{method:"POST",headers:Ye,body:JSON.stringify({models:t,limit:wC})});return Array.isArray(n?.result)?n.result:[]}async function O1(e={}){let t=await Xe("/api/local-models/search-huggingface",{method:"POST",headers:Ye,body:JSON.stringify(e)});return Array.isArray(t?.results)?t.results:[]}async function _1(e,{onMessage:t}={}){return Ru("/api/local-models/download-managed",{method:"POST",headers:Ye,body:JSON.stringify(e)},{onMessage:t})}async function L1(e){return(await Xe("/api/local-models/variants/save",{method:"POST",headers:Ye,body:JSON.stringify({variant:e})}))?.variants||{}}async function D1(e){return await Xe("/api/local-models/attach",{method:"POST",headers:Ye,body:JSON.stringify(e)})}async function B1(e){return await Xe("/api/local-models/locate",{method:"POST",headers:Ye,body:JSON.stringify(e)})}async function I1(e){return await Xe("/api/local-models/remove",{method:"POST",headers:Ye,body:JSON.stringify({baseModelId:e})})}async function z1(){return await Xe("/api/local-models/reconcile",{method:"POST",headers:Ye,body:"{}"})}async function Ly(){return Xe("/api/local-models/runtime/discover",{method:"POST",headers:Ye,body:"{}"})}async function P1(e){return Xe("/api/local-models/runtime/select",{method:"POST",headers:Ye,body:JSON.stringify({command:e})})}async function um(e="file"){return Xe("/api/local-models/browse",{method:"POST",headers:Ye,body:JSON.stringify({selection:e})})}async function U1(e){return Xe("/api/local-models/scan-path",{method:"POST",headers:Ye,body:JSON.stringify({path:e})})}async function Dy(e,t){return Xe(`/api/providers/${encodeURIComponent(e)}/quota-probe/test`,{method:"POST",headers:Ye,body:JSON.stringify(t)})}async function j1(e){return Xe(`/api/providers/${encodeURIComponent(e)}/quota-probe/refresh`,{method:"POST",headers:Ye})}async function V1(e,t){return Xe(`/api/providers/${encodeURIComponent(e)}/quota-probe/save`,{method:"POST",headers:Ye,body:JSON.stringify({quotaProbe:t})})}var pj=D(be(),1);var ht=D(be(),1);var se=D(be(),1),Ab=D(ji(),1);function By(e,[t,n]){return Math.min(n,Math.max(t,e))}var sn=D(be(),1);var F1=D(be(),1);function H1(e,t=globalThis?.document){let n=br(e);F1.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 zy=D(J(),1),rD="DismissableLayer",Iy="dismissableLayer.update",oD="dismissableLayer.pointerDownOutside",aD="dismissableLayer.focusOutside",$1,G1=sn.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Py=sn.forwardRef((e,t)=>{let{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:r,onPointerDownOutside:o,onFocusOutside:a,onInteractOutside:i,onDismiss:l,...s}=e,c=sn.useContext(G1),[d,u]=sn.useState(null),f=d?.ownerDocument??globalThis?.document,[,m]=sn.useState({}),b=Dt(t,E=>u(E)),p=Array.from(c.layers),[v]=[...c.layersWithOutsidePointerEventsDisabled].slice(-1),h=p.indexOf(v),g=d?p.indexOf(d):-1,y=c.layersWithOutsidePointerEventsDisabled.size>0,x=g>=h,R=sD(E=>{let C=E.target,M=[...c.branches].some(L=>L.contains(C));!x||M||(o?.(E),i?.(E),E.defaultPrevented||l?.())},f),w=cD(E=>{let C=E.target;[...c.branches].some(L=>L.contains(C))||(a?.(E),i?.(E),E.defaultPrevented||l?.())},f);return H1(E=>{g===c.layers.size-1&&(r?.(E),!E.defaultPrevented&&l&&(E.preventDefault(),l()))},f),sn.useEffect(()=>{if(d)return n&&(c.layersWithOutsidePointerEventsDisabled.size===0&&($1=f.body.style.pointerEvents,f.body.style.pointerEvents="none"),c.layersWithOutsidePointerEventsDisabled.add(d)),c.layers.add(d),K1(),()=>{n&&c.layersWithOutsidePointerEventsDisabled.size===1&&(f.body.style.pointerEvents=$1)}},[d,f,n,c]),sn.useEffect(()=>()=>{d&&(c.layers.delete(d),c.layersWithOutsidePointerEventsDisabled.delete(d),K1())},[d,c]),sn.useEffect(()=>{let E=()=>m({});return document.addEventListener(Iy,E),()=>document.removeEventListener(Iy,E)},[]),(0,zy.jsx)(st.div,{...s,ref:b,style:{pointerEvents:y?x?"auto":"none":void 0,...e.style},onFocusCapture:St(e.onFocusCapture,w.onFocusCapture),onBlurCapture:St(e.onBlurCapture,w.onBlurCapture),onPointerDownCapture:St(e.onPointerDownCapture,R.onPointerDownCapture)})});Py.displayName=rD;var iD="DismissableLayerBranch",lD=sn.forwardRef((e,t)=>{let n=sn.useContext(G1),r=sn.useRef(null),o=Dt(t,r);return sn.useEffect(()=>{let a=r.current;if(a)return n.branches.add(a),()=>{n.branches.delete(a)}},[n.branches]),(0,zy.jsx)(st.div,{...e,ref:o})});lD.displayName=iD;function sD(e,t=globalThis?.document){let n=br(e),r=sn.useRef(!1),o=sn.useRef(()=>{});return sn.useEffect(()=>{let a=l=>{if(l.target&&!r.current){let c=function(){q1(oD,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 cD(e,t=globalThis?.document){let n=br(e),r=sn.useRef(!1);return sn.useEffect(()=>{let o=a=>{a.target&&!r.current&&q1(aD,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 K1(){let e=new CustomEvent(Iy);document.dispatchEvent(e)}function q1(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?MA(o,a):o.dispatchEvent(a)}var Y1=D(be(),1),Uy=0;function Q1(){Y1.useEffect(()=>{let e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??W1()),document.body.insertAdjacentElement("beforeend",e[1]??W1()),Uy++,()=>{Uy===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(t=>t.remove()),Uy--}},[])}function W1(){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 lo=D(be(),1);var tR=D(J(),1),jy="focusScope.autoFocusOnMount",Vy="focusScope.autoFocusOnUnmount",X1={bubbles:!1,cancelable:!0},uD="FocusScope",Fy=lo.forwardRef((e,t)=>{let{loop:n=!1,trapped:r=!1,onMountAutoFocus:o,onUnmountAutoFocus:a,...i}=e,[l,s]=lo.useState(null),c=br(o),d=br(a),u=lo.useRef(null),f=Dt(t,p=>s(p)),m=lo.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;lo.useEffect(()=>{if(r){let g=function(w){if(m.paused||!l)return;let E=w.target;l.contains(E)?u.current=E:Mi(u.current,{select:!0})},y=function(w){if(m.paused||!l)return;let E=w.relatedTarget;E!==null&&(l.contains(E)||Mi(u.current,{select:!0}))},x=function(w){if(document.activeElement===document.body)for(let C of w)C.removedNodes.length>0&&Mi(l)};var p=g,v=y,h=x;document.addEventListener("focusin",g),document.addEventListener("focusout",y);let R=new MutationObserver(x);return l&&R.observe(l,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",g),document.removeEventListener("focusout",y),R.disconnect()}}},[r,l,m.paused]),lo.useEffect(()=>{if(l){Z1.add(m);let p=document.activeElement;if(!l.contains(p)){let h=new CustomEvent(jy,X1);l.addEventListener(jy,c),l.dispatchEvent(h),h.defaultPrevented||(dD(hD(nR(l)),{select:!0}),document.activeElement===p&&Mi(l))}return()=>{l.removeEventListener(jy,c),setTimeout(()=>{let h=new CustomEvent(Vy,X1);l.addEventListener(Vy,d),l.dispatchEvent(h),h.defaultPrevented||Mi(p??document.body,{select:!0}),l.removeEventListener(Vy,d),Z1.remove(m)},0)}}},[l,c,d,m]);let b=lo.useCallback(p=>{if(!n&&!r||m.paused)return;let v=p.key==="Tab"&&!p.altKey&&!p.ctrlKey&&!p.metaKey,h=document.activeElement;if(v&&h){let g=p.currentTarget,[y,x]=fD(g);y&&x?!p.shiftKey&&h===x?(p.preventDefault(),n&&Mi(y,{select:!0})):p.shiftKey&&h===y&&(p.preventDefault(),n&&Mi(x,{select:!0})):h===g&&p.preventDefault()}},[n,r,m.paused]);return(0,tR.jsx)(st.div,{tabIndex:-1,...i,ref:f,onKeyDown:b})});Fy.displayName=uD;function dD(e,{select:t=!1}={}){let n=document.activeElement;for(let r of e)if(Mi(r,{select:t}),document.activeElement!==n)return}function fD(e){let t=nR(e),n=J1(t,e),r=J1(t.reverse(),e);return[n,r]}function nR(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 J1(e,t){for(let n of e)if(!mD(n,{upTo:t}))return n}function mD(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 pD(e){return e instanceof HTMLInputElement&&"select"in e}function Mi(e,{select:t=!1}={}){if(e&&e.focus){let n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&pD(e)&&t&&e.select()}}var Z1=gD();function gD(){let e=[];return{add(t){let n=e[0];t!==n&&n?.pause(),e=eR(e,t),e.unshift(t)},remove(t){e=eR(e,t),e[0]?.resume()}}}function eR(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function hD(e){return e.filter(t=>t.tagName!=="A")}var Cr=D(be(),1);var aR=["top","right","bottom","left"];var Xo=Math.min,cr=Math.max,Tu=Math.round,Mu=Math.floor,Ro=e=>({x:e,y:e}),yD={left:"right",right:"left",bottom:"top",top:"bottom"};function fm(e,t,n){return cr(e,Xo(t,n))}function Jo(e,t){return typeof e=="function"?e(t):e}function Zo(e){return e.split("-")[0]}function ml(e){return e.split("-")[1]}function mm(e){return e==="x"?"y":"x"}function pm(e){return e==="y"?"height":"width"}function No(e){let t=e[0];return t==="t"||t==="b"?"y":"x"}function gm(e){return mm(No(e))}function iR(e,t,n){n===void 0&&(n=!1);let r=ml(e),o=gm(e),a=pm(o),i=o==="x"?r===(n?"end":"start")?"right":"left":r==="start"?"bottom":"top";return t.reference[a]>t.floating[a]&&(i=Eu(i)),[i,Eu(i)]}function lR(e){let t=Eu(e);return[dm(e),t,dm(t)]}function dm(e){return e.includes("start")?e.replace("start","end"):e.replace("end","start")}var rR=["left","right"],oR=["right","left"],bD=["top","bottom"],vD=["bottom","top"];function xD(e,t,n){switch(e){case"top":case"bottom":return n?t?oR:rR:t?rR:oR;case"left":case"right":return t?bD:vD;default:return[]}}function sR(e,t,n,r){let o=ml(e),a=xD(Zo(e),n==="start",r);return o&&(a=a.map(i=>i+"-"+o),t&&(a=a.concat(a.map(dm)))),a}function Eu(e){let t=Zo(e);return yD[t]+e.slice(t.length)}function SD(e){return{top:0,right:0,bottom:0,left:0,...e}}function Hy(e){return typeof e!="number"?SD(e):{top:e,right:e,bottom:e,left:e}}function pl(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 cR(e,t,n){let{reference:r,floating:o}=e,a=No(t),i=gm(t),l=pm(i),s=Zo(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,m;switch(s){case"top":m={x:d,y:r.y-o.height};break;case"bottom":m={x:d,y:r.y+r.height};break;case"right":m={x:r.x+r.width,y:u};break;case"left":m={x:r.x-o.width,y:u};break;default:m={x:r.x,y:r.y}}switch(ml(t)){case"start":m[i]-=f*(n&&c?-1:1);break;case"end":m[i]+=f*(n&&c?-1:1);break}return m}async function fR(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:m=0}=Jo(t,e),b=Hy(m),v=l[f?u==="floating"?"reference":"floating":u],h=pl(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},R=pl(a.convertOffsetParentRelativeRectToViewportRelativeRect?await a.convertOffsetParentRelativeRectToViewportRelativeRect({elements:l,rect:g,offsetParent:y,strategy:s}):g);return{top:(h.top-R.top+b.top)/x.y,bottom:(R.bottom-h.bottom+b.bottom)/x.y,left:(h.left-R.left+b.left)/x.x,right:(R.right-h.right+b.right)/x.x}}var wD=50,mR=async(e,t,n)=>{let{placement:r="bottom",strategy:o="absolute",middleware:a=[],platform:i}=n,l=i.detectOverflow?i:{...i,detectOverflow:fR},s=await(i.isRTL==null?void 0:i.isRTL(t)),c=await i.getElementRects({reference:e,floating:t,strategy:o}),{x:d,y:u}=cR(c,r,s),f=r,m=0,b={};for(let p=0;p<a.length;p++){let v=a[p];if(!v)continue;let{name:h,fn:g}=v,{x:y,y:x,data:R,reset:w}=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],...R},w&&m<wD&&(m++,typeof w=="object"&&(w.placement&&(f=w.placement),w.rects&&(c=w.rects===!0?await i.getElementRects({reference:e,floating:t,strategy:o}):w.rects),{x:d,y:u}=cR(c,f,s)),p=-1)}return{x:d,y:u,placement:f,strategy:o,middlewareData:b}},pR=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}=Jo(e,t)||{};if(c==null)return{};let u=Hy(d),f={x:n,y:r},m=gm(o),b=pm(m),p=await i.getDimensions(c),v=m==="y",h=v?"top":"left",g=v?"bottom":"right",y=v?"clientHeight":"clientWidth",x=a.reference[b]+a.reference[m]-f[m]-a.floating[b],R=f[m]-a.reference[m],w=await(i.getOffsetParent==null?void 0:i.getOffsetParent(c)),E=w?w[y]:0;(!E||!await(i.isElement==null?void 0:i.isElement(w)))&&(E=l.floating[y]||a.floating[b]);let C=x/2-R/2,M=E/2-p[b]/2-1,L=Xo(u[h],M),F=Xo(u[g],M),z=L,G=E-p[b]-F,ee=E/2-p[b]/2+C,de=fm(z,ee,G),q=!s.arrow&&ml(o)!=null&&ee!==de&&a.reference[b]/2-(ee<z?L:F)-p[b]/2<0,ae=q?ee<z?ee-z:ee-G:0;return{[m]:f[m]+ae,data:{[m]:de,centerOffset:ee-de-ae,...q&&{alignmentOffset:ae}},reset:q}}});var gR=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:m="bestFit",fallbackAxisSideDirection:b="none",flipAlignment:p=!0,...v}=Jo(e,t);if((n=a.arrow)!=null&&n.alignmentOffset)return{};let h=Zo(o),g=No(l),y=Zo(l)===l,x=await(s.isRTL==null?void 0:s.isRTL(c.floating)),R=f||(y||!p?[Eu(l)]:lR(l)),w=b!=="none";!f&&w&&R.push(...sR(l,p,b,x));let E=[l,...R],C=await s.detectOverflow(t,v),M=[],L=((r=a.flip)==null?void 0:r.overflows)||[];if(d&&M.push(C[h]),u){let ee=iR(o,i,x);M.push(C[ee[0]],C[ee[1]])}if(L=[...L,{placement:o,overflows:M}],!M.every(ee=>ee<=0)){var F,z;let ee=(((F=a.flip)==null?void 0:F.index)||0)+1,de=E[ee];if(de&&(!(u==="alignment"?g!==No(de):!1)||L.every(te=>No(te.placement)===g?te.overflows[0]>0:!0)))return{data:{index:ee,overflows:L},reset:{placement:de}};let q=(z=L.filter(ae=>ae.overflows[0]<=0).sort((ae,te)=>ae.overflows[1]-te.overflows[1])[0])==null?void 0:z.placement;if(!q)switch(m){case"bestFit":{var G;let ae=(G=L.filter(te=>{if(w){let W=No(te.placement);return W===g||W==="y"}return!0}).map(te=>[te.placement,te.overflows.filter(W=>W>0).reduce((W,V)=>W+V,0)]).sort((te,W)=>te[1]-W[1])[0])==null?void 0:G[0];ae&&(q=ae);break}case"initialPlacement":q=l;break}if(o!==q)return{reset:{placement:q}}}return{}}}};function uR(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function dR(e){return aR.some(t=>e[t]>=0)}var hR=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:o="referenceHidden",...a}=Jo(e,t);switch(o){case"referenceHidden":{let i=await r.detectOverflow(t,{...a,elementContext:"reference"}),l=uR(i,n.reference);return{data:{referenceHiddenOffsets:l,referenceHidden:dR(l)}}}case"escaped":{let i=await r.detectOverflow(t,{...a,altBoundary:!0}),l=uR(i,n.floating);return{data:{escapedOffsets:l,escaped:dR(l)}}}default:return{}}}}};var yR=new Set(["left","top"]);async function AD(e,t){let{placement:n,platform:r,elements:o}=e,a=await(r.isRTL==null?void 0:r.isRTL(o.floating)),i=Zo(n),l=ml(n),s=No(n)==="y",c=yR.has(i)?-1:1,d=a&&s?-1:1,u=Jo(t,e),{mainAxis:f,crossAxis:m,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"&&(m=l==="end"?b*-1:b),s?{x:m*d,y:f*c}:{x:f*c,y:m*d}}var bR=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 AD(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}}}}},vR=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}=Jo(e,t),d={x:n,y:r},u=await a.detectOverflow(t,c),f=No(Zo(o)),m=mm(f),b=d[m],p=d[f];if(i){let h=m==="y"?"top":"left",g=m==="y"?"bottom":"right",y=b+u[h],x=b-u[g];b=fm(y,b,x)}if(l){let h=f==="y"?"top":"left",g=f==="y"?"bottom":"right",y=p+u[h],x=p-u[g];p=fm(y,p,x)}let v=s.fn({...t,[m]:b,[f]:p});return{...v,data:{x:v.x-n,y:v.y-r,enabled:{[m]:i,[f]:l}}}}}},xR=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}=Jo(e,t),d={x:n,y:r},u=No(o),f=mm(u),m=d[f],b=d[u],p=Jo(l,t),v=typeof p=="number"?{mainAxis:p,crossAxis:0}:{mainAxis:0,crossAxis:0,...p};if(s){let y=f==="y"?"height":"width",x=a.reference[f]-a.floating[y]+v.mainAxis,R=a.reference[f]+a.reference[y]-v.mainAxis;m<x?m=x:m>R&&(m=R)}if(c){var h,g;let y=f==="y"?"width":"height",x=yR.has(Zo(o)),R=a.reference[u]-a.floating[y]+(x&&((h=i.offset)==null?void 0:h[u])||0)+(x?0:v.crossAxis),w=a.reference[u]+a.reference[y]+(x?0:((g=i.offset)==null?void 0:g[u])||0)-(x?v.crossAxis:0);b<R?b=R:b>w&&(b=w)}return{[f]:m,[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}=Jo(e,t),d=await i.detectOverflow(t,c),u=Zo(o),f=ml(o),m=No(o)==="y",{width:b,height:p}=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=p-d.top-d.bottom,y=b-d.left-d.right,x=Xo(p-d[v],g),R=Xo(b-d[h],y),w=!t.middlewareData.shift,E=x,C=R;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(C=y),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(E=g),w&&!f){let L=cr(d.left,0),F=cr(d.right,0),z=cr(d.top,0),G=cr(d.bottom,0);m?C=b-2*(L!==0||F!==0?L+F:cr(d.left,d.right)):E=p-2*(z!==0||G!==0?z+G:cr(d.top,d.bottom))}await s({...t,availableWidth:C,availableHeight:E});let M=await i.getDimensions(l.floating);return b!==M.width||p!==M.height?{reset:{rects:!0}}:{}}}};function hm(){return typeof window<"u"}function yl(e){return AR(e)?(e.nodeName||"").toLowerCase():"#document"}function Ar(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Eo(e){var t;return(t=(AR(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function AR(e){return hm()?e instanceof Node||e instanceof Ar(e).Node:!1}function so(e){return hm()?e instanceof Element||e instanceof Ar(e).Element:!1}function ea(e){return hm()?e instanceof HTMLElement||e instanceof Ar(e).HTMLElement:!1}function wR(e){return!hm()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof Ar(e).ShadowRoot}function Us(e){let{overflow:t,overflowX:n,overflowY:r,display:o}=co(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&o!=="inline"&&o!=="contents"}function CR(e){return/^(table|td|th)$/.test(yl(e))}function ku(e){try{if(e.matches(":popover-open"))return!0}catch{}try{return e.matches(":modal")}catch{return!1}}var CD=/transform|translate|scale|rotate|perspective|filter/,RD=/paint|layout|strict|content/,gl=e=>!!e&&e!=="none",$y;function ym(e){let t=so(e)?co(e):e;return gl(t.transform)||gl(t.translate)||gl(t.scale)||gl(t.rotate)||gl(t.perspective)||!bm()&&(gl(t.backdropFilter)||gl(t.filter))||CD.test(t.willChange||"")||RD.test(t.contain||"")}function RR(e){let t=Ia(e);for(;ea(t)&&!bl(t);){if(ym(t))return t;if(ku(t))return null;t=Ia(t)}return null}function bm(){return $y==null&&($y=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),$y}function bl(e){return/^(html|body|#document)$/.test(yl(e))}function co(e){return Ar(e).getComputedStyle(e)}function Ou(e){return so(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Ia(e){if(yl(e)==="html")return e;let t=e.assignedSlot||e.parentNode||wR(e)&&e.host||Eo(e);return wR(t)?t.host:t}function NR(e){let t=Ia(e);return bl(t)?e.ownerDocument?e.ownerDocument.body:e.body:ea(t)&&Us(t)?t:NR(t)}function hl(e,t,n){var r;t===void 0&&(t=[]),n===void 0&&(n=!0);let o=NR(e),a=o===((r=e.ownerDocument)==null?void 0:r.body),i=Ar(o);if(a){let l=vm(i);return t.concat(i,i.visualViewport||[],Us(o)?o:[],l&&n?hl(l):[])}else return t.concat(o,hl(o,[],n))}function vm(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function kR(e){let t=co(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,o=ea(e),a=o?e.offsetWidth:n,i=o?e.offsetHeight:r,l=Tu(n)!==a||Tu(r)!==i;return l&&(n=a,r=i),{width:n,height:r,$:l}}function Gy(e){return so(e)?e:e.contextElement}function js(e){let t=Gy(e);if(!ea(t))return Ro(1);let n=t.getBoundingClientRect(),{width:r,height:o,$:a}=kR(t),i=(a?Tu(n.width):n.width)/r,l=(a?Tu(n.height):n.height)/o;return(!i||!Number.isFinite(i))&&(i=1),(!l||!Number.isFinite(l))&&(l=1),{x:i,y:l}}var ND=Ro(0);function OR(e){let t=Ar(e);return!bm()||!t.visualViewport?ND:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function ED(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==Ar(e)?!1:t}function vl(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let o=e.getBoundingClientRect(),a=Gy(e),i=Ro(1);t&&(r?so(r)&&(i=js(r)):i=js(e));let l=ED(a,n,r)?OR(a):Ro(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=Ar(a),m=r&&so(r)?Ar(r):r,b=f,p=vm(b);for(;p&&r&&m!==b;){let v=js(p),h=p.getBoundingClientRect(),g=co(p),y=h.left+(p.clientLeft+parseFloat(g.paddingLeft))*v.x,x=h.top+(p.clientTop+parseFloat(g.paddingTop))*v.y;s*=v.x,c*=v.y,d*=v.x,u*=v.y,s+=y,c+=x,b=Ar(p),p=vm(b)}}return pl({width:d,height:u,x:s,y:c})}function xm(e,t){let n=Ou(e).scrollLeft;return t?t.left+n:vl(Eo(e)).left+n}function _R(e,t){let n=e.getBoundingClientRect(),r=n.left+t.scrollLeft-xm(e,n),o=n.top+t.scrollTop;return{x:r,y:o}}function TD(e){let{elements:t,rect:n,offsetParent:r,strategy:o}=e,a=o==="fixed",i=Eo(r),l=t?ku(t.floating):!1;if(r===i||l&&a)return n;let s={scrollLeft:0,scrollTop:0},c=Ro(1),d=Ro(0),u=ea(r);if((u||!u&&!a)&&((yl(r)!=="body"||Us(i))&&(s=Ou(r)),u)){let m=vl(r);c=js(r),d.x=m.x+r.clientLeft,d.y=m.y+r.clientTop}let f=i&&!u&&!a?_R(i,s):Ro(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 MD(e){return Array.from(e.getClientRects())}function kD(e){let t=Eo(e),n=Ou(e),r=e.ownerDocument.body,o=cr(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=cr(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),i=-n.scrollLeft+xm(e),l=-n.scrollTop;return co(r).direction==="rtl"&&(i+=cr(t.clientWidth,r.clientWidth)-o),{width:o,height:a,x:i,y:l}}var ER=25;function OD(e,t){let n=Ar(e),r=Eo(e),o=n.visualViewport,a=r.clientWidth,i=r.clientHeight,l=0,s=0;if(o){a=o.width,i=o.height;let d=bm();(!d||d&&t==="fixed")&&(l=o.offsetLeft,s=o.offsetTop)}let c=xm(r);if(c<=0){let d=r.ownerDocument,u=d.body,f=getComputedStyle(u),m=d.compatMode==="CSS1Compat"&&parseFloat(f.marginLeft)+parseFloat(f.marginRight)||0,b=Math.abs(r.clientWidth-u.clientWidth-m);b<=ER&&(a-=b)}else c<=ER&&(a+=c);return{width:a,height:i,x:l,y:s}}function _D(e,t){let n=vl(e,!0,t==="fixed"),r=n.top+e.clientTop,o=n.left+e.clientLeft,a=ea(e)?js(e):Ro(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 TR(e,t,n){let r;if(t==="viewport")r=OD(e,n);else if(t==="document")r=kD(Eo(e));else if(so(t))r=_D(t,n);else{let o=OR(e);r={x:t.x-o.x,y:t.y-o.y,width:t.width,height:t.height}}return pl(r)}function LR(e,t){let n=Ia(e);return n===t||!so(n)||bl(n)?!1:co(n).position==="fixed"||LR(n,t)}function LD(e,t){let n=t.get(e);if(n)return n;let r=hl(e,[],!1).filter(l=>so(l)&&yl(l)!=="body"),o=null,a=co(e).position==="fixed",i=a?Ia(e):e;for(;so(i)&&!bl(i);){let l=co(i),s=ym(i);!s&&l.position==="fixed"&&(o=null),(a?!s&&!o:!s&&l.position==="static"&&!!o&&(o.position==="absolute"||o.position==="fixed")||Us(i)&&!s&&LR(e,i))?r=r.filter(d=>d!==i):o=l,i=Ia(i)}return t.set(e,r),r}function DD(e){let{element:t,boundary:n,rootBoundary:r,strategy:o}=e,i=[...n==="clippingAncestors"?ku(t)?[]:LD(t,this._c):[].concat(n),r],l=TR(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 m=TR(t,i[f],o);s=cr(m.top,s),c=Xo(m.right,c),d=Xo(m.bottom,d),u=cr(m.left,u)}return{width:c-u,height:d-s,x:u,y:s}}function BD(e){let{width:t,height:n}=kR(e);return{width:t,height:n}}function ID(e,t,n){let r=ea(t),o=Eo(t),a=n==="fixed",i=vl(e,!0,a,t),l={scrollLeft:0,scrollTop:0},s=Ro(0);function c(){s.x=xm(o)}if(r||!r&&!a)if((yl(t)!=="body"||Us(o))&&(l=Ou(t)),r){let m=vl(t,!0,a,t);s.x=m.x+t.clientLeft,s.y=m.y+t.clientTop}else o&&c();a&&!r&&o&&c();let d=o&&!r&&!a?_R(o,l):Ro(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 Ky(e){return co(e).position==="static"}function MR(e,t){if(!ea(e)||co(e).position==="fixed")return null;if(t)return t(e);let n=e.offsetParent;return Eo(e)===n&&(n=n.ownerDocument.body),n}function DR(e,t){let n=Ar(e);if(ku(e))return n;if(!ea(e)){let o=Ia(e);for(;o&&!bl(o);){if(so(o)&&!Ky(o))return o;o=Ia(o)}return n}let r=MR(e,t);for(;r&&CR(r)&&Ky(r);)r=MR(r,t);return r&&bl(r)&&Ky(r)&&!ym(r)?n:r||RR(e)||n}var zD=async function(e){let t=this.getOffsetParent||DR,n=this.getDimensions,r=await n(e.floating);return{reference:ID(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function PD(e){return co(e).direction==="rtl"}var BR={convertOffsetParentRelativeRectToViewportRelativeRect:TD,getDocumentElement:Eo,getClippingRect:DD,getOffsetParent:DR,getElementRects:zD,getClientRects:MD,getDimensions:BD,getScale:js,isElement:so,isRTL:PD};function IR(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function UD(e,t){let n=null,r,o=Eo(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:m}=c;if(l||t(),!f||!m)return;let b=Mu(u),p=Mu(o.clientWidth-(d+f)),v=Mu(o.clientHeight-(u+m)),h=Mu(d),y={rootMargin:-b+"px "+-p+"px "+-v+"px "+-h+"px",threshold:cr(0,Xo(1,s))||1},x=!0;function R(w){let E=w[0].intersectionRatio;if(E!==s){if(!x)return i();E?i(!1,E):r=setTimeout(()=>{i(!1,1e-7)},1e3)}E===1&&!IR(c,e.getBoundingClientRect())&&i(),x=!1}try{n=new IntersectionObserver(R,{...y,root:o.ownerDocument})}catch{n=new IntersectionObserver(R,y)}n.observe(e)}return i(!0),a}function qy(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=Gy(e),d=o||a?[...c?hl(c):[],...t?hl(t):[]]:[];d.forEach(h=>{o&&h.addEventListener("scroll",n,{passive:!0}),a&&h.addEventListener("resize",n)});let u=c&&l?UD(c,n):null,f=-1,m=null;i&&(m=new ResizeObserver(h=>{let[g]=h;g&&g.target===c&&m&&t&&(m.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var y;(y=m)==null||y.observe(t)})),n()}),c&&!s&&m.observe(c),t&&m.observe(t));let b,p=s?vl(e):null;s&&v();function v(){let h=vl(e);p&&!IR(p,h)&&n(),p=h,b=requestAnimationFrame(v)}return n(),()=>{var h;d.forEach(g=>{o&&g.removeEventListener("scroll",n),a&&g.removeEventListener("resize",n)}),u?.(),(h=m)==null||h.disconnect(),m=null,s&&cancelAnimationFrame(b)}}var zR=bR;var PR=vR,UR=gR,jR=SR,VR=hR,Wy=pR;var FR=xR,Yy=(e,t,n)=>{let r=new Map,o={platform:BR,...n},a={...o.platform,_c:r};return mR(e,t,{...o,platform:a})};var kn=D(be(),1),$R=D(be(),1),KR=D(ji(),1),jD=typeof document<"u",VD=function(){},Sm=jD?$R.useLayoutEffect:VD;function wm(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(!wm(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)&&!wm(e[a],t[a]))return!1}return!0}return e!==e&&t!==t}function GR(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function HR(e,t){let n=GR(e);return Math.round(t*n)/n}function Qy(e){let t=kn.useRef(e);return Sm(()=>{t.current=e}),t}function qR(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]=kn.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[f,m]=kn.useState(r);wm(f,r)||m(r);let[b,p]=kn.useState(null),[v,h]=kn.useState(null),g=kn.useCallback(te=>{te!==w.current&&(w.current=te,p(te))},[]),y=kn.useCallback(te=>{te!==E.current&&(E.current=te,h(te))},[]),x=a||b,R=i||v,w=kn.useRef(null),E=kn.useRef(null),C=kn.useRef(d),M=s!=null,L=Qy(s),F=Qy(o),z=Qy(c),G=kn.useCallback(()=>{if(!w.current||!E.current)return;let te={placement:t,strategy:n,middleware:f};F.current&&(te.platform=F.current),Yy(w.current,E.current,te).then(W=>{let V={...W,isPositioned:z.current!==!1};ee.current&&!wm(C.current,V)&&(C.current=V,KR.flushSync(()=>{u(V)}))})},[f,t,n,F,z]);Sm(()=>{c===!1&&C.current.isPositioned&&(C.current.isPositioned=!1,u(te=>({...te,isPositioned:!1})))},[c]);let ee=kn.useRef(!1);Sm(()=>(ee.current=!0,()=>{ee.current=!1}),[]),Sm(()=>{if(x&&(w.current=x),R&&(E.current=R),x&&R){if(L.current)return L.current(x,R,G);G()}},[x,R,G,L,M]);let de=kn.useMemo(()=>({reference:w,floating:E,setReference:g,setFloating:y}),[g,y]),q=kn.useMemo(()=>({reference:x,floating:R}),[x,R]),ae=kn.useMemo(()=>{let te={position:n,left:0,top:0};if(!q.floating)return te;let W=HR(q.floating,d.x),V=HR(q.floating,d.y);return l?{...te,transform:"translate("+W+"px, "+V+"px)",...GR(q.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:W,top:V}},[n,l,q.floating,d.x,d.y]);return kn.useMemo(()=>({...d,update:G,refs:de,elements:q,floatingStyles:ae}),[d,G,de,q,ae])}var FD=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?Wy({element:r.current,padding:o}).fn(n):{}:r?Wy({element:r,padding:o}).fn(n):{}}}},WR=(e,t)=>{let n=zR(e);return{name:n.name,fn:n.fn,options:[e,t]}},YR=(e,t)=>{let n=PR(e);return{name:n.name,fn:n.fn,options:[e,t]}},QR=(e,t)=>({fn:FR(e).fn,options:[e,t]}),XR=(e,t)=>{let n=UR(e);return{name:n.name,fn:n.fn,options:[e,t]}},JR=(e,t)=>{let n=jR(e);return{name:n.name,fn:n.fn,options:[e,t]}};var ZR=(e,t)=>{let n=VR(e);return{name:n.name,fn:n.fn,options:[e,t]}};var eN=(e,t)=>{let n=FD(e);return{name:n.name,fn:n.fn,options:[e,t]}};var tN=D(be(),1);var Xy=D(J(),1),HD="Arrow",nN=tN.forwardRef((e,t)=>{let{children:n,width:r=10,height:o=5,...a}=e;return(0,Xy.jsx)(st.svg,{...a,ref:t,width:r,height:o,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?n:(0,Xy.jsx)("polygon",{points:"0,0 30,0 15,10"})})});nN.displayName=HD;var rN=nN;var ki=D(J(),1);var Jy="Popper",[oN,Zy]=ro(Jy),[KD,aN]=oN(Jy),iN=e=>{let{__scopePopper:t,children:n}=e,[r,o]=Cr.useState(null);return(0,ki.jsx)(KD,{scope:t,anchor:r,onAnchorChange:o,children:n})};iN.displayName=Jy;var lN="PopperAnchor",sN=Cr.forwardRef((e,t)=>{let{__scopePopper:n,virtualRef:r,...o}=e,a=aN(lN,n),i=Cr.useRef(null),l=Dt(t,i),s=Cr.useRef(null);return Cr.useEffect(()=>{let c=s.current;s.current=r?.current||i.current,c!==s.current&&a.onAnchorChange(s.current)}),r?null:(0,ki.jsx)(st.div,{...o,ref:l})});sN.displayName=lN;var eb="PopperContent",[GD,qD]=oN(eb),cN=Cr.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:m="optimized",onPlaced:b,...p}=e,v=aN(eb,n),[h,g]=Cr.useState(null),y=Dt(t,j=>g(j)),[x,R]=Cr.useState(null),w=kf(x),E=w?.width??0,C=w?.height??0,M=r+(a!=="center"?"-"+a:""),L=typeof d=="number"?d:{top:0,right:0,bottom:0,left:0,...d},F=Array.isArray(c)?c:[c],z=F.length>0,G={padding:L,boundary:F.filter(YD),altBoundary:z},{refs:ee,floatingStyles:de,placement:q,isPositioned:ae,middlewareData:te}=qR({strategy:"fixed",placement:M,whileElementsMounted:(...j)=>qy(...j,{animationFrame:m==="always"}),elements:{reference:v.anchor},middleware:[WR({mainAxis:o+C,alignmentAxis:i}),s&&YR({mainAxis:!0,crossAxis:!1,limiter:u==="partial"?QR():void 0,...G}),s&&XR({...G}),JR({...G,apply:({elements:j,rects:pe,availableWidth:Se,availableHeight:Le})=>{let{width:Ae,height:ke}=pe.reference,Qe=j.floating.style;Qe.setProperty("--radix-popper-available-width",`${Se}px`),Qe.setProperty("--radix-popper-available-height",`${Le}px`),Qe.setProperty("--radix-popper-anchor-width",`${Ae}px`),Qe.setProperty("--radix-popper-anchor-height",`${ke}px`)}}),x&&eN({element:x,padding:l}),QD({arrowWidth:E,arrowHeight:C}),f&&ZR({strategy:"referenceHidden",...G})]}),[W,V]=fN(q),Pe=br(b);ln(()=>{ae&&Pe?.()},[ae,Pe]);let ne=te.arrow?.x,$e=te.arrow?.y,ie=te.arrow?.centerOffset!==0,[we,Ue]=Cr.useState();return ln(()=>{h&&Ue(window.getComputedStyle(h).zIndex)},[h]),(0,ki.jsx)("div",{ref:ee.setFloating,"data-radix-popper-content-wrapper":"",style:{...de,transform:ae?de.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:we,"--radix-popper-transform-origin":[te.transformOrigin?.x,te.transformOrigin?.y].join(" "),...te.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:(0,ki.jsx)(GD,{scope:n,placedSide:W,onArrowChange:R,arrowX:ne,arrowY:$e,shouldHideArrow:ie,children:(0,ki.jsx)(st.div,{"data-side":W,"data-align":V,...p,ref:y,style:{...p.style,animation:ae?void 0:"none"}})})})});cN.displayName=eb;var uN="PopperArrow",WD={top:"bottom",right:"left",bottom:"top",left:"right"},dN=Cr.forwardRef(function(t,n){let{__scopePopper:r,...o}=t,a=qD(uN,r),i=WD[a.placedSide];return(0,ki.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,ki.jsx)(rN,{...o,ref:n,style:{...o.style,display:"block"}})})});dN.displayName=uN;function YD(e){return e!==null}var QD=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]=fN(n),u={start:"0%",center:"50%",end:"100%"}[d],f=(o.arrow?.x??0)+l/2,m=(o.arrow?.y??0)+s/2,b="",p="";return c==="bottom"?(b=i?u:`${f}px`,p=`${-s}px`):c==="top"?(b=i?u:`${f}px`,p=`${r.floating.height+s}px`):c==="right"?(b=`${-s}px`,p=i?u:`${m}px`):c==="left"&&(b=`${r.floating.width+s}px`,p=i?u:`${m}px`),{data:{x:b,y:p}}}});function fN(e){let[t,n="center"]=e.split("-");return[t,n]}var mN=iN,pN=sN,gN=cN,hN=dN;var Am=D(be(),1),yN=D(ji(),1);var bN=D(J(),1),JD="Portal",tb=Am.forwardRef((e,t)=>{let{container:n,...r}=e,[o,a]=Am.useState(!1);ln(()=>a(!0),[]);let i=n||o&&globalThis?.document?.body;return i?yN.default.createPortal((0,bN.jsx)(st.div,{...r,ref:t}),i):null});tb.displayName=JD;var vN=D(be(),1);var xN=D(J(),1),nb=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"}),ZD="VisuallyHidden",e5=vN.forwardRef((e,t)=>(0,xN.jsx)(st.span,{...e,ref:t,style:{...nb,...e.style}}));e5.displayName=ZD;var t5=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},Vs=new WeakMap,Cm=new WeakMap,Rm={},rb=0,SN=function(e){return e&&(e.host||SN(e.parentNode))},n5=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})},r5=function(e,t,n,r){var o=n5(t,Array.isArray(e)?e:[e]);Rm[n]||(Rm[n]=new WeakMap);var a=Rm[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 m=f.getAttribute(r),b=m!==null&&m!=="false",p=(Vs.get(f)||0)+1,v=(a.get(f)||0)+1;Vs.set(f,p),a.set(f,v),i.push(f),p===1&&b&&Cm.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(),rb++,function(){i.forEach(function(u){var f=Vs.get(u)-1,m=a.get(u)-1;Vs.set(u,f),a.set(u,m),f||(Cm.has(u)||u.removeAttribute(r),Cm.delete(u)),m||u.removeAttribute(n)}),rb--,rb||(Vs=new WeakMap,Vs=new WeakMap,Cm=new WeakMap,Rm={})}},wN=function(e,t,n){n===void 0&&(n="data-aria-hidden");var r=Array.from(Array.isArray(e)?e:[e]),o=t||t5(e);return o?(r.push.apply(r,Array.from(o.querySelectorAll("[aria-live], script"))),r5(r,o,n,"aria-hidden")):function(){return null}};var Rr=function(){return Rr=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},Rr.apply(this,arguments)};function Nm(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 AN(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 Om=D(be());var tr=D(be());var xl="right-scroll-bar-position",Sl="width-before-scroll-bar",ob="with-scroll-bars-hidden",ab="--removed-body-scroll-bar-size";function Em(e,t){return typeof e=="function"?e(t):e&&(e.current=t),e}var CN=D(be());function RN(e,t){var n=(0,CN.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 Tm=D(be());var o5=typeof window<"u"?Tm.useLayoutEffect:Tm.useEffect,NN=new WeakMap;function ib(e,t){var n=RN(t||null,function(r){return e.forEach(function(o){return Em(o,r)})});return o5(function(){var r=NN.get(n);if(r){var o=new Set(r),a=new Set(e),i=n.current;o.forEach(function(l){a.has(l)||Em(l,null)}),a.forEach(function(l){o.has(l)||Em(l,i)})}NN.set(n,e)},[e]),n}function a5(e){return e}function i5(e,t){t===void 0&&(t=a5);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 lb(e){e===void 0&&(e={});var t=i5(null);return t.options=Rr({async:!0,ssr:!1},e),t}var EN=D(be()),TN=function(e){var t=e.sideCar,n=Nm(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 EN.createElement(r,Rr({},n))};TN.isSideCarExport=!0;function sb(e,t){return e.useMedium(t),TN}var Mm=lb();var cb=function(){},_u=tr.forwardRef(function(e,t){var n=tr.useRef(null),r=tr.useState({onScrollCapture:cb,onWheelCapture:cb,onTouchMoveCapture:cb}),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,m=e.noRelative,b=e.noIsolation,p=e.inert,v=e.allowPinchZoom,h=e.as,g=h===void 0?"div":h,y=e.gapMode,x=Nm(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),R=f,w=ib([n,t]),E=Rr(Rr({},x),o);return tr.createElement(tr.Fragment,null,d&&tr.createElement(R,{sideCar:Mm,removeScrollBar:c,shards:u,noRelative:m,noIsolation:b,inert:p,setCallbacks:a,allowPinchZoom:!!v,lockRef:n,gapMode:y}),i?tr.cloneElement(tr.Children.only(l),Rr(Rr({},E),{ref:w})):tr.createElement(g,Rr({},E,{className:s,ref:w}),l))});_u.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};_u.classNames={fullWidth:Sl,zeroRight:xl};var Zt=D(be());var Hs=D(be());var ON=D(be());var MN;var kN=function(){if(MN)return MN;if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function l5(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=kN();return t&&e.setAttribute("nonce",t),e}function s5(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function c5(e){var t=document.head||document.getElementsByTagName("head")[0];t.appendChild(e)}var ub=function(){var e=0,t=null;return{add:function(n){e==0&&(t=l5())&&(s5(t,n),c5(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}};var db=function(){var e=ub();return function(t,n){ON.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}};var Lu=function(){var e=db(),t=function(n){var r=n.styles,o=n.dynamic;return e(r,o),null};return t};var u5={left:0,top:0,right:0,gap:0},fb=function(e){return parseInt(e||"",10)||0},d5=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[fb(n),fb(r),fb(o)]},mb=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return u5;var t=d5(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 f5=Lu(),Fs="data-scroll-locked",m5=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(ob,` {
13
13
  overflow: hidden `).concat(r,`;
14
14
  padding-right: `).concat(l,"px ").concat(r,`;
15
15
  }
16
- body[`).concat(zs,`] {
16
+ body[`).concat(Fs,`] {
17
17
  overflow: hidden `).concat(r,`;
18
18
  overscroll-behavior: contain;
19
19
  `).concat([t&&"position: relative ".concat(r,";"),n==="margin"&&`
@@ -26,36 +26,42 @@ 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(gl,` {
29
+ .`).concat(xl,` {
30
30
  right: `).concat(l,"px ").concat(r,`;
31
31
  }
32
32
 
33
- .`).concat(hl,` {
33
+ .`).concat(Sl,` {
34
34
  margin-right: `).concat(l,"px ").concat(r,`;
35
35
  }
36
36
 
37
- .`).concat(gl," .").concat(gl,` {
37
+ .`).concat(xl," .").concat(xl,` {
38
38
  right: 0 `).concat(r,`;
39
39
  }
40
40
 
41
- .`).concat(hl," .").concat(hl,` {
41
+ .`).concat(Sl," .").concat(Sl,` {
42
42
  margin-right: 0 `).concat(r,`;
43
43
  }
44
44
 
45
- body[`).concat(zs,`] {
46
- `).concat(Jy,": ").concat(l,`px;
45
+ body[`).concat(Fs,`] {
46
+ `).concat(ab,": ").concat(l,`px;
47
47
  }
48
- `)},xE=function(){var e=parseInt(document.body.getAttribute(zs)||"0",10);return isFinite(e)?e:0},QD=function(){Ps.useEffect(function(){return document.body.setAttribute(zs,(xE()+1).toString()),function(){var e=xE()-1;e<=0?document.body.removeAttribute(zs):document.body.setAttribute(zs,e.toString())}},[])},lb=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,o=r===void 0?"margin":r;QD();var a=Ps.useMemo(function(){return ib(o)},[o]);return Ps.createElement(WD,{styles:YD(a,!t,o,n?"":"!important")})};var sb=!1;if(typeof window<"u")try{Tu=Object.defineProperty({},"passive",{get:function(){return sb=!0,!0}}),window.addEventListener("test",Tu,Tu),window.removeEventListener("test",Tu,Tu)}catch{sb=!1}var Tu,yl=sb?{passive:!1}:!1;var XD=function(e){return e.tagName==="TEXTAREA"},SE=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!=="hidden"&&!(n.overflowY===n.overflowX&&!XD(e)&&n[t]==="visible")},JD=function(e){return SE(e,"overflowY")},ZD=function(e){return SE(e,"overflowX")},cb=function(e,t){var n=t.ownerDocument,r=t;do{typeof ShadowRoot<"u"&&r instanceof ShadowRoot&&(r=r.host);var o=wE(e,r);if(o){var a=AE(e,r),i=a[1],l=a[2];if(i>l)return!0}r=r.parentNode}while(r&&r!==n.body);return!1},e5=function(e){var t=e.scrollTop,n=e.scrollHeight,r=e.clientHeight;return[t,n,r]},t5=function(e){var t=e.scrollLeft,n=e.scrollWidth,r=e.clientWidth;return[t,n,r]},wE=function(e,t){return e==="v"?JD(t):ZD(t)},AE=function(e,t){return e==="v"?e5(t):t5(t)},n5=function(e,t){return e==="h"&&t==="rtl"?-1:1},CE=function(e,t,n,r,o){var a=n5(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=AE(e,l),b=p[0],m=p[1],v=p[2],h=m-v-a*b;(b||h)&&wE(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 Rm=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},RE=function(e){return[e.deltaX,e.deltaY]},EE=function(e){return e&&"current"in e?e.current:e},r5=function(e,t){return e[0]===t[0]&&e[1]===t[1]},o5=function(e){return`
48
+ `)},_N=function(){var e=parseInt(document.body.getAttribute(Fs)||"0",10);return isFinite(e)?e:0},p5=function(){Hs.useEffect(function(){return document.body.setAttribute(Fs,(_N()+1).toString()),function(){var e=_N()-1;e<=0?document.body.removeAttribute(Fs):document.body.setAttribute(Fs,e.toString())}},[])},pb=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,o=r===void 0?"margin":r;p5();var a=Hs.useMemo(function(){return mb(o)},[o]);return Hs.createElement(f5,{styles:m5(a,!t,o,n?"":"!important")})};var gb=!1;if(typeof window<"u")try{Du=Object.defineProperty({},"passive",{get:function(){return gb=!0,!0}}),window.addEventListener("test",Du,Du),window.removeEventListener("test",Du,Du)}catch{gb=!1}var Du,wl=gb?{passive:!1}:!1;var g5=function(e){return e.tagName==="TEXTAREA"},LN=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!=="hidden"&&!(n.overflowY===n.overflowX&&!g5(e)&&n[t]==="visible")},h5=function(e){return LN(e,"overflowY")},y5=function(e){return LN(e,"overflowX")},hb=function(e,t){var n=t.ownerDocument,r=t;do{typeof ShadowRoot<"u"&&r instanceof ShadowRoot&&(r=r.host);var o=DN(e,r);if(o){var a=BN(e,r),i=a[1],l=a[2];if(i>l)return!0}r=r.parentNode}while(r&&r!==n.body);return!1},b5=function(e){var t=e.scrollTop,n=e.scrollHeight,r=e.clientHeight;return[t,n,r]},v5=function(e){var t=e.scrollLeft,n=e.scrollWidth,r=e.clientWidth;return[t,n,r]},DN=function(e,t){return e==="v"?h5(t):y5(t)},BN=function(e,t){return e==="v"?b5(t):v5(t)},x5=function(e,t){return e==="h"&&t==="rtl"?-1:1},IN=function(e,t,n,r,o){var a=x5(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 m=BN(e,l),b=m[0],p=m[1],v=m[2],h=p-v-a*b;(b||h)&&DN(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 km=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},zN=function(e){return[e.deltaX,e.deltaY]},PN=function(e){return e&&"current"in e?e.current:e},S5=function(e,t){return e[0]===t[0]&&e[1]===t[1]},w5=function(e){return`
49
49
  .block-interactivity-`.concat(e,` {pointer-events: none;}
50
50
  .allow-interactivity-`).concat(e,` {pointer-events: all;}
51
- `)},a5=0,Us=[];function NE(e){var t=qt.useRef([]),n=qt.useRef([0,0]),r=qt.useRef(),o=qt.useState(a5++)[0],a=qt.useState(Nu)[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=dE([e.lockRef.current],(e.shards||[]).map(EE),!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=Rm(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,E=m.target,N=Math.abs(y)>Math.abs(x)?"h":"v";if("touches"in m&&N==="h"&&E.type==="range")return!1;var C=window.getSelection(),O=C&&C.anchorNode,L=O?O===E||O.contains(E):!1;if(L)return!1;var V=cb(N,E);if(!V)return!0;if(V?A=N:(A=N==="v"?"h":"v",V=cb(N,E)),!V)return!1;if(!r.current&&"changedTouches"in m&&(y||x)&&(r.current=A),!A)return!0;var z=r.current||A;return CE(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?RE(v):Rm(v),g=t.current.filter(function(A){return A.name===v.type&&(A.target===v.target||v.target===A.shadowParent)&&r5(A.delta,h)})[0];if(g&&g.should){v.cancelable&&v.preventDefault();return}if(!g){var y=(i.current.shards||[]).map(EE).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:i5(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=Rm(m),r.current=void 0},[]),u=qt.useCallback(function(m){c(m.type,RE(m),m.target,l(m,e.lockRef.current))},[]),f=qt.useCallback(function(m){c(m.type,Rm(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:o5(o)}):null,p?qt.createElement(lb,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function i5(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}var TE=tb(Cm,NE);var ME=Em.forwardRef(function(e,t){return Em.createElement(Eu,Sr({},e,{ref:t,sideCar:TE}))});ME.classNames=Eu.classNames;var ub=ME;var Be=B(te(),1),l5=[" ","Enter","ArrowUp","ArrowDown"],s5=[" ","Enter"],bl="Select",[Tm,Mm,c5]=Mf(bl),[js,R4]=Zr(bl,[c5,Gy]),Om=Gy(),[u5,Ei]=js(bl),[d5,f5]=js(bl),OE=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=Om(t),[v,h]=le.useState(null),[g,y]=le.useState(null),[x,A]=le.useState(!1),E=ws(c),[N,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)(tE,{...m,children:(0,Be.jsxs)(u5,{required:p,scope:t,trigger:v,onTriggerChange:h,valueNode:g,onValueNodeChange:y,valueNodeHasChildren:x,onValueNodeHasChildrenChange:A,contentId:hi(),value:O,onValueChange:L,open:N,onOpenChange:C,dir:E,triggerPointerDownPosRef:V,disabled:f,children:[(0,Be.jsx)(Tm.Provider,{scope:t,children:(0,Be.jsx)(d5,{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)(JE,{"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]})})};OE.displayName=bl;var kE="SelectTrigger",_E=le.forwardRef((e,t)=>{let{__scopeSelect:n,disabled:r=!1,...o}=e,a=Om(n),i=Ei(kE,n),l=i.disabled||r,s=Tt(t,i.onTriggerChange),c=Mm(n),d=le.useRef("touch"),[u,f,p]=eN(m=>{let v=c().filter(y=>!y.disabled),h=v.find(y=>y.value===i.value),g=tN(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)(nE,{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":ZE(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===" ")&&l5.includes(m.key)&&(b(),m.preventDefault())})})})});_E.displayName=kE;var LE="SelectValue",DE=le.forwardRef((e,t)=>{let{__scopeSelect:n,className:r,style:o,children:a,placeholder:i="",...l}=e,s=Ei(LE,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:ZE(s.value)?(0,Be.jsx)(Be.Fragment,{children:i}):a})});DE.displayName=LE;var m5="SelectIcon",BE=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"})});BE.displayName=m5;var p5="SelectPortal",IE=e=>(0,Be.jsx)(Wy,{asChild:!0,...e});IE.displayName=p5;var vl="SelectContent",zE=le.forwardRef((e,t)=>{let n=Ei(vl,e.__scopeSelect),[r,o]=le.useState();if(on(()=>{o(new DocumentFragment)},[]),!n.open){let a=r;return a?hb.createPortal((0,Be.jsx)(PE,{scope:e.__scopeSelect,children:(0,Be.jsx)(Tm.Slot,{scope:e.__scopeSelect,children:(0,Be.jsx)("div",{children:e.children})})}),a):null}return(0,Be.jsx)(UE,{...e,ref:t})});zE.displayName=vl;var Co=10,[PE,Ni]=js(vl),g5="SelectContentImpl",h5=ol("SelectContent.RemoveScroll"),UE=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=Ei(vl,n),[y,x]=le.useState(null),[A,E]=le.useState(null),N=Tt(t,U=>x(U)),[C,O]=le.useState(null),[L,V]=le.useState(null),z=Mm(n),[G,Z]=le.useState(!1),ue=le.useRef(!1);le.useEffect(()=>{if(y)return uE(y)},[y]),P1();let q=le.useCallback(U=>{let[fe,...ve]=z().map(Ne=>Ne.ref.current),[ke]=ve.slice(-1),we=document.activeElement;for(let Ne of U)if(Ne===we||(Ne?.scrollIntoView({block:"nearest"}),Ne===fe&&A&&(A.scrollTop=0),Ne===ke&&A&&(A.scrollTop=A.scrollHeight),Ne?.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]=eN(U=>{let fe=z().filter(we=>!we.disabled),ve=fe.find(we=>we.ref.current===document.activeElement),ke=tN(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"?db:jE,ze=Se===db?{side:l,sideOffset:s,align:c,alignOffset:d,arrowPadding:u,collisionBoundary:f,collisionPadding:p,sticky:b,hideWhenDetached:m,avoidCollisions:v}:{};return(0,Be.jsx)(PE,{scope:n,content:y,viewport:A,onViewportChange:E,itemRefCallback:ne,selectedItem:C,onItemLeave:Ve,itemTextRefCallback:ae,focusSelectedItem:oe,selectedItemText:L,position:r,isPositioned:G,searchRef:j,children:(0,Be.jsx)(ub,{as:h5,allowPinchZoom:!0,children:(0,Be.jsx)(By,{asChild:!0,trapped:g.open,onMountAutoFocus:U=>{U.preventDefault()},onUnmountAutoFocus:vt(o,U=>{g.trigger?.focus({preventScroll:!0}),U.preventDefault()}),children:(0,Be.jsx)(ky,{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:N,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,Ne=ke.indexOf(we);ke=ke.slice(Ne+1)}setTimeout(()=>q(ke)),U.preventDefault()}})})})})})})});UE.displayName=g5;var y5="SelectItemAlignedPosition",jE=le.forwardRef((e,t)=>{let{__scopeSelect:n,onPlaced:r,...o}=e,a=Ei(vl,n),i=Ni(vl,n),[l,s]=le.useState(null),[c,d]=le.useState(null),u=Tt(t,N=>d(N)),f=Mm(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 N=a.trigger.getBoundingClientRect(),C=c.getBoundingClientRect(),O=a.valueNode.getBoundingClientRect(),L=h.getBoundingClientRect();if(a.dir!=="rtl"){let we=L.left-C.left,Ne=O.left-we,qe=N.left-Ne,We=N.width+qe,nn=Math.max(We,C.width),Dn=window.innerWidth-Co,cn=Ty(Ne,[Co,Math.max(Co,Dn-nn)]);l.style.minWidth=We+"px",l.style.left=cn+"px"}else{let we=C.right-L.right,Ne=window.innerWidth-O.right-we,qe=window.innerWidth-N.right-Ne,We=N.width+qe,nn=Math.max(We,C.width),Dn=window.innerWidth-Co,cn=Ty(Ne,[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=N.top+N.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 Ne=c.clientHeight-m.offsetTop-m.offsetHeight,qe=Math.max(Se,ze+(we?Ve:0)+Ne+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 E=le.useCallback(N=>{N&&b.current===!0&&(y(),g?.(),b.current=!1)},[y,g]);return(0,Be.jsx)(v5,{scope:n,contentWrapper:l,shouldExpandOnScrollRef:p,onScrollButtonChange:E,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}})})})});jE.displayName=y5;var b5="SelectPopperPosition",db=le.forwardRef((e,t)=>{let{__scopeSelect:n,align:r="start",collisionPadding:o=Co,...a}=e,i=Om(n);return(0,Be.jsx)(rE,{...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)"}})});db.displayName=b5;var[v5,yb]=js(vl,{}),fb="SelectViewport",VE=le.forwardRef((e,t)=>{let{__scopeSelect:n,nonce:r,...o}=e,a=Ni(fb,n),i=yb(fb,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)(Tm.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})})})]})});VE.displayName=fb;var FE="SelectGroup",[x5,S5]=js(FE),HE=le.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,o=hi();return(0,Be.jsx)(x5,{scope:n,id:o,children:(0,Be.jsx)(at.div,{role:"group","aria-labelledby":o,...r,ref:t})})});HE.displayName=FE;var $E="SelectLabel",KE=le.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,o=S5($E,n);return(0,Be.jsx)(at.div,{id:o.id,...r,ref:t})});KE.displayName=$E;var Nm="SelectItem",[w5,GE]=js(Nm),qE=le.forwardRef((e,t)=>{let{__scopeSelect:n,value:r,disabled:o=!1,textValue:a,...i}=e,l=Ei(Nm,n),s=Ni(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)(w5,{scope:n,value:r,disabled:o,textId:m,isSelected:c,onItemTextChange:le.useCallback(g=>{u(y=>y||(g?.textContent??"").trim())},[]),children:(0,Be.jsx)(Tm.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===" "||(s5.includes(g.key)&&h(),g.key===" "&&g.preventDefault())})})})})});qE.displayName=Nm;var Mu="SelectItemText",WE=le.forwardRef((e,t)=>{let{__scopeSelect:n,className:r,style:o,...a}=e,i=Ei(Mu,n),l=Ni(Mu,n),s=GE(Mu,n),c=f5(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?hb.createPortal(a.children,i.valueNode):null]})});WE.displayName=Mu;var YE="SelectItemIndicator",QE=le.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e;return GE(YE,n).isSelected?(0,Be.jsx)(at.span,{"aria-hidden":!0,...r,ref:t}):null});QE.displayName=YE;var mb="SelectScrollUpButton",A5=le.forwardRef((e,t)=>{let n=Ni(mb,e.__scopeSelect),r=yb(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.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)(XE,{...e,ref:i,onAutoScroll:()=>{let{viewport:l,selectedItem:s}=n;l&&s&&(l.scrollTop=l.scrollTop-s.offsetHeight)}}):null});A5.displayName=mb;var pb="SelectScrollDownButton",C5=le.forwardRef((e,t)=>{let n=Ni(pb,e.__scopeSelect),r=yb(pb,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)(XE,{...e,ref:i,onAutoScroll:()=>{let{viewport:l,selectedItem:s}=n;l&&s&&(l.scrollTop=l.scrollTop+s.offsetHeight)}}):null});C5.displayName=pb;var XE=le.forwardRef((e,t)=>{let{__scopeSelect:n,onAutoScroll:r,...o}=e,a=Ni("SelectScrollButton",n),i=le.useRef(null),l=Mm(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()})})}),R5="SelectSeparator",E5=le.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e;return(0,Be.jsx)(at.div,{"aria-hidden":!0,...r,ref:t})});E5.displayName=R5;var gb="SelectArrow",N5=le.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,o=Om(n),a=Ei(gb,n),i=Ni(gb,n);return a.open&&i.position==="popper"?(0,Be.jsx)(oE,{...o,...r,ref:t}):null});N5.displayName=gb;var T5="SelectBubbleInput",JE=le.forwardRef(({__scopeSelect:e,value:t,...n},r)=>{let o=le.useRef(null),a=Tt(r,o),i=Cf(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:{...Yy,...n.style},ref:a,defaultValue:t})});JE.displayName=T5;function ZE(e){return e===""||e===void 0}function eN(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 tN(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=M5(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 M5(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var nN=OE,rN=_E,oN=DE,aN=BE,iN=IE,lN=zE,sN=VE,cN=HE,uN=KE,dN=qE,fN=WE,mN=QE;var pN=B(xe(),1);var gN=B(te(),1),it=(0,pN.forwardRef)(function({className:t,...n},r){return(0,gN.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 hN(e){return String(e||"").trim().toLowerCase()}function km(e){return hN(e).length>0}function yN({searchEnabled:e=!0}={}){return!!e}function bb(e){let t=String(e?.key||"");return!t||t.length!==1||e?.ctrlKey||e?.metaKey||e?.altKey?"":t.trim()?t:""}function bN(e={},t=""){let n=hN(t);return n?[e?.label,e?.value,e?.hint,e?.textValue,e?.searchText].map(o=>String(o||"").toLowerCase()).join(" ").includes(n):!0}var _m=B(xe(),1),k5=12;function vb(e){return/auto|scroll|hidden|clip|overlay/.test(String(e||"").toLowerCase())}function _5(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 Lm(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);(vb(r.overflow)||vb(r.overflowY)||vb(r.overflowX))&&t.push(n),n=n.parentElement}return t}function L5(e,{viewportPadding:t=k5}={}){if(typeof window>"u")return null;let n={top:t,right:window.innerWidth-t,bottom:window.innerHeight-t,left:t};for(let r of Lm(e))n=_5(n,r.getBoundingClientRect());return n}function D5({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 Dm({open:e=!1,anchorRef:t,preferredSide:n="bottom",offset:r=4,desiredHeight:o=288}={}){let[a,i]=(0,_m.useState)(()=>({side:n==="top"?"top":"bottom",maxHeight:o}));return(0,_m.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(D5({anchorRect:l.getBoundingClientRect(),boundaryRect:L5(l),preferredSide:n,offset:r,desiredHeight:o}))};s();let c=Lm(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 En=B(te(),1),Im=(0,pt.createContext)(null),B5="Enter character to filter",I5=41,z5="data-llm-router-select-search-input";function Bm(e){return e==null||typeof e=="boolean"?"":typeof e=="string"||typeof e=="number"?String(e):Array.isArray(e)?e.map(t=>Bm(t)).filter(Boolean).join(" "):(0,pt.isValidElement)(e)?Bm(e.props?.children):""}function xb(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 P5(e={}){let t=String(e.textValue||Bm(e.children)||"").trim();return{value:String(e.value||""),textValue:t,searchText:String(e.searchText||"")}}function vN(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=bN(P5(a.props),t);return l&&(r+=1),l?a:null}if(!a.props?.children)return a;let i=vN(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,En.jsx)(Im.Provider,{value:h,children:(0,En.jsx)(nN,{...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)(Im),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=bb(d);u&&(d.preventDefault(),i.setSearchSessionActive?.(!0),i.setOpen(!0),i.setFilterValue(f=>`${f}${u}`))}return(0,En.jsxs)(rN,{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,En.jsx)("span",{className:"min-w-0 flex-1 truncate text-left",children:n}),(0,En.jsx)(aN,{className:"pointer-events-none absolute right-3 top-1/2 -translate-y-1/2 text-muted-foreground",children:"\u25BE"})]})});function Zt(e){return(0,En.jsx)(oN,{...e})}var en=(0,pt.forwardRef)(function({className:t,children:n,position:r="popper",onKeyDownCapture:o,searchPlaceholder:a=B5,emptySearchMessage:i="No matching options.",...l},s){let c=(0,pt.useContext)(Im),d=(0,pt.useRef)(null),u=(0,pt.useRef)(null),f=Dm({open:!!c?.open,anchorRef:c?.triggerRef,preferredSide:"bottom",desiredHeight:288,offset:4}),p=yN({searchEnabled:c?.searchEnabled,filterValue:c?.filterValue,sessionActive:c?.searchSessionActive}),b=(0,pt.useMemo)(()=>km(c?.filterValue)?vN(n,c?.filterValue):{children:n,totalItems:0,matchedItems:0},[n,c?.filterValue]),m=km(c?.filterValue)&&b.totalItems>0&&b.matchedItems===0,v=Math.max(0,Math.floor((f.maxHeight||288)-(p?I5: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 E=A.value.length;A.setSelectionRange(E,E)});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=bb(x);A&&(x.preventDefault(),x.stopPropagation(),c.setSearchSessionActive?.(!0),c.setFilterValue(E=>`${E}${A}`))}function y(x){let A=x.target.value;c?.setSearchSessionActive?.(!0),c?.setFilterValue(A)}return(0,En.jsx)(iN,{children:(0,En.jsxs)(lN,{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,En.jsx)("div",{className:"border-b border-border/70 p-1",children:(0,En.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(),xb(d.current,"first");return}if(x.key==="ArrowUp"){x.preventDefault(),xb(d.current,"last");return}x.key==="Escape"&&(x.preventDefault(),c?.setSearchSessionActive?.(!1),c?.setFilterValue(""),typeof window<"u"&&window.requestAnimationFrame(()=>xb(d.current)))}})}):null,(0,En.jsxs)(sN,{className:"px-1 pb-1",style:{maxHeight:`${v}px`},children:[km(c?.filterValue)?b.children:n,m?(0,En.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)(Im),c=String(o||Bm(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(z5)==="true"&&u.preventDefault()}return(0,En.jsxs)(dN,{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,En.jsx)(fN,{children:n}),(0,En.jsx)("span",{className:"absolute right-2 inline-flex h-4 w-4 items-center justify-center text-xs text-muted-foreground",children:(0,En.jsx)(mN,{children:"\u2713"})})]})});Ct.__LLM_ROUTER_SELECT_ITEM=!0;function xl(e){return(0,En.jsx)(cN,{...e})}xl.__LLM_ROUTER_SELECT_GROUP=!0;var Vs=(0,pt.forwardRef)(function({className:t,children:n,...r},o){return(0,En.jsx)(uN,{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 Sb(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 U5(e=""){let t=String(e||"").trim();if(!t)return{};let n=zf(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",...U5(o)}));return n}function j5(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 V5(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 xN(e=[],{keyPrefix:t="select-option",includeHint:n=!1}={}){return j5(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:V5(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),wN=B(Bi(),1);var io=B(xe(),1);var F5="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 H5({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 $5({committedValue:e="",draftValue:t="",isFocused:n=!1,hasLocalDraft:r=!1}={}){return String(n||r?t??"":e??"")}function K5({commitOnBlur:e=!1,draftValue:t="",hasLocalDraft:n=!1}={}){return!e||!n?null:String(t??"")}var zm=(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=H5({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(F5,t),value:$5({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=K5({commitOnBlur:n,draftValue:f,hasLocalDraft:v});x!==null&&o?.(x,y),s?.(y)}})});var G5=/^\d*$/;function SN(e){let t=String(e??""),n=G5.test(t);return{accepted:n,draftValue:n?t:"",shouldCommit:n&&t!=="",commitValue:n&&t!==""?t:""}}var be=B(te(),1);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 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 W5({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 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:"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 Q5({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)(zm,{...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)(Q5,{className:"h-4 w-4"}):(0,be.jsx)(Y5,{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)(q5,{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)(W5,{className:"h-3.5 w-3.5"})})}function wb({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 Pm({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=SN(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 AN({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 Nn({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,wN.createPortal)(v,document.body)}function Um({open:e=!1,anchorRef:t,preferredSide:n="bottom",desiredHeight:r=288,offset:o=4,className:a="",children:i,...l}){let s=Dm({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 CN({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)(Nn,{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 RN({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)(Nn,{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 EN({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 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)("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 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:"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 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:"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 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"})]})}function tB({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 nB({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 rB({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)(X5,{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)(J5,{className:"h-3.5 w-3.5"})})]})}function TN({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)(nB,{label:"Endpoint",value:e,icon:(0,Le.jsx)(Z5,{className:"h-3.5 w-3.5"}),disabled:t,onClick:i,actionLabel:t?"API endpoint not ready yet":"Copy API endpoint"}),(0,Le.jsx)(rB,{value:n,pending:r,disabled:o,rotateDisabled:a,onCopy:l,onRotate:s})]})}function NN({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 jm({primaryLabel:e="Config file",primaryValue:t="",primaryIcon:n=(0,Le.jsx)(eB,{className:"h-3 w-3"}),onOpenPrimary:r,secondaryLabel:o="Backup file",secondaryValue:a="",secondaryIcon:i=(0,Le.jsx)(tB,{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)(NN,{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)(NN,{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 oB(e){return e==="error"?"Error":e==="success"?"Success":"Notice"}function aB({notice:e,onDismiss:t}){let[n,r]=(0,Yo.useState)(Pf),[o,a]=(0,Yo.useState)(Pf),[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,dC);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/Pf)),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:oB(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 Ab({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)(aB,{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 Cb({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),[E,N]=(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(Gf(t||[],ne,Ve=>Ve?.key))}function W(){h.current="",Na(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"){N(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=Lm(ne),Se=py(ne,ae),ze=0,U=0,fe=90,ve=8,ke=6,we=.5,Ne=()=>{if(A.current!==Ve)return;let qe=y.current.get(O)||ne,We=py(qe,ae);if(!Number.isFinite(We.top)||!Number.isFinite(We.left)){x.current=0,N(nn=>nn+1);return}if(OC(Se,We,we)?ze+=1:ze=0,Se=We,U+=1,U>=ve&&ze>=ke||U>=fe){x.current=0,N(nn=>nn+1);return}x.current=window.requestAnimationFrame(Ne)};x.current=window.requestAnimationFrame(Ne)}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)(vC,{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(Kf(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,Na(fe,!0)},onDragEnd:W,title:ae?"New route draft row":"Drag to reorder",children:(0,Rt.jsx)(Es,{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?E: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?xN(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 iB(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 lB(e=[]){return!Array.isArray(e)||e.length===0?1:e.reduce((t,n)=>iB(t,n),0)||1}function sB(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 MN(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:sB(f,r),bucket:s,weight:v}}).filter(d=>!!d.ref)}return[...i(e?.targets,"primary",o),...i(e?.fallbackTargets,"fallback",a)]}function cB(e=[],t=8){if(!Array.isArray(e)||e.length===0)return[];let n=e.map(l=>Math.max(1,Number(l?.weight)||1)),r=lB(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 uB(e,t=[]){let n=qf(e),r=Wf(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=cB(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 ON({open:e=!1,onClose:t=()=>{},onSave:n=()=>{},aliasLabel:r="",initialStrategy:o="auto",entries:a=[],disabled:i=!1}){let l=qf(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)(Nn,{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:Uf.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))})}),Uf.map(p=>{let b=uB(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 kN({open:e=!1,onClose:t=()=>{},config:n={}}){let r=(0,Al.useMemo)(()=>y1(n),[n]);return(0,se.jsx)(Nn,{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),dB=500;function Mi(e=[]){return(e||[]).map(t=>({ref:String(t?.ref||"").trim(),weight:String(t?.weight||"1").trim()}))}function Rb({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=LC(e,t,{isNew:f}),A=(0,_n.useMemo)(()=>rC(f?"":e,t),[x]),[E,N]=(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)(()=>{N(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(E?.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}`),[...(E?.targets||[]).map(M=>M?.ref),...(E?.fallbackTargets||[]).map(M=>M?.ref)]),[r,W,E?.targets,E?.fallbackTargets]),ne=(E?.targets||[]).map(M=>String(M?.ref||"").trim()),Ve=(E?.fallbackTargets||[]).map(M=>String(M?.ref||"").trim()),ae=[...ne,...Ve],Se=[...E?.targets||[],...E?.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,Ne=JSON.stringify({id:A.id,strategy:A.strategy,targets:Mi(A.targets),fallbackTargets:Mi(A.fallbackTargets)}),qe=JSON.stringify({id:W,strategy:E?.strategy,targets:Mi(E?.targets),fallbackTargets:Mi(E?.fallbackTargets)}),We=JSON.stringify({targets:Mi(A.targets),fallbackTargets:Mi(A.fallbackTargets)}),nn=JSON.stringify({targets:Mi(E?.targets),fallbackTargets:Mi(E?.fallbackTargets)}),Dn=Ne!==qe,cn=W?mC.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)(()=>rm(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)(()=>MN(E,t,r),[E,t,r]);async function St(){if(V(!0),xt)return!1;let M=await c(e,E);return M&&f&&m(e),M}async function Re(M){let F={...E,strategy:M};return await c(e,F)?f?(m(e),!0):(N(F),!0):!1}async function gn(){if(V(!0),xt)return!1;let M=await c(e,E);return M&&(O(!1),V(!1)),M}function k(){if(p)return;if(!oe){O(!1);return}let M=String(e||"").trim(),F=String(E?.id||"").trim();if(!F||F===M){N(ce=>({...ce,id:M})),O(!1),V(!1);return}gn()}function me(M){if(M.key==="Escape"){M.preventDefault(),N(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(E?.id||"").trim();if(!F||F===M){N(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,E,{showSuccessNotice:!1,successMessage:""}).then(M=>{q(M?"saved":"error")})},dB),()=>{G.current&&(window.clearTimeout(G.current),G.current=0)}},[e,nn,E,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:E.id,placeholder:ft,onChange:M=>N(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)(Ff,{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)(EC,{className:"h-4 w-4 shrink-0"}):(0,Me.jsx)(Ns,{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:E.id,placeholder:ft,onChange:M=>N(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)(Ns,{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:E?.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:Wf(E.strategy||"auto")}),(0,Me.jsx)(Ns,{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)(Cb,{title:"Primary targets",rows:E.targets,onChange:M=>N(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)(Cb,{title:"Fallback targets",rows:E.fallbackTargets,onChange:M=>N(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 _N({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)(()=>_C(),[]),[x,A]=(0,_a.useState)({open:!1,aliasLabel:"",strategy:"auto",entries:[],disabled:!1,onSave:null});function E(){f||l||b(`draft-${Date.now()}`)}function N(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:E,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)(Rb,{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)(Nn,{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)(Rb,{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:N,onOpenStrategyModal:O,framed:!1},p):null}),(0,sn.jsx)(ON,{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)(kN,{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=$f(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 E(C){u||(v(C),g(C))}function N(C=h){if(u)return v(""),g(""),!1;if(!m)return!1;let O=$f(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(),N();return}z.key==="Escape"&&(z.preventDefault(),v(""),g(""))},onBlur:()=>{N()}}):(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:()=>E(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 LN(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 Vm(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:[],LN(n)]}function fB({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)(Um,{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 Fm({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=>({...LN(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(Yf(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(hy(g?.requests,0)<=0)return"Requests must be a positive integer.";if(hy(g?.windowValue,0)<=0)return"Window size must be a positive integer.";if(!uy.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=Yf(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)(fB,{value:g.models,onChange:E=>b(g.key,{models:E}),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:E=>b(g.key,{requests:E.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:E=>b(g.key,{windowValue:E.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:E=>b(g.key,{windowUnit:E}),disabled:r,children:[(0,rt.jsx)(Jt,{children:(0,rt.jsx)(Zt,{placeholder:"Window unit"})}),(0,rt.jsx)(en,{children:uy.map(E=>(0,rt.jsx)(Ct,{value:E,children:E},`${g.key}-${E}`))})]})}),(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 DN=[{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 BN(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 IN(e){if(e===void 0)return!0;if(e===!0)return!1}function zN(e){return!e||typeof e!="object"?!1:Object.values(e).some(t=>typeof t=="boolean")}var Oi=B(te(),1);function mB({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 Hm({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"}),DN.map(({key:r,label:o})=>{let a=e[r];return(0,Oi.jsx)(mB,{label:o,value:a,disabled:t,onCycle:()=>n(r,IN(a))},r)})]})}var De=B(te(),1);function PN({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)(()=>oC(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)({}),[E,N]=(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&&N(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({}),N(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]),Ne=we.map(k=>k.id),qe=ke.map(k=>k.id),We=Ne.filter(k=>!qe.includes(k)),nn=Os(Ne),Dn=Ne.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),N(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(Gf(me,k,re=>re?.key)))}function ft(){W.current="",Na(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=om(F),Je=F?.exactMatch?.capabilities;(ce||Je)&&p(Vt=>Se(Vt.map(Ee=>{if(Ee.key!==k)return Ee;let Y=String(Ee?.id||"").trim();if(!Y||Y!==M)return Ee;let ge={};return ce&&!String(Ee?.contextWindow||"").trim()&&(ge.contextWindow=ce),Je&&!zN(Ee.capabilities)&&(ge.capabilities=BN(Ee.capabilities,Je)),Object.keys(ge).length>0?{...Ee,...ge}:Ee}),{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),N(null);try{let Pe=await xu(re.map(Ee=>Ee.id)),T=b1(Pe),M=new Map(re.map(Ee=>[Ee.key,Ee]));for(let Ee of T.values())Ee?.query&&Ie.current.set(Ee.query,Ee);let F=Array.isArray(ue.current)?ue.current:[],ce=0,Je=0,Vt=F.map(Ee=>{let Y=M.get(Ee.key);if(!Y)return Ee;let ge=String(Ee?.id||"").trim(),Un=String(Ee?.contextWindow||"").trim();if(!ge||ge!==Y.id||Un)return Ee;let ki=T.get(ge)||Ls({query:ge}),_i=om(ki);return _i?(ce+=1,{...Ee,contextWindow:_i}):(Je+=1,Ee)});p(Se(Vt,{preserveFocus:!1})),N({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){N({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),Ee=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(Kf(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&&Ee==="success"?"border-emerald-200 bg-emerald-50/70":null,!Vt&&Ee==="error"?"border-rose-200 bg-rose-50/70":null,!Vt&&Ee==="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,Na(ge,!0)},onDragEnd:ft,title:T?"Drag to reorder":"New model draft row",children:(0,De.jsx)(Es,{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):h1(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)(Um,{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)(Hm,{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."]}):Ee==="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."}):Ee==="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."}):Ee==="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,E?(0,De.jsx)("div",{className:Q("rounded-xl px-3 py-2 text-sm",E.tone==="error"?"border border-rose-200 bg-rose-50 text-rose-900":E.tone==="warning"?"border border-amber-200 bg-amber-50 text-amber-900":"border border-emerald-200 bg-emerald-50 text-emerald-900"),children:E.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({}),N(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 pB({provider:e,onRemove:t,onCopyModelId:n,onApplyProviderDetails:r,onApplyProviderModels:o,onSaveAndCloseEditor:a,disabledReason:i="",busy:l=!1}){let s=(0,tn.useMemo)(()=>VC(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,E]=(0,tn.useState)(0),[N,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?"":DC(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:yy(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:yy(s?.rateLimitRows)}),ae=ne!==Ve,Se=!!i||l,ze=new Set((Array.isArray(N.rows)?N.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:""},Ne=!!N.isDirty,qe=ae||Ne,We=[ae?"provider settings":"",Ne?"model list":""].filter(Boolean),nn=[ae&&ke?`Provider: ${ke}`:"",Ne&&N.issue?`Models: ${N.issue}`:""].filter(Boolean).join(" "),Dn=Se||O.phase==="testing"||O.phase==="saving"||ae&&!!ke||Ne&&(!!N.issue||N.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(N.rows)?N.rows:[]).filter(ft=>!U.includes(String(ft?.id||"").trim()));return Te.length===0&&!ae||await a(e.id,{providerDraft:ae?we:null,modelRows:Ne?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"&&E(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:Ne?N.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||"")})}})){Ne&&(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)(Ns,{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)(EN,{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)(Nn,{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:Vm(Te.rateLimitRows)})),disabled:fe,children:"Add rate limit"}),children:(0,he.jsx)(Fm,{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)(PN,{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)(CN,{open:p,onKeepEditing:()=>b(!1),onDiscardAndClose:Ue,onSaveAndClose:wr,saveDisabled:Dn,dirtyLabels:We,details:nn}),(0,he.jsx)(RN,{open:m,failedModelIds:U,onKeepEditing:()=>v(!1),onRemoveFailedAndClose:It,removeDisabled:fe||typeof a!="function"})]})}function gB({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)(pB,{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 UN({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)(gB,{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 jN({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||{},[E,N]=(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)(hB,{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:E,onChange:G=>N(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:fy.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:E,autoConnect:C,defaultKeepAlive:L}),children:"Save Settings"})]})})]})}function hB({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:fy.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 XN=B(xe(),1);var Ln=B(xe(),1);function $m(e,t){return Object.values(e||{}).filter(n=>t(n)).length}var Du={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}},yB={mode:"auto",preset:"balanced",overrides:{},extraArgs:[],lastKnownGood:null,lastFailure:null};function Lu(e){return Array.isArray(e)?e.map(t=>Lu(t)):e&&typeof e=="object"?Object.fromEntries(Object.entries(e).map(([t,n])=>[t,Lu(n)])):e}function bB(e){let t=String(e||"").trim().toLowerCase();return t||"stopped"}function Km(e){return String(e||"").trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}function Eb(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 VN(e={}){return new Set(Object.values(e||{}).map(t=>String(t?.id||"").trim()).filter(Boolean))}function FN(e){return String(e||"").replace(/\.[^.]+$/u,"")}function vB(e){return String(e||"").trim().replace(/\\/g,"/").split("/").filter(Boolean).pop()||""}function HN(e={},t={}){let n=String(e?.repo||"").trim(),r=String(e?.file||"").trim(),o=VN(t),a=Km(`${n}-${FN(r)}`)||"local-model";return{id:Eb(a,o),displayName:r||n||"Managed GGUF",repo:n,file:r}}function Nb(e="",t={}){let n=String(e||"").trim(),r=vB(n),o=VN(t),a=Km(FN(r))||"local-model";return{id:Eb(a,o),displayName:r||n||"Attached GGUF",filePath:n}}function Gm(e){let t=Number.parseInt(String(e??"").replace(/[^\d]/g,""),10);return Number.isFinite(t)&&t>0?t:void 0}function $N(e,t={}){let n=String(e?.displayName||e?.id||"Local Model").trim()||"Local Model",r="balanced",o=Du[r],a=new Set(Object.values(t||{}).map(s=>String(s?.id||"").trim()).filter(Boolean)),i=`${n} ${o.label}`,l=Eb(`local/${Km(i)}`,a);return{key:Km(l)||`local-${Date.now()}`,baseModelId:e?.id,runtime:"llamacpp",name:i,id:l,preset:r,enabled:!0,preload:!1,contextWindow:o.contextWindow,capabilities:{}}}function KN(e){return{...e,preset:String(e?.preset||"balanced").trim()||"balanced",contextWindow:Number.isFinite(Number(e?.contextWindow))?Number(e.contextWindow):Du.balanced.contextWindow,runtimeProfile:{...yB,...e?.runtimeProfile||{},overrides:e?.runtimeProfile?.overrides&&typeof e.runtimeProfile.overrides=="object"?Lu(e.runtimeProfile.overrides):{},extraArgs:Array.isArray(e?.runtimeProfile?.extraArgs)?[...e.runtimeProfile.extraArgs]:[],lastKnownGood:e?.runtimeProfile?.lastKnownGood&&typeof e.runtimeProfile.lastKnownGood=="object"?Lu(e.runtimeProfile.lastKnownGood):null,lastFailure:e?.runtimeProfile?.lastFailure&&typeof e.runtimeProfile.lastFailure=="object"?Lu(e.runtimeProfile.lastFailure):null},capabilities:e?.capabilities&&typeof e.capabilities=="object"?{...e.capabilities}:{}}}function GN(e,t=new Set){return String(e?.name||"").trim()?String(e?.id||"").trim()?t.has(String(e?.id||"").trim())?"Model id already exists.":Gm(e?.contextWindow)?"":"Context window must be a positive integer.":"Model id is required.":"Variant name is required."}function qN(e={}){let t=e?.runtime||{},n=e?.library||{},r=e?.variants||{};return{enabledVariants:$m(r,o=>o?.enabled===!0),preloadedVariants:$m(r,o=>o?.preload===!0),staleAssets:$m(n,o=>String(o?.availability||"").trim().toLowerCase()==="stale"),runningRuntimes:$m(t,o=>bB(o?.status)==="running")}}var st=B(te(),1);function WN({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)(Hm,{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 xB(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 YN(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 SB(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 wB(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 Tb(e){return/\.gguf$/i.test(String(e||"").trim())}function AB(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 CB({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 RB({entry:e,variantCount:t=0,disabledReason:n="",busy:r=!1,onCreateVariant:o,onLocateModel:a,onRemoveModel:i}){let l=YN(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:wB(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 EB({variant:e,baseModel:t,runtimeStatus:n,onEdit:r}){let o=YN(e?.availability||t?.availability),a=SB(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 NB({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 QN({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=xB(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()||AB(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",[E,N]=(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(E?.draft?.id||"").trim(),M=String(E?.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))},[E?.draft?.id,E?.draft?.key,v]),U=E?.baseModelId&&t[E.baseModelId]||null,fe=GN(E?.draft||{},ze),ve=String(L?.draft?.id||"").trim()?String(L?.draft?.filePath||"").trim()?Tb(L?.draft?.filePath)?"":"Select a GGUF file path.":"GGUF file path is required.":"Model id is required.",ke=String(z.filePath||"").trim()?Tb(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 Ne(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 am("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){N({open:!0,title:"Create local variant",baseModelId:T?.id||"",draft:$N(T,n)})}function xt(T){N({open:!0,title:"Edit local variant",baseModelId:T?.baseModelId||"",draft:KN(T)})}function ht(){C||N({open:!1,draft:null,baseModelId:"",title:""})}async function yt(){if(!E?.draft||fe)return;O(!0);let T=!1;try{let M={...E.draft,contextWindow:Gm(E.draft.contextWindow)};T=await s?.(M)}finally{O(!1)}T&&N({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 am(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 M1(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&&Tb(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 am("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 S1({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=HN(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),Ee=Number(Je?.event?.totalBytes||0),Y=Ee>0?`${Ks(Vt)} / ${Ks(Ee)}`: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)(CB,{candidate:T,busy:j.selecting,onUseRuntime:Ne},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)(RB,{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)(EB,{variant:T,baseModel:t[T?.baseModelId]||null,runtimeStatus:b,onEdit:xt},T.key||T.id))})]})})]}),(0,_.jsx)(Nn,{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)(Nn,{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)(Nn,{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)(NB,{result:T,downloading:Z.downloadingKey===`${T.repo}:${T.file}`,onDownload:Pe},`${T.repo}:${T.file}`))})]})}),(0,_.jsx)(Nn,{open:E.open,onClose:ht,title:E.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)(WN,{draft:E.draft,baseModel:U,duplicateIds:ze,saveDisabled:!!fe,saveDisabledReason:fe,saving:C,onChange:T=>{let M=String(T?.preset||E?.draft?.preset||"balanced").trim()||"balanced",F=String(E?.draft?.preset||"balanced").trim()||"balanced",ce=Gm(E?.draft?.contextWindow),Je=M!==F&&ce===Du[F]?.contextWindow;N(Vt=>({...Vt,draft:{...T,contextWindow:Je?Du[M]?.contextWindow??T?.contextWindow:T?.contextWindow}}))},onCancel:ht,onSave:yt})})]})}var Qo=B(te(),1);function JN({summary:e,llamacpp:t,ollama:n}){let[r,o]=(0,XN.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)(jN,{...n,embedded:!0})}),(0,Qo.jsx)(qn,{value:"llamacpp",children:(0,Qo.jsx)(QN,{...t})})]})}var qm=B(xe(),1);var de=B(te(),1);function TB(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 MB(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 ZN(e=[],{keyPrefix:t="select-option",includeHint:n=!1}={}){return TB(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:MB(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 OB({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 eT({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,qm.useState)(!1),[y,x]=(0,qm.useState)(""),[A,E]=(0,qm.useState)(String(t[0]?.value||"").trim()),N=e.some(W=>String(W?.inbound||"").trim()===String(y||"").trim()&&String(y||"").trim()),C=String(y||"").trim()&&String(A||"").trim()&&!N,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(""),E(String(t[0]?.value||"").trim()))}function ee(){g(!0),x(""),E(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)(jm,{primaryLabel:"Config file",primaryValue:o?.settingsFilePath||"",onOpenPrimary:f,secondaryLabel:"Secrets file",secondaryValue:o?.secretsFilePath||"",secondaryIcon:(0,de.jsx)(OB,{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:E,children:[(0,de.jsx)(Jt,{children:(0,de.jsx)(Zt,{placeholder:"Select local route"})}),(0,de.jsx)(en,{children:ZN(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)(zm,{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"}),ZN(t,{keyPrefix:`amp-route-${W.id}`,includeHint:!0})]})]})})]})},W.id))})]})]})]})})}var La=B(xe(),1);var J=B(te(),1);function kB({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 _B({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(E=>E.providerId===x)?x:y)},[e,p]),(0,La.useEffect)(()=>{let y=m[0]?.value||"";s(x=>m.some(E=>E.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)(Nn,{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 tT({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:bC.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)(kB,{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)(wb,{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)(wb,{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)(Pm,{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)(Pm,{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)(Pm,{value:String(m.remaining||0),onValueChange:g=>o(m.id,"remaining",g),disabled:!!s})})]})]})]})},m.key)})})})]}),(0,J.jsx)(_B,{open:d,onClose:()=>u(!1),candidates:n,onTestAndAdd:l,disabledReason:s})]})}var Bu=B(xe(),1);var S=B(te(),1);function LB(e=""){let t=String(e||"").trim();if(!t)return{};let n=zf(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 DB(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",...LB(o)}));return n}function BB(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 IB(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 zB(e=[],{keyPrefix:t="select-option",includeHint:n=!1}={}){return BB(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:IB(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 PB({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 rT({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=If(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 oT({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=aC(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 aT({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=iC(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 UB(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 nT(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 jB({guideContent:e}){let[t,n]=(0,Bu.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)(Nn,{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",UB(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",nT(c)),children:s.title})]}),(0,S.jsx)("div",{className:Q("mt-3 text-sm leading-6",nT(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 VB({field:e,routeOptions:t,disabled:n=!1,onValueChange:r}){let o=String(e?.value||"").trim()||(e?.allowUnset?"__unset__":""),a=(0,Bu.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?zB(a,{keyPrefix:e.id||"binding-option"}):(0,S.jsx)(Ct,{value:"__no-route-options",disabled:!0,children:"No routes available"})})]})}function Wm({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)(PB,{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,Bu.useMemo)(()=>{let A=new Set(["__unset__"]);for(let E of b){for(let N of Array.isArray(E?.extraOptions)?E.extraOptions:[]){let C=String(N?.value||"").trim();C&&A.add(C)}for(let N of Array.isArray(E?.options)?E.options:[]){let C=String(N?.value||"").trim();C&&A.add(C)}}return b.filter(E=>E?.usesRouteOptions!==!1).map(E=>String(E?.value||"").trim()).filter(E=>E&&!A.has(E))},[b]),x=DB(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)(jm,{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)(jB,{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)(VB,{field:A,routeOptions:x,disabled:A.standaloneWhenDisconnected?a:!v||a,onValueChange:E=>l(A.id,E==="__unset__"?"":E)})]},A.id))})]})]})]})}var Ot=B(te(),1);function iT({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:gy(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:lC.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=gy(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",cy[d.level]||cy.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 Mb=B(xe(),1);var bn=B(te(),1);function lT({rows:e,onChange:t}){let n=Xf(e),r=n.length>0?n:[{name:"",value:""}];function o(l,s,c){s==="name"&&kC(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 sT({providerId:e,values:t,onChange:n}){let r=(t||[]).map(u=>String(u||"").trim()).filter(Boolean),o=$s(r),a=(0,Mb.useRef)(""),i=(0,Mb.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="",Na(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,Na(b,!0)},onDragEnd:d,title:"Drag to reorder",children:(0,bn.jsx)(Es,{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 Ob({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)(()=>GC(e,{seedMode:a,targetProviderId:l,defaultProviderUserAgent:s})),[h,g]=(0,Bt.useState)(null),[y,x]=(0,Bt.useState)(""),[A,E]=(0,Bt.useState)({}),[N,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"&&tm(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=em(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)(()=>Jf(m.headerRows||[]),[m.headerRows]),Ne=String(m.apiKeyEnv||"").trim(),qe=(0,Bt.useMemo)(()=>xy(ke),[ke]),We=O?.signature===qe?O.result:null,nn=We?.models?.length>0?We.models:Ay(m.selectedConnection||"custom"),Dn=Dr(m.providerId||m.providerName||"my-provider")||"my-provider",cn=Cy(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)(()=>qC(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=WC(u,ke,e,{targetProviderId:l});(0,Bt.useEffect)(()=>{MC()},[]),(0,Bt.useEffect)(()=>{let X=ee.current!==""&&ee.current!==qe;if(ee.current=qe,X&&m.connectionType==="api"&&(E({}),g(null),x(""),oe.current=!0,C(!1)),m.connectionType!=="api"){h!==null&&g(null),y&&x(""),Object.keys(A).length>0&&E({}),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),E({}),L(null),z(""),oe.current=!0,C(!1),T(X,X==="api"?"custom":"oauth-gpt")}function Pe(X){x(""),g(null),E({}),L(null),z(""),oe.current=!0,C(!1);let $e=Lr(X);T($e.category,X)}function T(X,$e){v(Ke=>KC(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||!Ne)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(Ne)?{apiKeyEnv:Ne}:{apiKey:Ne},...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),wy(ve)){let Wn=await x1(ve[0]||"",Ne,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=v1(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(xy(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=wy(un.endpoints),Li=qs?HC(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(""),E(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(Ne)?{apiKeyEnv:Ne}:{apiKey:Ne},...Object.keys(we).length>0?{headers:we}:{}})},{onMessage:dn=>{if(dn?.type!=="progress")return;let Wn=dn.event||{};Wn.phase==="model-done"&&E(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}),E(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 E(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||!Ne||ve.length===0||G||O?.signature===qe||M({silent:!0})},[u,m.connectionType,U.length,Ne,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&&!N&&(C(!0),f(lt=>Math.min(lt+1,ze.length-1)))}async function Ee(){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))})),E($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",zu=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:pC.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:TC(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)(lT,{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",Vm(m.rateLimitRows)),disabled:p==="test",children:"Add rate limit"}),children:(0,P.jsx)(Fm,{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)(AN,{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)(sT,{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:FC(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"?N?(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:()=>{Ee()},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:zu}):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:zu})]}):null,Da]})]})}var $=B(te(),1);async function Iu(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 FB(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 HB(e={}){let t=FB(e?.host||"127.0.0.1"),n=Number.isInteger(Number(e?.port))?Number(e.port):8376;return`http://${t}:${n}`}function cT({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)(Ff,{className:"h-3.5 w-3.5"}),(0,$.jsx)("span",{children:o?"Syncing production config\u2026":"Sync production config"})]})}):null]})})}function uT(){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)(""),[E,N]=(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)(""),[Ne,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)(()=>by(e?.config?.rawText||"{}",e?.config?.document||{}),[e?.config?.rawText,e?.config?.document]),Re=(0,ye.useMemo)(()=>BC(n,St),[n,St]),gn=(0,ye.useMemo)(()=>by(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)(()=>Sb(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)(()=>HB(F||{}),[F?.host,F?.port]),Je=e?.ampClient?.global||{},Vt=e?.webSearch||e?.ampWebSearch||null,Ee=e?.codingTools?.codexCli||{},Y=e?.codingTools?.claudeCode||{},ge=e?.codingTools?.factoryDroid||{},Un=Je?.routedViaRouter===!0,ki=Ee?.routedViaRouter===!0,_i=Y?.routedViaRouter===!0,zu=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)(()=>qN(lt),[lt]),[zr,so]=(0,ye.useState)({}),[un,dn]=(0,ye.useState)(!1),Yn=(e?.activityLog||{enabled:!0})?.enabled!==!1,qs=(0,ye.useMemo)(()=>Sb(M),[M]),Li=(0,ye.useMemo)(()=>Ry(M),[M]),Rl=(0,ye.useMemo)(()=>Ai(or(M)),[M]),Ym=(0,ye.useMemo)(()=>a1(M,Vt),[M,Vt]),pT=(0,ye.useMemo)(()=>i1(Ym,Y?.webSearchProvider||""),[Ym,Y?.webSearchProvider]),gT=(0,ye.useMemo)(()=>{let w=new Set((Array.isArray(Rl?.providers)?Rl.providers:[]).map(R=>Cn(R?.id)).filter(Boolean));return o1(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.":"",hT=(0,ye.useMemo)(()=>Ti(Pe,If(Ee?.bindings?.defaultModel)?[]:[Ee?.bindings?.defaultModel]),[Pe,Ee?.bindings?.defaultModel]),yT=(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]),bT=(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]),Qm=String(M?.amp?.defaultRoute||M?.defaultModel||gu(M)||"").trim(),Qn=String(M?.masterKey||e?.config?.document?.masterKey||"").trim(),vT=(0,ye.useMemo)(()=>XC(Qn),[Qn]),Xm=me.length>0,xT=Xm&&z,El=e?.router?.running===!0,_b=e?.startup?.installed===!0,Jm=e?.environment?.devMode===!0,Lb=String(e?.config?.path||e?.environment?.configPath||"").trim(),Db=String(e?.environment?.productionConfigPath||"").trim(),Zm=e?.environment?.canSyncProductionConfig===!0,Pu=Number.isInteger(Number(e?.config?.localServer?.port))?Number(e.config.localServer.port):Number.isInteger(Number(e?.router?.port))?Number(e.router.port):8376,ep=g==="start"?"Starting\u2026":g==="stop"?"Stopping\u2026":El?"Stop server":"Start server",tp=x==="enable"?"Enabling OS startup\u2026":x==="disable"?"Disabling OS startup\u2026":_b?"Disable OS startup":"Enable OS startup",Bb=e?.router?.portBusy?e?.router?.portBusyReason||`Port ${Pu} is occupied${e?.router?.listenerPids?.length>0?` by PID${e.router.listenerPids.length===1?"":"s"} ${e.router.listenerPids.join(", ")}`:""}.`:String(e?.router?.lastError||"").trim(),ST=!tm(k),Ib=me.filter(w=>w?.type!=="ollama"),zb=Ib.length>0?"existing":"blank",Pb=Ib[0]?.id||"",Ub=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,ET({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 wT(){G(!0),ue(w=>w+1)}function AT(){wT()}function np(){G(!1)}(0,ye.useEffect)(()=>{!Xm&&z&&G(!1)},[Xm,z]);function D(w,R){wr.current+=1,c(I=>[...I,{id:`notice-${wr.current}`,tone:w,message:R}])}function jb(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})},uC))}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 Vb(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(IC(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 rp(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 Fb(){if(!(!Zm||E)&&!(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."))){N(!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{N(!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 rp(pe,{successMessage:R,...I})}async function Hb({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 CT(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=ly(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 RT(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 Uu=String(fo?.contextWindow||"").trim();if(!Uu)return!1;let ip=Number.parseInt(Uu,10);return!Number.isFinite(ip)||ip<=0||String(ip)!==Uu}))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=Sy(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 Hb({providerId:Fe,endpoints:ct,newModelIds:jr,credentialPayload:fo,headers:tt?.headers,onModelTestStateChange:Oe})).ok)return!1}}let ea=Re.value||St;Ge&&(ea=ly(ea,w,{...R,endpoints:ct,rateLimitRows:Ft})),Ut&&(ea=iy(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 ET({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 Iu(Qn),D("success","Gateway key copied to clipboard.")}catch(w){D("error",w instanceof Error?w.message:String(w))}}async function TT(){if(!ce){D("warning","API endpoint is not ready yet.");return}try{await Iu(ce),D("success","API endpoint copied to clipboard.")}catch(w){D("error",w instanceof Error?w.message:String(w))}}async function MT(w){let R=String(w||"").trim();if(!R){D("warning","Alias id is not ready yet.");return}try{await Iu(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 OT(w){let R=String(w||"").trim();if(!R){D("warning","Model id is not ready yet.");return}try{await Iu(R),D("success",`Model id ${R} copied to clipboard.`)}catch(I){D("error",I instanceof Error?I.message:String(I))}}async function kT(){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 _T(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=Sy(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 Hb({providerId:Ge,endpoints:Ut,newModelIds:Fe,credentialPayload:ct,headers:Oe?.headers,onModelTestStateChange:pe})).ok)return!1}let jn=iy(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 LT(w,R,I={}){if(T)return D("warning",T),!1;let pe=tC(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 DT(w){if(T){D("warning",T);return}if(!(typeof window>"u"?!0:window.confirm(`Remove alias "${w}" from the config?`)))return;let I=nC(Re.value||St,w);try{await Zo(I,`Removed alias ${w}.`)}catch{}}async function $B(w){try{await Iu(w?.url||""),D("success",`${w?.label||"Endpoint"} copied to clipboard.`)}catch(R){D("error",R instanceof Error?R.message:String(R))}}async function BT(){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 IT(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=Ey(Re.value||St,w,{inbound:R}),tt=`${JSON.stringify(Oe,null,2)}
54
- `;Pr(tt),Di(tt)}function zT(w,R){if(Xo){D("warning",Xo);return}let I=Ey(Re.value||St,w,{outbound:R==="__default__"?"":R}),pe=`${JSON.stringify(I,null,2)}
55
- `;Pr(pe),Di(pe)}function PT(w){if(co){D("warning",co);return}let R=l1(Re.value||St,{strategy:w}),I=`${JSON.stringify(R,null,2)}
56
- `;Pr(I),Di(I)}function UT(w,R,I){if(co){D("warning",co);return}let pe=s1(Re.value||St,w,{[R]:I}),Oe=`${JSON.stringify(pe,null,2)}
57
- `;Pr(Oe),Di(Oe,{immediate:f1(w,R,I)})}function jT(w,R){if(co){D("warning",co);return}let I=d1(Re.value||St,w,R),pe=`${JSON.stringify(I,null,2)}
58
- `;Pr(pe),Di(pe)}function VT(w){if(co){D("warning",co);return}let R=u1(Re.value||St,w),I=`${JSON.stringify(R,null,2)}
59
- `;Pr(I),Di(I,{immediate:!0})}async function FT({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=c1(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 HT({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=e1(Re.value||St,{inbound:w,outbound:R});try{return await Zo(pe,`Added AMP route ${String(w||"").trim()}.`),!0}catch{return!1}}async function $T(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=t1(Re.value||St,w);try{await Zo(Oe,`Removed AMP route ${I}.`)}catch{}}function KB(){r(o),l({rawText:o,summary:e?.config,validationMessages:e?.config?.validationMessages||[]}),V(!1),D("success","Editor reset to the latest disk version.")}function $b(w){Pr(w),V(!1),D("success","Quick-start config loaded into the editor.")}async function Kb(w){Pr(w);try{await Vb(w)}catch{}}async function op(w){Pr(w);let R;try{R=await Vb(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 rp(w,{successMessage:"Quick-start config saved."});return(I.validationErrors||[]).length>0&&D("warning",I.validationSummary),pe}catch{return null}}async function Gb(w){let R=await op(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(()=>{ap("start")},0),!0)):!1}async function KT(w){let R=await op(w);return R&&np(),!!R}async function GT(w){let R=await Gb(w);return R&&np(),R}async function qT(){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 WT(){let R=!(Ee?.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:Ee?.bindings?.defaultModel||Qm,thinkingLevel:Ee?.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 YT(){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 QT(w,R){let I={defaultModel:Ee?.bindings?.defaultModel||Qm,thinkingLevel:Ee?.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 XT(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 JT(){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 ZT(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 ap(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 eM(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 tM(){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 nM(){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 rM(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=UC(e?.config?.document||gn||{},w),Oe=`${JSON.stringify(pe,null,2)}
61
- `;Pr(Oe);try{await rp(Oe,{successMessage:`Removed provider ${R?.name||w}.`})}catch{}}async function oM(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",`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 aM({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 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",`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 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","Updated local model path."),!0}catch(R){return D("error",R instanceof Error?R.message:String(R)),!1}}async function sM(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","Removed local model."),!0}catch(R){return D("error",R instanceof Error?R.message:String(R)),!1}}async function cM(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 w1(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 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 T1(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 dM(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 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/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 mM(){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 Eo(){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&&Eo()},[C,Da]);function Nl(w,R,I){so(pe=>({...pe,[w]:{...pe[w]||{},[R]:I}}))}async function pM(w){Nl(w,"loading",!0);try{await fetch("/api/ollama/load",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({model:w})}),await Eo()}finally{Nl(w,"loading",!1)}}async function gM(w){Nl(w,"unloading",!0);try{await fetch("/api/ollama/unload",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({model:w})}),await Eo()}finally{Nl(w,"unloading",!1)}}async function hM(w,R){Nl(w,"pinning",!0);try{await fetch("/api/ollama/pin",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({model:w,pinned:R})}),await Eo()}finally{Nl(w,"pinning",!1)}}async function yM(w,R){await fetch("/api/ollama/keep-alive",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({model:w,keepAlive:R})}),await Eo()}async function bM(w,R){await fetch("/api/ollama/context-length",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({model:w,contextLength:R})}),await Eo()}async function vM(w){await fetch("/api/ollama/add-model",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({model:w})}),await Eo()}async function xM(w){await fetch("/api/ollama/remove-model",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({model:w})}),await Eo()}async function SM(w,R){await fetch("/api/ollama/auto-load",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({model:w,autoLoad:R})})}async function wM(w){await fetch("/api/ollama/save-settings",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(w)})}async function AM(){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 CM(){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 RM(){await fetch("/api/ollama/stop-server",{method:"POST",headers:{"content-type":"application/json"},body:"{}"})}async function EM(){so(w=>({...w,_syncRouter:!0}));try{await fetch("/api/ollama/sync-router",{method:"POST",headers:{"content-type":"application/json"},body:"{}"}),await Eo()}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."})]})})}):ST?(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)(Ab,{notices:s,onDismiss:jb}),Jm?(0,$.jsx)(cT,{currentConfigPath:Lb,productionConfigPath:Db,routerPort:Pu,canSyncProductionConfig:Zm,syncBusy:E,onSyncProductionConfig:Fb}):null,(0,$.jsx)("div",{id:"quick-start-wizard",children:(0,$.jsx)(Ob,{baseConfig:gn,seedMode:zb,mode:"onboarding",targetProviderId:Pb,defaultProviderUserAgent:Ub,onApplyDraft:$b,onValidateDraft:Kb,onSaveDraft:op,onSaveAndStart:Gb},`onboarding-wizard-${zb}-${Pb||"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:[Jm?(0,$.jsx)(cT,{currentConfigPath:Lb,productionConfigPath:Db,routerPort:Pu,canSyncProductionConfig:Zm,syncBusy:E,onSyncProductionConfig:Fb}):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:El,size:"md",srLabel:"Router running"}),Jm?(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:cC,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)(SC,{className:"h-3.5 w-3.5"}),(0,$.jsx)("span",{children:"Buy me a coffee"})]}),(0,$.jsxs)("a",{href:sC,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)(xC,{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:El?"outline":void 0,className:"px-2 sm:px-3",onClick:()=>ap(El?"stop":"start"),disabled:g!=="","aria-label":ep,title:ep,children:[El?(0,$.jsx)(AC,{className:"h-3.5 w-3.5"}):(0,$.jsx)(wC,{className:"h-3.5 w-3.5"}),(0,$.jsx)("span",{className:"hidden sm:inline",children:ep})]}),(0,$.jsxs)(H,{size:"sm",variant:"outline",className:"px-2 sm:px-3",onClick:qT,disabled:v,"aria-label":v?"Opening config file":"Open config file",title:v?"Opening config file":"Open config file",children:[(0,$.jsx)(CC,{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:()=>eM(_b?"disable":"enable"),disabled:x!=="","aria-label":tp,title:tp,children:[(0,$.jsx)(RC,{className:"h-3.5 w-3.5"}),(0,$.jsx)("span",{className:"hidden sm:inline",children:tp})]})]}),(0,$.jsx)(TN,{endpointValue:ce||Jc,endpointDisabled:!ce,gatewayValue:Qn?vT:"Generating\u2026",gatewayPending:!Qn,gatewayDisabled:!Qn||f,rotateDisabled:f,onCopyEndpoint:TT,onCopyGatewayKey:NT,onRotateKey:kT})]}),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,!El&&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:()=>ap("reclaim"),disabled:g!=="",children:g==="reclaim"?"Reclaiming\u2026":`Reclaim port ${Pu}`})}):null,Bb?(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:Bb}):null]})})}),(0,$.jsx)(Ab,{notices:s,onDismiss:jb}),(0,$.jsx)("div",{className:"space-y-4",children:(0,$.jsx)(UN,{providers:me.filter(w=>w?.type!=="ollama"),onAddProvider:AT,onRemove:rM,onCopyModelId:OT,onApplyProviderDetails:CT,onApplyProviderModels:_T,onSaveAndCloseEditor:RT,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:zu,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)(_N,{aliases:re,config:k,aliasIds:Object.keys(re),routeOptions:Pe,defaultModel:String(k?.defaultModel||"").trim(),ampDefaultRoute:Qm,disabledReason:T,busy:f,onApplyAlias:LT,onRemoveAlias:DT,onCopyAliasId:MT})}),(0,$.jsx)(qn,{value:"amp",className:"space-y-4",children:(0,$.jsx)(eT,{rows:Li,routeOptions:qs,webSearchSnapshot:Vt,ampClientUrl:ce,ampClientGlobal:Je,routingBusy:q,onToggleGlobalRouting:BT,onInboundChange:IT,onOutboundChange:zT,onCreateEntry:HT,onRemoveEntry:$T,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)(Wm,{toolName:"Codex CLI",toolState:Ee,endpointUrl:Ee?.configuredBaseUrl||`${ce?`${ce}/openai/v1`:""}`,routeOptions:hT,connectionBusy:ee,bindingBusy:ae,onToggleRouting:WT,onBindingChange:QT,hasMasterKey:!!Qn,disabledReason:Jo,onOpenPrimaryPath:()=>Ba(Ee?.configFilePath,"Codex CLI config file",{ensureMode:"text",successMessage:"Opened Codex CLI config file in the default app."}),onOpenSecondaryPath:()=>Ba(Ee?.backupFilePath,"Codex CLI backup file",{ensureMode:"jsonObject",successMessage:"Opened Codex CLI backup file in the default app."}),guideContent:rT({bindingValue:Ee?.bindings?.defaultModel,thinkingLevel:Ee?.bindings?.thinkingLevel,configFilePath:Ee?.configFilePath,endpointUrl:Ee?.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:Ee?.bindings?.defaultModel||"",allowUnset:!1,placeholder:"Select a default route",extraOptions:[{value:sy,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:gC}]})}),(0,$.jsx)(qn,{value:"claude-code",className:"space-y-4",children:(0,$.jsx)(Wm,{toolName:"Claude Code",toolState:Y,endpointUrl:Y?.configuredBaseUrl||`${ce?`${ce}/anthropic`:""}`,routeOptions:yT,connectionBusy:j,bindingBusy:ze,onToggleRouting:YT,onBindingChange:XT,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:oT({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:pT},{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:hC}]})}),(0,$.jsx)(qn,{value:"factory-droid",className:"space-y-4",children:(0,$.jsx)(Wm,{toolName:"Factory Droid",toolState:ge,endpointUrl:ge?.configuredBaseUrl||`${ce?`${ce}/openai/v1`:""}`,routeOptions:bT,connectionBusy:ne,bindingBusy:fe,onToggleRouting:JT,onBindingChange:ZT,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:aT({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:yC}]})}),(0,$.jsx)(qn,{value:"local-models",className:"space-y-4",children:(0,$.jsx)(JN,{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:oM,onRefreshLibrary:aM,onSelectRuntime:uM,onStartRuntime:fM,onStopRuntime:mM,onSaveRuntimeSettings:dM,onAttachModel:iM,onLocateModel:lM,onRemoveModel:sM,onDownloadManagedModel:cM},ollama:{connected:Da,snapshot:Gs,models:X,busy:zr,refreshing:un,config:k,onRefresh:Eo,onLoad:pM,onUnload:gM,onPin:hM,onKeepAlive:yM,onContextLength:bM,onAddToRouter:vM,onRemoveFromRouter:xM,onAutoLoad:SM,onSaveSettings:wM,onInstall:AM,onStartServer:CM,onStopServer:RM,onSyncRouter:EM}})}),(0,$.jsx)(qn,{value:"web-search",className:"space-y-4",children:(0,$.jsx)(tT,{webSearchConfig:Rl,webSearchProviders:Ym,hostedSearchCandidates:gT,onWebSearchStrategyChange:PT,onWebSearchProviderChange:UT,onWebSearchProviderMove:jT,onRemoveWebSearchProvider:VT,onAddHostedSearchEndpoint:FT,disabledReason:co,autosaveState:Dn})}),(0,$.jsx)(qn,{value:"activity",children:(0,$.jsx)(iT,{logs:e?.logs||[],activityLogEnabled:Yn,activityFilter:Ne,busyAction:ke,onActivityFilterChange:qe,onToggleEnabled:tM,onClear:nM})})]}),(0,$.jsx)(Nn,{open:xT,onClose:np,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)(Ob,{baseConfig:gn,seedMode:"blank",mode:"add",targetProviderId:"",defaultProviderUserAgent:Ub,onApplyDraft:$b,onValidateDraft:Kb,onSaveDraft:KT,onSaveAndStart:GT,framed:!1,showHeader:!1},`provider-wizard-modal-${Z}`)})]})})}var mT=B(te(),1),dT=document.getElementById("app");dT&&(0,fT.createRoot)(dT).render((0,mT.jsx)(uT,{}));})();
51
+ `)},A5=0,$s=[];function UN(e){var t=Zt.useRef([]),n=Zt.useRef([0,0]),r=Zt.useRef(),o=Zt.useState(A5++)[0],a=Zt.useState(Lu)[0],i=Zt.useRef(e);Zt.useEffect(function(){i.current=e},[e]),Zt.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(o));var p=AN([e.lockRef.current],(e.shards||[]).map(PN),!0).filter(Boolean);return p.forEach(function(v){return v.classList.add("allow-interactivity-".concat(o))}),function(){document.body.classList.remove("block-interactivity-".concat(o)),p.forEach(function(v){return v.classList.remove("allow-interactivity-".concat(o))})}}},[e.inert,e.lockRef.current,e.shards]);var l=Zt.useCallback(function(p,v){if("touches"in p&&p.touches.length===2||p.type==="wheel"&&p.ctrlKey)return!i.current.allowPinchZoom;var h=km(p),g=n.current,y="deltaX"in p?p.deltaX:g[0]-h[0],x="deltaY"in p?p.deltaY:g[1]-h[1],R,w=p.target,E=Math.abs(y)>Math.abs(x)?"h":"v";if("touches"in p&&E==="h"&&w.type==="range")return!1;var C=window.getSelection(),M=C&&C.anchorNode,L=M?M===w||M.contains(w):!1;if(L)return!1;var F=hb(E,w);if(!F)return!0;if(F?R=E:(R=E==="v"?"h":"v",F=hb(E,w)),!F)return!1;if(!r.current&&"changedTouches"in p&&(y||x)&&(r.current=R),!R)return!0;var z=r.current||R;return IN(z,v,p,z==="h"?y:x,!0)},[]),s=Zt.useCallback(function(p){var v=p;if(!(!$s.length||$s[$s.length-1]!==a)){var h="deltaY"in v?zN(v):km(v),g=t.current.filter(function(R){return R.name===v.type&&(R.target===v.target||v.target===R.shadowParent)&&S5(R.delta,h)})[0];if(g&&g.should){v.cancelable&&v.preventDefault();return}if(!g){var y=(i.current.shards||[]).map(PN).filter(Boolean).filter(function(R){return R.contains(v.target)}),x=y.length>0?l(v,y[0]):!i.current.noIsolation;x&&v.cancelable&&v.preventDefault()}}},[]),c=Zt.useCallback(function(p,v,h,g){var y={name:p,delta:v,target:h,should:g,shadowParent:C5(h)};t.current.push(y),setTimeout(function(){t.current=t.current.filter(function(x){return x!==y})},1)},[]),d=Zt.useCallback(function(p){n.current=km(p),r.current=void 0},[]),u=Zt.useCallback(function(p){c(p.type,zN(p),p.target,l(p,e.lockRef.current))},[]),f=Zt.useCallback(function(p){c(p.type,km(p),p.target,l(p,e.lockRef.current))},[]);Zt.useEffect(function(){return $s.push(a),e.setCallbacks({onScrollCapture:u,onWheelCapture:u,onTouchMoveCapture:f}),document.addEventListener("wheel",s,wl),document.addEventListener("touchmove",s,wl),document.addEventListener("touchstart",d,wl),function(){$s=$s.filter(function(p){return p!==a}),document.removeEventListener("wheel",s,wl),document.removeEventListener("touchmove",s,wl),document.removeEventListener("touchstart",d,wl)}},[]);var m=e.removeScrollBar,b=e.inert;return Zt.createElement(Zt.Fragment,null,b?Zt.createElement(a,{styles:w5(o)}):null,m?Zt.createElement(pb,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function C5(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}var jN=sb(Mm,UN);var VN=Om.forwardRef(function(e,t){return Om.createElement(_u,Rr({},e,{ref:t,sideCar:jN}))});VN.classNames=_u.classNames;var yb=VN;var ze=D(J(),1),R5=[" ","Enter","ArrowUp","ArrowDown"],N5=[" ","Enter"],Al="Select",[Lm,Dm,E5]=Df(Al),[Ks,rj]=ro(Al,[E5,Zy]),Bm=Zy(),[T5,Oi]=Ks(Al),[M5,k5]=Ks(Al),FN=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:m,form:b}=e,p=Bm(t),[v,h]=se.useState(null),[g,y]=se.useState(null),[x,R]=se.useState(!1),w=Es(c),[E,C]=ka({prop:r,defaultProp:o??!1,onChange:a,caller:Al}),[M,L]=ka({prop:i,defaultProp:l,onChange:s,caller:Al}),F=se.useRef(null),z=v?b||!!v.closest("form"):!0,[G,ee]=se.useState(new Set),de=Array.from(G).map(q=>q.props.value).join(";");return(0,ze.jsx)(mN,{...p,children:(0,ze.jsxs)(T5,{required:m,scope:t,trigger:v,onTriggerChange:h,valueNode:g,onValueNodeChange:y,valueNodeHasChildren:x,onValueNodeHasChildrenChange:R,contentId:Ai(),value:M,onValueChange:L,open:E,onOpenChange:C,dir:w,triggerPointerDownPosRef:F,disabled:f,children:[(0,ze.jsx)(Lm.Provider,{scope:t,children:(0,ze.jsx)(M5,{scope:e.__scopeSelect,onNativeOptionAdd:se.useCallback(q=>{ee(ae=>new Set(ae).add(q))},[]),onNativeOptionRemove:se.useCallback(q=>{ee(ae=>{let te=new Set(ae);return te.delete(q),te})},[]),children:n})}),z?(0,ze.jsxs)(uE,{"aria-hidden":!0,required:m,tabIndex:-1,name:d,autoComplete:u,value:M,onChange:q=>L(q.target.value),disabled:f,form:b,children:[M===void 0?(0,ze.jsx)("option",{value:""}):null,Array.from(G)]},de):null]})})};FN.displayName=Al;var HN="SelectTrigger",$N=se.forwardRef((e,t)=>{let{__scopeSelect:n,disabled:r=!1,...o}=e,a=Bm(n),i=Oi(HN,n),l=i.disabled||r,s=Dt(t,i.onTriggerChange),c=Dm(n),d=se.useRef("touch"),[u,f,m]=fE(p=>{let v=c().filter(y=>!y.disabled),h=v.find(y=>y.value===i.value),g=mE(v,p,h);g!==void 0&&i.onValueChange(g.value)}),b=p=>{l||(i.onOpenChange(!0),m()),p&&(i.triggerPointerDownPosRef.current={x:Math.round(p.pageX),y:Math.round(p.pageY)})};return(0,ze.jsx)(pN,{asChild:!0,...a,children:(0,ze.jsx)(st.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":dE(i.value)?"":void 0,...o,ref:s,onClick:St(o.onClick,p=>{p.currentTarget.focus(),d.current!=="mouse"&&b(p)}),onPointerDown:St(o.onPointerDown,p=>{d.current=p.pointerType;let v=p.target;v.hasPointerCapture(p.pointerId)&&v.releasePointerCapture(p.pointerId),p.button===0&&p.ctrlKey===!1&&p.pointerType==="mouse"&&(b(p),p.preventDefault())}),onKeyDown:St(o.onKeyDown,p=>{let v=u.current!=="";!(p.ctrlKey||p.altKey||p.metaKey)&&p.key.length===1&&f(p.key),!(v&&p.key===" ")&&R5.includes(p.key)&&(b(),p.preventDefault())})})})});$N.displayName=HN;var KN="SelectValue",GN=se.forwardRef((e,t)=>{let{__scopeSelect:n,className:r,style:o,children:a,placeholder:i="",...l}=e,s=Oi(KN,n),{onValueNodeHasChildrenChange:c}=s,d=a!==void 0,u=Dt(t,s.onValueNodeChange);return ln(()=>{c(d)},[c,d]),(0,ze.jsx)(st.span,{...l,ref:u,style:{pointerEvents:"none"},children:dE(s.value)?(0,ze.jsx)(ze.Fragment,{children:i}):a})});GN.displayName=KN;var O5="SelectIcon",qN=se.forwardRef((e,t)=>{let{__scopeSelect:n,children:r,...o}=e;return(0,ze.jsx)(st.span,{"aria-hidden":!0,...o,ref:t,children:r||"\u25BC"})});qN.displayName=O5;var _5="SelectPortal",WN=e=>(0,ze.jsx)(tb,{asChild:!0,...e});WN.displayName=_5;var Cl="SelectContent",YN=se.forwardRef((e,t)=>{let n=Oi(Cl,e.__scopeSelect),[r,o]=se.useState();if(ln(()=>{o(new DocumentFragment)},[]),!n.open){let a=r;return a?Ab.createPortal((0,ze.jsx)(QN,{scope:e.__scopeSelect,children:(0,ze.jsx)(Lm.Slot,{scope:e.__scopeSelect,children:(0,ze.jsx)("div",{children:e.children})})}),a):null}return(0,ze.jsx)(XN,{...e,ref:t})});YN.displayName=Cl;var To=10,[QN,_i]=Ks(Cl),L5="SelectContentImpl",D5=cl("SelectContent.RemoveScroll"),XN=se.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:m,sticky:b,hideWhenDetached:p,avoidCollisions:v,...h}=e,g=Oi(Cl,n),[y,x]=se.useState(null),[R,w]=se.useState(null),E=Dt(t,j=>x(j)),[C,M]=se.useState(null),[L,F]=se.useState(null),z=Dm(n),[G,ee]=se.useState(!1),de=se.useRef(!1);se.useEffect(()=>{if(y)return wN(y)},[y]),Q1();let q=se.useCallback(j=>{let[pe,...Se]=z().map(ke=>ke.ref.current),[Le]=Se.slice(-1),Ae=document.activeElement;for(let ke of j)if(ke===Ae||(ke?.scrollIntoView({block:"nearest"}),ke===pe&&R&&(R.scrollTop=0),ke===Le&&R&&(R.scrollTop=R.scrollHeight),ke?.focus(),document.activeElement!==Ae))return},[z,R]),ae=se.useCallback(()=>q([C,y]),[q,C,y]);se.useEffect(()=>{G&&ae()},[G,ae]);let{onOpenChange:te,triggerPointerDownPosRef:W}=g;se.useEffect(()=>{if(y){let j={x:0,y:0},pe=Le=>{j={x:Math.abs(Math.round(Le.pageX)-(W.current?.x??0)),y:Math.abs(Math.round(Le.pageY)-(W.current?.y??0))}},Se=Le=>{j.x<=10&&j.y<=10?Le.preventDefault():y.contains(Le.target)||te(!1),document.removeEventListener("pointermove",pe),W.current=null};return W.current!==null&&(document.addEventListener("pointermove",pe),document.addEventListener("pointerup",Se,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",pe),document.removeEventListener("pointerup",Se,{capture:!0})}}},[y,te,W]),se.useEffect(()=>{let j=()=>te(!1);return window.addEventListener("blur",j),window.addEventListener("resize",j),()=>{window.removeEventListener("blur",j),window.removeEventListener("resize",j)}},[te]);let[V,Pe]=fE(j=>{let pe=z().filter(Ae=>!Ae.disabled),Se=pe.find(Ae=>Ae.ref.current===document.activeElement),Le=mE(pe,j,Se);Le&&setTimeout(()=>Le.ref.current.focus())}),ne=se.useCallback((j,pe,Se)=>{let Le=!de.current&&!Se;(g.value!==void 0&&g.value===pe||Le)&&(M(j),Le&&(de.current=!0))},[g.value]),$e=se.useCallback(()=>y?.focus(),[y]),ie=se.useCallback((j,pe,Se)=>{let Le=!de.current&&!Se;(g.value!==void 0&&g.value===pe||Le)&&F(j)},[g.value]),we=r==="popper"?bb:JN,Ue=we===bb?{side:l,sideOffset:s,align:c,alignOffset:d,arrowPadding:u,collisionBoundary:f,collisionPadding:m,sticky:b,hideWhenDetached:p,avoidCollisions:v}:{};return(0,ze.jsx)(QN,{scope:n,content:y,viewport:R,onViewportChange:w,itemRefCallback:ne,selectedItem:C,onItemLeave:$e,itemTextRefCallback:ie,focusSelectedItem:ae,selectedItemText:L,position:r,isPositioned:G,searchRef:V,children:(0,ze.jsx)(yb,{as:D5,allowPinchZoom:!0,children:(0,ze.jsx)(Fy,{asChild:!0,trapped:g.open,onMountAutoFocus:j=>{j.preventDefault()},onUnmountAutoFocus:St(o,j=>{g.trigger?.focus({preventScroll:!0}),j.preventDefault()}),children:(0,ze.jsx)(Py,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:a,onPointerDownOutside:i,onFocusOutside:j=>j.preventDefault(),onDismiss:()=>g.onOpenChange(!1),children:(0,ze.jsx)(we,{role:"listbox",id:g.contentId,"data-state":g.open?"open":"closed",dir:g.dir,onContextMenu:j=>j.preventDefault(),...h,...Ue,onPlaced:()=>ee(!0),ref:E,style:{display:"flex",flexDirection:"column",outline:"none",...h.style},onKeyDown:St(h.onKeyDown,j=>{let pe=j.ctrlKey||j.altKey||j.metaKey;if(j.key==="Tab"&&j.preventDefault(),!pe&&j.key.length===1&&Pe(j.key),["ArrowUp","ArrowDown","Home","End"].includes(j.key)){let Le=z().filter(Ae=>!Ae.disabled).map(Ae=>Ae.ref.current);if(["ArrowUp","End"].includes(j.key)&&(Le=Le.slice().reverse()),["ArrowUp","ArrowDown"].includes(j.key)){let Ae=j.target,ke=Le.indexOf(Ae);Le=Le.slice(ke+1)}setTimeout(()=>q(Le)),j.preventDefault()}})})})})})})});XN.displayName=L5;var B5="SelectItemAlignedPosition",JN=se.forwardRef((e,t)=>{let{__scopeSelect:n,onPlaced:r,...o}=e,a=Oi(Cl,n),i=_i(Cl,n),[l,s]=se.useState(null),[c,d]=se.useState(null),u=Dt(t,E=>d(E)),f=Dm(n),m=se.useRef(!1),b=se.useRef(!0),{viewport:p,selectedItem:v,selectedItemText:h,focusSelectedItem:g}=i,y=se.useCallback(()=>{if(a.trigger&&a.valueNode&&l&&c&&p&&v&&h){let E=a.trigger.getBoundingClientRect(),C=c.getBoundingClientRect(),M=a.valueNode.getBoundingClientRect(),L=h.getBoundingClientRect();if(a.dir!=="rtl"){let Ae=L.left-C.left,ke=M.left-Ae,Qe=E.left-ke,Ze=E.width+Qe,on=Math.max(Ze,C.width),Un=window.innerWidth-To,dn=By(ke,[To,Math.max(To,Un-on)]);l.style.minWidth=Ze+"px",l.style.left=dn+"px"}else{let Ae=C.right-L.right,ke=window.innerWidth-M.right-Ae,Qe=window.innerWidth-E.right-ke,Ze=E.width+Qe,on=Math.max(Ze,C.width),Un=window.innerWidth-To,dn=By(ke,[To,Math.max(To,Un-on)]);l.style.minWidth=Ze+"px",l.style.right=dn+"px"}let F=f(),z=window.innerHeight-To*2,G=p.scrollHeight,ee=window.getComputedStyle(c),de=parseInt(ee.borderTopWidth,10),q=parseInt(ee.paddingTop,10),ae=parseInt(ee.borderBottomWidth,10),te=parseInt(ee.paddingBottom,10),W=de+q+G+te+ae,V=Math.min(v.offsetHeight*5,W),Pe=window.getComputedStyle(p),ne=parseInt(Pe.paddingTop,10),$e=parseInt(Pe.paddingBottom,10),ie=E.top+E.height/2-To,we=z-ie,Ue=v.offsetHeight/2,j=v.offsetTop+Ue,pe=de+q+j,Se=W-pe;if(pe<=ie){let Ae=F.length>0&&v===F[F.length-1].ref.current;l.style.bottom="0px";let ke=c.clientHeight-p.offsetTop-p.offsetHeight,Qe=Math.max(we,Ue+(Ae?$e:0)+ke+ae),Ze=pe+Qe;l.style.height=Ze+"px"}else{let Ae=F.length>0&&v===F[0].ref.current;l.style.top="0px";let Qe=Math.max(ie,de+p.offsetTop+(Ae?ne:0)+Ue)+Se;l.style.height=Qe+"px",p.scrollTop=pe-ie+p.offsetTop}l.style.margin=`${To}px 0`,l.style.minHeight=V+"px",l.style.maxHeight=z+"px",r?.(),requestAnimationFrame(()=>m.current=!0)}},[f,a.trigger,a.valueNode,l,c,p,v,h,a.dir,r]);ln(()=>y(),[y]);let[x,R]=se.useState();ln(()=>{c&&R(window.getComputedStyle(c).zIndex)},[c]);let w=se.useCallback(E=>{E&&b.current===!0&&(y(),g?.(),b.current=!1)},[y,g]);return(0,ze.jsx)(z5,{scope:n,contentWrapper:l,shouldExpandOnScrollRef:m,onScrollButtonChange:w,children:(0,ze.jsx)("div",{ref:s,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:x},children:(0,ze.jsx)(st.div,{...o,ref:u,style:{boxSizing:"border-box",maxHeight:"100%",...o.style}})})})});JN.displayName=B5;var I5="SelectPopperPosition",bb=se.forwardRef((e,t)=>{let{__scopeSelect:n,align:r="start",collisionPadding:o=To,...a}=e,i=Bm(n);return(0,ze.jsx)(gN,{...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)"}})});bb.displayName=I5;var[z5,Cb]=Ks(Cl,{}),vb="SelectViewport",ZN=se.forwardRef((e,t)=>{let{__scopeSelect:n,nonce:r,...o}=e,a=_i(vb,n),i=Cb(vb,n),l=Dt(t,a.onViewportChange),s=se.useRef(0);return(0,ze.jsxs)(ze.Fragment,{children:[(0,ze.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,ze.jsx)(Lm.Slot,{scope:n,children:(0,ze.jsx)(st.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 m=Math.abs(s.current-d.scrollTop);if(m>0){let b=window.innerHeight-To*2,p=parseFloat(u.style.minHeight),v=parseFloat(u.style.height),h=Math.max(p,v);if(h<b){let g=h+m,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})})})]})});ZN.displayName=vb;var eE="SelectGroup",[P5,U5]=Ks(eE),tE=se.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,o=Ai();return(0,ze.jsx)(P5,{scope:n,id:o,children:(0,ze.jsx)(st.div,{role:"group","aria-labelledby":o,...r,ref:t})})});tE.displayName=eE;var nE="SelectLabel",rE=se.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,o=U5(nE,n);return(0,ze.jsx)(st.div,{id:o.id,...r,ref:t})});rE.displayName=nE;var _m="SelectItem",[j5,oE]=Ks(_m),aE=se.forwardRef((e,t)=>{let{__scopeSelect:n,value:r,disabled:o=!1,textValue:a,...i}=e,l=Oi(_m,n),s=_i(_m,n),c=l.value===r,[d,u]=se.useState(a??""),[f,m]=se.useState(!1),b=Dt(t,g=>s.itemRefCallback?.(g,r,o)),p=Ai(),v=se.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,ze.jsx)(j5,{scope:n,value:r,disabled:o,textId:p,isSelected:c,onItemTextChange:se.useCallback(g=>{u(y=>y||(g?.textContent??"").trim())},[]),children:(0,ze.jsx)(Lm.ItemSlot,{scope:n,value:r,disabled:o,textValue:d,children:(0,ze.jsx)(st.div,{role:"option","aria-labelledby":p,"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:St(i.onFocus,()=>m(!0)),onBlur:St(i.onBlur,()=>m(!1)),onClick:St(i.onClick,()=>{v.current!=="mouse"&&h()}),onPointerUp:St(i.onPointerUp,()=>{v.current==="mouse"&&h()}),onPointerDown:St(i.onPointerDown,g=>{v.current=g.pointerType}),onPointerMove:St(i.onPointerMove,g=>{v.current=g.pointerType,o?s.onItemLeave?.():v.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===" "||(N5.includes(g.key)&&h(),g.key===" "&&g.preventDefault())})})})})});aE.displayName=_m;var Bu="SelectItemText",iE=se.forwardRef((e,t)=>{let{__scopeSelect:n,className:r,style:o,...a}=e,i=Oi(Bu,n),l=_i(Bu,n),s=oE(Bu,n),c=k5(Bu,n),[d,u]=se.useState(null),f=Dt(t,h=>u(h),s.onItemTextChange,h=>l.itemTextRefCallback?.(h,s.value,s.disabled)),m=d?.textContent,b=se.useMemo(()=>(0,ze.jsx)("option",{value:s.value,disabled:s.disabled,children:m},s.value),[s.disabled,s.value,m]),{onNativeOptionAdd:p,onNativeOptionRemove:v}=c;return ln(()=>(p(b),()=>v(b)),[p,v,b]),(0,ze.jsxs)(ze.Fragment,{children:[(0,ze.jsx)(st.span,{id:s.textId,...a,ref:f}),s.isSelected&&i.valueNode&&!i.valueNodeHasChildren?Ab.createPortal(a.children,i.valueNode):null]})});iE.displayName=Bu;var lE="SelectItemIndicator",sE=se.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e;return oE(lE,n).isSelected?(0,ze.jsx)(st.span,{"aria-hidden":!0,...r,ref:t}):null});sE.displayName=lE;var xb="SelectScrollUpButton",V5=se.forwardRef((e,t)=>{let n=_i(xb,e.__scopeSelect),r=Cb(xb,e.__scopeSelect),[o,a]=se.useState(!1),i=Dt(t,r.onScrollButtonChange);return ln(()=>{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,ze.jsx)(cE,{...e,ref:i,onAutoScroll:()=>{let{viewport:l,selectedItem:s}=n;l&&s&&(l.scrollTop=l.scrollTop-s.offsetHeight)}}):null});V5.displayName=xb;var Sb="SelectScrollDownButton",F5=se.forwardRef((e,t)=>{let n=_i(Sb,e.__scopeSelect),r=Cb(Sb,e.__scopeSelect),[o,a]=se.useState(!1),i=Dt(t,r.onScrollButtonChange);return ln(()=>{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,ze.jsx)(cE,{...e,ref:i,onAutoScroll:()=>{let{viewport:l,selectedItem:s}=n;l&&s&&(l.scrollTop=l.scrollTop+s.offsetHeight)}}):null});F5.displayName=Sb;var cE=se.forwardRef((e,t)=>{let{__scopeSelect:n,onAutoScroll:r,...o}=e,a=_i("SelectScrollButton",n),i=se.useRef(null),l=Dm(n),s=se.useCallback(()=>{i.current!==null&&(window.clearInterval(i.current),i.current=null)},[]);return se.useEffect(()=>()=>s(),[s]),ln(()=>{l().find(d=>d.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:"nearest"})},[l]),(0,ze.jsx)(st.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()})})}),H5="SelectSeparator",$5=se.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e;return(0,ze.jsx)(st.div,{"aria-hidden":!0,...r,ref:t})});$5.displayName=H5;var wb="SelectArrow",K5=se.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,o=Bm(n),a=Oi(wb,n),i=_i(wb,n);return a.open&&i.position==="popper"?(0,ze.jsx)(hN,{...o,...r,ref:t}):null});K5.displayName=wb;var G5="SelectBubbleInput",uE=se.forwardRef(({__scopeSelect:e,value:t,...n},r)=>{let o=se.useRef(null),a=Dt(r,o),i=Mf(t);return se.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,ze.jsx)(st.select,{...n,style:{...nb,...n.style},ref:a,defaultValue:t})});uE.displayName=G5;function dE(e){return e===""||e===void 0}function fE(e){let t=br(e),n=se.useRef(""),r=se.useRef(0),o=se.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=se.useCallback(()=>{n.current="",window.clearTimeout(r.current)},[]);return se.useEffect(()=>()=>window.clearTimeout(r.current),[]),[n,o,a]}function mE(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=q5(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 q5(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var pE=FN,gE=$N,hE=GN,yE=qN,bE=WN,vE=YN,xE=ZN,SE=tE,wE=rE,AE=aE,CE=iE,RE=sE;var NE=D(be(),1);var EE=D(J(),1),He=(0,NE.forwardRef)(function({className:t,...n},r){return(0,EE.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 TE(e){return String(e||"").trim().toLowerCase()}function Im(e){return TE(e).length>0}function ME({searchEnabled:e=!0}={}){return!!e}function Rb(e){let t=String(e?.key||"");return!t||t.length!==1||e?.ctrlKey||e?.metaKey||e?.altKey?"":t.trim()?t:""}function kE(e={},t=""){let n=TE(t);return n?[e?.label,e?.value,e?.hint,e?.textValue,e?.searchText].map(o=>String(o||"").toLowerCase()).join(" ").includes(n):!0}var zm=D(be(),1),Y5=12;function Nb(e){return/auto|scroll|hidden|clip|overlay/.test(String(e||"").toLowerCase())}function Q5(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 Pm(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);(Nb(r.overflow)||Nb(r.overflowY)||Nb(r.overflowX))&&t.push(n),n=n.parentElement}return t}function X5(e,{viewportPadding:t=Y5}={}){if(typeof window>"u")return null;let n={top:t,right:window.innerWidth-t,bottom:window.innerHeight-t,left:t};for(let r of Pm(e))n=Q5(n,r.getBoundingClientRect());return n}function J5({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 Um({open:e=!1,anchorRef:t,preferredSide:n="bottom",offset:r=4,desiredHeight:o=288}={}){let[a,i]=(0,zm.useState)(()=>({side:n==="top"?"top":"bottom",maxHeight:o}));return(0,zm.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(J5({anchorRect:l.getBoundingClientRect(),boundaryRect:X5(l),preferredSide:n,offset:r,desiredHeight:o}))};s();let c=Pm(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 On=D(J(),1),Vm=(0,ht.createContext)(null),Z5="Enter character to filter",eB=41,tB="data-llm-router-select-search-input";function jm(e){return e==null||typeof e=="boolean"?"":typeof e=="string"||typeof e=="number"?String(e):Array.isArray(e)?e.map(t=>jm(t)).filter(Boolean).join(" "):(0,ht.isValidElement)(e)?jm(e.props?.children):""}function Eb(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 nB(e={}){let t=String(e.textValue||jm(e.children)||"").trim();return{value:String(e.value||""),textValue:t,searchText:String(e.searchText||"")}}function OE(e,t=""){let n=0,r=0;return{children:ht.Children.map(e,a=>{if(!(0,ht.isValidElement)(a))return a;if(a.type?.__LLM_ROUTER_SELECT_ITEM===!0){n+=1;let l=kE(nB(a.props),t);return l&&(r+=1),l?a:null}if(!a.props?.children)return a;let i=OE(a.props.children,t);return n+=i.totalItems,r+=i.matchedItems,a.type?.__LLM_ROUTER_SELECT_GROUP===!0&&i.matchedItems===0?null:(0,ht.cloneElement)(a,void 0,i.children)}),totalItems:n,matchedItems:r}}function Et({open:e,defaultOpen:t=!1,onOpenChange:n,searchEnabled:r=!0,openSearchRequest:o=0,children:a,...i}){let[l,s]=(0,ht.useState)(!!t),[c,d]=(0,ht.useState)(""),[u,f]=(0,ht.useState)(!1),m=(0,ht.useRef)(null),b=(0,ht.useRef)(0),p=e!==void 0?e:l;(0,ht.useEffect)(()=>{p||(d(""),f(!1))},[p]);function v(g){e===void 0&&s(g),n?.(g),g||(d(""),f(!1))}(0,ht.useEffect)(()=>{!o||o===b.current||(b.current=o,d(""),r&&f(!0),!p&&(e===void 0&&s(!0),n?.(!0)))},[o,r,p,e,n]);let h={open:p,searchEnabled:r,filterValue:c,setFilterValue:d,searchSessionActive:u,setSearchSessionActive:f,setOpen:v,triggerRef:m,openSearchRequest:o};return(0,On.jsx)(Vm.Provider,{value:h,children:(0,On.jsx)(pE,{...i,open:p,onOpenChange:v,children:a})})}var Tt=(0,ht.forwardRef)(function({className:t,children:n,onKeyDown:r,...o},a){let i=(0,ht.useContext)(Vm),l=i?.triggerRef||null,s=(0,ht.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=Rb(d);u&&(d.preventDefault(),i.setSearchSessionActive?.(!0),i.setOpen(!0),i.setFilterValue(f=>`${f}${u}`))}return(0,On.jsxs)(gE,{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,On.jsx)("span",{className:"min-w-0 flex-1 truncate text-left",children:n}),(0,On.jsx)(yE,{className:"pointer-events-none absolute right-3 top-1/2 -translate-y-1/2 text-muted-foreground",children:"\u25BE"})]})});function Mt(e){return(0,On.jsx)(hE,{...e})}var kt=(0,ht.forwardRef)(function({className:t,children:n,position:r="popper",onKeyDownCapture:o,searchPlaceholder:a=Z5,emptySearchMessage:i="No matching options.",...l},s){let c=(0,ht.useContext)(Vm),d=(0,ht.useRef)(null),u=(0,ht.useRef)(null),f=Um({open:!!c?.open,anchorRef:c?.triggerRef,preferredSide:"bottom",desiredHeight:288,offset:4}),m=ME({searchEnabled:c?.searchEnabled,filterValue:c?.filterValue,sessionActive:c?.searchSessionActive}),b=(0,ht.useMemo)(()=>Im(c?.filterValue)?OE(n,c?.filterValue):{children:n,totalItems:0,matchedItems:0},[n,c?.filterValue]),p=Im(c?.filterValue)&&b.totalItems>0&&b.matchedItems===0,v=Math.max(0,Math.floor((f.maxHeight||288)-(m?eB:0)));(0,ht.useEffect)(()=>{if(!c?.open||!m||typeof window>"u")return;let x=window.requestAnimationFrame(()=>{let R=u.current;if(!R)return;R.focus();let w=R.value.length;R.setSelectionRange(w,w)});return()=>window.cancelAnimationFrame(x)},[c?.open,m,c?.openSearchRequest]);let h=(0,ht.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 R=Rb(x);R&&(x.preventDefault(),x.stopPropagation(),c.setSearchSessionActive?.(!0),c.setFilterValue(w=>`${w}${R}`))}function y(x){let R=x.target.value;c?.setSearchSessionActive?.(!0),c?.setFilterValue(R)}return(0,On.jsx)(bE,{children:(0,On.jsxs)(vE,{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:[m?(0,On.jsx)("div",{className:"border-b border-border/70 p-1",children:(0,On.jsx)(He,{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(),Eb(d.current,"first");return}if(x.key==="ArrowUp"){x.preventDefault(),Eb(d.current,"last");return}x.key==="Escape"&&(x.preventDefault(),c?.setSearchSessionActive?.(!1),c?.setFilterValue(""),typeof window<"u"&&window.requestAnimationFrame(()=>Eb(d.current)))}})}):null,(0,On.jsxs)(xE,{className:"px-1 pb-1",style:{maxHeight:`${v}px`},children:[Im(c?.filterValue)?b.children:n,p?(0,On.jsx)("div",{className:"px-3 py-2 text-sm text-muted-foreground",children:i}):null]})]})})}),Je=(0,ht.forwardRef)(function({className:t,children:n,searchText:r="",textValue:o,onPointerMove:a,...i},l){let s=(0,ht.useContext)(Vm),c=String(o||jm(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(tB)==="true"&&u.preventDefault()}return(0,On.jsxs)(AE,{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,On.jsx)(CE,{children:n}),(0,On.jsx)("span",{className:"absolute right-2 inline-flex h-4 w-4 items-center justify-center text-xs text-muted-foreground",children:(0,On.jsx)(RE,{children:"\u2713"})})]})});Je.__LLM_ROUTER_SELECT_ITEM=!0;function Rl(e){return(0,On.jsx)(SE,{...e})}Rl.__LLM_ROUTER_SELECT_GROUP=!0;var Gs=(0,ht.forwardRef)(function({className:t,children:n,...r},o){return(0,On.jsx)(wE,{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 Iu=D(J(),1);function Tb(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 ${Yo(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 rB(e=""){let t=String(e||"").trim();if(!t)return{};let n=Ff(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 Li(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",...rB(o)}));return n}function oB(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 aB(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 _E(e=[],{keyPrefix:t="select-option",includeHint:n=!1}={}){return oB(e).map((r,o)=>{let a=r.options.map(i=>(0,Iu.jsx)(Je,{value:i.value,searchText:`${i.label||""} ${i.value||""} ${i.hint||""} ${r.label||""}`,children:aB(i,{includeHint:n})},`${t}-${i.value}`));return r.label?(0,Iu.jsxs)(Rl,{children:[(0,Iu.jsx)(Gs,{children:r.label}),a]},`${t}-group-${r.key||o}`):a})}var qs=D(be(),1),DE=D(ji(),1);var uo=D(be(),1);var iB="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 lB({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 sB({committedValue:e="",draftValue:t="",isFocused:n=!1,hasLocalDraft:r=!1}={}){return String(n||r?t??"":e??"")}function cB({commitOnBlur:e=!1,draftValue:t="",hasLocalDraft:n=!1}={}){return!e||!n?null:String(t??"")}var Fm=(0,uo.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,m]=(0,uo.useState)(u),[b,p]=(0,uo.useState)(!1),[v,h]=(0,uo.useState)(!1),g=(0,uo.useRef)(u);return(0,uo.useEffect)(()=>{let y=lB({committedValue:u,draftValue:f,isFocused:b,hasLocalDraft:v,previousCommittedValue:g.current});g.current=y.previousCommittedValue,m(y.draftValue),h(y.hasLocalDraft)},[u,f,v,b]),(0,uo.createElement)("input",{...c,ref:d,className:Q(iB,t),value:sB({committedValue:u,draftValue:f,isFocused:b,hasLocalDraft:v}),onFocus:y=>{p(!0),l?.(y)},onChange:y=>{let x=y.target.value;m(x),h(!0),a?.(x,y),i?.(y)},onBlur:y=>{p(!1);let x=cB({commitOnBlur:n,draftValue:f,hasLocalDraft:v});x!==null&&o?.(x,y),s?.(y)}})});var uB=/^\d*$/;function LE(e){let t=String(e??""),n=uB.test(t);return{accepted:n,draftValue:n?t:"",shouldCommit:n&&t!=="",commitValue:n&&t!==""?t:""}}var xe=D(J(),1);function dB({className:e=""}){return(0,xe.jsxs)("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",className:e,children:[(0,xe.jsx)("path",{d:"M8 12V4",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"}),(0,xe.jsx)("path",{d:"M4.75 7.25 8 4l3.25 3.25",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})]})}function fB({className:e=""}){return(0,xe.jsxs)("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",className:e,children:[(0,xe.jsx)("path",{d:"M8 4v8",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"}),(0,xe.jsx)("path",{d:"M4.75 8.75 8 12l3.25-3.25",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})]})}function mB({className:e=""}){return(0,xe.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,xe.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,xe.jsx)("circle",{cx:"10",cy:"10",r:"2.5"})]})}function pB({className:e=""}){return(0,xe.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,xe.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,xe.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,xe.jsx)("path",{d:"M8.23 8.23a2.5 2.5 0 0 0 3.54 3.54"}),(0,xe.jsx)("path",{d:"M3 3l14 14"})]})}function Ws({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,m]=(0,qs.useState)(!1),b=!a&&!f,p=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:p,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:p,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,xe.jsxs)("div",{className:"flex",children:[i?(0,xe.jsx)(Fm,{...h}):(0,xe.jsx)("input",{...h}),(0,xe.jsx)("button",{type:"button",tabIndex:-1,onClick:()=>m(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,xe.jsx)(pB,{className:"h-4 w-4"}):(0,xe.jsx)(mB,{className:"h-4 w-4"})})]})}function za({disabled:e=!1,label:t="Move up",onClick:n}){return(0,xe.jsx)(U,{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,xe.jsx)(dB,{className:"h-3.5 w-3.5"})})}function Nl({disabled:e=!1,label:t="Move down",onClick:n}){return(0,xe.jsx)(U,{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,xe.jsx)(fB,{className:"h-3.5 w-3.5"})})}function Mb({active:e=!1}){return e?(0,xe.jsx)("span",{"aria-hidden":"true",className:"inline-flex h-2.5 w-2.5 rounded-full bg-emerald-500"}):null}function De({label:e,hint:t,className:n,children:r,stacked:o=!1,headerClassName:a,hintClassName:i,headerAction:l=null}){return(0,xe.jsxs)("div",{className:Q("flex flex-col gap-2 text-sm",n),children:[(0,xe.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,xe.jsxs)("div",{className:Q("min-w-0",o?"flex-1 space-y-1":"flex min-w-0 items-center gap-2"),children:[(0,xe.jsx)("span",{children:e}),t?(0,xe.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,xe.jsx)("div",{className:"shrink-0",children:l}):null]}),r]})}function Hm({value:e,onValueChange:t,disabled:n=!1,allowEmptyCommit:r=!1,...o}){let a=String(e??""),[i,l]=(0,qs.useState)(a);return(0,qs.useEffect)(()=>{l(a)},[a]),(0,xe.jsx)(He,{...o,value:i,inputMode:"numeric",disabled:n,onChange:s=>{let c=LE(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 BE({label:e,hint:t,checked:n=!1,onCheckedChange:r,disabled:o=!1,className:a}){return(0,xe.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,xe.jsxs)("div",{className:"min-w-0",children:[(0,xe.jsx)("div",{className:"text-sm font-medium text-foreground",children:e}),t?(0,xe.jsx)("div",{className:"mt-1 text-xs leading-5 text-muted-foreground",children:t}):null]}),(0,xe.jsx)(jo,{checked:n,onCheckedChange:r,disabled:o,className:"data-[disabled]:cursor-not-allowed data-[disabled]:opacity-60"})]})}function _n({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:m="",footerClassName:b=""}){if((0,qs.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 p=a==="page",v=(0,xe.jsx)("div",{className:Q("fixed inset-0 z-50 bg-slate-950/55 backdrop-blur-sm",p?"p-0":"flex items-center justify-center p-4"),onMouseDown:h=>{h.target===h.currentTarget&&d&&r()},children:(0,xe.jsxs)("div",{className:Q("overflow-hidden border border-border/70 bg-card/95 shadow-2xl",p?"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,xe.jsxs)("div",{className:Q("flex items-start justify-between gap-3 border-b border-border/70",p?"px-5 py-4 sm:px-6":"px-5 py-4"),children:[(0,xe.jsxs)("div",{className:"min-w-0",children:[(0,xe.jsx)("div",{className:"text-base font-semibold text-foreground",children:t}),n?(0,xe.jsx)("div",{className:"mt-1 text-sm leading-6 text-muted-foreground",children:n}):null]}),(0,xe.jsxs)("div",{className:"flex shrink-0 items-center gap-2",children:[i,l?(0,xe.jsx)(U,{type:"button",variant:"ghost",size:"sm",onClick:r,disabled:s,children:"Close"}):null]})]}),(0,xe.jsx)("div",{className:Q("overflow-y-auto",p?"min-h-0 flex-1 px-5 py-4 sm:px-6 sm:py-5":"min-h-0 flex-1 px-5 py-4",m),children:o}),u?(0,xe.jsx)("div",{className:Q("border-t border-border/70 bg-background/96",p?"px-5 py-4 sm:px-6":"px-5 py-4",b),children:u}):null]})});return typeof document>"u"||!document.body?v:(0,DE.createPortal)(v,document.body)}function $m({open:e=!1,anchorRef:t,preferredSide:n="bottom",desiredHeight:r=288,offset:o=4,className:a="",children:i,...l}){let s=Um({open:e,anchorRef:t,preferredSide:n,desiredHeight:r,offset:o});return e?(0,xe.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 IE({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,xe.jsx)(_n,{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,xe.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2",children:[(0,xe.jsx)(U,{type:"button",variant:"ghost",onClick:t,children:"Keep editing"}),(0,xe.jsx)(U,{type:"button",variant:"outline",onClick:n,children:"Cancel + Close"}),(0,xe.jsx)(U,{type:"button",onClick:()=>{r()},disabled:o,children:"Save + Close"})]}),children:(0,xe.jsxs)("div",{className:"space-y-3 text-sm leading-6 text-muted-foreground",children:[(0,xe.jsx)("div",{children:"Choose whether to save these edits before closing the modal."}),i?(0,xe.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,xe.jsx)(_n,{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,xe.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2",children:[(0,xe.jsx)(U,{type:"button",variant:"ghost",onClick:n,children:"Keep editing"}),(0,xe.jsx)(U,{type:"button",variant:"outline",onClick:()=>{r()},disabled:o,children:"Remove failed + close"})]}),children:(0,xe.jsxs)("div",{className:"space-y-3 text-sm leading-6 text-muted-foreground",children:[(0,xe.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,xe.jsx)("div",{className:"rounded-xl border border-rose-200 bg-rose-50 px-3 py-2 text-rose-900",children:t.join(", ")}):null]})})}function Ur(){return(0,xe.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 PE({children:e,onClick:t,disabled:n=!1,title:r="",className:o=""}){return(0,xe.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 Be=D(J(),1);function gB({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)("circle",{cx:"6.75",cy:"10",r:"3.25"}),(0,Be.jsx)("path",{d:"M10 10h6.5"}),(0,Be.jsx)("path",{d:"M13.5 10v2.25"}),(0,Be.jsx)("path",{d:"M15.75 10v1.5"})]})}function hB({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:"M16.25 10a6.25 6.25 0 1 1-1.83-4.42"}),(0,Be.jsx)("path",{d:"M13.5 3.75h3v3"}),(0,Be.jsx)("path",{d:"M16.5 3.75 12.75 7.5"})]})}function yB({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:"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,Be.jsx)("path",{d:"M10.5 9.5 17 3"}),(0,Be.jsx)("path",{d:"M12 3h5v5"})]})}function bB({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:"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,Be.jsx)("path",{d:"M11 3.5V7.5H15"})]})}function vB({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:"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,Be.jsx)("path",{d:"M11 3.5V7.5H15"}),(0,Be.jsx)("path",{d:"M7 12.25a3 3 0 1 1 2.85 2.99"}),(0,Be.jsx)("path",{d:"M8.5 10.25h1.5v1.5"})]})}function xB({label:e,value:t,icon:n,disabled:r=!1,onClick:o,actionLabel:a}){return(0,Be.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,Be.jsx)("span",{className:"flex h-6 w-6 shrink-0 items-center justify-center rounded-full bg-secondary text-muted-foreground",children:n}),(0,Be.jsx)("span",{className:"shrink-0 text-[10px] font-semibold uppercase tracking-[0.14em] text-muted-foreground",children:e}),(0,Be.jsx)("span",{className:"min-w-0 truncate text-xs font-medium text-foreground",children:t})]})}function SB({value:e,pending:t=!1,disabled:n=!1,rotateDisabled:r=!1,onCopy:o,onRotate:a}){return(0,Be.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,Be.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,Be.jsx)("span",{className:"flex h-6 w-6 shrink-0 items-center justify-center rounded-full bg-secondary text-muted-foreground",children:(0,Be.jsx)(gB,{className:"h-3.5 w-3.5"})}),(0,Be.jsx)("span",{className:"shrink-0 text-[10px] font-semibold uppercase tracking-[0.14em] text-muted-foreground",children:"Gateway key"}),(0,Be.jsx)("span",{className:"min-w-0 truncate text-xs font-medium text-foreground",children:e})]}),(0,Be.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,Be.jsx)(hB,{className:"h-3.5 w-3.5"})})]})}function jE({endpointValue:e,endpointDisabled:t=!1,gatewayValue:n,gatewayPending:r=!1,gatewayDisabled:o=!1,rotateDisabled:a=!1,onCopyEndpoint:i,onCopyGatewayKey:l,onRotateKey:s}){return(0,Be.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[(0,Be.jsx)(xB,{label:"Endpoint",value:e,icon:(0,Be.jsx)(yB,{className:"h-3.5 w-3.5"}),disabled:t,onClick:i,actionLabel:t?"API endpoint not ready yet":"Copy API endpoint"}),(0,Be.jsx)(SB,{value:n,pending:r,disabled:o,rotateDisabled:a,onCopy:l,onRotate:s})]})}function UE({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,Be.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,Be.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,Be.jsxs)("span",{className:"min-w-0",children:[(0,Be.jsx)("span",{className:"block text-[9px] font-semibold uppercase tracking-[0.12em] text-muted-foreground",children:e}),(0,Be.jsx)("span",{className:"mt-1 block break-all text-[11px] font-medium leading-4 text-foreground",children:l})]})]})}function El({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,Be.jsxs)("span",{className:Q("relative inline-flex shrink-0 items-center justify-center",o,t),children:[(0,Be.jsx)("span",{"aria-hidden":"true",className:"absolute inset-0 rounded-full bg-emerald-400/45 animate-ping motion-reduce:animate-none"}),(0,Be.jsx)("span",{"aria-hidden":"true",className:Q("relative rounded-full bg-emerald-500 ring-2 ring-emerald-500/15",a)}),(0,Be.jsx)("span",{className:"sr-only",children:n})]})}function Km({primaryLabel:e="Config file",primaryValue:t="",primaryIcon:n=(0,Be.jsx)(bB,{className:"h-3 w-3"}),onOpenPrimary:r,secondaryLabel:o="Backup file",secondaryValue:a="",secondaryIcon:i=(0,Be.jsx)(vB,{className:"h-3 w-3"}),onOpenSecondary:l}){let s=String(t||"").trim(),c=String(a||"").trim();return(0,Be.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,Be.jsx)(UE,{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,Be.jsx)(UE,{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 ta=D(be(),1);var cn=D(J(),1);function wB(e){return e==="error"?"Error":e==="success"?"Success":"Notice"}function AB({notice:e,onDismiss:t}){let[n,r]=(0,ta.useState)(Hf),[o,a]=(0,ta.useState)(Hf),[i,l]=(0,ta.useState)(!1),s=(0,ta.useRef)(null),c=(0,ta.useRef)(0);(0,ta.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,ta.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,SC);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",m=9,b=2*Math.PI*m,p=Math.max(0,Math.min(1,o/Hf)),v=b*(1-p),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,cn.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,cn.jsxs)("div",{className:"min-w-0",children:[(0,cn.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,cn.jsx)("div",{className:"text-[11px] font-medium uppercase tracking-[0.16em] opacity-75",children:wB(e.tone)}),(0,cn.jsxs)("div",{className:"relative mt-0.5 h-6 w-6 shrink-0 opacity-85","aria-label":h,title:h,children:[(0,cn.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,cn.jsx)("circle",{cx:"12",cy:"12",r:m,fill:"none",stroke:"currentColor",strokeOpacity:"0.18",strokeWidth:"2"}),(0,cn.jsx)("circle",{cx:"12",cy:"12",r:m,fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeDasharray:b,strokeDashoffset:v,className:"transition-[stroke-dashoffset,opacity] duration-100 ease-linear"})]}),(0,cn.jsx)("span",{className:Q("pointer-events-none absolute inset-0 flex items-center justify-center",i?"gap-[2px]":""),"aria-hidden":"true",children:i?(0,cn.jsxs)(cn.Fragment,{children:[(0,cn.jsx)("span",{className:"h-2.5 w-[2px] rounded-full bg-current/75"}),(0,cn.jsx)("span",{className:"h-2.5 w-[2px] rounded-full bg-current/75"})]}):(0,cn.jsx)("span",{className:"h-1.5 w-1.5 rounded-full bg-current/75"})})]})]}),(0,cn.jsx)("div",{className:"mt-1 leading-6",children:e.message}),(0,cn.jsx)("div",{className:"mt-2 flex justify-end",children:(0,cn.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 kb({notices:e,onDismiss:t}){return!Array.isArray(e)||e.length===0?null:(0,cn.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,cn.jsx)("div",{className:"w-full max-w-md",children:(0,cn.jsx)(AB,{notice:n,onDismiss:()=>t(n.id)})},n.id))})}var Ua=D(be(),1);var zn=D(be(),1);var nr=D(be(),1);var Pa=D(be(),1);function Ys(e=[]){let t=(0,Pa.useRef)(new Map),n=(0,Pa.useRef)(new Map),r=(0,Pa.useRef)(new Map),o=(0,Pa.useRef)(""),a=JSON.stringify(e);return(0,Pa.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),m=t.current.get(d);if(!u||!f||!m)continue;let b=u.top-f.top;Math.abs(b)<1||typeof m.animate!="function"||m.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,Pa.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 Ot=D(J(),1);function Ob({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:m=!1,filterOtherSelectedValues:b=!1,excludedValues:p=[]}){let v=(0,nr.useRef)(0),h=(0,nr.useRef)(""),g=(0,nr.useRef)(null),y=(0,nr.useRef)(new Map),x=(0,nr.useRef)(0),R=(0,nr.useRef)(0),[w,E]=(0,nr.useState)(0),C=(0,nr.useMemo)(()=>String(e||"targets").trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"targets",[e]),M=`${C}-draft-row`,L=(0,nr.useMemo)(()=>{let ne=(t||[]).filter($e=>String($e?.ref||"").trim());return u?[{key:M,ref:"",sourceRef:""},...ne]:ne},[t,u,M]),F=Ys(L.map(ne=>ne.key)),z=(0,nr.useMemo)(()=>Sr(p),[p]),G=(0,nr.useMemo)(()=>Li(r,[...L.map(ne=>ne?.ref),...z]),[r,L,z]);(0,nr.useEffect)(()=>()=>{typeof window<"u"&&x.current&&window.cancelAnimationFrame(x.current)},[]);function ee(ne,$e){if(u&&ne===M){if(!String($e||"").trim())return;v.current+=1,n([{key:`${C}-draft-${v.current}`,ref:$e,sourceRef:"",...m?{weight:"1"}:{}},...(t||[]).filter(ie=>String(ie?.ref||"").trim())]);return}n((t||[]).map(ie=>ie.key===ne?{...ie,ref:$e}:ie))}function de(ne,$e){n((t||[]).map(ie=>ie.key===ne?{...ie,weight:$e}:ie))}function q(ne){n((t||[]).filter($e=>$e.key!==ne))}function ae(ne){n(Ls(t||[],ne,$e=>$e?.key))}function te(ne){n(Xf(t||[],ne,$e=>$e?.key))}function W(){h.current="",Da(g.current,!1),g.current=null}function V(){v.current+=1;let ne=new Set([...(t||[]).map(ie=>String(ie?.ref||"").trim()).filter(Boolean),...z]),$e=G.find(ie=>!ne.has(ie.value))?.value||"";n([...t||[],{key:`${C}-draft-${v.current}`,ref:$e,sourceRef:""}])}function Pe(){if(!u||o)return;let ne=y.current.get(M);if(!ne||typeof window>"u"){E(Qe=>Qe+1);return}R.current+=1;let $e=R.current;x.current&&(window.cancelAnimationFrame(x.current),x.current=0),ne.scrollIntoView({block:"start",behavior:"smooth"});let ie=Pm(ne),we=xy(ne,ie),Ue=0,j=0,pe=90,Se=8,Le=6,Ae=.5,ke=()=>{if(R.current!==$e)return;let Qe=y.current.get(M)||ne,Ze=xy(Qe,ie);if(!Number.isFinite(Ze.top)||!Number.isFinite(Ze.left)){x.current=0,E(on=>on+1);return}if(jC(we,Ze,Ae)?Ue+=1:Ue=0,we=Ze,j+=1,j>=Se&&Ue>=Le||j>=pe){x.current=0,E(on=>on+1);return}x.current=window.requestAnimationFrame(ke)};x.current=window.requestAnimationFrame(ke)}return(0,Ot.jsxs)("div",{className:"space-y-2 rounded-2xl border border-border/70 bg-background/55 p-4",children:[(0,Ot.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-2",children:[(0,Ot.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,Ot.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:e}),f&&u?(0,Ot.jsx)(U,{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:Pe,disabled:o,"aria-label":a,title:a,children:(0,Ot.jsx)(MC,{className:"h-3.5 w-3.5"})}):null]}),(0,Ot.jsxs)("div",{className:"ml-auto flex max-w-full flex-wrap items-start justify-end gap-x-3 gap-y-2",children:[l?(0,Ot.jsx)("div",{className:"max-w-[34rem] text-right text-[11px] leading-4 text-muted-foreground",children:l}):null,u?null:(0,Ot.jsx)(U,{type:"button",variant:"ghost",onClick:V,disabled:o,children:a})]})]}),L.length>0?(0,Ot.jsx)("div",{className:"space-y-2",children:L.map((ne,$e)=>{let ie=u&&ne.key===M,we=ie?-1:(t||[]).findIndex(j=>j?.key===ne.key),Ue=b?G.filter(j=>{let pe=String(j?.value||"").trim();return pe?pe===String(ne?.ref||"").trim()?!0:z.includes(pe)?!1:!(L||[]).some(Se=>Se?.key!==ne.key&&String(Se?.ref||"").trim()===pe):!1}):G;return(0,Ot.jsxs)("div",{ref:j=>{if(F(ne.key)(j),j){y.current.set(ne.key,j);return}y.current.delete(ne.key)},"data-reorder-row":"true",onDragOver:j=>{!o&&h.current&&h.current!==ne.key&&(j.preventDefault(),j.dataTransfer.dropEffect="move")},onDrop:j=>{if(o)return;j.preventDefault();let pe=j.dataTransfer.getData("text/plain")||h.current;W(),n(Qf(t||[],pe,ne.key))},className:Q(m?"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",ie?"border-dashed bg-background/85":null),children:[(0,Ot.jsx)("span",{className:Q("flex h-8 w-8 items-center justify-center rounded-full text-muted-foreground",ie||o?"opacity-45":"cursor-grab"),draggable:!o&&!ie,onDragStart:j=>{if(o||ie)return;let pe=Ds(j.currentTarget);j.dataTransfer.effectAllowed="move",j.dataTransfer.setData("text/plain",ne.key),pe&&typeof j.dataTransfer?.setDragImage=="function"&&j.dataTransfer.setDragImage(pe,20,20),W(),h.current=ne.key,g.current=pe,Da(pe,!0)},onDragEnd:W,title:ie?"New route draft row":"Drag to reorder",children:(0,Ot.jsx)(Os,{className:"h-4 w-4"})}),(0,Ot.jsx)(za,{disabled:o||ie||we<=0,label:ie||we<=0?"Already first":`Move ${ne.ref||`target ${we+1}`} up`,onClick:()=>ae(ne.key)}),(0,Ot.jsx)(Nl,{disabled:o||ie||we===-1||we>=(t||[]).length-1,label:ie||we===-1||we>=(t||[]).length-1?"Already last":`Move ${ne.ref||`target ${we+1}`} down`,onClick:()=>te(ne.key)}),(0,Ot.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,Ot.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,Ot.jsxs)(Et,{value:ne.ref||void 0,onValueChange:j=>ee(ne.key,j),disabled:o,openSearchRequest:ie?w:0,children:[(0,Ot.jsx)(Tt,{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,Ot.jsx)(Mt,{placeholder:ie?d:c})}),(0,Ot.jsx)(kt,{children:Ue.length>0?_E(Ue,{keyPrefix:`${e}-row-${ne.key}`}):(0,Ot.jsx)(Je,{value:"__no-route-options",disabled:!0,children:"No routes available"})})]})]}),m?(0,Ot.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",ie?"opacity-45":null),children:[(0,Ot.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,Ot.jsx)(He,{value:ie?"":String(ne?.weight||"1"),onChange:j=>de(ne.key,j.target.value),inputMode:"numeric",placeholder:"1",disabled:o||ie,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":ie?"Weight for new target":`Weight for ${ne.ref||`target ${$e+1}`}`})]}):null,ie?(0,Ot.jsx)(U,{type:"button",variant:"ghost",className:Q(ks,"pointer-events-none invisible"),tabIndex:-1,disabled:!0,"aria-hidden":"true",children:"Remove"}):(0,Ot.jsx)(U,{type:"button",variant:"ghost",className:ks,onMouseDown:j=>j.preventDefault(),onClick:()=>q(ne.key),disabled:o,children:"Remove"})]},ne.key)})}):(0,Ot.jsx)("div",{className:"rounded-xl border border-dashed border-border px-4 py-5 text-sm text-muted-foreground",children:i}),s?(0,Ot.jsx)("div",{className:"flex min-h-8 items-center justify-end",children:s}):null]})}var Tl=D(be(),1);var ce=D(J(),1);function CB(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 RB(e=[]){return!Array.isArray(e)||e.length===0?1:e.reduce((t,n)=>CB(t,n),0)||1}function NB(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 VE(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(),m=String(d?.sourceRef||d?.ref||"").trim(),b=c.get(m)||c.get(f)||{},p=Number(d?.weight??b?.weight),v=Number.isFinite(p)&&p>0?Math.floor(p):1;return{key:`${s}-${f||"empty"}-${u}`,ref:f,label:NB(f,r),bucket:s,weight:v}}).filter(d=>!!d.ref)}return[...i(e?.targets,"primary",o),...i(e?.fallbackTargets,"fallback",a)]}function EB(e=[],t=8){if(!Array.isArray(e)||e.length===0)return[];let n=e.map(l=>Math.max(1,Number(l?.weight)||1)),r=RB(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 TB(e,t=[]){let n=Jf(e),r=Zf(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=EB(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 FE({open:e=!1,onClose:t=()=>{},onSave:n=()=>{},aliasLabel:r="",initialStrategy:o="auto",entries:a=[],disabled:i=!1}){let l=Jf(o),[s,c]=(0,Tl.useState)(l),[d,u]=(0,Tl.useState)(!1);(0,Tl.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,ce.jsx)(_n,{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,ce.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2",children:[(0,ce.jsx)(U,{type:"button",variant:"ghost",onClick:t,disabled:d,children:"Cancel"}),(0,ce.jsx)(U,{type:"button",onClick:()=>{f()},disabled:i||d,children:d?"Saving\u2026":"Save strategy"})]}),children:(0,ce.jsxs)(Vo,{value:s,onValueChange:c,children:[(0,ce.jsx)("div",{className:"overflow-x-auto pb-1",children:(0,ce.jsx)(Fo,{className:"h-auto min-w-max flex-wrap justify-start gap-2 rounded-2xl bg-secondary/80 p-2",children:$f.map(m=>(0,ce.jsx)(xn,{value:m.value,className:"h-auto min-h-10 rounded-xl px-4 py-2",children:m.label},m.value))})}),$f.map(m=>{let b=TB(m.value,a),p=(b.sequenceEntries||[]).filter(Boolean);return(0,ce.jsx)(Sn,{value:m.value,className:"mt-4",children:(0,ce.jsxs)("div",{className:"grid gap-4 xl:grid-cols-[minmax(0,1.15fr)_minmax(320px,0.85fr)]",children:[(0,ce.jsxs)("div",{className:"space-y-4",children:[(0,ce.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/80 p-5",children:[(0,ce.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,ce.jsx)(Ne,{variant:"outline",children:b.strategyLabel}),(0,ce.jsxs)(Ne,{variant:"info",children:[a.length," candidate",a.length===1?"":"s"]})]}),(0,ce.jsxs)("div",{className:"mt-4 space-y-3 text-sm leading-6 text-foreground",children:[(0,ce.jsx)("p",{children:b.summary}),(0,ce.jsx)("p",{className:"text-muted-foreground",children:b.poolNote})]})]}),(0,ce.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/80 p-5",children:[(0,ce.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:b.sequenceLabel}),p.length>0?(0,ce.jsx)("div",{className:"mt-4 flex flex-wrap gap-2",children:p.map((v,h)=>(0,ce.jsxs)("div",{className:"rounded-full border border-border/70 bg-card/90 px-3 py-1.5 text-sm text-foreground",children:[(0,ce.jsx)("span",{className:"mr-2 text-xs text-muted-foreground",children:h+1}),(0,ce.jsx)("span",{children:v.label})]},`${v.key}-sequence-${h}`))}):(0,ce.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,ce.jsx)("div",{className:"mt-4 text-sm leading-6 text-muted-foreground",children:b.footnote})]})]}),(0,ce.jsx)("div",{className:"space-y-4",children:(0,ce.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/80 p-5",children:[(0,ce.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,ce.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Current setup"}),r?(0,ce.jsx)(Ne,{variant:"outline",children:r}):null]}),a.length>0?(0,ce.jsx)("div",{className:"mt-4 space-y-2",children:a.map(v=>(0,ce.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,ce.jsx)(Ne,{variant:v.bucket==="primary"?"info":"outline",children:v.bucket}),(0,ce.jsx)("span",{className:"font-medium text-foreground",children:v.label}),(0,ce.jsxs)("span",{className:"text-xs text-muted-foreground",children:["weight ",v.weight]})]},v.key))}):(0,ce.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."})]})})]})},m.value)})]})})}function HE({open:e=!1,onClose:t=()=>{},config:n={}}){let r=(0,Tl.useMemo)(()=>E1(n),[n]);return(0,ce.jsx)(_n,{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,ce.jsxs)("div",{className:"space-y-4",children:[(0,ce.jsxs)("div",{className:"grid gap-4 md:grid-cols-3",children:[(0,ce.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/70 p-4",children:[(0,ce.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Stable route"}),(0,ce.jsxs)("div",{className:"mt-2 text-sm leading-6 text-foreground",children:["Expose one alias like ",(0,ce.jsx)("code",{children:"coding"})," or ",(0,ce.jsx)("code",{children:"gpt-5.4"})," to clients, then retarget the alias later without touching client config."]})]}),(0,ce.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/70 p-4",children:[(0,ce.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Selection strategy"}),(0,ce.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,ce.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/70 p-4",children:[(0,ce.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Fallback behavior"}),(0,ce.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,ce.jsxs)("div",{className:"rounded-2xl border border-amber-200 bg-amber-50 p-4",children:[(0,ce.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,ce.jsx)(Ne,{variant:"warning",children:"Important"}),(0,ce.jsx)("div",{className:"text-sm font-medium text-amber-950",children:"Mixed context windows inside one alias can change behavior."})]}),(0,ce.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,ce.jsx)("code",{children:"258K"})," model and a ",(0,ce.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,ce.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/70 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:"Current config check"}),(0,ce.jsx)("div",{className:"mt-1 text-sm text-muted-foreground",children:"Aliases below currently mix different configured model context windows."})]}),(0,ce.jsx)(Ne,{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,ce.jsx)("div",{className:"mt-4 space-y-3",children:r.map(o=>(0,ce.jsxs)("div",{className:"rounded-2xl border border-amber-200 bg-amber-50/70 p-4",children:[(0,ce.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,ce.jsx)(Ne,{variant:"outline",children:o.aliasId}),(0,ce.jsxs)("div",{className:"text-sm font-medium text-amber-950",children:["Smallest target: ",Yo(o.smallestContextWindow),". Largest target: ",Yo(o.largestContextWindow),"."]})]}),(0,ce.jsxs)("div",{className:"mt-3 flex flex-wrap gap-2",children:[o.models.map(a=>(0,ce.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 ",Yo(a.contextWindow)]},a.ref)),o.unknownRefs.map(a=>(0,ce.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,ce.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 Oe=D(J(),1),MB=500;function Di(e=[]){return(e||[]).map(t=>({ref:String(t?.ref||"").trim(),weight:String(t?.weight||"1").trim()}))}function _b({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:m=!1,showIssueOnSubmitOnly:b=!1,onDiscard:p=()=>{},onOpenStrategyModal:v=()=>{},titleAccessory:h=null,aliasSwitcher:g=null,framed:y=!0}){let x=HC(e,t,{isNew:f}),R=(0,zn.useMemo)(()=>mC(f?"":e,t),[x]),[w,E]=(0,zn.useState)(R),[C,M]=(0,zn.useState)(f),[L,F]=(0,zn.useState)(!1),z=(0,zn.useRef)(null),G=(0,zn.useRef)(0),ee=(0,zn.useRef)(""),[de,q]=(0,zn.useState)("idle");(0,zn.useEffect)(()=>{E(R),M(f),F(!1),q("idle"),ee.current=""},[R,f]);let ae=!f&&Array.isArray(g?.entries)&&g.entries.length>1,te=m||C;(0,zn.useEffect)(()=>{if(!te)return;let k=typeof window<"u"?window.requestAnimationFrame(()=>{z.current?.focus(),z.current?.select?.()}):0;return()=>{typeof window<"u"&&window.cancelAnimationFrame(k)}},[te]);let W=String(w?.id||"").trim(),V=e===Bt||W===Bt,Pe=(0,zn.useMemo)(()=>Li((r||[]).filter(k=>k.kind!=="alias"&&k.value!==W&&k.value!==`alias:${W}`),[...(w?.targets||[]).map(k=>k?.ref),...(w?.fallbackTargets||[]).map(k=>k?.ref)]),[r,W,w?.targets,w?.fallbackTargets]),ne=(w?.targets||[]).map(k=>String(k?.ref||"").trim()),$e=(w?.fallbackTargets||[]).map(k=>String(k?.ref||"").trim()),ie=[...ne,...$e],we=[...w?.targets||[],...w?.fallbackTargets||[]],Ue=we.some(k=>!String(k?.ref||"").trim()),j=Bs(ie),pe=we.some(k=>{if(!String(k?.ref||"").trim())return!1;let H=Math.floor(Number(k?.weight));return!Number.isFinite(H)||H<=0}),Se=W&&n.some(k=>k!==e&&k===W),Le=W&&ie.some(k=>k===W||k===`alias:${W}`),Ae=ie.filter(Boolean).length>0,ke=JSON.stringify({id:R.id,strategy:R.strategy,targets:Di(R.targets),fallbackTargets:Di(R.fallbackTargets)}),Qe=JSON.stringify({id:W,strategy:w?.strategy,targets:Di(w?.targets),fallbackTargets:Di(w?.fallbackTargets)}),Ze=JSON.stringify({targets:Di(R.targets),fallbackTargets:Di(R.fallbackTargets)}),on=JSON.stringify({targets:Di(w?.targets),fallbackTargets:Di(w?.fallbackTargets)}),Un=ke!==Qe,dn=W?AC.test(W)?Se?"Alias id already exists. Choose another id.":Ue?"Fill or remove blank target rows before applying.":j?"Duplicate targets are not allowed anywhere in this alias.":pe?"Target weights must be positive integers.":Le?"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.",wt=i?l:dn,bt=i?l:b&&dn&&!L?"":dn,vt=i||s,Ve=String(W||e||"").trim(),Ft=Ve||"Select alias",en=vt||V||f,hn=V?"Default alias cannot be removed":`Remove alias ${Ve||e}`,Nr=(0,zn.useMemo)(()=>sm(Ft),[Ft]),Te=V||o===e||o===W,rt=a===e||a===W,pt=f?"Enter alias name. Example: claude-opus":void 0,fo=(0,zn.useMemo)(()=>VE(w,t,r),[w,t,r]);async function At(){if(F(!0),wt)return!1;let k=await c(e,w);return k&&f&&p(e),k}async function Ee(k){let H={...w,strategy:k};return await c(e,H)?f?(p(e),!0):(E(H),!0):!1}async function yn(){if(F(!0),wt)return!1;let k=await c(e,w);return k&&(M(!1),F(!1)),k}function O(){if(m)return;if(!ae){M(!1);return}let k=String(e||"").trim(),H=String(w?.id||"").trim();if(!H||H===k){E(ue=>({...ue,id:k})),M(!1),F(!1);return}yn()}function ge(k){if(k.key==="Escape"){k.preventDefault(),E(H=>({...H,id:R.id})),M(!1),F(!1);return}!m&&k.key==="Enter"&&(k.preventDefault(),k.currentTarget.blur())}async function re(){if(te){let k=String(e||"").trim(),H=String(w?.id||"").trim();if(!H||H===k){E(ue=>({...ue,id:k})),M(!1),F(!1);return}await yn();return}M(!0)}(0,zn.useEffect)(()=>()=>{typeof window<"u"&&G.current&&window.clearTimeout(G.current)},[]),(0,zn.useEffect)(()=>{if(f||vt||wt||on===Ze){typeof window<"u"&&G.current&&(window.clearTimeout(G.current),G.current=0),!f&&on===Ze&&de!=="saving"&&q("idle");return}if(!(ee.current===on&&de==="error")&&(q("pending"),!(typeof window>"u")))return G.current=window.setTimeout(()=>{G.current=0,ee.current=on,q("saving"),c(e,w,{showSuccessNotice:!1,successMessage:""}).then(k=>{q(k?"saved":"error")})},MB),()=>{G.current&&(window.clearTimeout(G.current),G.current=0)}},[e,on,w,Ze,f,wt,vt,c]);let je=f?"":de==="saving"?"Saving alias changes\u2026":de==="pending"?"Changes save automatically.":de==="saved"?"Alias changes saved.":de==="error"?"Autosave failed. Keep editing to retry.":"Changes save automatically.",T=(0,Oe.jsxs)("div",{className:"space-y-4",children:[(0,Oe.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,Oe.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,Oe.jsx)("div",{className:"flex min-w-0 flex-wrap items-center gap-2",children:ae?(0,Oe.jsxs)("div",{className:"flex min-w-0 flex-1 flex-wrap items-center gap-2",children:[(0,Oe.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",te?"flex-1":"w-fit"),children:[(0,Oe.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"}),te?(0,Oe.jsx)(He,{ref:z,value:w.id,placeholder:pt,onChange:k=>E(H=>({...H,id:k.target.value})),onBlur:O,onKeyDown:ge,disabled:vt||V,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,Oe.jsxs)(Et,{value:g.value||void 0,onValueChange:g.onValueChange,children:[(0,Oe.jsx)(Tt,{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:`${Nr}px`,maxWidth:"100%"},children:(0,Oe.jsx)(Mt,{placeholder:"Select alias"})}),(0,Oe.jsx)(kt,{children:g.entries.map(([k,H])=>(0,Oe.jsx)(Je,{value:k,searchText:`${k} ${(H?.targets||[]).length} ${(H?.fallbackTargets||[]).length}`,children:k},k))})]}),te?null:(0,Oe.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(Ve)},disabled:vt||!Ve,"aria-label":`Copy alias id ${Ve}`,title:Ve?`Copy alias id ${Ve}`:"Alias id is not ready yet",children:(0,Oe.jsx)(qf,{className:"h-4 w-4 shrink-0"})})]}),(0,Oe.jsx)(U,{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:k=>{te&&k.preventDefault()},onClick:()=>{re()},disabled:vt||V,"aria-label":te?"Save alias id":V?"Default alias id cannot be edited":"Edit alias id",title:te?"Save alias id":V?"Default alias id cannot be edited":"Edit alias id",children:te?(0,Oe.jsx)(IC,{className:"h-4 w-4 shrink-0"}):(0,Oe.jsx)(_s,{className:"h-4 w-4 shrink-0"})}),f?null:(0,Oe.jsx)(U,{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:en,"aria-label":hn,title:hn,children:(0,Oe.jsx)(mu,{className:"h-4 w-4 shrink-0"})})]}):(0,Oe.jsxs)(Oe.Fragment,{children:[te?(0,Oe.jsx)(He,{ref:z,autoFocus:f,value:w.id,placeholder:pt,onChange:k=>E(H=>({...H,id:k.target.value})),onBlur:O,onKeyDown:ge,disabled:vt||V&&!f,className:"max-w-[22rem] font-semibold"}):V&&!f?(0,Oe.jsx)("div",{className:"truncate text-base font-semibold text-foreground",children:e}):(0,Oe.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:()=>M(!0),disabled:vt,"aria-label":"Edit alias id",title:"Edit alias id",children:[(0,Oe.jsx)("span",{className:"truncate",children:f?W||"New alias":W||e}),(0,Oe.jsx)(_s,{className:"h-4 w-4 shrink-0"})]}),h?(0,Oe.jsx)("div",{className:"min-w-[11rem] max-w-full",children:h}):null]})}),V?null:(0,Oe.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-2",children:[Te?(0,Oe.jsx)(Ne,{variant:"success",children:"Default route"}):null,rt?(0,Oe.jsx)(Ne,{variant:"info",children:"AMP default"}):null]})]}),(0,Oe.jsxs)("div",{className:"flex items-start gap-2 self-start",children:[(0,Oe.jsxs)(U,{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:w?.strategy||"auto",entries:fo,disabled:vt||!!wt,onSave:Ee}),disabled:vt,children:[(0,Oe.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,Oe.jsxs)("span",{className:"inline-flex min-w-0 items-center gap-2 px-3 text-left",children:[(0,Oe.jsx)("span",{className:"truncate",children:Zf(w.strategy||"auto")}),(0,Oe.jsx)(_s,{className:"h-4 w-4 shrink-0"})]})]}),!ae&&!f?(0,Oe.jsx)(U,{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:en,"aria-label":hn,title:hn,children:(0,Oe.jsx)(mu,{className:"h-4 w-4 shrink-0"})}):null]})]}),(0,Oe.jsx)(Ob,{title:"Primary targets",rows:w.targets,onChange:k=>E(H=>({...H,targets:k})),options:Pe,disabled:vt,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:$e}),(0,Oe.jsx)(Ob,{title:"Fallback targets",rows:w.fallbackTargets,onChange:k=>E(H=>({...H,fallbackTargets:k})),options:Pe,disabled:vt,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}),bt?null:(0,Oe.jsx)("div",{className:"text-xs text-muted-foreground",children:je}),bt?(0,Oe.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-sm text-amber-900",children:bt}):null,!bt&&V&&!Ae?(0,Oe.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,Oe.jsx)("code",{children:"default"})," route is empty. Requests routed to ",(0,Oe.jsx)("code",{children:"default"})," or ",(0,Oe.jsx)("code",{children:"smart"})," will return 500 until you add a working target."]}):null,f?(0,Oe.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,Oe.jsx)("div",{children:(0,Oe.jsx)(U,{type:"button",variant:"ghost",onClick:()=>p(e),disabled:vt,children:"Discard"})}),(0,Oe.jsx)("div",{className:"flex flex-wrap justify-end gap-2",children:(0,Oe.jsx)(U,{type:"button",onClick:()=>{At()},disabled:vt||!!wt,children:s?"Saving\u2026":"Create alias"})})]}):null]});return y?(0,Oe.jsx)(Ut,{children:(0,Oe.jsx)(jt,{className:"space-y-4 p-5",children:T})}):T}var un=D(J(),1);function $E({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,[m,b]=(0,Ua.useState)(""),[p,v]=(0,Ua.useState)(!1),[h,g]=(0,Ua.useState)(""),y=(0,Ua.useMemo)(()=>FC(),[]),[x,R]=(0,Ua.useState)({open:!1,aliasLabel:"",strategy:"auto",entries:[],disabled:!1,onSave:null});function w(){f||l||b(`draft-${Date.now()}`)}function E(q){(!q||q===m)&&b("")}function C(){b("")}function M({aliasLabel:q="",strategy:ae="auto",entries:te=[],disabled:W=!1,onSave:V=null}){R({open:!0,aliasLabel:q,strategy:ae,entries:te,disabled:W,onSave:V})}function L(){R(q=>({...q,open:!1}))}async function F(q,ae,te={}){let W=await s(q,ae,te);if(W){let V=String(ae?.id||q||"").trim()||q;g(V)}return W}(0,Ua.useEffect)(()=>{let q=u.map(([ae])=>ae);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]||"",ee=z?.[1]||null,de=u.length>1?{value:G,onValueChange:g,entries:u}:null;return(0,un.jsxs)(un.Fragment,{children:[(0,un.jsxs)(Ut,{children:[(0,un.jsx)(no,{children:(0,un.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,un.jsx)("div",{className:"space-y-1",children:(0,un.jsx)(Si,{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,un.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,un.jsx)(U,{type:"button",variant:"outline",size:"sm",onClick:()=>v(!0),children:"Help"}),(0,un.jsx)(U,{type:"button",size:"sm",onClick:w,disabled:f||l,children:l?"Saving\u2026":"Add alias"})]})]})}),(0,un.jsxs)(jt,{className:"space-y-4",children:[f?(0,un.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&&ee?(0,un.jsx)(_b,{aliasId:G,alias:ee,aliasIds:n,routeOptions:r,defaultModel:o,ampDefaultRoute:a,disabled:f,disabledReason:i,busy:l,onApply:F,onRemove:c,onCopyAliasId:d,onOpenStrategyModal:M,aliasSwitcher:de,framed:!1},G):null:(0,un.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,un.jsx)("code",{children:"coding"})," or ",(0,un.jsx)("code",{children:"chat.fast"})," in the Web UI."]})]})]}),(0,un.jsx)(_n,{open:!!m,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:m?(0,un.jsx)(_b,{aliasId:m,alias:y,aliasIds:n,routeOptions:r,defaultModel:o,ampDefaultRoute:a,disabled:f,disabledReason:i,busy:l,onApply:F,onRemove:c,onCopyAliasId:d,isNew:!0,alwaysShowAliasIdInput:!0,showIssueOnSubmitOnly:!0,onDiscard:E,onOpenStrategyModal:M,framed:!1},m):null}),(0,un.jsx)(FE,{open:x.open,onClose:L,onSave:q=>x.onSave?.(q),aliasLabel:x.aliasLabel,initialStrategy:x.strategy,entries:x.entries,disabled:x.disabled}),(0,un.jsx)(HE,{open:p,onClose:()=>v(!1),config:t})]})}var rn=D(be(),1);var Ml=D(be(),1);var jr=D(J(),1);function zu({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:m={}}){let b=(0,Ml.useMemo)(()=>Sr(e),[e]),[p,v]=(0,Ml.useState)(""),[h,g]=(0,Ml.useState)("");function y(C=s,{clearDraft:M=!0}={}){if(u)return!1;let L=Yf(C).filter(z=>f(z));if(L.length===0)return M&&c(""),!1;let F=Array.from(new Set([...b||[],...L]));return JSON.stringify(F)!==JSON.stringify(b||[])&&t(F),M&&c(""),!0}function x(C){u||(t(b.filter(M=>M!==C)),p===C&&(v(""),g("")))}function R(){u||i.length&&(t(Array.from(new Set([...b||[],...i]))),c(""))}function w(C){u||(v(C),g(C))}function E(C=h){if(u)return v(""),g(""),!1;if(!p)return!1;let M=Yf(C).filter(G=>f(G)),L=[],F=!1;for(let G of b||[]){if(G!==p){L.push(G);continue}F||(L.push(...M),F=!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(""),M.length>0}return(0,Ml.useEffect)(()=>{!u||!p||(v(""),g(""))},[u,p]),(0,jr.jsxs)("div",{className:"space-y-2",children:[(0,jr.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 M=l?.[C]||"default",L=M==="success"?"border-emerald-200 bg-emerald-50 text-emerald-900":M==="error"?"border-rose-200 bg-rose-50 text-rose-900":M==="pending"?"border-sky-200 bg-sky-50 text-sky-900":"border-border bg-secondary text-foreground",F=!u&&p===C;return(0,jr.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:[F?(0,jr.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,jr.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:()=>w(C),disabled:u,title:"Click to edit",children:C}),(0,jr.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,jr.jsx)("input",{...m,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 M=C.target.value;if(/[\s,]/.test(M)){let L=M.split(/[\s,]+/),F=L.pop()||"";L.length>0&&y(L.join(","),{clearDraft:!1}),c(F);return}c(M)},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 M=C.clipboardData?.getData("text")||"";if(/[\s,]/.test(M)){C.preventDefault();let L=M.split(/[\s,]+/).filter(Boolean).filter(F=>f(F));L.length>0&&(t(Array.from(new Set([...b||[],...L]))),c(""));return}C.preventDefault(),c(`${s}${M}`)},onBlur:()=>{if(d&&f(s)){y(s);return}c(s)},placeholder:n}),b.length>0||s?(0,jr.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,jr.jsxs)("div",{className:"flex flex-wrap items-center gap-2 text-xs text-muted-foreground",children:[r?(0,jr.jsx)("span",{children:r}):null,b.length===0&&i.length>0?(0,jr.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:R,disabled:u,children:"Use suggested values"}):null]})]})}var ur=D(be(),1);var it=D(J(),1);function KE(e="rate-limit-draft-row"){return vu({key:e,models:[],requests:"",windowValue:"",windowUnit:wo.custom.rateLimitDefaults.windowUnit},{keyPrefix:"rate-limit-draft",defaults:wo.custom.rateLimitDefaults,useDefaults:!1})}function Gm(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:[],KE(n)]}function kB({value:e=[],onChange:t,availableModelIds:n=[],disabled:r=!1}){let o=(0,ur.useRef)(null),[a,i]=(0,ur.useState)(!1),l=(0,ur.useMemo)(()=>So(e),[e]),s=l.includes("all"),c=s?[]:l.filter(Boolean),d=s||c.length===0,u=(0,ur.useMemo)(()=>Sr(n),[n]);(0,ur.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(So(h))}function m(h){f(h?["all"]:[])}function b(h,g){let y=g?[...c,h]:c.filter(x=>x!==h);f(y)}function p(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,it.jsxs)("div",{ref:o,className:"relative space-y-1.5",children:[(0,it.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,it.jsx)("div",{className:"flex min-w-0 flex-1 flex-wrap items-center gap-1.5",children:v.map(h=>h.removable?(0,it.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(),p(h.key)},disabled:r,title:`Remove ${h.label}`,children:[(0,it.jsx)("span",{className:"truncate",children:h.label}),(0,it.jsx)("span",{className:"text-muted-foreground",children:"x"})]},h.key):(0,it.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,it.jsx)("span",{className:"truncate",children:h.label})},h.key))}),(0,it.jsx)("span",{className:"text-muted-foreground",children:"\u25BE"})]}),a?(0,it.jsxs)($m,{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,it.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,it.jsx)("input",{type:"checkbox",className:"h-4 w-4 rounded border-input",checked:s,onChange:h=>m(h.target.checked)}),(0,it.jsx)("span",{children:"All model"})]}),(0,it.jsx)("div",{className:"my-1 border-t border-border/70"}),u.length>0?(0,it.jsx)("div",{children:u.map(h=>(0,it.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,it.jsx)("input",{type:"checkbox",className:"h-4 w-4 rounded border-input",checked:c.includes(h),onChange:g=>b(h,g.target.checked)}),(0,it.jsx)("span",{className:"truncate",children:h})]},h))}):(0,it.jsx)("div",{className:"px-2 py-2 text-sm text-muted-foreground",children:"No models available yet."})]}):null]})}function qm({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,ur.useRef)(null),c=(0,ur.useRef)(l),d=(0,ur.useMemo)(()=>Sr(n),[n]),u=(0,ur.useMemo)(()=>{let g=new Set,y=new Set;for(let x of wr(l)){let R=iu(x);if(R){if(g.has(R)){y.add(R);continue}g.add(R)}}return y},[l]),f=(0,ur.useMemo)(()=>l.map(g=>({...KE(g.key),...g,models:So(g?.models||[])})),[l]);(0,ur.useEffect)(()=>{c.current=l},[l]);function m(g){let y=Array.isArray(g)?g:[];c.current=y,t(y)}function b(g,y){m(l.map(x=>x.key===g?{...x,...y}:x))}function p(g){m(l.filter(y=>y.key!==g))}function v(g){if(em(g))return"";let y=So(g?.models||[]);if(d.length>0&&y.some(R=>R!=="all"&&!d.includes(R)))return"Use exact provider model ids only.";if(wy(g?.requests,0)<=0)return"Requests must be a positive integer.";if(wy(g?.windowValue,0)<=0)return"Window size must be a positive integer.";if(!hy.includes(String(g?.windowUnit||"").trim()))return"Window unit is invalid.";let x=iu({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=wr(c.current);$o(y,{knownModelIds:d,requireAtLeastOne:!0})||i(y);return}window.setTimeout(()=>{if(!s.current||s.current.contains(document.activeElement))return;let y=wr(c.current);$o(y,{knownModelIds:d,requireAtLeastOne:!0})||i(y)},0)}}return(0,it.jsxs)("div",{ref:s,className:"space-y-2.5",onBlurCapture:h,children:[(0,it.jsx)("div",{className:"space-y-2.5",children:f.map((g,y)=>{let x=em(g),R=v(g);return(0,it.jsxs)("div",{className:Q("rounded-2xl border border-border/70 bg-background/70 p-3",R?"border-amber-200 bg-amber-50/70":null,x?"border-dashed bg-background/80":null),children:[(0,it.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,it.jsx)(De,{label:"Models",stacked:!0,className:"gap-1",headerClassName:"min-h-0",hintClassName:"leading-4",children:(0,it.jsx)(kB,{value:g.models,onChange:w=>b(g.key,{models:w}),availableModelIds:d,disabled:r})}),(0,it.jsx)(De,{label:"Request",stacked:!0,className:"gap-1",headerClassName:"min-h-0",children:(0,it.jsx)(He,{ref:y===0?o:null,value:g.requests,onChange:w=>b(g.key,{requests:w.target.value}),disabled:r,inputMode:"numeric",placeholder:"60"})}),(0,it.jsx)(De,{label:"Window",stacked:!0,className:"gap-1",headerClassName:"min-h-0",children:(0,it.jsx)(He,{value:g.windowValue,onChange:w=>b(g.key,{windowValue:w.target.value}),disabled:r,inputMode:"numeric",placeholder:"1"})}),(0,it.jsx)(De,{label:"Unit",stacked:!0,className:"gap-1",headerClassName:"min-h-0",children:(0,it.jsxs)(Et,{value:String(g.windowUnit||"minute"),onValueChange:w=>b(g.key,{windowUnit:w}),disabled:r,children:[(0,it.jsx)(Tt,{children:(0,it.jsx)(Mt,{placeholder:"Window unit"})}),(0,it.jsx)(kt,{children:hy.map(w=>(0,it.jsx)(Je,{value:w,children:w},`${g.key}-${w}`))})]})}),(0,it.jsx)(U,{type:"button",variant:"ghost",onClick:()=>p(g.key),disabled:r,className:"xl:self-end",children:"Remove"})]}),R?(0,it.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:R}):null]},g.key)})}),a?(0,it.jsx)("div",{className:"text-xs leading-5 text-muted-foreground",children:a}):null]})}var yt=D(be(),1);var GE=[{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 qE(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 WE(e){if(e===void 0)return!0;if(e===!0)return!1}function YE(e){return!e||typeof e!="object"?!1:Object.values(e).some(t=>typeof t=="boolean")}var Bi=D(J(),1);function OB({label:e,value:t,disabled:n,onCycle:r}){let o=typeof t=="boolean";return(0,Bi.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,Bi.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,Bi.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 Wm({capabilities:e={},disabled:t=!1,onChange:n}){return(0,Bi.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5 pt-1",children:[(0,Bi.jsx)("span",{className:"text-[11px] font-medium text-muted-foreground/80",children:"Capabilities"}),GE.map(({key:r,label:o})=>{let a=e[r];return(0,Bi.jsx)(OB,{label:o,value:a,disabled:t,onCycle:()=>n(r,WE(a))},r)})]})}var Ie=D(J(),1);function QE({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,yt.useMemo)(()=>pC(e),[e]),[f,m]=(0,yt.useState)([]),[b,p]=(0,yt.useState)(""),[v,h]=(0,yt.useState)(!1),[g,y]=(0,yt.useState)({}),[x,R]=(0,yt.useState)({}),[w,E]=(0,yt.useState)(null),[C,M]=(0,yt.useState)(""),[L,F]=(0,yt.useState)(""),[z,G]=(0,yt.useState)({}),ee=(0,yt.useRef)(0),de=(0,yt.useRef)([]),q=(0,yt.useRef)(new Map),ae=(0,yt.useRef)(new Map),te=(0,yt.useRef)(""),W=(0,yt.useRef)(""),V=(0,yt.useRef)(null),Pe=(0,yt.useRef)(new Map),ne=(0,yt.useRef)(new Map);function $e(O={}){return ee.current+=1,{key:`model-${e.id}-draft-${ee.current}`,id:"",sourceId:"",contextWindow:"",capabilities:{},...O}}function ie(O){te.current=O}function we(O=[],{preserveFocus:ge=!1}={}){let re=[],je=null;for(let T of Array.isArray(O)?O:[]){let k=String(T?.id||""),H=T?.contextWindow===void 0||T?.contextWindow===null?"":String(T.contextWindow);if(String(k).trim()){re.push({...T,id:k,contextWindow:H});continue}je||(je={...T,id:"",contextWindow:H})}return je||(je=$e(),ge&&ie(je.key)),[je,...re]}function Ue(O){R(ge=>{if(!ge[O])return ge;let re={...ge};return delete re[O],re})}function j(O,ge){y(re=>{if(ge)return re[O]?re:{...re,[O]:!0};if(!re[O])return re;let je={...re};return delete je[O],je})}function pe(O,ge={},{clearLookupState:re=!1,clearStatus:je=!0,closeLookupMenu:T=!1}={}){re&&Ue(O),je&&E(null),T&&C===O&&M(""),m(k=>we(k.map(H=>H.key===O?{...H,...ge}:H),{preserveFocus:!1}))}(0,yt.useEffect)(()=>{de.current=f},[f]),(0,yt.useEffect)(()=>{let O=we(u,{preserveFocus:!0});m(O),de.current=O,Pe.current.clear(),ne.current.clear(),y({}),R({}),E(null),M(""),F(""),G({})},[u]),(0,yt.useEffect)(()=>{let O=te.current;if(!O)return;let ge=q.current.get(O);if(!ge)return;ge.scrollIntoView?.({block:"nearest"}),ge.focus();let re=ge.value?.length||0;ge.setSelectionRange?.(re,re),te.current=""},[f]),(0,yt.useEffect)(()=>{i&&m(O=>{let ge=we(O,{preserveFocus:!1}),re=ge.find(je=>!String(je?.id||"").trim())||ge[ge.length-1];return re&&ie(re.key),ge})},[i]),(0,yt.useEffect)(()=>{C&&(f.some(O=>O.key===C)||M(""))},[f,C]),(0,yt.useEffect)(()=>{L&&(f.some(O=>O.key===L)||F(""))},[f,L]),(0,yt.useEffect)(()=>{G(O=>{let ge=new Set(f.map(T=>T.key)),re=!1,je={};for(let[T,k]of Object.entries(O)){if(!ge.has(T)){re=!0;continue}je[T]=k}return re?je:O})},[f]),(0,yt.useEffect)(()=>{if(!C||typeof document>"u")return;function O(ge){ae.current.get(C)?.contains(ge.target)||M("")}return document.addEventListener("mousedown",O),()=>document.removeEventListener("mousedown",O)},[C]);let Se=(0,yt.useMemo)(()=>f.filter(O=>String(O?.id||"").trim()),[f]),Le=(0,yt.useMemo)(()=>u.map(O=>({id:String(O?.id||"").trim(),contextWindow:Qo(O?.contextWindow||""),capabilities:O?.capabilities||{}})).filter(O=>O.id),[u]),Ae=(0,yt.useMemo)(()=>Se.map(O=>({...O,id:String(O?.id||"").trim(),contextWindow:Qo(O?.contextWindow||"")})),[Se]),ke=Ae.map(O=>O.id),Qe=Le.map(O=>O.id),Ze=ke.filter(O=>!Qe.includes(O)),on=Bs(ke),Un=ke.length>0,dn=new Set(Ae.filter(O=>{let ge=String(O?.contextWindow||"").trim();if(!ge)return!1;let re=Number.parseInt(ge,10);return!Number.isFinite(re)||re<=0||String(re)!==ge}).map(O=>O.key)),wt=Ae.filter(O=>!String(O?.contextWindow||"").trim()),bt=JSON.stringify(Le)!==JSON.stringify(Ae.map(O=>({id:O.id,contextWindow:O.contextWindow,capabilities:O.capabilities||{}}))),Ve=t||r||(b!==""||c==="testing"||c==="saving")||v,Ft=(0,yt.useMemo)(()=>{let O=-1;return f.forEach((ge,re)=>{String(ge?.id||"").trim()&&(O=re)}),O},[f]),en=t?n:Un?on?"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.",hn=Ys(f.map(O=>O.key));(0,yt.useEffect)(()=>{l?.({isDirty:bt,issue:en,locked:Ve,rows:Ae.map(O=>({...O,contextWindow:Qo(O.contextWindow)}))})},[l,bt,en,Ve,Ae]);function Nr(O){Ue(O),j(O,!1),E(null),C===O&&M(""),L===O&&F(""),G(ge=>{if(!Object.prototype.hasOwnProperty.call(ge,O))return ge;let re={...ge};return delete re[O],re}),m(ge=>we(ge.filter(re=>re.key!==O)))}function Te(O){m(ge=>we(Ls(ge,O,re=>re?.key)))}function rt(O){m(ge=>we(Xf(ge,O,re=>re?.key)))}function pt(){W.current="",Da(V.current,!1),V.current=null}async function fo(O,{force:ge=!1}={}){let re=String(O||"").trim();if(!re)return Ps({query:re});if(!ge&&Pe.current.has(re))return Pe.current.get(re);if(!ge&&ne.current.has(re))return ne.current.get(re);let je=(async()=>{let T=await Nu([re]),k=(Array.isArray(T)?T:[]).find(ue=>String(ue?.query||"").trim()===re)||{query:re},H=Ps(k,{fallbackQuery:re});return Pe.current.set(re,H),H})();ne.current.set(re,je);try{return await je}finally{ne.current.delete(re)}}async function At(O,{openMenu:ge=!1,prefill:re=!1,modelId:je=""}={}){let T=de.current.find(H=>H.key===O),k=String(je||T?.id||"").trim();if(!k)return null;ge&&M(O),j(O,!0);try{let H=await fo(k);if(R(ue=>({...ue,[O]:H})),re){let ue=cm(H),nt=H?.exactMatch?.capabilities;(ue||nt)&&m(qt=>we(qt.map(Me=>{if(Me.key!==O)return Me;let Y=String(Me?.id||"").trim();if(!Y||Y!==k)return Me;let ye={};return ue&&!String(Me?.contextWindow||"").trim()&&(ye.contextWindow=ue),nt&&!YE(Me.capabilities)&&(ye.capabilities=qE(Me.capabilities,nt)),Object.keys(ye).length>0?{...Me,...ye}:Me}),{preserveFocus:!1}))}return H}catch(H){let ue=H instanceof Error?H.message:String(H),nt={query:k,status:"error",error:ue,options:[]};return R(qt=>({...qt,[O]:nt})),nt}finally{j(O,!1)}}async function Ee(O=[]){let ge=new Set(Array.isArray(O)?O:[]),re=Ae.filter(je=>!je.id||String(je?.contextWindow||"").trim()?!1:ge.size===0?!0:ge.has(je.key)).map(je=>({key:je.key,id:je.id}));if(re.length!==0){h(!0),E(null);try{let je=await Nu(re.map(Me=>Me.id)),T=T1(je),k=new Map(re.map(Me=>[Me.key,Me]));for(let Me of T.values())Me?.query&&Pe.current.set(Me.query,Me);let H=Array.isArray(de.current)?de.current:[],ue=0,nt=0,qt=H.map(Me=>{let Y=k.get(Me.key);if(!Y)return Me;let ye=String(Me?.id||"").trim(),$n=String(Me?.contextWindow||"").trim();if(!ye||ye!==Y.id||$n)return Me;let Ii=T.get(ye)||Ps({query:ye}),zi=cm(Ii);return zi?(ue+=1,{...Me,contextWindow:zi}):(nt+=1,Me)});m(we(qt,{preserveFocus:!1})),E({tone:ue>0?"success":"warning",message:ue>0?`Filled ${ue} context size${ue===1?"":"s"}${nt>0?`; ${nt} still need a manual value`:""}.`:`Could not fill ${nt} model${nt===1?"":"s"}.`})}catch(je){E({tone:"error",message:je instanceof Error?je.message:String(je)})}finally{h(!1)}}}async function yn(){if(Ve||en||!bt)return!1;let O=Co(e)==="api"&&Ze.length>0;p(O?"testing":"saving");try{return await o(Ae.map(ge=>({...ge,contextWindow:Qo(ge.contextWindow)})))}finally{p("")}}return(0,Ie.jsxs)("div",{className:Q(a?"space-y-3 rounded-2xl border border-border/70 bg-background/60 p-4":"space-y-3"),children:[(0,Ie.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,Ie.jsx)("div",{className:"space-y-2",children:f.map((O,ge)=>{let re=String(O?.id||"").trim(),je=String(O?.contextWindow||"").trim(),T=!!re,k=T?Se.findIndex(Y=>Y.key===O.key):-1,H=x[O.key]||null,ue=!!g[O.key],nt=C===O.key&&!!re,qt=dn.has(O.key),Me=re&&s?.[re]||"default";return(0,Ie.jsxs)("div",{ref:hn(O.key),"data-reorder-row":"true",onDragOver:Y=>{!Ve&&W.current&&W.current!==O.key&&(Y.preventDefault(),Y.dataTransfer.dropEffect="move")},onDrop:Y=>{if(Ve)return;Y.preventDefault();let ye=Y.dataTransfer.getData("text/plain")||W.current;pt(),m($n=>we(Qf($n,ye,O.key)))},className:Q("space-y-2 rounded-xl border border-border/70 bg-card/90 p-3",T?null:"border-dashed bg-background/85",qt?"border-amber-200 bg-amber-50/70":null,!qt&&Me==="success"?"border-emerald-200 bg-emerald-50/70":null,!qt&&Me==="error"?"border-rose-200 bg-rose-50/70":null,!qt&&Me==="pending"?"border-sky-200 bg-sky-50/70":null),children:[(0,Ie.jsxs)("div",{className:"grid grid-cols-[auto_auto_auto_minmax(0,1fr)_minmax(12rem,14rem)_5.5rem] items-center gap-2",children:[(0,Ie.jsx)("span",{className:Q("flex h-8 w-8 items-center justify-center rounded-full text-muted-foreground",T&&!Ve?"cursor-grab":"opacity-45"),draggable:!Ve&&T,onDragStart:Y=>{if(Ve||!T)return;let ye=Ds(Y.currentTarget);Y.dataTransfer.effectAllowed="move",Y.dataTransfer.setData("text/plain",O.key),ye&&typeof Y.dataTransfer?.setDragImage=="function"&&Y.dataTransfer.setDragImage(ye,20,20),pt(),W.current=O.key,V.current=ye,Da(ye,!0)},onDragEnd:pt,title:T?"Drag to reorder":"New model draft row",children:(0,Ie.jsx)(Os,{className:"h-4 w-4"})}),(0,Ie.jsx)(za,{disabled:Ve||!T||k<=0,label:!T||k<=0?"Already first":`Move ${O.id||`model ${k+1}`} up`,onClick:()=>Te(O.key)}),(0,Ie.jsx)(Nl,{disabled:Ve||!T||ge>=Ft,label:!T||ge>=Ft?"Already last":`Move ${O.id||`model ${k+1}`} down`,onClick:()=>rt(O.key)}),(0,Ie.jsx)(He,{ref:Y=>{Y?q.current.set(O.key,Y):q.current.delete(O.key)},value:O.id,onChange:Y=>pe(O.key,{id:Y.target.value},{clearLookupState:!0,closeLookupMenu:!0}),placeholder:T?"Model id":"Add a new model id",disabled:Ve}),(0,Ie.jsxs)("div",{ref:Y=>{Y?ae.current.set(O.key,Y):ae.current.delete(O.key)},className:"relative min-w-0",children:[(0,Ie.jsx)(He,{value:L===O.key?z[O.key]??Cu(O.contextWindow):N1(O.contextWindow),onChange:Y=>{let ye=Y.target.value,$n=Qo(ye);G(Ii=>({...Ii,[O.key]:Cu($n)})),pe(O.key,{contextWindow:$n},{clearStatus:!1})},onBlur:Y=>{F(ye=>ye===O.key?"":ye),G(ye=>{if(!Object.prototype.hasOwnProperty.call(ye,O.key))return ye;let $n={...ye};return delete $n[O.key],$n}),pe(O.key,{contextWindow:Qo(Y.target.value)},{clearStatus:!1})},onFocus:()=>{re&&(F(O.key),G(Y=>({...Y,[O.key]:Cu(O.contextWindow)})),At(O.key,{openMenu:!0}))},onClick:()=>{re&&At(O.key,{openMenu:!0})},onKeyDown:Y=>{if(Y.key==="ArrowDown"&&re){Y.preventDefault(),At(O.key,{openMenu:!0});return}Y.key==="Escape"&&(Y.preventDefault(),M(""))},placeholder:"Context window",inputMode:"numeric",disabled:Ve||!re,className:"font-medium tabular-nums","aria-label":re?`Context window for ${re}`:"Context window"}),nt?(0,Ie.jsx)($m,{open:nt,anchorRef:{current:ae.current.get(O.key)||null},preferredSide:"top",desiredHeight:224,className:"z-20 rounded-lg bg-background/98 p-2",onMouseDown:Y=>Y.preventDefault(),children:ue?(0,Ie.jsxs)("div",{className:"inline-flex items-center gap-2 px-1 py-2 text-sm text-muted-foreground",children:[(0,Ie.jsx)(Ur,{}),"Fetching size options for ",(0,Ie.jsx)("code",{children:re}),"."]}):H?.status==="error"?(0,Ie.jsx)("div",{className:"rounded-lg border border-rose-200 bg-rose-50 px-3 py-2 text-xs text-rose-900",children:H.error||"Could not load suggested sizes."}):H?.options?.length>0?(0,Ie.jsx)("div",{className:"space-y-1",children:H.options.map(Y=>(0,Ie.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:Ve,onMouseDown:ye=>ye.preventDefault(),onClick:()=>{G(ye=>({...ye,[O.key]:Cu(Y.contextWindow)})),pe(O.key,{contextWindow:String(Y.contextWindow)},{clearStatus:!1}),M("")},title:`Use ${Y.label}`,children:[(0,Ie.jsxs)("div",{className:"min-w-0 space-y-1",children:[(0,Ie.jsx)("div",{className:"break-words font-medium leading-5",children:Y.label}),(0,Ie.jsx)("div",{className:"break-words text-xs leading-4 text-muted-foreground",children:Y.detail})]}),(0,Ie.jsxs)("div",{className:"w-full rounded-md border border-border/70 bg-secondary/70 px-3 py-2",children:[(0,Ie.jsx)("div",{className:"text-[10px] font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Context size"}),(0,Ie.jsx)("div",{className:"mt-1 text-lg font-semibold leading-none tabular-nums text-foreground",children:Yo(Y.contextWindow)})]})]},Y.key))}):(0,Ie.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,Ie.jsx)("code",{children:H?.query||re}),"."]})}):null]}),T?(0,Ie.jsx)(U,{type:"button",variant:"ghost",className:ks,onMouseDown:Y=>Y.preventDefault(),onClick:()=>Nr(O.key),disabled:Ve,children:"Remove"}):(0,Ie.jsx)(U,{type:"button",variant:"ghost",className:Q(ks,"pointer-events-none invisible"),tabIndex:-1,disabled:!0,"aria-hidden":"true",children:"Remove"})]}),T&&(0,Ie.jsx)(Wm,{capabilities:O.capabilities||{},disabled:Ve,onChange:(Y,ye)=>{let $n={...O.capabilities||{}};ye===void 0?delete $n[Y]:$n[Y]=ye,pe(O.key,{capabilities:$n})}}),ue?(0,Ie.jsx)("div",{className:"flex justify-end text-xs",children:(0,Ie.jsxs)("div",{className:"inline-flex items-center gap-1.5 text-sky-700",children:[(0,Ie.jsx)(Ur,{}),"Looking up sizes"]})}):null,qt?(0,Ie.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,Ie.jsx)("code",{children:"128000"}),", or leave the field blank."]}):Me==="pending"?(0,Ie.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."}):Me==="success"?(0,Ie.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."}):Me==="error"?(0,Ie.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]},O.key)})}),en?(0,Ie.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-sm text-amber-900",children:en}):null,w?(0,Ie.jsx)("div",{className:Q("rounded-xl px-3 py-2 text-sm",w.tone==="error"?"border border-rose-200 bg-rose-50 text-rose-900":w.tone==="warning"?"border border-amber-200 bg-amber-50 text-amber-900":"border border-emerald-200 bg-emerald-50 text-emerald-900"),children:w.message}):null,(0,Ie.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,Ie.jsxs)("div",{className:"flex min-h-9 items-center justify-between gap-3",children:[(0,Ie.jsx)("div",{className:Q("text-xs",c==="testing"?"text-sky-700":c==="saving"?"text-foreground":"text-muted-foreground"),children:c==="testing"?(0,Ie.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:[(0,Ie.jsx)(Ur,{}),d||"Testing new models before save."]}):c==="saving"?(0,Ie.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:[(0,Ie.jsx)(Ur,{}),d||"Saving provider models."]}):Ze.length>0&&Co(e)==="api"?`${Ze.length} new model${Ze.length===1?"":"s"} will be tested before save.`:"Existing models keep their current configuration metadata."}),(0,Ie.jsxs)("div",{className:"flex items-center justify-end gap-2",children:[!t&&!Ve&&wt.length>0?(0,Ie.jsx)(U,{type:"button",variant:"outline",onClick:()=>{Ee()},children:v?"Filling\u2026":"Fill missing context size"}):null,!t&&!Ve&&bt?(0,Ie.jsx)(U,{type:"button",variant:"ghost",onClick:()=>{y({}),R({}),E(null),M(""),Pe.current.clear(),ne.current.clear(),m(we(u,{preserveFocus:!0}))},children:"Reset"}):null,!t&&bt&&!en?(0,Ie.jsx)(U,{type:"button",onClick:()=>{yn()},disabled:Ve,children:c==="testing"||b==="testing"?"Testing\u2026":c==="saving"||b==="saving"||r?"Saving\u2026":"Save models"}):null]})]})})]})}var na=D(be(),1);var JE=D(J(),1);function XE({className:e,...t}){return(0,JE.jsx)("textarea",{className:Q("flex min-h-40 w-full rounded-xl border border-input bg-background/80 px-3 py-3 text-sm text-foreground shadow-sm outline-none transition placeholder:text-muted-foreground focus:border-ring focus:ring-2 focus:ring-ring/40",e),...t})}var Qs=D(be(),1);var wn=D(J(),1),_B=[{key:"used",placeholder:"$.quota.used_dollars"},{key:"limit",placeholder:"$.quota.limit_dollars"},{key:"remaining",placeholder:"$.quota.remaining_dollars"},{key:"resetAt",placeholder:"$.quota.reset_at"},{key:"isUnlimited",placeholder:"$.quota.is_unlimited"}],LB=[{value:"number",label:"Number"},{value:"datetime",label:"Date/time"},{value:"boolean",label:"Boolean"},{value:"dollars-from-cents",label:"$ from cents"},{value:"raw",label:"Raw"}];function DB(e){return e==="resetAt"?"datetime":e==="isUnlimited"?"boolean":"number"}function Lb(e,t="$"){if(e===null||typeof e!="object")return[{path:t,value:e}];let n=[];if(Array.isArray(e))e.forEach((r,o)=>n.push(...Lb(r,`${t}[${o}]`)));else for(let r of Object.keys(e))n.push(...Lb(e[r],`${t}.${r}`));return n}function BB(e){return e===null?"null":typeof e=="boolean"||typeof e=="number"?String(e):typeof e=="string"?e.length>24?`"${e.slice(0,24)}\u2026"`:`"${e}"`:String(e)}function IB({value:e,onChange:t,placeholder:n,availablePaths:r}){let[o,a]=(0,Qs.useState)(!1),i=(0,Qs.useRef)(null);if((0,Qs.useEffect)(()=>{if(!o)return;function c(d){i.current&&!i.current.contains(d.target)&&a(!1)}return document.addEventListener("mousedown",c),()=>document.removeEventListener("mousedown",c)},[o]),!r||r.length===0)return(0,wn.jsx)(He,{value:e||"",onChange:c=>t(c.target.value),placeholder:n,className:"h-7 flex-1 text-xs font-mono"});let l=e||"",s=l?r.filter(c=>c.path.toLowerCase().includes(l.toLowerCase())):r;return(0,wn.jsxs)("div",{ref:i,className:"relative flex-1",children:[(0,wn.jsx)(He,{value:e||"",onChange:c=>t(c.target.value),onFocus:()=>a(!0),placeholder:n,className:"h-7 w-full text-xs font-mono"}),o&&s.length>0?(0,wn.jsx)("div",{className:"absolute left-0 z-50 mt-1 max-h-48 w-full min-w-64 overflow-auto rounded-lg border border-border bg-popover p-0.5 shadow-lg",children:s.map(({path:c,value:d})=>(0,wn.jsxs)("button",{type:"button",className:`flex w-full items-center justify-between gap-2 rounded px-2 py-1 text-xs text-left${c===e?" bg-accent":" hover:bg-accent/60"}`,onMouseDown:u=>u.preventDefault(),onClick:()=>{t(c),a(!1)},children:[(0,wn.jsx)("span",{className:"font-mono truncate",children:c}),(0,wn.jsx)("span",{className:"shrink-0 text-muted-foreground text-[10px]",children:BB(d)})]},c))}):null]})}function ZE({mapping:e={},testResult:t,rawResponse:n,onChange:r}){let o=n?Lb(n):null;function a(i,l,s){let c=e[i]||{};r({...e,[i]:{...c,[l]:s}})}return(0,wn.jsxs)("div",{className:"space-y-1.5",children:[(0,wn.jsxs)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:["Field mapping",(0,wn.jsx)("span",{className:"ml-2 normal-case tracking-normal text-[11px] text-muted-foreground/70",children:o?"Click a field to pick from response paths.":"Map JSON response paths to normalized snapshot fields."})]}),_B.map(({key:i,placeholder:l})=>{let s=e[i]||{},c=t?.[i];return(0,wn.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,wn.jsx)("span",{className:"w-24 shrink-0 text-xs font-medium font-mono text-foreground",children:i}),(0,wn.jsx)(IB,{value:s.path||"",onChange:d=>a(i,"path",d),placeholder:l,availablePaths:o}),(0,wn.jsxs)(Et,{value:s.as||DB(i),onValueChange:d=>a(i,"as",d),children:[(0,wn.jsx)(Tt,{className:"h-7 w-28 shrink-0 text-xs",children:(0,wn.jsx)(Mt,{})}),(0,wn.jsx)(kt,{children:LB.map(d=>(0,wn.jsx)(Je,{value:d.value,children:d.label},d.value))})]}),t?(0,wn.jsx)(Ne,{variant:"outline",className:"shrink-0 text-[10px] max-w-20 truncate",children:c!=null?String(c):"\u2013"}):null]},i)})]})}var Ym=D(be(),1);var Ct=D(J(),1),zB=[{key:"used",label:"used"},{key:"limit",label:"limit"},{key:"remaining",label:"remaining"},{key:"resetAt",label:"resetAt"},{key:"isUnlimited",label:"isUnlimited"}];function Db(e){return e===null||typeof e!="object"}function Bb({value:e,path:t,depth:n,assignedPaths:r,activeMenuPath:o,onRowClick:a,onAssign:i}){let[l,s]=(0,Ym.useState)(n>2);if(Db(e))return(0,Ct.jsx)(PB,{value:e,path:t,assignedPaths:r,isMenuOpen:o===t,onAssign:i});if(Array.isArray(e))return e.length===0?(0,Ct.jsx)("span",{className:"text-muted-foreground/60",children:"[]"}):(0,Ct.jsxs)("span",{children:[(0,Ct.jsx)("button",{type:"button",onClick:()=>s(!l),className:"text-muted-foreground hover:text-foreground",children:l?`[\u2026] ${e.length} items`:"["}),l?null:(0,Ct.jsx)("div",{className:"ml-4 border-l border-border/40 pl-2",children:e.map((c,d)=>{let u=`${t}[${d}]`,f=Db(c);return(0,Ct.jsxs)("div",{className:`flex gap-1${f?" cursor-pointer rounded px-1 -mx-1 hover:bg-accent/40 transition-colors":""}${f&&o===u?" bg-accent/40":""}`,onClick:f?m=>{m.stopPropagation(),a(u)}:void 0,children:[(0,Ct.jsxs)("span",{className:"shrink-0 text-muted-foreground/50 select-none",children:[d,":"]}),(0,Ct.jsx)(Bb,{value:c,path:u,depth:n+1,assignedPaths:r,activeMenuPath:o,onRowClick:a,onAssign:i})]},d)})}),l?null:(0,Ct.jsx)("span",{children:"]"})]});if(typeof e=="object"){let c=Object.keys(e);return c.length===0?(0,Ct.jsx)("span",{className:"text-muted-foreground/60",children:"{}"}):(0,Ct.jsxs)("span",{children:[(0,Ct.jsx)("button",{type:"button",onClick:()=>s(!l),className:"text-muted-foreground hover:text-foreground",children:l?`{\u2026} ${c.length} keys`:"{"}),l?null:(0,Ct.jsx)("div",{className:"ml-4 border-l border-border/40 pl-2",children:c.map(d=>{let u=`${t}.${d}`,f=Db(e[d]);return(0,Ct.jsxs)("div",{className:`flex gap-1${f?" cursor-pointer rounded px-1 -mx-1 hover:bg-accent/40 transition-colors":""}${f&&o===u?" bg-accent/40":""}`,onClick:f?m=>{m.stopPropagation(),a(u)}:void 0,children:[(0,Ct.jsxs)("span",{className:"shrink-0 text-muted-foreground select-none",children:[d,":"]}),(0,Ct.jsx)(Bb,{value:e[d],path:u,depth:n+1,assignedPaths:r,activeMenuPath:o,onRowClick:a,onAssign:i})]},d)})}),l?null:(0,Ct.jsx)("span",{children:"}"})]})}return(0,Ct.jsx)("span",{className:"text-muted-foreground",children:String(e)})}function PB({value:e,path:t,assignedPaths:n,isMenuOpen:r,onAssign:o}){let a=e===null?"null":typeof e,i=e===null?"null":typeof e=="string"?`"${e}"`:String(e),l=n.get(t)||null;return(0,Ct.jsxs)("span",{className:"inline-flex flex-wrap items-center gap-1",children:[(0,Ct.jsx)("span",{className:`${a==="string"?"text-emerald-600 dark:text-emerald-400":a==="number"?"text-blue-600 dark:text-blue-400":a==="boolean"?"text-amber-600 dark:text-amber-400":"text-muted-foreground"} font-mono text-xs`,children:i}),l?(0,Ct.jsx)(Ne,{variant:"success",className:"text-[9px] px-1 py-0 leading-tight",children:l}):null,r?(0,Ct.jsx)("span",{className:"inline-flex flex-wrap gap-0.5",children:zB.map(({key:c,label:d})=>(0,Ct.jsxs)(U,{type:"button",variant:n.get(t)===c?"default":"outline",size:"sm",className:"h-5 px-1.5 text-[10px]",onClick:u=>{u.stopPropagation(),o(c,t)},children:["\u2192"," ",d]},c))}):null]})}function eT({raw:e,mapping:t={},onAssign:n}){let[r,o]=(0,Ym.useState)(!0),[a,i]=(0,Ym.useState)(null),l=new Map;for(let[d,u]of Object.entries(t))u?.path&&l.set(u.path,d);function s(d){i(u=>u===d?null:d)}function c(d,u){n(d,u),i(null)}return!e||typeof e!="object"?null:(0,Ct.jsxs)("div",{className:"space-y-1.5",children:[(0,Ct.jsxs)("div",{className:"flex items-center justify-between",children:[(0,Ct.jsxs)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:["Response",(0,Ct.jsx)("span",{className:"ml-2 normal-case tracking-normal text-[11px] text-muted-foreground/70",children:"Click any row to map it to a field."})]}),(0,Ct.jsx)(U,{type:"button",variant:"ghost",size:"sm",className:"h-6 text-[11px] text-muted-foreground",onClick:()=>o(!r),children:r?"Collapse":"Expand"})]}),r?(0,Ct.jsx)("div",{className:"max-h-72 overflow-auto rounded-lg border border-border/60 bg-muted/30 p-3 font-mono text-xs leading-5",children:(0,Ct.jsx)(Bb,{value:e,path:"$",depth:0,assignedPaths:l,activeMenuPath:a,onRowClick:s,onAssign:c})}):null]})}var rr=D(J(),1);function UB(e,t){return t?{label:"Probe unhealthy",variant:"warning"}:e?e.isUnlimited?{label:"Unlimited",variant:"success"}:e.state==="fresh"&&typeof e.remaining=="number"&&e.remaining<=0?{label:"Exhausted",variant:"destructive"}:e.state==="fresh"?{label:"Available",variant:"success"}:e.state==="errored"?{label:"Error",variant:"destructive"}:e.state==="stale"?{label:"Stale",variant:"warning"}:{label:"Unknown",variant:"outline"}:{label:"No data",variant:"outline"}}function jB(e){if(!e||e<0)return"just now";let t=Math.floor(e/1e3);if(t<60)return`${t}s ago`;let n=Math.floor(t/60);return n<60?`${n}m ago`:`${Math.floor(n/60)}h ${n%60}m ago`}function VB(e,t){if(!e)return null;let n=e-(t||Date.now());if(n<=0)return"resets soon";let r=Math.floor(n/36e5),o=Math.floor(n%36e5/6e4);return r>0?`resets in ${r}h ${o}m`:`resets in ${o}m`}function tT({snapshot:e,circuitOpen:t,onRefresh:n,now:r}){let o=UB(e,t),a=r||Date.now(),i=e?.fetchedAt?a-e.fetchedAt:null,l=typeof e?.used=="number"&&typeof e?.limit=="number"&&e.limit>0,s=l?Math.min(100,Math.round(e.used/e.limit*100)):0,c=e?.error?.message||(typeof e?.error=="string"?e.error:null);return(0,rr.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-secondary/45 p-4 space-y-3",children:[(0,rr.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,rr.jsxs)("div",{className:"flex items-center gap-2",children:[(0,rr.jsx)(Ne,{variant:o.variant,children:o.label}),i!==null?(0,rr.jsxs)("span",{className:"text-xs text-muted-foreground",children:["last refreshed ",jB(i)]}):null]}),(0,rr.jsx)(U,{type:"button",variant:"outline",size:"sm",onClick:n,children:"Refresh"})]}),l?(0,rr.jsxs)("div",{className:"space-y-1",children:[(0,rr.jsxs)("div",{className:"flex items-baseline gap-1 text-sm",children:[(0,rr.jsxs)("span",{className:"font-medium",children:["$",e.used.toFixed(2)]}),(0,rr.jsxs)("span",{className:"text-muted-foreground",children:["/ $",e.limit.toFixed(2)," used"]}),e.resetAt?(0,rr.jsx)("span",{className:"ml-2 text-muted-foreground",children:VB(e.resetAt,a)}):null]}),(0,rr.jsx)("div",{className:"h-2 w-full overflow-hidden rounded-full bg-secondary",children:(0,rr.jsx)("div",{className:`h-full rounded-full transition-all ${s>=95?"bg-destructive":"bg-primary"}`,style:{width:`${s}%`}})})]}):null,c?(0,rr.jsx)("div",{className:"text-xs text-destructive",children:c}):null]})}var oe=D(J(),1);function FB(e){return e?{enabled:!!e.enabled,capKind:e.capKind||"dollars",combinator:e.combinator||"AND",enforce:e.enforce||"gate",safetyMargin:{dollars:Number(e.safetyMargin?.dollars)||0,percent:Number(e.safetyMargin?.percent)||0},mode:e.mode||"http",http:{method:e.http?.method||"GET",url:e.http?.url||"",headers:Array.isArray(e.http?.headers)&&e.http.headers.length>0?e.http.headers.map(t=>({key:t.key||"",value:t.value||""})):[{key:"Authorization",value:"Bearer {{providerApiKey}}"}],body:e.http?.body??null,timeoutMs:e.http?.timeoutMs||5e3,mapping:e.http?.mapping||{}},custom:{source:e.custom?.source||"",timeoutMs:e.custom?.timeoutMs||2e3}}:{enabled:!1,capKind:"dollars",combinator:"AND",enforce:"gate",safetyMargin:{dollars:0,percent:0},mode:"http",http:{method:"GET",url:"",headers:[{key:"Authorization",value:"Bearer {{providerApiKey}}"}],body:null,timeoutMs:5e3,mapping:{}},custom:{source:"",timeoutMs:2e3}}}function HB({headers:e,onChange:t}){function n(a,i,l){t(e.map((s,c)=>c===a?{...s,[i]:l}:s))}function r(){t([...e,{key:"",value:""}])}function o(a){t(e.filter((i,l)=>l!==a))}return(0,oe.jsxs)("div",{className:"space-y-1.5",children:[(0,oe.jsxs)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:["Request headers",(0,oe.jsxs)("span",{className:"ml-2 normal-case tracking-normal text-[11px] text-muted-foreground/70",children:["Use ","{{providerApiKey}}"," to inject the provider's API key."]})]}),e.map((a,i)=>(0,oe.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,oe.jsx)(He,{value:a.key,onChange:l=>n(i,"key",l.target.value),placeholder:"Header name",className:"h-7 w-40 shrink-0 font-mono text-xs"}),(0,oe.jsx)("span",{className:"text-xs text-muted-foreground/50 select-none",children:":"}),(0,oe.jsx)(He,{value:a.value,onChange:l=>n(i,"value",l.target.value),placeholder:"Header value",className:"h-7 flex-1 font-mono text-xs"}),(0,oe.jsx)(U,{type:"button",variant:"ghost",size:"icon",className:"h-7 w-7 shrink-0 text-muted-foreground/60 hover:text-destructive",onClick:()=>o(i),children:(0,oe.jsx)("span",{className:"text-xs",children:"\u2715"})})]},i)),(0,oe.jsx)(U,{type:"button",variant:"outline",size:"sm",className:"h-7 text-xs",onClick:r,children:"+ Add header"})]})}function nT({providerId:e,probeConfig:t,snapshot:n,onSave:r}){let[o,a]=(0,na.useState)(()=>FB(t)),[i,l]=(0,na.useState)(null),[s,c]=(0,na.useState)(!1),[d,u]=(0,na.useState)(""),[f,m]=(0,na.useState)(n),[b,p]=(0,na.useState)(!1),[v,h]=(0,na.useState)(""),g=(0,na.useCallback)((w,E)=>{a(C=>{let M=w.split(".");return M.length===1?{...C,[w]:E}:M.length===2?{...C,[M[0]]:{...C[M[0]],[M[1]]:E}}:C})},[]);async function y(){if(!s){c(!0),u(""),l(null);try{let w=await Dy(e,{mode:o.mode,capKind:o.capKind,http:o.mode==="http"?o.http:void 0,custom:o.mode==="custom"?o.custom:void 0});l(w)}catch(w){u(w?.message||"Test failed.")}finally{c(!1)}}}async function x(){try{let w=await j1(e);w?.snapshot&&m(w.snapshot)}catch{}}async function R(){if(!b){p(!0),h("");try{let w=o.mode==="http"&&o.http.url.trim()!==""||o.mode==="custom"&&o.custom.source.trim()!=="",E={...o,enabled:w};await V1(e,E),r?.(E),h("saved"),setTimeout(()=>h(""),2e3);let C=o.mode==="http"&&o.http.url.trim(),M=o.mode==="custom"&&o.custom.source.trim();if(C||M)try{let L=await Dy(e,{mode:o.mode,capKind:o.capKind,http:o.mode==="http"?o.http:void 0,custom:o.mode==="custom"?o.custom:void 0});l(L),u("")}catch{}}catch(w){h(w?.message||"Save failed.")}finally{p(!1)}}}return(0,oe.jsxs)("div",{className:"space-y-4",children:[(0,oe.jsx)(tT,{snapshot:f,circuitOpen:!1,onRefresh:x}),(0,oe.jsxs)(Vo,{value:o.mode,onValueChange:w=>g("mode",w),children:[(0,oe.jsxs)(Fo,{children:[(0,oe.jsx)(xn,{value:"http",children:"Simple mapping"}),(0,oe.jsx)(xn,{value:"custom",children:"Custom function"})]}),(0,oe.jsxs)(Sn,{value:"http",className:"space-y-4 pt-2",children:[(0,oe.jsxs)("div",{className:"space-y-1.5",children:[(0,oe.jsxs)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:["Endpoint",(0,oe.jsx)("span",{className:"ml-2 normal-case tracking-normal text-[11px] text-muted-foreground/70",children:"The provider's usage or billing endpoint."})]}),(0,oe.jsxs)("div",{className:"flex items-center gap-2",children:[(0,oe.jsxs)(Et,{value:o.http.method,onValueChange:w=>g("http.method",w),children:[(0,oe.jsx)(Tt,{className:"h-9 w-24 shrink-0",children:(0,oe.jsx)(Mt,{})}),(0,oe.jsxs)(kt,{children:[(0,oe.jsx)(Je,{value:"GET",children:"GET"}),(0,oe.jsx)(Je,{value:"POST",children:"POST"})]})]}),(0,oe.jsx)(He,{value:o.http.url,onChange:w=>g("http.url",w.target.value),placeholder:"https://open-claude.com/v1/usage",className:"h-9 flex-1 font-mono text-xs"}),(0,oe.jsx)(U,{type:"button",variant:"outline",className:"h-9 shrink-0",onClick:y,disabled:s||!o.http.url,children:s?"Testing\u2026":"Test"}),i?.latencyMs!=null?(0,oe.jsxs)(Ne,{variant:"outline",className:"shrink-0",children:[i.latencyMs,"ms"]}):null]})]}),(0,oe.jsx)(HB,{headers:o.http.headers,onChange:w=>a(E=>({...E,http:{...E.http,headers:w}}))}),!i&&!d?(0,oe.jsxs)("div",{className:"rounded-lg border border-border/50 bg-muted/20 px-3 py-2 text-xs text-muted-foreground",children:["Hit ",(0,oe.jsx)("strong",{children:"Test"})," to fetch the endpoint. The JSON response will appear below \u2014 click any row to map it to a snapshot field."]}):null,d?(0,oe.jsx)("div",{className:"rounded-xl border border-rose-200 bg-rose-50 px-3 py-2 text-sm text-rose-900 dark:border-rose-900/30 dark:bg-rose-950/30 dark:text-rose-300",children:d}):null,i?.snapshot?.state==="errored"?(0,oe.jsxs)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-sm text-amber-900 dark:border-amber-900/30 dark:bg-amber-950/30 dark:text-amber-300",children:[(0,oe.jsx)("strong",{children:"Probe returned an error:"})," ",i.snapshot.error?.message||"Unknown error",i.raw?" \u2014 see the response body below.":" \u2014 the endpoint did not return a JSON body."]}):null,i?.raw?(0,oe.jsx)(eT,{raw:i.raw,mapping:o.http.mapping,onAssign:(w,E)=>{a(C=>({...C,http:{...C.http,mapping:{...C.http.mapping,[w]:{...C.http.mapping[w]||{},path:E}}}}))}}):null,i?(0,oe.jsx)(ZE,{mapping:o.http.mapping,testResult:i.snapshot,rawResponse:i.raw,onChange:w=>a(E=>({...E,http:{...E.http,mapping:w}}))}):null]}),(0,oe.jsxs)(Sn,{value:"custom",className:"space-y-4 pt-2",children:[(0,oe.jsx)(De,{label:"Custom function",hint:"Define async function fetchUsage(ctx) returning { used, limit, remaining, resetAt, isUnlimited }. ctx provides fetch, providerApiKey, providerBaseUrl, providerId.",stacked:!0,children:(0,oe.jsx)(XE,{value:o.custom.source,onChange:w=>g("custom.source",w.target.value),placeholder:`async function fetchUsage(ctx) {
52
+ const res = await ctx.fetch("https://open-claude.com/v1/usage", {
53
+ headers: { Authorization: \`Bearer \${ctx.providerApiKey}\` }
54
+ });
55
+ const json = await res.json();
56
+ return { capKind: "dollars", used: json.quota.used_dollars, limit: json.quota.limit_dollars };
57
+ }`,className:"min-h-40 font-mono text-xs"})}),(0,oe.jsxs)("div",{className:"flex items-center gap-2",children:[(0,oe.jsx)(U,{type:"button",variant:"outline",onClick:y,disabled:s||!o.custom.source,children:s?"Testing\u2026":"Test"}),i?.latencyMs!=null?(0,oe.jsxs)(Ne,{variant:"outline",children:[i.latencyMs,"ms"]}):null]}),d?(0,oe.jsx)("div",{className:"rounded-xl border border-rose-200 bg-rose-50 px-3 py-2 text-sm text-rose-900 dark:border-rose-900/30 dark:bg-rose-950/30 dark:text-rose-300",children:d}):null]})]}),(0,oe.jsxs)("div",{className:"grid gap-3 md:grid-cols-3",children:[(0,oe.jsx)(De,{label:"Cap kind",hint:"Unit the provider reports usage in.",stacked:!0,children:(0,oe.jsxs)(Et,{value:o.capKind,onValueChange:w=>g("capKind",w),children:[(0,oe.jsx)(Tt,{className:"h-9",children:(0,oe.jsx)(Mt,{})}),(0,oe.jsxs)(kt,{children:[(0,oe.jsx)(Je,{value:"dollars",children:"Dollars"}),(0,oe.jsx)(Je,{value:"tokens",children:"Tokens"}),(0,oe.jsx)(Je,{value:"requests",children:"Requests"})]})]})}),(0,oe.jsx)(De,{label:"Enforce",hint:"Gate blocks routing; observe logs only.",stacked:!0,children:(0,oe.jsxs)(Et,{value:o.enforce,onValueChange:w=>g("enforce",w),children:[(0,oe.jsx)(Tt,{className:"h-9",children:(0,oe.jsx)(Mt,{})}),(0,oe.jsxs)(kt,{children:[(0,oe.jsx)(Je,{value:"gate",children:"Gate routing"}),(0,oe.jsx)(Je,{value:"observe",children:"Observability only"})]})]})}),(0,oe.jsx)(De,{label:"Combinator",hint:"How probe combines with local rate limits.",stacked:!0,children:(0,oe.jsxs)(Et,{value:o.combinator,onValueChange:w=>g("combinator",w),children:[(0,oe.jsx)(Tt,{className:"h-9",children:(0,oe.jsx)(Mt,{})}),(0,oe.jsxs)(kt,{children:[(0,oe.jsx)(Je,{value:"AND",children:"AND (both must allow)"}),(0,oe.jsx)(Je,{value:"OR",children:"OR (either allows)"}),(0,oe.jsx)(Je,{value:"REPLACE",children:"REPLACE (probe only)"})]})]})})]}),(0,oe.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,oe.jsx)(De,{label:"Safety margin (dollars)",hint:"Gate when remaining drops below this amount.",stacked:!0,children:(0,oe.jsx)(He,{type:"number",min:"0",step:"0.01",value:o.safetyMargin.dollars,onChange:w=>g("safetyMargin.dollars",Number(w.target.value)||0)})}),(0,oe.jsx)(De,{label:"Safety margin (%)",hint:"Gate below this % of limit. Larger margin wins.",stacked:!0,children:(0,oe.jsx)(He,{type:"number",min:"0",max:"100",step:"1",value:o.safetyMargin.percent,onChange:w=>g("safetyMargin.percent",Number(w.target.value)||0)})})]}),(0,oe.jsxs)("div",{className:"flex items-center justify-end gap-2",children:[v==="saved"?(0,oe.jsx)("span",{className:"text-xs text-emerald-600 dark:text-emerald-400",children:"Saved"}):null,v&&v!=="saved"?(0,oe.jsx)("span",{className:"text-xs text-rose-600 dark:text-rose-400",children:v}):null,(0,oe.jsx)(U,{type:"button",onClick:R,disabled:b,children:b?"Saving\u2026":"Save probe config"})]})]})}var me=D(J(),1);function $B({provider:e,onRemove:t,onCopyModelId:n,onApplyProviderDetails:r,onApplyProviderModels:o,onSaveAndCloseEditor:a,disabledReason:i="",busy:l=!1}){let s=(0,rn.useMemo)(()=>XC(e),[e]),[c,d]=(0,rn.useState)(s),[u,f]=(0,rn.useState)(!1),[m,b]=(0,rn.useState)(!1),[p,v]=(0,rn.useState)(!1),[h,g]=(0,rn.useState)("provider"),[y,x]=(0,rn.useState)(""),[R,w]=(0,rn.useState)(0),[E,C]=(0,rn.useState)({isDirty:!1,issue:"",locked:!1,rows:[]}),[M,L]=(0,rn.useState)({phase:"",modelStates:{},failedModelIds:[],message:""}),F=(0,rn.useRef)(null),z=(0,rn.useRef)(null),G=(0,rn.useRef)(null),ee=(0,rn.useRef)(null);(0,rn.useEffect)(()=>{d(s)},[s]);let q=Co(e)!=="api",ae=(Array.isArray(e?.models)?e.models:[]).map(Te=>String(Te?.id||"").trim()).filter(Boolean),te=Ba(e),W=q?"":$C(e?.rateLimits),V=q?[]:lr(c?.endpoints,c?.endpointDraft),Pe=q?[]:wr(c?.rateLimitRows),ne=JSON.stringify({id:String(c?.id||"").trim(),name:String(c?.name||"").trim(),credentialInput:String(c?.credentialInput||"").trim(),endpoints:V,endpointDraft:String(c?.endpointDraft||"").trim(),rateLimitRows:Ay(c?.rateLimitRows)}),$e=JSON.stringify({id:String(s?.id||"").trim(),name:String(s?.name||"").trim(),credentialInput:String(s?.credentialInput||"").trim(),endpoints:Sr(s?.endpoints),endpointDraft:String(s?.endpointDraft||"").trim(),rateLimitRows:Ay(s?.rateLimitRows)}),ie=ne!==$e,we=!!i||l,Ue=new Set((Array.isArray(E.rows)?E.rows:[]).map(Te=>String(Te?.id||"").trim()).filter(Boolean)),j=M.failedModelIds.filter(Te=>Ue.has(Te)),pe=we||M.phase==="testing"||M.phase==="saving",Se=q?"":$o(Pe,{knownModelIds:ae,requireAtLeastOne:!0}),Le=i||(String(c?.id||"").trim()?fl.test(String(c?.id||"").trim())?String(c?.name||"").trim()?!q&&V.length===0?"Add at least one endpoint for API Key providers.":!q&&V.some(Te=>!Ni(Te))?"All endpoints must start with http:// or https://.":Se:"Provider name is required.":"Provider id must start with a letter and use lowercase letters, digits, or dashes only.":"Provider id is required."),Ae=q?c:{...c,endpoints:V,endpointDraft:""},ke=!!E.isDirty,Qe=ie||ke,Ze=[ie?"provider settings":"",ke?"model list":""].filter(Boolean),on=[ie&&Le?`Provider: ${Le}`:"",ke&&E.issue?`Models: ${E.issue}`:""].filter(Boolean).join(" "),Un=we||M.phase==="testing"||M.phase==="saving"||ie&&!!Le||ke&&(!!E.issue||E.locked)||typeof a!="function";async function dn(){let Te=await r(e.id,Ae);return Te&&Ve(),Te}async function wt(Te){let rt=await o(e.id,Te,{providerDraft:ie?Ae:null,onModelTestStateChange:pt=>{L({phase:String(pt?.phase||""),modelStates:pt?.modelStates&&typeof pt.modelStates=="object"?pt.modelStates:{},failedModelIds:Array.isArray(pt?.failedModelIds)?pt.failedModelIds:[],message:String(pt?.message||"")})}});return rt&&Ve(),rt}function bt(){d(s)}let vt=(0,rn.useCallback)(Te=>{C(Te)},[]);function Ve(){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 Ft(){let Te=(Array.isArray(E.rows)?E.rows:[]).filter(pt=>!j.includes(String(pt?.id||"").trim()));return Te.length===0&&!ie||await a(e.id,{providerDraft:ie?Ae:null,modelRows:ke?Te:null,onModelTestStateChange:pt=>{L({phase:String(pt?.phase||""),modelStates:pt?.modelStates&&typeof pt.modelStates=="object"?pt.modelStates:{},failedModelIds:Array.isArray(pt?.failedModelIds)?pt.failedModelIds:[],message:String(pt?.message||"")})}})?(Ve(),!0):(g("models"),!1)}(0,rn.useEffect)(()=>{L({phase:"",modelStates:{},failedModelIds:[],message:""})},[s]),(0,rn.useEffect)(()=>{j.length>0||!p||v(!1)},[j,p]),(0,rn.useEffect)(()=>{if(!u||h!=="provider"||y!=="endpoint"&&y!=="rate-limit"||typeof window>"u")return;let Te=window.requestAnimationFrame(()=>{let rt=y==="endpoint"?F.current:G.current,pt=y==="endpoint"?z.current:ee.current;rt?.scrollIntoView?.({block:"nearest"}),pt?.focus?.(),pt?.select?.(),x("")});return()=>window.cancelAnimationFrame(Te)},[u,h,y]);function en(Te="provider",rt=""){b(!1),v(!1),g(Te),x(rt),Te==="models"&&rt==="models"&&w(pt=>pt+1),f(!0)}function hn(){if(!pe){if(j.length>0){b(!1),v(!0);return}if(Qe){b(!0);return}Ve()}}async function Nr(){if(Un)return;if(!await a(e.id,{providerDraft:ie?Ae:null,modelRows:ke?E.rows:null,onModelTestStateChange:rt=>{L({phase:String(rt?.phase||""),modelStates:rt?.modelStates&&typeof rt.modelStates=="object"?rt.modelStates:{},failedModelIds:Array.isArray(rt?.failedModelIds)?rt.failedModelIds:[],message:String(rt?.message||"")})}})){ke&&(b(!1),g("models"));return}Ve()}return(0,me.jsxs)(me.Fragment,{children:[(0,me.jsx)(Ut,{children:(0,me.jsxs)(jt,{className:"space-y-3 p-5",children:[(0,me.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,me.jsx)("div",{className:"min-w-0 flex-1 px-0.5 py-0.5",children:(0,me.jsxs)("div",{className:"flex flex-wrap items-baseline gap-x-2 gap-y-1",children:[(0,me.jsx)("span",{className:"text-base font-semibold text-foreground",children:e.name||e.id}),(0,me.jsxs)("span",{className:"text-sm text-muted-foreground",children:["(",e.id,")"]})]})}),(0,me.jsxs)("div",{className:"flex items-start gap-2 self-start",children:[(0,me.jsxs)(U,{type:"button",variant:"outline",size:"sm",className:"gap-1.5 normal-case tracking-normal",onClick:()=>en("provider"),disabled:we,"aria-label":`Edit provider ${e.name||e.id}`,title:"Edit provider",children:[(0,me.jsx)(_s,{className:"h-4 w-4 shrink-0"}),"Edit"]}),(0,me.jsx)(U,{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,me.jsx)(mu,{className:"h-4 w-4"})})]})]}),ae.length>0?(0,me.jsx)("div",{className:"flex flex-wrap gap-2 pt-1",children:ae.map(Te=>(0,me.jsx)(PE,{onClick:()=>n?.(Te),title:`Copy model id ${Te}`,className:"max-w-full",children:(0,me.jsx)("span",{className:"truncate",children:Te})},`${e.id}-${Te}`))}):null]})}),(0,me.jsx)(_n,{open:u,onClose:hn,title:`Edit \xB7 ${e.id}`,description:M.phase==="testing"?M.message||"Testing new models before save.":M.phase==="saving"?M.message||"Saving provider changes.":"Switch between provider settings and model list. Each tab saves independently.",closeDisabled:pe,closeOnBackdrop:!pe,closeOnEscape:!pe,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,me.jsxs)(Vo,{value:h,onValueChange:g,children:[(0,me.jsxs)(Fo,{className:"w-full justify-start",children:[(0,me.jsx)(xn,{value:"provider",children:"Provider"}),(0,me.jsx)(xn,{value:"models",children:"Model list"}),(0,me.jsx)(xn,{value:"quota-probe",children:"Quota Probe"})]}),(0,me.jsxs)(Sn,{forceMount:!0,value:"provider",className:Q("space-y-4 pb-4",h!=="provider"?"hidden":null),children:[(0,me.jsx)("div",{className:"rounded-2xl border border-border/70 bg-background/60 p-4",children:(0,me.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,me.jsxs)("div",{children:[(0,me.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Provider"}),(0,me.jsx)("div",{className:"mt-1 text-sm text-muted-foreground",children:"Update provider identity and connection settings here."})]}),(0,me.jsx)(Ne,{variant:"outline",children:q?"Subscription":"API Key"})]})}),(0,me.jsxs)("div",{className:Q("grid gap-3",q?"md:grid-cols-2":"md:grid-cols-[minmax(0,1fr)_minmax(0,1fr)]"),children:[(0,me.jsx)(De,{label:"Provider name",stacked:!0,children:(0,me.jsx)(He,{value:c.name,onChange:Te=>d(rt=>({...rt,name:Te.target.value})),disabled:pe})}),(0,me.jsx)(De,{label:"Provider id",hint:"Used in direct routes like provider/model",stacked:!0,children:(0,me.jsx)(He,{value:c.id,onChange:Te=>d(rt=>({...rt,id:Pr(Te.target.value)})),disabled:pe})})]}),q?null:(0,me.jsxs)("div",{className:"space-y-3",children:[(0,me.jsx)(De,{label:"API key or env",hint:"Use an env var like OPENAI_API_KEY or paste the direct key.",stacked:!0,children:(0,me.jsx)(Ws,{value:c.credentialInput||"",onChange:Te=>d(rt=>({...rt,credentialInput:Te.target.value})),disabled:pe,placeholder:"Example: OPENAI_API_KEY or sk-...",isEnvVar:Ao(c.credentialInput)})}),(0,me.jsx)("div",{ref:F,children:(0,me.jsx)(De,{label:"Endpoints",hint:te.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,me.jsx)(zu,{values:c.endpoints,onChange:Te=>d(rt=>({...rt,endpoints:Te})),draftValue:c.endpointDraft,onDraftValueChange:Te=>d(rt=>({...rt,endpointDraft:Te})),commitOnBlur:!0,disabled:pe,isValueValid:Ni,inputRef:z,inputClassName:"placeholder:text-muted-foreground/55",placeholder:"Click here to type new endpoint",helperText:"Paste one or more endpoints"})})}),(0,me.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,me.jsx)("div",{className:"md:col-span-2 xl:col-span-4",children:(0,me.jsx)(De,{label:"Rate limit",stacked:!0,headerAction:(0,me.jsx)(U,{type:"button",size:"sm",variant:"outline",onClick:()=>d(Te=>({...Te,rateLimitRows:Gm(Te.rateLimitRows)})),disabled:pe,children:"Add rate limit"}),children:(0,me.jsx)(qm,{rows:c.rateLimitRows,onChange:Te=>d(rt=>({...rt,rateLimitRows:Te})),availableModelIds:ae,disabled:pe,inputRef:ee})})})})]}),Le?(0,me.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-sm text-amber-900",children:Le}):null,(0,me.jsxs)("div",{className:"flex min-h-9 items-center justify-end gap-2",children:[!pe&&ie?(0,me.jsx)(U,{type:"button",variant:"ghost",onClick:bt,children:"Reset"}):null,ie&&!Le?(0,me.jsx)(U,{type:"button",onClick:()=>{dn()},disabled:pe,children:M.phase==="saving"||l?"Saving\u2026":"Save provider"}):null]})]}),(0,me.jsx)(Sn,{forceMount:!0,value:"models",className:Q(h!=="models"?"hidden":null),children:(0,me.jsx)(QE,{provider:e,disabled:!!i,disabledReason:i,busy:l,framed:!1,focusRequest:R,onStateChange:vt,onApply:wt,testStateByModel:M.modelStates,savePhase:M.phase,saveMessage:M.message})}),(0,me.jsx)(Sn,{value:"quota-probe",className:"space-y-4 pb-4",children:(0,me.jsx)(nT,{providerId:e.id,probeConfig:e.quotaProbe,snapshot:null,onSave:Te=>{console.log("Save quota probe config:",Te)}})})]})}),(0,me.jsx)(IE,{open:m,onKeepEditing:()=>b(!1),onDiscardAndClose:Ve,onSaveAndClose:Nr,saveDisabled:Un,dirtyLabels:Ze,details:on}),(0,me.jsx)(zE,{open:p,failedModelIds:j,onKeepEditing:()=>v(!1),onRemoveFailedAndClose:Ft,removeDisabled:pe||typeof a!="function"})]})}function KB({providers:e,onRemove:t,onCopyModelId:n,onApplyProviderDetails:r,onApplyProviderModels:o,onSaveAndCloseEditor:a,disabledReason:i="",busy:l=!1}){return e.length?(0,me.jsx)("div",{className:"grid gap-4 xl:grid-cols-2",children:e.map(s=>(0,me.jsx)($B,{provider:s,onRemove:t,onCopyModelId:n,onApplyProviderDetails:r,onApplyProviderModels:o,onSaveAndCloseEditor:a,disabledReason:i,busy:l},s.id))}):(0,me.jsx)(Ut,{children:(0,me.jsx)(jt,{className:"flex flex-col gap-4 p-5 text-sm text-muted-foreground",children:(0,me.jsx)("div",{children:"No enabled providers are configured yet. Use Add provider to create your first provider, model list, and rate limits."})})})}function rT({providers:e,onAddProvider:t,onRemove:n,onCopyModelId:r,onApplyProviderDetails:o,onApplyProviderModels:a,onSaveAndCloseEditor:i,disabledReason:l="",busy:s=!1}){return(0,me.jsxs)("section",{className:"rounded-2xl border border-border/70 bg-card p-4","aria-label":"Provider models",children:[(0,me.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between",children:[(0,me.jsxs)("div",{className:"min-w-0",children:[(0,me.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Provider & Models"}),(0,me.jsx)("div",{className:"mt-1 text-sm text-muted-foreground",children:"Manage providers, direct model routes, endpoints, and rate limits in one place."})]}),(0,me.jsx)(U,{onClick:t,children:"Add provider"})]}),(0,me.jsx)("div",{className:"mt-4",children:(0,me.jsx)(KB,{providers:e,onRemove:n,onCopyModelId:r,onApplyProviderDetails:o,onApplyProviderModels:a,onSaveAndCloseEditor:i,disabledReason:l,busy:s})})]})}var Pu=D(be(),1);var le=D(J(),1);function oT({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:m,onAutoLoad:b,onSaveSettings:p,onInstall:v,onStartServer:h,onStopServer:g,onSyncRouter:y,embedded:x=!1}){let R=a?.ollama||{},[w,E]=(0,Pu.useState)(R.baseUrl||"http://localhost:11434"),[C,M]=(0,Pu.useState)(R.autoConnect!==!1),[L,F]=(0,Pu.useState)(R.defaultKeepAlive||"5m"),z=t?.installed===!0;return(0,le.jsxs)("div",{className:"space-y-4",children:[(0,le.jsx)(Ut,{children:(0,le.jsxs)(jt,{className:"p-4 space-y-3",children:[(0,le.jsxs)("div",{className:"flex items-center justify-between",children:[(0,le.jsxs)("div",{className:"flex items-center gap-2",children:[(0,le.jsx)("h3",{className:"font-medium",children:"Ollama Connection"}),x?(0,le.jsx)("span",{className:"text-xs text-muted-foreground",children:"Local Models runtime"}):null,e?(0,le.jsx)(Ne,{variant:"success",children:"Connected"}):(0,le.jsx)(Ne,{variant:"outline",children:"Disconnected"})]}),(0,le.jsxs)("div",{className:"flex gap-2",children:[!z&&(0,le.jsx)(U,{size:"sm",onClick:v,disabled:r._install,children:r._install?"Installing\u2026":"Install Ollama"}),z&&!e&&(0,le.jsx)(U,{size:"sm",onClick:h,disabled:r._startServer,children:r._startServer?"Starting\u2026":"Start Server"}),e&&(0,le.jsx)(U,{size:"sm",variant:"outline",onClick:g,children:"Stop Server"})]})]}),t?.version&&(0,le.jsxs)("p",{className:"text-xs text-muted-foreground",children:["Version: ",t.version]})]})}),e&&(0,le.jsx)(Ut,{children:(0,le.jsxs)(jt,{className:"p-4 space-y-3",children:[(0,le.jsxs)("div",{className:"flex items-center justify-between",children:[(0,le.jsx)("h3",{className:"font-medium",children:"Models"}),(0,le.jsxs)("div",{className:"flex gap-2",children:[(0,le.jsx)(U,{size:"sm",variant:"outline",onClick:y,disabled:r._syncRouter,children:r._syncRouter?"Syncing\u2026":"Sync All to Router"}),(0,le.jsx)(U,{size:"sm",variant:"outline",onClick:i,disabled:o,children:o?"Refreshing\u2026":"Reload Models"})]})]}),n.length===0&&!o&&(0,le.jsxs)("p",{className:"text-sm text-muted-foreground",children:["No models found. Pull models with ",(0,le.jsx)("code",{className:"text-xs bg-muted px-1 py-0.5 rounded",children:"ollama pull <model>"})]}),(0,le.jsx)("div",{className:"space-y-2",children:n.map(G=>(0,le.jsx)(GB,{model:G,busy:r[G.name]||{},onLoad:l,onUnload:s,onPin:c,onKeepAlive:d,onContextLength:u,onAddToRouter:f,onRemoveFromRouter:m,onAutoLoad:b},G.name))})]})}),(0,le.jsx)(Ut,{children:(0,le.jsxs)(jt,{className:"p-4 space-y-3",children:[(0,le.jsx)("h3",{className:"font-medium",children:"Settings"}),(0,le.jsxs)("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-3",children:[(0,le.jsxs)("div",{children:[(0,le.jsx)("label",{className:"mb-1 block text-xs font-medium text-muted-foreground",children:"Base URL"}),(0,le.jsx)(He,{value:w,onChange:G=>E(G.target.value),placeholder:"http://localhost:11434"})]}),(0,le.jsxs)("div",{children:[(0,le.jsx)("label",{className:"mb-1 block text-xs font-medium text-muted-foreground",children:"Default Keep Alive"}),(0,le.jsxs)(Et,{value:L,onValueChange:F,children:[(0,le.jsx)(Tt,{children:(0,le.jsx)(Mt,{})}),(0,le.jsx)(kt,{children:by.map(G=>(0,le.jsx)(Je,{value:G.value,children:G.label},G.value))})]})]})]}),(0,le.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,le.jsx)("label",{className:"text-sm text-foreground",children:"Auto-connect on startup"}),(0,le.jsx)(jo,{checked:C,onCheckedChange:M})]}),(0,le.jsx)(U,{size:"sm",onClick:()=>p({baseUrl:w,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,Pu.useState)(e.contextLength||0);return(0,le.jsxs)("div",{className:"rounded-lg border border-border p-3 space-y-2",children:[(0,le.jsxs)("div",{className:"flex items-center justify-between gap-2 flex-wrap",children:[(0,le.jsxs)("div",{className:"flex items-center gap-2 flex-wrap",children:[(0,le.jsx)("span",{className:"font-mono text-sm font-medium",children:e.name}),(0,le.jsx)(Ne,{variant:"outline",children:e.parameterSize||"?"}),(0,le.jsx)(Ne,{variant:"outline",children:e.quantizationLevel||"?"}),e.loaded?(0,le.jsxs)(Ne,{variant:"success",children:["Loaded",e.sizeVramFormatted?` (${e.sizeVramFormatted})`:""]}):(0,le.jsx)(Ne,{variant:"default",children:"Available"}),e.isPinned&&(0,le.jsx)(Ne,{variant:"warning",children:"Pinned"})]}),(0,le.jsxs)("div",{className:"flex items-center gap-1.5 flex-wrap",children:[e.loaded?(0,le.jsx)(U,{size:"sm",variant:"outline",onClick:()=>r(e.name),disabled:t.unloading,children:t.unloading?"Unloading\u2026":"Unload"}):(0,le.jsx)(U,{size:"sm",variant:"outline",onClick:()=>n(e.name),disabled:t.loading,children:t.loading?"Loading\u2026":"Load"}),(0,le.jsx)(U,{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,le.jsx)(U,{size:"sm",variant:"outline",onClick:()=>s(e.name),className:"text-red-600 hover:text-red-700",children:"Remove from Router"}):(0,le.jsx)(U,{size:"sm",variant:"default",onClick:()=>l(e.name),children:"Add to Router"})]})]}),(0,le.jsxs)("div",{className:"flex items-center gap-4 flex-wrap text-xs",children:[(0,le.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,le.jsx)("label",{className:"text-muted-foreground whitespace-nowrap",children:"Keep Alive:"}),(0,le.jsxs)(Et,{value:e.keepAlive||"5m",onValueChange:f=>a(e.name,f),children:[(0,le.jsx)(Tt,{className:"h-7 w-[160px] text-xs",children:(0,le.jsx)(Mt,{})}),(0,le.jsx)(kt,{children:by.map(f=>(0,le.jsx)(Je,{value:f.value,children:f.label},f.value))})]})]}),(0,le.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,le.jsx)("label",{className:"text-muted-foreground whitespace-nowrap",children:"Context:"}),(0,le.jsx)(He,{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,le.jsxs)("span",{className:"text-muted-foreground",children:["max: ",e.contextLength.toLocaleString()]})]}),(0,le.jsxs)("div",{className:"flex items-center gap-2",children:[(0,le.jsx)(jo,{checked:e.autoLoad,onCheckedChange:f=>c(e.name,f)}),(0,le.jsx)("label",{className:"text-muted-foreground",children:"Auto-load on start"})]}),e.estimatedVram&&(0,le.jsxs)("span",{className:"text-muted-foreground",children:["Est. VRAM: ",e.estimatedVram]})]})]})}var gT=D(be(),1);var Pn=D(be(),1);function Qm(e,t){return Object.values(e||{}).filter(n=>t(n)).length}var Uu={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 qB(e){let t=String(e||"").trim().toLowerCase();return t||"stopped"}function Xm(e){return String(e||"").trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}function Ib(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 aT(e={}){return new Set(Object.values(e||{}).map(t=>String(t?.id||"").trim()).filter(Boolean))}function iT(e){return String(e||"").replace(/\.[^.]+$/u,"")}function WB(e){return String(e||"").trim().replace(/\\/g,"/").split("/").filter(Boolean).pop()||""}function lT(e={},t={}){let n=String(e?.repo||"").trim(),r=String(e?.file||"").trim(),o=aT(t),a=Xm(`${n}-${iT(r)}`)||"local-model";return{id:Ib(a,o),displayName:r||n||"Managed GGUF",repo:n,file:r}}function zb(e="",t={}){let n=String(e||"").trim(),r=WB(n),o=aT(t),a=Xm(iT(r))||"local-model";return{id:Ib(a,o),displayName:r||n||"Attached GGUF",filePath:n}}function Jm(e){let t=Number.parseInt(String(e??"").replace(/[^\d]/g,""),10);return Number.isFinite(t)&&t>0?t:void 0}function sT(e,t={}){let n=String(e?.displayName||e?.id||"Local Model").trim()||"Local Model",r="balanced",o=Uu[r],a=new Set(Object.values(t||{}).map(s=>String(s?.id||"").trim()).filter(Boolean)),i=`${n} ${o.label}`,l=Ib(`local/${Xm(i)}`,a);return{key:Xm(l)||`local-${Date.now()}`,baseModelId:e?.id,runtime:"llamacpp",name:i,id:l,preset:r,enabled:!0,preload:!1,contextWindow:o.contextWindow,capabilities:{}}}function cT(e){return{...e,preset:String(e?.preset||"balanced").trim()||"balanced",contextWindow:Number.isFinite(Number(e?.contextWindow))?Number(e.contextWindow):Uu.balanced.contextWindow,capabilities:e?.capabilities&&typeof e.capabilities=="object"?{...e.capabilities}:{}}}function uT(e,t=new Set){return String(e?.name||"").trim()?String(e?.id||"").trim()?t.has(String(e?.id||"").trim())?"Model id already exists.":Jm(e?.contextWindow)?"":"Context window must be a positive integer.":"Model id is required.":"Variant name is required."}function dT(e={}){let t=e?.runtime||{},n=e?.library||{},r=e?.variants||{};return{enabledVariants:Qm(r,o=>o?.enabled===!0),preloadedVariants:Qm(r,o=>o?.preload===!0),staleAssets:Qm(n,o=>String(o?.availability||"").trim().toLowerCase()==="stale"),runningRuntimes:Qm(t,o=>qB(o?.status)==="running")}}var ut=D(J(),1);function fT({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,ut.jsxs)("form",{className:"space-y-4",onSubmit:c=>{c.preventDefault(),l?.()},children:[t?(0,ut.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/70 px-4 py-3",children:[(0,ut.jsx)("div",{className:"text-xs font-semibold uppercase tracking-[0.16em] text-muted-foreground",children:"Base Model"}),(0,ut.jsx)("div",{className:"mt-2 text-sm font-medium text-foreground",children:t?.displayName||t?.id}),(0,ut.jsx)("div",{className:"mt-1 break-all text-xs text-muted-foreground",children:t?.path||"Path not recorded"})]}):null,(0,ut.jsx)(De,{label:"Variant name",stacked:!0,children:(0,ut.jsx)(He,{"aria-label":"Variant name",value:e?.name||"",onChange:c=>i?.({...e,name:c.target.value})})}),(0,ut.jsxs)(De,{label:"Model id",stacked:!0,children:[(0,ut.jsx)(He,{"aria-label":"Model id",value:e?.id||"",onChange:c=>i?.({...e,id:c.target.value})}),n.has(e?.id)?(0,ut.jsx)("div",{className:"text-xs text-red-600",children:"Model id already exists."}):null]}),(0,ut.jsx)(De,{label:"Preset",stacked:!0,children:(0,ut.jsxs)(Et,{value:e?.preset||"balanced",onValueChange:c=>i?.({...e,preset:c}),children:[(0,ut.jsx)(Tt,{children:(0,ut.jsx)(Mt,{})}),(0,ut.jsxs)(kt,{children:[(0,ut.jsx)(Je,{value:"balanced",children:"Balanced"}),(0,ut.jsx)(Je,{value:"long-context",children:"Long Context"}),(0,ut.jsx)(Je,{value:"low-memory",children:"Low Memory"}),(0,ut.jsx)(Je,{value:"fast-response",children:"Fast Response"})]})]})}),(0,ut.jsx)(De,{label:"Context window",stacked:!0,hint:"Router-visible max context length for this variant.",children:(0,ut.jsx)(He,{"aria-label":"Context window",inputMode:"numeric",value:e?.contextWindow??"",onChange:c=>i?.({...e,contextWindow:c.target.value})})}),(0,ut.jsxs)("div",{className:"grid gap-3 sm:grid-cols-2",children:[(0,ut.jsx)(De,{label:"Enabled in router",stacked:!0,children:(0,ut.jsxs)("div",{className:"flex items-center justify-between rounded-xl border border-border/70 px-3 py-2",children:[(0,ut.jsx)("span",{className:"text-sm text-foreground",children:"Expose this variant to aliases and route pickers"}),(0,ut.jsx)(jo,{checked:e?.enabled===!0,onCheckedChange:c=>i?.({...e,enabled:c})})]})}),(0,ut.jsx)(De,{label:"Preload on startup",stacked:!0,children:(0,ut.jsxs)("div",{className:"flex items-center justify-between rounded-xl border border-border/70 px-3 py-2",children:[(0,ut.jsx)("span",{className:"text-sm text-foreground",children:"Load it when the local runtime starts"}),(0,ut.jsx)(jo,{checked:e?.preload===!0,onCheckedChange:c=>i?.({...e,preload:c})})]})})]}),(0,ut.jsx)(De,{label:"Capability hints",stacked:!0,hint:"Leave unset unless this model needs a routing override.",children:(0,ut.jsx)(Wm,{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,ut.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,ut.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2",children:[(0,ut.jsx)(U,{type:"button",variant:"outline",onClick:()=>s?.(),disabled:a,children:"Cancel"}),(0,ut.jsx)(U,{type:"submit",disabled:r||a,children:a?"Saving\u2026":"Save variant"})]})]})}var _=D(J(),1);function YB(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 mT(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 QB(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 Xs(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 Pb(e){return/\.gguf$/i.test(String(e||"").trim())}function JB(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 ZB({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)(Ne,{variant:"outline",children:e?.source||"path"}),e?.isTurboQuant?(0,_.jsx)(Ne,{variant:"warning",children:"TurboQuant"}):null,e?.current?(0,_.jsx)(Ne,{variant:"success",children:"Configured"}):null,(0,_.jsx)(Ne,{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)(U,{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 eI({entry:e,variantCount:t=0,disabledReason:n="",busy:r=!1,onCreateVariant:o,onLocateModel:a,onRemoveModel:i}){let l=mT(e?.availability),s=Xs(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)(Ne,{variant:"outline",children:XB(e?.source)}),(0,_.jsx)(Ne,{variant:l.variant,children:l.label}),s?(0,_.jsx)(Ne,{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)(U,{size:"sm",onClick:()=>o?.(e),disabled:!u||r,children:"Create variant"}),f?(0,_.jsx)(U,{size:"sm",variant:"outline",onClick:()=>a?.(e),disabled:!!n||r,children:"Locate model"}):null,(0,_.jsx)(U,{size:"sm",variant:"outline",onClick:()=>i?.(e),disabled:!!n||r,children:"Remove"})]})]})})}function tI({variant:e,baseModel:t,runtimeStatus:n,onEdit:r}){let o=mT(e?.availability||t?.availability),a=QB(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)(Ne,{variant:e?.enabled===!0?"success":"outline",children:e?.enabled===!0?"Enabled":"Disabled"}),e?.preload===!0?(0,_.jsx)(Ne,{variant:"warning",children:"Preload"}):null,(0,_.jsx)(Ne,{variant:a.variant,children:a.label}),(0,_.jsx)(Ne,{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: ",Yo(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)(U,{size:"sm",variant:"outline",onClick:()=>r?.(e),children:"Edit"})})]})})}function nI({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)(Ne,{variant:"outline",children:e.quantization}):null,(e.badges||[]).map(r=>(0,_.jsx)(Ne,{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:Xs(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)(U,{size:"sm",onClick:()=>n?.(e),disabled:e.disabled===!0||t,children:t?"Downloading\u2026":"Download"})]})})}function pT({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:m}){let b=YB(e?.status),p=(0,Pn.useMemo)(()=>Object.values(t||{}),[t]),v=(0,Pn.useMemo)(()=>Object.values(n||{}),[n]),h=String(e?.selectedCommand||e?.manualCommand||"").trim(),g=String(e?.selectedDirectory||"").trim()||JB(h),y=String(e?.host||"127.0.0.1").trim()||"127.0.0.1",x=Number.isFinite(Number(e?.port))?Number(e.port):39391,R=String(e?.status||"").trim().toLowerCase()==="running",[w,E]=(0,Pn.useState)({open:!1,draft:null,baseModelId:"",title:""}),[C,M]=(0,Pn.useState)(!1),[L,F]=(0,Pn.useState)({open:!1,draft:{id:"",displayName:"",filePath:""},saving:!1,browseBusy:!1,scanBusy:!1,scanMatches:[],error:""}),[z,G]=(0,Pn.useState)({open:!1,baseModelId:"",displayName:"",filePath:"",saving:!1,browseBusy:!1,error:""}),[ee,de]=(0,Pn.useState)({open:!1,query:"",searching:!1,results:[],error:"",downloadingKey:"",progressLabel:""}),[q,ae]=(0,Pn.useState)(!1),[te,W]=(0,Pn.useState)(""),[V,Pe]=(0,Pn.useState)({selecting:!1,starting:!1,stopping:!1,savingSettings:!1,error:""}),[ne,$e]=(0,Pn.useState)(e?.startWithRouter===!0),[ie,we]=(0,Pn.useState)({loading:!1,error:"",runtime:null});(0,Pn.useEffect)(()=>{$e(e?.startWithRouter===!0)},[e?.startWithRouter]);let Ue=(0,Pn.useMemo)(()=>{let T=String(w?.draft?.id||"").trim(),k=String(w?.draft?.key||"").trim();return new Set(v.filter(H=>String(H?.key||"").trim()!==k).map(H=>String(H?.id||"").trim()).filter(H=>H&&H===T))},[w?.draft?.id,w?.draft?.key,v]),j=w?.baseModelId&&t[w.baseModelId]||null,pe=uT(w?.draft||{},Ue),Se=String(L?.draft?.id||"").trim()?String(L?.draft?.filePath||"").trim()?Pb(L?.draft?.filePath)?"":"Select a GGUF file path.":"GGUF file path is required.":"Model id is required.",Le=String(z.filePath||"").trim()?Pb(z.filePath)?"":"Select a GGUF file path.":"GGUF file path is required.";(0,Pn.useEffect)(()=>{!r&&typeof c=="function"&&c({silent:!0})},[]);async function Ae(){we(T=>({...T,loading:!0,error:""}));try{let T=await Ly();we({loading:!1,error:"",runtime:T?.runtime||null})}catch(T){we({loading:!1,error:T instanceof Error?T.message:String(T),runtime:null})}}(0,Pn.useEffect)(()=>{let T=!1;async function k(){we(H=>({...H,loading:!0,error:""}));try{let H=await Ly();if(T)return;we({loading:!1,error:"",runtime:H?.runtime||null})}catch(H){if(T)return;we({loading:!1,error:H instanceof Error?H.message:String(H),runtime:null})}}return k(),()=>{T=!0}},[h,e?.startWithRouter,e?.status]);async function ke(T){let k=String(T||"").trim();if(!(!k||!o)){Pe(H=>({...H,selecting:!0,error:""}));try{await o(k)&&await Ae()}catch(H){Pe(ue=>({...ue,selecting:!1,error:H instanceof Error?H.message:String(H)}));return}Pe(H=>({...H,selecting:!1,error:""}))}}async function Qe(){if(!(!a||!h)){Pe(T=>({...T,starting:!0,error:""}));try{await a(),await Ae(),Pe(T=>({...T,starting:!1,error:""}))}catch(T){Pe(k=>({...k,starting:!1,error:T instanceof Error?T.message:String(T)}))}}}async function Ze(){if(i){Pe(T=>({...T,stopping:!0,error:""}));try{await i(),await Ae(),Pe(T=>({...T,stopping:!1,error:""}))}catch(T){Pe(k=>({...k,stopping:!1,error:T instanceof Error?T.message:String(T)}))}}}async function on(){if(l){Pe(T=>({...T,savingSettings:!0,error:""}));try{await l({startWithRouter:ne}),await Ae(),Pe(T=>({...T,savingSettings:!1,error:""}))}catch(T){Pe(k=>({...k,savingSettings:!1,error:T instanceof Error?T.message:String(T)}))}}}async function Un(){Pe(T=>({...T,selecting:!0,error:""}));try{let T=await um("runtime"),k=String(T?.selection?.path||"").trim();if(!k){Pe(ue=>({...ue,selecting:!1,error:""}));return}await o?.(k)&&await Ae(),Pe(ue=>({...ue,selecting:!1,error:""}))}catch(T){Pe(k=>({...k,selecting:!1,error:T instanceof Error?T.message:String(T)}))}}function dn(T){E({open:!0,title:"Create local variant",baseModelId:T?.id||"",draft:sT(T,n)})}function wt(T){E({open:!0,title:"Edit local variant",baseModelId:T?.baseModelId||"",draft:cT(T)})}function bt(){C||E({open:!1,draft:null,baseModelId:"",title:""})}async function vt(){if(!w?.draft||pe)return;M(!0);let T=!1;try{let k={...w.draft,contextWindow:Jm(w.draft.contextWindow)};T=await s?.(k)}finally{M(!1)}T&&E({open:!1,draft:null,baseModelId:"",title:""})}function Ve(){F({open:!0,saving:!1,browseBusy:!1,scanBusy:!1,scanMatches:[],error:"",draft:{id:"",displayName:"",filePath:""}})}function Ft(){L.saving||F({open:!1,draft:{id:"",displayName:"",filePath:""},saving:!1,browseBusy:!1,scanBusy:!1,scanMatches:[],error:""})}async function en(){if(Se)return;F(k=>({...k,saving:!0}));let T=!1;try{T=await d?.(L.draft)}finally{F(k=>({...k,saving:!1}))}T&&F({open:!1,draft:{id:"",displayName:"",filePath:""},saving:!1,browseBusy:!1,scanBusy:!1,scanMatches:[],error:""})}function hn(T){let k=zb(T,t);F(H=>({...H,draft:{id:k.id,displayName:k.displayName,filePath:k.filePath},error:""}))}async function Nr(T){F(k=>({...k,browseBusy:!0,error:""}));try{let k=await um(T),H=String(k?.selection?.path||"").trim(),ue=Array.isArray(k?.matches)?k.matches:[];H&&T==="file"&&ue.length>0?hn(ue[0].filePath||H):F(nt=>({...nt,draft:{...nt.draft,filePath:H||nt.draft.filePath},scanMatches:ue,error:ue.length===0&&T==="directory"&&H?"No GGUF files were found in that folder.":""}))}catch(k){F(H=>({...H,error:k instanceof Error?k.message:String(k)}))}finally{F(k=>({...k,browseBusy:!1}))}}async function Te(){let T=String(L?.draft?.filePath||"").trim();if(T){F(k=>({...k,scanBusy:!0,error:""}));try{let k=await U1(T),H=Array.isArray(k?.matches)?k.matches:[];F(ue=>({...ue,scanMatches:H,error:H.length===0?"No GGUF files were found at that path.":""})),H.length===1&&Pb(H[0]?.filePath)&&hn(H[0].filePath)}catch(k){F(H=>({...H,error:k instanceof Error?k.message:String(k)}))}finally{F(k=>({...k,scanBusy:!1}))}}}function rt(T){G({open:!0,baseModelId:T?.id||"",displayName:T?.displayName||T?.id||"",filePath:T?.path||"",saving:!1,browseBusy:!1,error:""})}function pt(){z.saving||G({open:!1,baseModelId:"",displayName:"",filePath:"",saving:!1,browseBusy:!1,error:""})}async function fo(){if(!z.baseModelId||!String(z.filePath||"").trim())return;G(k=>({...k,saving:!0}));let T=!1;try{T=await u?.({baseModelId:z.baseModelId,filePath:z.filePath})}finally{G(k=>({...k,saving:!1}))}T&&G({open:!1,baseModelId:"",displayName:"",filePath:"",saving:!1,browseBusy:!1,error:""})}async function At(){G(T=>({...T,browseBusy:!0,error:""}));try{let T=await um("file"),k=String(T?.selection?.path||"").trim();k&&G(H=>({...H,filePath:k}))}catch(T){G(k=>({...k,error:T instanceof Error?T.message:String(T)}))}finally{G(T=>({...T,browseBusy:!1}))}}async function Ee(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 yn(){ae(!0);try{await c?.({silent:!1})}finally{ae(!1)}}async function O(T=null){let k=T??ee.query;de(H=>({...H,searching:!0,error:""}));try{let H=await O1({query:k,expectedContextWindow:2e5});de(ue=>({...ue,query:k,results:H,searching:!1,error:""}))}catch(H){de(ue=>({...ue,query:k,searching:!1,error:H instanceof Error?H.message:String(H)}))}}function ge(){de(T=>({...T,open:!0,error:"",progressLabel:""})),(ee.results||[]).length===0&&!ee.searching&&O("")}function re(){ee.downloadingKey||de(T=>({...T,open:!1,error:"",progressLabel:""}))}async function je(T){let k=lT(T,t),H=`${T.repo}:${T.file}`;de(nt=>({...nt,downloadingKey:H,progressLabel:"Preparing download\u2026",error:""}));let ue=!1;try{ue=await m?.({...k,repo:T.repo,file:T.file},{onMessage:nt=>{if(nt?.type==="progress"){let qt=Number(nt?.event?.receivedBytes||0),Me=Number(nt?.event?.totalBytes||0),Y=Me>0?`${Xs(qt)} / ${Xs(Me)}`:qt>0?Xs(qt):"Downloading\u2026";de(ye=>({...ye,progressLabel:Y}))}}})}finally{de(nt=>({...nt,downloadingKey:"",progressLabel:""}))}ue&&de(nt=>({...nt,open:!1,downloadingKey:"",progressLabel:"",error:""}))}return(0,_.jsxs)("div",{className:"space-y-4",children:[(0,_.jsx)(Ut,{children:(0,_.jsxs)(jt,{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:[R?(0,_.jsx)(U,{size:"sm",variant:"outline",onClick:Ze,disabled:V.stopping,children:V.stopping?"Stopping\u2026":"Stop Runtime"}):(0,_.jsx)(U,{size:"sm",onClick:Qe,disabled:!h||V.starting,children:V.starting?"Starting\u2026":"Start Runtime"}),(0,_.jsx)(Ne,{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)(jo,{checked:ne,onCheckedChange:$e,disabled:!!r||V.savingSettings}),(0,_.jsx)(U,{size:"sm",variant:"outline",onClick:on,disabled:!!r||V.savingSettings,children:V.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)(U,{size:"sm",variant:"outline",onClick:Un,disabled:V.selecting,children:V.selecting?"Selecting\u2026":"Browse runtime"}),(0,_.jsx)(U,{size:"sm",variant:"outline",onClick:()=>{Ae()},disabled:ie.loading||V.selecting,children:ie.loading?"Refreshing\u2026":"Refresh runtimes"})]})]}),V.error?(0,_.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-900",children:V.error}):null,ie.error?(0,_.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-900",children:ie.error}):null,(ie.runtime?.candidates||[]).length===0&&!ie.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:(ie.runtime?.candidates||[]).map(T=>(0,_.jsx)(ZB,{candidate:T,busy:V.selecting,onUseRuntime:ke},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)(Ut,{children:(0,_.jsxs)(jt,{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)(U,{size:"sm",variant:"outline",onClick:Ve,disabled:!!r,children:"Attach path"}),(0,_.jsx)(U,{size:"sm",onClick:ge,disabled:!!r,children:"Download from Hugging Face"}),(0,_.jsx)(U,{size:"sm",variant:"outline",onClick:yn,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:p.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."}):p.map(T=>(0,_.jsx)(eI,{entry:T,variantCount:v.filter(k=>k?.baseModelId===T.id).length,disabledReason:r,busy:te===`remove:${T.id}`,onCreateVariant:dn,onLocateModel:rt,onRemoveModel:Ee},T.id))})]})}),(0,_.jsx)(Ut,{children:(0,_.jsxs)(jt,{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)(tI,{variant:T,baseModel:t[T?.baseModelId]||null,runtimeStatus:b,onEdit:wt},T.key||T.id))})]})})]}),(0,_.jsx)(_n,{open:L.open,onClose:Ft,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)(De,{label:"GGUF file path",stacked:!0,children:(0,_.jsxs)("div",{className:"space-y-2",children:[(0,_.jsx)(He,{value:L.draft.filePath,onChange:T=>{let k={...L.draft,filePath:T.target.value};if(!String(L.draft.id||"").trim()||!String(L.draft.displayName||"").trim()){let H=zb(T.target.value,t);String(L.draft.id||"").trim()||(k.id=H.id),String(L.draft.displayName||"").trim()||(k.displayName=H.displayName)}F(H=>({...H,draft:k}))},placeholder:"/Volumes/models/qwen.Q5.gguf"}),(0,_.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,_.jsx)(U,{size:"sm",variant:"outline",onClick:()=>Nr("file"),disabled:L.browseBusy||L.scanBusy,children:L.browseBusy?"Browsing\u2026":"Browse file"}),(0,_.jsx)(U,{size:"sm",variant:"outline",onClick:()=>Nr("directory"),disabled:L.browseBusy||L.scanBusy,children:L.browseBusy?"Browsing\u2026":"Browse folder"}),(0,_.jsx)(U,{size:"sm",variant:"outline",onClick:Te,disabled:L.scanBusy||!String(L.draft.filePath||"").trim(),children:L.scanBusy?"Scanning\u2026":"Scan path"})]})]})}),(0,_.jsx)(De,{label:"Model name",stacked:!0,children:(0,_.jsx)(He,{value:L.draft.displayName,onChange:T=>F(k=>({...k,draft:{...k.draft,displayName:T.target.value}}))})}),(0,_.jsx)(De,{label:"Base model id",stacked:!0,hint:"Stable inventory id used for variants and stale-path recovery.",children:(0,_.jsx)(He,{value:L.draft.id,onChange:T=>F(k=>({...k,draft:{...k.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:Xs(T.sizeBytes)}):null]}),(0,_.jsx)(U,{size:"sm",variant:"outline",onClick:()=>hn(T.filePath),disabled:L.saving,children:"Use file"})]},T.filePath))]}):null,Se?(0,_.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-900",children:Se}):null,(0,_.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2",children:[(0,_.jsx)(U,{type:"button",variant:"outline",onClick:Ft,disabled:L.saving,children:"Cancel"}),(0,_.jsx)(U,{type:"button",onClick:en,disabled:!!Se||L.saving,children:L.saving?"Attaching\u2026":"Attach model"})]})]})}),(0,_.jsx)(_n,{open:z.open,onClose:pt,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)(De,{label:"Updated GGUF path",stacked:!0,children:(0,_.jsxs)("div",{className:"space-y-2",children:[(0,_.jsx)(He,{value:z.filePath,onChange:T=>G(k=>({...k,filePath:T.target.value})),placeholder:"/Volumes/models/qwen.Q5.gguf"}),(0,_.jsx)("div",{className:"flex flex-wrap items-center gap-2",children:(0,_.jsx)(U,{size:"sm",variant:"outline",onClick:At,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,Le?(0,_.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-900",children:Le}):null,(0,_.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2",children:[(0,_.jsx)(U,{type:"button",variant:"outline",onClick:pt,disabled:z.saving,children:"Cancel"}),(0,_.jsx)(U,{type:"button",onClick:fo,disabled:!!Le||z.saving,children:z.saving?"Updating\u2026":"Save path"})]})]})}),(0,_.jsx)(_n,{open:ee.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)(De,{label:"Search query",stacked:!0,className:"min-w-0 flex-1",children:(0,_.jsx)(He,{value:ee.query,onChange:T=>de(k=>({...k,query:T.target.value})),placeholder:"qwen q5 gguf"})}),(0,_.jsx)(U,{type:"button",onClick:()=>O(),disabled:ee.searching,children:ee.searching?"Searching\u2026":"Search"})]}),ee.error?(0,_.jsx)("div",{className:"rounded-xl border border-rose-200 bg-rose-50 px-3 py-2 text-xs text-rose-800",children:ee.error}):null,ee.progressLabel?(0,_.jsx)("div",{className:"rounded-xl border border-sky-200 bg-sky-50 px-3 py-2 text-xs text-sky-900",children:ee.progressLabel}):null,(0,_.jsx)("div",{className:"space-y-3",children:(ee.results||[]).length===0&&!ee.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."}):(ee.results||[]).map(T=>(0,_.jsx)(nI,{result:T,downloading:ee.downloadingKey===`${T.repo}:${T.file}`,onDownload:je},`${T.repo}:${T.file}`))})]})}),(0,_.jsx)(_n,{open:w.open,onClose:bt,title:w.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)(fT,{draft:w.draft,baseModel:j,duplicateIds:Ue,saveDisabled:!!pe,saveDisabledReason:pe,saving:C,onChange:T=>{let k=String(T?.preset||w?.draft?.preset||"balanced").trim()||"balanced",H=String(w?.draft?.preset||"balanced").trim()||"balanced",ue=Jm(w?.draft?.contextWindow),nt=k!==H&&ue===Uu[H]?.contextWindow;E(qt=>({...qt,draft:{...T,contextWindow:nt?Uu[k]?.contextWindow??T?.contextWindow:T?.contextWindow}}))},onCancel:bt,onSave:vt})})]})}var ra=D(J(),1);function hT({summary:e,llamacpp:t,ollama:n}){let[r,o]=(0,gT.useState)("ollama");return(0,ra.jsxs)(Vo,{value:r,onValueChange:o,className:"space-y-4",children:[(0,ra.jsxs)(Fo,{children:[(0,ra.jsx)(xn,{value:"ollama",children:"Ollama"}),(0,ra.jsx)(xn,{value:"llamacpp",children:"llama.cpp"})]}),(0,ra.jsx)(Sn,{value:"ollama",children:(0,ra.jsx)(oT,{...n,embedded:!0})}),(0,ra.jsx)(Sn,{value:"llamacpp",children:(0,ra.jsx)(pT,{...t})})]})}var Zm=D(be(),1);var fe=D(J(),1);function rI(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 oI(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 yT(e=[],{keyPrefix:t="select-option",includeHint:n=!1}={}){return rI(e).map((r,o)=>{let a=r.options.map(i=>(0,fe.jsx)(Je,{value:i.value,searchText:`${i.label||""} ${i.value||""} ${i.hint||""} ${r.label||""}`,children:oI(i,{includeHint:n})},`${t}-${i.value}`));return r.label?(0,fe.jsxs)(Rl,{children:[(0,fe.jsx)(Gs,{children:r.label}),a]},`${t}-group-${r.key||o}`):a})}function aI({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:"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,fe.jsx)("circle",{cx:"10",cy:"9",r:"1.4"}),(0,fe.jsx)("path",{d:"M10 10.4v2.1"})]})}function bT({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:m,hasMasterKey:b,disabledReason:p,autosaveState:v}){let[h,g]=(0,Zm.useState)(!1),[y,x]=(0,Zm.useState)(""),[R,w]=(0,Zm.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(R||"").trim()&&!E,M=o?.routedViaRouter===!0,L=String(o?.error||"").trim(),F=!!(b&&r&&!p&&!L),z=Number(n?.configuredProviderCount)||0,G=M&&z===0,ee=p?"warning":v.status==="error"?"danger":v.status==="pending"?"outline":v.status==="saving"?"info":v.savedAt?"success":"outline",de=p?"Needs review":v.status==="error"?"Save failed":v.status==="pending"?"Unsaved":v.status==="saving"?"saving...":v.savedAt?"Saved":"Ready",q=p||(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 ${Is(v.savedAt)}.`:"AMP route changes auto-save after valid edits.");async function ae(){!C||await c?.({inbound:y,outbound:R})===!1||(g(!1),x(""),w(String(t[0]?.value||"").trim()))}function te(){g(!0),x(""),w(String(t[0]?.value||"").trim())}return(0,fe.jsx)("div",{className:"grid gap-4",children:(0,fe.jsxs)(Ut,{children:[(0,fe.jsxs)(no,{className:"flex flex-col gap-3 p-4 pb-0 sm:flex-row sm:items-start sm:justify-between",children:[(0,fe.jsxs)("div",{className:"space-y-2",children:[(0,fe.jsx)(Uo,{className:"flex items-center gap-2",children:(0,fe.jsx)("span",{children:"Use AMP via LLM Router"})}),(0,fe.jsx)(Km,{primaryLabel:"Config file",primaryValue:o?.settingsFilePath||"",onOpenPrimary:f,secondaryLabel:"Secrets file",secondaryValue:o?.secretsFilePath||"",secondaryIcon:(0,fe.jsx)(aI,{className:"h-3 w-3"}),onOpenSecondary:m})]}),(0,fe.jsx)("div",{className:"flex shrink-0 flex-wrap items-center gap-2",children:(0,fe.jsx)(U,{type:"button",size:"sm",variant:M?"outline":void 0,onClick:i,disabled:a!==""||!M&&!F,children:a==="enable"?"Connecting\u2026":a==="disable"?"Disconnecting\u2026":M?"Disconnect":"Connect"})})]}),(0,fe.jsxs)(jt,{className:"space-y-4 p-4",children:[L?(0,fe.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-900",children:L}):null,!M&&!b?(0,fe.jsxs)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-800",children:["Set ",(0,fe.jsx)("code",{children:"masterKey"})," first to connect AMP."]}):null,G?(0,fe.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,fe.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,fe.jsx)(U,{type:"button",size:"sm",variant:"outline",onClick:u,children:"Open Web Search"})]}):null,p?(0,fe.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-800",children:p}):(0,fe.jsxs)("div",{className:"space-y-3 rounded-2xl border border-border/70 bg-background/60 p-4",children:[(0,fe.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,fe.jsxs)("div",{children:[(0,fe.jsx)("div",{className:"text-sm font-medium text-foreground",children:"Route mapping editor"}),(0,fe.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,fe.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,fe.jsx)(Ne,{variant:ee,children:de}),(0,fe.jsxs)(Ne,{variant:"outline",children:[e.length," routes"]}),(0,fe.jsx)(U,{type:"button",size:"sm",onClick:te,children:"Add custom mapping"})]})]}),(0,fe.jsx)("div",{className:"text-xs text-muted-foreground",children:q}),h?(0,fe.jsx)("div",{className:"rounded-2xl border border-dashed border-border bg-background/80 p-3",children:(0,fe.jsxs)("div",{className:"grid gap-3 xl:grid-cols-[160px_minmax(0,1fr)_minmax(0,1fr)] xl:items-start",children:[(0,fe.jsxs)("div",{className:"space-y-2",children:[(0,fe.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,fe.jsx)("div",{className:"text-sm font-medium text-foreground",children:"Add custom mapping"}),(0,fe.jsx)(Ne,{variant:"info",children:"Custom"})]}),(0,fe.jsxs)("div",{className:"text-xs leading-5 text-muted-foreground",children:["Match a built-in AMP route key like ",(0,fe.jsx)("code",{children:"smart"})," or a wildcard such as ",(0,fe.jsx)("code",{children:"gpt-*-codex*"}),", then send it to any managed route."]}),(0,fe.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,fe.jsx)(U,{type:"button",size:"sm",onClick:ae,disabled:!C,children:"Create mapping"}),(0,fe.jsx)(U,{type:"button",size:"sm",variant:"ghost",onClick:()=>g(!1),children:"Close"})]})]}),(0,fe.jsx)(De,{label:"Inbound match",hint:"Built-in route key or AMP model pattern",children:(0,fe.jsx)(He,{value:y,onChange:W=>x(W.target.value),placeholder:"smart or gpt-*-codex*"})}),(0,fe.jsx)(De,{label:"Route target",hint:"Alias or provider/model route in LLM Router",children:(0,fe.jsxs)(Et,{value:R||void 0,onValueChange:w,children:[(0,fe.jsx)(Tt,{children:(0,fe.jsx)(Mt,{placeholder:"Select local route"})}),(0,fe.jsx)(kt,{children:yT(t,{keyPrefix:"amp-route-create",includeHint:!0})})]})})]})}):null,(0,fe.jsx)("div",{className:"space-y-2",children:e.map(W=>(0,fe.jsx)("div",{className:"rounded-2xl border border-border/70 bg-background/75 p-3",children:(0,fe.jsxs)("div",{className:"grid gap-3 xl:grid-cols-[160px_minmax(0,1fr)_minmax(0,1fr)] xl:items-start",children:[(0,fe.jsxs)("div",{className:"space-y-2",children:[(0,fe.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,fe.jsx)("div",{className:"text-sm font-medium text-foreground",children:W.label}),W.isCustom?(0,fe.jsx)(Ne,{variant:"info",children:"Custom"}):null]}),(0,fe.jsx)("div",{className:"text-xs leading-5 text-muted-foreground",children:W.description}),W.removable?(0,fe.jsx)(U,{type:"button",size:"sm",variant:"ghost",onClick:()=>d(W.id),children:"Remove"}):null]}),(0,fe.jsx)(De,{label:"Inbound wildcard",hint:W.defaultMatch?`Default: ${W.defaultMatch}`:"AMP model pattern",children:(0,fe.jsx)(Fm,{commitOnBlur:!0,value:W.inbound,onValueCommit:V=>l(W.id,V),placeholder:W.defaultMatch||"gpt-*-codex*",onKeyDown:V=>{V.key==="Enter"&&(V.preventDefault(),V.currentTarget.blur())}})}),(0,fe.jsx)(De,{label:"Target route",hint:"Alias or provider/model route",children:(0,fe.jsxs)(Et,{value:W.outbound||"__default__",onValueChange:V=>s(W.id,V),children:[(0,fe.jsx)(Tt,{children:(0,fe.jsx)(Mt,{placeholder:W.removable?"Choose target route":"Use default route"})}),(0,fe.jsxs)(kt,{children:[W.removable?null:(0,fe.jsx)(Je,{value:"__default__",children:"Use default route"}),yT(t,{keyPrefix:`amp-route-${W.id}`,includeHint:!0})]})]})})]})},W.id))})]})]})]})})}var ja=D(be(),1);var Z=D(J(),1);function iI({className:e=""}){return(0,Z.jsxs)("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",className:e,children:[(0,Z.jsx)("path",{d:"M8 3.5v9",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"}),(0,Z.jsx)("path",{d:"M3.5 8h9",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]})}function lI({open:e=!1,onClose:t=()=>{},candidates:n=[],onTestAndAdd:r=async()=>{},disabledReason:o=""}){let[a,i]=(0,ja.useState)(""),[l,s]=(0,ja.useState)(""),[c,d]=(0,ja.useState)(!1),[u,f]=(0,ja.useState)(""),m=Array.isArray(n)?n:[],b=m.find(y=>y.providerId===a)||m[0]||null,p=Array.isArray(b?.models)?b.models:[];(0,ja.useEffect)(()=>{if(!e){d(!1),f("");return}let y=m[0]?.providerId||"";i(x=>m.some(w=>w.providerId===x)?x:y)},[e,m]),(0,ja.useEffect)(()=>{let y=p[0]?.value||"";s(x=>p.some(w=>w.value===x)?x:y)},[p]);let v=Ei(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,Z.jsx)(_n,{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,Z.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2",children:[(0,Z.jsx)(U,{type:"button",variant:"ghost",onClick:t,disabled:c,children:"Cancel"}),(0,Z.jsx)(U,{type:"button",onClick:()=>{g()},disabled:!h,children:c?"Testing\u2026":"Test connection"})]}),children:(0,Z.jsxs)("div",{className:"space-y-4",children:[o?(0,Z.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&&m.length===0?(0,Z.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,m.length>0?(0,Z.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,Z.jsx)(De,{label:"Provider",hint:"Configured provider or ChatGPT subscription",stacked:!0,children:(0,Z.jsxs)(Et,{value:a||void 0,onValueChange:i,disabled:c||!!o,children:[(0,Z.jsx)(Tt,{children:(0,Z.jsx)(Mt,{placeholder:"Choose provider"})}),(0,Z.jsx)(kt,{children:m.map(y=>(0,Z.jsx)(Je,{value:y.providerId,children:y.providerLabel},y.providerId))})]})}),(0,Z.jsx)(De,{label:"GPT model",hint:"Only GPT models on OpenAI-compatible routes are listed",stacked:!0,children:(0,Z.jsxs)(Et,{value:l||void 0,onValueChange:s,disabled:c||!!o||p.length===0,children:[(0,Z.jsx)(Tt,{children:(0,Z.jsx)(Mt,{placeholder:"Choose model"})}),(0,Z.jsx)(kt,{children:p.map(y=>(0,Z.jsx)(Je,{value:y.value,children:y.label},y.routeId))})]})})]}):null,v?(0,Z.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/70 px-4 py-3",children:[(0,Z.jsx)("div",{className:"text-[11px] font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Saved route id"}),(0,Z.jsx)("div",{className:"mt-1 text-sm font-medium text-foreground",children:v}),(0,Z.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,Z.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 vT({webSearchConfig:e,webSearchProviders:t,hostedSearchCandidates:n,onWebSearchStrategyChange:r,onWebSearchProviderChange:o,onWebSearchProviderMove:a,onRemoveWebSearchProvider:i,onAddHostedSearchEndpoint:l,disabledReason:s,autosaveState:c}){let[d,u]=(0,ja.useState)(!1),f=String(e?.strategy||"ordered").trim()==="quota-balance"?"quota-balance":"ordered",m=Array.isArray(n)&&n.some(p=>Array.isArray(p?.models)&&p.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 ${Is(c.savedAt)}.`:"");return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(Ut,{children:[(0,Z.jsxs)(no,{className:"flex flex-col gap-4 p-4 pb-0 xl:flex-row xl:items-start xl:justify-between",children:[(0,Z.jsxs)("div",{className:"space-y-1",children:[(0,Z.jsx)(Uo,{children:"Web Search"}),(0,Z.jsx)(Si,{className:"text-xs leading-5",children:"Shared web search routing for AMP and other router-managed tools."}),b?(0,Z.jsx)("div",{className:"text-xs text-muted-foreground",children:b}):null]}),(0,Z.jsxs)("div",{className:"flex w-full shrink-0 flex-wrap items-end justify-end gap-3 xl:w-auto",children:[(0,Z.jsxs)("div",{className:"min-w-[12rem] space-y-1",children:[(0,Z.jsx)("div",{className:"text-[11px] font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Routing strategy"}),(0,Z.jsxs)(Et,{value:f,onValueChange:r,disabled:!!s,children:[(0,Z.jsx)(Tt,{children:(0,Z.jsx)(Mt,{placeholder:"Choose strategy"})}),(0,Z.jsx)(kt,{children:TC.map(p=>(0,Z.jsx)(Je,{value:p.value,children:p.label},p.value))})]})]}),(0,Z.jsxs)(U,{type:"button",variant:"outline",className:"gap-2",onClick:()=>u(!0),disabled:!!s||!m,children:[(0,Z.jsx)(iI,{className:"h-3.5 w-3.5"}),(0,Z.jsx)("span",{children:"Endpoint"})]})]})]}),(0,Z.jsx)(jt,{className:"space-y-4 p-4",children:(0,Z.jsx)("div",{className:"space-y-3",children:(t||[]).map(p=>{if(p.kind==="hosted"){let g=p.runtimeState&&p.runtimeState.ready===!1?"This provider/model route is no longer available or is not OpenAI-compatible.":"";return(0,Z.jsx)("div",{className:"rounded-2xl border border-border/70 bg-background/80 p-4",children:(0,Z.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,Z.jsxs)("div",{className:"flex flex-col gap-3 xl:flex-row xl:items-start xl:justify-between",children:[(0,Z.jsxs)("div",{className:"min-w-0",children:[(0,Z.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,Z.jsx)(Mb,{active:p.active}),(0,Z.jsx)("div",{className:"text-sm font-medium text-foreground",children:p.label}),(0,Z.jsx)(Ne,{variant:"outline",children:"GPT Search"})]}),(0,Z.jsx)("div",{className:"mt-1 text-xs break-all text-muted-foreground",children:p.routeId}),(0,Z.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,Z.jsxs)("div",{className:"flex items-center gap-2 self-start",children:[(0,Z.jsxs)("div",{className:"flex items-center gap-2 rounded-xl border border-border/70 bg-background/70 p-1",children:[(0,Z.jsx)(za,{disabled:!!s||p.displayIndex<=0,label:`Move ${p.routeId} up`,onClick:()=>a(p.id,"up")}),(0,Z.jsx)(Nl,{disabled:!!s||p.displayIndex>=p.displayCount-1,label:`Move ${p.routeId} down`,onClick:()=>a(p.id,"down")})]}),(0,Z.jsx)(U,{type:"button",size:"sm",variant:"ghost",onClick:()=>i(p.id),disabled:!!s,children:"Remove"})]})]}),g?(0,Z.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-900",children:g}):null]})},p.key)}let v=p.credentialField,h=String(p?.credentialValue||"").trim();return(0,Z.jsx)("div",{className:"rounded-2xl border border-border/70 bg-background/80 p-4",children:(0,Z.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,Z.jsxs)("div",{className:"flex flex-col gap-3 xl:flex-row xl:items-start xl:justify-between",children:[(0,Z.jsx)("div",{className:"min-w-0",children:(0,Z.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,Z.jsx)(Mb,{active:p.active}),(0,Z.jsx)("div",{className:"text-sm font-medium text-foreground",children:p.label})]})}),(0,Z.jsxs)("div",{className:"flex items-center gap-2 self-start rounded-xl border border-border/70 bg-background/70 p-1",children:[(0,Z.jsx)(za,{disabled:!!s||p.displayIndex<=0,label:`Move ${p.label} up`,onClick:()=>a(p.id,"up")}),(0,Z.jsx)(Nl,{disabled:!!s||p.displayIndex>=p.displayCount-1,label:`Move ${p.label} down`,onClick:()=>a(p.id,"down")})]})]}),(0,Z.jsxs)("div",{className:"grid gap-3 lg:grid-cols-[minmax(0,0.9fr)_minmax(0,1.35fr)]",children:[(0,Z.jsx)(De,{label:p.credentialLabel,hint:p.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,Z.jsx)(Ws,{buffered:!0,value:h,placeholder:p.credentialPlaceholder,onValueChange:g=>o(p.id,v,g),disabled:!!s,isEnvVar:p.credentialField==="url"})}),(0,Z.jsxs)("div",{className:"grid gap-3 sm:grid-cols-3",children:[(0,Z.jsx)(De,{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,Z.jsx)(Hm,{value:p.resultPerCallInput,placeholder:"Default: 5",allowEmptyCommit:!0,onValueChange:g=>o(p.id,"count",g),disabled:!!s})}),(0,Z.jsx)(De,{label:"Monthly limit",hint:"0 keeps quotas self-managed.",stacked:!0,className:"gap-1",headerClassName:"min-h-0",hintClassName:"leading-4",children:(0,Z.jsx)(Hm,{value:String(p.limit||0),onValueChange:g=>o(p.id,"limit",g),disabled:!!s})}),(0,Z.jsx)(De,{label:"Synced remaining",hint:"Adjust after manual upstream sync.",stacked:!0,className:"gap-1",headerClassName:"min-h-0",hintClassName:"leading-4",children:(0,Z.jsx)(Hm,{value:String(p.remaining||0),onValueChange:g=>o(p.id,"remaining",g),disabled:!!s})})]})]})]})},p.key)})})})]}),(0,Z.jsx)(lI,{open:d,onClose:()=>u(!1),candidates:n,onTestAndAdd:l,disabledReason:s})]})}var ju=D(be(),1);var S=D(J(),1);function sI(e=""){let t=String(e||"").trim();if(!t)return{};let n=Ff(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 cI(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",...sI(o)}));return n}function uI(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 dI(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 fI(e=[],{keyPrefix:t="select-option",includeHint:n=!1}={}){return uI(e).map((r,o)=>{let a=r.options.map(i=>(0,S.jsx)(Je,{value:i.value,searchText:`${i.label||""} ${i.value||""} ${i.hint||""} ${r.label||""}`,children:dI(i,{includeHint:n})},`${t}-${i.value}`));return r.label?(0,S.jsxs)(Rl,{children:[(0,S.jsx)(Gs,{children:r.label}),a]},`${t}-group-${r.key||o}`):a})}function mI({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 ST({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=Vf(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 wT({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=gC(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 AT({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=hC(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 pI(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 xT(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 gI({guideContent:e}){let[t,n]=(0,ju.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)(U,{type:"button",size:"sm",variant:"outline","aria-label":r,onClick:()=>n(!0),children:"Guide"}),(0,S.jsx)(_n,{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)(Ne,{variant:d?.variant||"outline",children:d?.label},`${r}-badge-${u}`))}):null,s?(0,S.jsxs)("div",{className:Q("rounded-2xl border p-4",pI(c)),children:[(0,S.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,S.jsx)(Ne,{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",xT(c)),children:s.title})]}),(0,S.jsx)("div",{className:Q("mt-3 text-sm leading-6",xT(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((m,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:m})]},`${r}-section-${u}-item-${b}`))}):null]},`${r}-section-${u}`)})]})})]})}function hI({field:e,routeOptions:t,disabled:n=!1,onValueChange:r}){let o=String(e?.value||"").trim()||(e?.allowUnset?"__unset__":""),a=(0,ju.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)(Et,{value:o,onValueChange:r,disabled:n||a.length===0,children:[(0,S.jsx)(Tt,{children:(0,S.jsx)(Mt,{placeholder:e.placeholder||"Select a route"})}),(0,S.jsx)(kt,{children:a.length>0?fI(a,{keyPrefix:e.id||"binding-option"}):(0,S.jsx)(Je,{value:"__no-route-options",disabled:!0,children:"No routes available"})})]})}function ep({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:m=(0,S.jsx)(mI,{className:"h-3 w-3"}),bindingFields:b=[],guideContent:p=null}){let v=t?.routedViaRouter===!0,h=String(t?.error||"").trim(),g=!!(s&&n&&!c&&!h),y=(0,ju.useMemo)(()=>{let R=new Set(["__unset__"]);for(let w of b){for(let E of Array.isArray(w?.extraOptions)?w.extraOptions:[]){let C=String(E?.value||"").trim();C&&R.add(C)}for(let E of Array.isArray(w?.options)?w.options:[]){let C=String(E?.value||"").trim();C&&R.add(C)}}return b.filter(w=>w?.usesRouteOptions!==!1).map(w=>String(w?.value||"").trim()).filter(w=>w&&!R.has(w))},[b]),x=cI(r,y);return(0,S.jsxs)(Ut,{children:[(0,S.jsxs)(no,{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)(Uo,{className:"flex items-center gap-2",children:(0,S.jsx)("span",{children:`Use ${e} via LLM Router`})}),(0,S.jsx)(Km,{primaryLabel:"Config file",primaryValue:t?.configFilePath||t?.settingsFilePath||"",onOpenPrimary:d,secondaryLabel:f,secondaryValue:t?.backupFilePath||"",secondaryIcon:m,onOpenSecondary:u})]}),(0,S.jsxs)("div",{className:"flex shrink-0 flex-wrap items-center gap-2",children:[p?(0,S.jsx)(gI,{guideContent:p}):null,(0,S.jsx)(U,{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)(jt,{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(R=>(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:R.label}),(0,S.jsx)(Ne,{variant:"outline",children:R.envKey})]}),(0,S.jsx)("div",{className:"mb-3 text-xs leading-5 text-muted-foreground",children:R.description}),(0,S.jsx)(hI,{field:R,routeOptions:x,disabled:R.standaloneWhenDisconnected?a:!v||a,onValueChange:w=>l(R.id,w==="__unset__"?"":w)})]},R.id))})]})]})]})}var It=D(J(),1);function CT({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:Sy(d)===n),c=uu[n]||uu.usage;return(0,It.jsxs)(Ut,{children:[(0,It.jsx)(no,{children:(0,It.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between",children:[(0,It.jsxs)("div",{className:"space-y-1",children:[(0,It.jsx)(Uo,{children:"Activity"}),(0,It.jsx)(Si,{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,It.jsxs)("div",{className:"flex shrink-0 flex-wrap items-center gap-2",children:[(0,It.jsx)("div",{className:"min-w-[13rem]",children:(0,It.jsxs)(Et,{value:n,onValueChange:o,searchEnabled:!1,children:[(0,It.jsx)(Tt,{children:(0,It.jsx)(Mt,{placeholder:"Filter category"})}),(0,It.jsx)(kt,{children:yC.map(d=>(0,It.jsx)(Je,{value:d.value,children:d.label},d.value))})]})}),(0,It.jsx)(U,{type:"button",size:"sm",variant:"outline",onClick:i,disabled:r!==""||!e?.length,children:r==="clear"?"Clearing\u2026":"Clear log"}),(0,It.jsx)(U,{type:"button",size:"sm",variant:t?"outline":"default",onClick:a,disabled:r!=="",children:r==="toggle"?"Updating\u2026":t?"Disable log":"Enable log"})]})]})}),(0,It.jsx)(jt,{children:(0,It.jsx)("div",{className:"max-h-[32rem] space-y-3 overflow-auto pr-1",children:s.length?s.map(d=>{let u=Sy(d),f=uu[u]||uu.usage;return(0,It.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/80 px-4 py-3",children:[(0,It.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,It.jsxs)("div",{className:"flex items-center gap-2",children:[(0,It.jsx)("span",{className:Q("inline-flex h-2.5 w-2.5 rounded-full ring-4",gy[d.level]||gy.info)}),(0,It.jsx)(Ne,{variant:f.badgeVariant,children:f.label}),(0,It.jsx)("span",{className:"text-sm font-medium text-foreground",children:d.message})]}),(0,It.jsx)("span",{className:"text-xs text-muted-foreground",children:Is(d.time)})]}),d.detail?(0,It.jsx)("div",{className:"mt-2 text-sm leading-6 text-muted-foreground",children:d.detail}):null]},d.id)}):l.length?(0,It.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,It.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 Vt=D(be(),1);var Ub=D(be(),1);var An=D(J(),1);function RT({rows:e,onChange:t}){let n=nm(e),r=n.length>0?n:[{name:"",value:""}];function o(l,s,c){s==="name"&&VC(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,An.jsxs)("div",{className:"space-y-2",children:[r.map((l,s)=>(0,An.jsxs)("div",{className:"grid gap-2 md:grid-cols-[minmax(0,0.9fr)_minmax(0,1.3fr)_auto]",children:[(0,An.jsx)(He,{value:l.name,onChange:c=>o(s,"name",c.target.value),placeholder:s===0?"User-Agent":"Header name"}),(0,An.jsx)(He,{value:l.value,onChange:c=>o(s,"value",c.target.value),placeholder:s===0?io:"Header value"}),(0,An.jsx)(U,{type:"button",variant:"ghost",onClick:()=>i(s),children:"Remove"})]},`header-row-${s}`)),(0,An.jsxs)("div",{className:"flex items-center justify-between gap-3 text-xs text-muted-foreground",children:[(0,An.jsx)("span",{children:"User-Agent is included by default. Add more only when a provider needs them."}),(0,An.jsx)(U,{type:"button",variant:"outline",onClick:a,children:"Add custom header"})]})]})}function NT({providerId:e,values:t,onChange:n}){let r=(t||[]).map(u=>String(u||"").trim()).filter(Boolean),o=Ys(r),a=(0,Ub.useRef)(""),i=(0,Ub.useRef)(null);function l(u){n((t||[]).filter(f=>f!==u))}function s(u,f){if(!u||!f||u===f)return;let m=[...t||[]],b=m.indexOf(u),p=m.indexOf(f);if(b===-1||p===-1)return;let[v]=m.splice(b,1);m.splice(p,0,v),n(m)}function c(u){n(Ls(t||[],u,f=>String(f||"").trim()))}function d(){a.current="",Da(i.current,!1),i.current=null}return(0,An.jsxs)("div",{className:"space-y-2",children:[(0,An.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,An.jsxs)("div",{ref:o(u),"data-reorder-row":"true",onDragOver:m=>{a.current&&a.current!==u&&(m.preventDefault(),m.dataTransfer.dropEffect="move")},onDrop:m=>{m.preventDefault();let b=m.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,An.jsx)("span",{className:"flex h-8 w-8 cursor-grab items-center justify-center rounded-full text-muted-foreground",draggable:!0,onDragStart:m=>{let b=Ds(m.currentTarget);m.dataTransfer.effectAllowed="move",m.dataTransfer.setData("text/plain",u),b&&typeof m.dataTransfer?.setDragImage=="function"&&m.dataTransfer.setDragImage(b,20,20),d(),a.current=u,i.current=b,Da(b,!0)},onDragEnd:d,title:"Drag to reorder",children:(0,An.jsx)(Os,{className:"h-4 w-4"})}),(0,An.jsx)(za,{disabled:f===0,label:f===0?"Already first":`Move ${e}/${u} up`,onClick:()=>c(u)}),(0,An.jsxs)("span",{className:"truncate text-sm font-medium text-foreground",children:[e,"/",u]}),(0,An.jsx)("button",{className:"text-muted-foreground transition hover:text-foreground",type:"button",onMouseDown:m=>m.preventDefault(),onClick:()=>l(u),children:"\xD7"})]},u)):(0,An.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,An.jsx)("code",{children:"default"})," route. An empty default route returns 500 until you add a working model."]})}),(0,An.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=D(J(),1);function jb({baseConfig:e,onApplyDraft:t,onValidateDraft:n,onSaveDraft:r,onSaveAndStart:o,seedMode:a="blank",mode:i="add",targetProviderId:l="",defaultProviderUserAgent:s=io,framed:c=!0,showHeader:d=!0}){let[u,f]=(0,Vt.useState)(0),[m,b]=(0,Vt.useState)(""),[p,v]=(0,Vt.useState)(()=>n1(e,{seedMode:a,targetProviderId:l,defaultProviderUserAgent:s})),[h,g]=(0,Vt.useState)(null),[y,x]=(0,Vt.useState)(""),[R,w]=(0,Vt.useState)({}),[E,C]=(0,Vt.useState)(!1),[M,L]=(0,Vt.useState)(null),[F,z]=(0,Vt.useState)(""),[G,ee]=(0,Vt.useState)(!1),[de,q]=(0,Vt.useState)(""),ae=(0,Vt.useRef)(!0),te=(0,Vt.useRef)(""),W=(0,Vt.useRef)(Math.random().toString(36).slice(2,10)),V=i==="edit",Pe=!V&&a==="blank"&&im(e),ne=`llr-qs-endpoint-${W.current}`,$e=`llr-qs-endpoint-input-${W.current}`,ie=`llr-qs-credential-${W.current}`,we=`llr-qs-credential-input-${W.current}`,Ue=[{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."}],j=lr(p.modelIds,p.modelDraft),pe=am(p.aliasModelIds,j),Se=p.connectionType==="api"?lr(p.endpoints,p.endpointDraft):[],Le=(0,Vt.useMemo)(()=>({...p,endpoints:Se,modelIds:j,aliasModelIds:pe,rateLimitRows:wr(p.rateLimitRows)}),[p,Se,j,pe]),Ae=(0,Vt.useMemo)(()=>rm(p.headerRows||[]),[p.headerRows]),ke=String(p.apiKeyEnv||"").trim(),Qe=(0,Vt.useMemo)(()=>Ny(Le),[Le]),Ze=M?.signature===Qe?M.result:null,on=Ze?.models?.length>0?Ze.models:My(p.selectedConnection||"custom"),Un=Pr(p.providerId||p.providerName||"my-provider")||"my-provider",dn=ky(p),wt=JSON.stringify({connectionType:p.connectionType,selectedConnection:p.selectedConnection,subscriptionProfile:dn}),bt=j.filter(X=>R[X]==="error"),vt=j.filter(X=>R[X]==="success"),Ve=j.some(X=>R[X]==="success"||R[X]==="error"),Ft=j.length>0&&j.every(X=>R[X]==="success"),en=vt.length>0,hn=bt.length>0,Nr=j.some(X=>!R[X]||R[X]==="default"),Te=h?.signature===Qe?h.result:null,rt=p.connectionType!=="api"||en,pt=(0,Vt.useMemo)(()=>r1(e,Le,Te,{targetProviderId:l}),[e,Le,Te,l]),fo=(0,Vt.useMemo)(()=>`${JSON.stringify(pt,null,2)}
58
+ `,[pt]),At=Bt,Ee=Ue[u],yn=o1(u,Le,e,{targetProviderId:l});(0,Vt.useEffect)(()=>{UC()},[]),(0,Vt.useEffect)(()=>{let X=te.current!==""&&te.current!==Qe;if(te.current=Qe,X&&p.connectionType==="api"&&(w({}),g(null),x(""),ae.current=!0,C(!1)),p.connectionType!=="api"){h!==null&&g(null),y&&x(""),Object.keys(R).length>0&&w({}),M!==null&&L(null),F&&z("");return}M?.signature&&M.signature!==Qe&&(L(null),z(""))},[p.connectionType,Qe,h,y,R,M,F]);function O(X,Ge){v(qe=>({...qe,[X]:Ge}))}function ge(X){v(Ge=>{let qe=Pr(Ge.providerName||""),ct=Pr(X||"")||"my-provider",Cn=!Ge.providerId||Ge.providerId===qe;return{...Ge,providerName:X,providerId:Cn?ct:Ge.providerId}})}function re(X){x(""),g(null),w({}),L(null),z(""),ae.current=!0,C(!1),T(X,X==="api"?"custom":"oauth-gpt")}function je(X){x(""),g(null),w({}),L(null),z(""),ae.current=!0,C(!1);let Ge=zr(X);T(Ge.category,X)}function T(X,Ge){v(qe=>t1(qe,{baseConfig:e,nextCategory:X,nextPresetKey:Ge,defaultProviderUserAgent:s}))}async function k({force:X=!1,silent:Ge=!1}={}){if(p.connectionType!=="api")return!1;if(Se.length===0||!ke)return Ge||z("Add endpoints and an API key or env before checking the model list API."),!1;if(!X&&M?.signature===Qe)return!!(M?.result?.models||[]).length;ee(!0),Ge||z("");try{let qe=await Xe("/api/config/discover-provider-models",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({endpoints:Se,...Ao(ke)?{apiKeyEnv:ke}:{apiKey:ke},...Object.keys(Ae).length>0?{headers:Ae}:{}})}),ct=(qe.result?.models||[]).map(fn=>String(fn||"").trim()).filter(Boolean),Cn={};if(ct.length>0){let fn=p.selectedConnection;if(fn&&hu.set(fn,ct),Ty(Se)){let Xn=await k1(Se[0]||"",ke,ct.filter(Jn=>!Jn.includes("embed")&&!Jn.includes("tts")&&!Jn.includes("image")&&!Jn.includes("lyria")&&!Jn.includes("veo")));Xn&&(ct=Xn)}try{let Xn=await Nu(ct);Cn=M1(Xn)}catch{Cn={}}}let Vr={...qe.result&&typeof qe.result=="object"?qe.result:{},modelContextWindows:Cn};if(L({signature:Qe,result:Vr}),ct.length>0)return v(fn=>{if(Ny(fn)!==Qe||fn.connectionType!=="api")return fn;let mn=Array.isArray(fn.modelIds)?fn.modelIds:[],Xn=X&&mn.length>0?Array.from(new Set([...mn,...ct])):mn.length>0?mn:ct,Jn={...fn.modelContextWindows&&typeof fn.modelContextWindows=="object"?fn.modelContextWindows:{},...Cn},Zs=Ty(fn.endpoints),Pi=Zs?ZC(Zs,Xn):null;return JSON.stringify(Xn)===JSON.stringify(mn)&&JSON.stringify(Jn)===JSON.stringify(fn.modelContextWindows||{})&&!Pi?fn:{...fn,modelIds:Xn,modelContextWindows:Jn,...Pi?{rateLimitRows:Pi}:{}}}),z(""),!0;let mo=(qe.result?.warnings||[]).join(" ")||"Model list API did not return any models. Add model ids manually if needed.";return z(mo),!1}catch(qe){let ct=qe instanceof Error?qe.message:String(qe);return z(ct),!1}finally{ee(!1)}}async function H({onlyModels:X=null}={}){if(p.connectionType!=="api")return!0;let Ge=X||j;b("test"),x(""),w(qe=>{let ct={...qe};for(let Cn of Ge)ct[Cn]="pending";return ct});try{let qe=await Ru("/api/config/test-provider-stream",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({endpoints:Se,models:Ge,...Ao(ke)?{apiKeyEnv:ke}:{apiKey:ke},...Object.keys(Ae).length>0?{headers:Ae}:{}})},{onMessage:mn=>{if(mn?.type!=="progress")return;let Xn=mn.event||{};Xn.phase==="model-done"&&w(Jn=>({...Jn,[Xn.model]:Xn.confirmed?"success":"error"}))}}),ct=new Set(qe?.models||[]),Cn=h?.signature===Qe?h.result:null,Vr=new Set(Cn?.models||[]);for(let mn of Ge)ct.has(mn)?Vr.add(mn):Vr.delete(mn);let mo={...Cn||{},...qe,models:Array.from(Vr),workingFormats:Array.from(new Set([...Cn?.workingFormats||[],...qe?.workingFormats||[]])),ok:j.every(mn=>Vr.has(mn))};g({signature:Qe,result:mo}),w(mn=>{let Xn={...mn};for(let Jn of Ge)Xn[Jn]=ct.has(Jn)?"success":"error";return Xn});let fn=Ge.filter(mn=>!ct.has(mn));return fn.length>0?(x((qe?.warnings||[]).join(" ")||`${fn.length} model(s) failed the provider test.`),!1):!0}catch(qe){return w(ct=>{let Cn={...ct};for(let Vr of Ge)(!Cn[Vr]||Cn[Vr]==="pending")&&(Cn[Vr]="error");return Cn}),x(qe instanceof Error?qe.message:String(qe)),!1}finally{b("")}}(0,Vt.useEffect)(()=>{u!==1||p.connectionType!=="api"||j.length>0||!ke||Se.length===0||G||M?.signature===Qe||k({silent:!0})},[u,p.connectionType,j.length,ke,Se.length,G,M,Qe]);async function ue({force:X=!1}={}){if(p.connectionType==="api"||!X&&de===wt)return!0;let Ge=zr(p.selectedConnection||"oauth-gpt");b("oauth-login"),x("");try{return await Xe("/api/subscription/login",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({profileId:dn,providerId:Un,subscriptionType:Ge.subscriptionType||"chatgpt-codex"})}),q(wt),!0}catch(qe){return x(qe instanceof Error?qe.message:String(qe)),!1}finally{b("")}}async function nt(){u===0&&p.connectionType==="subscription"&&!await ue()||(u===1&&C(!0),f(X=>Math.min(X+1,Ue.length-1)))}async function qt(){let X=j.filter(ct=>R[ct]!=="success"),Ge=ae.current;ae.current=!1,await H({onlyModels:X.length<j.length?X:null})&&Ge&&!E&&(C(!0),f(ct=>Math.min(ct+1,Ue.length-1)))}async function Me(){let X=j.filter(Ge=>R[Ge]==="error");X.length!==0&&await H({onlyModels:X})}function Y(){let X=j.filter(Ge=>R[Ge]==="error");v(Ge=>({...Ge,modelIds:(Ge.modelIds||[]).filter(qe=>!X.includes(qe))})),w(Ge=>{let qe={...Ge};for(let ct of X)delete qe[ct];return qe}),x(""),C(!0),f(Ge=>Math.min(Ge+1,Ue.length-1))}async function ye(X){if((X==="save"||X==="save-start")&&p.connectionType==="api"&&!rt){x("Finish is available after the provider test succeeds.");return}b(X);try{if(X==="apply"){await t(fo);return}if(X==="validate"){await n(fo);return}if(X==="save"){await r(fo);return}X==="save-start"&&await o(fo)}finally{b("")}}let $n=y||yn||(u===0&&p.connectionType==="subscription"&&de!==wt?"Continue opens the browser sign-in flow for this provider.":u===1&&p.connectionType==="api"&&!Ve?"Test the provider against the entered endpoints and model ids using your API key or env.":u===1&&p.connectionType==="api"&&hn&&!Ft?`${vt.length} of ${j.length} model(s) confirmed. Fix or skip failed model(s) to continue.`:Ue[u].detail),Ii=p.selectedConnection==="oauth-claude"?"Examples: claude-opus-4-6 claude-sonnet-4-6 claude-haiku-4-5":p.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(Ze?.modelContextWindows||{}).length>0?` \xB7 ${Object.keys(Ze?.modelContextWindows||{}).length} context size${Object.keys(Ze?.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."})]}),zi=V?"Edit provider":Pe?"Add provider":"Quick start wizard",Fu=V?"Update this provider in place. Change endpoints, model ids, rate limits, alias, or provider id, then save the refreshed config.":Pe?"Add another provider with endpoints, model ids, rate limits, and a stable alias. API Key providers are auto-tested before save.":"",Js=(0,P.jsx)("div",{className:"flex items-center gap-1",children:Ue.map((X,Ge)=>{let qe=Ge===u,ct=Ge<u;return(0,P.jsxs)(Vt.Fragment,{children:[Ge>0?(0,P.jsx)("span",{className:"text-[10px] text-muted-foreground/40 select-none",children:"/"}):null,(0,P.jsxs)("button",{type:"button",disabled:!ct,onClick:()=>{ct&&f(Ge)},className:Q("inline-flex items-center gap-1.5 rounded-md px-2 py-1 text-xs font-medium transition-colors",qe?"bg-primary text-primary-foreground":ct?"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",qe?"bg-primary-foreground/20":ct?"bg-emerald-100 text-emerald-700":"bg-muted"),children:Ge+1}),X.title]})]},X.title)})}),Va=(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:CC.map(X=>(0,P.jsxs)("button",{type:"button",className:Q("rounded-2xl border px-4 py-3 text-left transition",p.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)(De,{label:"Provider preset",children:(0,P.jsxs)(Et,{value:p.selectedConnection||(p.connectionType==="api"?"custom":"oauth-gpt"),onValueChange:je,children:[(0,P.jsx)(Tt,{children:(0,P.jsx)(Mt,{})}),(0,P.jsx)(kt,{children:PC(p.connectionType==="subscription"?"subscription":"api").map(X=>(0,P.jsxs)(Je,{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)(De,{label:"Provider name",children:(0,P.jsx)(He,{value:p.providerName,onChange:X=>ge(X.target.value),placeholder:zr(p.selectedConnection||"custom").providerName})}),(0,P.jsx)(De,{label:"Provider id",hint:"lowercase-hyphenated",children:(0,P.jsx)(He,{value:p.providerId,onChange:X=>O("providerId",X.target.value),onBlur:()=>O("providerId",Pr(p.providerId||p.providerName||"my-provider")||"my-provider"),placeholder:zr(p.selectedConnection||"custom").providerId})})]}),p.connectionType==="api"?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(De,{label:"Endpoints",hint:"comma, space, or newline turns into chips",children:(0,P.jsx)(zu,{values:p.endpoints,onChange:X=>O("endpoints",X),draftValue:p.endpointDraft,onDraftValueChange:X=>O("endpointDraft",X),commitOnBlur:!0,isValueValid:Ni,placeholder:"Example: https://api.openai.com/v1",helperText:"Paste one or more endpoints",inputProps:{id:$e,name:ne,autoComplete:"off",autoCapitalize:"none",autoCorrect:"off",spellCheck:!1,inputMode:"url","data-form-type":"other"}})}),(0,P.jsx)(De,{label:"API key or env",children:(0,P.jsx)(Ws,{value:p.apiKeyEnv,onChange:X=>O("apiKeyEnv",X.target.value),placeholder:"Example: OPENAI_API_KEY or sk-...",isEnvVar:Ao(p.apiKeyEnv),maskMode:"obscured-text",inputProps:{id:we,name:ie,autoComplete:"new-password",autoCapitalize:"none",autoCorrect:"off",spellCheck:!1,"data-form-type":"other","data-lpignore":"true","data-1p-ignore":"true"}})}),(0,P.jsx)(De,{label:"Custom headers",hint:"User-Agent included by default",children:(0,P.jsx)(RT,{rows:p.headerRows,onChange:X=>O("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:p.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."}),p.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)(De,{label:"Models",hint:"comma, space, or newline turns into chips",children:(0,P.jsx)(zu,{values:p.modelIds,onChange:X=>O("modelIds",X),draftValue:p.modelDraft,onDraftValueChange:X=>O("modelDraft",X),commitOnBlur:!0,disabled:m==="test",valueStates:p.connectionType==="api"?R:{},placeholder:"Paste model ids",helperText:Ii,suggestedValues:on})}),p.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)(Ur,{}),"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,p.connectionType==="api"?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(De,{label:"Rate limit",stacked:!0,headerAction:(0,P.jsx)(U,{type:"button",size:"sm",variant:"outline",onClick:()=>O("rateLimitRows",Gm(p.rateLimitRows)),disabled:m==="test",children:"Add rate limit"}),children:(0,P.jsx)(qm,{rows:p.rateLimitRows,onChange:X=>O("rateLimitRows",X),availableModelIds:j,disabled:m==="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,p.connectionType==="api"?(0,P.jsxs)("div",{className:Q("rounded-2xl border px-4 py-3 text-sm leading-6",Ft&&Ve?"border-emerald-200 bg-emerald-50 text-emerald-900":hn?"border-amber-200 bg-amber-50 text-amber-900":en?"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:Ft&&Ve?`Confirmed ${vt.length} model(s) across ${(Te?.workingFormats||[]).join(", ")||"detected formats"}.`:hn?`${vt.length} of ${j.length} model(s) confirmed. ${bt.length} failed: ${bt.join(", ")}.`:en?`Confirmed ${vt.length} of ${j.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:Pe||V?(0,P.jsx)(BE,{label:"Use this provider order for the default route",hint:"Updates the fixed `default` alias",checked:p.useAliasAsDefault,onCheckedChange:X=>O("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)(NT,{providerId:Un,values:pe,onChange:X=>O("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:Un}),(0,P.jsx)("div",{className:"mt-1 text-xs text-muted-foreground",children:p.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:JC(p.selectedConnection||"custom")}),(0,P.jsx)("div",{className:"mt-1 text-xs text-muted-foreground break-all",children:p.connectionType==="api"?`${Se.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:[j.length," configured"]}),(0,P.jsx)("div",{className:"mt-1 text-xs text-muted-foreground break-all",children:j.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:At}),(0,P.jsx)("div",{className:"mt-1 text-xs text-muted-foreground",children:p.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."})]})]}),p.connectionType==="api"?(0,P.jsxs)("div",{className:Q("rounded-2xl border px-4 py-3 text-sm leading-6",rt?"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:rt?`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",yn||y?"text-amber-700":"text-muted-foreground"),children:$n}),(0,P.jsxs)("div",{className:"flex shrink-0 flex-wrap items-center gap-2 md:justify-end",children:[u>0?(0,P.jsx)(U,{variant:"ghost",onClick:()=>f(X=>Math.max(X-1,0)),children:"Back"}):null,u<Ue.length-1?u===1&&p.connectionType==="api"?E?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(U,{variant:"outline",onClick:()=>{qt()},disabled:!!yn||m!=="",children:m==="test"?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(Ur,{}),"Testing\u2026"]}):"Test"}),(0,P.jsx)(U,{onClick:()=>{nt()},disabled:!!yn||m!==""||!en,children:"Continue"})]}):!Ve||Nr?(0,P.jsx)(U,{onClick:()=>{qt()},disabled:!!yn||m!=="",children:m==="test"?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(Ur,{}),"Testing provider\u2026"]}):"Test"}):Ft?(0,P.jsx)(U,{onClick:()=>{nt()},disabled:!!yn||m!=="",children:"Continue"}):hn?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(U,{variant:"outline",onClick:()=>{Me()},disabled:!!yn||m!=="",children:m==="test"?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(Ur,{}),"Re-testing\u2026"]}):"Test again"}),en?(0,P.jsx)(U,{onClick:()=>{Y()},disabled:m!=="",children:"Skip failed model(s) and continue"}):null]}):(0,P.jsx)(U,{onClick:()=>{qt()},disabled:!!yn||m!=="",children:m==="test"?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(Ur,{}),"Testing provider\u2026"]}):"Test"}):(0,P.jsx)(U,{onClick:()=>{nt()},disabled:!!yn||m!=="",children:m==="oauth-login"?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(Ur,{}),"Signing in\u2026"]}):"Continue"}):(0,P.jsx)(U,{onClick:()=>{ye("save-start")},disabled:!!yn||m!==""||p.connectionType==="api"&&!rt,children:m==="save-start"?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(Ur,{}),"Finishing\u2026"]}):"Finish"})]})]})]});return c?(0,P.jsxs)(Ut,{className:"border-dashed",children:[(0,P.jsxs)(no,{children:[(0,P.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[d?(0,P.jsx)(Uo,{children:zi}):null,Js]}),d?(0,P.jsx)(Si,{children:Fu}):null]}),(0,P.jsx)(jt,{className:"space-y-5",children:Va})]}):(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:Js}),(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:zi}),(0,P.jsx)("div",{className:"mt-1 text-sm leading-6 text-muted-foreground",children:Fu})]}):null,Va]})]})}var $=D(J(),1);async function Vu(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 yI(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 bI(e={}){let t=yI(e?.host||"127.0.0.1"),n=Number.isInteger(Number(e?.port))?Number(e.port):8376;return`http://${t}:${n}`}function ET({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)(Ne,{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)(U,{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)(qf,{className:"h-3.5 w-3.5"}),(0,$.jsx)("span",{children:o?"Syncing production config\u2026":"Sync production config"})]})}):null]})})}function TT(){let[e,t]=(0,ve.useState)(null),[n,r]=(0,ve.useState)(""),[o,a]=(0,ve.useState)(""),[i,l]=(0,ve.useState)(null),[s,c]=(0,ve.useState)([]),[d,u]=(0,ve.useState)(!0),[f,m]=(0,ve.useState)(!1),[b,p]=(0,ve.useState)(!1),[v,h]=(0,ve.useState)(!1),[g,y]=(0,ve.useState)(""),[x,R]=(0,ve.useState)(""),[w,E]=(0,ve.useState)(!1),[C,M]=(0,ve.useState)("model-alias"),[L,F]=(0,ve.useState)(!1),[z,G]=(0,ve.useState)(!1),[ee,de]=(0,ve.useState)(0),[q,ae]=(0,ve.useState)(""),[te,W]=(0,ve.useState)(""),[V,Pe]=(0,ve.useState)(""),[ne,$e]=(0,ve.useState)(""),[ie,we]=(0,ve.useState)(!1),[Ue,j]=(0,ve.useState)(!1),[pe,Se]=(0,ve.useState)(!1),[Le,Ae]=(0,ve.useState)(""),[ke,Qe]=(0,ve.useState)("usage"),[Ze,on]=(0,ve.useState)(null),[Un,dn]=(0,ve.useState)({status:"idle",message:"",savedAt:""}),wt=(0,ve.useRef)(""),bt=(0,ve.useRef)(""),vt=(0,ve.useRef)(null),Ve=(0,ve.useRef)(null),Ft=(0,ve.useRef)(null),en=(0,ve.useRef)(0),hn=(0,ve.useRef)(""),Nr=(0,ve.useRef)(0);(0,ve.useEffect)(()=>{wt.current=n},[n]),(0,ve.useEffect)(()=>{bt.current=o},[o]),(0,ve.useEffect)(()=>()=>{Ft.current&&(clearTimeout(Ft.current),Ft.current=null)},[]);let Te=n!==o,rt=e?.config?.document,pt=i?.summary||e?.config||{},fo=i?.validationMessages||e?.config?.validationMessages||[],At=(0,ve.useMemo)(()=>Cy(e?.config?.rawText||"{}",e?.config?.document||{}),[e?.config?.rawText,e?.config?.document]),Ee=(0,ve.useMemo)(()=>KC(n,At),[n,At]),yn=(0,ve.useMemo)(()=>Cy(n,At),[n,At]),O=Ee.parseError?At:Ee.value,ge=(0,ve.useMemo)(()=>Array.isArray(O?.providers)?O.providers:[],[O]),re=(0,ve.useMemo)(()=>O?.modelAliases&&typeof O.modelAliases=="object"&&!Array.isArray(O.modelAliases)?O.modelAliases:{},[O]),je=(0,ve.useMemo)(()=>Tb(O),[O]),T=Ee.parseError?`Fix the raw JSON parse error first: ${Ee.parseError}`:"",k=O,H=e?.config?.localServer||e?.startup?.defaults||null,ue=(0,ve.useMemo)(()=>bI(H||{}),[H?.host,H?.port]),nt=e?.ampClient?.global||{},qt=e?.webSearch||e?.ampWebSearch||null,Me=e?.codingTools?.codexCli||{},Y=e?.codingTools?.claudeCode||{},ye=e?.codingTools?.factoryDroid||{},$n=nt?.routedViaRouter===!0,Ii=Me?.routedViaRouter===!0,zi=Y?.routedViaRouter===!0,Fu=ye?.routedViaRouter===!0,Js=e?.ollama||null,Va=Js?.connected===!0,[X,Ge]=(0,ve.useState)([]),qe=O?.metadata?.localModels||{},ct=(0,ve.useMemo)(()=>({runtime:{...qe?.runtime||{},ollama:{...qe?.runtime?.ollama||{},status:Va?"running":"stopped"}},library:qe?.library||{},variants:qe?.variants||{}}),[qe,Va]),Cn=(0,ve.useMemo)(()=>dT(ct),[ct]),[Vr,mo]=(0,ve.useState)({}),[fn,mn]=(0,ve.useState)(!1),Jn=(e?.activityLog||{enabled:!0})?.enabled!==!1,Zs=(0,ve.useMemo)(()=>Tb(k),[k]),Pi=(0,ve.useMemo)(()=>Oy(k),[k]),kl=(0,ve.useMemo)(()=>Ti(sr(k)),[k]),tp=(0,ve.useMemo)(()=>g1(k,qt),[k,qt]),_T=(0,ve.useMemo)(()=>h1(tp,Y?.webSearchProvider||""),[tp,Y?.webSearchProvider]),LT=(0,ve.useMemo)(()=>{let A=new Set((Array.isArray(kl?.providers)?kl.providers:[]).map(N=>Mn(N?.id)).filter(Boolean));return p1(k,A)},[k,kl]),oa=Ee.parseError?`Fix the raw JSON parse error first: ${Ee.parseError}`:Zs.length===0?"Add at least one alias or provider/model route before configuring AMP.":"",po=Ee.parseError?`Fix the raw JSON parse error first: ${Ee.parseError}`:"",aa=Ee.parseError?`Fix the raw JSON parse error first: ${Ee.parseError}`:je.length===0?"Add at least one alias or provider/model route before configuring coding-tool bindings.":"",DT=(0,ve.useMemo)(()=>Li(je,Vf(Me?.bindings?.defaultModel)?[]:[Me?.bindings?.defaultModel]),[je,Me?.bindings?.defaultModel]),BT=(0,ve.useMemo)(()=>Li(je,[Y?.bindings?.primaryModel,Y?.bindings?.defaultOpusModel,Y?.bindings?.defaultSonnetModel,Y?.bindings?.defaultHaikuModel,Y?.bindings?.subagentModel]),[je,Y?.bindings?.primaryModel,Y?.bindings?.defaultOpusModel,Y?.bindings?.defaultSonnetModel,Y?.bindings?.defaultHaikuModel,Y?.bindings?.subagentModel]),IT=(0,ve.useMemo)(()=>Li(je,[ye?.bindings?.defaultModel,ye?.bindings?.missionOrchestratorModel,ye?.bindings?.missionWorkerModel,ye?.bindings?.missionValidatorModel]),[je,ye?.bindings?.defaultModel,ye?.bindings?.missionOrchestratorModel,ye?.bindings?.missionWorkerModel,ye?.bindings?.missionValidatorModel]),np=String(k?.amp?.defaultRoute||k?.defaultModel||Su(k)||"").trim(),Zn=String(k?.masterKey||e?.config?.document?.masterKey||"").trim(),zT=(0,ve.useMemo)(()=>l1(Zn),[Zn]),rp=ge.length>0,PT=rp&&z,Ol=e?.router?.running===!0,Fb=e?.startup?.installed===!0,op=e?.environment?.devMode===!0,Hb=String(e?.config?.path||e?.environment?.configPath||"").trim(),$b=String(e?.environment?.productionConfigPath||"").trim(),ap=e?.environment?.canSyncProductionConfig===!0,Hu=Number.isInteger(Number(e?.config?.localServer?.port))?Number(e.config.localServer.port):Number.isInteger(Number(e?.router?.port))?Number(e.router.port):8376,ip=g==="start"?"Starting\u2026":g==="stop"?"Stopping\u2026":Ol?"Stop server":"Start server",lp=x==="enable"?"Enabling OS startup\u2026":x==="disable"?"Disabling OS startup\u2026":Fb?"Disable OS startup":"Enable OS startup",Kb=e?.router?.portBusy?e?.router?.portBusyReason||`Port ${Hu} is occupied${e?.router?.listenerPids?.length>0?` by PID${e.router.listenerPids.length===1?"":"s"} ${e.router.listenerPids.join(", ")}`:""}.`:String(e?.router?.lastError||"").trim(),UT=!im(O),Gb=ge.filter(A=>A?.type!=="ollama"),qb=Gb.length>0?"existing":"blank",Wb=Gb[0]?.id||"",Yb=e?.defaults?.providerUserAgent||io;(0,ve.useEffect)(()=>{if(d||f||Ee.parseError)return;if(Zn){hn.current="";return}let A=String(e?.config?.rawText||o||"__empty__");hn.current!==A&&(hn.current=A,$T({showSuccessNotice:!1}))},[o,Zn,d,Ee.parseError,f,e?.config?.rawText]),(0,ve.useEffect)(()=>{if(Ft.current&&(clearTimeout(Ft.current),Ft.current=null),!Ze)return;let A=Ze.immediate===!0?0:450;return Ft.current=setTimeout(()=>{Ft.current=null;let N=Ze.sequence;dn(I=>({...I,status:"saving",message:""})),(async()=>{try{let I=await Xe("/api/amp/apply",{method:"POST",headers:Ye,body:JSON.stringify({rawText:Ze.rawText,source:"autosave"})});if(N!==en.current)return;Mo(I,{preserveDraft:wt.current!==Ze.rawText}),dn({status:"saved",message:"",savedAt:new Date().toISOString()})}catch(I){if(N!==en.current)return;let he=I instanceof Error?I.message:String(I);dn({status:"error",message:he,savedAt:""}),B("error",he)}})()},A),()=>{Ft.current&&(clearTimeout(Ft.current),Ft.current=null)}},[Ze]);function jT(){G(!0),de(A=>A+1)}function VT(){jT()}function sp(){G(!1)}(0,ve.useEffect)(()=>{!rp&&z&&G(!1)},[rp,z]);function B(A,N){Nr.current+=1,c(I=>[...I,{id:`notice-${Nr.current}`,tone:A,message:N}])}function Qb(A){c(N=>N.filter(I=>I.id!==A))}function Mo(A,{preserveDraft:N=!1}={}){t(A);let I=String(A?.config?.rawText||"");if(!N||wt.current===bt.current){r(I),a(I),F(!1),l({rawText:I,summary:A?.config,validationMessages:A?.config?.validationMessages||[]});return}a(I),I!==bt.current&&F(!0)}async function an({preserveDraft:A=!1}={}){let N=await Xe("/api/state");Mo(N,{preserveDraft:A})}(0,ve.useEffect)(()=>{let A=!1;function N(){vt.current&&(vt.current.close(),vt.current=null)}function I(){Ve.current&&(clearTimeout(Ve.current),Ve.current=null)}function he(){A||Ve.current||(Ve.current=setTimeout(()=>{Ve.current=null,_e({isReconnect:!0})},xC))}function _e({isReconnect:ot=!1}={}){if(A)return;I(),N();let We=new EventSource("/api/events");vt.current=We,We.onopen=()=>{A||vt.current!==We||ot&&an({preserveDraft:wt.current!==bt.current}).catch(()=>{})},We.addEventListener("state",Kt=>{if(!(A||vt.current!==We))try{let Ht=JSON.parse(Kt.data);Ht?.snapshot&&Mo(Ht.snapshot,{preserveDraft:!0})}catch(Ht){B("error",Ht instanceof Error?Ht.message:String(Ht))}}),We.addEventListener("log",Kt=>{if(!(A||vt.current!==We))try{let Ht=JSON.parse(Kt.data);t(Ke=>Ke&&{...Ke,logs:[Ht,...Ke.logs||[]].slice(0,150)})}catch{}}),We.addEventListener("logs",Kt=>{if(!(A||vt.current!==We))try{let Ht=JSON.parse(Kt.data);t(Ke=>Ke&&{...Ke,...Ht?.activityLog?{activityLog:Ht.activityLog}:{},logs:Array.isArray(Ht?.logs)?Ht.logs:[]})}catch{}}),We.onerror=()=>{A||vt.current!==We||(N(),he())}}return(async()=>{try{await an()}catch(ot){A||B("error",ot instanceof Error?ot.message:String(ot))}finally{A||(u(!1),_e())}})(),()=>{A=!0,I(),N()}},[]);async function Xb(A,{silent:N=!1}={}){p(!0);try{let I=await Xe("/api/config/validate",{method:"POST",headers:Ye,body:JSON.stringify({rawText:A})});return l({rawText:A,summary:I.summary,validationMessages:I.validationMessages||[]}),N||B(GC(I.summary)==="success"?"success":"warning",I.summary.validationSummary),I}catch(I){throw N||B("error",I instanceof Error?I.message:String(I)),I}finally{p(!1)}}async function cp(A,{successMessage:N="Config saved.",showSuccessNotice:I=!0}={}){m(!0);try{let he=await Xe("/api/config/save",{method:"POST",headers:Ye,body:JSON.stringify({rawText:A})});return Mo(he,{preserveDraft:wt.current!==A}),I&&N&&B("success",N),he}catch(he){throw B("error",he instanceof Error?he.message:String(he)),he}finally{m(!1)}}async function Jb(){if(!(!ap||w)&&!(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 A=await Xe("/api/config/sync-production",{method:"POST",headers:Ye,body:"{}"});Mo(A,{preserveDraft:!1}),B("success",A?.message||"Production config synced into the dev workspace.")}catch(A){B("error",A instanceof Error?A.message:String(A))}finally{E(!1)}}}function Ui(A,{immediate:N=!1}={}){let I=en.current+1;en.current=I,on({sequence:I,rawText:A,immediate:N===!0}),dn(he=>({status:"pending",message:"",savedAt:he.savedAt}))}function Fr(A){r(A),l(null)}async function ia(A,N,I={}){let he=`${JSON.stringify(A,null,2)}
59
+ `;Fr(he),F(!1),await cp(he,{successMessage:N,...I})}async function Zb({providerId:A,endpoints:N,newModelIds:I,credentialPayload:he,headers:_e,onModelTestStateChange:ot}){if(!Array.isArray(I)||I.length===0)return ot?.({phase:"",modelStates:{},failedModelIds:[],message:""}),{ok:!0};let We=Object.fromEntries(I.map(Ke=>[Ke,"pending"])),Kt=({phase:Ke="testing",message:Kn="",failedModelIds:dt=[]}={})=>{ot?.({phase:Ke,modelStates:{...We},failedModelIds:dt,message:Kn})},Ht=()=>`Testing ${I.filter(Kn=>We[Kn]==="success"||We[Kn]==="error").length}/${I.length} new model${I.length===1?"":"s"} for ${A}.`;Kt({phase:"testing",message:Ht()});try{let Ke=await Ru("/api/config/test-provider-stream",{method:"POST",headers:Ye,body:JSON.stringify({endpoints:N,models:I,...he,..._e&&typeof _e=="object"&&!Array.isArray(_e)?{headers:_e}:{}})},{onMessage:Wt=>{if(Wt?.type!=="progress")return;let go=Wt.event||{};if(go.phase!=="model-done")return;let la=String(go.model||"").trim();!la||!Object.prototype.hasOwnProperty.call(We,la)||(We[la]=go.confirmed?"success":"error",Kt({phase:"testing",message:Ht()}))}}),Kn=new Set(Array.isArray(Ke?.models)?Ke.models:[]),dt=I.filter(Wt=>!Kn.has(Wt));for(let Wt of I)We[Wt]=Kn.has(Wt)?"success":"error";if(!Ke?.ok||dt.length>0){let Wt=dt.length>0?`New model test failed for ${A}: ${dt.join(", ")}.`:(Ke?.warnings||[]).join(" ")||`New model test failed for ${A}.`;return Kt({phase:"",failedModelIds:dt,message:Wt}),B("warning",Wt),{ok:!1,failedModelIds:dt,result:Ke}}return Kt({phase:"saving",message:`Saving ${I.length} confirmed new model${I.length===1?"":"s"} for ${A}.`}),{ok:!0,failedModelIds:[],result:Ke}}catch(Ke){for(let Wt of I)We[Wt]!=="success"&&(We[Wt]="error");let Kn=Ke instanceof Error?Ke.message:String(Ke),dt=I.filter(Wt=>We[Wt]==="error");return Kt({phase:"",failedModelIds:dt,message:Kn}),B("error",Kn),{ok:!1,failedModelIds:dt}}}async function FT(A,N,{showSuccessNotice:I=!0}={}){if(T)return B("warning",T),!1;let he=String(N?.id||"").trim(),_e=String(N?.name||"").trim(),ot=Array.isArray(N?.endpoints)?Sr(N.endpoints):lr([],N?.endpoint||""),We=Array.isArray(N?.rateLimitRows)?wr(N.rateLimitRows):[],Kt=ge.find(Wt=>Wt?.id===A),Ht=Co(Kt)==="api",Ke=bu(Kt);if(!he)return B("warning","Provider id is required."),!1;if(!fl.test(he))return B("warning","Provider id must start with a letter and use lowercase letters, digits, or dashes only."),!1;if(!_e)return B("warning","Provider name is required."),!1;if(he!==A&&ge.some(Wt=>Wt?.id===he))return B("warning",`Provider id "${he}" already exists.`),!1;if(Ht&&ot.length===0)return B("warning","API Key providers require at least one valid http(s) endpoint."),!1;if(Ht&&ot.some(Wt=>!Ni(Wt)))return B("warning","One or more endpoints are invalid. Use full http:// or https:// URLs."),!1;let Kn=Ht?$o(We,{knownModelIds:Ke,requireAtLeastOne:!0}):"";if(Kn)return B("warning",Kn),!1;let dt=my(Ee.value||At,A,{...N,endpoints:ot,rateLimitRows:We});try{return await ia(dt,`Updated provider ${he}.`,{showSuccessNotice:I}),!0}catch{return!1}}async function HT(A,{providerDraft:N=null,modelRows:I=null,showSuccessNotice:he=!0,onModelTestStateChange:_e=null}={}){if(T)return B("warning",T),!1;let ot=ge.find(Hr=>Hr?.id===A);if(!ot)return B("error",`Provider '${A}' was not found.`),!1;let We=!!(N&&typeof N=="object"),Kt=Array.isArray(I);if(!We&&!Kt)return!0;let Ht=Co(ot)==="api",Ke=We?String(N?.id||"").trim():A,Kn=We?String(N?.name||"").trim():String(ot?.name||A).trim(),dt=We?Array.isArray(N?.endpoints)?Sr(N.endpoints):lr([],N?.endpoint||""):Ba(ot),Wt=We&&Array.isArray(N?.rateLimitRows)?wr(N.rateLimitRows):[],go=Kt?I.map(Hr=>({...Hr,id:String(Hr?.id||"").trim(),contextWindow:Qo(Hr?.contextWindow||"")})).filter(Hr=>Hr.id):[];if(We){let Hr=Kt?go.map($r=>$r.id):bu(ot);if(!Ke)return B("warning","Provider id is required."),!1;if(!fl.test(Ke))return B("warning","Provider id must start with a letter and use lowercase letters, digits, or dashes only."),!1;if(!Kn)return B("warning","Provider name is required."),!1;if(Ke!==A&&ge.some($r=>$r?.id===Ke))return B("warning",`Provider id "${Ke}" already exists.`),!1;if(Ht&&dt.length===0)return B("warning","API Key providers require at least one valid http(s) endpoint."),!1;if(Ht&&dt.some($r=>!Ni($r)))return B("warning","One or more endpoints are invalid. Use full http:// or https:// URLs."),!1;let Ha=Ht?$o(Wt,{knownModelIds:Hr,requireAtLeastOne:!0}):"";if(Ha)return B("warning",Ha),!1}if(Kt){if(go.length===0)return B("warning","Keep at least one model id on the provider."),!1;if(Bs(go.map(ho=>ho.id)))return B("warning","Model ids must be unique for each provider."),!1;if(go.some(ho=>{let $u=String(ho?.contextWindow||"").trim();if(!$u)return!1;let fp=Number.parseInt($u,10);return!Number.isFinite(fp)||fp<=0||String(fp)!==$u}))return B("warning","Context windows must be positive integers when set."),!1;let Ha=bu(ot),$r=go.map(ho=>ho.id).filter(ho=>!Ha.includes(ho));if(Ht&&$r.length>0){if(dt.length===0)return B("warning",`Provider '${Ke}' needs at least one endpoint before testing new models.`),!1;let ho=Ey(N,ot);if(!ho.apiKey&&!ho.apiKeyEnv)return B("warning",`Provider '${Ke}' needs an API key or env before testing new models.`),!1;if(!(await Zb({providerId:Ke,endpoints:dt,newModelIds:$r,credentialPayload:ho,headers:ot?.headers,onModelTestStateChange:_e})).ok)return!1}}let la=Ee.value||At;We&&(la=my(la,A,{...N,endpoints:dt,rateLimitRows:Wt})),Kt&&(la=fy(la,We?Ke:A,go));let KM=We&&Kt?`Updated provider ${Ke} and saved its model list.`:We?`Updated provider ${Ke}.`:(()=>{let Hr=bu(ot),Ha=go.map($r=>$r.id).filter($r=>!Hr.includes($r));return Ha.length>0?`Tested ${Ha.length} new model${Ha.length===1?"":"s"} and updated ${Ke}.`:`Updated models for ${Ke}.`})();try{return await ia(la,KM,{showSuccessNotice:he}),_e?.({phase:"",modelStates:{},failedModelIds:[],message:""}),!0}catch{return!1}}async function $T({showSuccessNotice:A=!1}={}){if(Ee.parseError||String((Ee.value||At||{}).masterKey||"").trim())return!1;let N=Go(Ee.value||At||{});N.masterKey=yu();try{return await ia(N,"Gateway key ready.",{showSuccessNotice:A}),!0}catch{return!1}}async function KT(){if(!Zn){B("warning","Gateway key is still generating. Try again in a second.");return}try{await Vu(Zn),B("success","Gateway key copied to clipboard.")}catch(A){B("error",A instanceof Error?A.message:String(A))}}async function GT(){if(!ue){B("warning","API endpoint is not ready yet.");return}try{await Vu(ue),B("success","API endpoint copied to clipboard.")}catch(A){B("error",A instanceof Error?A.message:String(A))}}async function qT(A){let N=String(A||"").trim();if(!N){B("warning","Alias id is not ready yet.");return}try{await Vu(N),B("success",`Alias id ${N} copied to clipboard.`)}catch(I){B("error",I instanceof Error?I.message:String(I))}}async function Fa(A,N,{ensureMode:I="none",successMessage:he=""}={}){let _e=String(A||"").trim();if(!_e){B("warning",`${N} is not resolved yet.`);return}try{await Xe("/api/file/open",{method:"POST",headers:Ye,body:JSON.stringify({editorId:"default",filePath:_e,ensureMode:I})}),B("success",he||`Opened ${N} in the default app.`)}catch(ot){B("error",ot instanceof Error?ot.message:String(ot))}}async function WT(A){let N=String(A||"").trim();if(!N){B("warning","Model id is not ready yet.");return}try{await Vu(N),B("success",`Model id ${N} copied to clipboard.`)}catch(I){B("error",I instanceof Error?I.message:String(I))}}async function YT(){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 N=Go(Ee.value||At||{});N.masterKey=yu();try{await ia(N,"Rotated gateway key. Linked tools like AMP, Codex CLI, and Claude Code refreshed automatically.")}catch{}}async function QT(A,N,{providerDraft:I=null,onModelTestStateChange:he=null}={}){if(T)return B("warning",T),!1;let _e=ge.find(dt=>dt?.id===A);if(!_e)return B("error",`Provider '${A}' was not found.`),!1;let ot=(Array.isArray(N)?N:[]).map(dt=>({...dt,id:String(dt?.id||"").trim()})).filter(dt=>dt.id),We=I&&String(I?.id||"").trim()||A,Kt=I?Array.isArray(I?.endpoints)?Sr(I.endpoints):lr([],I?.endpoint||""):Ba(_e),Ht=(Array.isArray(_e?.models)?_e.models:[]).map(dt=>String(dt?.id||"").trim()).filter(Boolean),Ke=ot.map(dt=>dt.id).filter(dt=>!Ht.includes(dt));if(Co(_e)==="api"&&Ke.length>0){if(Kt.length===0)return B("warning",`Provider '${We}' needs at least one endpoint before testing new models.`),!1;let dt=Ey(I,_e);if(!dt.apiKey&&!dt.apiKeyEnv)return B("warning",`Provider '${We}' needs an API key or env before testing new models.`),!1;if(!(await Zb({providerId:We,endpoints:Kt,newModelIds:Ke,credentialPayload:dt,headers:_e?.headers,onModelTestStateChange:he})).ok)return!1}let Kn=fy(Ee.value||At,A,ot);try{let dt=Ke.length>0?`Tested ${Ke.length} new model${Ke.length===1?"":"s"} and updated ${A}.`:`Updated models for ${A}.`;return await ia(Kn,dt),he?.({phase:"",modelStates:{},failedModelIds:[],message:""}),!0}catch{return!1}}async function XT(A,N,I={}){if(T)return B("warning",T),!1;let he=dC(Ee.value||At,A,N),_e=String(N?.id||A||"").trim()||A;try{return await ia(he,I.successMessage||`Updated alias ${_e}.`,{showSuccessNotice:I.showSuccessNotice!==!1}),!0}catch{return!1}}async function JT(A){if(T){B("warning",T);return}if(!(typeof window>"u"?!0:window.confirm(`Remove alias "${A}" from the config?`)))return;let I=fC(Ee.value||At,A);try{await ia(I,`Removed alias ${A}.`)}catch{}}async function vI(A){try{await Vu(A?.url||""),B("success",`${A?.label||"Endpoint"} copied to clipboard.`)}catch(N){B("error",N instanceof Error?N.message:String(N))}}async function ZT(){let N=!(nt?.routedViaRouter===!0);if(N){if(oa){B("warning",oa);return}if(!Zn){B("warning","Gateway key is still generating. Try again in a second.");return}if(!ue){B("warning","API endpoint is not ready yet.");return}}ae(N?"enable":"disable");try{let I=!1,he;try{he=await Xe("/api/amp/global-route",{method:"POST",headers:Ye,body:JSON.stringify({enabled:N,rawText:N?n:void 0,endpointUrl:ue})})}catch(ot){if(ot?.statusCode===404&&N)I=!0,he=await Xe("/api/amp/apply",{method:"POST",headers:Ye,body:JSON.stringify({rawText:n,source:"amp-global-route-compat",patchScope:"global",endpointUrl:ue})});else throw ot?.statusCode===404?new Error("Restart the web console so the AMP routing endpoint is available."):ot}await an({preserveDraft:!N});let _e=N?"AMP connected.":"AMP disconnected.";B("success",I?`${_e} Restart the web console if the AMP status does not refresh.`:_e)}catch(I){B("error",I instanceof Error?I.message:String(I))}finally{ae("")}}function eM(A,N){if(oa){B("warning",oa);return}let I=String(N||"").trim(),he=Pi.find(We=>We.id!==A&&String(We?.inbound||"").trim()===I);if(I&&he){B("warning",`AMP inbound match "${I}" already exists.`);return}let _e=_y(Ee.value||At,A,{inbound:N}),ot=`${JSON.stringify(_e,null,2)}
60
+ `;Fr(ot),Ui(ot)}function tM(A,N){if(oa){B("warning",oa);return}let I=_y(Ee.value||At,A,{outbound:N==="__default__"?"":N}),he=`${JSON.stringify(I,null,2)}
61
+ `;Fr(he),Ui(he)}function nM(A){if(po){B("warning",po);return}let N=y1(Ee.value||At,{strategy:A}),I=`${JSON.stringify(N,null,2)}
62
+ `;Fr(I),Ui(I)}function rM(A,N,I){if(po){B("warning",po);return}let he=b1(Ee.value||At,A,{[N]:I}),_e=`${JSON.stringify(he,null,2)}
63
+ `;Fr(_e),Ui(_e,{immediate:w1(A,N,I)})}function oM(A,N){if(po){B("warning",po);return}let I=S1(Ee.value||At,A,N),he=`${JSON.stringify(I,null,2)}
64
+ `;Fr(he),Ui(he)}function aM(A){if(po){B("warning",po);return}let N=x1(Ee.value||At,A),I=`${JSON.stringify(N,null,2)}
65
+ `;Fr(I),Ui(I,{immediate:!0})}async function iM({providerId:A,modelId:N}){if(po)throw new Error(po);let I=Ei(A,N);if(!I)throw new Error("Choose a provider and GPT model before testing.");if(new Set((Array.isArray(kl?.providers)?kl.providers:[]).map(Kt=>Mn(Kt?.id)).filter(Boolean)).has(Mn(I)))throw new Error(`Web search route '${I}' is already configured.`);let _e=await Xe("/api/config/test-web-search-provider",{method:"POST",headers:Ye,body:JSON.stringify({providerId:A,modelId:N,rawText:n})}),ot=v1(Ee.value||At,A,N),We=`${JSON.stringify(ot,null,2)}
66
+ `;return Fr(We),Ui(We,{immediate:!0}),B("success",`Added ${I} to shared web search routing.`),_e?.result||null}async function lM({inbound:A,outbound:N}){if(oa)return B("warning",oa),!1;let I=String(A||"").trim();if(I&&Pi.some(_e=>String(_e?.inbound||"").trim()===I))return B("warning",`AMP inbound match "${I}" already exists.`),!1;let he=u1(Ee.value||At,{inbound:A,outbound:N});try{return await ia(he,`Added AMP route ${String(A||"").trim()}.`),!0}catch{return!1}}async function sM(A){let N=findAmpEditableRouteEntry(Ee.value||At,A);if(!N?.removable)return;let I=N.source==="raw"?N.inbound||N.label:N.routeKey||N.label;if(!(typeof window>"u"?!0:window.confirm(`Remove AMP route mapping "${I}"?`)))return;let _e=d1(Ee.value||At,A);try{await ia(_e,`Removed AMP route ${I}.`)}catch{}}function xI(){r(o),l({rawText:o,summary:e?.config,validationMessages:e?.config?.validationMessages||[]}),F(!1),B("success","Editor reset to the latest disk version.")}function ev(A){Fr(A),F(!1),B("success","Quick-start config loaded into the editor.")}async function tv(A){Fr(A);try{await Xb(A)}catch{}}async function up(A){Fr(A);let N;try{N=await Xb(A,{silent:!0})}catch{return null}let I=N?.summary||{};if(I.parseError)return B("warning",I.validationSummary||"Quick-start config contains invalid JSON."),null;try{let he=await cp(A,{successMessage:"Quick-start config saved."});return(I.validationErrors||[]).length>0&&B("warning",I.validationSummary),he}catch{return null}}async function nv(A){let N=await up(A);return N?(M("activity"),N.router?.running?(B("success","Quick-start config saved. Router is already running."),!0):(B("success","Quick-start config saved. Starting router\u2026"),setTimeout(()=>{dp("start")},0),!0)):!1}async function cM(A){let N=await up(A);return N&&sp(),!!N}async function uM(A){let N=await nv(A);return N&&sp(),N}async function dM(){h(!0);try{await Xe("/api/config/open",{method:"POST",headers:Ye,body:JSON.stringify({editorId:"default"})}),B("success","Opened config file in the default app.")}catch(A){B("error",A instanceof Error?A.message:String(A))}finally{h(!1)}}async function fM(){let N=!(Me?.routedViaRouter===!0);if(N){if(aa){B("warning",aa);return}if(!Zn){B("warning","Gateway key is still generating. Try again in a second.");return}if(!ue){B("warning","API endpoint is not ready yet.");return}}W(N?"enable":"disable");try{await Xe("/api/codex-cli/global-route",{method:"POST",headers:Ye,body:JSON.stringify({enabled:N,rawText:N?n:void 0,endpointUrl:ue,bindings:N?{defaultModel:Me?.bindings?.defaultModel||np,thinkingLevel:Me?.bindings?.thinkingLevel||""}:void 0})}),await an({preserveDraft:!N}),B("success",N?"Codex CLI connected.":"Codex CLI disconnected.")}catch(I){B("error",I instanceof Error?I.message:String(I))}finally{W("")}}async function mM(){let N=!(Y?.routedViaRouter===!0);if(N){if(aa){B("warning",aa);return}if(!Zn){B("warning","Gateway key is still generating. Try again in a second.");return}if(!ue){B("warning","API endpoint is not ready yet.");return}}Pe(N?"enable":"disable");try{await Xe("/api/claude-code/global-route",{method:"POST",headers:Ye,body:JSON.stringify({enabled:N,rawText:N?n:void 0,endpointUrl:ue,bindings:N?{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 an({preserveDraft:!N}),B("success",N?"Claude Code connected.":"Claude Code disconnected.")}catch(I){B("error",I instanceof Error?I.message:String(I))}finally{Pe("")}}async function pM(A,N){let I={defaultModel:Me?.bindings?.defaultModel||np,thinkingLevel:Me?.bindings?.thinkingLevel||""};I[A]=N,we(!0);try{await Xe("/api/codex-cli/model-bindings",{method:"POST",headers:Ye,body:JSON.stringify({bindings:I})}),await an({preserveDraft:!0}),B("success","Codex CLI bindings updated.")}catch(he){B("error",he instanceof Error?he.message:String(he))}finally{we(!1)}}async function gM(A,N){if(A==="webSearchProvider"){j(!0);try{let _e=await Xe("/api/claude-code/search-provider",{method:"POST",headers:Ye,body:JSON.stringify({webSearchProvider:N,rawText:n})});Mo(_e,{preserveDraft:!1}),B("success",N?"Claude Code search capability updated.":"Claude Code search capability cleared.")}catch(_e){B("error",_e instanceof Error?_e.message:String(_e))}finally{j(!1)}return}let I=Y?.routedViaRouter===!0;if(A==="thinkingLevel"&&!I){j(!0);try{await Xe("/api/claude-code/effort-level",{method:"POST",headers:Ye,body:JSON.stringify({effortLevel:N})}),await an({preserveDraft:!0}),B("success",N?`Effort level set to ${N}.`:"Effort level cleared.")}catch(_e){B("error",_e instanceof Error?_e.message:String(_e))}finally{j(!1)}return}let he={primaryModel:Y?.bindings?.primaryModel||"",defaultOpusModel:Y?.bindings?.defaultOpusModel||"",defaultSonnetModel:Y?.bindings?.defaultSonnetModel||"",defaultHaikuModel:Y?.bindings?.defaultHaikuModel||"",subagentModel:Y?.bindings?.subagentModel||"",thinkingLevel:Y?.bindings?.thinkingLevel||""};he[A]=N,j(!0);try{await Xe("/api/claude-code/model-bindings",{method:"POST",headers:Ye,body:JSON.stringify({bindings:he})}),await an({preserveDraft:!0}),B("success","Claude Code model bindings updated.")}catch(_e){B("error",_e instanceof Error?_e.message:String(_e))}finally{j(!1)}}async function hM(){let N=!(ye?.routedViaRouter===!0);if(N){if(aa){B("warning",aa);return}if(!Zn){B("warning","Gateway key is still generating. Try again in a second.");return}if(!ue){B("warning","API endpoint is not ready yet.");return}}$e(N?"enable":"disable");try{await Xe("/api/factory-droid/global-route",{method:"POST",headers:Ye,body:JSON.stringify({enabled:N,rawText:N?n:void 0,endpointUrl:ue,bindings:N?{defaultModel:ye?.bindings?.defaultModel||"",missionOrchestratorModel:ye?.bindings?.missionOrchestratorModel||"",missionWorkerModel:ye?.bindings?.missionWorkerModel||"",missionValidatorModel:ye?.bindings?.missionValidatorModel||"",reasoningEffort:ye?.bindings?.reasoningEffort||""}:void 0})}),await an({preserveDraft:!N}),B("success",N?"Factory Droid connected.":"Factory Droid disconnected.")}catch(I){B("error",I instanceof Error?I.message:String(I))}finally{$e("")}}async function yM(A,N){let I={defaultModel:ye?.bindings?.defaultModel||"",missionOrchestratorModel:ye?.bindings?.missionOrchestratorModel||"",missionWorkerModel:ye?.bindings?.missionWorkerModel||"",missionValidatorModel:ye?.bindings?.missionValidatorModel||"",reasoningEffort:ye?.bindings?.reasoningEffort||""};I[A]=N,Se(!0);try{await Xe("/api/factory-droid/model-bindings",{method:"POST",headers:Ye,body:JSON.stringify({bindings:I})}),await an({preserveDraft:!0}),B("success","Factory Droid model bindings updated.")}catch(he){B("error",he instanceof Error?he.message:String(he))}finally{Se(!1)}}async function dp(A){y(A);try{let N=await Xe(`/api/router/${A}`,{method:"POST",headers:Ye,body:"{}"});Mo(N,{preserveDraft:!0}),B("success",N.message||`Router ${A}ed.`)}catch(N){await an({preserveDraft:!0}).catch(()=>{}),B("error",N instanceof Error?N.message:String(N))}finally{y("")}}async function bM(A){R(A);try{let N=await Xe(`/api/startup/${A}`,{method:"POST",headers:Ye,body:"{}"});Mo(N,{preserveDraft:!0}),B("success",N.message||`Startup ${A}d.`)}catch(N){await an({preserveDraft:!0}).catch(()=>{}),B("error",N instanceof Error?N.message:String(N))}finally{R("")}}async function vM(){let A=!Jn;Ae("toggle");try{let N=await Xe("/api/activity-log/settings",{method:"POST",headers:Ye,body:JSON.stringify({enabled:A})});Mo(N,{preserveDraft:!0}),B("success",N.message||`Activity log ${A?"enabled":"disabled"}.`)}catch(N){await an({preserveDraft:!0}).catch(()=>{}),B("error",N instanceof Error?N.message:String(N))}finally{Ae("")}}async function xM(){if(typeof window>"u"||window.confirm("Clear the shared activity log file? This also clears the Activity tab for connected web console sessions.")){Ae("clear");try{let N=await Xe("/api/activity-log/clear",{method:"POST",headers:Ye,body:"{}"});Mo(N,{preserveDraft:!0}),B("success",N.message||"Activity log cleared.")}catch(N){B("error",N instanceof Error?N.message:String(N))}finally{Ae("")}}}async function SM(A){let N=ge.find(ot=>ot.id===A);if(!(typeof window>"u"?!0:window.confirm(`Remove provider "${N?.name||A}" from the config?`)))return;let he=YC(e?.config?.document||yn||{},A),_e=`${JSON.stringify(he,null,2)}
67
+ `;Fr(_e);try{await cp(_e,{successMessage:`Removed provider ${N?.name||A}.`})}catch{}}async function wM(A){if(Ee.parseError)return B("warning",`Fix the raw JSON parse error first: ${Ee.parseError}`),!1;if(wt.current!==bt.current)return B("warning","Save or discard the current config draft before changing local models."),!1;try{return await L1(A),await an({preserveDraft:!1}),B("success",`Saved local variant ${String(A?.name||A?.id||"").trim()||"draft"}.`),!0}catch(N){return B("error",N instanceof Error?N.message:String(N)),!1}}async function AM({silent:A=!1}={}){if(Ee.parseError)return A||B("warning",`Fix the raw JSON parse error first: ${Ee.parseError}`),!1;if(wt.current!==bt.current)return A||B("warning","Save or discard the current config draft before changing local models."),!1;try{return await z1(),await an({preserveDraft:!1}),A||B("success","Local model status refreshed."),!0}catch(N){return A||B("error",N instanceof Error?N.message:String(N)),!1}}async function CM(A){if(Ee.parseError)return B("warning",`Fix the raw JSON parse error first: ${Ee.parseError}`),!1;if(wt.current!==bt.current)return B("warning","Save or discard the current config draft before changing local models."),!1;try{return await D1(A),await an({preserveDraft:!1}),B("success",`Attached local model ${String(A?.displayName||A?.id||"").trim()||"draft"}.`),!0}catch(N){return B("error",N instanceof Error?N.message:String(N)),!1}}async function RM(A){if(Ee.parseError)return B("warning",`Fix the raw JSON parse error first: ${Ee.parseError}`),!1;if(wt.current!==bt.current)return B("warning","Save or discard the current config draft before changing local models."),!1;try{return await B1(A),await an({preserveDraft:!1}),B("success","Updated local model path."),!0}catch(N){return B("error",N instanceof Error?N.message:String(N)),!1}}async function NM(A){if(Ee.parseError)return B("warning",`Fix the raw JSON parse error first: ${Ee.parseError}`),!1;if(wt.current!==bt.current)return B("warning","Save or discard the current config draft before changing local models."),!1;try{return await I1(A),await an({preserveDraft:!1}),B("success","Removed local model."),!0}catch(N){return B("error",N instanceof Error?N.message:String(N)),!1}}async function EM(A,{onMessage:N}={}){if(Ee.parseError)return B("warning",`Fix the raw JSON parse error first: ${Ee.parseError}`),!1;if(wt.current!==bt.current)return B("warning","Save or discard the current config draft before changing local models."),!1;try{return await _1(A,{onMessage:N}),await an({preserveDraft:!1}),B("success",`Downloaded ${String(A?.displayName||A?.file||"").trim()||"managed GGUF"}.`),!0}catch(I){return B("error",I instanceof Error?I.message:String(I)),!1}}async function TM(A){if(Ee.parseError)return B("warning",`Fix the raw JSON parse error first: ${Ee.parseError}`),!1;if(wt.current!==bt.current)return B("warning","Save or discard the current config draft before changing local models."),!1;try{return await P1(A),await an({preserveDraft:!1}),B("success",`Selected llama.cpp runtime ${String(A||"").trim()||"binary"}.`),!0}catch(N){return B("error",N instanceof Error?N.message:String(N)),!1}}async function MM(A){if(Ee.parseError)return B("warning",`Fix the raw JSON parse error first: ${Ee.parseError}`),!1;if(wt.current!==bt.current)return B("warning","Save or discard the current config draft before changing local models."),!1;try{return await Xe("/api/local-models/runtime/settings",{method:"POST",headers:Ye,body:JSON.stringify(A)}),await an({preserveDraft:!1}),B("success","Updated llama.cpp runtime settings."),!0}catch(N){return B("error",N instanceof Error?N.message:String(N)),!1}}async function kM(){if(Ee.parseError)return B("warning",`Fix the raw JSON parse error first: ${Ee.parseError}`),!1;if(wt.current!==bt.current)return B("warning","Save or discard the current config draft before changing local models."),!1;try{return await Xe("/api/local-models/runtime/start",{method:"POST",headers:Ye,body:"{}"}),await an({preserveDraft:!1}),B("success","Started llama.cpp runtime."),!0}catch(A){return B("error",A instanceof Error?A.message:String(A)),!1}}async function OM(){if(Ee.parseError)return B("warning",`Fix the raw JSON parse error first: ${Ee.parseError}`),!1;if(wt.current!==bt.current)return B("warning","Save or discard the current config draft before changing local models."),!1;try{return await Xe("/api/local-models/runtime/stop",{method:"POST",headers:Ye,body:"{}"}),await an({preserveDraft:!1}),B("success","Stopped llama.cpp runtime."),!0}catch(A){return B("error",A instanceof Error?A.message:String(A)),!1}}async function ko(){mn(!0);try{let N=await(await fetch("/api/ollama/models",{method:"POST",headers:{"content-type":"application/json"},body:"{}"})).json();N?.models&&Ge(N.models)}catch{}finally{mn(!1)}}(0,ve.useEffect)(()=>{C==="local-models"&&Va&&ko()},[C,Va]);function _l(A,N,I){mo(he=>({...he,[A]:{...he[A]||{},[N]:I}}))}async function _M(A){_l(A,"loading",!0);try{await fetch("/api/ollama/load",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({model:A})}),await ko()}finally{_l(A,"loading",!1)}}async function LM(A){_l(A,"unloading",!0);try{await fetch("/api/ollama/unload",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({model:A})}),await ko()}finally{_l(A,"unloading",!1)}}async function DM(A,N){_l(A,"pinning",!0);try{await fetch("/api/ollama/pin",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({model:A,pinned:N})}),await ko()}finally{_l(A,"pinning",!1)}}async function BM(A,N){await fetch("/api/ollama/keep-alive",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({model:A,keepAlive:N})}),await ko()}async function IM(A,N){await fetch("/api/ollama/context-length",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({model:A,contextLength:N})}),await ko()}async function zM(A){await fetch("/api/ollama/add-model",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({model:A})}),await ko()}async function PM(A){await fetch("/api/ollama/remove-model",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({model:A})}),await ko()}async function UM(A,N){await fetch("/api/ollama/auto-load",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({model:A,autoLoad:N})})}async function jM(A){await fetch("/api/ollama/save-settings",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(A)})}async function VM(){mo(A=>({...A,_install:!0}));try{await fetch("/api/ollama/install",{method:"POST",headers:{"content-type":"application/json"},body:"{}"})}finally{mo(A=>({...A,_install:!1}))}}async function FM(){mo(A=>({...A,_startServer:!0}));try{await fetch("/api/ollama/start-server",{method:"POST",headers:{"content-type":"application/json"},body:"{}"})}finally{mo(A=>({...A,_startServer:!1}))}}async function HM(){await fetch("/api/ollama/stop-server",{method:"POST",headers:{"content-type":"application/json"},body:"{}"})}async function $M(){mo(A=>({...A,_syncRouter:!0}));try{await fetch("/api/ollama/sync-router",{method:"POST",headers:{"content-type":"application/json"},body:"{}"}),await ko()}finally{mo(A=>({...A,_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)(Ut,{className:"w-full max-w-lg",children:(0,$.jsxs)(jt,{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."})]})})}):UT?(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)(kb,{notices:s,onDismiss:Qb}),op?(0,$.jsx)(ET,{currentConfigPath:Hb,productionConfigPath:$b,routerPort:Hu,canSyncProductionConfig:ap,syncBusy:w,onSyncProductionConfig:Jb}):null,(0,$.jsx)("div",{id:"quick-start-wizard",children:(0,$.jsx)(jb,{baseConfig:yn,seedMode:qb,mode:"onboarding",targetProviderId:Wb,defaultProviderUserAgent:Yb,onApplyDraft:ev,onValidateDraft:tv,onSaveDraft:up,onSaveAndStart:nv},`onboarding-wizard-${qb}-${Wb||"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:[op?(0,$.jsx)(ET,{currentConfigPath:Hb,productionConfigPath:$b,routerPort:Hu,canSyncProductionConfig:ap,syncBusy:w,onSyncProductionConfig:Jb}):null,(0,$.jsx)(Ut,{className:"overflow-hidden",children:(0,$.jsx)(jt,{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)(El,{connected:Ol,size:"md",srLabel:"Router running"}),op?(0,$.jsx)(Ne,{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:vC,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)(OC,{className:"h-3.5 w-3.5"}),(0,$.jsx)("span",{children:"Buy me a coffee"})]}),(0,$.jsxs)("a",{href:bC,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)(kC,{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)(U,{size:"sm",variant:Ol?"outline":void 0,className:"px-2 sm:px-3",onClick:()=>dp(Ol?"stop":"start"),disabled:g!=="","aria-label":ip,title:ip,children:[Ol?(0,$.jsx)(LC,{className:"h-3.5 w-3.5"}):(0,$.jsx)(_C,{className:"h-3.5 w-3.5"}),(0,$.jsx)("span",{className:"hidden sm:inline",children:ip})]}),(0,$.jsxs)(U,{size:"sm",variant:"outline",className:"px-2 sm:px-3",onClick:dM,disabled:v,"aria-label":v?"Opening config file":"Open config file",title:v?"Opening config file":"Open config file",children:[(0,$.jsx)(DC,{className:"h-3.5 w-3.5"}),(0,$.jsx)("span",{className:"hidden sm:inline",children:v?"Opening\u2026":"Open config file"})]}),(0,$.jsxs)(U,{size:"sm",variant:"outline",className:"px-2 sm:px-3",onClick:()=>bM(Fb?"disable":"enable"),disabled:x!=="","aria-label":lp,title:lp,children:[(0,$.jsx)(BC,{className:"h-3.5 w-3.5"}),(0,$.jsx)("span",{className:"hidden sm:inline",children:lp})]})]}),(0,$.jsx)(jE,{endpointValue:ue||ou,endpointDisabled:!ue,gatewayValue:Zn?zT:"Generating\u2026",gatewayPending:!Zn,gatewayDisabled:!Zn||f,rotateDisabled:f,onCopyEndpoint:GT,onCopyGatewayKey:KT,onRotateKey:YT})]}),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,!Ol&&e?.router?.portBusy&&!e?.router?.portBusySelf?(0,$.jsx)("div",{className:"flex flex-wrap items-center gap-2",children:(0,$.jsx)(U,{size:"sm",variant:"outline",onClick:()=>dp("reclaim"),disabled:g!=="",children:g==="reclaim"?"Reclaiming\u2026":`Reclaim port ${Hu}`})}):null,Kb?(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:Kb}):null]})})}),(0,$.jsx)(kb,{notices:s,onDismiss:Qb}),(0,$.jsx)("div",{className:"space-y-4",children:(0,$.jsx)(rT,{providers:ge.filter(A=>A?.type!=="ollama"),onAddProvider:VT,onRemove:SM,onCopyModelId:WT,onApplyProviderDetails:FT,onApplyProviderModels:QT,onSaveAndCloseEditor:HT,disabledReason:T,busy:f})}),(0,$.jsxs)(Vo,{value:C,onValueChange:M,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)(Fo,{children:[(0,$.jsx)(xn,{value:"model-alias",children:"Alias & Fallback"}),(0,$.jsx)(xn,{value:"amp",children:(0,$.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,$.jsx)("span",{children:"AMP"}),(0,$.jsx)(El,{connected:$n,srLabel:"AMP connected"})]})}),(0,$.jsx)(xn,{value:"codex-cli",children:(0,$.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,$.jsx)("span",{children:"Codex CLI"}),(0,$.jsx)(El,{connected:Ii,srLabel:"Codex CLI connected"})]})}),(0,$.jsx)(xn,{value:"claude-code",children:(0,$.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,$.jsx)("span",{children:"Claude Code"}),(0,$.jsx)(El,{connected:zi,srLabel:"Claude Code connected"})]})}),(0,$.jsx)(xn,{value:"factory-droid",children:(0,$.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,$.jsx)("span",{children:"Factory Droid"}),(0,$.jsx)(El,{connected:Fu,srLabel:"Factory Droid connected"})]})}),(0,$.jsx)(xn,{value:"local-models",children:(0,$.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,$.jsx)("span",{children:"Local Models"}),(0,$.jsx)(El,{connected:Cn.runningRuntimes>0,srLabel:"Local runtime connected"})]})}),(0,$.jsx)(xn,{value:"web-search",children:"Web Search"}),(0,$.jsx)(xn,{value:"activity",children:"Activity"})]})}),(0,$.jsx)(Sn,{value:"model-alias",className:"space-y-4",children:(0,$.jsx)($E,{aliases:re,config:O,aliasIds:Object.keys(re),routeOptions:je,defaultModel:String(O?.defaultModel||"").trim(),ampDefaultRoute:np,disabledReason:T,busy:f,onApplyAlias:XT,onRemoveAlias:JT,onCopyAliasId:qT})}),(0,$.jsx)(Sn,{value:"amp",className:"space-y-4",children:(0,$.jsx)(bT,{rows:Pi,routeOptions:Zs,webSearchSnapshot:qt,ampClientUrl:ue,ampClientGlobal:nt,routingBusy:q,onToggleGlobalRouting:ZT,onInboundChange:eM,onOutboundChange:tM,onCreateEntry:lM,onRemoveEntry:sM,onOpenWebSearchTab:()=>M("web-search"),onOpenConfigPath:()=>Fa(nt?.settingsFilePath,"AMP config file",{ensureMode:"jsonObject",successMessage:"Opened AMP config file in the default app."}),onOpenSecretsPath:()=>Fa(nt?.secretsFilePath,"AMP secrets file",{ensureMode:"jsonObject",successMessage:"Opened AMP secrets file in the default app."}),hasMasterKey:!!String(k?.masterKey||"").trim(),disabledReason:oa,autosaveState:Un})}),(0,$.jsx)(Sn,{value:"codex-cli",className:"space-y-4",children:(0,$.jsx)(ep,{toolName:"Codex CLI",toolState:Me,endpointUrl:Me?.configuredBaseUrl||`${ue?`${ue}/openai/v1`:""}`,routeOptions:DT,connectionBusy:te,bindingBusy:ie,onToggleRouting:fM,onBindingChange:pM,hasMasterKey:!!Zn,disabledReason:aa,onOpenPrimaryPath:()=>Fa(Me?.configFilePath,"Codex CLI config file",{ensureMode:"text",successMessage:"Opened Codex CLI config file in the default app."}),onOpenSecondaryPath:()=>Fa(Me?.backupFilePath,"Codex CLI backup file",{ensureMode:"jsonObject",successMessage:"Opened Codex CLI backup file in the default app."}),guideContent:ST({bindingValue:Me?.bindings?.defaultModel,thinkingLevel:Me?.bindings?.thinkingLevel,configFilePath:Me?.configFilePath,endpointUrl:Me?.configuredBaseUrl||`${ue?`${ue}/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:Me?.bindings?.defaultModel||"",allowUnset:!1,placeholder:"Select a default route",extraOptions:[{value:py,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:Me?.bindings?.thinkingLevel||"",allowUnset:!0,usesRouteOptions:!1,placeholder:"Inherit Codex default",options:RC}]})}),(0,$.jsx)(Sn,{value:"claude-code",className:"space-y-4",children:(0,$.jsx)(ep,{toolName:"Claude Code",toolState:Y,endpointUrl:Y?.configuredBaseUrl||`${ue?`${ue}/anthropic`:""}`,routeOptions:BT,connectionBusy:V,bindingBusy:Ue,onToggleRouting:mM,onBindingChange:gM,hasMasterKey:!!Zn,disabledReason:aa,onOpenPrimaryPath:()=>Fa(Y?.settingsFilePath,"Claude Code config file",{ensureMode:"jsonObject",successMessage:"Opened Claude Code config file in the default app."}),onOpenSecondaryPath:()=>Fa(Y?.backupFilePath,"Claude Code backup file",{ensureMode:"jsonObject",successMessage:"Opened Claude Code backup file in the default app."}),guideContent:wT({bindings:Y?.bindings,settingsFilePath:Y?.settingsFilePath,endpointUrl:Y?.configuredBaseUrl||`${ue?`${ue}/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:_T},{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:NC}]})}),(0,$.jsx)(Sn,{value:"factory-droid",className:"space-y-4",children:(0,$.jsx)(ep,{toolName:"Factory Droid",toolState:ye,endpointUrl:ye?.configuredBaseUrl||`${ue?`${ue}/openai/v1`:""}`,routeOptions:IT,connectionBusy:ne,bindingBusy:pe,onToggleRouting:hM,onBindingChange:yM,hasMasterKey:!!Zn,disabledReason:aa,onOpenPrimaryPath:()=>Fa(ye?.settingsFilePath,"Factory Droid config file",{ensureMode:"jsonObject",successMessage:"Opened Factory Droid config file in the default app."}),onOpenSecondaryPath:()=>Fa(ye?.backupFilePath,"Factory Droid backup file",{ensureMode:"jsonObject",successMessage:"Opened Factory Droid backup file in the default app."}),guideContent:AT({bindings:ye?.bindings,settingsFilePath:ye?.settingsFilePath,endpointUrl:ye?.configuredBaseUrl||`${ue?`${ue}/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:ye?.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:ye?.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:ye?.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:ye?.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:ye?.bindings?.reasoningEffort||"",allowUnset:!0,usesRouteOptions:!1,placeholder:"Inherit Factory Droid default",options:EC}]})}),(0,$.jsx)(Sn,{value:"local-models",className:"space-y-4",children:(0,$.jsx)(hT,{summary:Cn,llamacpp:{runtime:ct.runtime?.llamacpp||{},library:Object.fromEntries(Object.entries(ct.library||{}).filter(([,A])=>String(A?.source||"").startsWith("llamacpp"))),variants:Object.fromEntries(Object.entries(ct.variants||{}).filter(([,A])=>A?.runtime==="llamacpp")),disableEditsReason:Ee.parseError?`Fix the raw JSON parse error first: ${Ee.parseError}`:wt.current!==bt.current?"Save or discard the current config draft before changing local models.":"",onSaveVariant:wM,onRefreshLibrary:AM,onSelectRuntime:TM,onStartRuntime:kM,onStopRuntime:OM,onSaveRuntimeSettings:MM,onAttachModel:CM,onLocateModel:RM,onRemoveModel:NM,onDownloadManagedModel:EM},ollama:{connected:Va,snapshot:Js,models:X,busy:Vr,refreshing:fn,config:O,onRefresh:ko,onLoad:_M,onUnload:LM,onPin:DM,onKeepAlive:BM,onContextLength:IM,onAddToRouter:zM,onRemoveFromRouter:PM,onAutoLoad:UM,onSaveSettings:jM,onInstall:VM,onStartServer:FM,onStopServer:HM,onSyncRouter:$M}})}),(0,$.jsx)(Sn,{value:"web-search",className:"space-y-4",children:(0,$.jsx)(vT,{webSearchConfig:kl,webSearchProviders:tp,hostedSearchCandidates:LT,onWebSearchStrategyChange:nM,onWebSearchProviderChange:rM,onWebSearchProviderMove:oM,onRemoveWebSearchProvider:aM,onAddHostedSearchEndpoint:iM,disabledReason:po,autosaveState:Un})}),(0,$.jsx)(Sn,{value:"activity",children:(0,$.jsx)(CT,{logs:e?.logs||[],activityLogEnabled:Jn,activityFilter:ke,busyAction:Le,onActivityFilterChange:Qe,onToggleEnabled:vM,onClear:xM})})]}),(0,$.jsx)(_n,{open:PT,onClose:sp,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)(jb,{baseConfig:yn,seedMode:"blank",mode:"add",targetProviderId:"",defaultProviderUserAgent:Yb,onApplyDraft:ev,onValidateDraft:tv,onSaveDraft:cM,onSaveAndStart:uM,framed:!1,showHeader:!1},`provider-wizard-modal-${ee}`)})]})})}var OT=D(J(),1),MT=document.getElementById("app");MT&&(0,kT.createRoot)(MT).render((0,OT.jsx)(TT,{}));})();