free-coding-models 0.5.96 → 0.5.97

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,45 +0,0 @@
1
- var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),s=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r},c=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},l=(n,r,o)=>(o=n==null?{}:e(i(n)),c(r||!n||!n.__esModule||!a.call(n,`default`)?t(o,`default`,{value:n,enumerable:!0}):o,n));(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var u=o((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.consumer`),s=Symbol.for(`react.context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.for(`react.activity`),p=Symbol.for(`react.view_transition`),m=Symbol.iterator;function h(e){return typeof e!=`object`||!e?null:(e=m&&e[m]||e[`@@iterator`],typeof e==`function`?e:null)}var g={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},_=Object.assign,v={};function y(e,t,n){this.props=e,this.context=t,this.refs=v,this.updater=n||g}y.prototype.isReactComponent={},y.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`)},y.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function b(){}b.prototype=y.prototype;function x(e,t,n){this.props=e,this.context=t,this.refs=v,this.updater=n||g}var S=x.prototype=new b;S.constructor=x,_(S,y.prototype),S.isPureReactComponent=!0;var C=Array.isArray;function w(){}var T={H:null,A:null,T:null,S:null},ee=Object.prototype.hasOwnProperty;function E(e,n,r){var i=r.ref;return{$$typeof:t,type:e,key:n,ref:i===void 0?null:i,props:r}}function te(e,t){return E(e.type,t,e.props)}function D(e){return typeof e==`object`&&!!e&&e.$$typeof===t}function O(e){var t={"=":`=0`,":":`=2`};return`$`+e.replace(/[=:]/g,function(e){return t[e]})}var ne=/\/+/g;function re(e,t){return typeof e==`object`&&e&&e.key!=null?O(``+e.key):t.toString(36)}function ie(e){switch(e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason;default:switch(typeof e.status==`string`?e.then(w,w):(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 ae(e,r,i,a,o){var s=typeof e;(s===`undefined`||s===`boolean`)&&(e=null);var c=!1;if(e===null)c=!0;else switch(s){case`bigint`:case`string`:case`number`:c=!0;break;case`object`:switch(e.$$typeof){case t:case n:c=!0;break;case d:return c=e._init,ae(c(e._payload),r,i,a,o)}}if(c)return o=o(e),c=a===``?`.`+re(e,0):a,C(o)?(i=``,c!=null&&(i=c.replace(ne,`$&/`)+`/`),ae(o,r,i,``,function(e){return e})):o!=null&&(D(o)&&(o=te(o,i+(o.key==null||e&&e.key===o.key?``:(``+o.key).replace(ne,`$&/`)+`/`)+c)),r.push(o)),1;c=0;var l=a===``?`.`:a+`:`;if(C(e))for(var u=0;u<e.length;u++)a=e[u],s=l+re(a,u),c+=ae(a,r,i,s,o);else if(u=h(e),typeof u==`function`)for(e=u.call(e),u=0;!(a=e.next()).done;)a=a.value,s=l+re(a,u++),c+=ae(a,r,i,s,o);else if(s===`object`){if(typeof e.then==`function`)return ae(ie(e),r,i,a,o);throw r=String(e),Error(`Objects are not valid as a React child (found: `+(r===`[object Object]`?`object with keys {`+Object.keys(e).join(`, `)+`}`:r)+`). If you meant to render a collection of children, use an array instead.`)}return c}function k(e,t,n){if(e==null)return e;var r=[],i=0;return ae(e,r,``,``,function(e){return t.call(n,e,i++)}),r}function oe(e){if(e._status===-1){var t=e._result,n=t();n.then(function(t){(e._status===0||e._status===-1)&&(e._status=1,e._result=t,n.status===void 0&&(n.status=`fulfilled`,n.value=t))},function(t){(e._status===0||e._status===-1)&&(e._status=2,e._result=t,n.status===void 0&&(n.status=`rejected`,n.reason=t))}),e._status===-1&&(e._status=0,e._result=n)}if(e._status===1)return e._result.default;throw e._result}var se=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&&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)};function ce(e){var t=T.T,n={};n.types=t===null?null:t.types,T.T=n;try{var r=e(),i=T.S;i!==null&&i(n,r),typeof r==`object`&&r&&typeof r.then==`function`&&r.then(w,se)}catch(e){se(e)}finally{t!==null&&n.types!==null&&(t.types=n.types),T.T=t}}function le(e){var t=T.T;if(t!==null){var n=t.types;n===null?t.types=[e]:n.indexOf(e)===-1&&n.push(e)}else ce(le.bind(null,e))}var ue={map:k,forEach:function(e,t,n){k(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return k(e,function(){t++}),t},toArray:function(e){return k(e,function(e){return e})||[]},only:function(e){if(!D(e))throw Error(`React.Children.only expected to receive a single React element child.`);return e}};e.Activity=f,e.Children=ue,e.Component=y,e.Fragment=r,e.Profiler=a,e.PureComponent=x,e.StrictMode=i,e.Suspense=l,e.ViewTransition=p,e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=T,e.__COMPILER_RUNTIME={__proto__:null,c:function(e){return T.H.useMemoCache(e)}},e.addTransitionType=le,e.cache=function(e){return function(){return e.apply(null,arguments)}},e.cacheSignal=function(){return null},e.cloneElement=function(e,t,n){if(e==null)throw Error(`The argument must be a React element, but you passed `+e+`.`);var r=_({},e.props),i=e.key;if(t!=null)for(a in t.key!==void 0&&(i=``+t.key),t)!ee.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 o=Array(a),s=0;s<a;s++)o[s]=arguments[s+2];r.children=o}return E(e.type,i,r)},e.createContext=function(e){return e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:o,_context:e},e},e.createElement=function(e,t,n){var r,i={},a=null;if(t!=null)for(r in t.key!==void 0&&(a=``+t.key),t)ee.call(t,r)&&r!==`key`&&r!==`__self`&&r!==`__source`&&(i[r]=t[r]);var o=arguments.length-2;if(o===1)i.children=n;else if(1<o){for(var s=Array(o),c=0;c<o;c++)s[c]=arguments[c+2];i.children=s}if(e&&e.defaultProps)for(r in o=e.defaultProps,o)i[r]===void 0&&(i[r]=o[r]);return E(e,a,i)},e.createRef=function(){return{current:null}},e.forwardRef=function(e){return{$$typeof:c,render:e}},e.isValidElement=D,e.lazy=function(e){return{$$typeof:d,_payload:{_status:-1,_result:e},_init:oe}},e.memo=function(e,t){return{$$typeof:u,type:e,compare:t===void 0?null:t}},e.startTransition=ce,e.unstable_useCacheRefresh=function(){return T.H.useCacheRefresh()},e.use=function(e){return T.H.use(e)},e.useActionState=function(e,t,n){return T.H.useActionState(e,t,n)},e.useCallback=function(e,t){return T.H.useCallback(e,t)},e.useContext=function(e){return T.H.useContext(e)},e.useDebugValue=function(){},e.useDeferredValue=function(e,t){return T.H.useDeferredValue(e,t)},e.useEffect=function(e,t){return T.H.useEffect(e,t)},e.useEffectEvent=function(e){return T.H.useEffectEvent(e)},e.useId=function(){return T.H.useId()},e.useImperativeHandle=function(e,t,n){return T.H.useImperativeHandle(e,t,n)},e.useInsertionEffect=function(e,t){return T.H.useInsertionEffect(e,t)},e.useLayoutEffect=function(e,t){return T.H.useLayoutEffect(e,t)},e.useMemo=function(e,t){return T.H.useMemo(e,t)},e.useOptimistic=function(e,t){return T.H.useOptimistic(e,t)},e.useReducer=function(e,t,n){return T.H.useReducer(e,t,n)},e.useRef=function(e){return T.H.useRef(e)},e.useState=function(e){return T.H.useState(e)},e.useSyncExternalStore=function(e,t,n){return T.H.useSyncExternalStore(e,t,n)},e.useTransition=function(){return T.H.useTransition()},e.version=`19.3.0`})),d=o(((e,t)=>{t.exports=u()})),f=o((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0<n;){var r=n-1>>>1,a=e[r];if(0<i(a,t))e[r]=t,e[n]=a,n=r;else break a}}function n(e){return e.length===0?null:e[0]}function r(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;a:for(var r=0,a=e.length,o=a>>>1;r<o;){var s=2*(r+1)-1,c=e[s],l=s+1,u=e[l];if(0>i(c,n))l<a&&0>i(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(l<a&&0>i(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(e.unstable_now=void 0,typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=!1,_=typeof setTimeout==`function`?setTimeout:null,v=typeof clearTimeout==`function`?clearTimeout:null,y=typeof setImmediate<`u`?setImmediate:null;function b(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function x(e){if(h=!1,b(e),!m){if(n(c)!==null)m=!0,S||(S=!0,te());else{var t=n(l);t!==null&&ne(x,t.startTime-e)}}}var S=!1,C=-1,w=5,T=-1;function ee(){return g?!0:!(e.unstable_now()-T<w)}function E(){if(g=!1,S){var t=e.unstable_now();T=t;var i=!0;try{a:{m=!1,h&&(h=!1,v(C),C=-1),p=!0;var a=f;try{b:{for(b(t),d=n(c);d!==null&&!(d.expirationTime>t&&ee());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=t);if(t=e.unstable_now(),typeof s==`function`){d.callback=s,b(t),i=!0;break b}d===n(c)&&r(c),b(t)}else r(c);d=n(c)}if(d!==null)i=!0;else{var u=n(l);u!==null&&ne(x,u.startTime-t),i=!1}}break a}finally{d=null,f=a,p=!1}i=void 0}}finally{i?te():S=!1}}}var te;if(typeof y==`function`)te=function(){y(E)};else if(typeof MessageChannel<`u`){var D=new MessageChannel,O=D.port2;D.port1.onmessage=E,te=function(){O.postMessage(null)}}else te=function(){_(E,0)};function ne(t,n){C=_(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.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`):w=0<e?Math.floor(1e3/e):5},e.unstable_getCurrentPriorityLevel=function(){return f},e.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},e.unstable_requestPaint=function(){g=!0},e.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=f;f=e;try{return t()}finally{f=n}},e.unstable_scheduleCallback=function(r,i,a){var o=e.unstable_now();switch(typeof a==`object`&&a?(a=a.delay,a=typeof a==`number`&&0<a?o+a:o):a=o,r){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return s=a+s,r={id:u++,callback:i,priorityLevel:r,startTime:a,expirationTime:s,sortIndex:-1},a>o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(v(C),C=-1):h=!0,ne(x,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,S||(S=!0,te()))),r},e.unstable_shouldYield=ee,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),p=o(((e,t)=>{t.exports=f()})),m=o((e=>{var t=d();function n(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 r(){}var i={d:{f:r,r:function(){throw Error(n(522))},D:r,C:r,L:r,m:r,X:r,S:r,M:r},p:0,findDOMNode:null},a=Symbol.for(`react.portal`),o=Symbol.for(`react.recoverable`),s=Symbol.for(`react.optimistic_key`);function c(e,t,n){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:a,key:r==null?null:r===s?s:``+r,children:e,containerInfo:t,implementation:n}}var l=t.__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:``}e.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=i,e.browser=function(e){return{$$typeof:o,_reason:e}},e.createPortal=function(e,t){var r=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)throw Error(n(299));return c(e,t,null,r)},e.flushSync=function(e){var t=l.T,n=i.p;try{if(l.T=null,i.p=2,e)return e()}finally{l.T=t,i.p=n,i.d.f()}},e.preconnect=function(e,t){typeof e==`string`&&(t?(t=t.crossOrigin,t=typeof t==`string`?t===`use-credentials`?t:``:void 0):t=null,i.d.C(e,t))},e.prefetchDNS=function(e){typeof e==`string`&&i.d.D(e)},e.preinit=function(e,t){if(typeof e==`string`&&t&&typeof t.as==`string`){var n=t.as,r=u(n,t.crossOrigin),a=typeof t.integrity==`string`?t.integrity:void 0,o=typeof t.fetchPriority==`string`?t.fetchPriority:void 0;n===`style`?i.d.S(e,typeof t.precedence==`string`?t.precedence:void 0,{crossOrigin:r,integrity:a,fetchPriority:o}):n===`script`&&i.d.X(e,{crossOrigin:r,integrity:a,fetchPriority:o,nonce:typeof t.nonce==`string`?t.nonce:void 0})}},e.preinitModule=function(e,t){if(typeof e==`string`){if(typeof t==`object`&&t){if(t.as==null||t.as===`script`){var n=u(t.as,t.crossOrigin);i.d.M(e,{crossOrigin:n,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0,fetchPriority:typeof t.fetchPriority==`string`?t.fetchPriority:void 0})}}else t??i.d.M(e)}},e.preload=function(e,t){if(typeof e==`string`&&typeof t==`object`&&t&&typeof t.as==`string`){var n=t.as,r=u(n,t.crossOrigin);i.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})}},e.preloadModule=function(e,t){if(typeof e==`string`){if(t){var n=u(t.as,t.crossOrigin);i.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,nonce:typeof t.nonce==`string`?t.nonce:void 0,fetchPriority:typeof t.fetchPriority==`string`?t.fetchPriority:void 0})}else i.d.m(e)}},e.requestFormReset=function(e){i.d.r(e)},e.unstable_batchedUpdates=function(e,t){return e(t)},e.useFormState=function(e,t,n){return l.H.useFormState(e,t,n)},e.useFormStatus=function(){return l.H.useHostTransitionStatus()},e.version=`19.3.0`})),h=o(((e,t)=>{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=m()})),g=o((e=>{var t=p(),n=d(),r=h();function i(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 a(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function o(e){for(var t=e,n=t;n&&!n.alternate;)t=n,t.flags&4098&&(e=t.return),n=t.return;for(;t.return;)t=t.return;return t.tag===3?e:null}function s(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 c(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 l(e){if(o(e)!==e)throw Error(i(188))}function u(e){var t=e.alternate;if(!t){if(t=o(e),t===null)throw Error(i(188));return t===e?e:null}for(var n=e,r=t;;){var a=n.return;if(a===null)break;var s=a.alternate;if(s===null){if(r=a.return,r!==null){n=r;continue}break}if(a.child===s.child){for(s=a.child;s;){if(s===n)return l(a),e;if(s===r)return l(a),t;s=s.sibling}throw Error(i(188))}if(n.return!==r.return)n=a,r=s;else{for(var c=!1,u=a.child;u;){if(u===n){c=!0,n=a,r=s;break}if(u===r){c=!0,r=a,n=s;break}u=u.sibling}if(!c){for(u=s.child;u;){if(u===n){c=!0,n=s,r=a;break}if(u===r){c=!0,r=s,n=a;break}u=u.sibling}if(!c)throw Error(i(189))}}if(n.alternate!==r)throw Error(i(190))}if(n.tag!==3)throw Error(i(188));return n.stateNode.current===n?e:t}function f(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=f(e),t!==null)return t;e=e.sibling}return null}function m(e,t,n,r,i,a){for(;e!==null;){if((e.tag===5||e.tag===27||e.tag===6)&&n(e,r,i,a)||(e.tag!==22||e.memoizedState===null)&&(t||e.tag!==5&&e.tag!==27)&&m(e.child,t,n,r,i,a))return!0;e=e.sibling}return!1}function g(e){for(e=e.return;e!==null;){if(e.tag===3||e.tag===5||e.tag===27)return e;e=e.return}return null}function _(e){var t=!1;for(e=e.return;e!==null&&(e.tag===4&&(t=!0),e.tag!==3&&e.tag!==5&&e.tag!==27);)e=e.return;return t}function v(e){var t=[null,null],n=g(e);return n===null||y(t,e,n.child,{foundSelf:!1}),t}function y(e,t,n,r){for(;n!==null;){if(n===t)r.foundSelf=!0;else if(n.tag===5||n.tag===27||n.tag===6){if(r.foundSelf)return e[1]=n,!0;e[0]=n}else if((n.tag!==22||n.memoizedState===null)&&y(e,t,n.child,r))return!0;n=n.sibling}return!1}function b(e){switch(e.tag){case 5:case 27:case 6:return e.stateNode;case 3:return e.stateNode.containerInfo;default:throw Error(i(559))}}var x=null,S=null;function C(e,t,n){return e===n||e===t&&(x=e,!0)}function w(e,t,n){return e===n?(S=e,!1):e===t&&(S!==null&&(x=e),!0)}function T(e){if(e===null)return null;do e=e===null?null:e.return;while(e&&e.tag!==5&&e.tag!==27&&e.tag!==3);return e||null}function ee(e,t,n){for(var r=0,i=e;i;i=n(i))r++;i=0;for(var a=t;a;a=n(a))i++;for(;0<r-i;)e=n(e),r--;for(;0<i-r;)t=n(t),i--;for(;r--;){if(e===t||t!==null&&e===t.alternate)return e;e=n(e),t=n(t)}return null}var E=Object.assign,te=Symbol.for(`react.element`),D=Symbol.for(`react.transitional.element`),O=Symbol.for(`react.portal`),ne=Symbol.for(`react.fragment`),re=Symbol.for(`react.strict_mode`),ie=Symbol.for(`react.profiler`),ae=Symbol.for(`react.consumer`),k=Symbol.for(`react.context`),oe=Symbol.for(`react.forward_ref`),se=Symbol.for(`react.suspense`),ce=Symbol.for(`react.suspense_list`),le=Symbol.for(`react.memo`),ue=Symbol.for(`react.lazy`),de=Symbol.for(`react.activity`),fe=Symbol.for(`react.legacy_hidden`),pe=Symbol.for(`react.memo_cache_sentinel`),me=Symbol.for(`react.view_transition`),he=Symbol.for(`react.recoverable`),ge=Symbol.iterator;function _e(e){return typeof e!=`object`||!e?null:(e=ge&&e[ge]||e[`@@iterator`],typeof e==`function`?e:null)}var ve=Symbol.for(`react.client.reference`);function ye(e){if(e==null)return null;if(typeof e==`function`)return e.$$typeof===ve?null:e.displayName||e.name||null;if(typeof e==`string`)return e;switch(e){case ne:return`Fragment`;case ie:return`Profiler`;case re:return`StrictMode`;case se:return`Suspense`;case ce:return`SuspenseList`;case de:return`Activity`;case me:return`ViewTransition`}if(typeof e==`object`)switch(e.$$typeof){case O:return`Portal`;case k:return e.displayName||`Context`;case ae:return(e._context.displayName||`Context`)+`.Consumer`;case oe:var t=e.render;return e=e.displayName,e||=(e=t.displayName||t.name||``,e===``?`ForwardRef`:`ForwardRef(`+e+`)`),e;case le:return t=e.displayName||null,t===null?ye(e.type)||`Memo`:t;case ue:t=e._payload,e=e._init;try{return ye(e(t))}catch{}}return null}var be=Array.isArray,A=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,j=r.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,xe={pending:!1,data:null,method:null,action:null},Se=[],Ce=-1;function we(e){return{current:e}}function Te(e){0>Ce||(e.current=Se[Ce],Se[Ce]=null,Ce--)}function Ee(e,t){Ce++,Se[Ce]=e.current,e.current=t}var De=we(null),Oe=we(null),ke=we(null),Ae=we(null);function je(e,t){switch(Ee(ke,t),Ee(Oe,e),Ee(De,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?up(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=up(t),e=dp(t,e);else switch(e){case`svg`:e=1;break;case`math`:e=2;break;default:e=0}}Te(De),Ee(De,e)}function Me(){Te(De),Te(Oe),Te(ke)}function Ne(e){var t=e.memoizedState;t!==null&&(sh._currentValue=t.memoizedState,Ee(Ae,e)),t=De.current;var n=dp(t,e.type);t!==n&&(Ee(Oe,e),Ee(De,n))}function Pe(e){Oe.current===e&&(Te(De),Te(Oe)),Ae.current===e&&(Te(Ae),sh._currentValue=xe)}var Fe,Ie;function Le(e){if(Fe===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);Fe=t&&t[1]||``,Ie=-1<e.stack.indexOf(`
2
- at`)?` (<anonymous>)`:-1<e.stack.indexOf(`@`)?`@unknown:0:0`:``}return`
3
- `+Fe+e+Ie}var Re=!1;function ze(e,t){if(!e||Re)return``;Re=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var r={DetermineComponentFrameRoot:function(){try{if(t){var n=function(){throw Error()};if(Object.defineProperty(n.prototype,"props",{set:function(){throw Error()}}),typeof Reflect==`object`&&Reflect.construct){try{Reflect.construct(n,[])}catch(e){var r=e}Reflect.construct(e,[],n)}else{try{n.call()}catch(e){r=e}n=!1;try{var i=Object.getOwnPropertyDescriptor(e.prototype,`props`);Object.defineProperty(e.prototype,"props",{configurable:!0,set:function(){throw Error()}}),n=!0,new e}finally{n&&(i===void 0?delete e.prototype.props:Object.defineProperty(e.prototype,"props",i))}}}else{try{throw Error()}catch(e){r=e}(n=e())&&typeof n.catch==`function`&&n.catch(function(){})}}catch(e){if(e&&r&&typeof e.stack==`string`)return[e.stack,r.stack]}return[null,null]}};r.DetermineComponentFrameRoot.displayName=`DetermineComponentFrameRoot`;var i=Object.getOwnPropertyDescriptor(r.DetermineComponentFrameRoot,`name`);i&&i.configurable&&Object.defineProperty(r.DetermineComponentFrameRoot,"name",{value:`DetermineComponentFrameRoot`});var a=r.DetermineComponentFrameRoot(),o=a[0],s=a[1];if(o&&s){var c=o.split(`
4
- `),l=s.split(`
5
- `);for(i=r=0;r<c.length&&!c[r].includes(`DetermineComponentFrameRoot`);)r++;for(;i<l.length&&!l[i].includes(`DetermineComponentFrameRoot`);)i++;if(r===c.length||i===l.length)for(r=c.length-1,i=l.length-1;1<=r&&0<=i&&c[r]!==l[i];)i--;for(;1<=r&&0<=i;r--,i--)if(c[r]!==l[i]){if(r!==1||i!==1)do if(r--,i--,0>i||c[r]!==l[i]){var u=`
6
- `+c[r].replace(` at new `,` at `);return e.displayName&&u.includes(`<anonymous>`)&&(u=u.replace(`<anonymous>`,e.displayName)),u}while(1<=r&&0<=i);break}}}finally{Re=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:``)?Le(n):``}function Be(e,t){switch(e.tag){case 26:case 27:case 5:return Le(e.type);case 16:return Le(`Lazy`);case 13:return e.child!==t&&t!==null?Le(`Suspense Fallback`):Le(`Suspense`);case 19:return Le(`SuspenseList`);case 0:case 15:return ze(e.type,!1);case 11:return ze(e.type.render,!1);case 1:return ze(e.type,!0);case 31:return Le(`Activity`);case 30:return Le(`ViewTransition`);default:return``}}function Ve(e){try{var t=``,n=null;do t+=Be(e,n),n=e,e=e.return;while(e);return t}catch(e){return`
7
- Error generating stack: `+e.message+`
8
- `+e.stack}}var He=Object.prototype.hasOwnProperty,Ue=t.unstable_scheduleCallback,We=t.unstable_cancelCallback,Ge=t.unstable_shouldYield,Ke=t.unstable_requestPaint,qe=t.unstable_now,Je=t.unstable_getCurrentPriorityLevel,Ye=t.unstable_ImmediatePriority,Xe=t.unstable_UserBlockingPriority,Ze=t.unstable_NormalPriority,Qe=t.unstable_LowPriority,$e=t.unstable_IdlePriority,et=t.log,tt=t.unstable_setDisableYieldValue,nt=null,rt=null;function it(e){if(typeof et==`function`&&tt(e),rt&&typeof rt.setStrictMode==`function`)try{rt.setStrictMode(nt,e)}catch{}}var at=Math.clz32?Math.clz32:ct,ot=Math.log,st=Math.LN2;function ct(e){return e>>>=0,e===0?32:31-(ot(e)/st|0)|0}var lt=256,ut=262144,dt=4194304;function ft(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&-e;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 pt(e,t,n){var r=e.pendingLanes;if(r===0)return 0;var i=0,a=e.suspendedLanes,o=e.pingedLanes;e=e.warmLanes;var s=r&134217727;return s===0?(s=r&~a,s===0?o===0?n||(n=r&~e,n!==0&&(i=ft(n))):i=ft(o):i=ft(s)):(r=s&~a,r===0?(o&=s,o===0?n||(n=s&~e,n!==0&&(i=ft(n))):i=ft(o)):i=ft(r)),i===0?0:t!==0&&t!==i&&(t&a)===0&&(a=i&-i,n=t&-t,a>=n||a===32&&n&4194048)?t:i}function mt(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function M(e,t){t&8&&(t|=t&32);var n=e.entangledLanes;if(n!==0)for(e=e.entanglements,n&=t;0<n;){var r=31-at(n),i=1<<r;t|=e[r],n&=~i}return t}function ht(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 gt(){var e=dt;return dt<<=1,!(dt&62914560)&&(dt=4194304),e}function _t(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function vt(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function yt(e,t,n,r,i,a){var o=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 s=e.entanglements,c=e.expirationTimes,l=e.hiddenUpdates;for(n=o&~n;0<n;){var u=31-at(n),d=1<<u;s[u]=0,c[u]=-1;var f=l[u];if(f!==null)for(l[u]=null,u=0;u<f.length;u++){var p=f[u];p!==null&&(p.lane&=-536870913)}n&=~d}r!==0&&bt(e,r,0),a!==0&&i===0&&e.tag!==0&&(e.suspendedLanes|=a&~(o&~t))}function bt(e,t,n){e.pendingLanes|=t,e.suspendedLanes&=~t;var r=31-at(t);e.entangledLanes|=t,e.entanglements[r]=e.entanglements[r]|1073741824|n&261930}function xt(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-at(n),i=1<<r;i&t|e[r]&t&&(e[r]|=t),n&=~i}}function St(e,t){var n=t&-t;return n=n&42?1:Ct(n),(n&(e.suspendedLanes|t))===0?n:0}function Ct(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 wt(e){return e&=-e,2<e?8<e?e&134217727?32:268435456:8:2}function Tt(){var e=j.p;return e===0?(e=window.event,e===void 0?32:Ch(e.type)):e}function Et(e,t){var n=j.p;try{return j.p=e,t()}finally{j.p=n}}var Dt=Math.random().toString(36).slice(2),Ot=`__reactFiber$`+Dt,kt=`__reactProps$`+Dt,At=`__reactContainer$`+Dt,jt=`__reactEvents$`+Dt,Mt=`__reactListeners$`+Dt,Nt=`__reactHandles$`+Dt,Pt=`__reactResources$`+Dt,Ft=`__reactMarker$`+Dt,It=`__reactLoad$`+Dt;function Lt(e){delete e[Ot],delete e[kt],delete e[Mt],delete e[Nt]}function Rt(e){var t;if(t=e[Ot])return t;for(var n=e.parentNode;n;){if(t=n[At]||n[Ot]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=fm(e);e!==null;){if(n=e[Ot])return n;e=fm(e)}return t}e=n,n=e.parentNode}return null}function zt(e){if(e=e[Ot]||e[At]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function Bt(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(i(33))}function Vt(e){var t=e[Pt];return t||=e[Pt]={hoistableStyles:new Map,hoistableScripts:new Map},t}function Ht(e){e[Ft]=!0}function Ut(e){e[It]=void 0}var Wt=new Set,Gt={};function Kt(e,t){qt(e,t),qt(e+`Capture`,t)}function qt(e,t){for(Gt[e]=t,e=0;e<t.length;e++)Wt.add(t[e])}var Jt=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]*$`),Yt={},Xt={};function Zt(e){return He.call(Xt,e)?!0:He.call(Yt,e)?!1:Jt.test(e)?Xt[e]=!0:(Yt[e]=!0,!1)}var N=!1;function Qt(){var e=N;return N=!1,e}function $t(e,t,n){if(Zt(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 en(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 tn(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 nn(e){switch(typeof e){case`bigint`:case`boolean`:case`number`:case`string`:case`undefined`:return e;case`object`:return e;default:return``}}function rn(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()===`input`&&(t===`checkbox`||t===`radio`)}function an(e,t,n){var r=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);if(!e.hasOwnProperty(t)&&r!==void 0&&typeof r.get==`function`&&typeof r.set==`function`){var i=r.get,a=r.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(e){n=``+e,a.call(this,e)}}),Object.defineProperty(e,t,{enumerable:r.enumerable}),{getValue:function(){return n},setValue:function(e){n=``+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function on(e){if(!e._valueTracker){var t=rn(e)?`checked`:`value`;e._valueTracker=an(e,t,``+e[t])}}function sn(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r=``;return e&&(r=rn(e)?e.checked?`true`:`false`:e.value),e=r,e!==n&&(t.setValue(e),!0)}var cn=/[\n"\\]/g;function ln(e){return e.replace(cn,function(e){return`\\`+e.charCodeAt(0).toString(16)+` `})}function un(e,t,n,r,i,a,o,s){e.name=``,o!=null&&typeof o!=`function`&&typeof o!=`symbol`&&typeof o!=`boolean`?e.type=o:e.removeAttribute(`type`),t==null?o!==`submit`&&o!==`reset`||e.removeAttribute(`value`):o===`number`?(t===0&&e.value===``||e.value!=t)&&(e.value=``+nn(t)):e.value!==``+nn(t)&&(e.value=``+nn(t)),t==null?n==null?r!=null&&e.removeAttribute(`value`):fn(e,nn(n)):o===`number`&&e.value==t?fn(e,nn(e.value)):fn(e,nn(t)),i==null&&a!=null&&(e.defaultChecked=!!a),i!=null&&(e.checked=i&&typeof i!=`function`&&typeof i!=`symbol`),s!=null&&typeof s!=`function`&&typeof s!=`symbol`&&typeof s!=`boolean`?e.name=``+nn(s):e.removeAttribute(`name`)}function dn(e,t,n,r,i,a,o,s){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)){on(e);return}n=n==null?``:``+nn(n),t=t==null?n:``+nn(t),s||t===e.value||(e.value=t),e.defaultValue=t}r??=i,r=typeof r!=`function`&&typeof r!=`symbol`&&!!r,e.checked=s?e.checked:!!r,e.defaultChecked=!!r,o!=null&&typeof o!=`function`&&typeof o!=`symbol`&&typeof o!=`boolean`&&(e.name=o),on(e)}function fn(e,t){e.defaultValue!==``+t&&(e.defaultValue=``+t)}function pn(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i<n.length;i++)t[`$`+n[i]]=!0;for(n=0;n<e.length;n++)i=t.hasOwnProperty(`$`+e[n].value),e[n].selected!==i&&(e[n].selected=i),i&&r&&(e[n].defaultSelected=!0)}else{for(n=``+nn(n),t=null,i=0;i<e.length;i++){if(e[i].value===n){e[i].selected=!0,r&&(e[i].defaultSelected=!0);return}t!==null||e[i].disabled||(t=e[i])}t!==null&&(t.selected=!0)}}function mn(e,t,n){if(t!=null&&(t=``+nn(t),t!==e.value&&(e.value=t),n==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=n==null?``:``+nn(n)}function hn(e,t,n,r){if(t==null){if(r!=null){if(n!=null)throw Error(i(92));if(be(r)){if(1<r.length)throw Error(i(93));r=r[0]}n=r}n??=``,t=n}n=nn(t),e.defaultValue=n,r=e.textContent,r===n&&r!==``&&r!==null&&(e.value=r),on(e)}function gn(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var _n=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 vn(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||_n.has(t)?t===`float`?e.cssFloat=n:e[t]=(``+n).trim():e[t]=n+`px`}function yn(e,t,n){if(t!=null&&typeof t!=`object`)throw Error(i(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]=``,N=!0);for(var a in t)r=t[a],t.hasOwnProperty(a)&&n[a]!==r&&(vn(e,a,r),N=!0)}else for(var o in t)t.hasOwnProperty(o)&&vn(e,o,t[o])}function bn(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 xn=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`],[`maskType`,`mask-type`],[`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`]]),Sn=/^[\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 Cn(e){return Sn.test(``+e)?`javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')`:e}function wn(){}var Tn=null;function En(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Dn=null,On=null;function kn(e){var t=zt(e);if(t&&(e=t.stateNode)){var n=e[kt]||null;a:switch(e=t.stateNode,t.type){case`input`:if(un(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="`+ln(``+t)+`"][type="radio"]`),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var a=r[kt]||null;if(!a)throw Error(i(90));un(r,a.value,a.defaultValue,a.defaultValue,a.checked,a.defaultChecked,a.type,a.name)}}for(t=0;t<n.length;t++)r=n[t],r.form===e.form&&sn(r)}break a;case`textarea`:mn(e,n.value,n.defaultValue);break a;case`select`:t=n.value,t!=null&&pn(e,!!n.multiple,t,!1)}}}var An=!1;function jn(e,t,n){if(An)return e(t,n);An=!0;try{return e(t)}finally{if(An=!1,(Dn!==null||On!==null)&&(Bd(),Dn&&(t=Dn,e=On,On=Dn=null,kn(t),e)))for(t=0;t<e.length;t++)kn(e[t])}}function Mn(e,t){var n=e.stateNode;if(n===null)return null;var r=n[kt]||null;if(r===null)return null;n=r[t];a: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 a;default:e=!1}if(e)return null;if(n&&typeof n!=`function`)throw Error(i(231,t,typeof n));return n}var Nn=!(typeof window>`u`||window.document===void 0||window.document.createElement===void 0),Pn=!1;if(Nn)try{var Fn={};Object.defineProperty(Fn,"passive",{get:function(){Pn=!0}}),window.addEventListener(`test`,Fn,Fn),window.removeEventListener(`test`,Fn,Fn)}catch{Pn=!1}var In=null,Ln=null,P=null;function Rn(){if(P)return P;var e,t=Ln,n=t.length,r,i=`value`in In?In.value:In.textContent,a=i.length;for(e=0;e<n&&t[e]===i[e];e++);var o=n-e;for(r=1;r<=o&&t[n-r]===i[a-r];r++);return P=i.slice(e,1<r?1-r:void 0)}function zn(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 Bn(){return!0}function Vn(){return!1}function Hn(e){function t(t,n,r,i,a){for(var o in this._reactName=t,this._targetInst=r,this.type=n,this.nativeEvent=i,this.target=a,this.currentTarget=null,e)e.hasOwnProperty(o)&&(t=e[o],this[o]=t?t(i):i[o]);return this.isDefaultPrevented=(i.defaultPrevented==null?!1===i.returnValue:i.defaultPrevented)?Bn:Vn,this.isPropagationStopped=Vn,this}return E(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():typeof e.returnValue!=`unknown`&&(e.returnValue=!1),this.isDefaultPrevented=Bn)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():typeof e.cancelBubble!=`unknown`&&(e.cancelBubble=!0),this.isPropagationStopped=Bn)},persist:function(){},isPersistent:Bn}),t}var Un={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Wn=Hn(Un),Gn=E({},Un,{view:0,detail:0}),Kn=Hn(Gn),qn,Jn,Yn,Xn=E({},Gn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:sr,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!==Yn&&(Yn&&e.type===`mousemove`?(qn=e.screenX-Yn.screenX,Jn=e.screenY-Yn.screenY):Jn=qn=0,Yn=e),qn)},movementY:function(e){return`movementY`in e?e.movementY:Jn}}),Zn=Hn(Xn),Qn=Hn(E({},Xn,{dataTransfer:0})),$n=Hn(E({},Gn,{relatedTarget:0})),er=Hn(E({},Un,{animationName:0,elapsedTime:0,pseudoElement:0})),tr=Hn(E({},Un,{clipboardData:function(e){return`clipboardData`in e?e.clipboardData:window.clipboardData}})),nr=Hn(E({},Un,{data:0})),rr={Esc:`Escape`,Spacebar:` `,Left:`ArrowLeft`,Up:`ArrowUp`,Right:`ArrowRight`,Down:`ArrowDown`,Del:`Delete`,Win:`OS`,Menu:`ContextMenu`,Apps:`ContextMenu`,Scroll:`ScrollLock`,MozPrintableKey:`Unidentified`},ir={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`},ar={Alt:`altKey`,Control:`ctrlKey`,Meta:`metaKey`,Shift:`shiftKey`};function or(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=ar[e])?!!t[e]:!1}function sr(){return or}var cr=Hn(E({},Gn,{key:function(e){if(e.key){var t=rr[e.key]||e.key;if(t!==`Unidentified`)return t}return e.type===`keypress`?(e=zn(e),e===13?`Enter`:String.fromCharCode(e)):e.type===`keydown`||e.type===`keyup`?ir[e.keyCode]||`Unidentified`:``},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:sr,charCode:function(e){return e.type===`keypress`?zn(e):0},keyCode:function(e){return e.type===`keydown`||e.type===`keyup`?e.keyCode:0},which:function(e){return e.type===`keypress`?zn(e):e.type===`keydown`||e.type===`keyup`?e.keyCode:0}})),lr=Hn(E({},Xn,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),ur=Hn(E({},Un,{submitter:0})),dr=Hn(E({},Gn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:sr})),fr=Hn(E({},Un,{propertyName:0,elapsedTime:0,pseudoElement:0})),pr=Hn(E({},Xn,{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})),mr=Hn(E({},Un,{newState:0,oldState:0,source:0})),hr=[9,13,27,32],gr=Nn&&`CompositionEvent`in window,_r=null;Nn&&`documentMode`in document&&(_r=document.documentMode);var vr=Nn&&`TextEvent`in window&&!_r,yr=Nn&&(!gr||_r&&8<_r&&11>=_r),br=` `,xr=!1;function Sr(e,t){switch(e){case`keyup`:return hr.indexOf(t.keyCode)!==-1;case`keydown`:return t.keyCode!==229;case`keypress`:case`mousedown`:case`focusout`:return!0;default:return!1}}function Cr(e){return e=e.detail,typeof e==`object`&&`data`in e?e.data:null}var wr=!1;function Tr(e,t){switch(e){case`compositionend`:return Cr(t);case`keypress`:return t.which===32?(xr=!0,br):null;case`textInput`:return e=t.data,e===br&&xr?null:e;default:return null}}function Er(e,t){if(wr)return e===`compositionend`||!gr&&Sr(e,t)?(e=Rn(),P=Ln=In=null,wr=!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 yr&&t.locale!==`ko`?null:t.data;default:return null}}var Dr={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 Or(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t===`input`?!!Dr[e.type]:t===`textarea`}function kr(e,t,n,r){Dn?On?On.push(r):On=[r]:Dn=r,t=Jf(t,`onChange`),0<t.length&&(n=new Wn(`onChange`,`change`,null,n,r),e.push({event:n,listeners:t}))}var Ar=null,jr=null;function Mr(e){Vf(e,0)}function Nr(e){if(sn(Bt(e)))return e}function Pr(e,t){if(e===`change`)return t}var Fr=!1;if(Nn){var Ir;if(Nn){var Lr=`oninput`in document;if(!Lr){var Rr=document.createElement(`div`);Rr.setAttribute(`oninput`,`return;`),Lr=typeof Rr.oninput==`function`}Ir=Lr}else Ir=!1;Fr=Ir&&(!document.documentMode||9<document.documentMode)}function zr(){Ar&&(Ar.detachEvent(`onpropertychange`,Br),jr=Ar=null)}function Br(e){if(e.propertyName===`value`&&Nr(jr)){var t=[];kr(t,jr,e,En(e)),jn(Mr,t)}}function Vr(e,t,n){e===`focusin`?(zr(),Ar=t,jr=n,Ar.attachEvent(`onpropertychange`,Br)):e===`focusout`&&zr()}function Hr(e){if(e===`selectionchange`||e===`keyup`||e===`keydown`)return Nr(jr)}function Ur(e,t){if(e===`click`)return Nr(t)}function Wr(e,t){if(e===`input`||e===`change`)return Nr(t)}function Gr(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var Kr=typeof Object.is==`function`?Object.is:Gr;function qr(e,t){if(Kr(e,t))return!0;if(typeof e!=`object`||!e||typeof t!=`object`||!t)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 i=n[r];if(!He.call(t,i)||!Kr(e[i],t[i]))return!1}return!0}function Jr(e){if(e||=typeof document<`u`?document:void 0,e===void 0)return null;try{return e.activeElement||e.body}catch{return e.body}}function Yr(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Xr(e,t){var n=Yr(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}a:{for(;n;){if(n.nextSibling){n=n.nextSibling;break a}n=n.parentNode}n=void 0}n=Yr(n)}}function Zr(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Zr(e,t.parentNode):`contains`in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Qr(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Jr(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=Jr(e.document)}return t}function $r(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 ei=Nn&&`documentMode`in document&&11>=document.documentMode,ti=null,ni=null,ri=null,ii=!1;function ai(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;ii||ti==null||ti!==Jr(r)||(r=ti,`selectionStart`in r&&$r(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}),ri&&qr(ri,r)||(ri=r,r=Jf(ni,`onSelect`),0<r.length&&(t=new Wn(`onSelect`,`select`,null,t,n),e.push({event:t,listeners:r}),t.target=ti)))}function oi(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n[`Webkit`+e]=`webkit`+t,n[`Moz`+e]=`moz`+t,n}var si={animationend:oi(`Animation`,`AnimationEnd`),animationiteration:oi(`Animation`,`AnimationIteration`),animationstart:oi(`Animation`,`AnimationStart`),transitionrun:oi(`Transition`,`TransitionRun`),transitionstart:oi(`Transition`,`TransitionStart`),transitioncancel:oi(`Transition`,`TransitionCancel`),transitionend:oi(`Transition`,`TransitionEnd`)},ci={},li={};Nn&&(li=document.createElement(`div`).style,`AnimationEvent`in window||(delete si.animationend.animation,delete si.animationiteration.animation,delete si.animationstart.animation),`TransitionEvent`in window||delete si.transitionend.transition);function ui(e){if(ci[e])return ci[e];if(!si[e])return e;var t=si[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in li)return ci[e]=t[n];return e}var di=ui(`animationend`),fi=ui(`animationiteration`),F=ui(`animationstart`),pi=ui(`transitionrun`),mi=ui(`transitionstart`),hi=ui(`transitioncancel`),gi=ui(`transitionend`),_i=new Map,I=`abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error fullscreenChange fullscreenError 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(` `);I.push(`scrollEnd`);function vi(e,t){_i.set(e,t),Kt(t,[e])}var yi=0;function bi(e,t){if(e.name!=null&&e.name!==`auto`)return e.name;if(t.autoName!==null)return t.autoName;e=xd.identifierPrefix;var n=yi++;return e=`_`+e+`t_`+n.toString(32)+`_`,t.autoName=e}function xi(e){if(e==null||typeof e==`string`)return e;var t=null,n=kd;if(n!==null)for(var r=0;r<n.length;r++){var i=e[n[r]];if(i!=null){if(i===`none`)return`none`;t=t==null?i:t+(` `+i)}}return t??e.default}function Si(e,t){return e=xi(e),t=xi(t),t==null?e===`auto`?null:e:t===`auto`?null:t}var Ci=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&&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)},wi=[],Ti=0,Ei=0;function Di(){for(var e=Ti,t=Ei=Ti=0;t<e;){var n=wi[t];wi[t++]=null;var r=wi[t];wi[t++]=null;var i=wi[t];wi[t++]=null;var a=wi[t];if(wi[t++]=null,r!==null&&i!==null){var o=r.pending;o===null?i.next=i:(i.next=o.next,o.next=i),r.pending=i}a!==0&&ji(n,i,a)}}function Oi(e,t,n,r){wi[Ti++]=e,wi[Ti++]=t,wi[Ti++]=n,wi[Ti++]=r,Ei|=r,e.lanes|=r,e=e.alternate,e!==null&&(e.lanes|=r)}function ki(e,t,n,r){return Oi(e,t,n,r),Mi(e)}function Ai(e,t){return Oi(e,null,null,t),Mi(e)}function ji(e,t,n){e.lanes|=n;var r=e.alternate;r!==null&&(r.lanes|=n);for(var i=!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||(i=!0)),e=a,a=a.return;return e.tag===3?(a=e.stateNode,i&&t!==null&&(i=31-at(n),e=a.hiddenUpdates,r=e[i],r===null?e[i]=[t]:r.push(t),t.lane=n|536870912),a):null}function Mi(e){if(50<Ad)throw Ad=0,jd=null,Error(i(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var Ni={};function Pi(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 Fi(e,t,n,r){return new Pi(e,t,n,r)}function Ii(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Li(e,t){var n=e.alternate;return n===null?(n=Fi(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&1206910976,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 Ri(e,t){e.flags&=1206910978;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 zi(e,t,n,r,a,o){var s=0;if(r=e,typeof r==`function`)Ii(r)&&(s=1);else if(typeof r==`string`)s=qm(e,n,De.current)?26:e===`html`||e===`head`||e===`body`?27:5;else a:switch(r){case de:return e=Fi(31,n,t,a),e.elementType=de,e.lanes=o,e;case ne:return Bi(n.children,a,o,t);case re:s=8,a|=24;break;case ie:return e=Fi(12,n,t,a|2),e.elementType=ie,e.lanes=o,e;case se:return e=Fi(13,n,t,a),e.elementType=se,e.lanes=o,e;case ce:return e=Fi(19,n,t,a),e.elementType=ce,e.lanes=o,e;case fe:case me:return e=a|32,e=Fi(30,n,t,e),e.elementType=me,e.lanes=o,e.stateNode={autoName:null,paired:null,clones:null,ref:null},e;default:if(typeof r==`object`&&r)switch(r.$$typeof){case k:s=10;break a;case ae:s=9;break a;case oe:s=11;break a;case le:s=14;break a;case ue:s=16,r=null;break a}s=29,n=Error(i(130,e===null?`null`:typeof e,``)),r=null}return t=Fi(s,n,t,a),t.elementType=e,t.type=r,t.lanes=o,t}function Bi(e,t,n,r){return e=Fi(7,e,r,t),e.lanes=n,e}function Vi(e,t,n){return e=Fi(6,e,null,t),e.lanes=n,e}function Hi(e){var t=Fi(18,null,null,0);return t.stateNode=e,t}function Ui(e,t,n){return t=Fi(4,e.children===null?[]:e.children,e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var Wi=new WeakMap;function Gi(e,t){if(typeof e==`object`&&e){var n=Wi.get(e);return n===void 0?(t={value:e,source:t,stack:Ve(t)},Wi.set(e,t),t):n}return{value:e,source:t,stack:Ve(t)}}var Ki=[],qi=0,Ji=null,Yi=0,Xi=[],Zi=0,Qi=null,$i=1,ea=``;function ta(e,t){Ki[qi++]=Yi,Ki[qi++]=Ji,Ji=e,Yi=t}function na(e,t,n){Xi[Zi++]=$i,Xi[Zi++]=ea,Xi[Zi++]=Qi,Qi=e;var r=$i;e=ea;var i=32-at(r)-1;r&=~(1<<i),n+=1;var a=32-at(t)+i;if(30<a){var o=i-i%5;a=(r&(1<<o)-1).toString(32),r>>=o,i-=o,$i=1<<32-at(t)+i|n<<i|r,ea=a+e}else $i=1<<a|n<<i|r,ea=e}function ra(e){e.return!==null&&(ta(e,1),na(e,1,0))}function ia(e){for(;e===Ji;)Ji=Ki[--qi],Ki[qi]=null,Yi=Ki[--qi],Ki[qi]=null;for(;e===Qi;)Qi=Xi[--Zi],Xi[Zi]=null,ea=Xi[--Zi],Xi[Zi]=null,$i=Xi[--Zi],Xi[Zi]=null}function aa(e,t){Xi[Zi++]=$i,Xi[Zi++]=ea,Xi[Zi++]=Qi,$i=t.id,ea=t.overflow,Qi=e}var oa=null,L=null,R=!1,sa=null,ca=!1,la=Error(i(519));function ua(e){throw ha(Gi(Error(i(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?`text`:`HTML`,``)),e)),la}function da(e){var t=e.stateNode,n=e.type,r=e.memoizedProps;switch(t[Ot]=e,t[kt]=r,n){case`dialog`:Q(`cancel`,t),Q(`close`,t);break;case`iframe`:case`object`:case`embed`:Q(`load`,t);break;case`video`:case`audio`:for(n=0;n<zf.length;n++)Q(zf[n],t);break;case`source`:Q(`error`,t);break;case`img`:case`image`:case`link`:Q(`error`,t),Q(`load`,t);break;case`details`:Q(`toggle`,t);break;case`input`:Q(`invalid`,t),dn(t,r.value,r.defaultValue,r.checked,r.defaultChecked,r.type,r.name,!0);break;case`select`:Q(`invalid`,t);break;case`textarea`:Q(`invalid`,t),hn(t,r.value,r.defaultValue,r.children)}n=r.children,typeof n!=`string`&&typeof n!=`number`&&typeof n!=`bigint`||t.textContent===``+n||!0===r.suppressHydrationWarning||$f(t.textContent,n)?(r.popover!=null&&(Q(`beforetoggle`,t),Q(`toggle`,t)),r.onScroll!=null&&Q(`scroll`,t),r.onScrollEnd!=null&&Q(`scrollend`,t),r.onClick!=null&&(t.onclick=wn),t=!0):t=!1,t||ua(e,!0)}function fa(e){for(oa=e.return;oa;)switch(oa.tag){case 5:case 31:case 13:ca=!1;return;case 27:case 3:ca=!0;return;default:oa=oa.return}}function pa(e){if(e!==oa)return!1;if(!R)return fa(e),R=!0,!1;var t=e.tag,n;if((n=t!==3&&t!==27)&&((n=t===5)&&(n=e.type,n=n===`form`||n===`button`||pp(e.type,e.memoizedProps)),n=!n),n&&L&&ua(e),fa(e),t===13){if(e=e.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(i(317));L=dm(e)}else if(t===31){if(e=e.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(i(317));L=dm(e)}else t===27?(t=L,Sp(e.type)?(e=um,um=null,L=e):L=t):L=oa?lm(e.stateNode.nextSibling):null;return!0}function z(){L=oa=null,R=!1}function ma(){var e=sa;return e!==null&&(pd===null?pd=e:pd.push.apply(pd,e),sa=null),e}function ha(e){sa===null?sa=[e]:sa.push(e)}var ga=we(null),_a=null,va=null;function ya(e,t,n){Ee(ga,t._currentValue),t._currentValue=n}function ba(e){e._currentValue=ga.current,Te(ga)}function xa(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)===t?r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t):(e.childLanes|=t,r!==null&&(r.childLanes|=t)),e===n)break;e=e.return}}function Sa(e,t,n,r){var a=e.child;for(a!==null&&(a.return=e);a!==null;){var o=a.dependencies;if(o!==null){var s=a.child;o=o.firstContext;a:for(;o!==null;){var c=o;o=a;for(var l=0;l<t.length;l++)if(c.context===t[l]){o.lanes|=n,c=o.alternate,c!==null&&(c.lanes|=n),xa(o.return,n,e),r||(s=null);break a}o=c.next}}else if(a.tag===18){if(s=a.return,s===null)throw Error(i(341));s.lanes|=n,o=s.alternate,o!==null&&(o.lanes|=n),xa(s,n,e),s=null}else a.tag===13&&a.memoizedState!==null&&a.memoizedState.dehydrated===null?(a.lanes|=n,s=a.alternate,s!==null&&(s.lanes|=n),xa(a.return,n,e),s=a.child,s=s===null?null:s.sibling):s=a.child;if(s!==null)s.return=a;else for(s=a;s!==null;){if(s===e){s=null;break}if(a=s.sibling,a!==null){a.return=s.return,s=a;break}s=s.return}a=s}}function Ca(e,t,n,r){e=null;for(var a=t,o=!1;a!==null;){if(!o){if(a.flags&524288)o=!0;else if(a.flags&262144)break}if(a.tag===10){var s=a.alternate;if(s===null)throw Error(i(387));if(s=s.memoizedProps,s!==null){var c=a.type;Kr(a.pendingProps.value,s.value)||(e===null?e=[c]:e.push(c))}}else if(a===Ae.current){if(s=a.alternate,s===null)throw Error(i(387));s.memoizedState.memoizedState!==a.memoizedState.memoizedState&&(e===null?e=[sh]:e.push(sh))}a=a.return}return e!==null&&Sa(t,e,n,r),t.flags|=262144,e!==null}function wa(e){for(e=e.firstContext;e!==null;){if(!Kr(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function Ta(e){_a=e,va=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function Ea(e){return Oa(_a,e)}function Da(e,t){return _a===null&&Ta(e),Oa(e,t)}function Oa(e,t){var n=t._currentValue;if(t={context:t,memoizedValue:n,next:null},va===null){if(e===null)throw Error(i(308));va=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else va=va.next=t;return n}var ka=typeof AbortController<`u`?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(t,n){e.push(n)}};this.abort=function(){t.aborted=!0,e.forEach(function(e){return e()})}},Aa=t.unstable_scheduleCallback,ja=t.unstable_NormalPriority,Ma={$$typeof:k,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function Na(){return{controller:new ka,data:new Map,refCount:0}}function Pa(e){e.refCount--,e.refCount===0&&Aa(ja,function(){e.controller.abort()})}function Fa(e,t){if(e.pendingLanes&4194048){var n=e.transitionTypes;for(n===null&&(n=e.transitionTypes=[]),e=0;e<t.length;e++){var r=t[e];n.indexOf(r)===-1&&n.push(r)}}}var Ia=null;function La(e){var t=e.transitionTypes;return e.transitionTypes=null,t}var Ra=null,za=0,Ba=0,Va=null;function Ha(e,t){if(Ra===null){var n=Ra=[];za=0,Ba=Ff(),Va={status:`pending`,value:void 0,then:function(e){n.push(e)}}}return za++,t.then(Ua,Ua),t}function Ua(){if(--za===0&&(Ia=null,Ra!==null)){Va!==null&&(Va.status=`fulfilled`);var e=Ra;Ra=null,Ba=0,Va=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function Wa(e,t){var n=[],r={status:`pending`,value:null,reason:null,then:function(e){n.push(e)}};return e.then(function(){r.status=`fulfilled`,r.value=t;for(var e=0;e<n.length;e++)(0,n[e])(t)},function(e){for(r.status=`rejected`,r.reason=e,e=0;e<n.length;e++)(0,n[e])(void 0)}),r}var Ga=A.S;A.S=function(e,t){if(gd=qe(),typeof t==`object`&&t&&typeof t.then==`function`&&Ha(e,t),Ia!==null)for(var n=Sf;n!==null;)Fa(n,Ia),n=n.next;if(n=e.types,n!==null){for(var r=Sf;r!==null;)Fa(r,n),r=r.next;if(Ba!==0){r=Ia,r===null&&(r=Ia=[]);for(var i=0;i<n.length;i++){var a=n[i];r.indexOf(a)===-1&&r.push(a)}}}Ga!==null&&Ga(e,t)};var Ka=we(null);function qa(){var e=Ka.current;return e===null?ed.pooledCache:e}function Ja(e,t){t===null?Ee(Ka,Ka.current):Ee(Ka,t.pool)}function Ya(){var e=qa();return e===null?null:{parent:Ma._currentValue,pool:e}}var Xa=Error(i(460)),Za=Error(i(474)),Qa=Error(i(542)),$a={then:function(){}};function eo(e){return e=e.status,e===`fulfilled`||e===`rejected`}function to(e,t,n){switch(n=e[n],n===void 0?e.push(t):n!==t&&(t.then(wn,wn),t=n),t.status){case`fulfilled`:return t.value;case`rejected`:throw e=t.reason,ao(e),e===void 0&&!(`reason`in t)?Error(i(600)):e;default:if(typeof t.status==`string`)t.then(wn,wn);else{if(e=ed,e!==null&&100<e.shellSuspendCounter)throw Error(i(482));e=t,e.status=`pending`,e.then(function(e){if(t.status===`pending`){var n=t;n.status=`fulfilled`,n.value=e}},function(e){if(t.status===`pending`){var n=t;n.status=`rejected`,n.reason=e}})}switch(t.status){case`fulfilled`:return t.value;case`rejected`:throw e=t.reason,ao(e),e}throw ro=t,Xa}}function no(e){try{var t=e._init;return t(e._payload)}catch(e){throw typeof e==`object`&&e&&typeof e.then==`function`?(ro=e,Xa):e}}var ro=null;function io(){if(ro===null)throw Error(i(459));var e=ro;return ro=null,e}function ao(e){if(e===Xa||e===Qa)throw Error(i(483))}var oo=null,so=0;function co(e){var t=so;return so+=1,oo===null&&(oo=[]),to(oo,e,t)}function lo(e,t){t=t.props.ref,e.ref=t===void 0?null:t}function uo(e,t){throw t.$$typeof===te?Error(i(525)):(e=Object.prototype.toString.call(t),Error(i(31,e===`[object Object]`?`object with keys {`+Object.keys(t).join(`, `)+`}`:e)))}function fo(e){function t(t,n){if(e){var r=t.deletions;r===null?(t.deletions=[n],t.flags|=16):r.push(n)}}function n(n,r){if(!e)return null;for(;r!==null;)t(n,r),r=r.sibling;return null}function r(e){for(var t=new Map;e!==null;)e.key===null?t.set(e.index,e):t.set(e.key,e),e=e.sibling;return t}function a(e,t){return e=Li(e,t),e.index=0,e.sibling=null,e}function o(t,n,r){return t.index=r,e?(r=t.alternate,r===null?(t.flags|=134217730,n):(r=r.index,r<n?(t.flags|=2,n):r)):(t.flags|=1048576,n)}function s(t){return e&&t.alternate===null&&(t.flags|=134217730),t}function c(e,t,n,r){return t===null||t.tag!==6?(t=Vi(n,e.mode,r),t.return=e,t):(t=a(t,n),t.return=e,t)}function l(e,t,n,r){var i=n.type;return i===ne?(e=d(e,t,n.props.children,r,n.key),lo(e,n),e):t!==null&&(t.elementType===i||typeof i==`object`&&i&&i.$$typeof===ue&&no(i)===t.type)?(t=a(t,n.props),lo(t,n),t.return=e,t):(t=zi(n.type,n.key,n.props,null,e.mode,r),lo(t,n),t.return=e,t)}function u(e,t,n,r){return t===null||t.tag!==4||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?(t=Ui(n,e.mode,r),t.return=e,t):(t=a(t,n.children||[]),t.return=e,t)}function d(e,t,n,r,i){return t===null||t.tag!==7?(t=Bi(n,e.mode,r,i),t.return=e,t):(t=a(t,n),t.return=e,t)}function f(e,t,n){if(typeof t==`string`&&t!==``||typeof t==`number`||typeof t==`bigint`)return t=Vi(``+t,e.mode,n),t.return=e,t;if(typeof t==`object`&&t){switch(t.$$typeof){case D:return n=zi(t.type,t.key,t.props,null,e.mode,n),lo(n,t),n.return=e,n;case O:return t=Ui(t,e.mode,n),t.return=e,t;case ue:return t=no(t),f(e,t,n)}if(be(t)||_e(t))return t=Bi(t,e.mode,n,null),t.return=e,t;if(typeof t.then==`function`)return f(e,co(t),n);if(t.$$typeof===k)return f(e,Da(e,t),n);uo(e,t)}return null}function p(e,t,n,r){var i=t===null?null:t.key;if(typeof n==`string`&&n!==``||typeof n==`number`||typeof n==`bigint`)return i===null?c(e,t,``+n,r):null;if(typeof n==`object`&&n){switch(n.$$typeof){case D:return n.key===i?l(e,t,n,r):null;case O:return n.key===i?u(e,t,n,r):null;case ue:return n=no(n),p(e,t,n,r)}if(be(n)||_e(n))return i===null?d(e,t,n,r,null):null;if(typeof n.then==`function`)return p(e,t,co(n),r);if(n.$$typeof===k)return p(e,t,Da(e,n),r);uo(e,n)}return null}function m(e,t,n,r,i){if(typeof r==`string`&&r!==``||typeof r==`number`||typeof r==`bigint`)return e=e.get(n)||null,c(t,e,``+r,i);if(typeof r==`object`&&r){switch(r.$$typeof){case D:return e=e.get(r.key===null?n:r.key)||null,l(t,e,r,i);case O:return e=e.get(r.key===null?n:r.key)||null,u(t,e,r,i);case ue:return r=no(r),m(e,t,n,r,i)}if(be(r)||_e(r))return e=e.get(n)||null,d(t,e,r,i,null);if(typeof r.then==`function`)return m(e,t,n,co(r),i);if(r.$$typeof===k)return m(e,t,n,Da(t,r),i);uo(t,r)}return null}function h(i,a,s,c){for(var l=null,u=null,d=a,h=a=0,g=null;d!==null&&h<s.length;h++){d.index>h?(g=d,d=null):g=d.sibling;var _=p(i,d,s[h],c);if(_===null){d===null&&(d=g);break}e&&d&&_.alternate===null&&t(i,d),a=o(_,a,h),u===null?l=_:u.sibling=_,u=_,d=g}if(h===s.length)return n(i,d),R&&ta(i,h),l;if(d===null){for(;h<s.length;h++)d=f(i,s[h],c),d!==null&&(a=o(d,a,h),u===null?l=d:u.sibling=d,u=d);return R&&ta(i,h),l}for(d=r(d);h<s.length;h++)g=m(d,i,h,s[h],c),g!==null&&(e&&(_=g.alternate,_!==null&&d.delete(_.key===null?h:_.key)),a=o(g,a,h),u===null?l=g:u.sibling=g,u=g);return e&&d.forEach(function(e){return t(i,e)}),R&&ta(i,h),l}function g(a,s,c,l){if(c==null)throw Error(i(151));for(var u=null,d=null,h=s,g=s=0,_=null,v=c.next();h!==null&&!v.done;g++,v=c.next()){h.index>g?(_=h,h=null):_=h.sibling;var y=p(a,h,v.value,l);if(y===null){h===null&&(h=_);break}e&&h&&y.alternate===null&&t(a,h),s=o(y,s,g),d===null?u=y:d.sibling=y,d=y,h=_}if(v.done)return n(a,h),R&&ta(a,g),u;if(h===null){for(;!v.done;g++,v=c.next())v=f(a,v.value,l),v!==null&&(s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return R&&ta(a,g),u}for(h=r(h);!v.done;g++,v=c.next())v=m(h,a,g,v.value,l),v!==null&&(e&&(_=v.alternate,_!==null&&h.delete(_.key===null?g:_.key)),s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return e&&h.forEach(function(e){return t(a,e)}),R&&ta(a,g),u}function _(e,r,o,c){if(typeof o==`object`&&o&&o.type===ne&&o.key===null&&o.props.ref===void 0&&(o=o.props.children),typeof o==`object`&&o){switch(o.$$typeof){case D:a:{for(var l=o.key;r!==null;){if(r.key===l){if(l=o.type,l===ne){if(r.tag===7){n(e,r.sibling),c=a(r,o.props.children),lo(c,o),c.return=e,e=c;break a}}else if(r.elementType===l||typeof l==`object`&&l&&l.$$typeof===ue&&no(l)===r.type){n(e,r.sibling),c=a(r,o.props),lo(c,o),c.return=e,e=c;break a}n(e,r);break}t(e,r),r=r.sibling}o.type===ne?(c=Bi(o.props.children,e.mode,c,o.key),lo(c,o),c.return=e,e=c):(c=zi(o.type,o.key,o.props,null,e.mode,c),lo(c,o),c.return=e,e=c)}return s(e);case O:a:{for(l=o.key;r!==null;){if(r.key===l){if(r.tag===4&&r.stateNode.containerInfo===o.containerInfo&&r.stateNode.implementation===o.implementation){n(e,r.sibling),c=a(r,o.children||[]),c.return=e,e=c;break a}n(e,r);break}t(e,r),r=r.sibling}c=Ui(o,e.mode,c),c.return=e,e=c}return s(e);case ue:return o=no(o),_(e,r,o,c)}if(be(o))return h(e,r,o,c);if(_e(o)){if(l=_e(o),typeof l!=`function`)throw Error(i(150));return o=l.call(o),g(e,r,o,c)}if(typeof o.then==`function`)return _(e,r,co(o),c);if(o.$$typeof===k)return _(e,r,Da(e,o),c);uo(e,o)}return typeof o==`string`&&o!==``||typeof o==`number`||typeof o==`bigint`?(o=``+o,r!==null&&r.tag===6?(n(e,r.sibling),c=a(r,o),c.return=e,e=c):(n(e,r),c=Vi(o,e.mode,c),c.return=e,e=c),s(e)):n(e,r)}return function(e,t,n,r){try{so=0;var i=_(e,t,n,r);return oo=null,i}catch(t){if(t===Xa||t===Qa)throw t;var a=Fi(29,t,null,e.mode);return a.lanes=r,a.return=e,a}}}var po=fo(!0),mo=fo(!1),ho=!1;function go(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function _o(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 vo(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function yo(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,$u&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,t=Mi(e),ji(e,null,n),t}return Oi(e,r,t,n),Mi(e)}function bo(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,n&4194048)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,xt(e,n)}}function xo(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,a=null;if(n=n.firstBaseUpdate,n!==null){do{var o={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};a===null?i=a=o:a=a.next=o,n=n.next}while(n!==null);a===null?i=a=t:a=a.next=t}else i=a=t;n={baseState:r.baseState,firstBaseUpdate:i,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 So=!1;function Co(){if(So){var e=Va;if(e!==null)throw e}}function B(e,t,n,r){So=!1;var i=e.updateQueue;ho=!1;var a=i.firstBaseUpdate,o=i.lastBaseUpdate,s=i.shared.pending;if(s!==null){i.shared.pending=null;var c=s,l=c.next;c.next=null,o===null?a=l:o.next=l,o=c;var u=e.alternate;u!==null&&(u=u.updateQueue,s=u.lastBaseUpdate,s!==o&&(s===null?u.firstBaseUpdate=l:s.next=l,u.lastBaseUpdate=c))}if(a!==null){var d=i.baseState;o=0,u=l=c=null,s=a;do{var f=s.lane&-536870913,p=f!==s.lane;if(p?(J&f)===f:(r&f)===f){f!==0&&f===Ba&&(So=!0),u!==null&&(u=u.next={lane:0,tag:s.tag,payload:s.payload,callback:null,next:null});a:{var m=e,h=s;f=t;var g=n;switch(h.tag){case 1:if(m=h.payload,typeof m==`function`){d=m.call(g,d,f);break a}d=m;break a;case 3:m.flags=m.flags&-65537|128;case 0:if(m=h.payload,f=typeof m==`function`?m.call(g,d,f):m,f==null)break a;d=E({},d,f);break a;case 2:ho=!0}}f=s.callback,f!==null&&(e.flags|=64,p&&(e.flags|=8192),p=i.callbacks,p===null?i.callbacks=[f]:p.push(f))}else p={lane:f,tag:s.tag,payload:s.payload,callback:s.callback,next:null},u===null?(l=u=p,c=d):u=u.next=p,o|=f;if(s=s.next,s===null){if(s=i.shared.pending,s===null)break;p=s,s=p.next,p.next=null,i.lastBaseUpdate=p,i.shared.pending=null}}while(1);u===null&&(c=d),i.baseState=c,i.firstBaseUpdate=l,i.lastBaseUpdate=u,a===null&&(i.shared.lanes=0),sd|=o,e.lanes=o,e.memoizedState=d}}function wo(e,t){if(typeof e!=`function`)throw Error(i(191,e));e.call(t)}function To(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;e<n.length;e++)wo(n[e],t)}var Eo=we(null),Do=we(0);function Oo(e,t){e=ad,Ee(Do,e),Ee(Eo,t),ad=e|t.baseLanes}function ko(){Ee(Do,ad),Ee(Eo,Eo.current)}function Ao(){ad=Do.current,Te(Eo),Te(Do)}var jo=we(null),Mo=null;function No(e){var t=e.alternate;Ee(Ro,Ro.current&1),Ee(jo,e),Mo===null&&(t===null||Eo.current!==null||t.memoizedState!==null)&&(Mo=e)}function Po(e){Ee(Ro,Ro.current),Ee(jo,e),Mo===null&&(Mo=e)}function Fo(e){e.tag===22?(Ee(Ro,Ro.current),Ee(jo,e),Mo===null&&(Mo=e)):Io()}function Io(){Ee(Ro,Ro.current),Ee(jo,jo.current)}function Lo(e){Te(jo),Mo===e&&(Mo=null),Te(Ro)}var Ro=we(0);function zo(e,t){Ee(jo,jo.current),Ee(Ro,t)}function Bo(e){Te(Ro),Te(jo),Mo===e&&(Mo=null)}function Vo(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||om(n)||sm(n)))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==`independent`){if(t.flags&128)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 Ho=0,V=null,Uo=null,Wo=null,Go=!1,Ko=!1,qo=!1,Jo=0,Yo=0,Xo=null,Zo=0;function Qo(){throw Error(i(321))}function $o(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 es(e,t,n,r,i,a){return Ho=a,V=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,A.H=e===null||e.memoizedState===null?_c:vc,qo=!1,a=n(r,i),qo=!1,Ko&&(a=ns(t,n,r,i)),ts(e),a}function ts(e){A.H=gc;var t=Uo!==null&&Uo.next!==null;if(Ho=0,Wo=Uo=V=null,Go=!1,Yo=0,Xo=null,t)throw Error(i(300));e===null||Fc||(e=e.dependencies,e!==null&&wa(e)&&(Fc=!0))}function ns(e,t,n,r){V=e;var a=0;do{if(Ko&&(Xo=null),Yo=0,Ko=!1,25<=a)throw Error(i(301));if(a+=1,Wo=Uo=null,e.updateQueue!=null){var o=e.updateQueue;o.lastEffect=null,o.events=null,o.stores=null,o.memoCache!=null&&(o.memoCache.index=0)}A.H=yc,o=t(n,r)}while(Ko);return o}function rs(){var e=A.H,t=e.useState()[0];return t=typeof t.then==`function`?us(t):t,e=e.useState()[0],(Uo===null?null:Uo.memoizedState)!==e&&(V.flags|=1024),t}function is(){var e=Jo!==0;return Jo=0,e}function as(e,t,n){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~n}function os(e){if(Go){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}Go=!1}Ho=0,Wo=Uo=V=null,Ko=!1,Yo=Jo=0,Xo=null}function ss(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Wo===null?V.memoizedState=Wo=e:Wo=Wo.next=e,Wo}function cs(){if(Uo===null){var e=V.alternate;e=e===null?null:e.memoizedState}else e=Uo.next;var t=Wo===null?V.memoizedState:Wo.next;if(t!==null)Wo=t,Uo=e;else{if(e===null)throw V.alternate===null?Error(i(467)):Error(i(310));Uo=e,e={memoizedState:Uo.memoizedState,baseState:Uo.baseState,baseQueue:Uo.baseQueue,queue:Uo.queue,next:null},Wo===null?V.memoizedState=Wo=e:Wo=Wo.next=e}return Wo}function ls(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function us(e){var t=Yo;return Yo+=1,Xo===null&&(Xo=[]),e=to(Xo,e,t),t=V,(Wo===null?t.memoizedState:Wo.next)===null&&(t=t.alternate,A.H=t===null||t.memoizedState===null?_c:vc),e}function ds(e){if(typeof e==`object`&&e){if(typeof e.then==`function`)return us(e);if(e.$$typeof===he)return;if(e.$$typeof===k)return Ea(e)}throw Error(i(438,String(e)))}function fs(e){var t=null,n=V.updateQueue;if(n!==null&&(t=n.memoCache),t==null){var r=V.alternate;r!==null&&(r=r.updateQueue,r!==null&&(r=r.memoCache,r!=null&&(t={data:r.data.map(function(e){return e.slice()}),index:0})))}if(t??={data:[],index:0},n===null&&(n=ls(),V.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]=pe;return t.index++,n}function ps(e,t){return typeof t==`function`?t(e):t}function ms(e){return hs(cs(),Uo,e)}function hs(e,t,n){var r=e.queue;if(r===null)throw Error(i(311));r.lastRenderedReducer=n;var a=e.baseQueue,o=r.pending;if(o!==null){if(a!==null){var s=a.next;a.next=o.next,o.next=s}t.baseQueue=a=o,r.pending=null}if(o=e.baseState,a===null)e.memoizedState=o;else{t=a.next;var c=s=null,l=null,u=t,d=!1;do{var f=u.lane&-536870913;if(f===u.lane?(Ho&f)===f:(J&f)===f){var p=u.revertLane;if(p===0)l!==null&&(l=l.next={lane:0,revertLane:0,gesture:null,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null}),f===Ba&&(d=!0);else if((Ho&p)===p){u=u.next,p===Ba&&(d=!0);continue}else f={lane:0,revertLane:u.revertLane,gesture:null,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null},l===null?(c=l=f,s=o):l=l.next=f,V.lanes|=p,sd|=p;f=u.action,qo&&n(o,f),o=u.hasEagerState?u.eagerState:n(o,f)}else p={lane:f,revertLane:u.revertLane,gesture:u.gesture,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null},l===null?(c=l=p,s=o):l=l.next=p,V.lanes|=f,sd|=f;u=u.next}while(u!==null&&u!==t);if(l===null?s=o:l.next=c,!Kr(o,e.memoizedState)&&(Fc=!0,d&&(n=Va,n!==null)))throw n;e.memoizedState=o,e.baseState=s,e.baseQueue=l,r.lastRenderedState=o}return a===null&&(r.lanes=0),[e.memoizedState,r.dispatch]}function gs(e){var t=cs(),n=t.queue;if(n===null)throw Error(i(311));n.lastRenderedReducer=e;var r=n.dispatch,a=n.pending,o=t.memoizedState;if(a!==null){n.pending=null;var s=a=a.next;do o=e(o,s.action),s=s.next;while(s!==a);Kr(o,t.memoizedState)||(Fc=!0),t.memoizedState=o,t.baseQueue===null&&(t.baseState=o),n.lastRenderedState=o}return[o,r]}function _s(e,t,n){var r=V,a=cs(),o=R;if(o){if(n===void 0)throw Error(i(407));n=n()}else n=t();var s=!Kr((Uo||a).memoizedState,n);if(s&&(a.memoizedState=n,Fc=!0),a=a.queue,Hs(bs.bind(null,r,a,e),[e]),e=a.getSnapshot!==t||s||Wo!==null&&!!(Wo.memoizedState.tag&1),Ls(e?9:8,{destroy:void 0},ys.bind(null,r,a,n,t),null),e){if(r.flags|=2048,ed===null)throw Error(i(349));o||Ho&127||vs(r,t,n)}return n}function vs(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=V.updateQueue,t===null?(t=ls(),V.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function ys(e,t,n,r){t.value=n,t.getSnapshot=r,xs(t)&&Ss(e)}function bs(e,t,n){return n(function(){xs(t)&&Ss(e)})}function xs(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!Kr(e,n)}catch{return!0}}function Ss(e){var t=Ai(e,2);t!==null&&Fd(t,e,2)}function Cs(e){var t=ss();if(typeof e==`function`){var n=e;if(e=n(),qo){it(!0);try{n()}finally{it(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:ps,lastRenderedState:e},t}function ws(e,t,n,r){return e.baseState=n,hs(e,Uo,typeof r==`function`?r:ps)}function Ts(e,t,n,r,a){if(pc(e))throw Error(i(485));if(e=t.action,e!==null){var o={payload:a,action:e,next:null,isTransition:!0,status:`pending`,value:null,reason:null,listeners:[],then:function(e){o.listeners.push(e)}};A.T===null?o.isTransition=!1:n(!0),r(o),n=t.pending,n===null?(o.next=t.pending=o,Es(t,o)):(o.next=n.next,t.pending=n.next=o)}}function Es(e,t){var n=t.action,r=t.payload,i=e.state;if(t.isTransition){var a=A.T,o={};o.types=a===null?null:a.types,A.T=o;try{var s=n(i,r),c=A.S;c!==null&&c(o,s),Ds(e,t,s)}catch(n){ks(e,t,n)}finally{a!==null&&o.types!==null&&(a.types=o.types),A.T=a}}else try{a=n(i,r),Ds(e,t,a)}catch(n){ks(e,t,n)}}function Ds(e,t,n){typeof n==`object`&&n&&typeof n.then==`function`?n.then(function(n){Os(e,t,n)},function(n){return ks(e,t,n)}):Os(e,t,n)}function Os(e,t,n){t.status=`fulfilled`,t.value=n,As(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 ks(e,t,n){var r=e.pending;if(e.pending=null,r!==null){r=r.next;do t.status=`rejected`,t.reason=n,As(t),t=t.next;while(t!==r)}e.action=null}function As(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function js(e,t){return t}function Ms(e,t){if(R){var n=ed.formState;if(n!==null){a:{var r=V;if(R){if(L){b:{for(var i=L,a=ca;i.nodeType!==8;){if(!a){i=null;break b}if(i=lm(i.nextSibling),i===null){i=null;break b}}a=i.data,i=a===`F!`||a===`F`?i:null}if(i){L=lm(i.nextSibling),r=i.data===`F!`;break a}}ua(r)}r=!1}r&&(t=n[0])}}return n=ss(),n.memoizedState=n.baseState=t,r={pending:null,lanes:0,dispatch:null,lastRenderedReducer:js,lastRenderedState:t},n.queue=r,n=uc.bind(null,V,r),r.dispatch=n,r=Cs(!1),a=fc.bind(null,V,!1,r.queue),r=ss(),i={state:t,dispatch:null,action:e,pending:null},r.queue=i,n=Ts.bind(null,V,i,a,n),i.dispatch=n,r.memoizedState=e,[t,n,!1]}function Ns(e){return Ps(cs(),Uo,e)}function Ps(e,t,n){if(t=hs(e,t,js)[0],e=ms(ps)[0],typeof t==`object`&&t&&typeof t.then==`function`)try{var r=us(t)}catch(e){throw e===Xa?Qa:e}else r=t;t=cs();var i=t.queue,a=i.dispatch;return n!==t.memoizedState&&(V.flags|=2048,Ls(9,{destroy:void 0},Fs.bind(null,i,n),null)),[r,a,e]}function Fs(e,t){e.action=t}function Is(e){var t=cs(),n=Uo;if(n!==null)return Ps(t,n,e);cs(),t=t.memoizedState,n=cs();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=V.updateQueue,t===null&&(t=ls(),V.updateQueue=t),n=t.lastEffect,n===null?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e),e}function Rs(){return cs().memoizedState}function zs(e,t,n,r){var i=ss();V.flags|=e,i.memoizedState=Ls(1|t,{destroy:void 0},n,r===void 0?null:r)}function Bs(e,t,n,r){var i=cs();r=r===void 0?null:r;var a=i.memoizedState.inst;Uo!==null&&r!==null&&$o(r,Uo.memoizedState.deps)?i.memoizedState=Ls(t,a,n,r):(V.flags|=e,i.memoizedState=Ls(1|t,a,n,r))}function Vs(e,t){zs(8390656,8,e,t)}function Hs(e,t){Bs(2048,8,e,t)}function Us(e){V.flags|=4;var t=V.updateQueue;if(t===null)t=ls(),V.updateQueue=t,t.events=[e];else{var n=t.events;n===null?t.events=[e]:n.push(e)}}function Ws(e){var t=cs().memoizedState;return Us({ref:t,nextImpl:e}),function(){if($u&2)throw Error(i(440));return t.impl.apply(void 0,arguments)}}function Gs(e,t){return Bs(4,2,e,t)}function Ks(e,t){return Bs(4,4,e,t)}function qs(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 Js(e,t,n){n=n==null?null:n.concat([e]),Bs(4,4,qs.bind(null,t,e),n)}function Ys(){}function Xs(e,t){var n=cs();t=t===void 0?null:t;var r=n.memoizedState;return t!==null&&$o(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function Zs(e,t){var n=cs();t=t===void 0?null:t;var r=n.memoizedState;if(t!==null&&$o(t,r[1]))return r[0];if(r=e(),qo){it(!0);try{e()}finally{it(!1)}}return n.memoizedState=[r,t],r}function Qs(e,t,n){return n===void 0||Ho&1073741824&&!(J&261930)?e.memoizedState=t:(e.memoizedState=n,e=Nd(),V.lanes|=e,sd|=e,n)}function $s(e,t,n,r){return Kr(n,t)?n:Eo.current===null?!(Ho&106)||Ho&1073741824&&!(J&261930)?(Fc=!0,e.memoizedState=n):(e=Nd(),V.lanes|=e,sd|=e,t):(e=Qs(e,n,r),Kr(e,t)||(Fc=!0),e)}function ec(e,t,n,r,i){var a=j.p;j.p=a!==0&&8>a?a:8;var o=A.T,s={};s.types=o===null?null:o.types,A.T=s,fc(e,!1,t,n);try{var c=i(),l=A.S;l!==null&&l(s,c),typeof c==`object`&&c&&typeof c.then==`function`?dc(e,t,Wa(c,r),Md(e)):dc(e,t,r,Md(e))}catch(n){dc(e,t,{then:function(){},status:`rejected`,reason:n},Md())}finally{j.p=a,o!==null&&s.types!==null&&(o.types=s.types),A.T=o}}function tc(){}function nc(e,t,n,r){if(e.tag!==5)throw Error(i(476));var a=rc(e).queue;ec(e,a,t,xe,n===null?tc:function(){return ic(e),n(r)})}function rc(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:xe,baseState:xe,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ps,lastRenderedState:xe},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ps,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function ic(e){var t=rc(e);t.next===null&&(t=e.alternate.memoizedState),dc(e,t.next.queue,{},Md())}function ac(){return Ea(sh)}function oc(){return cs().memoizedState}function sc(){return cs().memoizedState}function cc(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=Md();e=vo(n);var r=yo(t,e,n);r!==null&&(Fd(r,t,n),bo(r,t,n)),t={cache:Na()},e.payload=t;return}t=t.return}}function lc(e,t,n){var r=Md();n={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},pc(e)?mc(t,n):(n=ki(e,t,n,r),n!==null&&(Fd(n,e,r),hc(n,t,r)))}function uc(e,t,n){dc(e,t,n,Md())}function dc(e,t,n,r){var i={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(pc(e))mc(t,i);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var o=t.lastRenderedState,s=a(o,n);if(i.hasEagerState=!0,i.eagerState=s,Kr(s,o))return Oi(e,t,i,0),ed===null&&Di(),!1}catch{}if(n=ki(e,t,i,r),n!==null)return Fd(n,e,r),hc(n,t,r),!0}return!1}function fc(e,t,n,r){if(r={lane:2,revertLane:Ff(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},pc(e)){if(t)throw Error(i(479))}else t=ki(e,n,r,2),t!==null&&Fd(t,e,2)}function pc(e){var t=e.alternate;return e===V||t!==null&&t===V}function mc(e,t){Ko=Go=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function hc(e,t,n){if(n&4194048){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,xt(e,n)}}var gc={readContext:Ea,use:ds,useCallback:Qo,useContext:Qo,useEffect:Qo,useImperativeHandle:Qo,useLayoutEffect:Qo,useInsertionEffect:Qo,useMemo:Qo,useReducer:Qo,useRef:Qo,useState:Qo,useDebugValue:Qo,useDeferredValue:Qo,useTransition:Qo,useSyncExternalStore:Qo,useId:Qo,useHostTransitionStatus:Qo,useFormState:Qo,useActionState:Qo,useOptimistic:Qo,useMemoCache:Qo,useCacheRefresh:Qo,useEffectEvent:Qo},_c={readContext:Ea,use:ds,useCallback:function(e,t){return ss().memoizedState=[e,t===void 0?null:t],e},useContext:Ea,useEffect:Vs,useImperativeHandle:function(e,t,n){n=n==null?null:n.concat([e]),zs(4194308,4,qs.bind(null,t,e),n)},useLayoutEffect:function(e,t){return zs(4194308,4,e,t)},useInsertionEffect:function(e,t){zs(4,2,e,t)},useMemo:function(e,t){var n=ss();t=t===void 0?null:t;var r=e();if(qo){it(!0);try{e()}finally{it(!1)}}return n.memoizedState=[r,t],r},useReducer:function(e,t,n){var r=ss();if(n!==void 0){var i=n(t);if(qo){it(!0);try{n(t)}finally{it(!1)}}}else i=t;return r.memoizedState=r.baseState=i,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:i},r.queue=e,e=e.dispatch=lc.bind(null,V,e),[r.memoizedState,e]},useRef:function(e){var t=ss();return e={current:e},t.memoizedState=e},useState:function(e){e=Cs(e);var t=e.queue,n=uc.bind(null,V,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:Ys,useDeferredValue:function(e,t){return Qs(ss(),e,t)},useTransition:function(){var e=Cs(!1);return e=ec.bind(null,V,e.queue,!0,!1),ss().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var r=V,a=ss();if(R){if(n===void 0)throw Error(i(407));n=n()}else{if(n=t(),ed===null)throw Error(i(349));J&127||vs(r,t,n)}a.memoizedState=n;var o={value:n,getSnapshot:t};return a.queue=o,Vs(bs.bind(null,r,o,e),[e]),r.flags|=2048,Ls(9,{destroy:void 0},ys.bind(null,r,o,n,t),null),n},useId:function(){var e=ss(),t=ed.identifierPrefix;if(R){var n=ea,r=$i;n=(r&~(1<<32-at(r)-1)).toString(32)+n,t=`_`+t+`R_`+n,n=Jo++,0<n&&(t+=`H`+n.toString(32)),t+=`_`}else n=Zo++,t=`_`+t+`r_`+n.toString(32)+`_`;return e.memoizedState=t},useHostTransitionStatus:ac,useFormState:Ms,useActionState:Ms,useOptimistic:function(e){var t=ss();t.memoizedState=t.baseState=e;var n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=n,t=fc.bind(null,V,!0,n),n.dispatch=t,[e,t]},useMemoCache:fs,useCacheRefresh:function(){return ss().memoizedState=cc.bind(null,V)},useEffectEvent:function(e){var t=ss(),n={impl:e};return t.memoizedState=n,function(){if($u&2)throw Error(i(440));return n.impl.apply(void 0,arguments)}}},vc={readContext:Ea,use:ds,useCallback:Xs,useContext:Ea,useEffect:Hs,useImperativeHandle:Js,useInsertionEffect:Gs,useLayoutEffect:Ks,useMemo:Zs,useReducer:ms,useRef:Rs,useState:function(){return ms(ps)},useDebugValue:Ys,useDeferredValue:function(e,t){return $s(cs(),Uo.memoizedState,e,t)},useTransition:function(){var e=ms(ps)[0],t=cs().memoizedState;return[typeof e==`boolean`?e:us(e),t]},useSyncExternalStore:_s,useId:oc,useHostTransitionStatus:ac,useFormState:Ns,useActionState:Ns,useOptimistic:function(e,t){return ws(cs(),Uo,e,t)},useMemoCache:fs,useCacheRefresh:sc,useEffectEvent:Ws},yc={readContext:Ea,use:ds,useCallback:Xs,useContext:Ea,useEffect:Hs,useImperativeHandle:Js,useInsertionEffect:Gs,useLayoutEffect:Ks,useMemo:Zs,useReducer:gs,useRef:Rs,useState:function(){return gs(ps)},useDebugValue:Ys,useDeferredValue:function(e,t){var n=cs();return Uo===null?Qs(n,e,t):$s(n,Uo.memoizedState,e,t)},useTransition:function(){var e=gs(ps)[0],t=cs().memoizedState;return[typeof e==`boolean`?e:us(e),t]},useSyncExternalStore:_s,useId:oc,useHostTransitionStatus:ac,useFormState:Is,useActionState:Is,useOptimistic:function(e,t){var n=cs();return Uo===null?(n.baseState=e,[e,n.queue.dispatch]):ws(n,Uo,e,t)},useMemoCache:fs,useCacheRefresh:sc,useEffectEvent:Ws};function bc(e,t,n,r){t=e.memoizedState,n=n(r,t),n=n==null?t:E({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var xc={enqueueSetState:function(e,t,n){e=e._reactInternals;var r=Md(),i=vo(r);i.payload=t,n!=null&&(i.callback=n),t=yo(e,i,r),t!==null&&(Fd(t,e,r),bo(t,e,r))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=Md(),i=vo(r);i.tag=1,i.payload=t,n!=null&&(i.callback=n),t=yo(e,i,r),t!==null&&(Fd(t,e,r),bo(t,e,r))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=Md(),r=vo(n);r.tag=2,t!=null&&(r.callback=t),t=yo(e,r,n),t!==null&&(Fd(t,e,n),bo(t,e,n))}};function Sc(e,t,n,r,i,a,o){return e=e.stateNode,typeof e.shouldComponentUpdate==`function`?e.shouldComponentUpdate(r,a,o):t.prototype&&t.prototype.isPureReactComponent?!qr(n,r)||!qr(i,a):!0}function Cc(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&&xc.enqueueReplaceState(t,t.state,null)}function wc(e,t){var n=t;if(`ref`in t)for(var r in n={},t)r!==`ref`&&(n[r]=t[r]);if(e=e.defaultProps)for(var i in n===t&&(n=E({},n)),e)n[i]===void 0&&(n[i]=e[i]);return n}function Tc(e){Ci(e)}function Ec(e){console.error(e)}function Dc(e){Ci(e)}function Oc(e,t){try{var n=e.onUncaughtError;n(t.value,{componentStack:t.stack})}catch(e){setTimeout(function(){throw e})}}function kc(e,t,n){try{var r=e.onCaughtError;r(n.value,{componentStack:n.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(e){setTimeout(function(){throw e})}}function Ac(e,t,n){return n=vo(n),n.tag=3,n.payload={element:null},n.callback=function(){Oc(e,t)},n}function jc(e){return e=vo(e),e.tag=3,e}function Mc(e,t,n,r){var i=n.type.getDerivedStateFromError;if(typeof i==`function`){var a=r.value;e.payload=function(){return i(a)},e.callback=function(){kc(t,n,r)}}var o=n.stateNode;o!==null&&typeof o.componentDidCatch==`function`&&(e.callback=function(){kc(t,n,r),typeof i!=`function`&&(yd===null?yd=new Set([this]):yd.add(this));var e=r.stack;this.componentDidCatch(r.value,{componentStack:e===null?``:e})})}function Nc(e,t,n,r,a){if(n.flags|=32768,typeof r==`object`&&r&&typeof r.then==`function`){if(t=n.alternate,t!==null&&Ca(t,n,a,!0),n=jo.current,n!==null){switch(n.tag){case 31:case 13:case 19:return Mo===null?qd():n.alternate===null&&od===0&&(od=3),n.flags&=-257,n.flags|=65536,n.lanes=a,r===$a?n.flags|=16384:(t=n.updateQueue,t===null?n.updateQueue=new Set([r]):t.add(r),gf(e,r,a)),!1;case 22:return n.flags|=65536,r===$a?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)),gf(e,r,a)),!1}throw Error(i(435,n.tag))}return gf(e,r,a),qd(),!1}if(R)return t=jo.current,t===null?(r!==la&&(t=Error(i(423),{cause:r}),ha(Gi(t,n))),e=e.current.alternate,e.flags|=65536,a&=-a,e.lanes|=a,r=Gi(r,n),a=Ac(e.stateNode,r,a),xo(e,a),od!==4&&(od=2)):(!(t.flags&65536)&&(t.flags|=256),t.flags|=65536,t.lanes=a,r!==la&&(e=Error(i(422),{cause:r}),ha(Gi(e,n)))),!1;var o=Error(i(520),{cause:r});if(o=Gi(o,n),fd===null?fd=[o]:fd.push(o),od!==4&&(od=2),t===null)return!0;r=Gi(r,n),n=t;do{switch(n.tag){case 3:return n.flags|=65536,e=a&-a,n.lanes|=e,e=Ac(n.stateNode,r,e),xo(n,e),!1;case 1:if(t=n.type,o=n.stateNode,!(n.flags&128)&&(typeof t.getDerivedStateFromError==`function`||o!==null&&typeof o.componentDidCatch==`function`&&(yd===null||!yd.has(o))))return n.flags|=65536,a&=-a,n.lanes|=a,a=jc(a),Mc(a,e,n,r),xo(n,a),!1;break;case 22:if(n.memoizedState!==null)return n.flags|=65536,!1}n=n.return}while(n!==null);return!1}var Pc=Error(i(461)),Fc=!1;function Ic(e,t,n,r){t.child=e===null?mo(t,null,n,r):po(t,e.child,n,r)}function Lc(e,t,n,r,i){n=n.render;var a=t.ref;if(`ref`in r){var o={};for(var s in r)s!==`ref`&&(o[s]=r[s])}else o=r;return Ta(t),r=es(e,t,n,o,a,i),s=is(),e!==null&&!Fc?(as(e,t,i),dl(e,t,i)):(R&&s&&ra(t),t.flags|=1,Ic(e,t,r,i),t.child)}function Rc(e,t,n,r,i){if(e===null){var a=n.type;return typeof a==`function`&&!Ii(a)&&a.defaultProps===void 0&&n.compare===null?(t.tag=15,t.type=a,zc(e,t,a,r,i)):(e=zi(n.type,null,r,t,t.mode,i),e.ref=t.ref,e.return=t,t.child=e)}if(a=e.child,!fl(e,i)){var o=a.memoizedProps;if(n=n.compare,n=n===null?qr:n,n(o,r)&&e.ref===t.ref)return dl(e,t,i)}return t.flags|=1,e=Li(a,r),e.ref=t.ref,e.return=t,t.child=e}function zc(e,t,n,r,i){if(e!==null){var a=e.memoizedProps;if(qr(a,r)&&e.ref===t.ref){if(Fc=!1,t.pendingProps=r=a,fl(e,i))e.flags&131072&&(Fc=!0);else return t.lanes=e.lanes,dl(e,t,i)}}return qc(e,t,n,r,i)}function Bc(e,t,n,r){var i=r.children,a=e===null?null:e.memoizedState;if(e===null&&t.stateNode===null&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),r.mode===`hidden`){if(t.flags&128){if(a=a===null?n:a.baseLanes|n,e!==null){for(r=t.child=e.child,i=0;r!==null;)i=i|r.lanes|r.childLanes,r=r.sibling;r=i&~a}else r=0,t.child=null;return Hc(e,t,a,n,r)}if(n&536870912)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&Ja(t,a===null?null:a.cachePool),a===null?ko():Oo(t,a),Fo(t);else return r=t.lanes=536870912,Hc(e,t,a===null?n:a.baseLanes|n,n,r)}else a===null?(e!==null&&Ja(t,null),ko(),Io()):(Ja(t,a.cachePool),Oo(t,a),Io(),t.memoizedState=null);return Ic(e,t,i,n),t.child}function Vc(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function Hc(e,t,n,r,i){var a=qa();return a=a===null?null:{parent:Ma._currentValue,pool:a},t.memoizedState={baseLanes:n,cachePool:a},e!==null&&Ja(t,null),ko(),Fo(t),e!==null&&Ca(e,t,r,!0),t.childLanes=i,null}function Uc(e,t){return t=nl({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function Wc(e,t,n){return po(t,e.child,null,n),e=Uc(t,t.pendingProps),e.flags|=2,Lo(t),t.memoizedState=null,e}function Gc(e,t,n){var r=t.pendingProps,a=!!(t.flags&128);if(t.flags&=-129,e===null){if(R){if(r.mode===`hidden`)return e=Uc(t,r),t.lanes=536870912,e.memoizedState={baseLanes:0,cachePool:null},Vc(null,e);if(Po(t),(e=L)?(e=am(e,ca),e=e!==null&&e.data===`&`?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:Qi===null?null:{id:$i,overflow:ea},retryLane:536870912,hydrationErrors:null},n=Hi(e),n.return=t,t.child=n,oa=t,L=null)):e=null,e===null)throw ua(t);return t.lanes=536870912,null}return Uc(t,r)}var o=e.memoizedState;if(o!==null){var s=o.dehydrated;if(Po(t),a){if(t.flags&256)t.flags&=-257,t=Wc(e,t,n);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(i(558))}else if(Fc||Ca(e,t,n,!1),a=(n&e.childLanes)!==0,Fc||a){if(Eo.current===null){if(r=ed,r!==null&&(s=St(r,n),s!==0&&s!==o.retryLane))throw o.retryLane=s,Ai(e,s),Fd(r,e,s),Pc;qd()}t=Wc(e,t,n)}else e=o.treeContext,L=lm(s.nextSibling),oa=t,R=!0,sa=null,ca=!1,e!==null&&aa(t,e),t=Uc(t,r),t.flags|=134221824;return t}return e=Li(e.child,{mode:r.mode,children:r.children}),e.ref=t.ref,t.child=e,e.return=t,e}function Kc(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(i(284));(e===null||e.ref!==n)&&(t.flags|=4194816)}}function qc(e,t,n,r,i){return Ta(t),n=es(e,t,n,r,void 0,i),r=is(),e!==null&&!Fc?(as(e,t,i),dl(e,t,i)):(R&&r&&ra(t),t.flags|=1,Ic(e,t,n,i),t.child)}function Jc(e,t,n,r,i,a){return Ta(t),t.updateQueue=null,n=ns(t,r,n,i),ts(e),r=is(),e!==null&&!Fc?(as(e,t,a),dl(e,t,a)):(R&&r&&ra(t),t.flags|=1,Ic(e,t,n,a),t.child)}function Yc(e,t,n,r,i){if(Ta(t),t.stateNode===null){var a=Ni,o=n.contextType;typeof o==`object`&&o&&(a=Ea(o)),a=new n(r,a),t.memoizedState=a.state!==null&&a.state!==void 0?a.state:null,a.updater=xc,t.stateNode=a,a._reactInternals=t,a=t.stateNode,a.props=r,a.state=t.memoizedState,a.refs={},go(t),o=n.contextType,a.context=typeof o==`object`&&o?Ea(o):Ni,a.state=t.memoizedState,o=n.getDerivedStateFromProps,typeof o==`function`&&(bc(t,n,o,r),a.state=t.memoizedState),typeof n.getDerivedStateFromProps==`function`||typeof a.getSnapshotBeforeUpdate==`function`||typeof a.UNSAFE_componentWillMount!=`function`&&typeof a.componentWillMount!=`function`||(o=a.state,typeof a.componentWillMount==`function`&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount==`function`&&a.UNSAFE_componentWillMount(),o!==a.state&&xc.enqueueReplaceState(a,a.state,null),B(t,r,a,i),Co(),a.state=t.memoizedState),typeof a.componentDidMount==`function`&&(t.flags|=4194308),r=!0}else if(e===null){a=t.stateNode;var s=t.memoizedProps,c=wc(n,s);a.props=c;var l=a.context,u=n.contextType;o=Ni,typeof u==`object`&&u&&(o=Ea(u));var d=n.getDerivedStateFromProps;u=typeof d==`function`||typeof a.getSnapshotBeforeUpdate==`function`,s=t.pendingProps!==s,u||typeof a.UNSAFE_componentWillReceiveProps!=`function`&&typeof a.componentWillReceiveProps!=`function`||(s||l!==o)&&Cc(t,a,r,o),ho=!1;var f=t.memoizedState;a.state=f,B(t,r,a,i),Co(),l=t.memoizedState,s||f!==l||ho?(typeof d==`function`&&(bc(t,n,d,r),l=t.memoizedState),(c=ho||Sc(t,n,c,r,f,l,o))?(u||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=l),a.props=r,a.state=l,a.context=o,r=c):(typeof a.componentDidMount==`function`&&(t.flags|=4194308),r=!1)}else{a=t.stateNode,_o(e,t),o=t.memoizedProps,u=wc(n,o),a.props=u,d=t.pendingProps,f=a.context,l=n.contextType,c=Ni,typeof l==`object`&&l&&(c=Ea(l)),s=n.getDerivedStateFromProps,(l=typeof s==`function`||typeof a.getSnapshotBeforeUpdate==`function`)||typeof a.UNSAFE_componentWillReceiveProps!=`function`&&typeof a.componentWillReceiveProps!=`function`||(o!==d||f!==c)&&Cc(t,a,r,c),ho=!1,f=t.memoizedState,a.state=f,B(t,r,a,i),Co();var p=t.memoizedState;o!==d||f!==p||ho||e!==null&&e.dependencies!==null&&wa(e.dependencies)?(typeof s==`function`&&(bc(t,n,s,r),p=t.memoizedState),(u=ho||Sc(t,n,u,r,f,p,c)||e!==null&&e.dependencies!==null&&wa(e.dependencies))?(l||typeof a.UNSAFE_componentWillUpdate!=`function`&&typeof a.componentWillUpdate!=`function`||(typeof a.componentWillUpdate==`function`&&a.componentWillUpdate(r,p,c),typeof a.UNSAFE_componentWillUpdate==`function`&&a.UNSAFE_componentWillUpdate(r,p,c)),typeof a.componentDidUpdate==`function`&&(t.flags|=4),typeof a.getSnapshotBeforeUpdate==`function`&&(t.flags|=1024)):(typeof a.componentDidUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=p),a.props=r,a.state=p,a.context=c,r=u):(typeof a.componentDidUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),r=!1)}return a=r,Kc(e,t),r=!!(t.flags&128),a||r?(a=t.stateNode,n=r&&typeof n.getDerivedStateFromError!=`function`?null:a.render(),t.flags|=1,e!==null&&r?(t.child=po(t,e.child,null,i),t.child=po(t,null,n,i)):Ic(e,t,n,i),t.memoizedState=a.state,e=t.child):e=dl(e,t,i),e}function Xc(e,t,n,r){return z(),t.flags|=256,Ic(e,t,n,r),t.child}var Zc={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function Qc(e){return{baseLanes:e,cachePool:Ya()}}function $c(e,t,n){return e=e===null?0:e.childLanes&~n,t&&(e|=ud),e}function el(e,t,n){var r=t.pendingProps,i=!1,a=!!(t.flags&128),o;if((o=a)||(o=e!==null&&e.memoizedState===null?!1:!!(Ro.current&2)),o&&(i=!0,t.flags&=-129),o=!!(t.flags&32),t.flags&=-33,e===null){if(R){if(i?No(t):Io(),(e=L)?(e=am(e,ca),e=e!==null&&e.data!==`&`?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:Qi===null?null:{id:$i,overflow:ea},retryLane:536870912,hydrationErrors:null},n=Hi(e),n.return=t,t.child=n,oa=t,L=null)):e=null,e===null)throw ua(t);return t.lanes=sm(e)?32:536870912,null}return a=r.children,r=r.fallback,i?(Io(),i=t.mode,a=nl({mode:`hidden`,children:a},i),r=Bi(r,i,n,null),a.return=t,r.return=t,a.sibling=r,t.child=a,r=t.child,r.memoizedState=Qc(n),r.childLanes=$c(e,o,n),t.memoizedState=Zc,Vc(null,r)):(No(t),tl(t,a))}var s=e.memoizedState;if(s!==null){var c=s.dehydrated;if(c!==null)return il(e,t,a,o,r,c,s,n)}return i?(Io(),i=r.fallback,a=t.mode,s=e.child,c=s.sibling,r=Li(s,{mode:`hidden`,children:r.children}),r.subtreeFlags=s.subtreeFlags&1206910976,c===null?(i=Bi(i,a,n,null),i.flags|=2):i=Li(c,i),i.return=t,r.return=t,r.sibling=i,t.child=r,Vc(null,r),r=t.child,i=e.child.memoizedState,i===null?i=Qc(n):(a=i.cachePool,a===null?a=Ya():(s=Ma._currentValue,a=a.parent===s?a:{parent:s,pool:s}),i={baseLanes:i.baseLanes|n,cachePool:a}),r.memoizedState=i,r.childLanes=$c(e,o,n),t.memoizedState=Zc,Vc(e.child,r)):(No(t),n=e.child,e=n.sibling,n=Li(n,{mode:`visible`,children:r.children}),n.return=t,n.sibling=null,e!==null&&(o=t.deletions,o===null?(t.deletions=[e],t.flags|=16):o.push(e)),t.child=n,t.memoizedState=null,n)}function tl(e,t){return t=nl({mode:`visible`,children:t},e.mode),t.return=e,e.child=t}function nl(e,t){return e=Fi(22,e,null,t),e.lanes=0,e}function rl(e,t,n){return po(t,e.child,null,n),e=tl(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function il(e,t,n,r,a,o,s,c){if(n)return t.flags&256?(No(t),t.flags&=-257,rl(e,t,c)):t.memoizedState===null?(Io(),o=a.fallback,s=t.mode,a=nl({mode:`visible`,children:a.children},s),o=Bi(o,s,c,null),o.flags|=2,a.return=t,o.return=t,a.sibling=o,t.child=a,po(t,e.child,null,c),a=t.child,a.memoizedState=Qc(c),a.childLanes=$c(e,r,c),t.memoizedState=Zc,Vc(null,a)):(Io(),t.child=e.child,t.flags|=128,null);if(No(t),sm(o)){if(r=o.nextSibling&&o.nextSibling.dataset,r)var l=r.dgst;return r=l,r!==``&&(a=Error(i(419)),a.stack=``,a.digest=r,ha({value:a,source:null,stack:null})),rl(e,t,c)}if(Fc||Ca(e,t,c,!1),r=(c&e.childLanes)!==0,Fc||r){if(Eo.current!==null)return rl(e,t,c);if(r=ed,r!==null&&(a=St(r,c),a!==0&&a!==s.retryLane))throw s.retryLane=a,Ai(e,a),Fd(r,e,a),Pc;return om(o)||qd(),rl(e,t,c)}return om(o)?(t.flags|=192,t.child=e.child,null):(e=s.treeContext,L=lm(o.nextSibling),oa=t,R=!0,sa=null,ca=!1,e!==null&&aa(t,e),t=tl(t,a.children),t.flags|=134221824,t)}function al(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),xa(e.return,t,n)}function ol(e){for(var t=null;e!==null;){var n=e.alternate;n!==null&&Vo(n)===null&&(t=e),e=e.sibling}return t}function sl(e,t,n,r,i,a){var o=e.memoizedState;o===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:i,treeForkCount:a}:(o.isBackwards=t,o.rendering=null,o.renderingStartTime=0,o.last=r,o.tail=n,o.tailMode=i,o.treeForkCount=a)}function cl(e){var t=e.child;for(e.child=null;t!==null;){var n=t.sibling;t.sibling=e.child,e.child=t,t=n}}function ll(e,t,n){var r=t.pendingProps,i=r.revealOrder,a=r.tail;r=r.children;var o=Ro.current;if(t.flags&128)return zo(t,o),null;var s=!!(o&2);if(s?(o=o&1|2,t.flags|=128):o&=1,zo(t,o),i===`backwards`&&e!==null?(cl(e),Ic(e,t,r,n),cl(e)):Ic(e,t,r,n),r=R?Yi:0,!s&&e!==null&&e.flags&128)a:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&al(e,n,t);else if(e.tag===19)al(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break a;for(;e.sibling===null;){if(e.return===null||e.return===t)break a;e=e.return}e.sibling.return=e.return,e=e.sibling}switch(i){case`backwards`:n=ol(t.child),n===null?(i=t.child,t.child=null):(i=n.sibling,n.sibling=null,cl(t)),sl(t,!0,i,null,a,r);break;case`unstable_legacy-backwards`:for(n=null,i=t.child,t.child=null;i!==null;){if(e=i.alternate,e!==null&&Vo(e)===null){t.child=i;break}e=i.sibling,i.sibling=n,n=i,i=e}sl(t,!0,n,null,a,r);break;case`together`:sl(t,!1,null,null,void 0,r);break;case`independent`:t.memoizedState=null;break;default:n=ol(t.child),n===null?(i=t.child,t.child=null):(i=n.sibling,n.sibling=null),sl(t,!1,i,n,a,r)}return t.child}function ul(e,t,n){var r=t.pendingProps;return ya(t,t.type,r.value),Ic(e,t,r.children,n),t.child}function dl(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),sd|=t.lanes,(n&t.childLanes)===0){if(e!==null){if(Ca(e,t,n,!1),(n&t.childLanes)===0)return null}else return null}if(e!==null&&t.child!==e.child)throw Error(i(153));if(t.child!==null){for(e=t.child,n=Li(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=Li(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function fl(e,t){return(e.lanes&t)!==0||(e=e.dependencies,!!(e!==null&&wa(e)))}function pl(e,t,n){switch(t.tag){case 3:je(t,t.stateNode.containerInfo),ya(t,Ma,e.memoizedState.cache),z();break;case 27:case 5:Ne(t);break;case 4:je(t,t.stateNode.containerInfo);break;case 10:ya(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,Po(t),null;break;case 13:var r=t.memoizedState;if(r!==null){if(r.dehydrated!==null)return No(t),t.flags|=128,null;r=Ca(e,t,n,!1);var i=t.child.childLanes;return r||(n&i)!==0?el(e,t,n):(No(t),e=dl(e,t,n),e===null?null:e.sibling)}No(t);break;case 19:if(t.flags&128)return ll(e,t,n);if(i=!!(e.flags&128),r=(n&t.childLanes)!==0,r||=(Ca(e,t,n,!1),(n&t.childLanes)!==0),i){if(r)return ll(e,t,n);t.flags|=128}if(i=t.memoizedState,i!==null&&(i.rendering=null,i.tail=null,i.lastEffect=null),zo(t,Ro.current),r)break;return null;case 22:return t.lanes=0,Bc(e,t,n,t.pendingProps);case 24:ya(t,Ma,e.memoizedState.cache)}return dl(e,t,n)}function ml(e,t,n){if(e!==null){if(e.memoizedProps!==t.pendingProps)Fc=!0;else{if(!fl(e,n)&&!(t.flags&128))return Fc=!1,pl(e,t,n);Fc=!!(e.flags&131072)}}else Fc=!1,R&&t.flags&1048576&&na(t,Yi,t.index);switch(t.lanes=0,t.tag){case 16:a:{var r=t.pendingProps;if(e=no(t.elementType),t.type=e,typeof e==`function`)Ii(e)?(r=wc(e,r),t.tag=1,t=Yc(null,t,e,r,n)):(t.tag=0,t=qc(null,t,e,r,n));else{if(e!=null){var a=e.$$typeof;if(a===oe){t.tag=11,t=Lc(null,t,e,r,n);break a}if(a===le){t.tag=14,t=Rc(null,t,e,r,n);break a}if(a===k){t.tag=10,t.type=e,t=ul(null,t,n);break a}}throw t=ye(e)||e,Error(i(306,t,``))}}return t;case 0:return qc(e,t,t.type,t.pendingProps,n);case 1:return r=t.type,a=wc(r,t.pendingProps),Yc(e,t,r,a,n);case 3:a:{if(je(t,t.stateNode.containerInfo),e===null)throw Error(i(387));r=t.pendingProps;var o=t.memoizedState;a=o.element,_o(e,t),B(t,r,null,n);var s=t.memoizedState;if(r=s.cache,ya(t,Ma,r),r!==o.cache&&Sa(t,[Ma],n,!0),Co(),r=s.element,o.isDehydrated){if(o={element:r,isDehydrated:!1,cache:s.cache},t.updateQueue.baseState=o,t.memoizedState=o,t.flags&256){t=Xc(e,t,r,n);break a}if(r!==a){a=Gi(Error(i(424)),t),ha(a),t=Xc(e,t,r,n);break a}switch(e=t.stateNode.containerInfo,e.nodeType){case 9:e=e.body;break;default:e=e.nodeName===`HTML`?e.ownerDocument.body:e}for(L=lm(e.firstChild),oa=t,R=!0,sa=null,ca=!0,n=mo(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|134221824,n=n.sibling}else{if(z(),r===a){t=dl(e,t,n);break a}Ic(e,t,r,n)}t=t.child}return t;case 26:return Kc(e,t),e===null?(n=Nm(t.type,null,t.pendingProps,null))?t.memoizedState=n:R||(t.stateNode=fp(t.type,t.pendingProps,ke.current,t)):t.memoizedState=Nm(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return Ne(t),e===null&&R&&(r=t.stateNode=hm(t.type,t.pendingProps,ke.current),oa=t,ca=!0,a=L,Sp(t.type)?(um=a,L=lm(r.firstChild)):L=a),Ic(e,t,t.pendingProps.children,n),Kc(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&R&&((a=r=L)&&(r=rm(r,t.type,t.pendingProps,ca),r===null?a=!1:(t.stateNode=r,oa=t,L=lm(r.firstChild),ca=!1,a=!0)),a||ua(t)),Ne(t),a=t.type,o=t.pendingProps,s=e===null?null:e.memoizedProps,r=o.children,pp(a,o)?r=null:s!==null&&pp(a,s)&&(t.flags|=32),t.memoizedState!==null&&(a=es(e,t,rs,null,null,n),sh._currentValue=a),Kc(e,t),Ic(e,t,r,n),t.child;case 6:return e===null&&R&&((e=n=L)&&(n=im(n,t.pendingProps,ca),n===null?e=!1:(t.stateNode=n,oa=t,L=null,e=!0)),e||ua(t)),null;case 13:return el(e,t,n);case 4:return je(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=po(t,null,r,n):Ic(e,t,r,n),t.child;case 11:return Lc(e,t,t.type,t.pendingProps,n);case 7:return r=t.pendingProps,Kc(e,t),Ic(e,t,r,n),t.child;case 8:return Ic(e,t,t.pendingProps.children,n),t.child;case 12:return Ic(e,t,t.pendingProps.children,n),t.child;case 10:return ul(e,t,n);case 9:return a=t.type._context,r=t.pendingProps.children,Ta(t),a=Ea(a),r=r(a),t.flags|=1,Ic(e,t,r,n),t.child;case 14:return Rc(e,t,t.type,t.pendingProps,n);case 15:return zc(e,t,t.type,t.pendingProps,n);case 19:return ll(e,t,n);case 31:return Gc(e,t,n);case 22:return Bc(e,t,n,t.pendingProps);case 24:return Ta(t),r=Ea(Ma),e===null?(a=qa(),a===null&&(a=ed,o=Na(),a.pooledCache=o,o.refCount++,o!==null&&(a.pooledCacheLanes|=n),a=o),t.memoizedState={parent:r,cache:a},go(t),ya(t,Ma,a)):((e.lanes&n)!==0&&(_o(e,t),B(t,null,null,n),Co()),a=e.memoizedState,o=t.memoizedState,a.parent===r?(r=o.cache,ya(t,Ma,r),r!==a.cache&&Sa(t,[Ma],n,!0)):(a={parent:r,cache:r},t.memoizedState=a,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=a),ya(t,Ma,r))),Ic(e,t,t.pendingProps.children,n),t.child;case 30:return t.stateNode===null&&(t.stateNode={autoName:null,paired:null,clones:null,ref:null}),r=t.pendingProps,r.name!=null&&r.name!==`auto`?t.flags|=e===null?18882560:18874368:R&&ra(t),e!==null&&e.memoizedProps.name!==r.name?t.flags|=4194816:Kc(e,t),Ic(e,t,r.children,n),t.child;case 29:throw t.pendingProps}throw Error(i(156,t.tag))}function hl(e){e.flags|=4}function gl(e,t,n,r,i){var a;if((a=!!(e.mode&32))&&(a=n===null?Jm(t,r):Jm(t,r)&&(r.src!==n.src||r.srcSet!==n.srcSet)),a){if(e.flags|=16777216,(i&335544128)===i){if(e.stateNode.complete)e.flags|=8192;else if(Wd())e.flags|=8192;else throw ro=$a,Za}}else e.flags&=-16777217}function _l(e,t){if(t.type!==`stylesheet`||t.state.loading&4)e.flags&=-16777217;else if(e.flags|=16777216,!Ym(t)){if(Wd())e.flags|=8192;else throw ro=$a,Za}}function vl(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag===22?536870912:gt(),e.lanes|=t,dd|=t)}function yl(e,t){if(!R)switch(e.tailMode){case`visible`:break;case`collapsed`:for(var n=e.tail,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;break;default:for(t=e.tail,n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null}}function bl(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,r=0;if(t)for(var i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags&1206910976,r|=i.flags&1206910976,i.return=e,i=i.sibling;else for(i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags,r|=i.flags,i.return=e,i=i.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function xl(e,t,n){var r=t.pendingProps;switch(ia(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return bl(t),null;case 1:return bl(t),null;case 3:return n=t.stateNode,r=null,e!==null&&(r=e.memoizedState.cache),t.memoizedState.cache!==r&&(t.flags|=2048),ba(Ma),Me(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),(e===null||e.child===null)&&(pa(t)?hl(t):e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,ma())),bl(t),null;case 26:var a=t.type,o=t.memoizedState;return e===null?(hl(t),o===null?(bl(t),gl(t,a,null,r,n)):(bl(t),_l(t,o))):o?o===e.memoizedState?(bl(t),t.flags&=-16777217):(hl(t),bl(t),_l(t,o)):(e=e.memoizedProps,e!==r&&hl(t),bl(t),gl(t,a,e,r,n)),null;case 27:if(Pe(t),n=ke.current,a=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==r&&hl(t);else{if(!r){if(t.stateNode===null)throw Error(i(166));return bl(t),t.subtreeFlags&=-33554433,null}e=De.current,pa(t)?da(t,e):(e=hm(a,r,n),t.stateNode=e,hl(t))}return bl(t),t.subtreeFlags&=-33554433,null;case 5:if(Pe(t),a=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==r&&hl(t);else{if(!r){if(t.stateNode===null)throw Error(i(166));return bl(t),t.subtreeFlags&=-33554433,null}if(o=De.current,pa(t))da(t,o);else{var s=lp(ke.current);switch(o){case 1:o=s.createElementNS(`http://www.w3.org/2000/svg`,a);break;case 2:o=s.createElementNS(`http://www.w3.org/1998/Math/MathML`,a);break;default:switch(a){case`svg`:o=s.createElementNS(`http://www.w3.org/2000/svg`,a);break;case`math`:o=s.createElementNS(`http://www.w3.org/1998/Math/MathML`,a);break;case`script`:o=s.createElement(`div`),o.innerHTML=`<script><\/script>`,o=o.removeChild(o.firstChild);break;case`select`:o=typeof r.is==`string`?s.createElement(`select`,{is:r.is}):s.createElement(`select`),r.multiple?o.multiple=!0:r.size&&(o.size=r.size);break;default:o=typeof r.is==`string`?s.createElement(a,{is:r.is}):s.createElement(a)}}o[Ot]=t,o[kt]=r;a:for(s=t.child;s!==null;){if(s.tag===5||s.tag===6)o.appendChild(s.stateNode);else if(s.tag!==4&&s.tag!==27&&s.child!==null){s.child.return=s,s=s.child;continue}if(s===t)break a;for(;s.sibling===null;){if(s.return===null||s.return===t)break a;s=s.return}s.sibling.return=s.return,s=s.sibling}t.stateNode=o;a:switch(np(o,a,r),a){case`button`:case`input`:case`select`:case`textarea`:r=!!r.autoFocus;break a;case`img`:r=!0;break a;default:r=!1}r&&hl(t)}}return bl(t),t.subtreeFlags&=-33554433,gl(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==r&&hl(t);else{if(typeof r!=`string`&&t.stateNode===null)throw Error(i(166));if(e=ke.current,pa(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,a=oa,a!==null)switch(a.tag){case 27:case 5:r=a.memoizedProps}e[Ot]=t,e=!!(e.nodeValue===n||r!==null&&!0===r.suppressHydrationWarning||$f(e.nodeValue,n)),e||ua(t,!0)}else e=lp(e).createTextNode(r),e[Ot]=t,t.stateNode=e}return bl(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(r=pa(t),n!==null){if(e===null){if(!r)throw Error(i(318));if(e=t.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(i(557));e[Ot]=t}else z(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;bl(t),e=!1}else n=ma(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(Lo(t),t):(Lo(t),null);if(t.flags&128)throw Error(i(558))}return bl(t),null;case 13:if(r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(a=pa(t),r!==null&&r.dehydrated!==null){if(e===null){if(!a)throw Error(i(318));if(a=t.memoizedState,a=a===null?null:a.dehydrated,!a)throw Error(i(317));a[Ot]=t}else z(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;bl(t),a=!1}else a=ma(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=a),a=!0;if(!a)return t.flags&256?(Lo(t),t):(Lo(t),null)}return Lo(t),t.flags&128?(t.lanes=n,t):(n=r!==null,e=e!==null&&e.memoizedState!==null,n&&(r=t.child,a=null,r.alternate!==null&&r.alternate.memoizedState!==null&&r.alternate.memoizedState.cachePool!==null&&(a=r.alternate.memoizedState.cachePool.pool),o=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(o=r.memoizedState.cachePool.pool),o!==a&&(r.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),vl(t,t.updateQueue),bl(t),null);case 4:return Me(),e===null&&Wf(t.stateNode.containerInfo),t.flags|=67108864,bl(t),null;case 10:return ba(t.type),bl(t),null;case 19:if(Bo(t),r=t.memoizedState,r===null)return bl(t),null;if(a=!!(t.flags&128),o=r.rendering,o===null){if(a)yl(r,!1);else{if(od!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(o=Vo(e),o!==null){for(t.flags|=128,yl(r,!1),e=o.updateQueue,t.updateQueue=e,vl(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)Ri(n,e),n=n.sibling;return zo(t,Ro.current&1|2),R&&ta(t,r.treeForkCount),t.child}e=e.sibling}r.tail!==null&&qe()>_d&&(t.flags|=128,a=!0,yl(r,!1),t.lanes=4194304)}}else{if(!a){if(e=Vo(o),e!==null){if(t.flags|=128,a=!0,e=e.updateQueue,t.updateQueue=e,vl(t,e),yl(r,!0),r.tail===null&&r.tailMode!==`collapsed`&&r.tailMode!==`visible`&&!o.alternate&&!R)return bl(t),null}else 2*qe()-r.renderingStartTime>_d&&n!==536870912&&(t.flags|=128,a=!0,yl(r,!1),t.lanes=4194304)}r.isBackwards?(o.sibling=t.child,t.child=o):(e=r.last,e===null?t.child=o:e.sibling=o,r.last=o)}if(r.tail!==null){e=r.tail;a:{for(n=e;n!==null;){if(n.alternate!==null){n=!1;break a}n=n.sibling}n=!0}return r.rendering=e,r.tail=e.sibling,r.renderingStartTime=qe(),e.sibling=null,o=Ro.current,o=a?o&1|2:o&1,r.tailMode===`visible`||r.tailMode===`collapsed`||!n||R?zo(t,o):(n=o,Ee(jo,t),Ee(Ro,n),Mo===null&&(Mo=t)),R&&ta(t,r.treeForkCount),e}return bl(t),null;case 22:case 23:return Lo(t),Ao(),r=t.memoizedState!==null,e===null?r&&(t.flags|=8192):e.memoizedState!==null!==r&&(t.flags|=8192),r?n&536870912&&!(t.flags&128)&&(bl(t),t.subtreeFlags&6&&(t.flags|=8192)):bl(t),n=t.updateQueue,n!==null&&vl(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&&Te(Ka),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),ba(Ma),bl(t),null;case 25:return null;case 30:return t.flags|=33554432,bl(t),null}throw Error(i(156,t.tag))}function Sl(e,t){switch(ia(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ba(Ma),Me(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Pe(t),null;case 31:if(t.memoizedState!==null){if(Lo(t),t.alternate===null)throw Error(i(340));z()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(Lo(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(i(340));z()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Bo(t),e=t.flags,e&65536?(t.flags=e&-65537|128,e=t.memoizedState,e!==null&&(e.rendering=null,e.tail=null),t.flags|=4,t):null;case 4:return Me(),null;case 10:return ba(t.type),null;case 22:case 23:return Lo(t),Ao(),e!==null&&Te(Ka),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return ba(Ma),null;case 25:return null;default:return null}}function Cl(e,t){switch(ia(t),t.tag){case 3:ba(Ma),Me();break;case 26:case 27:case 5:Pe(t);break;case 4:Me();break;case 31:t.memoizedState!==null&&Lo(t);break;case 13:Lo(t);break;case 19:Bo(t);break;case 10:ba(t.type);break;case 22:case 23:Lo(t),Ao(),e!==null&&Te(Ka);break;case 24:ba(Ma)}}function wl(e,t){try{var n=t.updateQueue,r=n===null?null:n.lastEffect;if(r!==null){var i=r.next;n=i;do{if((n.tag&e)===e){r=void 0;var a=n.create,o=n.inst;r=a(),o.destroy=r}n=n.next}while(n!==i)}}catch(e){hf(t,t.return,e)}}function Tl(e,t,n){try{var r=t.updateQueue,i=r===null?null:r.lastEffect;if(i!==null){var a=i.next;r=a;do{if((r.tag&e)===e){var o=r.inst,s=o.destroy;if(s!==void 0){o.destroy=void 0,i=t;var c=n,l=s;try{l()}catch(e){hf(i,c,e)}}}r=r.next}while(r!==a)}}catch(e){hf(t,t.return,e)}}function El(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{To(t,n)}catch(t){hf(e,e.return,t)}}}function Dl(e,t,n){n.props=wc(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(n){hf(e,t,n)}}function Ol(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:var i=e.stateNode,a=bi(e.memoizedProps,i);(i.ref===null||i.ref.name!==a)&&(i.ref=Pp(a)),r=i.ref;break;case 7:if(e.stateNode===null){var o=new Fp(e);m(e.child,!1,Qp,o,void 0,void 0),e.stateNode=o}r=e.stateNode;break;default:r=e.stateNode}typeof n==`function`?e.refCleanup=n(r):n.current=r}}catch(n){hf(e,t,n)}}function kl(e,t){var n=e.ref,r=e.refCleanup;if(n!==null){if(typeof r==`function`)try{r()}catch(n){hf(e,t,n)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n==`function`)try{n(null)}catch(n){hf(e,t,n)}else n.current=null}}function Al(e,t){if((e.tag===5||e.tag===27||e.tag===6)&&e.alternate===null&&t!==null)for(var n=0;n<t.length;n++)em(e.stateNode,t[n])}function jl(e){for(var t=e.return;t!==null&&(Pl(t)&&em(e.stateNode,t.stateNode),!Nl(t));)t=t.return}function Ml(e){for(var t=e.return;t!==null&&(Pl(t)&&tm(e.stateNode,t.stateNode),!Nl(t));)t=t.return}function Nl(e){return e.tag===5||e.tag===3||e.tag===27}function Pl(e){return e&&e.tag===7&&e.stateNode!==null}function Fl(e){var t=e.type,n=e.memoizedProps,r=e.stateNode;try{a:switch(t){case`button`:case`input`:case`select`:case`textarea`:n.autoFocus&&r.focus();break a;case`img`:n.src?r.src=n.src:n.srcSet&&(r.srcset=n.srcSet)}}catch(t){hf(e,e.return,t)}}function Il(e,t,n){try{var r=e.stateNode;ip(r,e.type,n,t),r[kt]=t}catch(t){hf(e,e.return,t)}}function Ll(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Sp(e.type)||e.tag===4}function Rl(e){a:for(;;){for(;e.sibling===null;){if(e.return===null||Ll(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&&Sp(e.type)||e.flags&2||e.child===null||e.tag===4)continue a;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function zl(e,t,n,r){var i=e.tag;if(i===5||i===6)i=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n).insertBefore(i,t):(t=n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n,t.appendChild(i),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=wn)),Al(e,r),N=!0;else if(i!==4&&(i===27&&(Al(e,r),r=null,Sp(e.type)&&(n=e.stateNode,t=null)),e=e.child,e!==null))for(zl(e,t,n,r),e=e.sibling;e!==null;)zl(e,t,n,r),e=e.sibling}function Bl(e,t,n,r){var i=e.tag;if(i===5||i===6)i=e.stateNode,t?n.insertBefore(i,t):n.appendChild(i),Al(e,r),N=!0;else if(i!==4&&(i===27&&(Al(e,r),r=null,Sp(e.type)&&(n=e.stateNode)),e=e.child,e!==null))for(Bl(e,t,n,r),e=e.sibling;e!==null;)Bl(e,t,n,r),e=e.sibling}function Vl(e){var t=e.stateNode,n=e.memoizedProps;try{for(var r=e.type,i=t.attributes;i.length;)t.removeAttributeNode(i[0]);np(t,r,n),t[Ot]=e,t[kt]=n}catch(t){hf(e,e.return,t)}}var Hl=!1,Ul=null;function Wl(e){(e.tag===30||e.subtreeFlags&33554432)&&(Hl=!0)}var Gl=null;function Kl(){var e=Gl;return Gl=null,e}var ql=0;function Jl(e,t,n,r,i){return ql=0,Yl(e.child,t,n,r,i)}function Yl(e,t,n,r,i){for(var a=!1;e!==null;){if(e.tag===5){var o=e.stateNode;if(r!==null){var s=Op(o);r.push(s),s.view&&(a=!0)}else a||Op(o).view&&(a=!0);Hl=!0,Tp(o,ql===0?t:t+`_`+ql,n),ql++}else(e.tag!==22||e.memoizedState===null)&&(e.tag===30&&i||Yl(e.child,t,n,r,i)&&(a=!0));e=e.sibling}return a}function Xl(e,t){for(;e!==null;)e.tag===5?Ep(e.stateNode,e.memoizedProps):(e.tag!==22||e.memoizedState===null)&&(e.tag===30&&t||Xl(e.child,t)),e=e.sibling}function Zl(e){if(e.subtreeFlags&18874368)for(e=e.child;e!==null;){if((e.tag!==22||e.memoizedState===null)&&(Zl(e),e.tag===30&&e.flags&18874368&&e.stateNode.paired)){var t=e.memoizedProps;if(t.name==null||t.name===`auto`)throw Error(i(544));var n=t.name;t=Si(t.default,t.share),t!==`none`&&(Jl(e,n,t,null,!1)||Xl(e.child,!1))}e=e.sibling}}function Ql(e,t){if(e.tag===30){var n=e.stateNode,r=e.memoizedProps,i=bi(r,n),a=Si(r.default,n.paired?r.share:r.enter);a===`none`?Zl(e):Jl(e,i,a,null,!1)?(Zl(e),n.paired||t||Pd(e,r.onEnter)):Xl(e.child,!1)}else if(e.subtreeFlags&33554432)for(e=e.child;e!==null;)Ql(e,t),e=e.sibling;else Zl(e)}function $l(e){if(Ul!==null&&Ul.size!==0){var t=Ul;if(e.subtreeFlags&18874368)for(e=e.child;e!==null;){if(e.tag!==22||e.memoizedState===null){if(e.tag===30&&e.flags&18874368){var n=e.memoizedProps,r=n.name;if(r!=null&&r!==`auto`){var i=t.get(r);if(i!==void 0){var a=Si(n.default,n.share);if(a!==`none`&&(Jl(e,r,a,null,!1)?(a=e.stateNode,i.paired=a,a.paired=i,Pd(e,n.onShare)):Xl(e.child,!1)),t.delete(r),t.size===0)break}}}$l(e)}e=e.sibling}}}function eu(e){if(e.tag===30){var t=e.memoizedProps,n=bi(t,e.stateNode),r=Ul===null?void 0:Ul.get(n),i=Si(t.default,r===void 0?t.exit:t.share);i!==`none`&&(Jl(e,n,i,null,!1)?r===void 0?Pd(e,t.onExit):(i=e.stateNode,r.paired=i,i.paired=r,Ul.delete(n),Pd(e,t.onShare)):Xl(e.child,!1)),Ul!==null&&$l(e)}else if(e.subtreeFlags&33554432)for(e=e.child;e!==null;)eu(e),e=e.sibling;else Ul!==null&&$l(e)}function tu(e){for(e=e.child;e!==null;){if(e.tag===30){var t=e.memoizedProps,n=bi(t,e.stateNode);t=Si(t.default,t.update),e.flags&=-5,t!==`none`&&Jl(e,n,t,e.memoizedState=[],!1)}else e.subtreeFlags&33554432&&tu(e);e=e.sibling}}function nu(e){if(e.subtreeFlags&18874368)for(e=e.child;e!==null;){if(e.tag!==22||e.memoizedState===null){if(e.tag===30&&e.flags&18874368){var t=e.stateNode;t.paired!==null&&(t.paired=null,Xl(e.child,!1))}nu(e)}e=e.sibling}}function ru(e){if(e.tag===30)e.stateNode.paired=null,Xl(e.child,!1),nu(e);else if(e.subtreeFlags&33554432)for(e=e.child;e!==null;)ru(e),e=e.sibling;else nu(e)}function iu(e){for(e=e.child;e!==null;)e.tag===30?Xl(e.child,!1):e.subtreeFlags&33554432&&iu(e),e=e.sibling}function au(e,t,n,r,i,a,o){for(var s=!1;t!==null;){if(t.tag===5){var c=t.stateNode;if(a!==null&&ql<a.length){var l=a[ql],u=Op(c);(l.view||u.view)&&(s=!0);var d;if(d=!(e.flags&4)){if(u.clip)d=!0;else{d=l.rect;var f=u.rect;d=d.y!==f.y||d.x!==f.x||d.height!==f.height||d.width!==f.width}}d&&(e.flags|=4),u.abs?u=!l.abs:(l=l.rect,u=u.rect,u=l.height!==u.height||l.width!==u.width),u&&(e.flags|=32)}else e.flags|=32;e.flags&4&&Tp(c,ql===0?n:n+`_`+ql,i),s&&e.flags&4||(Gl===null&&(Gl=[]),Gl.push(c,ql===0?r:r+`_`+ql,t.memoizedProps)),ql++}else(t.tag!==22||t.memoizedState===null)&&(t.tag===30&&o?e.flags|=t.flags&32:au(e,t.child,n,r,i,a,o)&&(s=!0));t=t.sibling}return s}function ou(e,t){for(e=e.child;e!==null;){if(e.tag===30){var n=e.memoizedProps,r=e.stateNode,i=bi(n,r),a=Si(n.default,n.update);if(t){r=r.clones;var o=r===null?null:r.map(kp)}else o=e.memoizedState,e.memoizedState=null;r=e;var s=e.child;ql=0,i=au(r,s,i,i,a,o,!1),e.flags&4&&i&&(t||Pd(e,n.onUpdate))}else e.subtreeFlags&33554432&&ou(e,t);e=e.sibling}}var su=!1,H=!1,cu=!1,lu=!1,uu=typeof WeakSet==`function`?WeakSet:Set,du=null,fu=!1,pu=!1,mu=!1,hu=!1;function gu(e,t,n){if(e=e.containerInfo,sp=gh,e=Qr(e),$r(e)){if(`selectionStart`in e)var r={start:e.selectionStart,end:e.selectionEnd};else a:{r=(r=e.ownerDocument)&&r.defaultView||window;var i=r.getSelection&&r.getSelection();if(i&&i.rangeCount!==0){r=i.anchorNode;var a=i.anchorOffset,o=i.focusNode;i=i.focusOffset;try{r.nodeType,o.nodeType}catch{r=null;break a}var s=0,c=-1,l=-1,u=0,d=0,f=e,p=null;b:for(;;){for(var m;f!==r||a!==0&&f.nodeType!==3||(c=s+a),f!==o||i!==0&&f.nodeType!==3||(l=s+i),f.nodeType===3&&(s+=f.nodeValue.length),(m=f.firstChild)!==null;)p=f,f=m;for(;;){if(f===e)break b;if(p===r&&++u===a&&(c=s),p===o&&++d===i&&(l=s),(m=f.nextSibling)!==null)break;f=p,p=f.parentNode}f=m}r=c===-1||l===-1?null:{start:c,end:l}}else r=null}r||={start:0,end:0}}else r=null;for(cp={focusedElem:e,selectionRange:r},gh=!1,n=(n&335544064)===n,du=t,t=n?9270:1024;du!==null;){if(e=du,n&&(r=e.deletions,r!==null))for(a=0;a<r.length;a++)n&&eu(r[a]);if(e.alternate===null&&e.flags&2)n&&Wl(e),_u(n);else{if(e.tag===22){if(r=e.alternate,e.memoizedState!==null){r!==null&&r.memoizedState===null&&n&&eu(r),_u(n);continue}if(r!==null&&r.memoizedState!==null){n&&Wl(e),_u(n);continue}}r=e.child,(e.subtreeFlags&t)!==0&&r!==null?(r.return=e,du=r):(n&&tu(e),_u(n))}}Ul=null}function _u(e){for(;du!==null;){var t=du,n=e,r=t.alternate,a=t.flags;switch(t.tag){case 0:case 11:case 15:break;case 1:if(a&1024&&r!==null){n=void 0,a=r.memoizedProps,r=r.memoizedState;var o=t.stateNode;try{var s=wc(t.type,a);n=o.getSnapshotBeforeUpdate(s,r),o.__reactInternalSnapshotBeforeUpdate=n}catch(e){hf(t,t.return,e)}}break;case 3:if(a&1024){if(r=t.stateNode.containerInfo,n=r.nodeType,n===9)nm(r);else if(n===1)switch(r.nodeName){case`HEAD`:case`HTML`:case`BODY`:nm(r);break;default:r.textContent=``}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;case 30:n&&r!==null&&(n=bi(r.memoizedProps,r.stateNode),a=t.memoizedProps,a=Si(a.default,a.update),a!==`none`&&Jl(r,n,a,r.memoizedState=[],!0));break;default:if(a&1024)throw Error(i(163))}if(r=t.sibling,r!==null){r.return=t.return,du=r;break}du=t.return}}function vu(e,t,n){var r=n.flags;switch(n.tag){case 0:case 11:case 15:Fu(e,n),r&4&&wl(5,n);break;case 1:if(Fu(e,n),r&4){if(e=n.stateNode,t===null)try{e.componentDidMount()}catch(e){hf(n,n.return,e)}else{var i=wc(n.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(i,t,e.__reactInternalSnapshotBeforeUpdate)}catch(e){hf(n,n.return,e)}}}r&64&&El(n),r&512&&Ol(n,n.return);break;case 3:if(Fu(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{To(e,t)}catch(e){hf(n,n.return,e)}}break;case 27:t===null&&r&4&&Vl(n);case 26:case 5:Fu(e,n),t===null&&r&4&&Fl(n),r&512&&Ol(n,n.return);break;case 12:Fu(e,n);break;case 31:Fu(e,n),r&4&&Tu(e,n);break;case 13:Fu(e,n),r&4&&G(e,n),r&64&&(e=n.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(n=yf.bind(null,n),cm(e,n))));break;case 22:if(r=n.memoizedState!==null||su,!r){var a=t!==null&&t.memoizedState!==null||H;t=su,i=H,su=r,(H=a)&&!i?(r=2,n.subtreeFlags&8772&&(r|=1),Lu(e,n,r)):Fu(e,n),su=t,H=i}break;case 30:Fu(e,n),r&512&&Ol(n,n.return);break;case 7:r&512&&Ol(n,n.return);default:Fu(e,n)}}function U(e,t){for(e=e.child;e!==null;)yu(e,t),e=e.sibling}function yu(e,t){switch(e.tag){case 5:case 26:try{var n=e.stateNode;if(t){var r=n.style;typeof r.setProperty==`function`?r.setProperty(`display`,`none`,`important`):r.display=`none`}else{var i=e.stateNode,a=e.memoizedProps.style,o=a!=null&&a.hasOwnProperty(`display`)?a.display:null;i.style.display=o==null||typeof o==`boolean`?``:(``+o).trim()}}catch(t){hf(e,e.return,t)}bu(e,t);break;case 6:try{e.stateNode.nodeValue=t?``:e.memoizedProps,N=!0}catch(t){hf(e,e.return,t)}break;case 18:try{var s=e.stateNode;t?wp(s,!0):wp(e.stateNode,!1)}catch(t){hf(e,e.return,t)}break;case 22:case 23:e.memoizedState===null&&U(e,t);break;default:U(e,t)}}function bu(e,t){if(e.subtreeFlags&67108864)for(e=e.child;e!==null;){a:{var n=e,r=t;switch(n.tag){case 4:yu(n,r);break a;case 22:n.memoizedState===null&&bu(n,r);break a;default:bu(n,r)}}e=e.sibling}}function xu(e){var t=e.alternate;t!==null&&(e.alternate=null,xu(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&Lt(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 Su=null,Cu=!1;function W(e,t,n){for(n=n.child;n!==null;)wu(e,t,n),n=n.sibling}function wu(e,t,n){if(rt&&typeof rt.onCommitFiberUnmount==`function`)try{rt.onCommitFiberUnmount(nt,n)}catch{}switch(n.tag){case 26:H||kl(n,t),W(e,t,n),n.memoizedState?n.memoizedState.count--:n.stateNode&&!H&&(n=n.stateNode,n.parentNode.removeChild(n));break;case 27:H||kl(n,t),Ml(n);var r=Su,i=Cu;Sp(n.type)&&(Su=n.stateNode,Cu=!1),W(e,t,n),gm(n.stateNode,n.type,n.memoizedProps),Su=r,Cu=i;break;case 5:H||kl(n,t),Ml(n);case 6:if(n.tag===6&&Ml(n),r=Su,i=Cu,Su=null,W(e,t,n),Su=r,Cu=i,Su!==null){if(Cu)try{(Su.nodeType===9?Su.body:Su.nodeName===`HTML`?Su.ownerDocument.body:Su).removeChild(n.stateNode),N=!0}catch(e){hf(n,t,e)}else try{Su.removeChild(n.stateNode),N=!0}catch(e){hf(n,t,e)}}break;case 18:Su!==null&&(Cu?(e=Su,Cp(e.nodeType===9?e.body:e.nodeName===`HTML`?e.ownerDocument.body:e,n.stateNode),Hh(e)):Cp(Su,n.stateNode));break;case 4:r=Su,i=Cu,Su=n.stateNode.containerInfo,Cu=!0,W(e,t,n),Su=r,Cu=i;break;case 0:case 11:case 14:case 15:Tl(2,n,t),H||Tl(4,n,t),W(e,t,n);break;case 1:H||(kl(n,t),r=n.stateNode,typeof r.componentWillUnmount==`function`&&Dl(n,t,r)),W(e,t,n);break;case 21:W(e,t,n);break;case 22:H=(r=H)||n.memoizedState!==null,W(e,t,n),H=r;break;case 30:kl(n,t),W(e,t,n);break;case 7:H||kl(n,t),W(e,t,n);break;default:W(e,t,n)}}function Tu(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{Hh(e)}catch(e){hf(t,t.return,e)}}}function G(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{Hh(e)}catch(e){hf(t,t.return,e)}}function Eu(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new uu),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new uu),t;default:throw Error(i(435,e.tag))}}function Du(e,t){var n=Eu(e);t.forEach(function(t){if(!n.has(t)){n.add(t);var r=bf.bind(null,e,t);t.then(r,r)}})}function Ou(e,t,n){var r=t.deletions;if(r!==null)for(var a=0;a<r.length;a++){var o=r[a],s=e,c=t,l=c;a:for(;l!==null;){switch(l.tag){case 27:if(Sp(l.type)){Su=l.stateNode,Cu=!1;break a}break;case 5:Su=l.stateNode,Cu=!1;break a;case 3:case 4:Su=l.stateNode.containerInfo,Cu=!0;break a}l=l.return}if(Su===null)throw Error(i(160));wu(s,c,o),Su=null,Cu=!1,s=o.alternate,s!==null&&(s.return=null),o.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)Au(t,e,n),t=t.sibling}var ku=null;function Au(e,t,n){var r=e.alternate,a=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(a&4&&(r=e.updateQueue,r=r===null?null:r.events,r!==null))for(var o=0;o<r.length;o++){var s=r[o];s.ref.impl=s.nextImpl}Ou(t,e,n),ju(e),a&4&&(Tl(3,e,e.return),wl(3,e),Tl(5,e,e.return));break;case 1:Ou(t,e,n),ju(e),a&512&&(H||r===null||kl(r,r.return)),a&64&&su&&(e=e.updateQueue,e!==null&&(t=e.callbacks,t!==null&&(n=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=n===null?t:n.concat(t))));break;case 26:if(o=ku,Ou(t,e,n),ju(e),a&512&&(H||r===null||kl(r,r.return)),a&4){if(a=r===null?null:r.memoizedState,n=e.memoizedState,r===null){if(n===null){if(e.stateNode===null){if(su)e.stateNode=fp(e.type,e.memoizedProps,t.containerInfo,e);else{a:{t=e.type,n=e.memoizedProps,a=o.ownerDocument||o;b:switch(t){case`title`:r=a.getElementsByTagName(`title`)[0],(!r||r[Ft]||r[Ot]||r.namespaceURI===`http://www.w3.org/2000/svg`||r.hasAttribute(`itemprop`))&&(r=a.createElement(t),a.head.insertBefore(r,a.querySelector(`head > title`))),np(r,t,n),r[Ot]=e,Ht(r),t=r;break a;case`link`:if(o=Gm(`link`,`href`,a).get(t+(n.href||``))){for(s=0;s<o.length;s++)if(r=o[s],r.getAttribute(`href`)===(n.href==null||n.href===``?null:n.href)&&r.getAttribute(`rel`)===(n.rel==null?null:n.rel)&&r.getAttribute(`title`)===(n.title==null?null:n.title)&&r.getAttribute(`crossorigin`)===(n.crossOrigin==null?null:n.crossOrigin)){o.splice(s,1);break b}}r=a.createElement(t),np(r,t,n),a.head.appendChild(r);break;case`meta`:if(o=Gm(`meta`,`content`,a).get(t+(n.content||``))){for(s=0;s<o.length;s++)if(r=o[s],r.getAttribute(`content`)===(n.content==null?null:``+n.content)&&r.getAttribute(`name`)===(n.name==null?null:n.name)&&r.getAttribute(`property`)===(n.property==null?null:n.property)&&r.getAttribute(`http-equiv`)===(n.httpEquiv==null?null:n.httpEquiv)&&r.getAttribute(`charset`)===(n.charSet==null?null:n.charSet)){o.splice(s,1);break b}}r=a.createElement(t),np(r,t,n),a.head.appendChild(r);break;default:throw Error(i(468,t))}r[Ot]=e,Ht(r),t=r}e.stateNode=t}}else su||Km(o,e.type,e.stateNode)}else e.stateNode=Bm(o,n,e.memoizedProps)}else a===n?n===null&&e.stateNode!==null&&Il(e,e.memoizedProps,r.memoizedProps):(a===null?(t=r.stateNode,t===null||H||t.parentNode.removeChild(t)):a.count--,n===null?su||Km(o,e.type,e.stateNode):Bm(o,n,e.memoizedProps))}break;case 27:Ou(t,e,n),ju(e),a&512&&(H||r===null||kl(r,r.return)),r!==null&&a&4&&Il(e,e.memoizedProps,r.memoizedProps);break;case 5:if(o=cu,cu=!1,Ou(t,e,n),cu=o,ju(e),a&512&&(H||r===null||kl(r,r.return)),e.flags&32){t=e.stateNode;try{gn(t,``),N=!0}catch(t){hf(e,e.return,t)}}a&4&&e.stateNode!=null&&(t=e.memoizedProps,Il(e,t,r===null?t:r.memoizedProps)),a&1024&&(lu=!0);break;case 6:if(Ou(t,e,n),ju(e),a&4){if(e.stateNode===null)throw Error(i(162));t=e.memoizedProps,n=e.stateNode;try{n.nodeValue=t,N=!0}catch(t){hf(e,e.return,t)}}break;case 3:if(N=!1,Wm=null,o=ku,ku=bm(t.containerInfo),Ou(t,e,n),ku=o,ju(e),a&4&&r!==null&&r.memoizedState.isDehydrated)try{Hh(t.containerInfo)}catch(t){hf(e,e.return,t)}lu&&(lu=!1,Mu(e)),N=!1;break;case 4:a=cu,cu=su,r=Qt(),o=ku,ku=bm(e.stateNode.containerInfo),Ou(t,e,n),ju(e),ku=o,N&&pu&&(mu=!0),N=r,cu=a;break;case 12:Ou(t,e,n),ju(e);break;case 31:Ou(t,e,n),ju(e),a&4&&(t=e.updateQueue,t!==null&&(e.updateQueue=null,Du(e,t)));break;case 13:Ou(t,e,n),ju(e),e.child.flags&8192&&e.memoizedState!==null!=(r!==null&&r.memoizedState!==null)&&(hd=qe()),a&4&&(t=e.updateQueue,t!==null&&(e.updateQueue=null,Du(e,t)));break;case 22:o=e.memoizedState!==null,s=r!==null&&r.memoizedState!==null;var c=su,l=H,u=cu;su=c||o,cu=u||o,H=l||s,Ou(t,e,n),H=l,cu=u,su=c,ju(e),a&8192&&(t=e.stateNode,t._visibility=o?t._visibility&-2:t._visibility|1,!o||r===null||s||su||H||(t=s||H,n=su,r=H,su=o||su,H=t,Iu(e,2),su=n,H=r),!o&&cu||U(e,o)),a&4&&(t=e.updateQueue,t!==null&&(n=t.retryQueue,n!==null&&(t.retryQueue=null,Du(e,n))));break;case 19:Ou(t,e,n),ju(e),a&4&&(t=e.updateQueue,t!==null&&(e.updateQueue=null,Du(e,t)));break;case 30:a&512&&(H||r===null||kl(r,r.return)),a=Qt(),o=pu,s=(n&335544064)===n,c=e.memoizedProps,pu=s&&Si(c.default,c.update)!==`none`,Ou(t,e,n),ju(e),s&&r!==null&&N&&(e.flags|=4),pu=o,N=a;break;case 21:break;case 7:a&512&&(H||r===null||kl(r,r.return)),r&&r.stateNode!==null&&(r.stateNode._fragmentFiber=e);default:Ou(t,e,n),ju(e)}}function ju(e){var t=e.flags;if(t&2){try{for(var n,r=e.return;r!==null;){if(Ll(r)){n=r;break}r=r.return}r=null;for(var a=e.return;a!==null;){if(Pl(a)){var o=a.stateNode;r===null?r=[o]:r.push(o)}if(Nl(a))break;a=a.return}var s=r;if(n==null)throw Error(i(160));switch(n.tag){case 27:var c=n.stateNode;Bl(e,Rl(e),c,s);break;case 5:var l=n.stateNode;n.flags&32&&(gn(l,``),n.flags&=-33),Bl(e,Rl(e),l,s);break;case 3:case 4:var u=n.stateNode.containerInfo;zl(e,Rl(e),u,s);break;default:throw Error(i(161))}}catch(t){hf(e,e.return,t)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function Mu(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;Mu(t),t.tag===5&&t.flags&1024&&(t=t.stateNode,gh=!0,t.reset(),gh=!1),e=e.sibling}}function Nu(e,t){if(t.subtreeFlags&9270)for(t=t.child;t!==null;)Pu(t,e),t=t.sibling;else ou(t,!1)}function Pu(e,t){var n=e.alternate;if(n===null)Ql(e,!1);else switch(e.tag){case 3:if(hu=fu=!1,Kl(),Nu(t,e),!fu&&!mu){if(e=Gl,e!==null)for(var r=0;r<e.length;r+=3){n=e[r];var i=e[r+1];Ep(n,e[r+2]),n=n.ownerDocument.documentElement,n!==null&&n.animate({opacity:[0,0],pointerEvents:[`none`,`none`]},{duration:0,fill:`forwards`,pseudoElement:`::view-transition-group(`+i+`)`})}e=t.containerInfo,e=e.nodeType===9?e.documentElement:e.ownerDocument.documentElement,e!==null&&e.style.viewTransitionName===``&&(e.style.viewTransitionName=`none`,e.animate({opacity:[0,0],pointerEvents:[`none`,`none`]},{duration:0,fill:`forwards`,pseudoElement:`::view-transition-group(root)`}),e.animate({width:[0,0],height:[0,0]},{duration:0,fill:`forwards`,pseudoElement:`::view-transition`})),hu=!0}Gl=null;break;case 5:Nu(t,e);break;case 4:r=fu,fu=!1,Nu(t,e),fu&&(mu=!0),fu=r;break;case 22:e.memoizedState===null&&(n.memoizedState===null?Nu(t,e):Ql(e,!1));break;case 30:r=fu,i=Kl(),fu=!1,Nu(t,e),fu&&(e.flags|=4);var a=e.memoizedProps,o=e.stateNode;t=bi(a,o),o=bi(n.memoizedProps,o);var s=Si(a.default,a.update);s===`none`?t=!1:(a=n.memoizedState,n.memoizedState=null,n=e.child,ql=0,t=au(e,n,t,o,s,a,!0),ql!==(a===null?0:a.length)&&(e.flags|=32)),e.flags&4&&t?(Pd(e,e.memoizedProps.onUpdate),Gl=i):i!==null&&(i.push.apply(i,Gl),Gl=i),fu=e.flags&32?!0:r;break;default:Nu(t,e)}}function Fu(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)vu(e,t.alternate,t),t=t.sibling}function Iu(e,t){for(e=e.child;e!==null;){var n=e,r=t;switch(n.tag){case 0:case 11:case 14:case 15:Tl(4,n,n.return),Iu(n,r);break;case 1:kl(n,n.return);var i=n.stateNode;typeof i.componentWillUnmount==`function`&&Dl(n,n.return,i),Iu(n,r);break;case 27:r&2&&gm(n.stateNode,n.type,n.memoizedProps);case 5:kl(n,n.return),n.tag!==5&&n.tag!==27||Ml(n),Iu(n,r);break;case 6:Ml(n);break;case 26:kl(n,n.return),i=n.stateNode,n.memoizedState!==null||i===null||H||i.parentNode.removeChild(i),Iu(n,r);break;case 22:n.memoizedState===null&&Iu(n,r);break;case 30:kl(n,n.return),Iu(n,r);break;case 7:kl(n,n.return);default:Iu(n,r)}e=e.sibling}}function Lu(e,t,n){for(n=t.subtreeFlags&8772?n:n&-2,t=t.child;t!==null;){var r=t.alternate,i=e,a=t,o=a.flags,s=!!(n&1);switch(a.tag){case 0:case 11:case 15:Lu(i,a,n),wl(4,a);break;case 1:if(Lu(i,a,n),r=a,i=r.stateNode,typeof i.componentDidMount==`function`)try{i.componentDidMount()}catch(e){hf(r,r.return,e)}if(r=a,i=r.updateQueue,i!==null){var c=r.stateNode;try{var l=i.shared.hiddenCallbacks;if(l!==null)for(i.shared.hiddenCallbacks=null,i=0;i<l.length;i++)wo(l[i],c)}catch(e){hf(r,r.return,e)}}s&&o&64&&El(a),Ol(a,a.return);break;case 27:n&2&&Vl(a);case 5:a.tag!==5&&a.tag!==27||jl(a),Lu(i,a,n),s&&r===null&&o&4&&Fl(a),Ol(a,a.return);break;case 6:jl(a);break;case 26:c=a.stateNode,a.memoizedState!==null||c===null||su||Km(bm(c.ownerDocument),a.type,c),Lu(i,a,n),s&&r===null&&o&4&&Fl(a),Ol(a,a.return);break;case 12:Lu(i,a,n);break;case 31:Lu(i,a,n),s&&o&4&&Tu(i,a);break;case 13:Lu(i,a,n),s&&o&4&&G(i,a);break;case 22:a.memoizedState===null&&Lu(i,a,n),Ol(a,a.return);break;case 30:Lu(i,a,n),Ol(a,a.return);break;case 7:Ol(a,a.return);default:Lu(i,a,n)}t=t.sibling}}function Ru(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&&Pa(n))}function zu(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Pa(e))}function Bu(e,t,n,r){var i=(n&335544064)===n;if(t.subtreeFlags&(i?10262:10256))for(t=t.child;t!==null;)Vu(e,t,n,r),t=t.sibling;else i&&iu(t)}function Vu(e,t,n,r){var i=(n&335544064)===n;i&&t.alternate===null&&t.return!==null&&t.return.alternate!==null&&ru(t);var a=t.flags;switch(t.tag){case 0:case 11:case 15:Bu(e,t,n,r),a&2048&&wl(9,t);break;case 1:Bu(e,t,n,r);break;case 3:Bu(e,t,n,r),i&&hu&&(e=e.containerInfo,e=e.nodeType===9?e.body:e.nodeName===`HTML`?e.ownerDocument.body:e,e.style.viewTransitionName===`root`&&(e.style.viewTransitionName=``),e=e.ownerDocument.documentElement,e!==null&&e.style.viewTransitionName===`none`&&(e.style.viewTransitionName=``)),a&2048&&(a=null,t.alternate!==null&&(a=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==a&&(t.refCount++,a!=null&&Pa(a)));break;case 12:if(a&2048){Bu(e,t,n,r),a=t.stateNode;try{var o=t.memoizedProps,s=o.id,c=o.onPostCommit;typeof c==`function`&&c(s,t.alternate===null?`mount`:`update`,a.passiveEffectDuration,-0)}catch(e){hf(t,t.return,e)}}else Bu(e,t,n,r);break;case 31:Bu(e,t,n,r);break;case 13:Bu(e,t,n,r);break;case 23:break;case 22:o=t.stateNode,s=t.alternate,t.memoizedState===null?(i&&s!==null&&s.memoizedState!==null&&ru(t),o._visibility&2?Bu(e,t,n,r):(o._visibility|=2,Hu(e,t,n,r,!!(t.subtreeFlags&10256)||!1))):(i&&s!==null&&s.memoizedState===null&&ru(s),o._visibility&2?Bu(e,t,n,r):Uu(e,t)),a&2048&&Ru(s,t);break;case 24:Bu(e,t,n,r),a&2048&&zu(t.alternate,t);break;case 30:i&&(a=t.alternate,a!==null&&(Xl(a.child,!0),Xl(t.child,!0))),Bu(e,t,n,r);break;default:Bu(e,t,n,r)}}function Hu(e,t,n,r,i){for(i&&=!!(t.subtreeFlags&10256)||!1,t=t.child;t!==null;){var a=e,o=t,s=n,c=r,l=o.flags;switch(o.tag){case 0:case 11:case 15:Hu(a,o,s,c,i),wl(8,o);break;case 23:break;case 22:var u=o.stateNode;o.memoizedState===null?(u._visibility|=2,Hu(a,o,s,c,i)):u._visibility&2?Hu(a,o,s,c,i):Uu(a,o),i&&l&2048&&Ru(o.alternate,o);break;case 24:Hu(a,o,s,c,i),i&&l&2048&&zu(o.alternate,o);break;default:Hu(a,o,s,c,i)}t=t.sibling}}function Uu(e,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var n=e,r=t,i=r.flags;switch(r.tag){case 22:Uu(n,r),i&2048&&Ru(r.alternate,r);break;case 24:Uu(n,r),i&2048&&zu(r.alternate,r);break;default:Uu(n,r)}t=t.sibling}}var Wu=8192;function Gu(e,t,n){if(e.subtreeFlags&Wu)for(e=e.child;e!==null;)Ku(e,t,n),e=e.sibling}function Ku(e,t,n){switch(e.tag){case 26:Gu(e,t,n),e.flags&Wu&&(e.memoizedState===null?(e=e.stateNode,(t&335544128)===t&&Zm(n,e)):Qm(n,ku,e.memoizedState,e.memoizedProps));break;case 5:Gu(e,t,n),e.flags&Wu&&(e=e.stateNode,(t&335544128)===t&&Zm(n,e));break;case 3:case 4:var r=ku;ku=bm(e.stateNode.containerInfo),Gu(e,t,n),ku=r;break;case 22:e.memoizedState===null&&(r=e.alternate,r!==null&&r.memoizedState!==null?(r=Wu,Wu=16777216,Gu(e,t,n),Wu=r):Gu(e,t,n));break;case 30:if((e.flags&Wu)!==0&&(r=e.memoizedProps.name,r!=null&&r!==`auto`)){var i=e.stateNode;i.paired=null,Ul===null&&(Ul=new Map),Ul.set(r,i)}Gu(e,t,n);break;default:Gu(e,t,n)}}function qu(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 Ju(e){var t=e.deletions;if(e.flags&16){if(t!==null)for(var n=0;n<t.length;n++){var r=t[n];du=r,K(r,e)}qu(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)Yu(e),e=e.sibling}function Yu(e){switch(e.tag){case 0:case 11:case 15:Ju(e),e.flags&2048&&Tl(9,e,e.return);break;case 3:Ju(e);break;case 12:Ju(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&2&&(e.return===null||e.return.tag!==13)?(t._visibility&=-3,Xu(e)):Ju(e);break;default:Ju(e)}}function Xu(e){var t=e.deletions;if(e.flags&16){if(t!==null)for(var n=0;n<t.length;n++){var r=t[n];du=r,K(r,e)}qu(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:Tl(8,t,t.return),Xu(t);break;case 22:n=t.stateNode,n._visibility&2&&(n._visibility&=-3,Xu(t));break;default:Xu(t)}e=e.sibling}}function K(e,t){for(;du!==null;){var n=du;switch(n.tag){case 0:case 11:case 15:Tl(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:Pa(n.memoizedState.cache)}if(r=n.child,r!==null)r.return=n,du=r;else a:for(n=e;du!==null;){r=du;var i=r.sibling,a=r.return;if(xu(r),r===n){du=null;break a}if(i!==null){i.return=a,du=i;break a}du=a}}}var Zu={getCacheForType:function(e){var t=Ea(Ma),n=t.data.get(e);return n===void 0&&(n=e(),t.data.set(e,n)),n},cacheSignal:function(){return Ea(Ma).controller.signal}},Qu=typeof WeakMap==`function`?WeakMap:Map,$u=0,ed=null,q=null,J=0,td=0,Y=null,nd=!1,rd=!1,id=!1,ad=0,od=0,sd=0,cd=0,ld=0,ud=0,dd=0,fd=null,pd=null,md=!1,hd=0,gd=0,_d=1/0,vd=null,yd=null,bd=0,xd=null,Sd=null,Cd=0,wd=0,Td=null,Ed=null,Dd=null,Od=null,kd=null,Ad=0,jd=null;function Md(){return $u&2&&J!==0?J&-J:A.T===null?Tt():Ff()}function Nd(){if(ud===0){if(!(J&536870912)||R){var e=ut;ut<<=1,!(ut&3932160)&&(ut=262144),ud=e}else ud=536870912}return e=jo.current,e!==null&&(e.flags|=32),ud}function Pd(e,t){if(t!=null){var n=e.stateNode,r=n.ref;r===null&&(r=n.ref=Pp(bi(e.memoizedProps,n))),Od===null&&(Od=[]),Od.push(t.bind(null,r))}}function Fd(e,t,n){(e===ed&&(td===2||td===9)||e.cancelPendingCommit!==null)&&(Hd(e,0),zd(e,J,ud,!1)),vt(e,n),(!($u&2)||e!==ed)&&(e===ed&&(!($u&2)&&(cd|=n),od===4&&zd(e,J,ud,!1)),Df(e))}function Id(e,t,n){if($u&6)throw Error(i(327));var r=!n&&!(t&127)&&(t&e.expiredLanes)===0||mt(e,t),a=r?Xd(e,t):Jd(e,t,!0),o=r;do{if(a===0){rd&&!r&&zd(e,t,0,!1);break}if(n=e.current.alternate,o&&!Rd(n)){a=Jd(e,t,!1),o=!1;continue}if(a===2){if(o=t,e.errorRecoveryDisabledLanes&o)var s=0;else s=e.pendingLanes&-536870913,s=s===0?s&536870912?536870912:0:s;if(s!==0){t=s;a:{var c=e;a=fd;var l=c.current.memoizedState.isDehydrated;if(l&&(Hd(c,s).flags|=256),s=Jd(c,s,!1),s!==2&&s!==6){if(id&&!l){c.errorRecoveryDisabledLanes|=o,cd|=o,a=4;break a}o=pd,pd=a,o!==null&&(pd===null?pd=o:pd.push.apply(pd,o))}a=s}if(o=!1,a!==2)continue}}if(a===1){Hd(e,0),zd(e,t,0,!0);break}a:{switch(r=e,o=a,o){case 0:case 1:throw Error(i(345));case 4:if((t&4194048)!==t&&(t&62914560)!==t)break;case 6:zd(r,t,ud,!nd);break a;case 2:pd=null;break;case 3:case 5:break;default:throw Error(i(329))}if((t&62914560)===t&&(a=hd+300-qe(),10<a)){if(zd(r,t,ud,!nd),pt(r,0,!0)!==0)break a;Cd=t,r.timeoutHandle=gp(Ld.bind(null,r,n,pd,vd,md,t,ud,cd,dd,nd,o,`Throttled`,-0,0),a);break a}Ld(r,n,pd,vd,md,t,ud,cd,dd,nd,o,null,-0,0)}break}while(1);Df(e)}function Ld(e,t,n,r,i,a,o,s,c,l,u,d,f,p){e.timeoutHandle=-1;var m=t.subtreeFlags,h=(a&335544064)===a;if(d=null,(h||m&8192||(m&16785408)==16785408)&&(d={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:wn},Ul=null,Ku(t,a,d),h&&(m=d,h=e.containerInfo,h=(h.nodeType===9?h:h.ownerDocument).__reactViewTransition,h!=null&&(m.count++,m.waitingForViewTransition=!0,m=nh.bind(m),h.finished.then(m,m))),m=(a&62914560)===a?hd-qe():(a&4194048)===a?gd-qe():0,m=eh(d,m),m!==null)){Cd=a,e.cancelPendingCommit=m(rf.bind(null,e,t,a,n,r,i,o,s,c,l,u,d,null,f,p)),zd(e,a,o,!l);return}rf(e,t,a,n,r,i,o,s,c,l,u,d)}function Rd(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 i=n[r],a=i.getSnapshot;i=i.value;try{if(!Kr(a(),i))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 zd(e,t,n,r){t=M(e,t),t&=~ld,t&=~cd,e.suspendedLanes|=t,e.pingedLanes&=~t,r&&(e.warmLanes|=t),r=e.expirationTimes;for(var i=t;0<i;){var a=31-at(i),o=1<<a;r[a]=-1,i&=~o}n!==0&&bt(e,n,t)}function Bd(){return $u&6?!0:(Of(0,!1),!1)}function Vd(){if(q!==null){if(td===0)var e=q.return;else e=q,va=_a=null,os(e),oo=null,so=0,e=q;for(;e!==null;)Cl(e.alternate,e),e=e.return;q=null}}function Hd(e,t){var n=e.timeoutHandle;return n!==-1&&(e.timeoutHandle=-1,_p(n)),n=e.cancelPendingCommit,n!==null&&(e.cancelPendingCommit=null,n()),Cd=0,Vd(),ed=e,q=n=Li(e.current,null),J=t,td=0,Y=null,nd=!1,rd=mt(e,t),id=!1,dd=ud=ld=cd=sd=od=0,pd=fd=null,md=!1,ad=M(e,t),Di(),n}function Ud(e,t){V=null,A.H=gc,t===Xa||t===Qa?(t=io(),td=3):t===Za?(t=io(),td=4):td=t===Pc?8:typeof t==`object`&&t&&typeof t.then==`function`?6:1,Y=t,q===null&&(od=1,Oc(e,Gi(t,e.current)))}function Wd(){var e=jo.current;return e===null?!0:(J&4194048)===J?Mo===null:(J&62914560)===J||J&536870912?e===Mo:!1}function Gd(){var e=A.H;return A.H=gc,e===null?gc:e}function Kd(){var e=A.A;return A.A=Zu,e}function qd(){od=4,nd||(J&4194048)!==J&&jo.current!==null||(rd=!0),!(sd&134217727)&&!(cd&134217727)||ed===null||zd(ed,J,ud,!1)}function Jd(e,t,n){var r=$u;$u|=2;var i=Gd(),a=Kd();(ed!==e||J!==t)&&(vd=null,Hd(e,t)),t=!1;var o=od;a:do try{if(td!==0&&q!==null){var s=q,c=Y;switch(td){case 8:Vd(),o=6;break a;case 3:case 2:case 9:case 6:jo.current===null&&(t=!0);var l=td;if(td=0,Y=null,ef(e,s,c,l),n&&rd){o=0;break a}break;default:l=td,td=0,Y=null,ef(e,s,c,l)}}Yd(),o=od;break}catch(t){Ud(e,t)}while(1);return t&&e.shellSuspendCounter++,va=_a=null,$u=r,A.H=i,A.A=a,q===null&&(ed=null,J=0,Di()),o}function Yd(){for(;q!==null;)Qd(q)}function Xd(e,t){var n=$u;$u|=2;var r=Gd(),a=Kd();ed!==e||J!==t?(vd=null,_d=qe()+500,Hd(e,t)):rd=mt(e,t);a:do try{if(td!==0&&q!==null){t=q;var o=Y;b:switch(td){case 1:td=0,Y=null,ef(e,t,o,1);break;case 2:case 9:if(eo(o)){td=0,Y=null,$d(t);break}t=function(){td!==2&&td!==9||ed!==e||(td=7),Df(e)},o.then(t,t);break a;case 3:td=7;break a;case 4:td=5;break a;case 7:eo(o)?(td=0,Y=null,$d(t)):(td=0,Y=null,ef(e,t,o,7));break;case 5:var s=null;switch(q.tag){case 26:s=q.memoizedState;case 5:case 27:var c=q;if(s?Ym(s):c.stateNode.complete){td=0,Y=null;var l=c.sibling;if(l!==null)q=l;else{var u=c.return;u===null?q=null:(q=u,tf(u))}break b}}td=0,Y=null,ef(e,t,o,5);break;case 6:td=0,Y=null,ef(e,t,o,6);break;case 8:Vd(),od=6;break a;default:throw Error(i(462))}}Zd();break}catch(t){Ud(e,t)}while(1);return va=_a=null,A.H=r,A.A=a,$u=n,q===null?(ed=null,J=0,Di(),od):0}function Zd(){for(;q!==null&&!Ge();)Qd(q)}function Qd(e){var t=ml(e.alternate,e,ad);e.memoizedProps=e.pendingProps,t===null?tf(e):q=t}function $d(e){var t=e,n=t.alternate;switch(t.tag){case 15:case 0:t=Jc(n,t,t.pendingProps,t.type,void 0,J);break;case 11:t=Jc(n,t,t.pendingProps,t.type.render,t.ref,J);break;case 5:os(t);var r=t;r===oa&&(R?(fa(r),r.tag===5&&r.stateNode!=null&&(L=r.stateNode)):(fa(r),R=!0));default:Cl(n,t),t=q=Ri(t,ad),t=ml(n,t,ad)}e.memoizedProps=e.pendingProps,t===null?tf(e):q=t}function ef(e,t,n,r){va=_a=null,os(t),oo=null,so=0;var i=t.return;try{if(Nc(e,i,t,n,J)){od=1,Oc(e,Gi(n,e.current)),q=null;return}}catch(t){if(i!==null)throw q=i,t;od=1,Oc(e,Gi(n,e.current)),q=null;return}t.flags&32768?(R||r===1?e=!0:rd||J&536870912?e=!1:(nd=e=!0,(r===2||r===9||r===3||r===6)&&(r=jo.current,r!==null&&r.tag===13&&(r.flags|=16384))),nf(t,e)):tf(t)}function tf(e){var t=e;do{if(t.flags&32768){nf(t,nd);return}e=t.return;var n=xl(t.alternate,t,ad);if(n!==null){q=n;return}if(t=t.sibling,t!==null){q=t;return}q=t=e}while(t!==null);od===0&&(od=5)}function nf(e,t){do{var n=Sl(e.alternate,e);if(n!==null){n.flags&=32767,q=n;return}if(n=e.return,n!==null&&(n.flags|=32768,n.subtreeFlags=0,n.deletions=null),!t&&(e=e.sibling,e!==null)){q=e;return}q=e=n}while(e!==null);od=6,q=null}function rf(e,t,n,r,a,o,s,c,l,u,d,f){e.cancelPendingCommit=null;do ff();while(bd!==0);if($u&6)throw Error(i(327));if(t!==null){if(t===e.current)throw Error(i(177));e===ed&&(q=ed=null,J=0),Sd=t,xd=e,Cd=n,Td=a,Ed=r,af(e,t,n,s,c,l,f)}}function af(e,t,n,r,i,a,o){var s=t.lanes|t.childLanes;if(wd=s,s|=Ei,yt(e,n,s,r,i,a),Od=null,(n&335544064)===n?(kd=La(e),r=10262):(kd=null,r=10256),(t.subtreeFlags&r)!==0||(t.flags&r)!==0?(e.callbackNode=null,e.callbackPriority=0,xf(Ze,function(){return pf(),null})):(e.callbackNode=null,e.callbackPriority=0),Hl=!1,r=!!(t.flags&13878),t.subtreeFlags&13878||r){r=A.T,A.T=null,i=j.p,j.p=2,a=$u,$u|=4;try{gu(e,t,n)}finally{$u=a,j.p=i,A.T=r}}bd=1,Hl?Dd=Mp(o,e.containerInfo,kd,cf,lf,sf,uf,pf,of,null,null):(cf(),lf(),uf())}function of(e){if(bd!==0){var t=xd.onRecoverableError;t(e,{componentStack:null})}}function sf(){bd===3&&(bd=0,Pu(Sd,xd),bd=4)}function cf(){if(bd===1){bd=0;var e=xd,t=Sd,n=Cd,r=!!(t.flags&13878);if(t.subtreeFlags&13878||r){r=A.T,A.T=null;var i=j.p;j.p=2;var a=$u;$u|=4;try{pu=mu=!1,Au(t,e,n),n=cp;var o=Qr(e.containerInfo),s=n.focusedElem,c=n.selectionRange;if(o!==s&&s&&s.ownerDocument&&Zr(s.ownerDocument.documentElement,s)){if(c!==null&&$r(s)){var l=c.start,u=c.end;if(u===void 0&&(u=l),`selectionStart`in s)s.selectionStart=l,s.selectionEnd=Math.min(u,s.value.length);else{var d=s.ownerDocument||document,f=d&&d.defaultView||window;if(f.getSelection){var p=f.getSelection(),m=s.textContent.length,h=Math.min(c.start,m),g=c.end===void 0?h:Math.min(c.end,m);!p.extend&&h>g&&(o=g,g=h,h=o);var _=Xr(s,h),v=Xr(s,g);if(_&&v&&(p.rangeCount!==1||p.anchorNode!==_.node||p.anchorOffset!==_.offset||p.focusNode!==v.node||p.focusOffset!==v.offset)){var y=d.createRange();y.setStart(_.node,_.offset),p.removeAllRanges(),h>g?(p.addRange(y),p.extend(v.node,v.offset)):(y.setEnd(v.node,v.offset),p.addRange(y))}}}}for(d=[],p=s;p=p.parentNode;)p.nodeType===1&&d.push({element:p,left:p.scrollLeft,top:p.scrollTop});for(typeof s.focus==`function`&&s.focus(),s=0;s<d.length;s++){var b=d[s];b.element.scrollLeft=b.left,b.element.scrollTop=b.top}}gh=!!sp,cp=sp=null}finally{$u=a,j.p=i,A.T=r}}e.current=t,bd=2}}function lf(){if(bd===2){bd=0;var e=xd,t=Sd,n=!!(t.flags&8772);if(t.subtreeFlags&8772||n){n=A.T,A.T=null;var r=j.p;j.p=2;var i=$u;$u|=4;try{vu(e,t.alternate,t)}finally{$u=i,j.p=r,A.T=n}}bd=3}}function uf(){if(bd===4||bd===3){bd=0;var e=Dd;Dd=null,Ke();var t=xd,n=Sd,r=Cd,i=Ed,a=(r&335544064)===r?10262:10256;if((n.subtreeFlags&a)!==0||(n.flags&a)!==0?bd=5:(bd=0,Sd=xd=null,df(t,t.pendingLanes)),a=t.pendingLanes,a===0&&(yd=null),wt(r),n=n.stateNode,rt&&typeof rt.onCommitFiberRoot==`function`)try{rt.onCommitFiberRoot(nt,n,void 0,(n.current.flags&128)==128)}catch{}if(i!==null){n=A.T,a=j.p,j.p=2,A.T=null;try{for(var o=t.onRecoverableError,s=0;s<i.length;s++){var c=i[s];o(c.value,{componentStack:c.stack})}}finally{A.T=n,j.p=a}}if(i=Od,o=kd,kd=null,i!==null&&(Od=null,o===null&&(o=[]),e!==null))for(c=0;c<i.length;c++)n=(0,i[c])(o),n!==void 0&&e.finished.finally(n);Cd&3&&ff(),Df(t),a=t.pendingLanes,r&261930&&a&42?t===jd?Ad++:(Ad=0,jd=t):(Ad=0,jd=null),Of(0,!1)}}function df(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,Pa(t)))}function ff(){return Dd!==null&&(Dd.skipTransition(),Dd=null),cf(),lf(),uf(),pf()}function pf(){if(bd!==5)return!1;var e=xd,t=wd;wd=0;var n=wt(Cd),r=A.T,a=j.p;try{j.p=32>n?32:n,A.T=null,n=Td,Td=null;var o=xd,s=Cd;if(bd=0,Sd=xd=null,Cd=0,$u&6)throw Error(i(331));var c=$u;if($u|=4,Yu(o.current),Vu(o,o.current,s,n),$u=c,Of(0,!1),rt&&typeof rt.onPostCommitFiberRoot==`function`)try{rt.onPostCommitFiberRoot(nt,o)}catch{}return!0}finally{j.p=a,A.T=r,df(e,t)}}function mf(e,t,n){t=Gi(n,t),t=Ac(e.stateNode,t,2),e=yo(e,t,2),e!==null&&(vt(e,2),Df(e))}function hf(e,t,n){if(e.tag===3)mf(e,e,n);else for(;t!==null;){if(t.tag===3){mf(t,e,n);break}if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError==`function`||typeof r.componentDidCatch==`function`&&(yd===null||!yd.has(r))){e=Gi(n,e),n=jc(2),r=yo(t,n,2),r!==null&&(Mc(n,r,t,e),vt(r,2),Df(r));break}}t=t.return}}function gf(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new Qu;var i=new Set;r.set(t,i)}else i=r.get(t),i===void 0&&(i=new Set,r.set(t,i));i.has(n)||(id=!0,i.add(n),e=_f.bind(null,e,t,n),t.then(e,e))}function _f(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,ed===e&&(J&n)===n&&(od===4||od===3&&(J&62914560)===J&&300>qe()-hd?$u&2?ld|=n:Hd(e,0):ld|=n,dd===J&&(dd=0)),Df(e)}function vf(e,t){t===0&&(t=gt()),e=Ai(e,t),e!==null&&(vt(e,t),Df(e))}function yf(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),vf(e,n)}function bf(e,t){var n=0;switch(e.tag){case 31:case 13:var r=e.stateNode,a=e.memoizedState;a!==null&&(n=a.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(i(314))}r!==null&&r.delete(t),vf(e,n)}function xf(e,t){return Ue(e,t)}var Sf=null,X=null,Cf=!1,wf=!1,Tf=!1,Ef=0;function Df(e){e!==X&&e.next===null&&(X===null?Sf=X=e:X=X.next=e),wf=!0,Cf||(Cf=!0,Pf())}function Of(e,t){if(!Tf&&wf){Tf=!0;do for(var n=!1,r=Sf;r!==null;){if(!t){if(e!==0){var i=r.pendingLanes;if(i===0)var a=0;else{var o=r.suspendedLanes,s=r.pingedLanes;a=(1<<31-at(42|e)+1)-1,a&=i&~(o&~s),a=a&201326741?a&201326741|1:a?a|2:0}a!==0&&(n=!0,Nf(r,a))}else a=J,a=pt(r,r===ed?a:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),!(a&3)||mt(r,a)||(n=!0,Nf(r,a))}r=r.next}while(n);Tf=!1}}function kf(){Af()}function Af(){wf=Cf=!1;var e=0;Ef!==0&&hp()&&(e=Ef);for(var t=qe(),n=null,r=Sf;r!==null;){var i=r.next,a=jf(r,t);a===0?(r.next=null,n===null?Sf=i:n.next=i,i===null&&(X=n)):(n=r,(e!==0||a&3)&&(wf=!0)),r=i}bd!==0&&bd!==5||Of(e,!1),Ef!==0&&(Ef=0)}function jf(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,a=e.pendingLanes&-62914561;0<a;){var o=31-at(a),s=1<<o,c=i[o];c===-1?((s&n)===0||(s&r)!==0)&&(i[o]=ht(s,t)):c<=t&&(e.expiredLanes|=s),a&=~s}if(t=ed,n=J,n=pt(e,e===t?n:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r=e.callbackNode,n===0||e===t&&(td===2||td===9)||e.cancelPendingCommit!==null)return r!==null&&r!==null&&We(r),e.callbackNode=null,e.callbackPriority=0;if(!(n&3)||mt(e,n)){if(t=n&-n,t===e.callbackPriority)return t;switch(r!==null&&We(r),wt(n)){case 2:case 8:n=Xe;break;case 32:n=Ze;break;case 268435456:n=$e;break;default:n=Ze}return r=Mf.bind(null,e),n=Ue(n,r),e.callbackPriority=t,e.callbackNode=n,t}return r!==null&&r!==null&&We(r),e.callbackPriority=2,e.callbackNode=null,2}function Mf(e,t){if(bd!==0&&bd!==5)return e.callbackNode=null,e.callbackPriority=0,null;var n=e.callbackNode;if(ff()&&e.callbackNode!==n)return null;var r=J;return r=pt(e,e===ed?r:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r===0?null:(Id(e,r,t),jf(e,qe()),e.callbackNode!=null&&e.callbackNode===n?Mf.bind(null,e):null)}function Nf(e,t){if(ff())return null;Id(e,t,!0)}function Pf(){bp(function(){$u&6?Ue(Ye,kf):Af()})}function Ff(){if(Ef===0){var e=Ba;e===0&&(e=lt,lt<<=1,!(lt&261888)&&(lt=256)),Ef=e}return Ef}function Z(e){return e==null||typeof e==`symbol`||typeof e==`boolean`?null:typeof e==`function`?e:Cn(e)}function If(e,t,n,r,i){if(t===`submit`&&n&&n.stateNode===i){var a=Z((i[kt]||null).action),o=r.submitter;o&&(t=(t=o[kt]||null)?Z(t.formAction):o.getAttribute(`formAction`),t!==null&&(a=t,o=null));var s=new Wn(`action`,`action`,null,r,i);e.push({event:s,listeners:[{instance:null,listener:function(){if(r.defaultPrevented){if(Ef!==0){var e=new FormData(i,o);nc(n,{pending:!0,data:e,method:i.method,action:a},null,e)}}else typeof a==`function`&&(s.preventDefault(),e=new FormData(i,o),nc(n,{pending:!0,data:e,method:i.method,action:a},a,e))},currentTarget:i}]})}}for(var Lf=0;Lf<I.length;Lf++){var Rf=I[Lf];vi(Rf.toLowerCase(),`on`+(Rf[0].toUpperCase()+Rf.slice(1)))}vi(di,`onAnimationEnd`),vi(fi,`onAnimationIteration`),vi(F,`onAnimationStart`),vi(`dblclick`,`onDoubleClick`),vi(`focusin`,`onFocus`),vi(`focusout`,`onBlur`),vi(pi,`onTransitionRun`),vi(mi,`onTransitionStart`),vi(hi,`onTransitionCancel`),vi(gi,`onTransitionEnd`),qt(`onMouseEnter`,[`mouseout`,`mouseover`]),qt(`onMouseLeave`,[`mouseout`,`mouseover`]),qt(`onPointerEnter`,[`pointerout`,`pointerover`]),qt(`onPointerLeave`,[`pointerout`,`pointerover`]),Kt(`onChange`,`change click focusin focusout input keydown keyup selectionchange`.split(` `)),Kt(`onSelect`,`focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange`.split(` `)),Kt(`onBeforeInput`,[`compositionend`,`keypress`,`textInput`,`paste`]),Kt(`onCompositionEnd`,`compositionend focusout keydown keypress keyup mousedown`.split(` `)),Kt(`onCompositionStart`,`compositionstart focusout keydown keypress keyup mousedown`.split(` `)),Kt(`onCompositionUpdate`,`compositionupdate focusout keydown keypress keyup mousedown`.split(` `));var zf=`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(` `),Bf=new Set(`beforetoggle cancel close invalid load scroll scrollend toggle`.split(` `).concat(zf));function Vf(e,t){t=!!(t&4);for(var n=0;n<e.length;n++){var r=e[n],i=r.event;r=r.listeners;a:{var a=void 0;if(t)for(var o=r.length-1;0<=o;o--){var s=r[o],c=s.instance,l=s.currentTarget;if(s=s.listener,c!==a&&i.isPropagationStopped())break a;a=s,i.currentTarget=l;try{a(i)}catch(e){Ci(e)}i.currentTarget=null,a=c}else for(o=0;o<r.length;o++){if(s=r[o],c=s.instance,l=s.currentTarget,s=s.listener,c!==a&&i.isPropagationStopped())break a;a=s,i.currentTarget=l;try{a(i)}catch(e){Ci(e)}i.currentTarget=null,a=c}}}}function Q(e,t){var n=t[jt];n===void 0&&(n=t[jt]=new Set);var r=e+`__bubble`;n.has(r)||(Gf(t,e,2,!1),n.add(r))}function Hf(e,t,n){var r=0;t&&(r|=4),Gf(n,e,r,t)}var Uf=`_reactListening`+Math.random().toString(36).slice(2);function Wf(e){if(!e[Uf]){e[Uf]=!0,Wt.forEach(function(t){t!==`selectionchange`&&(Bf.has(t)||Hf(t,!1,e),Hf(t,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[Uf]||(t[Uf]=!0,Hf(`selectionchange`,!1,t))}}function Gf(e,t,n,r){switch(Ch(t)){case 2:var i=_h;break;case 8:i=vh;break;default:i=yh}n=i.bind(null,t,n,e),i=void 0,!Pn||t!==`touchstart`&&t!==`touchmove`&&t!==`wheel`||(i=!0),r?i===void 0?e.addEventListener(t,n,!0):e.addEventListener(t,n,{capture:!0,passive:i}):i===void 0?e.addEventListener(t,n,!1):e.addEventListener(t,n,{passive:i})}function Kf(e,t,n,r,i){var a=r;if(!(t&1)&&!(t&2)&&r!==null)a:for(;;){if(r===null)return;var s=r.tag;if(s===3||s===4){var c=r.stateNode.containerInfo;if(c===i)break;if(s===4)for(s=r.return;s!==null;){var l=s.tag;if((l===3||l===4)&&s.stateNode.containerInfo===i)return;s=s.return}for(;c!==null;){if(s=Rt(c),s===null)return;if(l=s.tag,l===5||l===6||l===26||l===27){r=a=s;continue a}c=c.parentNode}}r=r.return}jn(function(){var r=a,i=En(n),s=[];a:{var c=_i.get(e);if(c!==void 0){var l=Wn,u=e;switch(e){case`keypress`:if(zn(n)===0)break a;case`keydown`:case`keyup`:l=cr;break;case`focusin`:u=`focus`,l=$n;break;case`focusout`:u=`blur`,l=$n;break;case`beforeblur`:case`afterblur`:l=$n;break;case`click`:if(n.button===2)break a;case`auxclick`:case`dblclick`:case`mousedown`:case`mousemove`:case`mouseup`:case`mouseout`:case`mouseover`:case`contextmenu`:l=Zn;break;case`drag`:case`dragend`:case`dragenter`:case`dragexit`:case`dragleave`:case`dragover`:case`dragstart`:case`drop`:l=Qn;break;case`touchcancel`:case`touchend`:case`touchmove`:case`touchstart`:l=dr;break;case di:case fi:case F:l=er;break;case gi:l=fr;break;case`scroll`:case`scrollend`:l=Kn;break;case`wheel`:l=pr;break;case`copy`:case`cut`:case`paste`:l=tr;break;case`gotpointercapture`:case`lostpointercapture`:case`pointercancel`:case`pointerdown`:case`pointermove`:case`pointerout`:case`pointerover`:case`pointerup`:l=lr;break;case`submit`:l=ur;break;case`toggle`:case`beforetoggle`:l=mr}var d=!!(t&4),f=!d&&(e===`scroll`||e===`scrollend`),p=d?c===null?null:c+`Capture`:c;d=[];for(var m=r,h;m!==null;){var g=m;if(h=g.stateNode,g=g.tag,g!==5&&g!==26&&g!==27||h===null||p===null||(g=Mn(m,p),g!=null&&d.push(qf(m,g,h))),f)break;m=m.return}0<d.length&&(c=new l(c,u,null,n,i),s.push({event:c,listeners:d}))}}if(!(t&7)){a:{if(l=e===`mouseover`||e===`pointerover`,c=e===`mouseout`||e===`pointerout`,l&&n!==Tn&&(u=n.relatedTarget||n.fromElement)&&(Rt(u)||u[At]))break a;(c||l)&&(u=i.window===i?i:(l=i.ownerDocument)?l.defaultView||l.parentWindow:window,c?(l=n.relatedTarget||n.toElement,c=r,l=l?Rt(l):null,l!==null&&(f=o(l),d=l.tag,l!==f||d!==5&&d!==27&&d!==6)&&(l=null)):(c=null,l=r),c!==l&&(d=Zn,g=`onMouseLeave`,p=`onMouseEnter`,m=`mouse`,(e===`pointerout`||e===`pointerover`)&&(d=lr,g=`onPointerLeave`,p=`onPointerEnter`,m=`pointer`),f=c==null?u:Bt(c),h=l==null?u:Bt(l),u=new d(g,m+`leave`,c,n,i),u.target=f,u.relatedTarget=h,g=null,Rt(i)===r&&(d=new d(p,m+`enter`,l,n,i),d.target=h,d.relatedTarget=f,g=d),f=g,d=c&&l?ee(c,l,$):null,c!==null&&Yf(s,u,c,d,!1),l!==null&&f!==null&&Yf(s,f,l,d,!0)))}a:{if(c=r?Bt(r):window,l=c.nodeName&&c.nodeName.toLowerCase(),l===`select`||l===`input`&&c.type===`file`)var _=Pr;else if(Or(c)){if(Fr)_=Wr;else{_=Hr;var v=Vr}}else l=c.nodeName,!l||l.toLowerCase()!==`input`||c.type!==`checkbox`&&c.type!==`radio`?r&&bn(r.elementType)&&(_=Pr):_=Ur;if(_&&=_(e,r)){kr(s,_,n,i);break a}v&&v(e,c,r)}switch(v=r?Bt(r):window,e){case`focusin`:(Or(v)||v.contentEditable===`true`)&&(ti=v,ni=r,ri=null);break;case`focusout`:ri=ni=ti=null;break;case`mousedown`:ii=!0;break;case`contextmenu`:case`mouseup`:case`dragend`:ii=!1,ai(s,n,i);break;case`selectionchange`:if(ei)break;case`keydown`:case`keyup`:ai(s,n,i)}var y;if(gr)b:{switch(e){case`compositionstart`:var b=`onCompositionStart`;break b;case`compositionend`:b=`onCompositionEnd`;break b;case`compositionupdate`:b=`onCompositionUpdate`;break b}b=void 0}else wr?Sr(e,n)&&(b=`onCompositionEnd`):e===`keydown`&&n.keyCode===229&&(b=`onCompositionStart`);b&&(yr&&n.locale!==`ko`&&(wr||b!==`onCompositionStart`?b===`onCompositionEnd`&&wr&&(y=Rn()):(In=i,Ln=`value`in In?In.value:In.textContent,wr=!0)),v=Jf(r,b),0<v.length&&(b=new nr(b,e,null,n,i),s.push({event:b,listeners:v}),y?b.data=y:(y=Cr(n),y!==null&&(b.data=y)))),(y=vr?Tr(e,n):Er(e,n))&&(b=Jf(r,`onBeforeInput`),0<b.length&&(v=new nr(`onBeforeInput`,`beforeinput`,null,n,i),s.push({event:v,listeners:b}),v.data=y)),If(s,e,r,n,i)}Vf(s,t)})}function qf(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Jf(e,t){for(var n=t+`Capture`,r=[];e!==null;){var i=e,a=i.stateNode;if(i=i.tag,i!==5&&i!==26&&i!==27||a===null||(i=Mn(e,n),i!=null&&r.unshift(qf(e,i,a)),i=Mn(e,t),i!=null&&r.push(qf(e,i,a))),e.tag===3)return r;e=e.return}return[]}function $(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function Yf(e,t,n,r,i){for(var a=t._reactName,o=[];n!==null&&n!==r;){var s=n,c=s.alternate,l=s.stateNode;if(s=s.tag,c!==null&&c===r)break;s!==5&&s!==26&&s!==27||l===null||(c=l,i?(l=Mn(n,a),l!=null&&o.unshift(qf(n,l,c))):i||(l=Mn(n,a),l!=null&&o.push(qf(n,l,c)))),n=n.return}o.length!==0&&e.push({event:t,listeners:o})}var Xf=/\r\n?/g,Zf=/\u0000|\uFFFD/g;function Qf(e){return(typeof e==`string`?e:``+e).replace(Xf,`
9
- `).replace(Zf,``)}function $f(e,t){return t=Qf(t),Qf(e)===t}function ep(e,t,n,r,a,o){switch(n){case`children`:if(typeof r==`string`)t===`body`||t===`textarea`&&r===``||gn(e,r);else if(typeof r==`number`||typeof r==`bigint`)t!==`body`&&gn(e,``+r);else return;break;case`className`:en(e,`class`,r);break;case`tabIndex`:en(e,`tabindex`,r);break;case`dir`:case`role`:case`viewBox`:case`width`:case`height`:en(e,n,r);break;case`style`:yn(e,r,o);return;case`data`:if(t!==`object`){en(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=Cn(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}if(typeof o==`function`&&(n===`formAction`?(t!==`input`&&ep(e,t,`name`,a.name,a,null),ep(e,t,`formEncType`,a.formEncType,a,null),ep(e,t,`formMethod`,a.formMethod,a,null),ep(e,t,`formTarget`,a.formTarget,a,null)):(ep(e,t,`encType`,a.encType,a,null),ep(e,t,`method`,a.method,a,null),ep(e,t,`target`,a.target,a,null))),r==null||typeof r==`symbol`||typeof r==`boolean`){e.removeAttribute(n);break}r=Cn(r),e.setAttribute(n,r);break;case`onClick`:r!=null&&(e.onclick=wn);return;case`onScroll`:r!=null&&Q(`scroll`,e);return;case`onScrollEnd`:r!=null&&Q(`scrollend`,e);return;case`dangerouslySetInnerHTML`:if(r!=null){if(typeof r!=`object`||!(`__html`in r))throw Error(i(61));if(n=r.__html,n!=null){if(a.children!=null)throw Error(i(60));o?.__html!==n&&(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=Cn(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`credentialless`: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`:!0===r?e.setAttribute(n,``):!1!==r&&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`:Q(`beforetoggle`,e),Q(`toggle`,e),$t(e,`popover`,r);break;case`xlinkActuate`:tn(e,`http://www.w3.org/1999/xlink`,`xlink:actuate`,r);break;case`xlinkArcrole`:tn(e,`http://www.w3.org/1999/xlink`,`xlink:arcrole`,r);break;case`xlinkRole`:tn(e,`http://www.w3.org/1999/xlink`,`xlink:role`,r);break;case`xlinkShow`:tn(e,`http://www.w3.org/1999/xlink`,`xlink:show`,r);break;case`xlinkTitle`:tn(e,`http://www.w3.org/1999/xlink`,`xlink:title`,r);break;case`xlinkType`:tn(e,`http://www.w3.org/1999/xlink`,`xlink:type`,r);break;case`xmlBase`:tn(e,`http://www.w3.org/XML/1998/namespace`,`xml:base`,r);break;case`xmlLang`:tn(e,`http://www.w3.org/XML/1998/namespace`,`xml:lang`,r);break;case`xmlSpace`:tn(e,`http://www.w3.org/XML/1998/namespace`,`xml:space`,r);break;case`is`:$t(e,`is`,r);break;case`innerText`:case`textContent`:return;default:if(!(2<n.length)||n[0]!==`o`&&n[0]!==`O`||n[1]!==`n`&&n[1]!==`N`)n=xn.get(n)||n,$t(e,n,r);else return}N=!0}function tp(e,t,n,r,a,o){switch(n){case`style`:yn(e,r,o);return;case`dangerouslySetInnerHTML`:if(r!=null){if(typeof r!=`object`||!(`__html`in r))throw Error(i(61));if(n=r.__html,n!=null){if(a.children!=null)throw Error(i(60));o?.__html!==n&&(e.innerHTML=n)}}break;case`children`:if(typeof r==`string`)gn(e,r);else if(typeof r==`number`||typeof r==`bigint`)gn(e,``+r);else return;break;case`onScroll`:r!=null&&Q(`scroll`,e);return;case`onScrollEnd`:r!=null&&Q(`scrollend`,e);return;case`onClick`:r!=null&&(e.onclick=wn);return;case`suppressContentEditableWarning`:case`suppressHydrationWarning`:case`innerHTML`:case`ref`:return;case`innerText`:case`textContent`:return;default:if(!Gt.hasOwnProperty(n))a:{if(n[0]===`o`&&n[1]===`n`&&(a=n.endsWith(`Capture`),o=n.slice(2,a?n.length-7:void 0),t=e[kt]||null,t=t==null?null:t[n],typeof t==`function`&&e.removeEventListener(o,t,a),typeof r==`function`)){typeof t!=`function`&&t!==null&&(n in e?e[n]=null:e.hasAttribute(n)&&e.removeAttribute(n)),e.addEventListener(o,r,a);break a}N=!0,n in e?e[n]=r:!0===r?e.setAttribute(n,``):$t(e,n,r)}return}N=!0}function np(e,t,n){switch(t){case`div`:case`span`:case`svg`:case`path`:case`a`:case`g`:case`p`:case`li`:break;case`img`:Q(`error`,e),Q(`load`,e);var r=!1,a=!1,o;for(o in n)if(n.hasOwnProperty(o)){var s=n[o];if(s!=null)switch(o){case`src`:r=!0;break;case`srcSet`:a=!0;break;case`children`:case`dangerouslySetInnerHTML`:throw Error(i(137,t));default:ep(e,t,o,s,n,null)}}a&&ep(e,t,`srcSet`,n.srcSet,n,null),r&&ep(e,t,`src`,n.src,n,null);return;case`input`:Q(`invalid`,e);var c=o=s=a=null,l=null,u=null;for(r in n)if(n.hasOwnProperty(r)){var d=n[r];if(d!=null)switch(r){case`name`:a=d;break;case`type`:s=d;break;case`checked`:l=d;break;case`defaultChecked`:u=d;break;case`value`:o=d;break;case`defaultValue`:c=d;break;case`children`:case`dangerouslySetInnerHTML`:if(d!=null)throw Error(i(137,t));break;default:ep(e,t,r,d,n,null)}}dn(e,o,c,l,u,s,a,!1);return;case`select`:for(a in Q(`invalid`,e),r=s=o=null,n)if(n.hasOwnProperty(a)&&(c=n[a],c!=null))switch(a){case`value`:o=c;break;case`defaultValue`:s=c;break;case`multiple`:r=c;default:ep(e,t,a,c,n,null)}t=o,n=s,e.multiple=!!r,t==null?n!=null&&pn(e,!!r,n,!0):pn(e,!!r,t,!1);return;case`textarea`:for(s in Q(`invalid`,e),o=a=r=null,n)if(n.hasOwnProperty(s)&&(c=n[s],c!=null))switch(s){case`value`:r=c;break;case`defaultValue`:a=c;break;case`children`:o=c;break;case`dangerouslySetInnerHTML`:if(c!=null)throw Error(i(91));break;default:ep(e,t,s,c,n,null)}hn(e,r,a,o);return;case`option`:for(l in n)if(n.hasOwnProperty(l)&&(r=n[l],r!=null))switch(l){case`selected`:e.selected=r&&typeof r!=`function`&&typeof r!=`symbol`;break;default:ep(e,t,l,r,n,null)}return;case`dialog`:Q(`beforetoggle`,e),Q(`toggle`,e),Q(`cancel`,e),Q(`close`,e);break;case`iframe`:case`object`:Q(`load`,e);break;case`video`:case`audio`:for(r=0;r<zf.length;r++)Q(zf[r],e);break;case`image`:Q(`error`,e),Q(`load`,e);break;case`details`:Q(`toggle`,e);break;case`embed`:case`source`:case`link`:Q(`error`,e),Q(`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(u in n)if(n.hasOwnProperty(u)&&(r=n[u],r!=null))switch(u){case`children`:case`dangerouslySetInnerHTML`:throw Error(i(137,t));default:ep(e,t,u,r,n,null)}return;default:if(bn(t)){for(d in n)n.hasOwnProperty(d)&&(r=n[d],r!==void 0&&tp(e,t,d,r,n,void 0));return}}for(c in n)n.hasOwnProperty(c)&&(r=n[c],r!=null&&ep(e,t,c,r,n,null))}var rp={};function ip(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 a=null,o=null,s=null,c=null,l=null,u=null,d=null;for(m in n){var f=n[m];if(n.hasOwnProperty(m)&&f!=null)switch(m){case`checked`:break;case`value`:break;case`defaultValue`:l=f;default:r.hasOwnProperty(m)||ep(e,t,m,null,r,f)}}for(var p in r){var m=r[p];if(f=n[p],r.hasOwnProperty(p)&&(m!=null||f!=null))switch(p){case`type`:m!==f&&(N=!0),o=m;break;case`name`:m!==f&&(N=!0),a=m;break;case`checked`:m!==f&&(N=!0),u=m;break;case`defaultChecked`:m!==f&&(N=!0),d=m;break;case`value`:m!==f&&(N=!0),s=m;break;case`defaultValue`:m!==f&&(N=!0),c=m;break;case`children`:case`dangerouslySetInnerHTML`:if(m!=null)throw Error(i(137,t));break;default:m!==f&&ep(e,t,p,m,r,f)}}un(e,s,c,l,u,d,o,a);return;case`select`:for(o in m=s=c=p=null,n)if(l=n[o],n.hasOwnProperty(o)&&l!=null)switch(o){case`value`:break;case`multiple`:m=l;default:r.hasOwnProperty(o)||ep(e,t,o,null,r,l)}for(a in r)if(o=r[a],l=n[a],r.hasOwnProperty(a)&&(o!=null||l!=null))switch(a){case`value`:o!==l&&(N=!0),p=o;break;case`defaultValue`:o!==l&&(N=!0),c=o;break;case`multiple`:o!==l&&(N=!0),s=o;default:o!==l&&ep(e,t,a,o,r,l)}t=c,n=s,r=m,p==null?!!r!=!!n&&(t==null?pn(e,!!n,n?[]:``,!1):pn(e,!!n,t,!0)):pn(e,!!n,p,!1);return;case`textarea`:for(c in m=p=null,n)if(a=n[c],n.hasOwnProperty(c)&&a!=null&&!r.hasOwnProperty(c))switch(c){case`value`:break;case`children`:break;default:ep(e,t,c,null,r,a)}for(s in r)if(a=r[s],o=n[s],r.hasOwnProperty(s)&&(a!=null||o!=null))switch(s){case`value`:a!==o&&(N=!0),p=a;break;case`defaultValue`:a!==o&&(N=!0),m=a;break;case`children`:break;case`dangerouslySetInnerHTML`:if(a!=null)throw Error(i(91));break;default:a!==o&&ep(e,t,s,a,r,o)}mn(e,p,m);return;case`option`:for(var h in n)if(p=n[h],n.hasOwnProperty(h)&&p!=null&&!r.hasOwnProperty(h))switch(h){case`selected`:e.selected=!1;break;default:ep(e,t,h,null,r,p)}for(l in r)if(p=r[l],m=n[l],r.hasOwnProperty(l)&&p!==m&&(p!=null||m!=null))switch(l){case`selected`:p!==m&&(N=!0),e.selected=p&&typeof p!=`function`&&typeof p!=`symbol`;break;default:ep(e,t,l,p,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 g in n)p=n[g],n.hasOwnProperty(g)&&p!=null&&!r.hasOwnProperty(g)&&ep(e,t,g,null,r,p);for(u in r)if(p=r[u],m=n[u],r.hasOwnProperty(u)&&p!==m&&(p!=null||m!=null))switch(u){case`children`:case`dangerouslySetInnerHTML`:if(p!=null)throw Error(i(137,t));break;default:ep(e,t,u,p,r,m)}return;default:if(bn(t)){for(var _ in n)p=n[_],n.hasOwnProperty(_)&&p!==void 0&&!r.hasOwnProperty(_)&&tp(e,t,_,void 0,r,p);for(d in r)p=r[d],m=n[d],!r.hasOwnProperty(d)||p===m||p===void 0&&m===void 0||tp(e,t,d,p,r,m);return}}for(var v in n)p=n[v],n.hasOwnProperty(v)&&p!=null&&!r.hasOwnProperty(v)&&ep(e,t,v,null,r,p);for(f in r)p=r[f],m=n[f],!r.hasOwnProperty(f)||p===m||p==null&&m==null||ep(e,t,f,p,r,m)}function ap(e){switch(e){case`css`:case`script`:case`font`:case`img`:case`image`:case`input`:case`link`:return!0;default:return!1}}function op(){if(typeof performance.getEntriesByType==`function`){for(var e=0,t=0,n=performance.getEntriesByType(`resource`),r=0;r<n.length;r++){var i=n[r],a=i.transferSize,o=i.initiatorType,s=i.duration;if(a&&s&&ap(o)){for(o=0,s=i.responseEnd,r+=1;r<n.length;r++){var c=n[r],l=c.startTime;if(l>s)break;var u=c.transferSize,d=c.initiatorType;u&&ap(d)&&(c=c.responseEnd,o+=u*(c<s?1:(s-l)/(c-l)))}if(--r,t+=8*(a+o)/(i.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 sp=null,cp=null;function lp(e){return e.nodeType===9?e:e.ownerDocument}function up(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 dp(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 fp(e,t,n,r){return n=lp(n).createElement(e),n[Ot]=r,n[kt]=t,np(n,e,t),Ht(n),n}function pp(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 mp=null;function hp(){var e=window.event;return e&&e.type===`popstate`?e!==mp&&(mp=e,!0):(mp=null,!1)}var gp=typeof setTimeout==`function`?setTimeout:void 0,_p=typeof clearTimeout==`function`?clearTimeout:void 0,vp=typeof Promise==`function`?Promise:void 0,yp=typeof requestAnimationFrame==`function`?requestAnimationFrame:gp,bp=typeof queueMicrotask==`function`?queueMicrotask:vp===void 0?gp:function(e){return vp.resolve(null).then(e).catch(xp)};function xp(e){setTimeout(function(){throw e})}function Sp(e){return e===`head`}function Cp(e,t){var n=t,r=0;do{var i=n.nextSibling;if(e.removeChild(n),i&&i.nodeType===8){if(n=i.data,n===`/$`||n===`/&`){if(r===0){e.removeChild(i),Hh(t);return}r--}else if(n===`$`||n===`$?`||n===`$~`||n===`$!`||n===`&`)r++;else if(n===`html`)_m(e.ownerDocument.documentElement);else if(n===`head`){n=e.ownerDocument.head,_m(n);for(var a=n.firstChild;a;){var o=a.nextSibling,s=a.nodeName;a[Ft]||s===`SCRIPT`||s===`STYLE`||s===`LINK`&&a.rel.toLowerCase()===`stylesheet`||n.removeChild(a),a=o}}else n===`body`&&_m(e.ownerDocument.body)}n=i}while(n);Hh(t)}function wp(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 Tp(e,t,n){if(t=CSS.escape(t)===t?t:`r-`+btoa(t).replace(/=/g,``),e.style.viewTransitionName=t,n!=null&&(e.style.viewTransitionClass=n),n=getComputedStyle(e),n.display===`inline`){if(t=e.getClientRects(),t.length===1)var r=1;else for(var i=r=0;i<t.length;i++){var a=t[i];0<a.width&&0<a.height&&r++}r===1&&(e=e.style,e.display=t.length===1?`inline-block`:`block`,e.marginTop=`-`+n.paddingTop,e.marginBottom=`-`+n.paddingBottom)}}function Ep(e,t){e=e.style,t=t.style;var n=t==null?null:t.hasOwnProperty(`viewTransitionName`)?t.viewTransitionName:t.hasOwnProperty(`view-transition-name`)?t[`view-transition-name`]:null;e.viewTransitionName=n==null||typeof n==`boolean`?``:(``+n).trim(),n=t==null?null:t.hasOwnProperty(`viewTransitionClass`)?t.viewTransitionClass:t.hasOwnProperty(`view-transition-class`)?t[`view-transition-class`]:null,e.viewTransitionClass=n==null||typeof n==`boolean`?``:(``+n).trim(),e.display===`inline-block`&&(t==null?e.display=e.margin=``:(n=t.display,e.display=n==null||typeof n==`boolean`?``:n,n=t.margin,n==null?(n=t.hasOwnProperty(`marginTop`)?t.marginTop:t[`margin-top`],e.marginTop=n==null||typeof n==`boolean`?``:n,t=t.hasOwnProperty(`marginBottom`)?t.marginBottom:t[`margin-bottom`],e.marginBottom=t==null||typeof t==`boolean`?``:t):e.margin=n))}function Dp(e,t,n){return n=n.ownerDocument.defaultView,{rect:e,abs:t.position===`absolute`||t.position===`fixed`,clip:t.clipPath!==`none`||t.overflow!==`visible`||t.filter!==`none`||t.mask!==`none`||t.mask!==`none`||t.borderRadius!==`0px`,view:0<=e.bottom&&0<=e.right&&e.top<=n.innerHeight&&e.left<=n.innerWidth}}function Op(e){return Dp(e.getBoundingClientRect(),getComputedStyle(e),e)}function kp(e){var t=e.getBoundingClientRect();t=new DOMRect(t.x+2e4,t.y+2e4,t.width,t.height);var n=getComputedStyle(e);return Dp(t,n,e)}function Ap(e){return e.documentElement.clientHeight}function jp(e){this.addEventListener(`load`,e),this.addEventListener(`error`,e)}function Mp(e,t,n,r,i,a,o,s,c){var l=t.nodeType===9?t:t.ownerDocument;try{var u=l.startViewTransition({update:function(){var t=l.defaultView,n=t.navigation&&t.navigation.transition,o=l.fonts.status;r();var s=[];if(o===`loaded`&&(Ap(l),l.fonts.status===`loading`&&s.push(l.fonts.ready)),o=s.length,e!==null)for(var c=e.suspenseyImages,u=0,d=0;d<c.length;d++){var f=c[d];if(!f.complete){var p=f.getBoundingClientRect();if(0<p.bottom&&0<p.right&&p.top<t.innerHeight&&p.left<t.innerWidth){if(u+=Xm(f),u>$m){s.length=o;break}f=new Promise(jp.bind(f)),s.push(f)}}}if(0<s.length)return t=Promise.race([Promise.all(s),new Promise(function(e){return setTimeout(e,500)})]).then(i,i),(n?Promise.allSettled([n.finished,t]):t).then(a,a);if(i(),n)return n.finished.then(a,a);a()},types:n});l.__reactViewTransition=u;var d=[];return u.ready.then(function(){for(var e=l.documentElement.getAnimations({subtree:!0}),t=0;t<e.length;t++){var n=e[t],r=n.effect,i=r.pseudoElement;if(i!=null&&i.startsWith(`::view-transition`)){d.push(n),n=r.getKeyframes();for(var a=i=void 0,s=!0,c=0;c<n.length;c++){var u=n[c],f=u.width;if(i===void 0)i=f;else if(i!==f){s=!1;break}if(f=u.height,a===void 0)a=f;else if(a!==f){s=!1;break}delete u.width,delete u.height,u.transform===`none`&&delete u.transform}s&&i!==void 0&&a!==void 0&&(r.setKeyframes(n),s=getComputedStyle(r.target,r.pseudoElement),s.width!==i||s.height!==a)&&(s=n[0],s.width=i,s.height=a,s=n[n.length-1],s.width=i,s.height=a,r.setKeyframes(n))}}o()},function(e){l.__reactViewTransition===u&&(l.__reactViewTransition=null);try{if(typeof e==`object`&&e)switch(e.name){case`InvalidStateError`:(e.message===`View transition was skipped because document visibility state is hidden.`||e.message===`Skipping view transition because document visibility state has become hidden.`||e.message===`Skipping view transition because viewport size changed.`||e.message===`Transition was aborted because of invalid state`)&&(e=null)}e!==null&&c(e)}finally{r(),i(),o()}}),u.finished.finally(function(){for(var e=0;e<d.length;e++)d[e].cancel();l.__reactViewTransition===u&&(l.__reactViewTransition=null),s()}),u}catch{return r(),i(),o(),null}}function Np(e,t){this._scope=document.documentElement,this._selector=`::view-transition-`+e+`(`+t+`)`}Np.prototype.animate=function(e,t){return t=typeof t==`number`?{duration:t}:E({},t),t.pseudoElement=this._selector,this._scope.animate(e,t)},Np.prototype.getAnimations=function(){for(var e=this._scope,t=this._selector,n=e.getAnimations({subtree:!0}),r=[],i=0;i<n.length;i++){var a=n[i].effect;a!==null&&a.target===e&&a.pseudoElement===t&&r.push(n[i])}return r},Np.prototype.getComputedStyle=function(){return getComputedStyle(this._scope,this._selector)};function Pp(e){return{name:e,group:new Np(`group`,e),imagePair:new Np(`image-pair`,e),old:new Np(`old`,e),new:new Np(`new`,e)}}function Fp(e){this._fragmentFiber=e,this._observers=this._eventListeners=null}Fp.prototype.addEventListener=function(e,t,n){var r=null,i=null;if(!(n!=null&&typeof n!=`boolean`&&(r=n.signal||null,r!==null&&r.aborted))){this._eventListeners===null&&(this._eventListeners=[]);var a=this._eventListeners;if(Bp(a,e,t,n)===-1){var o=this,s=t;n!=null&&typeof n!=`boolean`&&!0===n.once&&(s=function(r){o.removeEventListener(e,t,n),typeof t==`function`?t.call(this,r):t.handleEvent(r)}),r!==null&&(i=o.removeEventListener.bind(o,e,t,n),r.addEventListener(`abort`,i,{once:!0}),i=r.removeEventListener.bind(r,`abort`,i)),r=Rp(n),a.push({type:e,listener:t,optionsOrUseCapture:n,attachedListener:s,cleanup:i}),m(this._fragmentFiber.child,!1,Ip,e,s,r)}this._eventListeners=a}};function Ip(e,t,n,r){return b(e).addEventListener(t,n,r),!1}Fp.prototype.removeEventListener=function(e,t,n){var r=this._eventListeners;if(r!==null&&(t=Bp(r,e,t,n),t!==-1)){var i=r[t];n=i.attachedListener;var a=i.cleanup;i=Rp(i.optionsOrUseCapture),m(this._fragmentFiber.child,!1,Lp,e,n,i),r.splice(t,1),a!==null&&a()}};function Lp(e,t,n,r){return b(e).removeEventListener(t,n,r),!1}function Rp(e){return e!=null&&typeof e!=`boolean`&&(!0===e.once||e.signal instanceof AbortSignal)?{capture:e.capture,passive:e.passive}:e}function zp(e){return e==null?`c=0`:typeof e==`boolean`?`c=`+(e?`1`:`0`):`c=`+(e.capture?`1`:`0`)}function Bp(e,t,n,r){if(e.length===0)return-1;r=zp(r);for(var i=0;i<e.length;i++){var a=e[i];if(a.type===t&&a.listener===n&&zp(a.optionsOrUseCapture)===r)return i}return-1}Fp.prototype.dispatchEvent=function(e){var t=g(this._fragmentFiber);if(t===null)return!0;t=b(t);var n=this._eventListeners;if(n!==null&&0<n.length||!e.bubbles){var r=t.nodeType===9?t.createComment(``):document.createTextNode(``);if(n)for(var i=0;i<n.length;i++){var a=n[i];r.addEventListener(a.type,a.attachedListener,Rp(a.optionsOrUseCapture))}if(t.appendChild(r),e=r.dispatchEvent(e),n)for(i=0;i<n.length;i++)a=n[i],r.removeEventListener(a.type,a.attachedListener,Rp(a.optionsOrUseCapture));return t.removeChild(r),e}return t.dispatchEvent(e)},Fp.prototype.focus=function(e){m(this._fragmentFiber.child,!0,Vp,e,void 0,void 0)};function Vp(e,t){return e.tag!==6&&(e=b(e),pm(e,t))}Fp.prototype.focusLast=function(e){var t=[];m(this._fragmentFiber.child,!0,Hp,t,void 0,void 0);for(var n=t.length-1;0<=n&&!Vp(t[n],e);n--);};function Hp(e,t){return t.push(e),!1}Fp.prototype.blur=function(){var e=g(this._fragmentFiber);e!==null&&(e=b(e),e=lp(e).activeElement,e!==null&&m(this._fragmentFiber.child,!1,Up,e,void 0,void 0))};function Up(e,t){return e.tag!==6&&(e=b(e),e===t||e.contains(t)?(t.blur(),!0):!1)}Fp.prototype.observeUsing=function(e){this._observers===null&&(this._observers=new Set),this._observers.add(e),m(this._fragmentFiber.child,!1,Wp,e,void 0,void 0)};function Wp(e,t){return e.tag!==6&&(e=b(e),t.observe(e),!1)}Fp.prototype.unobserveUsing=function(e){var t=this._observers;if(t!==null&&t.has(e)){t.delete(e),m(this._fragmentFiber.child,!1,Gp,e,void 0,void 0);for(var n=t=0;n<Kp.length;n++){var r=Kp[n];r.fragmentInstance===this&&r.observer===e?e.unobserve(r.instance):Kp[t++]=r}Kp.length=t}};function Gp(e,t){return e.tag!==6&&(e=b(e),t.unobserve(e),!1)}var Kp=[],qp=!1;function Jp(e,t,n){Kp.push({fragmentInstance:e,observer:t,instance:n}),qp||(qp=!0,mm(function(){qp=!1;var e=Kp;Kp=[];for(var t=0;t<e.length;t++){var n=e[t];n.observer.unobserve(n.instance)}}))}Fp.prototype.getClientRects=function(){var e=[];return m(this._fragmentFiber.child,!1,Yp,e,void 0,void 0),e};function Yp(e,t){if(e.tag===6){e=e.stateNode;var n=e.ownerDocument.createRange();n.selectNodeContents(e),t.push.apply(t,n.getClientRects())}else e=b(e),t.push.apply(t,e.getClientRects());return!1}Fp.prototype.getRootNode=function(e){var t=g(this._fragmentFiber);return t===null?this:b(t).getRootNode(e)},Fp.prototype.compareDocumentPosition=function(e){var t=g(this._fragmentFiber);if(t===null)return Node.DOCUMENT_POSITION_DISCONNECTED;var n=[];m(this._fragmentFiber.child,!1,Hp,n,void 0,void 0);var r=b(t);if(n.length===0){if(n=r,_(this._fragmentFiber)){a:{for(t=this._fragmentFiber.return;t!==null;){if(t.tag===4){t=t.stateNode.containerInfo;break a}if(t.tag===3||t.tag===5||t.tag===27)break;t=t.return}t=null}t!=null&&(n=t)}t=this._fragmentFiber;var i=r=n.compareDocumentPosition(e);return n===e?i=Node.DOCUMENT_POSITION_CONTAINS:r&Node.DOCUMENT_POSITION_CONTAINED_BY&&(n=v(t)[1],n===null?i=Node.DOCUMENT_POSITION_PRECEDING:(e=b(n).compareDocumentPosition(e),i=e===0||e&Node.DOCUMENT_POSITION_FOLLOWING?Node.DOCUMENT_POSITION_FOLLOWING:Node.DOCUMENT_POSITION_PRECEDING)),i|=Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC}t=b(n[0]),i=b(n[n.length-1]);var a=_(this._fragmentFiber)?t.parentElement:r;if(a==null)return Node.DOCUMENT_POSITION_DISCONNECTED;r=a.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_CONTAINED_BY,a=a.compareDocumentPosition(i)&Node.DOCUMENT_POSITION_CONTAINED_BY;var o=t.compareDocumentPosition(e),s=i.compareDocumentPosition(e),c=o&Node.DOCUMENT_POSITION_CONTAINED_BY||s&Node.DOCUMENT_POSITION_CONTAINED_BY;return s=r&&a&&o&Node.DOCUMENT_POSITION_FOLLOWING&&s&Node.DOCUMENT_POSITION_PRECEDING,t=r&&t===e||a&&i===e||c||s?Node.DOCUMENT_POSITION_CONTAINED_BY:!r&&t===e||!a&&i===e?Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC:o,t&Node.DOCUMENT_POSITION_DISCONNECTED||t&Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC||Xp(t,this._fragmentFiber,n[0],n[n.length-1],e)?t:Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC};function Xp(e,t,n,r,i){var a=Rt(i);if(e&Node.DOCUMENT_POSITION_CONTAINED_BY){if(n=!!a)a:{for(;a!==null;){if(a.tag===7&&(a===t||a.alternate===t)){n=!0;break a}a=a.return}n=!1}return n}if(e&Node.DOCUMENT_POSITION_CONTAINS){if(a===null)return a=i.ownerDocument,i===a||i===a.documentElement||i===a.body;a:{for(a=t,t=g(t);a!==null;){if(!(a.tag!==5&&a.tag!==3&&a.tag!==27||a!==t&&a.alternate!==t)){a=!0;break a}a=a.return}a=!1}return a}return e&Node.DOCUMENT_POSITION_PRECEDING?((t=!!a)&&!(t=a===n)&&(t=ee(n,a,T),t===null?t=!1:(m(t,!0,C,a,n),a=x,x=null,t=a!==null)),t):e&Node.DOCUMENT_POSITION_FOLLOWING?((t=!!a)&&!(t=a===r)&&(t=ee(r,a,T),t===null?t=!1:(m(t,!0,w,a,r),a=x,S=x=null,t=a!==null)),t):!1}function Zp(e,t){var n=e.ownerDocument.createRange();n.selectNodeContents(e),e=n.getBoundingClientRect(),window.scrollTo(window.scrollX+e.left,t?window.scrollY+e.top:window.scrollY+e.bottom-window.innerHeight)}Fp.prototype.scrollIntoView=function(e){if(typeof e==`object`)throw Error(i(566));var t=[];m(this._fragmentFiber.child,!1,Hp,t,void 0,void 0);var n=!1!==e;if(t.length===0){var r=v(this._fragmentFiber);if(r=n?r[1]||r[0]||g(this._fragmentFiber):r[0]||r[1],r===null)return;if(r.tag===6){e=b(r),Zp(e,n);return}if(r=b(r),r.nodeType!==9){if(r.nodeType===11){n=`host`in r?r.host:null,n!==null&&n.scrollIntoView(e);return}r.scrollIntoView(e)}}for(r=n?t.length-1:0;r!==(n?-1:t.length);){var a=t[r];a.tag===6?(a=b(a),Zp(a,n)):b(a).scrollIntoView(e),r+=n?-1:1}};function Qp(e,t){return e=b(e),$p(e,t),!1}function $p(e,t){e.reactFragments??=new Set,e.reactFragments.add(t)}function em(e,t){var n=t._eventListeners;if(n!==null)for(var r=0;r<n.length;r++){var i=n[r];e.addEventListener(i.type,i.attachedListener,Rp(i.optionsOrUseCapture))}e.nodeType!==3&&(n=t._observers,n!==null&&n.forEach(function(n){for(var r=0,i=0;i<Kp.length;i++){var a=Kp[i];(a.fragmentInstance!==t||a.observer!==n||a.instance!==e)&&(Kp[r++]=a)}Kp.length=r,n.observe(e)}),$p(e,t))}function tm(e,t){var n=t._eventListeners;if(n!==null)for(var r=0;r<n.length;r++){var i=n[r];e.removeEventListener(i.type,i.attachedListener,Rp(i.optionsOrUseCapture))}e.nodeType!==3&&(n=t._observers,n!==null&&n.forEach(function(n){typeof n.rootMargin==`string`?Jp(t,n,e):n.unobserve(e)}),e.reactFragments!=null&&e.reactFragments.delete(t))}function nm(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`:nm(n),Lt(n);continue;case`SCRIPT`:case`STYLE`:continue;case`LINK`:if(n.rel.toLowerCase()===`stylesheet`)continue}e.removeChild(n)}}function rm(e,t,n,r){for(;e.nodeType===1;){var i=n;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!r&&(e.nodeName!==`INPUT`||e.type!==`hidden`))break}else if(!r){if(t===`input`&&e.type===`hidden`){var a=i.name==null?null:``+i.name;if(i.type===`hidden`&&e.getAttribute(`name`)===a)return e}else return e}else if(!e[Ft])switch(t){case`meta`:if(!e.hasAttribute(`itemprop`))break;return e;case`link`:if(a=e.getAttribute(`rel`),a===`stylesheet`&&e.hasAttribute(`data-precedence`)||a!==i.rel||e.getAttribute(`href`)!==(i.href==null||i.href===``?null:i.href)||e.getAttribute(`crossorigin`)!==(i.crossOrigin==null?null:i.crossOrigin)||e.getAttribute(`title`)!==(i.title==null?null:i.title))break;return e;case`style`:if(e.hasAttribute(`data-precedence`))break;return e;case`script`:if(a=e.getAttribute(`src`),(a!==(i.src==null?null:i.src)||e.getAttribute(`type`)!==(i.type==null?null:i.type)||e.getAttribute(`crossorigin`)!==(i.crossOrigin==null?null:i.crossOrigin))&&a&&e.hasAttribute(`async`)&&!e.hasAttribute(`itemprop`))break;return e;default:return e}if(e=lm(e.nextSibling),e===null)break}return null}function im(e,t,n){if(t===``)return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!==`INPUT`||e.type!==`hidden`)&&!n||(e=lm(e.nextSibling),e===null))return null;return e}function am(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!==`INPUT`||e.type!==`hidden`)&&!t||(e=lm(e.nextSibling),e===null))return null;return e}function om(e){return e.data===`$?`||e.data===`$~`}function sm(e){return e.data===`$!`||e.data===`$?`&&e.ownerDocument.readyState!==`loading`}function cm(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 lm(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 um=null;function dm(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n===`/$`||n===`/&`){if(t===0)return lm(e.nextSibling);t--}else n!==`$`&&n!==`$!`&&n!==`$?`&&n!==`$~`&&n!==`&`||t++}e=e.nextSibling}return null}function fm(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 pm(e,t){function n(){r=!0}if(e.ownerDocument.activeElement===e)return!0;var r=!1;try{e.ownerDocument.addEventListener(`focus`,n,!0),(e.focus||HTMLElement.prototype.focus).call(e,t)}finally{e.ownerDocument.removeEventListener(`focus`,n,!0)}return r}function mm(e){yp(function(){yp(function(t){return e(t)})})}function hm(e,t,n){switch(t=lp(n),e){case`html`:if(e=t.documentElement,!e)throw Error(i(452));return e;case`head`:if(e=t.head,!e)throw Error(i(453));return e;case`body`:if(e=t.body,!e)throw Error(i(454));return e;default:throw Error(i(451))}}function gm(e,t,n){for(var r in n){var i=n[r];n.hasOwnProperty(r)&&i!=null&&ep(e,t,r,null,rp,i)}n.dangerouslySetInnerHTML!=null&&(e.textContent=``),e.onclick===wn&&(e.onclick=null),Lt(e)}function _m(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);Lt(e)}var vm=new Map,ym=new Set;function bm(e){if(typeof e.getRootNode==`function`){var t=e.getRootNode();if(t.nodeType===9||t.nodeType===11)return t}return e.nodeType===9?e:e.ownerDocument}var xm=j.d;j.d={f:Sm,r:Cm,D:Em,C:Dm,L:Om,m:km,X:jm,S:Am,M:Mm};function Sm(){var e=xm.f(),t=Bd();return e||t}function Cm(e){var t=zt(e);t!==null&&t.tag===5&&t.type===`form`?ic(t):xm.r(e)}var wm=typeof document>`u`?null:document;function Tm(e,t,n){var r=wm;if(r&&typeof t==`string`&&t){var i=ln(t);i=`link[rel="`+e+`"][href="`+i+`"]`,typeof n==`string`&&(i+=`[crossorigin="`+n+`"]`),ym.has(i)||(ym.add(i),e={rel:e,crossOrigin:n,href:t},r.querySelector(i)===null&&(t=r.createElement(`link`),np(t,`link`,e),Ht(t),r.head.appendChild(t)))}}function Em(e){xm.D(e),Tm(`dns-prefetch`,e,null)}function Dm(e,t){xm.C(e,t),Tm(`preconnect`,e,t)}function Om(e,t,n){xm.L(e,t,n);var r=wm;if(r&&e&&t){var i=`link[rel="preload"][as="`+ln(t)+`"]`;t===`image`&&n&&n.imageSrcSet?(i+=`[imagesrcset="`+ln(n.imageSrcSet)+`"]`,typeof n.imageSizes==`string`&&(i+=`[imagesizes="`+ln(n.imageSizes)+`"]`)):i+=`[href="`+ln(e)+`"]`;var a=i;switch(t){case`style`:a=Pm(e);break;case`script`:a=Rm(e)}if(!(vm.has(a)||(e=E({rel:`preload`,href:t===`image`&&n&&n.imageSrcSet?void 0:e,as:t},n),vm.set(a,e),r.querySelector(i)!==null||t===`style`&&r.querySelector(Fm(a))||t===`script`&&r.querySelector(zm(a))))){var o=r.createElement(`link`);np(o,`link`,e),t===`style`&&(o[It]=!0,o.onload=o.onerror=function(){Ut(o)}),Ht(o),r.head.appendChild(o)}}}function km(e,t){xm.m(e,t);var n=wm;if(n&&e){var r=t&&typeof t.as==`string`?t.as:`script`,i=`link[rel="modulepreload"][as="`+ln(r)+`"][href="`+ln(e)+`"]`,a=i;switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:a=Rm(e)}if(!vm.has(a)&&(e=E({rel:`modulepreload`,href:e},t),vm.set(a,e),n.querySelector(i)===null)){switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:if(n.querySelector(zm(a)))return}r=n.createElement(`link`),np(r,`link`,e),Ht(r),n.head.appendChild(r)}}}function Am(e,t,n){xm.S(e,t,n);var r=wm;if(r&&e){var i=Vt(r).hoistableStyles,a=Pm(e);t||=`default`;var o=i.get(a);if(!o){var s={loading:0,preload:null};if(o=r.querySelector(Fm(a)))s.loading=5;else{e=E({rel:`stylesheet`,href:e,"data-precedence":t},n),(n=vm.get(a))&&Hm(e,n);var c=o=r.createElement(`link`);Ht(c),np(c,`link`,e),c._p=new Promise(function(e,t){c.onload=e,c.onerror=t}),c.addEventListener(`load`,function(){s.loading|=1}),c.addEventListener(`error`,function(){s.loading|=2}),s.loading|=4,Vm(o,t,r)}o={type:`stylesheet`,instance:o,count:1,state:s},i.set(a,o)}}}function jm(e,t){xm.X(e,t);var n=wm;if(n&&e){var r=Vt(n).hoistableScripts,i=Rm(e),a=r.get(i);a||(a=n.querySelector(zm(i)),a||(e=E({src:e,async:!0},t),(t=vm.get(i))&&Um(e,t),a=n.createElement(`script`),Ht(a),np(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Mm(e,t){xm.M(e,t);var n=wm;if(n&&e){var r=Vt(n).hoistableScripts,i=Rm(e),a=r.get(i);a||(a=n.querySelector(zm(i)),a||(e=E({src:e,async:!0,type:`module`},t),(t=vm.get(i))&&Um(e,t),a=n.createElement(`script`),Ht(a),np(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Nm(e,t,n,r){var a=(a=ke.current)?bm(a):null;if(!a)throw Error(i(446));switch(e){case`meta`:case`title`:return null;case`style`:return typeof n.precedence==`string`&&typeof n.href==`string`?(n=Pm(n.href),t=Vt(a).hoistableStyles,r=t.get(n),r||(r={type:`style`,instance:null,count:0,state:null},t.set(n,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=Pm(n.href);var o=Vt(a).hoistableStyles,s=o.get(e);if(s||(a=a.ownerDocument||a,s={type:`stylesheet`,instance:null,count:0,state:{loading:0,preload:null}},o.set(e,s),(o=a.querySelector(Fm(e)))?o._p||(s.instance=o,s.state.loading=5):(o=vm.get(e),o||(o={rel:`preload`,as:`style`,href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},vm.set(e,o)),Lm(a,e,o,s.state))),t&&r===null)throw Error(i(528,``));return s}if(t&&r!==null)throw Error(i(529,``));return null;case`script`:return t=n.async,n=n.src,typeof n==`string`&&t&&typeof t!=`function`&&typeof t!=`symbol`?(n=Rm(n),t=Vt(a).hoistableScripts,r=t.get(n),r||(r={type:`script`,instance:null,count:0,state:null},t.set(n,r)),r):{type:`void`,instance:null,count:0,state:null};default:throw Error(i(444,e))}}function Pm(e){return`href="`+ln(e)+`"`}function Fm(e){return`link[rel="stylesheet"][`+e+`]`}function Im(e){return E({},e,{"data-precedence":e.precedence,precedence:null})}function Lm(e,t,n,r){if(t=e.querySelector(`link[rel="preload"][as="style"][`+t+`]`)){if(!0!==t[It]){r.loading=1;return}}else t=e.createElement(`link`),t[It]=!0,t.onload=t.onerror=Ut.bind(null,t),np(t,`link`,n),Ht(t),e.head.appendChild(t);r.preload=t,t.addEventListener(`load`,function(){return r.loading|=1}),t.addEventListener(`error`,function(){return r.loading|=2})}function Rm(e){return`[src="`+ln(e)+`"]`}function zm(e){return`script[async]`+e}function Bm(e,t,n){if(t.count++,t.instance===null)switch(t.type){case`style`:var r=e.querySelector(`style[data-href~="`+ln(n.href)+`"]`);if(r)return t.instance=r,Ht(r),r;var a=E({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return r=(e.ownerDocument||e).createElement(`style`),Ht(r),np(r,`style`,a),Vm(r,n.precedence,e),t.instance=r;case`stylesheet`:a=Pm(n.href);var o=e.querySelector(Fm(a));if(o)return t.state.loading|=4,t.instance=o,Ht(o),o;r=Im(n),(a=vm.get(a))&&Hm(r,a),o=(e.ownerDocument||e).createElement(`link`),Ht(o);var s=o;return s._p=new Promise(function(e,t){s.onload=e,s.onerror=t}),np(o,`link`,r),t.state.loading|=4,Vm(o,n.precedence,e),t.instance=o;case`script`:return o=Rm(n.src),(a=e.querySelector(zm(o)))?(t.instance=a,Ht(a),a):(r=n,(a=vm.get(o))&&(r=E({},n),Um(r,a)),e=e.ownerDocument||e,a=e.createElement(`script`),Ht(a),np(a,`link`,r),e.head.appendChild(a),t.instance=a);case`void`:return null;default:throw Error(i(443,t.type))}else t.type===`stylesheet`&&!(t.state.loading&4)&&(r=t.instance,t.state.loading|=4,Vm(r,n.precedence,e));return t.instance}function Vm(e,t,n){for(var r=n.querySelectorAll(`link[rel="stylesheet"][data-precedence],style[data-precedence]`),i=r.length?r[r.length-1]:null,a=i,o=0;o<r.length;o++){var s=r[o];if(s.dataset.precedence===t)a=s;else if(a!==i)break}a?a.parentNode.insertBefore(e,a.nextSibling):(t=n.nodeType===9?n.head:n,t.insertBefore(e,t.firstChild))}function Hm(e,t){e.crossOrigin??=t.crossOrigin,e.referrerPolicy??=t.referrerPolicy,e.title??=t.title}function Um(e,t){e.crossOrigin??=t.crossOrigin,e.referrerPolicy??=t.referrerPolicy,e.integrity??=t.integrity}var Wm=null;function Gm(e,t,n){if(Wm===null){var r=new Map,i=Wm=new Map;i.set(n,r)}else i=Wm,r=i.get(n),r||(r=new Map,i.set(n,r));if(r.has(e))return r;for(r.set(e,null),n=n.getElementsByTagName(e),i=0;i<n.length;i++){var a=n[i];if(!(a[Ft]||a[Ot]||e===`link`&&a.getAttribute(`rel`)===`stylesheet`)&&a.namespaceURI!==`http://www.w3.org/2000/svg`){var o=a.getAttribute(t)||``;o=e+o;var s=r.get(o);s?s.push(a):r.set(o,[a])}}return r}function Km(e,t,n){e=e.ownerDocument||e,e.head.insertBefore(n,t===`title`?e.querySelector(`head > title`):null)}function qm(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;switch(t.rel){case`stylesheet`:return e=t.disabled,typeof t.precedence==`string`&&e==null;default:return!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 Jm(e,t){return e===`img`&&t.src!=null&&t.src!==``&&t.onLoad==null&&t.loading!==`lazy`}function Ym(e){return!(e.type===`stylesheet`&&!(e.state.loading&3))}function Xm(e){return(e.width||100)*(e.height||100)*(typeof devicePixelRatio==`number`?devicePixelRatio:1)*.25}function Zm(e,t){typeof t.decode==`function`&&(e.imgCount++,t.complete||(e.imgBytes+=Xm(t),e.suspenseyImages.push(t)),e=rh.bind(e),t.decode().then(e,e))}function Qm(e,t,n,r){if(n.type===`stylesheet`&&(typeof r.media!=`string`||!1!==matchMedia(r.media).matches)&&!(n.state.loading&4)){if(n.instance===null){var i=Pm(r.href),a=t.querySelector(Fm(i));if(a){t=a._p,typeof t==`object`&&t&&typeof t.then==`function`&&(e.count++,e=nh.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=a,Ht(a);return}a=t.ownerDocument||t,r=Im(r),(i=vm.get(i))&&Hm(r,i),a=a.createElement(`link`),Ht(a);var o=a;o._p=new Promise(function(e,t){o.onload=e,o.onerror=t}),np(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)&&(e.count++,n=nh.bind(e),t.addEventListener(`load`,n),t.addEventListener(`error`,n))}}var $m=0;function eh(e,t){return e.stylesheets&&e.count===0&&ah(e,e.stylesheets),0<e.count||0<e.imgCount?function(n){var r=setTimeout(function(){if(e.stylesheets&&ah(e,e.stylesheets),e.unsuspend){var t=e.unsuspend;e.unsuspend=null,t()}},6e4+t);0<e.imgBytes&&$m===0&&($m=62500*op());var i=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&ah(e,e.stylesheets),e.unsuspend)){var t=e.unsuspend;e.unsuspend=null,t()}},(e.imgBytes>$m?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(i)}}:null}function th(e){if(e.count===0&&(e.imgCount===0||!e.waitingForImages)){if(e.stylesheets)ah(e,e.stylesheets);else if(e.unsuspend){var t=e.unsuspend;e.unsuspend=null,t()}}}function nh(){this.count--,th(this)}function rh(){this.imgCount--,th(this)}var ih=null;function ah(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,ih=new Map,t.forEach(oh,e),ih=null,nh.call(e))}function oh(e,t){if(!(t.state.loading&4)){var n=ih.get(e);if(n)var r=n.get(null);else{n=new Map,ih.set(e,n);for(var i=e.querySelectorAll(`link[data-precedence],style[data-precedence]`),a=0;a<i.length;a++){var o=i[a];(o.nodeName===`LINK`||o.getAttribute(`media`)!==`not all`)&&(n.set(o.dataset.precedence,o),r=o)}r&&n.set(null,r)}i=t.instance,o=i.getAttribute(`data-precedence`),a=n.get(o)||r,a===r&&n.set(null,i),n.set(o,i),this.count++,r=nh.bind(this),i.addEventListener(`load`,r),i.addEventListener(`error`,r),a?a.parentNode.insertBefore(i,a.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(i,e.firstChild)),t.state.loading|=4}}var sh={$$typeof:k,Provider:null,Consumer:null,_currentValue:xe,_currentValue2:xe,_threadCount:0};function ch(e,t,n,r,i,a,o,s,c){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=_t(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=_t(0),this.hiddenUpdates=_t(null),this.identifierPrefix=r,this.onUncaughtError=i,this.onCaughtError=a,this.onRecoverableError=o,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=c,this.transitionTypes=null,this.incompleteTransitions=new Map}function lh(e,t,n,r,i,a,o,s,c,l,u,d){return e=new ch(e,t,n,o,c,l,u,d,s),t=1,!0===a&&(t|=24),a=Fi(3,null,null,t),e.current=a,a.stateNode=e,t=Na(),t.refCount++,e.pooledCache=t,t.refCount++,a.memoizedState={element:r,isDehydrated:n,cache:t},go(a),e}function uh(e){return e?(e=Ni,e):Ni}function dh(e,t,n,r,i,a){i=uh(i),r.context===null?r.context=i:r.pendingContext=i,r=vo(t),r.payload={element:n},a=a===void 0?null:a,a!==null&&(r.callback=a),n=yo(e,r,t),n!==null&&(Fd(n,e,t),bo(n,e,t))}function fh(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function ph(e,t){fh(e,t),(e=e.alternate)&&fh(e,t)}function mh(e){if(e.tag===13||e.tag===31){var t=Ai(e,67108864);t!==null&&Fd(t,e,67108864),ph(e,67108864)}}function hh(e){if(e.tag===13||e.tag===31){var t=Md();t=Ct(t);var n=Ai(e,t);n!==null&&Fd(n,e,t),ph(e,t)}}var gh=!0;function _h(e,t,n,r){var i=A.T;A.T=null;var a=j.p;try{j.p=2,yh(e,t,n,r)}finally{j.p=a,A.T=i}}function vh(e,t,n,r){var i=A.T;A.T=null;var a=j.p;try{j.p=8,yh(e,t,n,r)}finally{j.p=a,A.T=i}}function yh(e,t,n,r){if(gh){var i=bh(r);if(i===null)Kf(e,t,r,xh,n),Mh(e,r);else if(Ph(i,e,t,n,r))r.stopPropagation();else if(Mh(e,r),t&4&&-1<jh.indexOf(e)){for(;i!==null;){var a=zt(i);if(a!==null)switch(a.tag){case 3:if(a=a.stateNode,a.current.memoizedState.isDehydrated){var o=ft(a.pendingLanes);if(o!==0){var s=a;for(s.pendingLanes|=2,s.entangledLanes|=2;o;){var c=1<<31-at(o);s.entanglements[1]|=c,o&=~c}Df(a),!($u&6)&&(_d=qe()+500,Of(0,!1))}}break;case 31:case 13:s=Ai(a,2),s!==null&&Fd(s,a,2),Bd(),ph(a,2)}if(a=bh(r),a===null&&Kf(e,t,r,xh,n),a===i)break;i=a}i!==null&&r.stopPropagation()}else Kf(e,t,r,null,n)}}function bh(e){return e=En(e),Sh(e)}var xh=null;function Sh(e){if(xh=null,e=Rt(e),e!==null){var t=o(e);if(t===null)e=null;else{var n=t.tag;if(n===13){if(e=s(t),e!==null)return e;e=null}else if(n===31){if(e=c(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 xh=e,null}function Ch(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`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`fullscreenerror`: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`resize`:case`scroll`:case`touchmove`:case`wheel`:case`mouseenter`:case`mouseleave`:case`pointerenter`:case`pointerleave`:return 8;case`message`:switch(Je()){case Ye:return 2;case Xe:return 8;case Ze:case Qe:return 32;case $e:return 268435456;default:return 32}default:return 32}}var wh=!1,Th=null,Eh=null,Dh=null,Oh=new Map,kh=new Map,Ah=[],jh=`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 Mh(e,t){switch(e){case`focusin`:case`focusout`:Th=null;break;case`dragenter`:case`dragleave`:Eh=null;break;case`mouseover`:case`mouseout`:Dh=null;break;case`pointerover`:case`pointerout`:Oh.delete(t.pointerId);break;case`gotpointercapture`:case`lostpointercapture`:kh.delete(t.pointerId)}}function Nh(e,t,n,r,i,a){return e===null||e.nativeEvent!==a?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:a,targetContainers:[i]},t!==null&&(t=zt(t),t!==null&&mh(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,i!==null&&t.indexOf(i)===-1&&t.push(i),e)}function Ph(e,t,n,r,i){switch(t){case`focusin`:return Th=Nh(Th,e,t,n,r,i),!0;case`dragenter`:return Eh=Nh(Eh,e,t,n,r,i),!0;case`mouseover`:return Dh=Nh(Dh,e,t,n,r,i),!0;case`pointerover`:var a=i.pointerId;return Oh.set(a,Nh(Oh.get(a)||null,e,t,n,r,i)),!0;case`gotpointercapture`:return a=i.pointerId,kh.set(a,Nh(kh.get(a)||null,e,t,n,r,i)),!0}return!1}function Fh(e){var t=Rt(e.target);if(t!==null){var n=o(t);if(n!==null){if(t=n.tag,t===13){if(t=s(n),t!==null){e.blockedOn=t,Et(e.priority,function(){hh(n)});return}}else if(t===31){if(t=c(n),t!==null){e.blockedOn=t,Et(e.priority,function(){hh(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 Ih(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=bh(e.nativeEvent);if(n===null){n=e.nativeEvent;var r=new n.constructor(n.type,n);Tn=r,n.target.dispatchEvent(r),Tn=null}else return t=zt(n),t!==null&&mh(t),e.blockedOn=n,!1;t.shift()}return!0}function Lh(e,t,n){Ih(e)&&n.delete(t)}function Rh(){wh=!1,Th!==null&&Ih(Th)&&(Th=null),Eh!==null&&Ih(Eh)&&(Eh=null),Dh!==null&&Ih(Dh)&&(Dh=null),Oh.forEach(Lh),kh.forEach(Lh)}function zh(e,n){e.blockedOn===n&&(e.blockedOn=null,wh||(wh=!0,t.unstable_scheduleCallback(t.unstable_NormalPriority,Rh)))}var Bh=null;function Vh(e){Bh!==e&&(Bh=e,t.unstable_scheduleCallback(t.unstable_NormalPriority,function(){Bh===e&&(Bh=null);for(var t=0;t<e.length;t+=3){var n=e[t],r=e[t+1],i=e[t+2];if(typeof r!=`function`){if(Sh(r||n)===null)continue;break}var a=zt(n);a!==null&&(e.splice(t,3),t-=3,nc(a,{pending:!0,data:i,method:n.method,action:r},r,i))}}))}function Hh(e){function t(t){return zh(t,e)}Th!==null&&zh(Th,e),Eh!==null&&zh(Eh,e),Dh!==null&&zh(Dh,e),Oh.forEach(t),kh.forEach(t);for(var n=0;n<Ah.length;n++){var r=Ah[n];r.blockedOn===e&&(r.blockedOn=null)}for(;0<Ah.length&&(n=Ah[0],n.blockedOn===null);)Fh(n),n.blockedOn===null&&Ah.shift();if(n=(e.ownerDocument||e).$$reactFormReplay,n!=null)for(r=0;r<n.length;r+=3){var i=n[r],a=n[r+1],o=i[kt]||null;if(typeof a==`function`)o||Vh(n);else if(o){var s=null;if(a&&a.hasAttribute(`formAction`)){if(i=a,o=a[kt]||null)s=o.formAction;else if(Sh(i)!==null)continue}else s=o.action;typeof s==`function`?n[r+1]=s:(n.splice(r,3),r-=3),Vh(n)}}}function Uh(){function e(e){e.canIntercept&&e.info===`react-transition`&&e.intercept({handler:function(){return new Promise(function(e){return i=e})},focusReset:`manual`,scroll:`manual`})}function t(){i!==null&&(i(),i=null),r||setTimeout(n,20)}function n(){if(!r&&!navigation.transition){var e=navigation.currentEntry;e&&e.url!=null&&navigation.navigate(e.url,{state:e.getState(),info:`react-transition`,history:`replace`})}}if(typeof navigation==`object`){var r=!1,i=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),i!==null&&(i(),i=null)}}}function Wh(e){this._internalRoot=e}Gh.prototype.render=Wh.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(i(409));var n=t.current;dh(n,Md(),e,t,null,null)},Gh.prototype.unmount=Wh.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;dh(e.current,2,null,e,null,null),Bd(),t[At]=null}};function Gh(e){this._internalRoot=e}Gh.prototype.unstable_scheduleHydration=function(e){if(e){var t=Tt();e={blockedOn:null,target:e,priority:t};for(var n=0;n<Ah.length&&t!==0&&t<Ah[n].priority;n++);Ah.splice(n,0,e),n===0&&Fh(e)}};var Kh=n.version;if(Kh!==`19.3.0`)throw Error(i(527,Kh,`19.3.0`));j.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render==`function`?Error(i(188)):(e=Object.keys(e).join(`,`),Error(i(268,e)));return e=u(t),e=e===null?null:f(e),e=e===null?null:e.stateNode,e};var qh={bundleType:0,version:`19.3.0`,rendererPackageName:`react-dom`,currentDispatcherRef:A,reconcilerVersion:`19.3.0`};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`){var Jh=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Jh.isDisabled&&Jh.supportsFiber)try{nt=Jh.inject(qh),rt=Jh}catch{}}e.createRoot=function(e,t){if(!a(e))throw Error(i(299));var n=!1,r=``,o=Tc,s=Ec,c=Dc;return t!=null&&(!0===t.unstable_strictMode&&(n=!0),t.identifierPrefix!==void 0&&(r=t.identifierPrefix),t.onUncaughtError!==void 0&&(o=t.onUncaughtError),t.onCaughtError!==void 0&&(s=t.onCaughtError),t.onRecoverableError!==void 0&&(c=t.onRecoverableError)),t=lh(e,1,!1,null,null,n,r,null,o,s,c,Uh),e[At]=t.current,Wf(e),new Wh(t)}})),_=o(((e,t)=>{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=g()})),v=l(d(),1),y=_(),b=Object.create(null);b.open=`0`,b.close=`1`,b.ping=`2`,b.pong=`3`,b.message=`4`,b.upgrade=`5`,b.noop=`6`;var x=Object.create(null);Object.keys(b).forEach(e=>{x[b[e]]=e});var S={type:`error`,data:`parser error`},C=typeof Blob==`function`||typeof Blob<`u`&&Object.prototype.toString.call(Blob)===`[object BlobConstructor]`,w=typeof ArrayBuffer==`function`,T=e=>typeof ArrayBuffer.isView==`function`?ArrayBuffer.isView(e):e&&e.buffer instanceof ArrayBuffer,ee=({type:e,data:t},n,r)=>C&&t instanceof Blob?n?r(t):E(t,r):w&&(t instanceof ArrayBuffer||T(t))?n?r(t):E(new Blob([t]),r):r(b[e]+(t||``)),E=(e,t)=>{let n=new FileReader;return n.onload=function(){let e=n.result.split(`,`)[1];t(`b`+(e||``))},n.readAsDataURL(e)};function te(e){return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}var D;function O(e,t){if(C&&e.data instanceof Blob)return e.data.arrayBuffer().then(te).then(t);if(w&&(e.data instanceof ArrayBuffer||T(e.data)))return t(te(e.data));ee(e,!1,e=>{D||=new TextEncoder,t(D.encode(e))})}var ne=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,re=typeof Uint8Array>`u`?[]:new Uint8Array(256);for(let e=0;e<64;e++)re[ne.charCodeAt(e)]=e;var ie=e=>{let t=e.length*.75,n=e.length,r,i=0,a,o,s,c;e[e.length-1]===`=`&&(t--,e[e.length-2]===`=`&&t--);let l=new ArrayBuffer(t),u=new Uint8Array(l);for(r=0;r<n;r+=4)a=re[e.charCodeAt(r)],o=re[e.charCodeAt(r+1)],s=re[e.charCodeAt(r+2)],c=re[e.charCodeAt(r+3)],u[i++]=a<<2|o>>4,u[i++]=(o&15)<<4|s>>2,u[i++]=(s&3)<<6|c&63;return l},ae=typeof ArrayBuffer==`function`,k=(e,t)=>{if(typeof e!=`string`)return{type:`message`,data:se(e,t)};let n=e.charAt(0);return n===`b`?{type:`message`,data:oe(e.substring(1),t)}:x[n]?e.length>1?{type:x[n],data:e.substring(1)}:{type:x[n]}:S},oe=(e,t)=>ae?se(ie(e),t):{base64:!0,data:e},se=(e,t)=>{switch(t){case`blob`:return e instanceof Blob?e:new Blob([e]);default:return e instanceof ArrayBuffer?e:e.buffer}},ce=``,le=(e,t)=>{let n=e.length,r=Array(n),i=0;e.forEach((e,a)=>{ee(e,!1,e=>{r[a]=e,++i===n&&t(r.join(ce))})})},ue=(e,t)=>{let n=e.split(ce),r=[];for(let e=0;e<n.length;e++){let i=k(n[e],t);if(r.push(i),i.type===`error`)break}return r};function de(){return new TransformStream({transform(e,t){O(e,n=>{let r=n.length,i;if(r<126)i=new Uint8Array(1),new DataView(i.buffer).setUint8(0,r);else if(r<65536){i=new Uint8Array(3);let e=new DataView(i.buffer);e.setUint8(0,126),e.setUint16(1,r)}else{i=new Uint8Array(9);let e=new DataView(i.buffer);e.setUint8(0,127),e.setBigUint64(1,BigInt(r))}e.data&&typeof e.data!=`string`&&(i[0]|=128),t.enqueue(i),t.enqueue(n)})}})}var fe;function pe(e){return e.reduce((e,t)=>e+t.length,0)}function me(e,t){if(e[0].length===t)return e.shift();let n=new Uint8Array(t),r=0;for(let i=0;i<t;i++)n[i]=e[0][r++],r===e[0].length&&(e.shift(),r=0);return e.length&&r<e[0].length&&(e[0]=e[0].slice(r)),n}function he(e,t){fe||=new TextDecoder;let n=[],r=0,i=-1,a=!1;return new TransformStream({transform(o,s){for(n.push(o);;){if(r===0){if(pe(n)<1)break;let e=me(n,1);a=(e[0]&128)==128,i=e[0]&127,r=i<126?3:i===126?1:2}else if(r===1){if(pe(n)<2)break;let e=me(n,2);i=new DataView(e.buffer,e.byteOffset,e.length).getUint16(0),r=3}else if(r===2){if(pe(n)<8)break;let e=me(n,8),t=new DataView(e.buffer,e.byteOffset,e.length),a=t.getUint32(0);if(a>2**21-1){s.enqueue(S);break}i=a*2**32+t.getUint32(4),r=3}else{if(pe(n)<i)break;let e=me(n,i);s.enqueue(k(a?e:fe.decode(e),t)),r=0}if(i===0||i>e){s.enqueue(S);break}}}})}function ge(e){if(e)return _e(e)}function _e(e){for(var t in ge.prototype)e[t]=ge.prototype[t];return e}ge.prototype.on=ge.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks[`$`+e]=this._callbacks[`$`+e]||[]).push(t),this},ge.prototype.once=function(e,t){function n(){this.off(e,n),t.apply(this,arguments)}return n.fn=t,this.on(e,n),this},ge.prototype.off=ge.prototype.removeListener=ge.prototype.removeAllListeners=ge.prototype.removeEventListener=function(e,t){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var n=this._callbacks[`$`+e];if(!n)return this;if(arguments.length==1)return delete this._callbacks[`$`+e],this;for(var r,i=0;i<n.length;i++)if(r=n[i],r===t||r.fn===t){n.splice(i,1);break}return n.length===0&&delete this._callbacks[`$`+e],this},ge.prototype.emit=function(e){this._callbacks=this._callbacks||{};for(var t=Array(arguments.length-1),n=this._callbacks[`$`+e],r=1;r<arguments.length;r++)t[r-1]=arguments[r];if(n){n=n.slice(0);for(var r=0,i=n.length;r<i;++r)n[r].apply(this,t)}return this},ge.prototype.emitReserved=ge.prototype.emit,ge.prototype.listeners=function(e){return this._callbacks=this._callbacks||{},this._callbacks[`$`+e]||[]},ge.prototype.hasListeners=function(e){return!!this.listeners(e).length};var ve=typeof Promise==`function`&&typeof Promise.resolve==`function`?e=>Promise.resolve().then(e):(e,t)=>t(e,0),ye=typeof self<`u`?self:typeof window<`u`?window:Function(`return this`)(),be=`arraybuffer`;function A(e,...t){return t.reduce((t,n)=>(e.hasOwnProperty(n)&&(t[n]=e[n]),t),{})}var j=ye.setTimeout,xe=ye.clearTimeout;function Se(e,t){t.useNativeTimers?(e.setTimeoutFn=j.bind(ye),e.clearTimeoutFn=xe.bind(ye)):(e.setTimeoutFn=ye.setTimeout.bind(ye),e.clearTimeoutFn=ye.clearTimeout.bind(ye))}var Ce=1.33;function we(e){return typeof e==`string`?Te(e):Math.ceil((e.byteLength||e.size)*Ce)}function Te(e){let t=0,n=0;for(let r=0,i=e.length;r<i;r++)t=e.charCodeAt(r),t<128?n+=1:t<2048?n+=2:t<55296||t>=57344?n+=3:(r++,n+=4);return n}function Ee(){return Date.now().toString(36).substring(3)+Math.random().toString(36).substring(2,5)}function De(e){let t=``;for(let n in e)e.hasOwnProperty(n)&&(t.length&&(t+=`&`),t+=encodeURIComponent(n)+`=`+encodeURIComponent(e[n]));return t}function Oe(e){let t={},n=e.split(`&`);for(let e=0,r=n.length;e<r;e++){let r=n[e].split(`=`);t[decodeURIComponent(r[0])]=decodeURIComponent(r[1])}return t}var ke=class extends Error{constructor(e,t,n){super(e),this.description=t,this.context=n,this.type=`TransportError`}},Ae=class extends ge{constructor(e){super(),this.writable=!1,Se(this,e),this.opts=e,this.query=e.query,this.socket=e.socket,this.supportsBinary=!e.forceBase64}onError(e,t,n){return super.emitReserved(`error`,new ke(e,t,n)),this}open(){return this.readyState=`opening`,this.doOpen(),this}close(){return(this.readyState===`opening`||this.readyState===`open`)&&(this.doClose(),this.onClose()),this}send(e){this.readyState===`open`&&this.write(e)}onOpen(){this.readyState=`open`,this.writable=!0,super.emitReserved(`open`)}onData(e){let t=k(e,this.socket.binaryType);this.onPacket(t)}onPacket(e){super.emitReserved(`packet`,e)}onClose(e){this.readyState=`closed`,super.emitReserved(`close`,e)}pause(e){}createUri(e,t={}){return e+`://`+this._hostname()+this._port()+this.opts.path+this._query(t)}_hostname(){let e=this.opts.hostname;return e.indexOf(`:`)===-1?e:`[`+e+`]`}_port(){return this.opts.port&&(this.opts.secure&&Number(this.opts.port)!==443||!this.opts.secure&&Number(this.opts.port)!==80)?`:`+this.opts.port:``}_query(e){let t=De(e);return t.length?`?`+t:``}},je=class extends Ae{constructor(){super(...arguments),this._polling=!1}get name(){return`polling`}doOpen(){this._poll()}pause(e){this.readyState=`pausing`;let t=()=>{this.readyState=`paused`,e()};if(this._polling||!this.writable){let e=0;this._polling&&(e++,this.once(`pollComplete`,function(){--e||t()})),this.writable||(e++,this.once(`drain`,function(){--e||t()}))}else t()}_poll(){this._polling=!0,this.doPoll(),this.emitReserved(`poll`)}onData(e){ue(e,this.socket.binaryType).forEach(e=>{if(this.readyState===`opening`&&e.type===`open`&&this.onOpen(),e.type===`close`)return this.onClose({description:`transport closed by the server`}),!1;this.onPacket(e)}),this.readyState!==`closed`&&(this._polling=!1,this.emitReserved(`pollComplete`),this.readyState===`open`&&this._poll())}doClose(){let e=()=>{this.write([{type:`close`}])};this.readyState===`open`?e():this.once(`open`,e)}write(e){this.writable=!1,le(e,e=>{this.doWrite(e,()=>{this.writable=!0,this.emitReserved(`drain`)})})}uri(){let e=this.opts.secure?`https`:`http`,t=this.query||{};return!1!==this.opts.timestampRequests&&(t[this.opts.timestampParam]=Ee()),!this.supportsBinary&&!t.sid&&(t.b64=1),this.createUri(e,t)}},Me=!1;try{Me=typeof XMLHttpRequest<`u`&&`withCredentials`in new XMLHttpRequest}catch{}var Ne=Me;function Pe(){}var Fe=class extends je{constructor(e){if(super(e),typeof location<`u`){let t=location.protocol===`https:`,n=location.port;n||=t?`443`:`80`,this.xd=typeof location<`u`&&e.hostname!==location.hostname||n!==e.port}}doWrite(e,t){let n=this.request({method:`POST`,data:e});n.on(`success`,t),n.on(`error`,(e,t)=>{this.onError(`xhr post error`,e,t)})}doPoll(){let e=this.request();e.on(`data`,this.onData.bind(this)),e.on(`error`,(e,t)=>{this.onError(`xhr poll error`,e,t)}),this.pollXhr=e}},Ie=class e extends ge{constructor(e,t,n){super(),this.createRequest=e,Se(this,n),this._opts=n,this._method=n.method||`GET`,this._uri=t,this._data=n.data===void 0?null:n.data,this._create()}_create(){var t;let n=A(this._opts,`agent`,`pfx`,`key`,`passphrase`,`cert`,`ca`,`ciphers`,`rejectUnauthorized`,`autoUnref`);n.xdomain=!!this._opts.xd;let r=this._xhr=this.createRequest(n);try{r.open(this._method,this._uri,!0);try{if(this._opts.extraHeaders){r.setDisableHeaderCheck&&r.setDisableHeaderCheck(!0);for(let e in this._opts.extraHeaders)this._opts.extraHeaders.hasOwnProperty(e)&&r.setRequestHeader(e,this._opts.extraHeaders[e])}}catch{}if(this._method===`POST`)try{r.setRequestHeader(`Content-type`,`text/plain;charset=UTF-8`)}catch{}try{r.setRequestHeader(`Accept`,`*/*`)}catch{}(t=this._opts.cookieJar)==null||t.addCookies(r),`withCredentials`in r&&(r.withCredentials=this._opts.withCredentials),this._opts.requestTimeout&&(r.timeout=this._opts.requestTimeout),r.onreadystatechange=()=>{var e;r.readyState===3&&((e=this._opts.cookieJar)==null||e.parseCookies(r.getResponseHeader(`set-cookie`))),r.readyState===4&&(r.status===200||r.status===1223?this._onLoad():this.setTimeoutFn(()=>{this._onError(typeof r.status==`number`?r.status:0)},0))},r.send(this._data)}catch(e){this.setTimeoutFn(()=>{this._onError(e)},0);return}typeof document<`u`&&(this._index=e.requestsCount++,e.requests[this._index]=this)}_onError(e){this.emitReserved(`error`,e,this._xhr),this._cleanup(!0)}_cleanup(t){if(this._xhr!==void 0&&this._xhr!==null){if(this._xhr.onreadystatechange=Pe,t)try{this._xhr.abort()}catch{}typeof document<`u`&&delete e.requests[this._index],this._xhr=null}}_onLoad(){let e=this._xhr.responseText;e!==null&&(this.emitReserved(`data`,e),this.emitReserved(`success`),this._cleanup())}abort(){this._cleanup()}};if(Ie.requestsCount=0,Ie.requests={},typeof document<`u`){if(typeof attachEvent==`function`)attachEvent(`onunload`,Le);else if(typeof addEventListener==`function`){let e=`onpagehide`in ye?`pagehide`:`unload`;addEventListener(e,Le,!1)}}function Le(){for(let e in Ie.requests)Ie.requests.hasOwnProperty(e)&&Ie.requests[e].abort()}var Re=(function(){let e=Be({xdomain:!1});return e&&e.responseType!==null})(),ze=class extends Fe{constructor(e){super(e);let t=e&&e.forceBase64;this.supportsBinary=Re&&!t}request(e={}){return Object.assign(e,{xd:this.xd},this.opts),new Ie(Be,this.uri(),e)}};function Be(e){let t=e.xdomain;try{if(typeof XMLHttpRequest<`u`&&(!t||Ne))return new XMLHttpRequest}catch{}if(!t)try{return new ye[[`Active`,`Object`].join(`X`)](`Microsoft.XMLHTTP`)}catch{}}var Ve=typeof navigator<`u`&&typeof navigator.product==`string`&&navigator.product.toLowerCase()===`reactnative`,He=class extends Ae{get name(){return`websocket`}doOpen(){let e=this.uri(),t=this.opts.protocols,n=Ve?{}:A(this.opts,`agent`,`perMessageDeflate`,`pfx`,`key`,`passphrase`,`cert`,`ca`,`ciphers`,`rejectUnauthorized`,`localAddress`,`protocolVersion`,`origin`,`maxPayload`,`family`,`checkServerIdentity`);this.opts.extraHeaders&&(n.headers=this.opts.extraHeaders);try{this.ws=this.createSocket(e,t,n)}catch(e){return this.emitReserved(`error`,e)}this.ws.binaryType=this.socket.binaryType,this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=e=>this.onClose({description:`websocket connection closed`,context:e}),this.ws.onmessage=e=>this.onData(e.data),this.ws.onerror=e=>this.onError(`websocket error`,e)}write(e){this.writable=!1;for(let t=0;t<e.length;t++){let n=e[t],r=t===e.length-1;ee(n,this.supportsBinary,e=>{try{this.doWrite(n,e)}catch{}r&&ve(()=>{this.writable=!0,this.emitReserved(`drain`)},this.setTimeoutFn)})}}doClose(){this.ws!==void 0&&(this.ws.onerror=()=>{},this.ws.close(),this.ws=null)}uri(){let e=this.opts.secure?`wss`:`ws`,t=this.query||{};return this.opts.timestampRequests&&(t[this.opts.timestampParam]=Ee()),this.supportsBinary||(t.b64=1),this.createUri(e,t)}},Ue=ye.WebSocket||ye.MozWebSocket,We={websocket:class extends He{createSocket(e,t,n){return Ve?new Ue(e,t,n):t?new Ue(e,t):new Ue(e)}doWrite(e,t){this.ws.send(t)}},webtransport:class extends Ae{get name(){return`webtransport`}doOpen(){try{this._transport=new WebTransport(this.createUri(`https`),this.opts.transportOptions[this.name])}catch(e){return this.emitReserved(`error`,e)}this._transport.closed.then(()=>{this.onClose()}).catch(e=>{this.onError(`webtransport error`,e)}),this._transport.ready.then(()=>{this._transport.createBidirectionalStream().then(e=>{let t=he(2**53-1,this.socket.binaryType),n=e.readable.pipeThrough(t).getReader(),r=de();r.readable.pipeTo(e.writable),this._writer=r.writable.getWriter();let i=()=>{n.read().then(({done:e,value:t})=>{e||(this.onPacket(t),i())}).catch(e=>{})};i();let a={type:`open`};this.query.sid&&(a.data=`{"sid":"${this.query.sid}"}`),this._writer.write(a).then(()=>this.onOpen())})})}write(e){this.writable=!1;for(let t=0;t<e.length;t++){let n=e[t],r=t===e.length-1;this._writer.write(n).then(()=>{r&&ve(()=>{this.writable=!0,this.emitReserved(`drain`)},this.setTimeoutFn)})}}doClose(){var e;(e=this._transport)==null||e.close()}},polling:ze},Ge=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,Ke=[`source`,`protocol`,`authority`,`userInfo`,`user`,`password`,`host`,`port`,`relative`,`path`,`directory`,`file`,`query`,`anchor`];function qe(e){if(e.length>8e3)throw`URI too long`;let t=e,n=e.indexOf(`[`),r=e.indexOf(`]`);n!=-1&&r!=-1&&(e=e.substring(0,n)+e.substring(n,r).replace(/:/g,`;`)+e.substring(r,e.length));let i=Ge.exec(e||``),a={},o=14;for(;o--;)a[Ke[o]]=i[o]||``;return n!=-1&&r!=-1&&(a.source=t,a.host=a.host.substring(1,a.host.length-1).replace(/;/g,`:`),a.authority=a.authority.replace(`[`,``).replace(`]`,``).replace(/;/g,`:`),a.ipv6uri=!0),a.pathNames=Je(a,a.path),a.queryKey=Ye(a,a.query),a}function Je(e,t){let n=t.replace(/\/{2,9}/g,`/`).split(`/`);return(t.slice(0,1)==`/`||t.length===0)&&n.splice(0,1),t.slice(-1)==`/`&&n.splice(n.length-1,1),n}function Ye(e,t){let n={};return t.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(e,t,r){t&&(n[t]=r)}),n}var Xe=typeof addEventListener==`function`&&typeof removeEventListener==`function`,Ze=[];Xe&&addEventListener(`offline`,()=>{Ze.forEach(e=>e())},!1);var Qe=class e extends ge{constructor(e,t){if(super(),this.binaryType=be,this.writeBuffer=[],this._prevBufferLen=0,this._pingInterval=-1,this._pingTimeout=-1,this._maxPayload=-1,this._pingTimeoutTime=1/0,e&&typeof e==`object`&&(t=e,e=null),e){let n=qe(e);t.hostname=n.host,t.secure=n.protocol===`https`||n.protocol===`wss`,t.port=n.port,n.query&&(t.query=n.query)}else t.host&&(t.hostname=qe(t.host).host);Se(this,t),this.secure=t.secure==null?typeof location<`u`&&location.protocol===`https:`:t.secure,t.hostname&&!t.port&&(t.port=this.secure?`443`:`80`),this.hostname=t.hostname||(typeof location<`u`?location.hostname:`localhost`),this.port=t.port||(typeof location<`u`&&location.port?location.port:this.secure?`443`:`80`),this.transports=[],this._transportsByName={},t.transports.forEach(e=>{let t=e.prototype.name;this.transports.push(t),this._transportsByName[t]=e}),this.opts=Object.assign({path:`/engine.io`,agent:!1,withCredentials:!1,upgrade:!0,timestampParam:`t`,rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},t),this.opts.path=this.opts.path.replace(/\/$/,``)+(this.opts.addTrailingSlash?`/`:``),typeof this.opts.query==`string`&&(this.opts.query=Oe(this.opts.query)),Xe&&(this.opts.closeOnBeforeunload&&(this._beforeunloadEventListener=()=>{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener(`beforeunload`,this._beforeunloadEventListener,!1)),this.hostname!==`localhost`&&(this._offlineEventListener=()=>{this._onClose(`transport close`,{description:`network connection lost`})},Ze.push(this._offlineEventListener))),this.opts.withCredentials&&(this._cookieJar=void 0),this._open()}createTransport(e){let t=Object.assign({},this.opts.query);t.EIO=4,t.transport=e,this.id&&(t.sid=this.id);let n=Object.assign({},this.opts,{query:t,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptions[e]);return new this._transportsByName[e](n)}_open(){if(this.transports.length===0){this.setTimeoutFn(()=>{this.emitReserved(`error`,`No transports available`)},0);return}let t=this.opts.rememberUpgrade&&e.priorWebsocketSuccess&&this.transports.indexOf(`websocket`)!==-1?`websocket`:this.transports[0];this.readyState=`opening`;let n=this.createTransport(t);n.open(),this.setTransport(n)}setTransport(e){this.transport&&this.transport.removeAllListeners(),this.transport=e,e.on(`drain`,this._onDrain.bind(this)).on(`packet`,this._onPacket.bind(this)).on(`error`,this._onError.bind(this)).on(`close`,e=>this._onClose(`transport close`,e))}onOpen(){this.readyState=`open`,e.priorWebsocketSuccess=this.transport.name===`websocket`,this.emitReserved(`open`),this.flush()}_onPacket(e){if(this.readyState===`opening`||this.readyState===`open`||this.readyState===`closing`)switch(this.emitReserved(`packet`,e),this.emitReserved(`heartbeat`),e.type){case`open`:this.onHandshake(JSON.parse(e.data));break;case`ping`:this._sendPacket(`pong`),this.emitReserved(`ping`),this.emitReserved(`pong`),this._resetPingTimeout();break;case`error`:let t=Error(`server error`);t.code=e.data,this._onError(t);break;case`message`:this.emitReserved(`data`,e.data),this.emitReserved(`message`,e.data)}}onHandshake(e){this.emitReserved(`handshake`,e),this.id=e.sid,this.transport.query.sid=e.sid,this._pingInterval=e.pingInterval,this._pingTimeout=e.pingTimeout,this._maxPayload=e.maxPayload,this.onOpen(),this.readyState!==`closed`&&this._resetPingTimeout()}_resetPingTimeout(){this.clearTimeoutFn(this._pingTimeoutTimer);let e=this._pingInterval+this._pingTimeout;this._pingTimeoutTime=Date.now()+e,this._pingTimeoutTimer=this.setTimeoutFn(()=>{this._onClose(`ping timeout`)},e),this.opts.autoUnref&&this._pingTimeoutTimer.unref()}_onDrain(){this.writeBuffer.splice(0,this._prevBufferLen),this._prevBufferLen=0,this.writeBuffer.length===0?this.emitReserved(`drain`):this.flush()}flush(){if(this.readyState!==`closed`&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){let e=this._getWritablePackets();this.transport.send(e),this._prevBufferLen=e.length,this.emitReserved(`flush`)}}_getWritablePackets(){if(!(this._maxPayload&&this.transport.name===`polling`&&this.writeBuffer.length>1))return this.writeBuffer;let e=1;for(let t=0;t<this.writeBuffer.length;t++){let n=this.writeBuffer[t].data;if(n&&(e+=we(n)),t>0&&e>this._maxPayload)return this.writeBuffer.slice(0,t);e+=2}return this.writeBuffer}_hasPingExpired(){if(!this._pingTimeoutTime)return!0;let e=Date.now()>this._pingTimeoutTime;return e&&(this._pingTimeoutTime=0,ve(()=>{this._onClose(`ping timeout`)},this.setTimeoutFn)),e}write(e,t,n){return this._sendPacket(`message`,e,t,n),this}send(e,t,n){return this._sendPacket(`message`,e,t,n),this}_sendPacket(e,t,n,r){if(typeof t==`function`&&(r=t,t=void 0),typeof n==`function`&&(r=n,n=null),this.readyState===`closing`||this.readyState===`closed`)return;n||={},n.compress=!1!==n.compress;let i={type:e,data:t,options:n};this.emitReserved(`packetCreate`,i),this.writeBuffer.push(i),r&&this.once(`flush`,r),this.flush()}close(){let e=()=>{this._onClose(`forced close`),this.transport.close()},t=()=>{this.off(`upgrade`,t),this.off(`upgradeError`,t),e()},n=()=>{this.once(`upgrade`,t),this.once(`upgradeError`,t)};return(this.readyState===`opening`||this.readyState===`open`)&&(this.readyState=`closing`,this.writeBuffer.length?this.once(`drain`,()=>{this.upgrading?n():e()}):this.upgrading?n():e()),this}_onError(t){if(e.priorWebsocketSuccess=!1,this.opts.tryAllTransports&&this.transports.length>1&&this.readyState===`opening`)return this.transports.shift(),this._open();this.emitReserved(`error`,t),this._onClose(`transport error`,t)}_onClose(e,t){if(this.readyState===`opening`||this.readyState===`open`||this.readyState===`closing`){if(this.clearTimeoutFn(this._pingTimeoutTimer),this.transport.removeAllListeners(`close`),this.transport.close(),this.transport.removeAllListeners(),Xe&&(this._beforeunloadEventListener&&removeEventListener(`beforeunload`,this._beforeunloadEventListener,!1),this._offlineEventListener)){let e=Ze.indexOf(this._offlineEventListener);e!==-1&&Ze.splice(e,1)}this.readyState=`closed`,this.id=null,this.emitReserved(`close`,e,t),this.writeBuffer=[],this._prevBufferLen=0}}};Qe.protocol=4;var $e=class extends Qe{constructor(){super(...arguments),this._upgrades=[]}onOpen(){if(super.onOpen(),this.readyState===`open`&&this.opts.upgrade)for(let e=0;e<this._upgrades.length;e++)this._probe(this._upgrades[e])}_probe(e){let t=this.createTransport(e),n=!1;Qe.priorWebsocketSuccess=!1;let r=()=>{n||(t.send([{type:`ping`,data:`probe`}]),t.once(`packet`,e=>{if(!n){if(e.type===`pong`&&e.data===`probe`){if(this.upgrading=!0,this.emitReserved(`upgrading`,t),!t)return;Qe.priorWebsocketSuccess=t.name===`websocket`,this.transport.pause(()=>{n||this.readyState!==`closed`&&(l(),this.setTransport(t),t.send([{type:`upgrade`}]),this.emitReserved(`upgrade`,t),t=null,this.upgrading=!1,this.flush())})}else{let e=Error(`probe error`);e.transport=t.name,this.emitReserved(`upgradeError`,e)}}}))};function i(){n||(n=!0,l(),t.close(),t=null)}let a=e=>{let n=Error(`probe error: `+e);n.transport=t.name,i(),this.emitReserved(`upgradeError`,n)};function o(){a(`transport closed`)}function s(){a(`socket closed`)}function c(e){t&&e.name!==t.name&&i()}let l=()=>{t.removeListener(`open`,r),t.removeListener(`error`,a),t.removeListener(`close`,o),this.off(`close`,s),this.off(`upgrading`,c)};t.once(`open`,r),t.once(`error`,a),t.once(`close`,o),this.once(`close`,s),this.once(`upgrading`,c),this._upgrades.indexOf(`webtransport`)!==-1&&e!==`webtransport`?this.setTimeoutFn(()=>{n||t.open()},200):t.open()}onHandshake(e){this._upgrades=this._filterUpgrades(e.upgrades),super.onHandshake(e)}_filterUpgrades(e){let t=[];for(let n=0;n<e.length;n++)~this.transports.indexOf(e[n])&&t.push(e[n]);return t}},et=class extends $e{constructor(e,t={}){let n=typeof e==`object`?e:t;(!n.transports||n.transports&&typeof n.transports[0]==`string`)&&(n.transports=(n.transports||[`polling`,`websocket`,`webtransport`]).map(e=>We[e]).filter(e=>!!e)),super(e,n)}};et.protocol;function tt(e,t=``,n){let r=e;n||=typeof location<`u`&&location,e??=n.protocol+`//`+n.host,typeof e==`string`&&(e.charAt(0)===`/`&&(e=e.charAt(1)===`/`?n.protocol+e:n.host+e),/^(https?|wss?):\/\//.test(e)||(e=n===void 0?`https://`+e:n.protocol+`//`+e),r=qe(e)),r.port||(/^(http|ws)$/.test(r.protocol)?r.port=`80`:/^(http|ws)s$/.test(r.protocol)&&(r.port=`443`)),r.path=r.path||`/`;let i=r.host.indexOf(`:`)===-1?r.host:`[`+r.host+`]`;return r.id=r.protocol+`://`+i+`:`+r.port+t,r.href=r.protocol+`://`+i+(n&&n.port===r.port?``:`:`+r.port),r}var nt=typeof ArrayBuffer==`function`,rt=e=>typeof ArrayBuffer.isView==`function`?ArrayBuffer.isView(e):e.buffer instanceof ArrayBuffer,it=Object.prototype.toString,at=typeof Blob==`function`||typeof Blob<`u`&&it.call(Blob)===`[object BlobConstructor]`,ot=typeof File==`function`||typeof File<`u`&&it.call(File)===`[object FileConstructor]`;function st(e){return nt&&(e instanceof ArrayBuffer||rt(e))||at&&e instanceof Blob||ot&&e instanceof File}function ct(e,t){if(!e||typeof e!=`object`)return!1;if(Array.isArray(e)){for(let t=0,n=e.length;t<n;t++)if(ct(e[t]))return!0;return!1}if(st(e))return!0;if(e.toJSON&&typeof e.toJSON==`function`&&arguments.length===1)return ct(e.toJSON(),!0);for(let t in e)if(Object.prototype.hasOwnProperty.call(e,t)&&ct(e[t]))return!0;return!1}function lt(e){let t=[],n=e.data,r=e;return r.data=ut(n,t),r.attachments=t.length,{packet:r,buffers:t}}function ut(e,t){if(!e)return e;if(st(e)){let n={_placeholder:!0,num:t.length};return t.push(e),n}if(Array.isArray(e)){let n=Array(e.length);for(let r=0;r<e.length;r++)n[r]=ut(e[r],t);return n}if(typeof e==`object`&&!(e instanceof Date)){let n={};for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=ut(e[r],t));return n}return e}function dt(e,t){return e.data=ft(e.data,t),delete e.attachments,e}function ft(e,t){if(!e)return e;if(e&&e._placeholder===!0){if(typeof e.num==`number`&&e.num>=0&&e.num<t.length)return t[e.num];throw Error(`illegal attachments`)}if(Array.isArray(e))for(let n=0;n<e.length;n++)e[n]=ft(e[n],t);else if(typeof e==`object`)for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&(e[n]=ft(e[n],t));return e}var pt=s({Decoder:()=>gt,Encoder:()=>ht,PacketType:()=>M,isPacketValid:()=>Ct,protocol:()=>5}),mt=[`connect`,`connect_error`,`disconnect`,`disconnecting`,`newListener`,`removeListener`],M;(function(e){e[e.CONNECT=0]=`CONNECT`,e[e.DISCONNECT=1]=`DISCONNECT`,e[e.EVENT=2]=`EVENT`,e[e.ACK=3]=`ACK`,e[e.CONNECT_ERROR=4]=`CONNECT_ERROR`,e[e.BINARY_EVENT=5]=`BINARY_EVENT`,e[e.BINARY_ACK=6]=`BINARY_ACK`})(M||={});var ht=class{constructor(e){this.replacer=e}encode(e){return(e.type===M.EVENT||e.type===M.ACK)&&ct(e)?this.encodeAsBinary({type:e.type===M.EVENT?M.BINARY_EVENT:M.BINARY_ACK,nsp:e.nsp,data:e.data,id:e.id}):[this.encodeAsString(e)]}encodeAsString(e){let t=``+e.type;return(e.type===M.BINARY_EVENT||e.type===M.BINARY_ACK)&&(t+=e.attachments+`-`),e.nsp&&e.nsp!==`/`&&(t+=e.nsp+`,`),e.id!=null&&(t+=e.id),e.data!=null&&(t+=JSON.stringify(e.data,this.replacer)),t}encodeAsBinary(e){let t=lt(e),n=this.encodeAsString(t.packet),r=t.buffers;return r.unshift(n),r}},gt=class e extends ge{constructor(e){super(),this.opts=Object.assign({reviver:void 0,maxAttachments:10},typeof e==`function`?{reviver:e}:e)}add(e){let t;if(typeof e==`string`){if(this.reconstructor)throw Error(`got plaintext data when reconstructing a packet`);t=this.decodeString(e);let n=t.type===M.BINARY_EVENT;n||t.type===M.BINARY_ACK?(t.type=n?M.EVENT:M.ACK,this.reconstructor=new _t(t),t.attachments===0&&super.emitReserved(`decoded`,t)):super.emitReserved(`decoded`,t)}else if(st(e)||e.base64){if(this.reconstructor)t=this.reconstructor.takeBinaryData(e),t&&(this.reconstructor=null,super.emitReserved(`decoded`,t));else throw Error(`got binary data when not reconstructing a packet`)}else throw Error(`Unknown type: `+e)}decodeString(t){let n=0,r={type:Number(t.charAt(0))};if(M[r.type]===void 0)throw Error(`unknown packet type `+r.type);if(r.type===M.BINARY_EVENT||r.type===M.BINARY_ACK){let e=n+1;for(;t.charAt(++n)!==`-`&&n!=t.length;);let i=t.substring(e,n);if(i!=Number(i)||t.charAt(n)!==`-`)throw Error(`Illegal attachments`);let a=Number(i);if(!yt(a)||a<0)throw Error(`Illegal attachments`);if(a>this.opts.maxAttachments)throw Error(`too many attachments`);r.attachments=a}if(t.charAt(n+1)===`/`){let e=n+1;for(;++n&&t.charAt(n)!==`,`&&n!==t.length;);r.nsp=t.substring(e,n)}else r.nsp=`/`;let i=t.charAt(n+1);if(i!==``&&Number(i)==i){let e=n+1;for(;++n;){let e=t.charAt(n);if(e==null||Number(e)!=e){--n;break}if(n===t.length)break}r.id=Number(t.substring(e,n+1))}if(t.charAt(++n)){let i=this.tryParse(t.substr(n));if(e.isPayloadValid(r.type,i))r.data=i;else throw Error(`invalid payload`)}return r}tryParse(e){try{return JSON.parse(e,this.opts.reviver)}catch{return!1}}static isPayloadValid(e,t){switch(e){case M.CONNECT:return xt(t);case M.DISCONNECT:return t===void 0;case M.CONNECT_ERROR:return typeof t==`string`||xt(t);case M.EVENT:case M.BINARY_EVENT:return Array.isArray(t)&&(typeof t[0]==`number`||typeof t[0]==`string`&&mt.indexOf(t[0])===-1);case M.ACK:case M.BINARY_ACK:return Array.isArray(t)}}destroy(){this.reconstructor&&=(this.reconstructor.finishedReconstruction(),null)}},_t=class{constructor(e){this.packet=e,this.buffers=[],this.reconPack=e}takeBinaryData(e){if(this.buffers.push(e),this.buffers.length===this.reconPack.attachments){let e=dt(this.reconPack,this.buffers);return this.finishedReconstruction(),e}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}};function vt(e){return typeof e==`string`}var yt=Number.isInteger||function(e){return typeof e==`number`&&isFinite(e)&&Math.floor(e)===e};function bt(e){return e===void 0||yt(e)}function xt(e){return Object.prototype.toString.call(e)===`[object Object]`}function St(e,t){switch(e){case M.CONNECT:return t===void 0||xt(t);case M.DISCONNECT:return t===void 0;case M.EVENT:return Array.isArray(t)&&(typeof t[0]==`number`||typeof t[0]==`string`&&mt.indexOf(t[0])===-1);case M.ACK:return Array.isArray(t);case M.CONNECT_ERROR:return typeof t==`string`||xt(t);default:return!1}}function Ct(e){return vt(e.nsp)&&bt(e.id)&&St(e.type,e.data)}function wt(e,t,n){return e.on(t,n),function(){e.off(t,n)}}var Tt=Object.freeze({connect:1,connect_error:1,disconnect:1,disconnecting:1,newListener:1,removeListener:1}),Et=class extends ge{constructor(e,t,n){super(),this.connected=!1,this.recovered=!1,this.receiveBuffer=[],this.sendBuffer=[],this._queue=[],this._queueSeq=0,this.ids=0,this.acks={},this.flags={},this.io=e,this.nsp=t,n&&n.auth&&(this.auth=n.auth),this._opts=Object.assign({},n),this.io._autoConnect&&this.open()}get disconnected(){return!this.connected}subEvents(){if(this.subs)return;let e=this.io;this.subs=[wt(e,`open`,this.onopen.bind(this)),wt(e,`packet`,this.onpacket.bind(this)),wt(e,`error`,this.onerror.bind(this)),wt(e,`close`,this.onclose.bind(this))]}get active(){return!!this.subs}connect(){return this.connected?this:(this.subEvents(),this.io._reconnecting||this.io.open(),this.io._readyState===`open`&&this.onopen(),this)}open(){return this.connect()}send(...e){return e.unshift(`message`),this.emit.apply(this,e),this}emit(e,...t){if(Tt.hasOwnProperty(e))throw Error(`"`+e.toString()+`" is a reserved event name`);if(t.unshift(e),this._opts.retries&&!this.flags.fromQueue&&!this.flags.volatile)return this._addToQueue(t),this;let n={type:M.EVENT,data:t};if(n.options={},n.options.compress=this.flags.compress!==!1,typeof t[t.length-1]==`function`){let e=this.ids++,r=t.pop();this._registerAckCallback(e,r),n.id=e}let r=this.io.engine?.transport?.writable,i=this.connected&&!this.io.engine?._hasPingExpired();return this.flags.volatile&&!r||(i?(this.notifyOutgoingListeners(n),this.packet(n)):this.sendBuffer.push(n)),this.flags={},this}_registerAckCallback(e,t){let n=this.flags.timeout??this._opts.ackTimeout;if(n===void 0){this.acks[e]=t;return}let r=this.io.setTimeoutFn(()=>{delete this.acks[e];for(let t=0;t<this.sendBuffer.length;t++)this.sendBuffer[t].id===e&&this.sendBuffer.splice(t,1);t.call(this,Error(`operation has timed out`))},n),i=(...e)=>{this.io.clearTimeoutFn(r),t.apply(this,e)};i.withError=!0,this.acks[e]=i}emitWithAck(e,...t){return new Promise((n,r)=>{let i=(e,t)=>e?r(e):n(t);i.withError=!0,t.push(i),this.emit(e,...t)})}_addToQueue(e){let t;typeof e[e.length-1]==`function`&&(t=e.pop());let n={id:this._queueSeq++,tryCount:0,pending:!1,args:e,flags:Object.assign({fromQueue:!0},this.flags)};e.push((e,...r)=>(this._queue[0],e===null?(this._queue.shift(),t&&t(null,...r)):n.tryCount>this._opts.retries&&(this._queue.shift(),t&&t(e)),n.pending=!1,this._drainQueue())),this._queue.push(n),this._drainQueue()}_drainQueue(e=!1){if(!this.connected||this._queue.length===0)return;let t=this._queue[0];(!t.pending||e)&&(t.pending=!0,t.tryCount++,this.flags=t.flags,this.emit.apply(this,t.args))}packet(e){e.nsp=this.nsp,this.io._packet(e)}onopen(){typeof this.auth==`function`?this.auth(e=>{this._sendConnectPacket(e)}):this._sendConnectPacket(this.auth)}_sendConnectPacket(e){this.packet({type:M.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},e):e})}onerror(e){this.connected||this.emitReserved(`connect_error`,e)}onclose(e,t){this.connected=!1,delete this.id,this.emitReserved(`disconnect`,e,t),this._clearAcks()}_clearAcks(){Object.keys(this.acks).forEach(e=>{if(!this.sendBuffer.some(t=>String(t.id)===e)){let t=this.acks[e];delete this.acks[e],t.withError&&t.call(this,Error(`socket has been disconnected`))}})}onpacket(e){if(e.nsp===this.nsp)switch(e.type){case M.CONNECT:e.data&&e.data.sid?this.onconnect(e.data.sid,e.data.pid):this.emitReserved(`connect_error`,Error(`It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)`));break;case M.EVENT:case M.BINARY_EVENT:this.onevent(e);break;case M.ACK:case M.BINARY_ACK:this.onack(e);break;case M.DISCONNECT:this.ondisconnect();break;case M.CONNECT_ERROR:this.destroy();let t=Error(e.data.message);t.data=e.data.data,this.emitReserved(`connect_error`,t)}}onevent(e){let t=e.data||[];e.id!=null&&t.push(this.ack(e.id)),this.connected?this.emitEvent(t):this.receiveBuffer.push(Object.freeze(t))}emitEvent(e){if(this._anyListeners&&this._anyListeners.length){let t=this._anyListeners.slice();for(let n of t)n.apply(this,e)}super.emit.apply(this,e),this._pid&&e.length&&typeof e[e.length-1]==`string`&&(this._lastOffset=e[e.length-1])}ack(e){let t=this,n=!1;return function(...r){n||(n=!0,t.packet({type:M.ACK,id:e,data:r}))}}onack(e){let t=this.acks[e.id];typeof t==`function`&&(delete this.acks[e.id],t.withError&&e.data.unshift(null),t.apply(this,e.data))}onconnect(e,t){this.id=e,this.recovered=t&&this._pid===t,this._pid=t,this.connected=!0,this.emitBuffered(),this._drainQueue(!0),this.emitReserved(`connect`)}emitBuffered(){this.receiveBuffer.forEach(e=>this.emitEvent(e)),this.receiveBuffer=[],this.sendBuffer.forEach(e=>{this.notifyOutgoingListeners(e),this.packet(e)}),this.sendBuffer=[]}ondisconnect(){this.destroy(),this.onclose(`io server disconnect`)}destroy(){this.subs&&=(this.subs.forEach(e=>e()),void 0),this.io._destroy(this)}disconnect(){return this.connected&&this.packet({type:M.DISCONNECT}),this.destroy(),this.connected&&this.onclose(`io client disconnect`),this}close(){return this.disconnect()}compress(e){return this.flags.compress=e,this}get volatile(){return this.flags.volatile=!0,this}timeout(e){return this.flags.timeout=e,this}onAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(e),this}prependAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(e),this}offAny(e){if(!this._anyListeners)return this;if(e){let t=this._anyListeners;for(let n=0;n<t.length;n++)if(e===t[n])return t.splice(n,1),this}else this._anyListeners=[];return this}listenersAny(){return this._anyListeners||[]}onAnyOutgoing(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.push(e),this}prependAnyOutgoing(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.unshift(e),this}offAnyOutgoing(e){if(!this._anyOutgoingListeners)return this;if(e){let t=this._anyOutgoingListeners;for(let n=0;n<t.length;n++)if(e===t[n])return t.splice(n,1),this}else this._anyOutgoingListeners=[];return this}listenersAnyOutgoing(){return this._anyOutgoingListeners||[]}notifyOutgoingListeners(e){if(this._anyOutgoingListeners&&this._anyOutgoingListeners.length){let t=this._anyOutgoingListeners.slice();for(let n of t)n.apply(this,e.data)}}};function Dt(e){e||={},this.ms=e.min||100,this.max=e.max||1e4,this.factor=e.factor||2,this.jitter=e.jitter>0&&e.jitter<=1?e.jitter:0,this.attempts=0}Dt.prototype.duration=function(){var e=this.ms*this.factor**+this.attempts++;if(this.jitter){var t=Math.random(),n=Math.floor(t*this.jitter*e);e=Math.floor(t*10)&1?e+n:e-n}return Math.min(e,this.max)|0},Dt.prototype.reset=function(){this.attempts=0},Dt.prototype.setMin=function(e){this.ms=e},Dt.prototype.setMax=function(e){this.max=e},Dt.prototype.setJitter=function(e){this.jitter=e};var Ot=class extends ge{constructor(e,t){super(),this.nsps={},this.subs=[],e&&typeof e==`object`&&(t=e,e=void 0),t||={},t.path=t.path||`/socket.io`,this.opts=t,Se(this,t),this.reconnection(t.reconnection!==!1),this.reconnectionAttempts(t.reconnectionAttempts||1/0),this.reconnectionDelay(t.reconnectionDelay||1e3),this.reconnectionDelayMax(t.reconnectionDelayMax||5e3),this.randomizationFactor(t.randomizationFactor??.5),this.backoff=new Dt({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(t.timeout==null?2e4:t.timeout),this._readyState=`closed`,this.uri=e;let n=t.parser||pt;this.encoder=new n.Encoder,this.decoder=new n.Decoder,this._autoConnect=t.autoConnect!==!1,this._autoConnect&&this.open()}reconnection(e){return arguments.length?(this._reconnection=!!e,e||(this.skipReconnect=!0),this):this._reconnection}reconnectionAttempts(e){return e===void 0?this._reconnectionAttempts:(this._reconnectionAttempts=e,this)}reconnectionDelay(e){var t;return e===void 0?this._reconnectionDelay:(this._reconnectionDelay=e,(t=this.backoff)==null||t.setMin(e),this)}randomizationFactor(e){var t;return e===void 0?this._randomizationFactor:(this._randomizationFactor=e,(t=this.backoff)==null||t.setJitter(e),this)}reconnectionDelayMax(e){var t;return e===void 0?this._reconnectionDelayMax:(this._reconnectionDelayMax=e,(t=this.backoff)==null||t.setMax(e),this)}timeout(e){return arguments.length?(this._timeout=e,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&this.backoff.attempts===0&&this.reconnect()}open(e){if(~this._readyState.indexOf(`open`))return this;this.engine=new et(this.uri,this.opts);let t=this.engine,n=this;this._readyState=`opening`,this.skipReconnect=!1;let r=wt(t,`open`,function(){n.onopen(),e&&e()}),i=t=>{this.cleanup(),this._readyState=`closed`,this.emitReserved(`error`,t),e?e(t):this.maybeReconnectOnOpen()},a=wt(t,`error`,i);if(!1!==this._timeout){let e=this._timeout,n=this.setTimeoutFn(()=>{r(),i(Error(`timeout`)),t.close()},e);this.opts.autoUnref&&n.unref(),this.subs.push(()=>{this.clearTimeoutFn(n)})}return this.subs.push(r),this.subs.push(a),this}connect(e){return this.open(e)}onopen(){this.cleanup(),this._readyState=`open`,this.emitReserved(`open`);let e=this.engine;this.subs.push(wt(e,`ping`,this.onping.bind(this)),wt(e,`data`,this.ondata.bind(this)),wt(e,`error`,this.onerror.bind(this)),wt(e,`close`,this.onclose.bind(this)),wt(this.decoder,`decoded`,this.ondecoded.bind(this)))}onping(){this.emitReserved(`ping`)}ondata(e){try{this.decoder.add(e)}catch(e){this.onclose(`parse error`,e)}}ondecoded(e){ve(()=>{this.emitReserved(`packet`,e)},this.setTimeoutFn)}onerror(e){this.emitReserved(`error`,e)}socket(e,t){let n=this.nsps[e];return n?this._autoConnect&&!n.active&&n.connect():(n=new Et(this,e,t),this.nsps[e]=n),n}_destroy(e){let t=Object.keys(this.nsps);for(let e of t)if(this.nsps[e].active)return;this._close()}_packet(e){let t=this.encoder.encode(e);for(let n=0;n<t.length;n++)this.engine.write(t[n],e.options)}cleanup(){this.subs.forEach(e=>e()),this.subs.length=0,this.decoder.destroy()}_close(){this.skipReconnect=!0,this._reconnecting=!1,this.onclose(`forced close`)}disconnect(){return this._close()}onclose(e,t){var n;this.cleanup(),(n=this.engine)==null||n.close(),this.backoff.reset(),this._readyState=`closed`,this.emitReserved(`close`,e,t),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;let e=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved(`reconnect_failed`),this._reconnecting=!1;else{let t=this.backoff.duration();this._reconnecting=!0;let n=this.setTimeoutFn(()=>{e.skipReconnect||(this.emitReserved(`reconnect_attempt`,e.backoff.attempts),!e.skipReconnect&&e.open(t=>{t?(e._reconnecting=!1,e.reconnect(),this.emitReserved(`reconnect_error`,t)):e.onreconnect()}))},t);this.opts.autoUnref&&n.unref(),this.subs.push(()=>{this.clearTimeoutFn(n)})}}onreconnect(){let e=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved(`reconnect`,e)}},kt={};function At(e,t){typeof e==`object`&&(t=e,e=void 0),t||={};let n=tt(e,t.path||`/socket.io`),r=n.source,i=n.id,a=n.path,o=kt[i]&&a in kt[i].nsps,s=t.forceNew||t[`force new connection`]||!1===t.multiplex||o,c;return s?c=new Ot(r,t):(kt[i]||(kt[i]=new Ot(r,t)),c=kt[i]),n.query&&!t.query&&(t.query=n.queryKey),c.socket(n.path,t)}Object.assign(At,{Manager:Ot,Socket:Et,io:At,connect:At});var jt=2e3,Mt=4e3,Nt=1e3;function Pt(e){return e?Array.isArray(e)?{models:e}:Array.isArray(e.models)?e:null:null}function Ft(e,t){return t?`${t.replace(/\/$/,``)}${e}`:e}function It(e=``){let[t,n]=(0,v.useState)([]),[r,i]=(0,v.useState)(!1),[a,o]=(0,v.useState)(`connecting`),[s,c]=(0,v.useState)(0),[l,u]=(0,v.useState)(null),[d,f]=(0,v.useState)(!1),[p,m]=(0,v.useState)(0),[h,g]=(0,v.useState)(`speed`),[_,y]=(0,v.useState)(!1),[b,x]=(0,v.useState)(0),[S,C]=(0,v.useState)(0),[w,T]=(0,v.useState)(null),ee=(0,v.useRef)(null),E=(0,v.useRef)(null),te=(0,v.useRef)(null),D=(0,v.useRef)(0),O=(0,v.useRef)(0),ne=(0,v.useRef)(!1),re=(0,v.useCallback)((e,t=`unknown`)=>{let r=Pt(e);r&&ne.current&&(n(r.models??[]),g(r.pingMode??`speed`),u(r.nextPingAt??null),f(!!r.isPinging),m(Number.isFinite(r.pendingPings)?r.pendingPings:0),y(!!r.globalBenchmarkRunning),x(Number.isFinite(r.globalBenchmarkTotal)?r.globalBenchmarkTotal:0),C(Number.isFinite(r.globalBenchmarkCompleted)?r.globalBenchmarkCompleted:0),T(r.updateStatus&&r.updateStatus.allowedOutdated?r.updateStatus:null),c(e=>e+1),D.current=Date.now(),t!==`poll`&&(i(!0),o(t)))},[]),ie=(0,v.useCallback)(async()=>{try{let t=await fetch(Ft(`/api/state`,e),{headers:{Accept:`application/json`}});if(t.ok){re(await t.json(),`poll`),i(!0),o(e=>e===`socket`||e===`sse`?e:`poll`);return}}catch{}try{let t=await fetch(Ft(`/api/models`,e),{headers:{Accept:`application/json`}});if(!t.ok)throw Error(`HTTP ${t.status}`);re(await t.json(),`poll`),i(!0),o(e=>e===`socket`||e===`sse`?e:`poll`)}catch{i(!1),o(`offline`)}},[re,e]),ae=(0,v.useCallback)(()=>{if(!E.current&&ne.current)try{let t=new EventSource(Ft(`/api/events`,e));E.current=t,t.onopen=()=>{ne.current&&(i(!0),o(`sse`))};let n=e=>{try{re(JSON.parse(e.data),`sse`)}catch(e){console.warn(`[useSocket] SSE parse error:`,e)}};t.onmessage=n,t.addEventListener(`models`,n),t.onerror=()=>{t.close(),E.current===t&&(E.current=null),ee.current?.connected||i(!1)}}catch{E.current=null}},[re,e]),k=(0,v.useCallback)(()=>{let t=Date.now();if(!(t-O.current<Nt)){if(O.current=t,ee.current?.connected){ee.current.emit(`client:activity`);return}fetch(Ft(`/api/activity`,e),{method:`POST`}).catch(()=>{})}},[e]);return(0,v.useEffect)(()=>{ne.current=!0;let t=At(e||void 0,{transports:[`websocket`,`polling`],reconnectionDelay:500,reconnectionDelayMax:2500,timeout:1200});ee.current=t,t.on(`connect`,()=>{i(!0),o(`socket`),E.current?.close(),E.current=null,t.emit(`models:refresh`),t.emit(`client:activity`)}),t.on(`disconnect`,()=>{ne.current&&(i(!1),ae())}),t.on(`connect_error`,()=>{ne.current&&(i(!1),ae())}),t.on(`models:update`,e=>re(e,`socket`)),te.current=setInterval(()=>{let e=Date.now()-D.current>Mt;(!t.connected||e)&&ie()},jt),ie();let n=[`keydown`,`pointerdown`,`mousemove`,`focus`];for(let e of n)window.addEventListener(e,k,{passive:!0});return()=>{ne.current=!1;for(let e of n)window.removeEventListener(e,k);te.current&&clearInterval(te.current),t.disconnect(),E.current?.close(),ee.current=null,E.current=null}},[re,ie,k,e,ae]),{models:t,connected:r,transport:a,updateCount:s,nextPingAt:l,isPinging:d,pendingPings:p,pingMode:h,globalBenchmarkRunning:_,globalBenchmarkTotal:b,globalBenchmarkCompleted:S,updateStatus:w}}var Lt={"S+":0,S:1,"A+":2,A:3,"A-":4,"B+":5,B:6,C:7},Rt={Perfect:0,Normal:1,Slow:2,Spiky:3,"Very Slow":4,Overloaded:5,Unstable:6,"Not Active":7,Pending:8};function zt(e){return Lt[e]??99}function Bt(e){return Rt[e]??99}function Vt(e){return!e||e===`—`?0:parseFloat(e.replace(`%`,``))||0}function Ht(e){let t=Vt(e);return t>=65?`sweHigh`:t>=40?`sweMid`:`sweLow`}function Ut(e){return e==null||e===1/0||e>99e3?{text:`—`,cls:`pingNone`}:{text:`${e}ms`,cls:Wt(e)}}function Wt(e){return e==null||e===1/0?`pingNone`:e<500?`pingFast`:e<1500?`pingMedium`:`pingSlow`}function Gt(e){if(!e||e===`—`)return 0;let t=e.toLowerCase();return t.includes(`m`)?parseFloat(t)*1e3:t.includes(`k`)?parseFloat(t):0}function Kt(e){return!e||e.length<8?`••••••••`:`••••••••`+e.slice(-4)}var qt=[`all`,`S+`,`S`,`A+`,`A`,`A-`,`B+`,`B`,`C`],Jt=[`all`,`up`,`down`,`pending`],Yt=[`all`,`Perfect`,`Normal`,`Spiky`,`Slow`,`Overloaded`,`Down`,`Unstable`,`Pending`],Xt=[`all`,`up`,`timeout`,`down`,`pending`,`noauth`,`auth_error`],Zt=[`normal`,`configured`,`usable`];function N(e){return e.idx??9999}function Qt(e){return e.pingHistory||e.pings||[]}function $t(e){let t=Qt(e);return(t.length>0?t[t.length-1]:null)?.ms??null}function en(e){let t=Qt(e).map(e=>e?.ms).filter(e=>typeof e==`number`&&Number.isFinite(e));return t.length<2?null:t[t.length-1]-t[0]}function tn(e){return typeof e==`number`&&Number.isFinite(e)?e:null}function nn(e,t,n){let r=e==null,i=t==null;return r&&i?0:r?1:i?-1:(e-t)*n}function rn(e,t,n){let r=typeof e==`string`?e:``,i=typeof t==`string`?t:``,a=r.length===0,o=i.length===0;return a&&o?0:a?1:o?-1:r.localeCompare(i)*n}var an={up:0,pending:1,timeout:2,down:3,noauth:4,auth_error:5};function on(e){let[t,n]=(0,v.useState)(`all`),[r,i]=(0,v.useState)(`all`),[a,o]=(0,v.useState)(`all`),[s,c]=(0,v.useState)(`all`),[l,u]=(0,v.useState)(`all`),[d,f]=(0,v.useState)(`normal`),[p,m]=(0,v.useState)(``),[h,g]=(0,v.useState)(null),[_,y]=(0,v.useState)(`avg`),[b,x]=(0,v.useState)(`asc`),S=(0,v.useCallback)((e,t,n)=>{n(t[(t.indexOf(e)+1)%t.length])},[]),C=(0,v.useCallback)(()=>S(t,qt,n),[t,S]),w=(0,v.useCallback)(()=>S(r,Jt,i),[r,S]),T=(0,v.useCallback)(()=>S(s,Yt,c),[s,S]),ee=(0,v.useCallback)(()=>S(l,Xt,u),[l,S]),E=(0,v.useCallback)(()=>S(d,Zt,f),[d,S]),te=(0,v.useCallback)(e=>{if(_!==e){y(e),x(`asc`);return}if(b===`asc`){x(`desc`);return}y(null),x(`asc`)},[_,b]),D=(0,v.useCallback)(()=>{n(`all`),i(`all`),o(`all`),c(`all`),u(`all`),f(`normal`),m(``),g(null),y(`avg`),x(`asc`)},[]);return{filtered:(0,v.useMemo)(()=>{let n=[...e];t!==`all`&&(n=n.filter(e=>e.tier===t)),r!==`all`&&(n=n.filter(e=>r===`up`?e.status===`up`:r===`down`?e.status===`down`||e.status===`timeout`:r!==`pending`||e.status===`pending`)),a!==`all`&&(n=n.filter(e=>e.providerKey===a)),s!==`all`&&(n=n.filter(e=>e.verdict===s)),l!==`all`&&(n=n.filter(e=>e.status===l)),d===`configured`?n=n.filter(e=>e.hasApiKey&&e.status!==`noauth`&&e.status!==`auth_error`):d===`usable`&&(n=n.filter(e=>e.status===`up`&&[`Perfect`,`Normal`,`Slow`].includes(e.verdict)));let i=p.trim().toLowerCase(),o=(h||``).trim().toLowerCase();return i&&(n=n.filter(e=>e.label.toLowerCase().includes(i)||e.modelId.toLowerCase().includes(i)||e.origin.toLowerCase().includes(i)||e.tier.toLowerCase().includes(i)||(e.verdict||``).toLowerCase().includes(i))),o&&(n=n.filter(e=>e.label.toLowerCase().includes(o)||e.modelId.toLowerCase().includes(o)||e.origin.toLowerCase().includes(o)||(e.ctx||``).toLowerCase().includes(o)||(e.providerKey||``).toLowerCase().includes(o))),n.sort((e,t)=>{if(!_)return N(e)-N(t);let n=b===`desc`?-1:1,r=0;return _===`mood`?r=nn(Bt(e.verdict),Bt(t.verdict),n):_===`idx`?r=nn(N(e),N(t),n):_===`tier`?r=nn(zt(e.tier),zt(t.tier),n):_===`label`?r=rn(e.label,t.label,n):_===`origin`?r=rn(e.origin,t.origin,n):_===`sweScore`?r=nn(Vt(e.sweScore),Vt(t.sweScore),n):_===`ctx`?r=nn(Gt(e.ctx),Gt(t.ctx),n):_===`latestPing`?r=nn($t(e),$t(t),n):_===`avg`?r=nn(e.avg==null||e.avg===1/0||e.avg>99e3?null:e.avg,t.avg==null||t.avg===1/0||t.avg>99e3?null:t.avg,n):_===`condition`?r=nn(an[e.status]??9,an[t.status]??9,n):_===`verdict`?r=nn(Bt(e.verdict),Bt(t.verdict),n):_===`stability`?r=nn(tn(e.stability),tn(t.stability),n):_===`uptime`?r=nn(tn(e.uptime),tn(t.uptime),n):_===`aiLatency`?r=nn(e.benchmark?.ok?e.benchmark.totalMs:null,t.benchmark?.ok?t.benchmark.totalMs:null,n):_===`tps`?r=nn(e.benchmark?.ok?e.benchmark.tokensPerSecond??0:null,t.benchmark?.ok?t.benchmark.tokensPerSecond??0:null,n):_===`quota`?r=nn(tn(e.usagePercent),tn(t.usagePercent),n):_===`trend`&&(r=nn(en(e),en(t),n)),r||N(e)-N(t)}),n},[e,t,r,a,s,l,d,p,h,_,b]),filterTier:t,setFilterTier:n,cycleTier:C,filterStatus:r,setFilterStatus:i,cycleStatus:w,filterProvider:a,setFilterProvider:o,filterVerdict:s,setFilterVerdict:c,cycleVerdict:T,filterHealth:l,setFilterHealth:u,cycleHealth:ee,visibilityMode:d,setVisibilityMode:f,cycleVisibility:E,searchQuery:p,setSearchQuery:m,customTextFilter:h,setCustomTextFilter:g,sortColumn:_,sortDirection:b,toggleSort:te,resetView:D}}var sn=[`auto`,`dark`,`light`];function cn(){if(typeof window>`u`||typeof window.matchMedia!=`function`)return`dark`;try{return window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`}catch{return`dark`}}function ln(){if(typeof document>`u`)return`auto`;let e=document.documentElement.getAttribute(`data-theme`);return e===`auto`||e===`dark`||e===`light`?e:`auto`}function un(){let[e,t]=(0,v.useState)(ln),[n,r]=(0,v.useState)(cn);(0,v.useEffect)(()=>{if(typeof window>`u`||typeof window.matchMedia!=`function`)return;let e=window.matchMedia(`(prefers-color-scheme: dark)`),t=e=>r(e.matches?`dark`:`light`);if(typeof e.addEventListener==`function`)return e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t);if(typeof e.addListener==`function`)return e.addListener(t),()=>e.removeListener(t)},[]),(0,v.useEffect)(()=>{let t=e===`auto`?n:e;document.documentElement.setAttribute(`data-theme`,t),document.documentElement.setAttribute(`data-theme-preference`,e)},[e,n]);let i=(0,v.useCallback)(()=>{t(e=>sn[(sn.indexOf(e)+1)%sn.length])},[]),a=(0,v.useCallback)(e=>{sn.includes(e)&&t(e)},[]);return{theme:e,resolvedTheme:e===`auto`?n:e,setTheme:a,cycle:i}}var dn=Object.freeze([]);function fn({models:e}={}){let[t,n]=(0,v.useState)(dn),[r,i]=(0,v.useState)(!1),[a,o]=(0,v.useState)(!0),[s,c]=(0,v.useState)(null),l=(0,v.useCallback)(async()=>{try{let e=await fetch(`/api/favorites`);if(!e.ok)throw Error(`HTTP ${e.status}`);let t=await e.json();n(Array.isArray(t.favorites)?t.favorites:[]),i(!!t.pinnedAndSticky),c(null)}catch(e){c(e.message||`Failed to load favorites`),n(dn),i(!1)}finally{o(!1)}},[]);(0,v.useEffect)(()=>{l()},[l]);let u=(0,v.useMemo)(()=>{let e=new Map;return t.forEach((t,n)=>e.set(t,n)),e},[t]),d=(0,v.useCallback)(e=>{if(!e)return!1;let t=`${e.providerKey}/${e.modelId}`;return u.has(t)},[u]),f=(0,v.useCallback)(e=>{if(!e)return 2**53-1;let t=`${e.providerKey}/${e.modelId}`,n=u.get(t);return n===void 0?2**53-1:n},[u]),p=(0,v.useCallback)(e=>e?`${e.providerKey}/${e.modelId}`:null,[]),m=(0,v.useCallback)(async e=>{try{let t=await fetch(`/api/favorites`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({favorites:e})});if(!t.ok)throw Error(`HTTP ${t.status}`);n(e)}catch(e){c(e.message||`Failed to save favorites`)}},[]);return{favorites:t,pinnedAndSticky:r,isFavorite:d,favoriteRank:f,toggle:(0,v.useCallback)(async e=>{let n=p(e);if(!n)return;let r=u.has(n)?t.filter(e=>e!==n):[...t,n];await m(r)},[t,u,p,m]),reorder:(0,v.useCallback)(async(e,n)=>{let r=p(e);if(!r)return;let i=t.indexOf(r);if(i<0)return;let a=n===`up`?i-1:i+1;if(a<0||a>=t.length)return;let o=[...t];[o[i],o[a]]=[o[a],o[i]],await m(o)},[t,p,m]),setPinnedAndSticky:(0,v.useCallback)(async e=>{i(!!e);try{await fetch(`/api/favorites`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({pinnedAndSticky:!!e})})}catch(e){c(e.message||`Failed to save display mode`)}},[]),refresh:l,loading:a,error:s}}var pn=[`opencode`,`pi`,`jcode`,`opencode-desktop`,`opencode-web`,`openclaw`,`crush`,`goose`,`aider`,`qwen`,`openhands`,`amp`,`forgecode`,`fcm_router`,`zcode`],mn=`opencode`;function hn(e){return pn.includes(e)?e:mn}function gn({onToast:e}={}){let[t,n]=(0,v.useState)(mn),r=(0,v.useRef)(!1);(0,v.useEffect)(()=>{let t=!1;async function i(){try{let e=await fetch(`/api/tool-mode`),i=await e.json().catch(()=>({}));!t&&!r.current&&e.ok&&n(hn(i.mode))}catch(n){t||e?.(`Tool mode load failed: ${n.message}`,`error`)}}return i(),()=>{t=!0}},[e]);let i=(0,v.useCallback)(async t=>{let i=hn(t);r.current=!0,n(i);try{let e=await fetch(`/api/tool-mode`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({mode:i})}),t=await e.json().catch(()=>({}));if(!e.ok){let n=t?.error,r=typeof n==`string`&&n||n?.message||`HTTP ${e.status}`;throw Error(r)}return n(hn(t.mode)),{ok:!0,mode:hn(t.mode)}}catch(t){return e?.(`Tool mode save failed: ${t.message}`,`error`),{ok:!1,error:t.message,mode:i}}},[e]),a=(0,v.useCallback)(()=>{let e=pn[(pn.indexOf(t)+1)%pn.length]||mn;return i(e)},[i,t]);return{toolMode:t,tools:(0,v.useMemo)(()=>[...pn],[]),setToolMode:i,cycleToolMode:a}}var _n={opencode:{label:`OpenCode CLI`,emoji:`📦`,flag:`--opencode`,color:[110,214,255]},"opencode-desktop":{label:`OpenCode Desktop`,emoji:`📦`,flag:`--opencode-desktop`,color:[149,205,255]},"opencode-web":{label:`OpenCode Web`,emoji:`📦`,flag:`--opencode-web`,color:[180,220,255]},openclaw:{label:`OpenClaw`,emoji:`🦞`,flag:`--openclaw`,color:[255,129,129]},crush:{label:`Crush`,emoji:`💘`,flag:`--crush`,color:[255,168,209]},goose:{label:`Goose`,emoji:`🪿`,flag:`--goose`,color:[132,235,168]},pi:{label:`Pi`,emoji:`π`,flag:`--pi`,color:[173,216,230]},aider:{label:`Aider`,emoji:`🛠`,flag:`--aider`,color:[255,208,102]},kilo:{label:`Kilo CLI`,emoji:`⚡️`,flag:`--kilo`,color:[255,107,107]},qwen:{label:`Qwen Code`,emoji:`🐉`,flag:`--qwen`,color:[255,213,128]},openhands:{label:`OpenHands`,emoji:`🤲`,flag:`--openhands`,color:[228,191,239]},amp:{label:`Amp`,emoji:`⚡`,flag:`--amp`,color:[255,232,98]},hermes:{label:`Hermes`,emoji:`🔮`,flag:`--hermes`,color:[200,160,255]},continue:{label:`Continue CLI`,emoji:`▶️`,flag:`--continue`,color:[255,100,100]},cline:{label:`Cline`,emoji:`🧠`,flag:`--cline`,color:[100,220,180]},caveman:{label:`Caveman Code`,emoji:`🪨`,flag:`--caveman`,color:[180,130,80]},jcode:{label:`jcode`,emoji:`🪼`,flag:`--jcode`,color:[255,140,0]},xcode:{label:`Xcode Intelligence`,emoji:`🛠️`,flag:`--xcode`,color:[20,126,251]},fcm_router:{label:`FCM Router`,emoji:`🧭`,flag:`--fcm-router`,color:[80,200,120]},copilot:{label:`Copilot CLI`,emoji:`🤖`,flag:`--copilot`,color:[200,220,255]},forgecode:{label:`ForgeCode`,emoji:`🔥`,flag:`--forgecode`,color:[255,120,50]},zcode:{label:`ZCode`,emoji:`🧊`,flag:`--zcode`,color:[60,160,230]}},vn=[`opencode`,`pi`,`jcode`,`opencode-desktop`,`opencode-web`,`openclaw`,`crush`,`goose`,`aider`,`kilo`,`qwen`,`openhands`,`amp`,`hermes`,`continue`,`cline`,`xcode`,`fcm_router`,`caveman`,`copilot`,`forgecode`,`zcode`];function yn(e){return _n[e]||{label:e,emoji:`•`,flag:null}}var bn=Object.keys(_n).filter(e=>!_n[e].cliOnly);function xn(e){return bn}function Sn(e,t){return xn(e).includes(t)}function Cn(e,t,n,r=3){let i=parseFloat(e)||0;return n.filter(e=>!e.hidden&&Sn(e.providerKey,t)).map(e=>({modelId:e.modelId,label:e.label,tier:e.tier,sweScore:e.sweScore||`-`,providerKey:e.providerKey,sweDelta:Math.abs((parseFloat(e.sweScore)||0)-i)})).sort((e,t)=>e.sweDelta-t.sweDelta).slice(0,r)}var wn=new Set([`S+`,`S`,`A+`,`A`,`A-`,`B+`,`B`,`C`,`all`]),Tn=new Set([`up`,`down`,`pending`,`all`]),En=new Set([`mood`,`idx`,`tier`,`sweScore`,`ctx`,`label`,`origin`,`latestPing`,`avg`,`condition`,`verdict`,`stability`,`uptime`,`aiLatency`,`tps`,`trend`]),Dn=new Set([`dashboard`,`settings`,`analytics`,`recommend`,`router`,`help`,`changelog`,`playground`,`install-endpoints`,`installed-models`]),On=new Set([`asc`,`desc`]),kn=new Set(vn);function An(){if(typeof window>`u`)return null;let e=new URLSearchParams(window.location.search),t={},n=window.location.pathname.replace(/^\/|\/$/g,``);return t.view=n&&Dn.has(n)?n:e.has(`view`)&&Dn.has(e.get(`view`))?e.get(`view`):`dashboard`,e.has(`tier`)&&wn.has(e.get(`tier`))&&(t.tier=e.get(`tier`)),e.has(`status`)&&Tn.has(e.get(`status`))&&(t.status=e.get(`status`)),e.has(`provider`)&&(t.provider=e.get(`provider`)),e.has(`verdict`)&&(t.verdict=e.get(`verdict`)),e.has(`health`)&&(t.health=e.get(`health`)),e.has(`sort`)&&En.has(e.get(`sort`))&&(t.sort=e.get(`sort`)),e.has(`dir`)&&On.has(e.get(`dir`))&&(t.dir=e.get(`dir`)),e.has(`q`)&&(t.q=e.get(`q`)),e.has(`toolMode`)&&kn.has(e.get(`toolMode`))&&(t.toolMode=e.get(`toolMode`)),e.has(`recommend`)&&[`1`,`true`,`open`].includes(e.get(`recommend`))&&(t.view=`recommend`),e.has(`palette`)&&e.get(`palette`)===`open`&&(t.palette=`open`),t}function jn(e){let t=new URLSearchParams;return e?(e.currentView&&e.currentView!==`dashboard`&&t.set(`view`,e.currentView),e.filterTier&&e.filterTier!==`all`&&t.set(`tier`,e.filterTier),e.filterStatus&&e.filterStatus!==`all`&&t.set(`status`,e.filterStatus),e.filterProvider&&e.filterProvider!==`all`&&t.set(`provider`,e.filterProvider),e.filterVerdict&&e.filterVerdict!==`all`&&t.set(`verdict`,e.filterVerdict),e.filterHealth&&e.filterHealth!==`all`&&t.set(`health`,e.filterHealth),e.sortColumn&&(t.set(`sort`,e.sortColumn),e.sortDirection&&t.set(`dir`,e.sortDirection)),e.searchQuery&&t.set(`q`,e.searchQuery),e.toolMode&&t.set(`toolMode`,e.toolMode),e.paletteOpen&&t.set(`palette`,`open`),t):t}function Mn(e){if(typeof window>`u`)return;let t=jn(e),n=t.get(`view`)||`dashboard`;t.delete(`view`);let r=t.toString(),i=n===`dashboard`?`/`:`/${n}`,a=r?`${i}?${r}${window.location.hash}`:`${i}${window.location.hash}`;window.history.replaceState({},``,a)}function Nn({currentView:e,setCurrentView:t,filterState:n=null,paletteOpen:r=!1,setPaletteOpen:i=()=>{},toolMode:a=null,setToolMode:o=()=>{}}){let s=(0,v.useRef)(null),c=(0,v.useRef)(!1);(0,v.useEffect)(()=>{if(c.current)return;c.current=!0;let r=An();r&&(r.view&&t&&r.view!==e&&t(r.view),r.tier&&n?.setFilterTier&&n.setFilterTier(r.tier),r.status&&n?.setFilterStatus&&n.setFilterStatus(r.status),r.provider&&n?.setFilterProvider&&n.setFilterProvider(r.provider),r.verdict&&n?.setFilterVerdict&&n.setFilterVerdict(r.verdict),r.health&&n?.setFilterHealth&&n.setFilterHealth(r.health),r.sort&&n?.toggleSort&&(n.setSortColumn&&n.setSortColumn(r.sort),r.dir&&n.setSortDirection&&n.setSortDirection(r.dir)),r.q!==void 0&&n?.setSearchQuery&&n.setSearchQuery(r.q),r.toolMode&&o&&o(r.toolMode),r.palette===`open`&&i&&i(!0))},[]),(0,v.useEffect)(()=>{if(c.current)return s.current&&clearTimeout(s.current),s.current=setTimeout(()=>{Mn({currentView:e,filterTier:n?.filterTier,filterStatus:n?.filterStatus,filterProvider:n?.filterProvider,filterVerdict:n?.filterVerdict,filterHealth:n?.filterHealth,sortColumn:n?.sortColumn,sortDirection:n?.sortDirection,searchQuery:n?.searchQuery,toolMode:a,paletteOpen:r})},80),()=>{s.current&&clearTimeout(s.current)}},[e,r,a,n?.filterTier,n?.filterStatus,n?.filterProvider,n?.filterVerdict,n?.filterHealth,n?.sortColumn,n?.sortDirection,n?.searchQuery])}var Pn=3e5;function Fn(e,t){if(!e||!t)return 0;let n=e.replace(/^v/,``).split(`.`).map(Number),r=t.replace(/^v/,``).split(`.`).map(Number);for(let e=0;e<Math.max(n.length,r.length);e++){let t=n[e]||0,i=r[e]||0;if(i!==t)return i-t}return 0}function In({onToast:e}={}){let[t,n]=(0,v.useState)(null),[r,i]=(0,v.useState)(null),[a,o]=(0,v.useState)(null),[s,c]=(0,v.useState)(null),[l,u]=(0,v.useState)(!1),d=(0,v.useRef)(null),f=(0,v.useCallback)(async()=>{u(!0);try{let e=await fetch(`/api/version`);if(!e.ok)throw Error(`HTTP ${e.status}`);let t=await e.json();n(t.local??null),i(t.latest??null),o(t.lastReleaseDate??null),c(t.error??null)}catch(e){c(e.message||`update check failed`)}finally{u(!1)}},[]);(0,v.useEffect)(()=>(f(),d.current=setInterval(f,Pn),()=>{d.current&&clearInterval(d.current)}),[f]);let p=!!(r&&t&&Fn(r,t)>0);return{localVersion:t,latestVersion:r,lastReleaseDate:a,updateAvailable:p,checkNow:f,runUpdate:(0,v.useCallback)(async()=>{if(!p){e?.(`No update available.`,`info`);return}try{let t=await fetch(`/api/update/run`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({version:r})}),n=await t.json().catch(()=>({}));t.ok&&n?.started?e?.(`Update to v${r} started — restart the dashboard to apply.`,`success`):e?.(n?.error||n?.message||`Update failed`,`error`)}catch(t){e?.(t.message||`Update request failed`,`error`)}},[p,r,e]),loading:l,error:s}}var Ln={outline:{xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`},filled:{xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`currentColor`,stroke:`none`}},P=(e,t,n,r)=>{let i=(0,v.forwardRef)(({color:n=`currentColor`,size:i=24,stroke:a=2,title:o,className:s,children:c,...l},u)=>(0,v.createElement)(`svg`,{ref:u,...Ln[e],width:i,height:i,className:[`tabler-icon`,`tabler-icon-${t}`,s].join(` `),...e===`filled`?{fill:n}:{strokeWidth:a,stroke:n},...l},[o&&(0,v.createElement)(`title`,{key:`svg-title`},o),...r.map(([e,t])=>(0,v.createElement)(e,t)),...Array.isArray(c)?c:[c]]));return i.displayName=`${n}`,i},Rn=P(`outline`,`activity`,`Activity`,[[`path`,{d:`M3 12h4l3 8l4 -16l3 8h4`,key:`svg-0`}]]),zn=P(`outline`,`alert-octagon`,`AlertOctagon`,[[`path`,{d:`M12.802 2.165l5.575 2.389c.48 .206 .863 .589 1.07 1.07l2.388 5.574c.22 .512 .22 1.092 0 1.604l-2.389 5.575c-.206 .48 -.589 .863 -1.07 1.07l-5.574 2.388c-.512 .22 -1.092 .22 -1.604 0l-5.575 -2.389a2.036 2.036 0 0 1 -1.07 -1.07l-2.388 -5.574a2.036 2.036 0 0 1 0 -1.604l2.389 -5.575c.206 -.48 .589 -.863 1.07 -1.07l5.574 -2.388a2.036 2.036 0 0 1 1.604 0`,key:`svg-0`}],[`path`,{d:`M12 8v4`,key:`svg-1`}],[`path`,{d:`M12 16h.01`,key:`svg-2`}]]),Bn=P(`outline`,`alert-triangle`,`AlertTriangle`,[[`path`,{d:`M12 9v4`,key:`svg-0`}],[`path`,{d:`M10.363 3.591l-8.106 13.534a1.914 1.914 0 0 0 1.636 2.871h16.214a1.914 1.914 0 0 0 1.636 -2.87l-8.106 -13.536a1.914 1.914 0 0 0 -3.274 0`,key:`svg-1`}],[`path`,{d:`M12 16h.01`,key:`svg-2`}]]),Vn=P(`outline`,`arrow-down`,`ArrowDown`,[[`path`,{d:`M12 5l0 14`,key:`svg-0`}],[`path`,{d:`M18 13l-6 6`,key:`svg-1`}],[`path`,{d:`M6 13l6 6`,key:`svg-2`}]]),Hn=P(`outline`,`arrow-left`,`ArrowLeft`,[[`path`,{d:`M5 12l14 0`,key:`svg-0`}],[`path`,{d:`M5 12l6 6`,key:`svg-1`}],[`path`,{d:`M5 12l6 -6`,key:`svg-2`}]]),Un=P(`outline`,`arrow-right`,`ArrowRight`,[[`path`,{d:`M5 12l14 0`,key:`svg-0`}],[`path`,{d:`M13 18l6 -6`,key:`svg-1`}],[`path`,{d:`M13 6l6 6`,key:`svg-2`}]]),Wn=P(`outline`,`arrow-up`,`ArrowUp`,[[`path`,{d:`M12 5l0 14`,key:`svg-0`}],[`path`,{d:`M18 11l-6 -6`,key:`svg-1`}],[`path`,{d:`M6 11l6 -6`,key:`svg-2`}]]),Gn=P(`outline`,`ban`,`Ban`,[[`path`,{d:`M3 12a9 9 0 1 0 18 0a9 9 0 1 0 -18 0`,key:`svg-0`}],[`path`,{d:`M5.7 5.7l12.6 12.6`,key:`svg-1`}]]),Kn=P(`outline`,`bolt`,`Bolt`,[[`path`,{d:`M13 3l0 7l6 0l-8 11l0 -7l-6 0l8 -11`,key:`svg-0`}]]),qn=P(`outline`,`braces`,`Braces`,[[`path`,{d:`M7 4a2 2 0 0 0 -2 2v3a2 3 0 0 1 -2 3a2 3 0 0 1 2 3v3a2 2 0 0 0 2 2`,key:`svg-0`}],[`path`,{d:`M17 4a2 2 0 0 1 2 2v3a2 3 0 0 0 2 3a2 3 0 0 0 -2 3v3a2 2 0 0 1 -2 2`,key:`svg-1`}]]),Jn=P(`outline`,`check`,`Check`,[[`path`,{d:`M5 12l5 5l10 -10`,key:`svg-0`}]]),Yn=P(`outline`,`checks`,`Checks`,[[`path`,{d:`M7 12l5 5l10 -10`,key:`svg-0`}],[`path`,{d:`M2 12l5 5m5 -5l5 -5`,key:`svg-1`}]]),Xn=P(`outline`,`chevron-down`,`ChevronDown`,[[`path`,{d:`M6 9l6 6l6 -6`,key:`svg-0`}]]),Zn=P(`outline`,`chevron-left`,`ChevronLeft`,[[`path`,{d:`M15 6l-6 6l6 6`,key:`svg-0`}]]),Qn=P(`outline`,`chevron-right`,`ChevronRight`,[[`path`,{d:`M9 6l6 6l-6 6`,key:`svg-0`}]]),$n=P(`outline`,`chevron-up`,`ChevronUp`,[[`path`,{d:`M6 15l6 -6l6 6`,key:`svg-0`}]]),er=P(`outline`,`circle-check`,`CircleCheck`,[[`path`,{d:`M3 12a9 9 0 1 0 18 0a9 9 0 1 0 -18 0`,key:`svg-0`}],[`path`,{d:`M9 12l2 2l4 -4`,key:`svg-1`}]]),tr=P(`outline`,`circle-dotted`,`CircleDotted`,[[`path`,{d:`M7.5 4.21l0 .01`,key:`svg-0`}],[`path`,{d:`M4.21 7.5l0 .01`,key:`svg-1`}],[`path`,{d:`M3 12l0 .01`,key:`svg-2`}],[`path`,{d:`M4.21 16.5l0 .01`,key:`svg-3`}],[`path`,{d:`M7.5 19.79l0 .01`,key:`svg-4`}],[`path`,{d:`M12 21l0 .01`,key:`svg-5`}],[`path`,{d:`M16.5 19.79l0 .01`,key:`svg-6`}],[`path`,{d:`M19.79 16.5l0 .01`,key:`svg-7`}],[`path`,{d:`M21 12l0 .01`,key:`svg-8`}],[`path`,{d:`M19.79 7.5l0 .01`,key:`svg-9`}],[`path`,{d:`M16.5 4.21l0 .01`,key:`svg-10`}],[`path`,{d:`M12 3l0 .01`,key:`svg-11`}]]),nr=P(`outline`,`clipboard`,`Clipboard`,[[`path`,{d:`M9 5h-2a2 2 0 0 0 -2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2 -2v-12a2 2 0 0 0 -2 -2h-2`,key:`svg-0`}],[`path`,{d:`M9 5a2 2 0 0 1 2 -2h2a2 2 0 0 1 2 2a2 2 0 0 1 -2 2h-2a2 2 0 0 1 -2 -2`,key:`svg-1`}]]),rr=P(`outline`,`clock`,`Clock`,[[`path`,{d:`M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0`,key:`svg-0`}],[`path`,{d:`M12 7v5l3 3`,key:`svg-1`}]]),ir=P(`outline`,`cloud-off`,`CloudOff`,[[`path`,{d:`M9.58 5.548c.24 -.11 .492 -.207 .752 -.286c1.88 -.572 3.956 -.193 5.444 1c1.488 1.19 2.162 3.007 1.77 4.769h.99c1.913 0 3.464 1.56 3.464 3.486c0 .957 -.383 1.824 -1.003 2.454m-2.997 1.033h-11.343c-2.572 -.004 -4.657 -2.011 -4.657 -4.487c0 -2.475 2.085 -4.482 4.657 -4.482c.13 -.582 .37 -1.128 .7 -1.62`,key:`svg-0`}],[`path`,{d:`M3 3l18 18`,key:`svg-1`}]]),ar=P(`outline`,`command`,`Command`,[[`path`,{d:`M7 9a2 2 0 1 1 2 -2v10a2 2 0 1 1 -2 -2h10a2 2 0 1 1 -2 2v-10a2 2 0 1 1 2 2h-10`,key:`svg-0`}]]),or=P(`outline`,`copy`,`Copy`,[[`path`,{d:`M7 9.667a2.667 2.667 0 0 1 2.667 -2.667h8.666a2.667 2.667 0 0 1 2.667 2.667v8.666a2.667 2.667 0 0 1 -2.667 2.667h-8.666a2.667 2.667 0 0 1 -2.667 -2.667l0 -8.666`,key:`svg-0`}],[`path`,{d:`M4.012 16.737a2.005 2.005 0 0 1 -1.012 -1.737v-10c0 -1.1 .9 -2 2 -2h10c.75 0 1.158 .385 1.5 1`,key:`svg-1`}]]),sr=P(`outline`,`dots`,`Dots`,[[`path`,{d:`M4 12a1 1 0 1 0 2 0a1 1 0 1 0 -2 0`,key:`svg-0`}],[`path`,{d:`M11 12a1 1 0 1 0 2 0a1 1 0 1 0 -2 0`,key:`svg-1`}],[`path`,{d:`M18 12a1 1 0 1 0 2 0a1 1 0 1 0 -2 0`,key:`svg-2`}]]),cr=P(`outline`,`download`,`Download`,[[`path`,{d:`M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2 -2v-2`,key:`svg-0`}],[`path`,{d:`M7 11l5 5l5 -5`,key:`svg-1`}],[`path`,{d:`M12 4l0 12`,key:`svg-2`}]]),lr=P(`outline`,`error-404`,`Error404`,[[`path`,{d:`M3 8v3a1 1 0 0 0 1 1h3`,key:`svg-0`}],[`path`,{d:`M7 8v8`,key:`svg-1`}],[`path`,{d:`M17 8v3a1 1 0 0 0 1 1h3`,key:`svg-2`}],[`path`,{d:`M21 8v8`,key:`svg-3`}],[`path`,{d:`M10 10v4a2 2 0 1 0 4 0v-4a2 2 0 1 0 -4 0`,key:`svg-4`}]]),ur=P(`outline`,`external-link`,`ExternalLink`,[[`path`,{d:`M12 6h-6a2 2 0 0 0 -2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2 -2v-6`,key:`svg-0`}],[`path`,{d:`M11 13l9 -9`,key:`svg-1`}],[`path`,{d:`M15 4h5v5`,key:`svg-2`}]]),dr=P(`outline`,`eye-off`,`EyeOff`,[[`path`,{d:`M10.585 10.587a2 2 0 0 0 2.829 2.828`,key:`svg-0`}],[`path`,{d:`M16.681 16.673a8.717 8.717 0 0 1 -4.681 1.327c-3.6 0 -6.6 -2 -9 -6c1.272 -2.12 2.712 -3.678 4.32 -4.674m2.86 -1.146a9.055 9.055 0 0 1 1.82 -.18c3.6 0 6.6 2 9 6c-.666 1.11 -1.379 2.067 -2.138 2.87`,key:`svg-1`}],[`path`,{d:`M3 3l18 18`,key:`svg-2`}]]),fr=P(`outline`,`eye`,`Eye`,[[`path`,{d:`M10 12a2 2 0 1 0 4 0a2 2 0 0 0 -4 0`,key:`svg-0`}],[`path`,{d:`M21 12c-2.4 4 -5.4 6 -9 6c-3.6 0 -6.6 -2 -9 -6c2.4 -4 5.4 -6 9 -6c3.6 0 6.6 2 9 6`,key:`svg-1`}]]),pr=P(`outline`,`file-spreadsheet`,`FileSpreadsheet`,[[`path`,{d:`M14 3v4a1 1 0 0 0 1 1h4`,key:`svg-0`}],[`path`,{d:`M17 21h-10a2 2 0 0 1 -2 -2v-14a2 2 0 0 1 2 -2h7l5 5v11a2 2 0 0 1 -2 2`,key:`svg-1`}],[`path`,{d:`M8 11h8v7h-8l0 -7`,key:`svg-2`}],[`path`,{d:`M8 15h8`,key:`svg-3`}],[`path`,{d:`M11 11v7`,key:`svg-4`}]]),mr=P(`outline`,`filter`,`Filter`,[[`path`,{d:`M4 4h16v2.172a2 2 0 0 1 -.586 1.414l-4.414 4.414v7l-6 2v-8.5l-4.48 -4.928a2 2 0 0 1 -.52 -1.345v-2.227`,key:`svg-0`}]]),hr=P(`outline`,`flame`,`Flame`,[[`path`,{d:`M12 10.941c2.333 -3.308 .167 -7.823 -1 -8.941c0 3.395 -2.235 5.299 -3.667 6.706c-1.43 1.408 -2.333 3.294 -2.333 5.588c0 3.704 3.134 6.706 7 6.706c3.866 0 7 -3.002 7 -6.706c0 -1.712 -1.232 -4.403 -2.333 -5.588c-2.084 3.353 -3.257 3.353 -4.667 2.235`,key:`svg-0`}]]),gr=P(`outline`,`flask`,`Flask`,[[`path`,{d:`M9 3l6 0`,key:`svg-0`}],[`path`,{d:`M10 9l4 0`,key:`svg-1`}],[`path`,{d:`M10 3v6l-4 11a.7 .7 0 0 0 .5 1h11a.7 .7 0 0 0 .5 -1l-4 -11v-6`,key:`svg-2`}]]),_r=P(`outline`,`folders`,`Folders`,[[`path`,{d:`M9 3h3l2 2h5a2 2 0 0 1 2 2v7a2 2 0 0 1 -2 2h-10a2 2 0 0 1 -2 -2v-9a2 2 0 0 1 2 -2`,key:`svg-0`}],[`path`,{d:`M17 16v2a2 2 0 0 1 -2 2h-10a2 2 0 0 1 -2 -2v-9a2 2 0 0 1 2 -2h2`,key:`svg-1`}]]),vr=P(`outline`,`grip-vertical`,`GripVertical`,[[`path`,{d:`M8 5a1 1 0 1 0 2 0a1 1 0 1 0 -2 0`,key:`svg-0`}],[`path`,{d:`M8 12a1 1 0 1 0 2 0a1 1 0 1 0 -2 0`,key:`svg-1`}],[`path`,{d:`M8 19a1 1 0 1 0 2 0a1 1 0 1 0 -2 0`,key:`svg-2`}],[`path`,{d:`M14 5a1 1 0 1 0 2 0a1 1 0 1 0 -2 0`,key:`svg-3`}],[`path`,{d:`M14 12a1 1 0 1 0 2 0a1 1 0 1 0 -2 0`,key:`svg-4`}],[`path`,{d:`M14 19a1 1 0 1 0 2 0a1 1 0 1 0 -2 0`,key:`svg-5`}]]),yr=P(`outline`,`history`,`History`,[[`path`,{d:`M12 8l0 4l2 2`,key:`svg-0`}],[`path`,{d:`M3.05 11a9 9 0 1 1 .5 4m-.5 5v-5h5`,key:`svg-1`}]]),br=P(`outline`,`hourglass-off`,`HourglassOff`,[[`path`,{d:`M18 18v2a1 1 0 0 1 -1 1h-10a1 1 0 0 1 -1 -1v-2a6 6 0 0 1 6 -6`,key:`svg-0`}],[`path`,{d:`M6 6a6 6 0 0 0 6 6m3.13 -.88a6 6 0 0 0 2.87 -5.12v-2a1 1 0 0 0 -1 -1h-10`,key:`svg-1`}],[`path`,{d:`M3 3l18 18`,key:`svg-2`}]]),xr=P(`outline`,`hourglass`,`Hourglass`,[[`path`,{d:`M6.5 7h11`,key:`svg-0`}],[`path`,{d:`M6.5 17h11`,key:`svg-1`}],[`path`,{d:`M6 20v-2a6 6 0 1 1 12 0v2a1 1 0 0 1 -1 1h-10a1 1 0 0 1 -1 -1`,key:`svg-2`}],[`path`,{d:`M6 4v2a6 6 0 1 0 12 0v-2a1 1 0 0 0 -1 -1h-10a1 1 0 0 0 -1 1`,key:`svg-3`}]]),Sr=P(`outline`,`key`,`Key`,[[`path`,{d:`M16.555 3.843l3.602 3.602a2.877 2.877 0 0 1 0 4.069l-2.643 2.643a2.877 2.877 0 0 1 -4.069 0l-.301 -.301l-6.558 6.558a2 2 0 0 1 -1.239 .578l-.175 .008h-1.172a1 1 0 0 1 -.993 -.883l-.007 -.117v-1.172a2 2 0 0 1 .467 -1.284l.119 -.13l.414 -.414h2v-2h2v-2l2.144 -2.144l-.301 -.301a2.877 2.877 0 0 1 0 -4.069l2.643 -2.643a2.877 2.877 0 0 1 4.069 0`,key:`svg-0`}],[`path`,{d:`M15 9h.01`,key:`svg-1`}]]),Cr=P(`outline`,`layout-dashboard`,`LayoutDashboard`,[[`path`,{d:`M5 4h4a1 1 0 0 1 1 1v6a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1v-6a1 1 0 0 1 1 -1`,key:`svg-0`}],[`path`,{d:`M5 16h4a1 1 0 0 1 1 1v2a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1v-2a1 1 0 0 1 1 -1`,key:`svg-1`}],[`path`,{d:`M15 12h4a1 1 0 0 1 1 1v6a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1v-6a1 1 0 0 1 1 -1`,key:`svg-2`}],[`path`,{d:`M15 4h4a1 1 0 0 1 1 1v2a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1v-2a1 1 0 0 1 1 -1`,key:`svg-3`}]]),wr=P(`outline`,`list`,`List`,[[`path`,{d:`M9 6l11 0`,key:`svg-0`}],[`path`,{d:`M9 12l11 0`,key:`svg-1`}],[`path`,{d:`M9 18l11 0`,key:`svg-2`}],[`path`,{d:`M5 6l0 .01`,key:`svg-3`}],[`path`,{d:`M5 12l0 .01`,key:`svg-4`}],[`path`,{d:`M5 18l0 .01`,key:`svg-5`}]]),Tr=P(`outline`,`loader`,`Loader`,[[`path`,{d:`M12 6l0 -3`,key:`svg-0`}],[`path`,{d:`M16.25 7.75l2.15 -2.15`,key:`svg-1`}],[`path`,{d:`M18 12l3 0`,key:`svg-2`}],[`path`,{d:`M16.25 16.25l2.15 2.15`,key:`svg-3`}],[`path`,{d:`M12 18l0 3`,key:`svg-4`}],[`path`,{d:`M7.75 16.25l-2.15 2.15`,key:`svg-5`}],[`path`,{d:`M6 12l-3 0`,key:`svg-6`}],[`path`,{d:`M7.75 7.75l-2.15 -2.15`,key:`svg-7`}]]),Er=P(`outline`,`lock`,`Lock`,[[`path`,{d:`M5 13a2 2 0 0 1 2 -2h10a2 2 0 0 1 2 2v6a2 2 0 0 1 -2 2h-10a2 2 0 0 1 -2 -2v-6`,key:`svg-0`}],[`path`,{d:`M11 16a1 1 0 1 0 2 0a1 1 0 0 0 -2 0`,key:`svg-1`}],[`path`,{d:`M8 11v-4a4 4 0 1 1 8 0v4`,key:`svg-2`}]]),Dr=P(`outline`,`menu-2`,`Menu2`,[[`path`,{d:`M4 6l16 0`,key:`svg-0`}],[`path`,{d:`M4 12l16 0`,key:`svg-1`}],[`path`,{d:`M4 18l16 0`,key:`svg-2`}]]),Or=P(`outline`,`message-chatbot`,`MessageChatbot`,[[`path`,{d:`M18 4a3 3 0 0 1 3 3v8a3 3 0 0 1 -3 3h-5l-5 3v-3h-2a3 3 0 0 1 -3 -3v-8a3 3 0 0 1 3 -3h12`,key:`svg-0`}],[`path`,{d:`M9.5 9h.01`,key:`svg-1`}],[`path`,{d:`M14.5 9h.01`,key:`svg-2`}],[`path`,{d:`M9.5 13a3.5 3.5 0 0 0 5 0`,key:`svg-3`}]]),kr=P(`outline`,`moon`,`Moon`,[[`path`,{d:`M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454l0 .008`,key:`svg-0`}]]),Ar=P(`outline`,`player-play`,`PlayerPlay`,[[`path`,{d:`M7 4v16l13 -8l-13 -8`,key:`svg-0`}]]),jr=P(`outline`,`player-stop`,`PlayerStop`,[[`path`,{d:`M5 7a2 2 0 0 1 2 -2h10a2 2 0 0 1 2 2v10a2 2 0 0 1 -2 2h-10a2 2 0 0 1 -2 -2l0 -10`,key:`svg-0`}]]),Mr=P(`outline`,`plug-connected`,`PlugConnected`,[[`path`,{d:`M7 12l5 5l-1.5 1.5a3.536 3.536 0 1 1 -5 -5l1.5 -1.5`,key:`svg-0`}],[`path`,{d:`M17 12l-5 -5l1.5 -1.5a3.536 3.536 0 1 1 5 5l-1.5 1.5`,key:`svg-1`}],[`path`,{d:`M3 21l2.5 -2.5`,key:`svg-2`}],[`path`,{d:`M18.5 5.5l2.5 -2.5`,key:`svg-3`}],[`path`,{d:`M10 11l-2 2`,key:`svg-4`}],[`path`,{d:`M13 14l-2 2`,key:`svg-5`}]]),Nr=P(`outline`,`plug`,`Plug`,[[`path`,{d:`M9.785 6l8.215 8.215l-2.054 2.054a5.81 5.81 0 1 1 -8.215 -8.215l2.054 -2.054`,key:`svg-0`}],[`path`,{d:`M4 20l3.5 -3.5`,key:`svg-1`}],[`path`,{d:`M15 4l-3.5 3.5`,key:`svg-2`}],[`path`,{d:`M20 9l-3.5 3.5`,key:`svg-3`}]]),Pr=P(`outline`,`plus`,`Plus`,[[`path`,{d:`M12 5l0 14`,key:`svg-0`}],[`path`,{d:`M5 12l14 0`,key:`svg-1`}]]),Fr=P(`outline`,`question-mark`,`QuestionMark`,[[`path`,{d:`M8 8a3.5 3 0 0 1 3.5 -3h1a3.5 3 0 0 1 3.5 3a3 3 0 0 1 -2 3a3 4 0 0 0 -2 4`,key:`svg-0`}],[`path`,{d:`M12 19l0 .01`,key:`svg-1`}]]),Ir=P(`outline`,`refresh`,`Refresh`,[[`path`,{d:`M20 11a8.1 8.1 0 0 0 -15.5 -2m-.5 -4v4h4`,key:`svg-0`}],[`path`,{d:`M4 13a8.1 8.1 0 0 0 15.5 2m.5 4v-4h-4`,key:`svg-1`}]]),Lr=P(`outline`,`route`,`Route`,[[`path`,{d:`M3 19a2 2 0 1 0 4 0a2 2 0 0 0 -4 0`,key:`svg-0`}],[`path`,{d:`M19 7a2 2 0 1 0 0 -4a2 2 0 0 0 0 4`,key:`svg-1`}],[`path`,{d:`M11 19h5.5a3.5 3.5 0 0 0 0 -7h-8a3.5 3.5 0 0 1 0 -7h4.5`,key:`svg-2`}]]),Rr=P(`outline`,`search`,`Search`,[[`path`,{d:`M3 10a7 7 0 1 0 14 0a7 7 0 1 0 -14 0`,key:`svg-0`}],[`path`,{d:`M21 21l-6 -6`,key:`svg-1`}]]),zr=P(`outline`,`send`,`Send`,[[`path`,{d:`M10 14l11 -11`,key:`svg-0`}],[`path`,{d:`M21 3l-6.5 18a.55 .55 0 0 1 -1 0l-3.5 -7l-7 -3.5a.55 .55 0 0 1 0 -1l18 -6.5`,key:`svg-1`}]]),Br=P(`outline`,`settings`,`Settings`,[[`path`,{d:`M10.325 4.317c.426 -1.756 2.924 -1.756 3.35 0a1.724 1.724 0 0 0 2.573 1.066c1.543 -.94 3.31 .826 2.37 2.37a1.724 1.724 0 0 0 1.065 2.572c1.756 .426 1.756 2.924 0 3.35a1.724 1.724 0 0 0 -1.066 2.573c.94 1.543 -.826 3.31 -2.37 2.37a1.724 1.724 0 0 0 -2.572 1.065c-.426 1.756 -2.924 1.756 -3.35 0a1.724 1.724 0 0 0 -2.573 -1.066c-1.543 .94 -3.31 -.826 -2.37 -2.37a1.724 1.724 0 0 0 -1.065 -2.572c-1.756 -.426 -1.756 -2.924 0 -3.35a1.724 1.724 0 0 0 1.066 -2.573c-.94 -1.543 .826 -3.31 2.37 -2.37c1 .608 2.296 .07 2.572 -1.065`,key:`svg-0`}],[`path`,{d:`M9 12a3 3 0 1 0 6 0a3 3 0 0 0 -6 0`,key:`svg-1`}]]),Vr=P(`outline`,`sparkles`,`Sparkles`,[[`path`,{d:`M16 18a2 2 0 0 1 2 2a2 2 0 0 1 2 -2a2 2 0 0 1 -2 -2a2 2 0 0 1 -2 2m0 -12a2 2 0 0 1 2 2a2 2 0 0 1 2 -2a2 2 0 0 1 -2 -2a2 2 0 0 1 -2 2m-7 12a6 6 0 0 1 6 -6a6 6 0 0 1 -6 -6a6 6 0 0 1 -6 6a6 6 0 0 1 6 6`,key:`svg-0`}]]),Hr=P(`outline`,`star`,`Star`,[[`path`,{d:`M12 17.75l-6.172 3.245l1.179 -6.873l-5 -4.867l6.9 -1l3.086 -6.253l3.086 6.253l6.9 1l-5 4.867l1.179 6.873l-6.158 -3.245`,key:`svg-0`}]]),Ur=P(`outline`,`sun`,`Sun`,[[`path`,{d:`M8 12a4 4 0 1 0 8 0a4 4 0 1 0 -8 0`,key:`svg-0`}],[`path`,{d:`M3 12h1m8 -9v1m8 8h1m-9 8v1m-6.4 -15.4l.7 .7m12.1 -.7l-.7 .7m0 11.4l.7 .7m-12.1 -.7l-.7 .7`,key:`svg-1`}]]),Wr=P(`outline`,`tool`,`Tool`,[[`path`,{d:`M7 10h3v-3l-3.5 -3.5a6 6 0 0 1 8 8l6 6a2 2 0 0 1 -3 3l-6 -6a6 6 0 0 1 -8 -8l3.5 3.5`,key:`svg-0`}]]),Gr=P(`outline`,`trash`,`Trash`,[[`path`,{d:`M4 7l16 0`,key:`svg-0`}],[`path`,{d:`M10 11l0 6`,key:`svg-1`}],[`path`,{d:`M14 11l0 6`,key:`svg-2`}],[`path`,{d:`M5 7l1 12a2 2 0 0 0 2 2h8a2 2 0 0 0 2 -2l1 -12`,key:`svg-3`}],[`path`,{d:`M9 7v-3a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v3`,key:`svg-4`}]]),Kr=P(`outline`,`trophy`,`Trophy`,[[`path`,{d:`M8 21l8 0`,key:`svg-0`}],[`path`,{d:`M12 17l0 4`,key:`svg-1`}],[`path`,{d:`M7 4l10 0`,key:`svg-2`}],[`path`,{d:`M17 4v8a5 5 0 0 1 -10 0v-8`,key:`svg-3`}],[`path`,{d:`M3 9a2 2 0 1 0 4 0a2 2 0 1 0 -4 0`,key:`svg-4`}],[`path`,{d:`M17 9a2 2 0 1 0 4 0a2 2 0 1 0 -4 0`,key:`svg-5`}]]),qr=P(`outline`,`upload`,`Upload`,[[`path`,{d:`M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2 -2v-2`,key:`svg-0`}],[`path`,{d:`M7 9l5 -5l5 5`,key:`svg-1`}],[`path`,{d:`M12 4l0 12`,key:`svg-2`}]]),Jr=P(`outline`,`wand`,`Wand`,[[`path`,{d:`M6 21l15 -15l-3 -3l-15 15l3 3`,key:`svg-0`}],[`path`,{d:`M15 6l3 3`,key:`svg-1`}],[`path`,{d:`M9 3a2 2 0 0 0 2 2a2 2 0 0 0 -2 2a2 2 0 0 0 -2 -2a2 2 0 0 0 2 -2`,key:`svg-2`}],[`path`,{d:`M19 13a2 2 0 0 0 2 2a2 2 0 0 0 -2 2a2 2 0 0 0 -2 -2a2 2 0 0 0 2 -2`,key:`svg-3`}]]),Yr=P(`outline`,`x`,`X`,[[`path`,{d:`M18 6l-12 12`,key:`svg-0`}],[`path`,{d:`M6 6l12 12`,key:`svg-1`}]]),Xr=P(`filled`,`circle-check-filled`,`CircleCheckFilled`,[[`path`,{d:`M17 3.34a10 10 0 1 1 -14.995 8.984l-.005 -.324l.005 -.324a10 10 0 0 1 14.995 -8.336zm-1.293 5.953a1 1 0 0 0 -1.32 -.083l-.094 .083l-3.293 3.292l-1.293 -1.292l-.094 -.083a1 1 0 0 0 -1.403 1.403l.083 .094l2 2l.094 .083a1 1 0 0 0 1.226 0l.094 -.083l4 -4l.083 -.094a1 1 0 0 0 -.083 -1.32z`,key:`svg-0`}]]),Zr=P(`filled`,`player-play-filled`,`PlayerPlayFilled`,[[`path`,{d:`M6 4v16a1 1 0 0 0 1.524 .852l13 -8a1 1 0 0 0 0 -1.704l-13 -8a1 1 0 0 0 -1.524 .852z`,key:`svg-0`}]]),Qr=P(`filled`,`star-filled`,`StarFilled`,[[`path`,{d:`M8.243 7.34l-6.38 .925l-.113 .023a1 1 0 0 0 -.44 1.684l4.622 4.499l-1.09 6.355l-.013 .11a1 1 0 0 0 1.464 .944l5.706 -3l5.693 3l.1 .046a1 1 0 0 0 1.352 -1.1l-1.091 -6.355l4.624 -4.5l.078 -.085a1 1 0 0 0 -.633 -1.62l-6.38 -.926l-2.852 -5.78a1 1 0 0 0 -1.794 0l-2.853 5.78z`,key:`svg-0`}]]),$r=Object.freeze({"common.back":`Back`,"common.cancel":`Cancel`,"common.close":`Close`,"common.save":`Save`,"common.update":`Update`,"common.retry":`Retry`,"common.refresh":`Refresh`,"common.search":`Search`,"common.enabled":`Enabled`,"common.disabled":`Disabled`,"common.loading":`Loading…`,"common.unknown":`Unknown`,"common.language.english":`English`,"common.language.simplifiedChinese":`简体中文`,"nav.dashboard":`Dashboard`,"nav.settings":`Settings`,"nav.analytics":`Analytics`,"nav.recommend":`Recommend`,"nav.router":`Router`,"nav.routerV2":`Router v2`,"nav.playground":`Playground`,"nav.help":`Help`,"nav.installEndpoints":`Install Endpoints`,"nav.installedModels":`Installed Models`,"nav.changelog":`Changelog`,"nav.moreFeatures":`More features`,"nav.navigationMenu":`Navigation menu`,"nav.commandPalette":`Command palette`,"nav.exportData":`Export Data`,"nav.primary":`Primary`,"settings.title":`Settings`,"settings.subtitle":`API keys, language, theme, favorites, and update controls. Settings are stored locally and shared with the TUI.`,"settings.global":`Global settings`,"settings.language":`Language`,"settings.language.description":`Choose the language used by the TUI and Web Dashboard.`,"settings.globalTheme":`Global Theme`,"settings.installUpdate":`Install update (v{version})`,"settings.checkUpdatesManually":`Check for updates manually`,"settings.pressToCheckUpdates":`Press Enter or U to check npm registry`,"settings.updateCheckFailed":`Check failed (press U to retry)`,"settings.installingUpdate":`Installing update…`,"settings.favoritesMode":`Favorites Display Mode`,"settings.favoritesNormal":`Normal rows (filter/sort)`,"settings.startupSpeedTestEnabled":`✅ Enabled — runs Ctrl+U after startup`,"settings.startupSpeedTestDisabled":`❌ Disabled — manual Ctrl+U only`,"settings.autoHideBrokenModels":`Auto-hide Broken Models`,"settings.pressEnterCleanup":`Enter removes old proxy leftovers`,"settings.viewChangelog":`View Changelog`,"settings.pressEnterChangelog":`Enter browses version history`,"settings.shellEnvEnabled":`✅ Enabled — keys available in shell`,"settings.shellEnvNotConfigured":`🔘 Not configured — Enter to set up`,"settings.typeApiKey":`Type API key`,"settings.navigate":`Navigate`,"settings.editRunCycle":`Edit/Run/Cycle`,"settings.addKey":`Add key`,"settings.updates":`Updates`,"settings.favorites":`Favorites`,"settings.toggleCycle":`Toggle/Cycle`,"settings.theme.description":`Auto follows your operating system.`,"settings.theme.auto":`Auto (OS)`,"settings.theme.dark":`Dark`,"settings.theme.light":`Light`,"settings.favoritesPinned":`Favorites pinned and always visible`,"settings.favoritesPinned.description":`Keep favorites above filters and other rows (TUI: Y key).`,"settings.startupSpeedTest":`Startup AI Speed Scan`,"settings.startupSpeedTest.description":`Run the global benchmark after launch.`,"settings.shellEnv":`Export API keys to shell rc`,"settings.shellEnv.description":`Write configured provider keys to your shell rc file.`,"settings.checkUpdates":`Check for updates`,"settings.checkUpdates.description":`Check whether a newer npm version is available.`,"settings.checkNow":`Check now`,"settings.cleanupLegacy":`Cleanup discontinued proxy artifacts`,"settings.cleanupLegacy.description":`Remove old config, environment, and service leftovers.`,"settings.runCleanup":`Run cleanup`,"settings.providers":`Providers`,"settings.searchProviders":`Search providers…`,"settings.loading":`Loading settings…`,"settings.keysAndProviderSettings":`API keys and provider settings`,"settings.noProviders":`No providers match your search.`,"settings.apiKey":`API key`,"settings.saveKey":`Save key`,"settings.testKey":`Test key`,"settings.keySaved":`API key saved.`,"settings.keySaveFailed":`Could not save API key.`,"settings.keyRemoved":`API key removed.`,"settings.keyRemoveFailed":`Could not remove API key.`,"settings.keyTestPassed":`API key test passed.`,"settings.keyTestFailed":`API key test failed.`,"settings.updateAvailable":`Update available: v{version}`,"settings.upToDate":`Already on the latest version`,"settings.legacyNone":`No discontinued proxy config was found.`,"settings.languageSaveFailed":`Could not save language preference.`,"dashboard.searchPlaceholder":`Search models, providers…`,"dashboard.workingOnly":`Working only`,"dashboard.allModels":`All models`,"dashboard.filters":`Filters`,"dashboard.resetView":`Reset view`,"dashboard.provider":`Provider`,"dashboard.allProviders":`All providers`,"dashboard.model":`Model`,"dashboard.models":`{count} models`,"dashboard.favorites":`Favorites`,"dashboard.favorite":`Favorite`,"dashboard.recommended":`Recommended`,"dashboard.rank":`Rank`,"dashboard.tier":`Tier`,"dashboard.latency":`Latency`,"dashboard.stability":`StaBility`,"dashboard.uptime":`Uptime`,"dashboard.health":`Health`,"dashboard.verdict":`Verdict`,"dashboard.status":`Status`,"dashboard.search":`Search`,"dashboard.noModels":`No models match the current filters.`,"dashboard.noApiKey":`No API key configured for this provider`,"dashboard.notConfigured":`Not configured`,"dashboard.working":`Working`,"dashboard.down":`Down`,"dashboard.pending":`Pending`,"dashboard.export":`Export`,"dashboard.exportData":`Export model data`,"dashboard.aiLatency":`AI Latency`,"dashboard.aiSpeedTest":`AI Speed Test`,"dashboard.aiSpeedTestRunning":`AI Speed Test running — {completed}/{total}`,"dashboard.runBenchmark":`Run AI Latency benchmark on {count} visible models`,"dashboard.resetToast":`View reset to defaults.`,"filters.tier":`Tier`,"filters.status":`Status`,"filters.verdict":`Verdict`,"filters.health":`Health`,"filters.origin":`Provider`,"filters.search":`Search`,"filters.customPlaceholder":`Filter by text…`,"filters.pingMode":`Probe frequency`,"filters.pingEco":`Eco`,"filters.pingBalanced":`Balanced`,"filters.pingAggressive":`Aggressive`,"filters.all":`All`,"help.title":`Help`,"help.shortcuts":`Keyboard shortcuts`,"help.loading":`Loading help…`,"help.close":`Close help`,"help.openSettings":`Open Settings`,"help.openHelp":`Open Help`,"help.openPalette":`Open command palette`,"help.selectModel":`Select a model`,"help.toggleFavorite":`Toggle favorite`,"recommend.title":`Smart Recommend`,"recommend.questionTask":`What are you working on?`,"recommend.questionSpeed":`How fast do you need it?`,"recommend.next":`Next`,"recommend.previous":`Previous`,"recommend.showResults":`Show recommendations`,"recommend.topPicks":`Top recommendations`,"recommend.noResults":`No matching models are available.`,"recommend.install":`Install endpoint`,"install.title":`Install Endpoints`,"install.subtitle":`Write selected model endpoints into a supported tool configuration.`,"install.scope.all":`All models`,"install.scope.selected":`Selected models`,"install.models":`Models`,"install.install":`Install endpoints`,"install.noModels":`No compatible models are available.`,"install.success":`Endpoints installed.`,"install.failure":`Endpoint installation failed.`,"install.keyRequired":`Add an API key in Settings first.`,"installed.title":`Installed Models`,"installed.empty":`No installed models found.`,"installed.refresh":`Refresh installed models`,"analytics.title":`Analytics`,"analytics.today":`Today`,"analytics.allTime":`All time`,"analytics.byModel":`By model`,"analytics.noUsage":`No usage data yet.`,"update.upToDate":`Up to date`,"update.updateNow":`Update now`,"update.failed":`Update check failed.`,"palette.title":`Command Palette`,"palette.footerTitle":`Cmd Palette`,"palette.searchPlaceholder":`Search commands…`,"palette.noResults":`No commands found.`,"router.title":`Smart Model Router`,"router.status.running":`Running`,"router.status.stopped":`Stopped`,"router.start":`Start daemon`,"router.stop":`Stop daemon`,"router.restart":`Restart daemon`,"router.refresh":`Refresh`,"router.fallbackChain":`Fallback chain`,"router.requests":`Requests routed`,"router.uptime":`Uptime`,"router.noRequests":`No requests routed yet.`,"router.model":`Model`,"router.state":`State`,"router.lastLatency":`Last latency`,"router.save":`Save`,"router.saved":`Saved`,"router.saving":`Saving…`,"router.saveFailed":`Save failed`,"router.v2.title":`Smart Model Router v2`,"router.v2.beta":`BETA`,"router.v2.validation":`Validation`,"router.v2.chainHealth":`Chain health`,"router.v2.testViaRouter":`Test via router`,"playground.title":`Playground`,"playground.model":`Model`,"playground.persona":`Persona`,"playground.clear":`Clear conversation`,"playground.close":`Close`,"playground.toggleStreaming":`Toggle streaming`,"playground.promptPlaceholder":`Ask anything. Enter to send, Shift+Enter for a newline.`,"playground.daemonStopped":`Router daemon is not running`,"playground.startDaemon":`Start the router daemon`,"playground.startingDaemon":`Starting router daemon…`,"toast.dismiss":`Dismiss notification`,"cli.usage":`Usage`,"cli.toolFlags":`Tool Flags`,"cli.analysisFlags":`Analysis Flags`,"cli.configMaintenance":`Config & Maintenance`,"cli.examples":`Examples`,"cli.defaultLauncher":`Default launcher with no tool flag: OpenCode CLI`,"cli.combineFlags":`Flags can be combined: --openclaw --tier S --json`,"cli.helpTitle":`CLI Help`,"cli.routerHowItWorks":`How the FCM Router Works`,"cli.routerDaemon":`The smart router daemon`,"cli.prePrompt":`The pre-prompt (system message)`,"cli.probeMechanism":`The probe mechanism (every 10s/30s/120s)`,"cli.circuitBreaker":`The circuit breaker (per-model state)`,"cli.failoverOrder":`Failover order`,"cli.autoHeal":`Auto-heal (default behavior)`,"cli.rateLimits":`Rate limits (RPD / RPM / TPM)`,"nav.themeTitle":`Theme: {theme} (click to cycle auto / dark / light)`,"nav.themeLabel":`Theme: {theme}. Click to cycle.`,"filters.provider":`Provider`,"filters.visibility":`Visibility`,"filters.visibility.allHint":`Show everything`,"filters.visibility.configured":`Configured only`,"filters.visibility.configuredHint":`Hide models with no key or auth errors`,"filters.visibility.usable":`Usable only`,"filters.visibility.usableHint":`Only Health UP + good verdict`,"filters.verdict.perfect":`Perfect`,"filters.verdict.normal":`Normal`,"filters.verdict.spiky":`Spiky`,"filters.verdict.slow":`Slow`,"filters.verdict.overloaded":`Overloaded`,"filters.verdict.unstable":`Unstable`,"filters.health.timeout":`Timeout`,"filters.health.noKey":`No key`,"filters.health.authError":`Auth error`,"filters.ping":`Ping`,"filters.pingSpeed":`⚡ Speed`,"filters.pingNormal":`● Normal`,"filters.pingSlow":`🐢 Slow`,"filters.pingForced":`🔥 Forced`,"filters.endpointTarget":`Endpoint target`,"filters.endpointTargetHint":`Active endpoint install target from the Header picker`,"filters.text":`Text`,"filters.clearTextHint":`Click X to clear (TUI: X key)`,"filters.clearText":`Clear custom text filter (TUI: X)`,"filters.resetTitle":`Reset {count} active filter(s) (TUI: N)`,"filters.nextPing":`Next ping in`,"dashboard.swe":`SWE%`,"dashboard.context":`Context`,"dashboard.lastPing":`Last Ping`,"dashboard.average":`Avg`,"dashboard.tps":`TPS`,"dashboard.quota":`Quota`,"dashboard.trend":`Trend`,"dashboard.noApiKeyState":`No API key configured — health will stay in 'NO KEY' state`,"dashboard.benchmarking":`Benchmarking…`,"dashboard.clickToBenchmark":`Click to run AI Speed Test (TUI: Ctrl+A)`,"dashboard.customColumnWidths":`Custom column widths`,"dashboard.totalWidth":`total`,"dashboard.restoreColumnWidths":`Restore the default column widths`,"dashboard.resetColumns":`Reset columns`,"dashboard.sortColumn":`Sort {column}: ascending → descending → reset`,"dashboard.resizeColumn":`Drag to resize {column} (double-click to reset this column)`,"dashboard.resizeColumnAria":`Resize {column} column`,"dashboard.providerModelsTitle":`{provider} — {count} models`,"provider.health.active":`API key works — at least one model is UP`,"provider.health.pending":`API key set — waiting for health data`,"provider.health.down":`API key set — models are DOWN or have auth errors`,"settings.loadFailed":`Failed to load settings`,"settings.enterApiKey":`Please enter an API key`,"settings.keySavedForProvider":`API key for {provider} saved successfully!`,"settings.networkSaveFailed":`Network error while saving`,"settings.confirmDeleteKey":`Are you sure you want to delete the API key for "{provider}"?`,"settings.keyRemovedForProvider":`API key for {provider} deleted`,"settings.networkDeleteFailed":`Network error while deleting`,"settings.providerEnabled":`{provider} enabled`,"settings.providerDisabled":`{provider} disabled`,"settings.toggleFailed":`Failed to toggle setting`,"settings.networkError":`Network error`,"settings.keyTestResult":`{provider} test: {result}{code}`,"settings.keyTestError":`{provider} test failed: {error}`,"settings.settingUpdated":`Setting updated`,"settings.featureUpdateFailed":`Failed to update feature`,"settings.shellExportEnabled":`Shell env export enabled — restart your shell to apply.`,"settings.shellExportDisabled":`Shell env export disabled.`,"settings.shellToggleFailed":`Failed to toggle shell env`,"settings.confirmLegacyCleanup":`Remove discontinued proxy config leftovers? This is safe to run.`,"settings.legacyCleanupComplete":`Cleaned {count} legacy file(s). {errors} error(s).`,"settings.legacyCleanupToast":`Legacy proxy cleanup: {count} file(s) cleaned.`,"settings.legacyCleanupFailed":`Legacy cleanup failed: {error}`,"settings.expandAll":`Expand All`,"settings.collapseAll":`Collapse All`,"settings.test.ok":`OK`,"settings.test.authError":`Auth error`,"settings.test.rateLimited":`Rate limited`,"settings.test.noCallableModel":`No callable model`,"settings.test.failed":`Failed`,"settings.test.missingKey":`Missing key`,"settings.noApiKeySet":`(no key set)`,"settings.noLimitInfo":`No limit info`,"settings.keyDetected":`API key detected ✅`,"settings.keyMissing":`API key missing ⚠`,"settings.setupInstructions":`Setup Instructions`,"settings.createProviderAccount":`Create a provider account`,"settings.generateApiKeyHint":`Generate an API key and paste it with Enter on this row`,"settings.pressToTestKey":`Press {key} to test your key. Status:`,"settings.testDiagnostics":`Test Diagnostics`,"settings.badge.test":`[Test]`,"settings.badge.testing":`[Testing…]`,"settings.badge.testOk":`[Test ✅]`,"settings.badge.missingKey":`[Missing Key 🔑]`,"settings.badge.authError":`[Auth ❌]`,"settings.badge.rateLimited":`[Rate limit ⏳]`,"settings.badge.noCallableModel":`[No model ⚠]`,"settings.badge.failed":`[Test ❌]`,"settings.lastTest":`Last test`,"settings.currentApiKey":`Current API Key`,"settings.hideKey":`Hide`,"settings.revealKey":`Reveal`,"settings.testKeyHint":`Test this key against the provider (TUI: T key in Settings)`,"settings.testKeyForProvider":`Test key for {provider}`,"settings.testing":`Testing…`,"settings.deleteKey":`Delete Key`,"settings.updateApiKey":`Update API Key`,"settings.addApiKey":`Add API Key`,"settings.apiKeyPlaceholder":`Enter your API key…`,"settings.apiKeyForProvider":`API key for {provider}`,"settings.providerEnabledLabel":`Provider Enabled`,"settings.providersCount":`{count} models`,"common.wait":`wait`,"dashboard.averageLatency":`Average latency`,"dashboard.avgPingShort":`Avg Ping`,"dashboard.terminalMaximize":`Please maximize your terminal for optimal use.`,"dashboard.terminalTooSmall":`The current terminal is too small.`,"dashboard.terminalReduceFont":`Reduce font size or maximize terminal width.`,"dashboard.warningWillHide":`This message will hide in {seconds}s`,"dashboard.pressEscToDismiss":`Press Esc to dismiss`,"dashboard.configureApiKeyHint":`Press P to configure your API key.`,"dashboard.noConfiguredVisibleModels":`No configured provider currently exposes visible models in the table.`,"dashboard.noKeyShort":`NO KEY`,"dashboard.authFailShort":`AUTH FAIL`,"dashboard.upShort":`UP`,"filters.verdict.verySlow":`Very slow`,"filters.verdict.notActive":`Not active`,"filters.verdict.unusable":`Unusable`,"filters.pingSpeedShort":`Speed`,"filters.pingNormalShort":`Normal`,"filters.pingSlowShort":`Slow`,"filters.pingForcedShort":`Forced`,"filters.pingInterval":`Ping`,"filters.nextPingShort":`Next`,"filters.tool":`Tool`,"help.searchPlaceholder":`Search help, filters, shortcuts…`,"help.note":`The Web Dashboard is mouse-first. Use the command palette for the global keyboard shortcut; other actions are in the header menu and dialogs.`,"help.noMatches":`No help matches “{query}”.`,"help.filters":`Filters`,"help.sort":`Sort`,"help.favorites":`Favorites`,"help.speedTest":`AI Speed Test`,"help.toolMode":`Tool mode`,"help.palette":`Command palette`,"help.theme":`Theme`,"help.pingMode":`Ping mode`,"help.deepLinks":`URL deep links`,"help.cliParity":`CLI parity`,"help.routerHow":`How the FCM Router works`,"recommend.questionContext":`How much context do you need?`,"recommend.findBest":`Find the best model for this task`,"recommend.questionProgress":`Question {step} / {total}`,"recommend.analyzing":`Analyzing live catalog…`,"recommend.analysisHint":`10 seconds · about 2 checks/sec · same scoring as the TUI.`,"recommend.topThree":`Top 3 recommendations`,"recommend.restart":`Restart`,"install.step.provider":`Provider`,"install.step.tool":`Tool`,"install.step.models":`Models`,"install.step.install":`Install`,"install.chooseProviderHint":`Choose a provider with a configured API key.`,"install.loadingProviders":`Loading providers…`,"install.noProvidersConfigured":`No configured providers found. Add API keys in Settings first.`,"install.modelsCount":`{count} models`,"install.chooseToolHint":`Install {provider} models into which tool?`,"install.chooseModelsHint":`Choose models from {provider} to install into {tool}.`,"install.selectModels":`Select models`,"install.allModelsNotice":`All {count} models from {provider} will be installed.`,"install.installingCount":`Installing {count}…`,"install.writingConfig":`Writing config for {tool}`,"install.installed":`Installed!`,"install.installFailed":`Install failed`,"install.retryHint":`Check the toast for details. Go back and retry.`,"install.done":`Done`,"install.next":`Next`,"installed.scanning":`Scanning tool configs…`,"installed.noModels":`No models found in tool configs.`,"installed.configureHint":`Use “Install Endpoints” to configure models for your tools.`,"installed.notInstalled":`Not installed`,"installed.removeTitle":`Remove model from config (backup saved)`,"installed.disabled":`Disabled {model} in {tool}.`,"installed.failed":`Failed: {error}`,"analytics.subtitle":`Real-time insights across providers and models`,"analytics.providerHealth":`Provider health overview`,"analytics.fastestModels":`Fastest models`,"analytics.tierDistribution":`Tier distribution`,"analytics.waiting":`Waiting for data…`,"analytics.waitingPings":`Waiting for ping data…`,"analytics.loading":`Loading…`,"analytics.noTokenData":`No token data yet. Start the router and send requests to track usage.`,"analytics.requests":`{count} requests`,"analytics.sevenDayUsage":`7-day usage`,"analytics.topModels":`Top models`,"analytics.topProviders":`Top providers`,"analytics.tokens":`{count} tokens`,"analytics.requestsShort":`{count} req`,"changelog.backToIndex":`Back to index (TUI: B)`,"changelog.index":`Index`,"changelog.loading":`Loading changelog…`,"changelog.failed":`Failed to load changelog: {error}`,"changelog.versionHint":`{count} versions. Select one to read the release notes.`,"changelog.noReleaseNotes":`No release notes for v{version}.`,"changelog.noNotes":`No notes for v{version}.`,"playground.findBest":`Find the best model for this task`,"playground.routerOnline":`Router online`,"playground.routerOffline":`Router offline`,"playground.checkingRouter":`Checking router…`,"playground.autoRouterRecommended":`fcm — auto router (recommended)`,"playground.messagesTokens":`{messages} messages · {tokens} tokens`,"playground.prePromptEnabled":`Pre-prompt enabled`,"playground.prePromptDisabled":`Pre-prompt disabled`,"playground.streamOn":`Streaming on`,"playground.streamOff":`Streaming off`,"playground.startingRouter":`Starting router…`,"playground.autoStartIn":`Auto-starting router in {seconds}s…`,"playground.startRouter":`Start Router`,"playground.chatViaRouter":`Chat via FCM Router`,"playground.routerHint":`The Router picks the healthiest model and fails over automatically.`,"playground.askModel":`Ask {model}`,"playground.copyReply":`Copy reply`,"playground.addressedModel":`Addressed model`,"playground.servedModel":`Model that served this reply`,"playground.responseTime":`Response time (send → end)`,"playground.completionTokens":`Completion tokens`,"playground.tokensPerSecond":`Tokens per second`,"playground.stopped":`stopped`,"playground.fullPlaceholder":`Ask anything. Enter to send, Shift+Enter for a newline.`,"playground.miniPlaceholder":`Send a message…`,"playground.stopGenerating":`Stop generating`,"playground.stop":`Stop`,"playground.send":`Send`,"router.circuit.healthy":`Healthy`,"router.circuit.down":`Down`,"router.circuit.recovering":`Recovering`,"router.circuit.authError":`Auth error`,"router.circuit.deprecated":`Deprecated`,"router.circuit.unsupported":`Unsupported`,"router.circuit.unknown":`Unknown`,"router.daemonStarted":`Router daemon started.`,"router.daemonStopped":`Router daemon stopped.`,"router.startFailed":`Start failed: {error}`,"router.stopFailed":`Stop failed: {error}`,"router.cannotReachDaemon":`Cannot reach daemon — it may not be installed or the port is blocked`,"router.probingModels":`Probing models with your keys…`,"router.syncedModels":`Synced {set}: {working} working models from {probes} probes.`,"router.syncFailed":`Sync failed: {error}`,"router.noFavorites":`You do not have any favorite models yet. Star some models first!`,"router.activeSet":`Active set: {name}`,"router.probeModeSet":`Probe mode set to {mode}.`,"router.v2.stopped":`Router v2 stopped`,"router.v2.started":`Router v2 started`,"router.v2.startFailed":`Start failed`,"router.v2.stopFailed":`Stop failed`,"router.v2.notReachable":`Router v2 daemon is not reachable ({error}).`,"router.v2.notRunning":`Router v2 daemon is not running.`,"router.v2.checking":`Checking for a running v2 daemon…`,"router.v2.betaDescription":`Beta: v2 runs next to the stable Router on its own port ({port}) and shares sets, models, and API keys. Failover validates response content. Anthropic-style agents can use POST /v1/messages on the same port.`,"router.v2.requestsRouted":`Requests routed`,"router.v2.failoverNeeded":`{percent}% needed failover`,"router.v2.up":`{count} up`,"router.v2.degraded":`{count} degraded`,"router.v2.open":`{count} open`,"router.v2.strict":`strict`,"router.v2.lastResort":`last resort: {model}`,"router.v2.fallbackChain":`Fallback chain`,"router.v2.exactOrder":`the exact order the next request will try`,"router.v2.lastLatency":`Last latency`,"router.v2.emptyCandidates":`No routeable candidates (missing keys or every model is failing).`,"router.v2.testTitle":`Send one real pinned request through the router chain`,"router.v2.testing":`testing…`,"router.v2.failed":`failed`,"router.v2.test":`test`,"router.v2.testTopThree":`Test top 3 through the router`,"router.v2.requestChains":`Request chains`,"router.v2.attemptsHint":`every attempt, skip reason, and the winning model`,"router.v2.outcome.served":`served`,"router.v2.outcome.aborted":`aborted`,"router.v2.outcome.failed":`failed`,"common.select":`Select`,"common.expand":`Expand`,"common.reset":`Reset`,"filters.visibility.all":`All models`,"dashboard.globalBenchmark":`Global AI Speed Test (uses many requests!)`,"recommend.task":`Task`,"recommend.priority":`Priority`,"recommend.context":`Context`,"recommend.pinging":`Pinging models at 2 pings/sec to gather fresh latency data…`,"help.columns":`Columns`,"help.mainTui":`Main TUI`,"help.controls":`Controls`,"cli.mode":`mode`,"cli.flags":`CLI Flags`,"router.activeSetLabel":`Active set`,"router.familyFailover":`Family failover`,"router.syncBest":`Sync best`,"router.useFavorites":`Use favorites`,"router.probeAll":`Probe all`,"router.noActiveSetModels":`No models in the active set`,"router.addSetModelsHint":`Add models from the picker below, or sync the best models above.`,"router.primary":`Primary`,"router.triesFirst":`tries first`,"router.fallback":`Fallback`,"router.onFailure":`on failure / rate limit`,"router.nextUp":`Next up`,"router.addModelTo":`Add a model to`,"router.searchModels":`Search by provider, model, or label…`,"router.noModelsMatch":`No models match your filter.`,"router.alreadyInSet":`Already in set`,"router.moveUp":`Move up`,"router.moveDown":`Move down`,"router.removeFromSet":`Remove from set`,"router.noActiveRequests":`No active requests.`,"router.noRequestsYet":`No requests yet. Start coding to see traffic here.`,"router.stalled":`Stalled?`,"router.processing":`Processing…`,"router.savingStatus":`saving…`,"router.savedStatus":`✓ saved`,"router.routesVia":`routes through`,"router.fallbackHint":`try the fallback chain`,"router.miniPlaceholder":`Test the router… (e.g. write a haiku about TypeScript)`,"router.testKeyHint":`Probe your API keys and rebuild the set with only models that actually work`,"router.useFavoritesHint":`Replace current router models with your favorite models`,"router.benchmarkSetHint":`Benchmark AI Latency + TPS on every model in this set`,"router.syncBestHint":`Re-probe with your current API keys and keep only working models`,"router.switchSetHint":`Switch the active set`,"router.liveHeaders":`live from response headers (no extra requests)`,"router.pasteIntoToolConfig":`paste into your coding tool config`,"router.routerModels":`Router models`,"router.favoritesFallbackOrder":`your favorites, in fallback order`,"router.noFavoritesTui":`No favorites yet. Press Esc, then F on any model to add it.`,"router.installEndpointCli":`Install Router Endpoint to CLI Tool`,"router.lifetime":`Lifetime`,"router.activeRequests":`Active requests`,"router.recentRequests":`Recent requests`,"router.time":`Time`,"router.detail":`Detail`,"router.reorder":`Reorder`,"router.healthCheck":`Health check`,"router.clearLog":`Clear log`,"router.models":`Models`,"router.clearHistory":`Clear history`,"router.circuit.degraded":`Degraded`,"router.circuit.probing":`Probing`,"router.circuit.quotaPaused":`Quota paused`,"router.v2.pointToolAtV2":`point your coding tool at v2`,"router.v2.orPinOne":`or pin one:`,"router.v2.failoverRate":`Failover rate`,"router.v2.startToSeeChain":`Start the daemon to see the live chain.`,"router.v2.noHistory":`No history (daemon stopped).`,"router.v2.probes":`Probes`,"router.v2.lastError":`LAST ERROR`,"dashboard.uptimeShort":`Up%`,"update.retryHint":`Press Shift+U to retry update`,"update.clickToInstall":`Click here or press Shift+U to update`,"filters.disableFilter":`Disable filter`,"playground.prePromptHint":`Router persona injected as the first system message`,"playground.runCommand":`Or run this in your terminal:`,"playground.waitingForDaemon":`The daemon is starting. You can chat as soon as it is ready.`,"playground.emptyTitle":`Try the FCM router in 10 seconds`,"playground.emptyHint":`Each request routes to the healthiest model in your active set or directly to your selected model. Replies show the served model, latency, and TPS.`,"router.v2.startStableHint":`Or start it above. The stable Router v1 keeps running on port 19280.`,"router.v2.outcome":`Outcome`,"router.v2.wallTime":`Total time`,"router.v2.lastResortTag":`last resort`,"router.v2.attempts":`Attempts`,"router.v2.skipped":`Skipped`,"router.v2.openAiTools":`OpenAI-compatible tools`,"router.v2.anthropicTools":`Anthropic protocol agents`,"router.v2.pinOneHint":`Pin one model for testing or dedicated traffic:`,"common.none":`none`,"router.brokenModels":`{count} models in the active set are not responding`,"router.autoHealWarning":`Auto-heal ran on startup, but a replacement may still be unavailable.`,"router.fixNow":`Fix now`,"router.copied":`Copied!`,"router.copyAll":`Copy all`,"router.baseUrl":`Base URL`,"router.requestsCount":`{count} requests`,"router.stoppedHint":`Smart failover router. Start it to route requests to the healthiest model.`,"router.starting":`Starting…`,"router.stopping":`Stopping…`,"router.activeSetModels":`Active set ({count} models)`,"router.familyFailoverHint":`When a model fails, retry the same family on another provider before falling back to the next model.`,"router.probing":`Probing…`,"router.addModel":`Add model`,"router.primaryTitle":`Primary model — tried first on every request`,"router.fallbackTitle":`Fallback #{index} — used if higher-priority models fail or hit a rate limit`,"router.probeMode":`Probe mode`,"router.requestLog":`Request log`,"router.testRouter":`Test router`,"router.testEmptyHint":`Send a message to see which model the router picks, with latency and TPS.`,"router.runtimeTelemetry":`Runtime telemetry`,"router.callsTrackedLocal":`{count} calls tracked · local only`,"router.providerQuota":`Provider quota`,"playground.routerStartError":"Router is not running. Press R or run `free-coding-models --daemon-bg`.","playground.sending":`Sending…`,"playground.tuiHotkeys":`Enter sends · Shift+Tab changes model · Ctrl+S toggles streaming · Esc closes · Ctrl+L clears`,"playground.you":`you`,"playground.routed":`routed`,"playground.tokensShort":`tok`,"playground.fallbackShort":`fallback`,"playground.waitingResponse":`Waiting for response — Esc to stop`,"playground.draftPlaceholder":`Type a message and press Enter…`,"playground.enterToSend":`Enter sends`,"playground.pinModel":`to use a pinned model`,"common.error":`Error`,"cli.flag.best":`Show only top tiers (A+, S, S+)`,"cli.flag.fiable":`Run the 10s reliability analysis mode`,"cli.flag.json":`Output results as JSON for scripts and automation`,"cli.flag.tier":`Filter models by tier family`,"cli.flag.recommend":`Open Smart Recommend on startup`,"cli.flag.premium":`Start with S-tier filter and verdict sort`,"cli.flag.sort":`Sort by the selected column`,"cli.flag.direction":`Set descending or ascending order`,"cli.flag.origin":`Filter models by provider`,"cli.flag.pingInterval":`Set ping interval in milliseconds`,"cli.flag.hideUnconfigured":`Hide models without configured API keys`,"cli.flag.showUnconfigured":`Show models even when no API key is configured`,"cli.flag.reprobe":`Rebuild probe cache and skip cached healthy models`,"cli.flag.probeTtl":`Set how long healthy probe results are cached`,"cli.flag.showBroken":`Show models marked as broken by the probe cache`,"cli.flag.checkDrift":`Compare sources.js with models.dev and report differences`,"cli.flag.driftThreshold":`Fail only when this many or more differences are found`,"cli.flag.web":`Start the real-time Web Dashboard`,"cli.flag.playground":`Open the TUI Playground, starting the router if needed`,"cli.flag.daemon":`Start the Router daemon and Web Dashboard`,"cli.flag.daemonBg":`Start the Router daemon in the background`,"cli.flag.daemonStatus":`Print the Router daemon status as JSON`,"cli.flag.daemonStop":`Gracefully stop the Router daemon`,"cli.flag.routerV2":`Start the Router v2 daemon on port 19380`,"cli.flag.routerV2Bg":`Start Router v2 in the background`,"cli.flag.routerV2Status":`Print Router v2 daemon status as JSON`,"cli.flag.routerV2Stop":`Gracefully stop the Router v2 daemon`,"cli.flag.syncSet":`Discover and probe models for a router set`,"cli.flag.configDir":`Store config.json and backups in the specified directory`,"cli.flag.fixPermissions":`Set secure config file permissions without prompting`,"cli.flag.noTelemetry":`Disable anonymous telemetry for this run`,"cli.flag.help":`Print this help and exit`,"palette.placeholder":`Type a command… (filters, sorts, tools, theme, ping, export)`,"palette.noMatch":`No matching command.`,"palette.navigate":`navigate`,"palette.select":`select`,"palette.poweredByTui":`Powered by the TUI command registry — 1:1 parity`,"palette.section.filter":`Filter`,"palette.section.sort":`Sort`,"palette.section.action":`Action`,"palette.section.page":`Page`,"palette.section.update":`Update`,"palette.section.tool":`Tool`,"palette.updateNow":`UPDATE NOW`,"palette.versionAvailable":`available`,"palette.notAvailable":`This command is not available yet.`,"palette.notWired":`This command is not available on the Web yet.`,"palette.toolModeNotReady":`The tool mode picker is not available yet.`,"palette.favoriteHint":`Press F on a model row in the table.`,"palette.favoriteModeHint":`Set the favorites display mode in Settings.`,"palette.benchmarkHint":`Click an AI Lat. cell to benchmark the highlighted row.`,"palette.providerFilterHint":`Use the Provider dropdown in the FilterBar.`,"palette.tierFilterHint":`Use the Tier chips in the FilterBar.`,"palette.visibilityFilterHint":`Use the Visibility dropdown in the FilterBar.`,"palette.sortHint":`Click a table column header to sort.`,"palette.web.openHelp":`Open Help`,"palette.web.openChangelog":`Open Changelog`,"palette.web.openPlayground":`Open Playground`,"palette.web.openInstallEndpoints":`Open Install Endpoints`,"palette.web.openInstalledModels":`Open Installed Models`,"palette.web.cycleTheme":`Cycle theme (current: {theme})`,"palette.web.resetView":`Reset view (filters + sort)`,"palette.web.pingMode":`Ping mode → {mode}`,"palette.web.exportModels":`Export models…`,"palette.command.filters":`Filters`,"palette.command.filter-tier":`Filter by tier`,"palette.command.filter-tier-all":`All tiers`,"palette.command.filter-tier-splus":`S+ tier`,"palette.command.filter-tier-s":`S tier`,"palette.command.filter-tier-aplus":`A+ tier`,"palette.command.filter-tier-a":`A tier`,"palette.command.filter-tier-aminus":`A- tier`,"palette.command.filter-tier-bplus":`B+ tier`,"palette.command.filter-tier-b":`B tier`,"palette.command.filter-tier-c":`C tier`,"palette.command.filter-provider":`Filter by provider`,"palette.command.filter-provider-cycle":`Cycle provider`,"palette.command.filter-provider-all":`All providers`,"palette.command.filter-model":`Filter by model`,"palette.command.filter-other":`Other filters`,"palette.command.filter-configured-toggle":`Show only configured & working`,"palette.command.sort":`Sort`,"palette.command.sort-rank":`Sort by rank`,"palette.command.sort-tier":`Sort by tier`,"palette.command.sort-provider":`Sort by provider`,"palette.command.sort-model":`Sort by model`,"palette.command.sort-latest-ping":`Sort by latest ping`,"palette.command.sort-avg-ping":`Sort by avg ping`,"palette.command.sort-swe":`Sort by SWE score`,"palette.command.sort-ctx":`Sort by context`,"palette.command.sort-health":`Sort by health`,"palette.command.sort-verdict":`Sort by verdict`,"palette.command.sort-stability":`Sort by stability`,"palette.command.sort-uptime":`Sort by uptime`,"palette.command.actions":`Actions`,"palette.command.action-target-tool":`Target tool`,"palette.command.action-cycle-tool-mode":`Cycle target tool`,"palette.command.action-ping-mode":`Ping mode`,"palette.command.action-cycle-ping-mode":`Cycle ping mode`,"palette.command.action-set-ping-speed":`Speed mode (2s)`,"palette.command.action-set-ping-normal":`Normal mode (10s)`,"palette.command.action-set-ping-slow":`Slow mode (30s)`,"palette.command.action-set-ping-forced":`Forced mode (4s)`,"palette.command.action-favorites-mode":`Favorites mode`,"palette.command.action-toggle-favorite-mode":`Toggle favorites mode`,"palette.command.action-favorites-mode-pinned":`Pinned + always visible`,"palette.command.action-favorites-mode-normal":`Normal rows (starred only)`,"palette.command.action-toggle-favorite":`Toggle favorite on selected row`,"palette.command.action-cycle-theme":`Cycle theme`,"palette.command.action-reset-view":`Reset view`,"palette.command.action-probe-failed":`Re-probe failed models`,"palette.command.action-probe-404":`Probe all models (404)`,"palette.command.action-toggle-auto-hide-broken":`Toggle auto-hide broken models`,"palette.command.open-settings":`Settings`,"palette.command.open-help":`Help`,"palette.command.open-changelog":`Changelog`,"palette.command.open-recommend":`Smart recommend`,"palette.command.open-playground":`Playground`,"palette.command.open-install-endpoints":`Install endpoints`,"palette.command.open-installed-models":`Installed models`,"update.availableTitle":`Update available: v{version}. Click to install.`,"update.availableDescription":`A newer version (v{version}) is available on npm. After updating, restart the dashboard to apply it.`,"update.now":`Update now`,"settings.removeKey":`Remove key`,"settings.theme":`Theme`,"help.navigation":`Navigation`,"analytics.tokenUsage":`Token usage`,"install.selectProvider":`Choose provider`,"install.selectTool":`Choose tool`,"common.stepNumber":`Step {step}/{total}`,"install.tuiSubtitle":`Install provider catalogs into supported coding tools.`,"install.chooseConfiguredProvider":`Choose a configured provider`,"install.chooseTargetTool":`Choose the target tool`,"install.chooseInstallScope":`Choose the install scope`,"install.chooseModelsToInstall":`Choose which models to install`,"install.provider":`Provider`,"install.tool":`Tool`,"install.directProvider":`Direct Provider`,"install.sharedConfigFile":`shared config file`,"install.envFile":`env file (~/.fcm-*-env)`,"install.managedConfig":`managed config install`,"install.selectedCount":`Selected: {selected}/{total}`,"install.result":`Result`,"install.resultUnavailable":`Install result unavailable`,"install.futureRefresh":`Future FCM launches will refresh this catalog automatically when the provider list evolves.`,"install.scope.all.label":`Install all models`,"install.scope.all.hint":`Recommended — FCM will refresh this provider catalog automatically later.`,"install.scope.selected.label":`Install selected models only`,"install.scope.selected.hint":`Choose a smaller curated subset for a cleaner model picker.`,"recommend.subtitle":`Answer a few questions to find models for your task.`,"recommend.questionPriority":`What matters most?`,"router.quickSetup":`Quick setup`,"update.checking":`Checking for updates…`,"update.available":`Update available`,"update.whatsNew":`What's new`,"recommend.taskType.quickfix":`Quick fix`,"recommend.taskType.refactor":`Deep refactor`,"recommend.taskType.review":`Code review`,"recommend.taskType.testgen":`Test generation`,"recommend.priority.speed":`Speed`,"recommend.priority.quality":`Quality`,"recommend.priority.balanced":`Balanced`,"recommend.contextBudget.small":`Small file (<4K)`,"recommend.contextBudget.medium":`Medium project (<32K)`,"recommend.contextBudget.large":`Large codebase (>32K)`,"changelog.added":`Added`,"changelog.fixed":`Fixed`,"changelog.changed":`Changed`,"changelog.updated":`Updated`,"help.item.navigation.rows.label":`↑ / ↓`,"help.item.navigation.rows.description":`Navigate rows in the main table (planned — currently mouse-only).`,"help.item.navigation.details.label":`Enter`,"help.item.navigation.details.description":`Open the detail panel for the focused row.`,"help.item.navigation.close.label":`Esc`,"help.item.navigation.close.description":`Close any open modal or detail panel.`,"help.item.filters.tier.label":`Tier chip`,"help.item.filters.tier.description":`Click to cycle through all tiers from S+ to C, then back to All.`,"help.item.filters.status.label":`Status chip`,"help.item.filters.status.description":`Click to cycle through All, Up, Down, and Pending.`,"help.item.filters.verdict.label":`Verdict chip`,"help.item.filters.verdict.description":`Click to cycle through Perfect, Normal, Spiky, Slow, Overloaded, Down, Unstable, and Pending.`,"help.item.filters.health.label":`Health chip`,"help.item.filters.health.description":`Click to cycle through Up, Timeout, Down, Pending, No key, and Auth err.`,"help.item.filters.visibility.label":`Visibility`,"help.item.filters.visibility.description":`Choose all models, configured models, or usable models (UP with a good verdict).`,"help.item.filters.provider.label":`Provider dropdown`,"help.item.filters.provider.description":`Filter the table by provider.`,"help.item.filters.text.label":`Custom text filter`,"help.item.filters.text.description":`Apply from the command palette or use “Apply text filter”; clear it with the X chip.`,"help.item.filters.reset.label":`Reset button`,"help.item.filters.reset.description":`Clear every active filter and restore the default sort.`,"help.item.sort.columns.label":`Click any column header`,"help.item.sort.columns.description":`Cycle through ascending, descending, and the default order.`,"help.item.sort.resize.label":`Resizable columns`,"help.item.sort.resize.description":`Drag a header edge to resize a column. Double-click to reset its width.`,"help.item.favorites.row.label":`Star button (per row)`,"help.item.favorites.row.description":`Click to add or remove a favorite (TUI: F).`,"help.item.favorites.detail.label":`Detail panel`,"help.item.favorites.detail.description":`Favorite a model or reorder it with Up/Down (TUI: Shift+↑/↓).`,"help.item.favorites.pinned.label":`Pinned mode`,"help.item.favorites.pinned.description":`Enable “Pinned + always visible” in Settings (TUI: Y).`,"help.item.favorites.shared.label":`Shared with TUI`,"help.item.favorites.shared.description":`Favorites use the same ~/.free-coding-models.json file as the TUI.`,"help.item.benchmark.global.label":`Header button`,"help.item.benchmark.global.description":`Run an AI Speed Test for every visible model.`,"help.item.benchmark.single.label":`AI Lat. cell`,"help.item.benchmark.single.description":`Click a cell to benchmark that model (TUI: Ctrl+A).`,"help.item.benchmark.detail.label":`Detail panel`,"help.item.benchmark.detail.description":`Use the AI Speed Test button for the selected model (TUI: Ctrl+A).`,"help.item.benchmark.tps.label":`TPS column`,"help.item.benchmark.tps.description":`Shows model tokens per second after a benchmark run.`,"help.item.benchmark.latency.label":`Latency column`,"help.item.benchmark.latency.description":`Shows completion latency, rather than ping time.`,"help.item.tools.shipped.label":`M3 shipped`,"help.item.tools.shipped.description":`Choose a target tool, install endpoints per model, or use the incompatible-target fallback dialog.`,"help.item.palette.shortcut.label":`⌘K / Ctrl+P`,"help.item.palette.shortcut.description":`Toggle the command palette from anywhere in the Web Dashboard.`,"help.item.palette.search.label":`Type to search`,"help.item.palette.search.description":`Search filters, sorts, tools, pages, and theme, ping, and reset actions.`,"help.item.palette.execute.label":`↑ / ↓ + Enter`,"help.item.palette.execute.description":`Move through results and run the highlighted command.`,"help.item.palette.close.label":`Esc`,"help.item.palette.close.description":`Close the palette without running a command.`,"help.item.theme.cycle.label":`Theme button (header)`,"help.item.theme.cycle.description":`Click to cycle through auto, dark, and light (TUI: G).`,"help.item.theme.auto.label":`Auto mode`,"help.item.theme.auto.description":`Follow the operating system color scheme and update automatically.`,"help.item.ping.cadence.label":`Speed / Normal / Slow / Forced`,"help.item.ping.cadence.description":`Set the ping interval to 2s, 10s, 30s, or 4s (TUI: W).`,"help.item.ping.countdown.label":`Next ping countdown`,"help.item.ping.countdown.description":`See the live countdown in the FilterBar.`,"help.item.url.filters.label":`?tier=S+&sort=verdict&origin=groq&view=dashboard`,"help.item.url.filters.description":`Filters, sorting, and the current view appear in the URL so you can share the same dashboard state.`,"help.item.cli.storage.label":`Same storage`,"help.item.cli.storage.description":`The Web Dashboard and TUI read and write the same ~/.free-coding-models.json file.`,"help.item.cli.engine.label":`Same engine`,"help.item.cli.engine.description":`Model parsing, pings, and benchmarks use shared code.`,"help.item.router.smart.label":`Smart router`,"help.item.router.smart.description":`Point an OpenAI-compatible client to http://localhost:19280/v1 with model “fcm”. The daemon selects a healthy model from the active set and retries through fallbacks.`,"help.item.router.prePrompt.label":`Pre-prompt`,"help.item.router.prePrompt.description":`A system message is sent with every proxied request. Edit the default FCM routing prompt in Settings.`,"help.item.router.probes.label":`Probes`,"help.item.router.probes.description":`The daemon sends a one-token chat completion to active models every 10s, 30s, or 120s, depending on probe mode. It checks latency and status code, which also catches invalid API keys.`,"help.item.router.breaker.label":`Circuit breaker`,"help.item.router.breaker.description":`Each model has its own state. Healthy models receive traffic; Down models are skipped until cooldown; Recovering models are retried; Auth error indicates 401/403; Deprecated models are replaced by auto-heal.`,"help.item.router.failover.label":`Failover order`,"help.item.router.failover.description":`Models are tried by priority. Recovering, Down, and Auth error models are skipped. If all models fail, the response is 503 and includes the models_tried list.`,"help.item.router.autoHeal.label":`Auto-heal`,"help.item.router.autoHeal.description":`On daemon start, Auth error and Deprecated models are replaced with working alternatives, starting with the same provider. Manual model changes turn auto-heal off.`,"help.item.router.rateLimits.label":`Rate limits`,"help.item.router.rateLimits.description":`Providers have separate quotas. Common free-tier limits include Groq 14 400 RPD, Mistral 1 RPS, NVIDIA about 40 RPM, and OpenRouter 50 RPD. A 429 triggers failover; exhausted daily quota is handled on the next start.`,"dashboard.favorited":`Favorited`,"dashboard.installEndpoint":`Install endpoint`,"dashboard.installEndpointInTool":`Install endpoint in {tool}`,"dashboard.installModelEndpoint":`Install {model} endpoint in {tool}`,"dashboard.selectModelFirst":`Select a model first`,"dashboard.installSelectedModelEndpoint":`Install selected model endpoint`,"dashboard.installTargetTitle":`Install endpoint into: {tool}`,"dashboard.cycleEndpointTarget":`Cycle endpoint target`,"dashboard.endpointInstallTarget":`Endpoint install target`,"filters.verdict.pending":`Pending`,"dashboard.favoriteModelTitle":`Favorite {model}`,"dashboard.unfavoriteModelTitle":`Unfavorite {model}`,"dashboard.notInSet":`NOT IN SET`,"health.http404":`404 NOT FOUND`,"health.http410":`410 GONE`,"health.http429":`429 TRY LATER`,"health.http500":`500 ERROR`,"health.http502":`502 ERROR`,"health.http503":`503 ERROR`,"health.http504":`504 TIMEOUT`,"health.httpError":`{code} ERROR`,"modelDetail.noApiKey":`No API key configured for {provider}. Open Settings (P) to add one.`,"modelDetail.modelInfo":`Model Info`,"modelDetail.miniPlayground":`Mini Playground — {model}`,"modelDetail.testModel":`Test {model}`,"modelDetail.playgroundPlaceholder":`Type a message…`,"modelDetail.playgroundEmptyHint":`Send a message to test this model. Responses stream in real time with latency + TPS.`,"modelDetail.testAiLatency":`Test AI Latency`,"modelDetail.runningBenchmark":`Running benchmark…`,"modelDetail.running":`Running…`,"modelDetail.tokens":`Tokens`,"modelDetail.generatedText":`Generated text will appear here…`,"palette.description.filter-tier-all":`Show all models`,"palette.description.filter-tier-splus":`Best coding models`,"palette.description.filter-tier-s":`Excellent models`,"palette.description.filter-tier-aplus":`Very good models`,"palette.description.filter-tier-a":`Good models`,"palette.description.filter-tier-aminus":`Solid models`,"palette.description.filter-tier-bplus":`Fair models`,"palette.description.filter-tier-b":`Basic models`,"palette.description.filter-tier-c":`Limited models`,"palette.description.filter-provider-cycle":`Switch between providers`,"palette.description.filter-provider-all":`Show all providers`,"palette.description.filter-configured-toggle":`Show only configured providers that are responding (not noauth/auth error)`,"palette.description.providerModels":`{provider} models`,"palette.description.sort-rank":`Rank by SWE score`,"palette.description.sort-tier":`Group by quality tier`,"palette.description.sort-provider":`Group by provider`,"palette.description.sort-model":`Alphabetical order`,"palette.description.sort-latest-ping":`Recent response time`,"palette.description.sort-avg-ping":`Average response time`,"palette.description.sort-swe":`Coding ability score`,"palette.description.sort-ctx":`Context window size`,"palette.description.sort-health":`Current model status`,"palette.description.sort-verdict":`Overall assessment`,"palette.description.sort-stability":`Reliability score`,"palette.description.sort-uptime":`Success rate`,"palette.description.action-cycle-tool-mode":`Rotate through every launcher mode.`,"palette.description.action-set-tool-opencode":`Launch in OpenCode CLI with the selected model.`,"palette.description.action-set-tool-pi":`Launch Pi with model/provider flags.`,"palette.description.action-set-tool-jcode":`Launch jcode coding agent with the selected model.`,"palette.description.action-set-tool-opencode-desktop":`Set model in shared config, then open OpenCode Desktop.`,"palette.description.action-set-tool-opencode-web":`Set model in shared config, then open OpenCode WebUI.`,"palette.description.action-set-tool-openclaw":`Set default model in OpenClaw and launch it.`,"palette.description.action-set-tool-crush":`Launch Crush with this provider/model pair.`,"palette.description.action-set-tool-goose":`Launch Goose and preselect the active model.`,"palette.description.action-set-tool-aider":`Launch Aider configured on the selected model.`,"palette.description.action-set-tool-kilo":`Set model in shared config, then launch Kilo CLI.`,"palette.description.action-set-tool-qwen":`Launch Qwen Code using the selected provider model.`,"palette.description.action-set-tool-openhands":`Launch OpenHands with the selected model endpoint.`,"palette.description.action-set-tool-amp":`Launch Amp with this model as active target.`,"palette.description.action-set-tool-hermes":`Launch Hermes Agent with the selected model.`,"palette.description.action-set-tool-continue":`Launch Continue CLI with the selected model.`,"palette.description.action-set-tool-cline":`Launch Cline CLI with the selected model.`,"palette.description.action-set-tool-xcode":`Set this as the active launch target.`,"palette.description.action-set-tool-fcm_router":`Set this as the active launch target.`,"palette.description.action-set-tool-caveman":`Caveman Code - token-efficient coding agent (launch with Caveman tool only).`,"palette.description.action-set-tool-copilot":`Set this as the active launch target.`,"palette.description.action-set-tool-forgecode":`Set this as the active launch target.`,"palette.description.action-set-tool-zcode":`Set this as the active launch target.`,"palette.description.action-cycle-ping-mode":`Rotate speed → normal → slow → forced.`,"palette.description.action-set-ping-speed":`Fast 2s bursts for short live checks.`,"palette.description.action-set-ping-normal":`Balanced default cadence for daily use.`,"palette.description.action-set-ping-slow":`Lower refresh cost when you are mostly idle.`,"palette.description.action-set-ping-forced":`Keeps 4s cadence until manually changed.`,"palette.description.action-toggle-favorite-mode":`Switch pinned+sticky ↔ normal list behavior.`,"palette.description.action-favorites-mode-pinned":`Favorites stay on top and bypass current filters.`,"palette.description.action-favorites-mode-normal":`Favorites keep ⭐ but follow active filters and sort.`,"palette.description.action-toggle-favorite":`Star/unstar the highlighted model.`,"palette.description.action-cycle-theme":`Switch dark/light/auto`,"palette.description.action-reset-view":`Reset filters and sort`,"palette.description.action-probe-failed":`Re-test only rows showing errors (auth fail / 429 / 404 / timeout) - not the whole list.`,"palette.description.action-probe-404":`Test all configured models for 404/410 errors. Auto-hides broken models.`,"palette.description.action-toggle-auto-hide-broken":`Enable/disable auto-hiding of 404/410 models. Unhides all when disabled.`,"palette.description.open-settings":`API keys and preferences`,"palette.description.open-help":`Show all shortcuts`,"palette.description.open-changelog":`Version history`,"palette.description.open-recommend":`Find best model for task`,"palette.description.open-playground":`Chat with the FCM router`,"palette.description.open-install-endpoints":`Install provider catalogs`,"palette.description.open-installed-models":`View models configured in tools`}),ei=Object.freeze({"common.back":`返回`,"common.cancel":`取消`,"common.close":`关闭`,"common.save":`保存`,"common.update":`更新`,"common.retry":`重试`,"common.refresh":`刷新`,"common.search":`搜索`,"common.enabled":`已启用`,"common.disabled":`已停用`,"common.loading":`正在加载…`,"common.unknown":`未知`,"common.language.english":`English`,"common.language.simplifiedChinese":`简体中文`,"nav.dashboard":`仪表盘`,"nav.settings":`设置`,"nav.analytics":`分析`,"nav.recommend":`推荐`,"nav.router":`路由器`,"nav.routerV2":`路由器 v2`,"nav.playground":`Playground`,"nav.help":`帮助`,"nav.installEndpoints":`安装端点`,"nav.installedModels":`已安装模型`,"nav.changelog":`更新日志`,"nav.moreFeatures":`更多功能`,"nav.navigationMenu":`导航菜单`,"nav.commandPalette":`命令面板`,"nav.exportData":`导出数据`,"nav.primary":`主导航`,"settings.title":`设置`,"settings.subtitle":`管理 API Key、语言、主题、收藏和更新。设置保存在本地,并与 TUI 共用。`,"settings.global":`全局设置`,"settings.language":`语言`,"settings.language.description":`选择 TUI 和 Web 仪表盘使用的语言。`,"settings.globalTheme":`全局主题`,"settings.installUpdate":`安装更新(v{version})`,"settings.checkUpdatesManually":`手动检查更新`,"settings.pressToCheckUpdates":`按 Enter 或 U 检查 npm 更新`,"settings.updateCheckFailed":`检查失败(按 U 重试)`,"settings.installingUpdate":`正在安装更新…`,"settings.favoritesMode":`收藏显示方式`,"settings.favoritesNormal":`普通行(遵循筛选和排序)`,"settings.startupSpeedTestEnabled":`✅ 已启用 — 启动后运行 Ctrl+U`,"settings.startupSpeedTestDisabled":`❌ 已停用 — 仅手动运行 Ctrl+U`,"settings.autoHideBrokenModels":`自动隐藏失效模型`,"settings.pressEnterCleanup":`按 Enter 清理旧代理残留`,"settings.viewChangelog":`查看更新日志`,"settings.pressEnterChangelog":`按 Enter 浏览版本历史`,"settings.shellEnvEnabled":`✅ 已启用 — Key 可在 shell 中使用`,"settings.shellEnvNotConfigured":`🔘 尚未配置 — 按 Enter 设置`,"settings.typeApiKey":`输入 API Key`,"settings.navigate":`导航`,"settings.editRunCycle":`编辑/运行/切换`,"settings.addKey":`添加 Key`,"settings.updates":`更新`,"settings.favorites":`收藏`,"settings.toggleCycle":`切换/循环`,"settings.theme.description":`自动模式跟随操作系统设置。`,"settings.theme.auto":`自动(跟随系统)`,"settings.theme.dark":`深色`,"settings.theme.light":`浅色`,"settings.favoritesPinned":`收藏置顶并始终显示`,"settings.favoritesPinned.description":`收藏项置顶,并忽略筛选条件(TUI:Y 键)。`,"settings.startupSpeedTest":`启动时运行 AI 速度测试`,"settings.startupSpeedTest.description":`启动后自动运行全局基准测试。`,"settings.shellEnv":`将 API Key 导出到 shell 配置`,"settings.shellEnv.description":`将已配置服务商的 Key 写入 shell 配置文件。`,"settings.checkUpdates":`检查更新`,"settings.checkUpdates.description":`检查 npm 上是否有新版本。`,"settings.checkNow":`立即检查`,"settings.cleanupLegacy":`清理旧代理残留`,"settings.cleanupLegacy.description":`删除旧版多工具代理留下的配置、环境变量和服务。`,"settings.runCleanup":`开始清理`,"settings.providers":`服务商`,"settings.searchProviders":`搜索服务商…`,"settings.loading":`正在加载设置…`,"settings.keysAndProviderSettings":`API Key 和服务商设置`,"settings.noProviders":`没有匹配的服务商。`,"settings.apiKey":`API Key`,"settings.saveKey":`保存 Key`,"settings.testKey":`测试 Key`,"settings.keySaved":`API Key 已保存。`,"settings.keySaveFailed":`无法保存 API Key。`,"settings.keyRemoved":`API Key 已移除。`,"settings.keyRemoveFailed":`无法移除 API Key。`,"settings.keyTestPassed":`API Key 测试通过。`,"settings.keyTestFailed":`API Key 测试失败。`,"settings.updateAvailable":`有可用更新:v{version}`,"settings.upToDate":`已是最新版本`,"settings.legacyNone":`未发现旧版代理配置。`,"settings.languageSaveFailed":`无法保存语言设置。`,"dashboard.searchPlaceholder":`搜索模型或服务商…`,"dashboard.workingOnly":`仅显示可用`,"dashboard.allModels":`全部模型`,"dashboard.filters":`筛选`,"dashboard.resetView":`重置视图`,"dashboard.provider":`服务商`,"dashboard.allProviders":`全部服务商`,"dashboard.model":`模型`,"dashboard.models":`{count} 个模型`,"dashboard.favorites":`收藏`,"dashboard.favorite":`收藏`,"dashboard.recommended":`推荐`,"dashboard.rank":`排名`,"dashboard.tier":`等级`,"dashboard.latency":`延迟`,"dashboard.stability":`稳定性`,"dashboard.uptime":`可用率`,"dashboard.health":`健康状态`,"dashboard.verdict":`评价`,"dashboard.status":`状态`,"dashboard.search":`搜索`,"dashboard.noModels":`没有符合当前筛选条件的模型。`,"dashboard.noApiKey":`此服务商尚未配置 API Key`,"dashboard.notConfigured":`未配置`,"dashboard.working":`可用`,"dashboard.down":`不可用`,"dashboard.pending":`等待中`,"dashboard.export":`导出`,"dashboard.exportData":`导出模型数据`,"dashboard.aiLatency":`AI 延迟`,"dashboard.aiSpeedTest":`AI 速度测试`,"dashboard.aiSpeedTestRunning":`AI 速度测试进行中 — {completed}/{total}`,"dashboard.runBenchmark":`对当前显示的 {count} 个模型运行延迟测试`,"dashboard.resetToast":`视图已重置为默认设置。`,"filters.tier":`等级`,"filters.status":`状态`,"filters.verdict":`评价`,"filters.health":`健康状态`,"filters.origin":`服务商`,"filters.search":`搜索`,"filters.customPlaceholder":`按文本筛选…`,"filters.pingMode":`探测频率`,"filters.pingEco":`省配额`,"filters.pingBalanced":`均衡`,"filters.pingAggressive":`积极`,"filters.all":`全部`,"help.title":`帮助`,"help.shortcuts":`键盘快捷键`,"help.loading":`正在加载帮助…`,"help.close":`关闭帮助`,"help.openSettings":`打开设置`,"help.openHelp":`打开帮助`,"help.openPalette":`打开命令面板`,"help.selectModel":`选择模型`,"help.toggleFavorite":`切换收藏状态`,"recommend.title":`智能推荐`,"recommend.questionTask":`你要完成什么任务?`,"recommend.questionSpeed":`你需要多快的响应?`,"recommend.next":`下一步`,"recommend.previous":`上一步`,"recommend.showResults":`查看推荐结果`,"recommend.topPicks":`优先推荐`,"recommend.noResults":`没有符合条件的可用模型。`,"recommend.install":`安装端点`,"install.title":`安装端点`,"install.subtitle":`将所选模型端点写入支持的工具配置。`,"install.scope.all":`全部模型`,"install.scope.selected":`所选模型`,"install.models":`模型`,"install.install":`安装端点`,"install.noModels":`没有可安装的兼容模型。`,"install.success":`端点已安装。`,"install.failure":`端点安装失败。`,"install.keyRequired":`请先在设置中添加 API Key。`,"installed.title":`已安装模型`,"installed.empty":`未找到已安装的模型。`,"installed.refresh":`刷新已安装模型`,"analytics.title":`分析`,"analytics.today":`今天`,"analytics.allTime":`全部时间`,"analytics.byModel":`按模型`,"analytics.noUsage":`暂无用量数据。`,"update.upToDate":`已是最新版本`,"update.updateNow":`立即更新`,"update.failed":`检查更新失败。`,"palette.title":`命令面板`,"palette.footerTitle":`命令面板`,"palette.searchPlaceholder":`搜索命令…`,"palette.noResults":`没有找到命令。`,"router.title":`智能路由`,"router.status.running":`运行中`,"router.status.stopped":`已停止`,"router.start":`启动守护进程`,"router.stop":`停止守护进程`,"router.restart":`重启守护进程`,"router.refresh":`刷新`,"router.fallbackChain":`故障转移链`,"router.requests":`已路由请求`,"router.uptime":`运行时间`,"router.noRequests":`尚无已路由的请求。`,"router.model":`模型`,"router.state":`状态`,"router.lastLatency":`最近延迟`,"router.save":`保存`,"router.saved":`已保存`,"router.saving":`正在保存…`,"router.saveFailed":`保存失败`,"router.v2.title":`智能路由器 v2`,"router.v2.beta":`测试版`,"router.v2.validation":`验证`,"router.v2.chainHealth":`链路健康度`,"router.v2.testViaRouter":`通过路由器测试`,"playground.title":`Playground`,"playground.model":`模型`,"playground.persona":`角色设定`,"playground.clear":`清空对话`,"playground.close":`关闭`,"playground.toggleStreaming":`切换流式输出`,"playground.promptPlaceholder":`输入问题,按 Enter 发送,按 Shift+Enter 换行。`,"playground.daemonStopped":`路由器守护进程未运行`,"playground.startDaemon":`启动路由器守护进程`,"playground.startingDaemon":`正在启动路由器守护进程…`,"toast.dismiss":`关闭通知`,"cli.usage":`用法`,"cli.toolFlags":`工具参数`,"cli.analysisFlags":`分析参数`,"cli.configMaintenance":`配置与维护`,"cli.examples":`示例`,"cli.defaultLauncher":`未指定工具参数时的默认启动器:OpenCode CLI`,"cli.combineFlags":`参数可以组合使用:--openclaw --tier S --json`,"cli.helpTitle":`CLI 帮助`,"cli.routerHowItWorks":`FCM 路由器的工作方式`,"cli.routerDaemon":`智能路由器守护进程`,"cli.prePrompt":`预设提示词(系统消息)`,"cli.probeMechanism":`探测机制(每 10/30/120 秒)`,"cli.circuitBreaker":`熔断器(按模型记录状态)`,"cli.failoverOrder":`故障转移顺序`,"cli.autoHeal":`自动修复(默认行为)`,"cli.rateLimits":`速率限制(RPD / RPM / TPM)`,"nav.themeTitle":`主题:{theme}(点击切换自动/深色/浅色)`,"nav.themeLabel":`主题:{theme}。点击切换。`,"filters.provider":`服务商`,"filters.visibility":`显示范围`,"filters.visibility.allHint":`显示所有模型`,"filters.visibility.configured":`仅显示已配置`,"filters.visibility.configuredHint":`隐藏未配置 Key 或认证失败的模型`,"filters.visibility.usable":`仅显示可用`,"filters.visibility.usableHint":`仅显示健康状态正常且评价良好的模型`,"filters.verdict.perfect":`极佳`,"filters.verdict.normal":`正常`,"filters.verdict.spiky":`波动较大`,"filters.verdict.slow":`较慢`,"filters.verdict.overloaded":`过载`,"filters.verdict.unstable":`不稳定`,"filters.health.timeout":`超时`,"filters.health.noKey":`无 Key`,"filters.health.authError":`认证失败`,"filters.ping":`探测`,"filters.pingSpeed":`⚡ 快速`,"filters.pingNormal":`● 普通`,"filters.pingSlow":`🐢 慢速`,"filters.pingForced":`🔥 强制`,"filters.endpointTarget":`端点目标`,"filters.endpointTargetHint":`当前要安装到的工具,可在顶部工具选择器中更改`,"filters.text":`文本`,"filters.clearTextHint":`点击 X 清除(TUI:X 键)`,"filters.clearText":`清除自定义文本筛选(TUI:X)`,"filters.resetTitle":`重置 {count} 项筛选(TUI:N)`,"filters.nextPing":`下次探测`,"dashboard.swe":`SWE%`,"dashboard.context":`上下文`,"dashboard.lastPing":`最近探测`,"dashboard.average":`平均值`,"dashboard.tps":`TPS`,"dashboard.quota":`配额`,"dashboard.trend":`趋势`,"dashboard.noApiKeyState":`尚未配置 API Key,健康状态会显示为“无 Key”`,"dashboard.benchmarking":`基准测试中…`,"dashboard.clickToBenchmark":`点击运行 AI 速度测试(TUI:Ctrl+A)`,"dashboard.customColumnWidths":`自定义列宽`,"dashboard.totalWidth":`总宽度`,"dashboard.restoreColumnWidths":`恢复默认列宽`,"dashboard.resetColumns":`重置列宽`,"dashboard.sortColumn":`排序:{column}(升序 → 降序 → 重置)`,"dashboard.resizeColumn":`拖动调整 {column} 列宽(双击恢复默认)`,"dashboard.resizeColumnAria":`调整 {column} 列宽`,"dashboard.providerModelsTitle":`{provider} — {count} 个模型`,"provider.health.active":`API Key 可用 — 至少一个模型运行正常`,"provider.health.pending":`已设置 API Key — 等待健康状态数据`,"provider.health.down":`已设置 API Key — 模型不可用或认证失败`,"settings.loadFailed":`加载设置失败`,"settings.enterApiKey":`请输入 API Key`,"settings.keySavedForProvider":`{provider} 的 API Key 已保存!`,"settings.networkSaveFailed":`保存时发生网络错误`,"settings.confirmDeleteKey":`确定要删除“{provider}”的 API Key 吗?`,"settings.keyRemovedForProvider":`{provider} 的 API Key 已删除`,"settings.networkDeleteFailed":`删除时发生网络错误`,"settings.providerEnabled":`{provider} 已启用`,"settings.providerDisabled":`{provider} 已停用`,"settings.toggleFailed":`切换设置失败`,"settings.networkError":`网络错误`,"settings.keyTestResult":`{provider} 测试结果:{result}{code}`,"settings.keyTestError":`{provider} 测试失败:{error}`,"settings.settingUpdated":`设置已更新`,"settings.featureUpdateFailed":`更新设置失败`,"settings.shellExportEnabled":`已启用 shell 环境导出 — 重启 shell 后生效。`,"settings.shellExportDisabled":`已停用 shell 环境导出。`,"settings.shellToggleFailed":`切换 shell 环境导出失败`,"settings.confirmLegacyCleanup":`要清理旧版代理配置残留吗?此操作安全。`,"settings.legacyCleanupComplete":`已清理 {count} 个旧文件,发生 {errors} 个错误。`,"settings.legacyCleanupToast":`旧版代理清理完成:已清理 {count} 个文件。`,"settings.legacyCleanupFailed":`清理旧配置失败:{error}`,"settings.expandAll":`全部展开`,"settings.collapseAll":`全部收起`,"settings.test.ok":`正常`,"settings.test.authError":`认证失败`,"settings.test.rateLimited":`触发速率限制`,"settings.test.noCallableModel":`没有可调用的模型`,"settings.test.failed":`失败`,"settings.test.missingKey":`缺少 Key`,"settings.noApiKeySet":`(未设置 Key)`,"settings.noLimitInfo":`暂无限额信息`,"settings.keyDetected":`已检测到 API Key ✅`,"settings.keyMissing":`缺少 API Key ⚠`,"settings.setupInstructions":`设置说明`,"settings.createProviderAccount":`创建服务商账号`,"settings.generateApiKeyHint":`生成 API Key,然后在此行按 Enter 粘贴`,"settings.pressToTestKey":`按 {key} 测试 Key。状态:`,"settings.testDiagnostics":`测试诊断`,"settings.badge.test":`[测试]`,"settings.badge.testing":`[测试中…]`,"settings.badge.testOk":`[测试通过 ✅]`,"settings.badge.missingKey":`[缺少 Key 🔑]`,"settings.badge.authError":`[认证失败 ❌]`,"settings.badge.rateLimited":`[触发速率限制 ⏳]`,"settings.badge.noCallableModel":`[无可调用模型 ⚠]`,"settings.badge.failed":`[测试失败 ❌]`,"settings.lastTest":`上次测试`,"settings.currentApiKey":`当前 API Key`,"settings.hideKey":`隐藏`,"settings.revealKey":`显示`,"settings.testKeyHint":`向服务商测试此 Key(TUI:设置中按 T)`,"settings.testKeyForProvider":`测试 {provider} 的 Key`,"settings.testing":`测试中…`,"settings.deleteKey":`删除 Key`,"settings.updateApiKey":`更新 API Key`,"settings.addApiKey":`添加 API Key`,"settings.apiKeyPlaceholder":`输入 API Key…`,"settings.apiKeyForProvider":`{provider} 的 API Key`,"settings.providerEnabledLabel":`启用服务商`,"settings.providersCount":`{count} 个模型`,"common.wait":`等待`,"dashboard.averageLatency":`平均延迟`,"dashboard.avgPingShort":`平均延迟`,"dashboard.terminalMaximize":`请最大化终端以获得更好的使用体验。`,"dashboard.terminalTooSmall":`当前终端尺寸过小。`,"dashboard.terminalReduceFont":`请缩小字体或增大终端宽度。`,"dashboard.warningWillHide":`此提示将在 {seconds} 秒后隐藏`,"dashboard.pressEscToDismiss":`按 Esc 关闭`,"dashboard.configureApiKeyHint":`按 P 配置 API Key。`,"dashboard.noConfiguredVisibleModels":`已配置的服务商当前没有可显示的模型。`,"dashboard.noKeyShort":`无 Key`,"dashboard.authFailShort":`认证失败`,"dashboard.upShort":`可用`,"filters.verdict.verySlow":`很慢`,"filters.verdict.notActive":`未启用`,"filters.verdict.unusable":`不可用`,"filters.pingSpeedShort":`快速`,"filters.pingNormalShort":`普通`,"filters.pingSlowShort":`慢速`,"filters.pingForcedShort":`强制`,"filters.pingInterval":`探测间隔`,"filters.nextPingShort":`下次`,"filters.tool":`工具`,"help.searchPlaceholder":`搜索帮助、筛选项和快捷键…`,"help.note":`Web 仪表盘以鼠标操作为主。全局快捷键用于打开命令面板,其他操作可在顶部菜单和对话框中找到。`,"help.noMatches":`没有找到与“{query}”匹配的帮助内容。`,"help.filters":`筛选`,"help.sort":`排序`,"help.favorites":`收藏`,"help.speedTest":`AI 速度测试`,"help.toolMode":`工具模式`,"help.palette":`命令面板`,"help.theme":`主题`,"help.pingMode":`探测模式`,"help.deepLinks":`URL 深层链接`,"help.cliParity":`CLI 一致性`,"help.routerHow":`FCM 路由器的工作方式`,"recommend.questionContext":`需要多大的上下文?`,"recommend.findBest":`为当前任务寻找合适的模型`,"recommend.questionProgress":`问题 {step} / {total}`,"recommend.analyzing":`正在分析实时模型目录…`,"recommend.analysisHint":`约 10 秒 · 每秒检查约 2 个模型 · 与 TUI 使用相同评分。`,"recommend.topThree":`推荐模型 Top 3`,"recommend.restart":`重新开始`,"install.step.provider":`服务商`,"install.step.tool":`工具`,"install.step.models":`模型`,"install.step.install":`安装`,"install.chooseProviderHint":`选择一个已配置 API Key 的服务商。`,"install.loadingProviders":`正在加载服务商…`,"install.noProvidersConfigured":`未找到已配置的服务商。请先在设置中添加 API Key。`,"install.modelsCount":`{count} 个模型`,"install.chooseToolHint":`要将 {provider} 的模型安装到哪个工具?`,"install.chooseModelsHint":`选择要从 {provider} 安装到 {tool} 的模型。`,"install.selectModels":`选择模型`,"install.allModelsNotice":`将安装 {provider} 的全部 {count} 个模型。`,"install.installingCount":`正在安装 {count}…`,"install.writingConfig":`正在写入 {tool} 配置`,"install.installed":`安装完成!`,"install.installFailed":`安装失败`,"install.retryHint":`查看通知了解详情。返回后可以重试。`,"install.done":`完成`,"install.next":`下一步`,"installed.scanning":`正在扫描工具配置…`,"installed.noModels":`工具配置中没有找到模型。`,"installed.configureHint":`使用“安装端点”为工具配置模型。`,"installed.notInstalled":`未安装`,"installed.removeTitle":`从配置中移除模型(已保存备份)`,"installed.disabled":`已从 {tool} 停用 {model}。`,"installed.failed":`失败:{error}`,"analytics.subtitle":`实时查看服务商和模型情况`,"analytics.providerHealth":`服务商健康状态概览`,"analytics.fastestModels":`最快模型`,"analytics.tierDistribution":`等级分布`,"analytics.waiting":`等待数据…`,"analytics.waitingPings":`等待探测数据…`,"analytics.loading":`加载中…`,"analytics.noTokenData":`暂无 Token 数据。启动路由器并发送请求即可开始记录。`,"analytics.requests":`{count} 个请求`,"analytics.sevenDayUsage":`近 7 天用量`,"analytics.topModels":`热门模型`,"analytics.topProviders":`热门服务商`,"analytics.tokens":`{count} 个 Token`,"analytics.requestsShort":`{count} 次请求`,"changelog.backToIndex":`返回版本列表(TUI:B)`,"changelog.index":`版本列表`,"changelog.loading":`正在加载更新记录…`,"changelog.failed":`加载更新记录失败:{error}`,"changelog.versionHint":`共 {count} 个版本。选择一个版本查看更新说明。`,"changelog.noReleaseNotes":`v{version} 没有发布说明。`,"changelog.noNotes":`v{version} 没有更新说明。`,"playground.findBest":`为当前任务寻找合适的模型`,"playground.routerOnline":`路由器在线`,"playground.routerOffline":`路由器离线`,"playground.checkingRouter":`正在检查路由器…`,"playground.autoRouterRecommended":`fcm — 智能路由(推荐)`,"playground.messagesTokens":`{messages} 条消息 · {tokens} 个 Token`,"playground.prePromptEnabled":`已启用预设提示词`,"playground.prePromptDisabled":`已停用预设提示词`,"playground.streamOn":`流式输出:开`,"playground.streamOff":`流式输出:关`,"playground.startingRouter":`正在启动路由器…`,"playground.autoStartIn":`将在 {seconds} 秒后自动启动路由器…`,"playground.startRouter":`启动路由器`,"playground.chatViaRouter":`通过 FCM 路由器对话`,"playground.routerHint":`路由器会选择健康状态最佳的模型,并在需要时自动切换。`,"playground.askModel":`向 {model} 提问`,"playground.copyReply":`复制回复`,"playground.addressedModel":`目标模型`,"playground.servedModel":`本次回复使用的模型`,"playground.responseTime":`响应时间(发送至完成)`,"playground.completionTokens":`生成的 Token 数`,"playground.tokensPerSecond":`每秒 Token 数`,"playground.stopped":`已停止`,"playground.fullPlaceholder":`输入问题,按 Enter 发送,按 Shift+Enter 换行。`,"playground.miniPlaceholder":`发送消息…`,"playground.stopGenerating":`停止生成`,"playground.stop":`停止`,"playground.send":`发送`,"router.circuit.healthy":`健康`,"router.circuit.down":`不可用`,"router.circuit.recovering":`恢复中`,"router.circuit.authError":`认证失败`,"router.circuit.deprecated":`已弃用`,"router.circuit.unsupported":`不支持`,"router.circuit.unknown":`未知`,"router.daemonStarted":`路由器守护进程已启动。`,"router.daemonStopped":`路由器守护进程已停止。`,"router.startFailed":`启动失败:{error}`,"router.stopFailed":`停止失败:{error}`,"router.cannotReachDaemon":`无法连接守护进程,可能尚未安装或端口被阻止。`,"router.probingModels":`正在使用你的 Key 探测模型…`,"router.syncedModels":`已同步 {set}:通过 {probes} 次探测找到 {working} 个可用模型。`,"router.syncFailed":`同步失败:{error}`,"router.noFavorites":`你还没有收藏模型,请先收藏一些模型。`,"router.activeSet":`当前模型组:{name}`,"router.probeModeSet":`探测模式已设为 {mode}。`,"router.v2.stopped":`Router v2 已停止`,"router.v2.started":`Router v2 已启动`,"router.v2.startFailed":`启动失败`,"router.v2.stopFailed":`停止失败`,"router.v2.notReachable":`无法连接 Router v2 守护进程({error})。`,"router.v2.notRunning":`Router v2 守护进程未运行。`,"router.v2.checking":`正在检查 Router v2 守护进程…`,"router.v2.betaDescription":`测试版:Router v2 使用独立端口({port})与稳定版并行运行,并共享模型组、模型和 API Key。故障转移会验证响应内容。Anthropic 风格的 Agent 可通过同一端口调用 POST /v1/messages。`,"router.v2.requestsRouted":`已路由请求`,"router.v2.failoverNeeded":`{percent}% 的请求触发了故障转移`,"router.v2.up":`{count} 个可用`,"router.v2.degraded":`{count} 个降级`,"router.v2.open":`{count} 个熔断`,"router.v2.strict":`严格`,"router.v2.lastResort":`最后备用:{model}`,"router.v2.fallbackChain":`故障转移链`,"router.v2.exactOrder":`下一次请求将按此顺序尝试`,"router.v2.lastLatency":`最近延迟`,"router.v2.emptyCandidates":`没有可用候选项(可能缺少 Key 或所有模型均不可用)。`,"router.v2.testTitle":`通过路由链发送一次真实的指定请求`,"router.v2.testing":`测试中…`,"router.v2.failed":`失败`,"router.v2.test":`测试`,"router.v2.testTopThree":`通过路由器测试前 3 个模型`,"router.v2.requestChains":`请求链路`,"router.v2.attemptsHint":`每次尝试、跳过原因和最终响应的模型`,"router.v2.outcome.served":`已响应`,"router.v2.outcome.aborted":`已中止`,"router.v2.outcome.failed":`失败`,"common.select":`选择`,"common.expand":`展开`,"common.reset":`重置`,"filters.visibility.all":`全部模型`,"dashboard.globalBenchmark":`全局 AI 速度测试(会消耗较多请求)`,"recommend.task":`任务`,"recommend.priority":`优先级`,"recommend.context":`上下文`,"recommend.pinging":`正在以每秒 2 次的频率探测模型,获取最新延迟…`,"help.columns":`数据列说明`,"help.mainTui":`TUI 主界面`,"help.controls":`操作`,"cli.mode":`模式`,"cli.flags":`CLI 参数`,"router.activeSetLabel":`当前模型组`,"router.familyFailover":`同系列故障转移`,"router.syncBest":`同步可用模型`,"router.useFavorites":`使用收藏`,"router.probeAll":`探测全部`,"router.noActiveSetModels":`当前模型组没有模型`,"router.addSetModelsHint":`从下方选择器添加模型,或点击上方按钮同步可用模型。`,"router.primary":`首选`,"router.triesFirst":`优先尝试`,"router.fallback":`备用`,"router.onFailure":`失败或触发速率限制时使用`,"router.nextUp":`下一个`,"router.addModelTo":`添加模型到`,"router.searchModels":`按服务商、模型或名称搜索…`,"router.noModelsMatch":`没有符合筛选条件的模型。`,"router.alreadyInSet":`已在模型组中`,"router.moveUp":`上移`,"router.moveDown":`下移`,"router.removeFromSet":`从模型组移除`,"router.noActiveRequests":`当前没有活动请求。`,"router.noRequestsYet":`暂无请求。开始编写代码后,这里会显示流量。`,"router.stalled":`卡住了吗?`,"router.processing":`处理中…`,"router.savingStatus":`正在保存…`,"router.savedStatus":`✓ 已保存`,"router.routesVia":`经由`,"router.fallbackHint":`查看故障转移链`,"router.miniPlaceholder":`测试路由器…(例如:写一首关于 TypeScript 的俳句)`,"router.testKeyHint":`重新探测 API Key,仅保留实际可用的模型`,"router.useFavoritesHint":`用你收藏的模型替换当前路由模型`,"router.benchmarkSetHint":`测试此模型组中每个模型的 AI 延迟和 TPS`,"router.syncBestHint":`使用当前 API Key 重新探测,并仅保留可用模型`,"router.switchSetHint":`切换当前模型组`,"router.liveHeaders":`来自响应头的实时数据(不会额外发送请求)`,"router.pasteIntoToolConfig":`复制到你的编程工具配置中`,"router.routerModels":`路由模型`,"router.favoritesFallbackOrder":`按收藏顺序依次尝试`,"router.noFavoritesTui":`还没有收藏。按 Esc 返回,然后按 F 收藏模型。`,"router.installEndpointCli":`将路由端点安装到 CLI 工具`,"router.lifetime":`累计`,"router.activeRequests":`活动请求`,"router.recentRequests":`最近请求`,"router.time":`时间`,"router.detail":`详情`,"router.reorder":`调整顺序`,"router.healthCheck":`健康检查`,"router.clearLog":`清除日志`,"router.models":`模型`,"router.clearHistory":`清除历史记录`,"router.circuit.degraded":`降级`,"router.circuit.probing":`探测中`,"router.circuit.quotaPaused":`配额暂停`,"router.v2.pointToolAtV2":`将编程工具指向 v2`,"router.v2.orPinOne":`或指定模型:`,"router.v2.failoverRate":`故障转移率`,"router.v2.startToSeeChain":`启动守护进程以查看实时路由链。`,"router.v2.noHistory":`暂无历史记录(守护进程已停止)。`,"router.v2.probes":`探测模式`,"router.v2.lastError":`最近错误`,"dashboard.uptimeShort":`可用率`,"update.retryHint":`按 Shift+U 重试更新`,"update.clickToInstall":`点击此处或按 Shift+U 更新`,"filters.disableFilter":`关闭筛选`,"playground.prePromptHint":`作为第一条系统消息注入路由器角色设定`,"playground.runCommand":`也可以在终端中运行:`,"playground.waitingForDaemon":`守护进程正在启动,准备好后即可开始对话。`,"playground.emptyTitle":`10 秒体验 FCM 路由器`,"playground.emptyHint":`请求会路由到当前模型组中健康状态最佳的模型,也可以直接发送到你选定的模型。每条回复下方都会显示所用模型、延迟和 TPS。`,"router.v2.startStableHint":`也可以点击上方按钮启动。稳定版 Router v1 会继续运行在 19280 端口。`,"router.v2.outcome":`结果`,"router.v2.wallTime":`总耗时`,"router.v2.lastResortTag":`最后备用`,"router.v2.attempts":`尝试记录`,"router.v2.skipped":`已跳过`,"router.v2.openAiTools":`OpenAI 兼容工具`,"router.v2.anthropicTools":`Anthropic 协议 Agent`,"router.v2.pinOneHint":`指定单个模型用于测试或专属流量:`,"common.none":`无`,"router.brokenModels":`当前模型组中有 {count} 个模型没有响应`,"router.autoHealWarning":`启动时已执行自动修复,但替换模型可能仍不可用。`,"router.fixNow":`立即修复`,"router.copied":`已复制!`,"router.copyAll":`复制全部`,"router.baseUrl":`基础 URL`,"router.requestsCount":`{count} 个请求`,"router.stoppedHint":`智能故障转移路由器。启动后会将请求发送到健康状态最佳的模型。`,"router.starting":`正在启动…`,"router.stopping":`正在停止…`,"router.activeSetModels":`当前模型组({count} 个模型)`,"router.familyFailoverHint":`模型失败时,先尝试其他服务商上的同系列模型,再切换到下一个模型。`,"router.probing":`探测中…`,"router.addModel":`添加模型`,"router.primaryTitle":`首选模型,每个请求都会优先尝试`,"router.fallbackTitle":`备用模型 #{index},高优先级模型失败或触发速率限制时使用`,"router.probeMode":`探测模式`,"router.requestLog":`请求日志`,"router.testRouter":`测试路由器`,"router.testEmptyHint":`发送一条消息,查看路由器选择的模型、延迟和 TPS。`,"router.runtimeTelemetry":`运行时数据`,"router.callsTrackedLocal":`已记录 {count} 次调用 · 仅本地保存`,"router.providerQuota":`服务商配额`,"playground.routerStartError":"路由器未运行。按 R 启动,或运行 `free-coding-models --daemon-bg`。","playground.sending":`正在发送…`,"playground.tuiHotkeys":`Enter 发送 · Shift+Tab 切换模型 · Ctrl+S 切换流式输出 · Esc 关闭 · Ctrl+L 清空`,"playground.you":`你`,"playground.routed":`路由至`,"playground.tokensShort":`Token`,"playground.fallbackShort":`次故障转移`,"playground.waitingResponse":`等待响应中,按 Esc 停止`,"playground.draftPlaceholder":`输入消息并按 Enter…`,"playground.enterToSend":`按 Enter 发送`,"playground.pinModel":`可指定模型`,"common.error":`错误`,"cli.flag.best":`仅显示最高等级模型(A+、S、S+)`,"cli.flag.fiable":`运行 10 秒可靠性分析模式`,"cli.flag.json":`以 JSON 格式输出,便于脚本和自动化处理`,"cli.flag.tier":`按等级系列筛选模型`,"cli.flag.recommend":`启动时打开智能推荐`,"cli.flag.premium":`启动时启用 S 级筛选和评价排序`,"cli.flag.sort":`按指定列排序`,"cli.flag.direction":`设置升序或降序`,"cli.flag.origin":`按服务商筛选模型`,"cli.flag.pingInterval":`设置探测间隔(毫秒)`,"cli.flag.hideUnconfigured":`隐藏未配置 API Key 的模型`,"cli.flag.showUnconfigured":`显示所有模型,包括未配置 API Key 的模型`,"cli.flag.reprobe":`重建探测缓存,并跳过缓存中健康的模型`,"cli.flag.probeTtl":`设置健康探测结果的缓存时长`,"cli.flag.showBroken":`显示被探测缓存标记为不可用的模型`,"cli.flag.checkDrift":`比较 sources.js 与 models.dev 并报告差异`,"cli.flag.driftThreshold":`仅在差异数量达到此值时判定失败`,"cli.flag.web":`启动实时 Web 仪表盘`,"cli.flag.playground":`打开 TUI Playground,必要时自动启动路由器`,"cli.flag.daemon":`启动路由器守护进程和 Web 仪表盘`,"cli.flag.daemonBg":`在后台启动路由器守护进程`,"cli.flag.daemonStatus":`以 JSON 格式输出路由器状态`,"cli.flag.daemonStop":`正常停止路由器守护进程`,"cli.flag.routerV2":`在 19380 端口启动 Router v2 守护进程`,"cli.flag.routerV2Bg":`在后台启动 Router v2`,"cli.flag.routerV2Status":`以 JSON 格式输出 Router v2 状态`,"cli.flag.routerV2Stop":`正常停止 Router v2 守护进程`,"cli.flag.syncSet":`为路由模型组发现并探测模型`,"cli.flag.configDir":`将 config.json 和备份保存到指定目录`,"cli.flag.fixPermissions":`无需确认,直接设置安全的配置文件权限`,"cli.flag.noTelemetry":`本次运行停用匿名遥测`,"cli.flag.help":`显示此帮助并退出`,"palette.placeholder":`输入命令…(筛选、排序、工具、主题、探测、导出)`,"palette.noMatch":`没有匹配的命令。`,"palette.navigate":`导航`,"palette.select":`选择`,"palette.poweredByTui":`使用与 TUI 相同的命令列表`,"palette.section.filter":`筛选`,"palette.section.sort":`排序`,"palette.section.action":`操作`,"palette.section.page":`页面`,"palette.section.update":`更新`,"palette.section.tool":`工具`,"palette.updateNow":`立即更新`,"palette.versionAvailable":`版本可用`,"palette.notAvailable":`此命令暂不可用。`,"palette.notWired":`此命令暂未接入 Web。`,"palette.toolModeNotReady":`工具模式选择器暂不可用。`,"palette.favoriteHint":`在表格的模型行中按 F 键。`,"palette.favoriteModeHint":`请在设置中选择收藏显示方式。`,"palette.benchmarkHint":`点击 AI 延迟单元格可测试当前选中的模型。`,"palette.providerFilterHint":`请使用筛选栏中的服务商下拉菜单。`,"palette.tierFilterHint":`请使用筛选栏中的等级标签。`,"palette.visibilityFilterHint":`请使用筛选栏中的显示方式下拉菜单。`,"palette.sortHint":`点击表格列标题进行排序。`,"palette.web.openHelp":`打开帮助`,"palette.web.openChangelog":`打开更新日志`,"palette.web.openPlayground":`打开 Playground`,"palette.web.openInstallEndpoints":`打开安装端点`,"palette.web.openInstalledModels":`打开已安装模型`,"palette.web.cycleTheme":`切换主题(当前:{theme})`,"palette.web.resetView":`重置视图(筛选和排序)`,"palette.web.pingMode":`探测模式 → {mode}`,"palette.web.exportModels":`导出模型…`,"palette.command.filters":`筛选`,"palette.command.filter-tier":`按等级筛选`,"palette.command.filter-tier-all":`所有等级`,"palette.command.filter-tier-splus":`S+ 级`,"palette.command.filter-tier-s":`S 级`,"palette.command.filter-tier-aplus":`A+ 级`,"palette.command.filter-tier-a":`A 级`,"palette.command.filter-tier-aminus":`A- 级`,"palette.command.filter-tier-bplus":`B+ 级`,"palette.command.filter-tier-b":`B 级`,"palette.command.filter-tier-c":`C 级`,"palette.command.filter-provider":`按服务商筛选`,"palette.command.filter-provider-cycle":`切换服务商`,"palette.command.filter-provider-all":`所有服务商`,"palette.command.filter-model":`按模型筛选`,"palette.command.filter-other":`其他筛选`,"palette.command.filter-configured-toggle":`仅显示已配置且可用的模型`,"palette.command.sort":`排序`,"palette.command.sort-rank":`按排名排序`,"palette.command.sort-tier":`按等级排序`,"palette.command.sort-provider":`按服务商排序`,"palette.command.sort-model":`按模型排序`,"palette.command.sort-latest-ping":`按最近延迟排序`,"palette.command.sort-avg-ping":`按平均延迟排序`,"palette.command.sort-swe":`按 SWE 分数排序`,"palette.command.sort-ctx":`按上下文长度排序`,"palette.command.sort-health":`按健康状态排序`,"palette.command.sort-verdict":`按综合评价排序`,"palette.command.sort-stability":`按稳定性排序`,"palette.command.sort-uptime":`按可用率排序`,"palette.command.actions":`操作`,"palette.command.action-target-tool":`目标工具`,"palette.command.action-cycle-tool-mode":`切换目标工具`,"palette.command.action-ping-mode":`探测模式`,"palette.command.action-cycle-ping-mode":`切换探测模式`,"palette.command.action-set-ping-speed":`快速模式(2 秒)`,"palette.command.action-set-ping-normal":`普通模式(10 秒)`,"palette.command.action-set-ping-slow":`慢速模式(30 秒)`,"palette.command.action-set-ping-forced":`强制模式(4 秒)`,"palette.command.action-favorites-mode":`收藏模式`,"palette.command.action-toggle-favorite-mode":`切换收藏模式`,"palette.command.action-favorites-mode-pinned":`置顶并始终显示`,"palette.command.action-favorites-mode-normal":`普通行(仅标星)`,"palette.command.action-toggle-favorite":`切换所选模型的收藏状态`,"palette.command.action-cycle-theme":`切换主题`,"palette.command.action-reset-view":`重置视图`,"palette.command.action-probe-failed":`重新探测失效模型`,"palette.command.action-probe-404":`探测所有模型(404)`,"palette.command.action-toggle-auto-hide-broken":`切换自动隐藏失效模型`,"palette.command.open-settings":`设置`,"palette.command.open-help":`帮助`,"palette.command.open-changelog":`更新日志`,"palette.command.open-recommend":`智能推荐`,"palette.command.open-playground":`Playground`,"palette.command.open-install-endpoints":`安装端点`,"palette.command.open-installed-models":`已安装模型`,"update.availableTitle":`有可用更新:v{version}。点击安装。`,"update.availableDescription":`npm 上有新版本 v{version}。更新后请重启仪表盘以应用更改。`,"update.now":`立即更新`,"settings.removeKey":`移除 Key`,"settings.theme":`主题`,"help.navigation":`导航`,"analytics.tokenUsage":`Token 用量`,"install.selectProvider":`选择服务商`,"install.selectTool":`选择工具`,"common.stepNumber":`第 {step}/{total} 步`,"install.tuiSubtitle":`将服务商模型目录安装到支持的编程工具中。`,"install.chooseConfiguredProvider":`选择已配置的服务商`,"install.chooseTargetTool":`选择目标工具`,"install.chooseInstallScope":`选择安装范围`,"install.chooseModelsToInstall":`选择要安装的模型`,"install.provider":`服务商`,"install.tool":`工具`,"install.directProvider":`直连服务商`,"install.sharedConfigFile":`共用配置文件`,"install.envFile":`环境变量文件(~/.fcm-*-env)`,"install.managedConfig":`托管配置安装`,"install.selectedCount":`已选择:{selected}/{total}`,"install.result":`结果`,"install.resultUnavailable":`安装结果不可用`,"install.futureRefresh":`FCM 后续启动时会根据服务商目录的变化自动刷新。`,"install.scope.all.label":`安装所有模型`,"install.scope.all.hint":`推荐,FCM 后续会自动刷新此服务商的模型目录。`,"install.scope.selected.label":`仅安装所选模型`,"install.scope.selected.hint":`选择更精简的模型列表,便于使用。`,"recommend.subtitle":`回答几个问题,为当前任务找到合适的模型。`,"recommend.questionPriority":`你最看重什么?`,"router.quickSetup":`快速设置`,"update.checking":`正在检查更新…`,"update.available":`有可用更新`,"update.whatsNew":`更新内容`,"recommend.taskType.quickfix":`快速修复`,"recommend.taskType.refactor":`深度重构`,"recommend.taskType.review":`代码审查`,"recommend.taskType.testgen":`生成测试`,"recommend.priority.speed":`速度`,"recommend.priority.quality":`质量`,"recommend.priority.balanced":`均衡`,"recommend.contextBudget.small":`小型文件(<4K)`,"recommend.contextBudget.medium":`中型项目(<32K)`,"recommend.contextBudget.large":`大型代码库(>32K)`,"changelog.added":`新增`,"changelog.fixed":`修复`,"changelog.changed":`变更`,"changelog.updated":`更新`,"help.item.navigation.rows.label":`↑ / ↓`,"help.item.navigation.rows.description":`主表行导航(计划支持,目前请使用鼠标)。`,"help.item.navigation.details.label":`Enter`,"help.item.navigation.details.description":`打开当前行的详细信息面板。`,"help.item.navigation.close.label":`Esc`,"help.item.navigation.close.description":`关闭当前打开的弹窗或详细信息面板。`,"help.item.filters.tier.label":`等级标签`,"help.item.filters.tier.description":`点击循环切换 S+、S、A+、A、A-、B+、B、C 等级,然后返回“全部”。`,"help.item.filters.status.label":`状态标签`,"help.item.filters.status.description":`点击循环切换“全部”“可用”“不可用”和“等待中”。`,"help.item.filters.verdict.label":`评价标签`,"help.item.filters.verdict.description":`点击循环切换“极佳”“正常”“波动”“较慢”“过载”“不可用”“不稳定”和“等待中”。`,"help.item.filters.health.label":`健康状态标签`,"help.item.filters.health.description":`点击循环切换“可用”“超时”“不可用”“等待中”“缺少 Key”和“认证错误”。`,"help.item.filters.visibility.label":`显示范围`,"help.item.filters.visibility.description":`选择显示全部模型、仅显示已配置模型,或仅显示可用模型(状态为 UP 且评价良好)。`,"help.item.filters.provider.label":`服务商下拉菜单`,"help.item.filters.provider.description":`按服务商筛选表格。`,"help.item.filters.text.label":`文本筛选`,"help.item.filters.text.description":`从命令面板应用文本筛选,或选择“应用文本筛选”;点击 X 标签可清除。`,"help.item.filters.reset.label":`重置按钮`,"help.item.filters.reset.description":`清除所有筛选,并恢复默认排序。`,"help.item.sort.columns.label":`点击任意列标题`,"help.item.sort.columns.description":`依次切换升序、降序和默认顺序。`,"help.item.sort.resize.label":`调整列宽`,"help.item.sort.resize.description":`拖动列标题边缘调整宽度,双击可恢复默认宽度。`,"help.item.favorites.row.label":`每行的星标按钮`,"help.item.favorites.row.description":`点击收藏或取消收藏模型(TUI:F 键)。`,"help.item.favorites.detail.label":`详细信息面板`,"help.item.favorites.detail.description":`收藏模型,或使用上/下按钮调整顺序(TUI:Shift+↑/↓)。`,"help.item.favorites.pinned.label":`置顶模式`,"help.item.favorites.pinned.description":`在设置中启用“收藏置顶并始终显示”(TUI:Y 键)。`,"help.item.favorites.shared.label":`与 TUI 共用`,"help.item.favorites.shared.description":`收藏保存在与 TUI 共用的 ~/.free-coding-models.json 文件中。`,"help.item.benchmark.global.label":`标题栏按钮`,"help.item.benchmark.global.description":`为所有当前可见模型运行 AI 速度测试。`,"help.item.benchmark.single.label":`AI 延迟单元格`,"help.item.benchmark.single.description":`点击单元格可单独测试该模型(TUI:Ctrl+A)。`,"help.item.benchmark.detail.label":`详细信息面板`,"help.item.benchmark.detail.description":`点击 AI 速度测试按钮测试当前模型(TUI:Ctrl+A)。`,"help.item.benchmark.tps.label":`TPS 列`,"help.item.benchmark.tps.description":`基准测试完成后显示模型每秒生成的 Token 数。`,"help.item.benchmark.latency.label":`延迟列`,"help.item.benchmark.latency.description":`显示模型完整响应的延迟,而不只是探测延迟。`,"help.item.tools.shipped.label":`M3 已支持`,"help.item.tools.shipped.description":`选择目标工具、逐个模型安装端点,或使用目标不兼容时的备用方案弹窗。`,"help.item.palette.shortcut.label":`⌘K / Ctrl+P`,"help.item.palette.shortcut.description":`在 Web 仪表盘任意位置打开或关闭命令面板。`,"help.item.palette.search.label":`输入内容搜索`,"help.item.palette.search.description":`搜索筛选、排序、工具、页面、主题、探测和重置操作。`,"help.item.palette.execute.label":`↑ / ↓ + Enter`,"help.item.palette.execute.description":`移动选择项,并运行高亮的命令。`,"help.item.palette.close.label":`Esc`,"help.item.palette.close.description":`关闭命令面板,不运行命令。`,"help.item.theme.cycle.label":`标题栏主题按钮`,"help.item.theme.cycle.description":`点击循环切换自动、深色和浅色主题(TUI:G 键)。`,"help.item.theme.auto.label":`自动模式`,"help.item.theme.auto.description":`跟随操作系统的配色偏好并自动更新。`,"help.item.ping.cadence.label":`快速 / 普通 / 慢速 / 强制`,"help.item.ping.cadence.description":`设置探测间隔为 2 秒、10 秒、30 秒或 4 秒(TUI:W 键)。`,"help.item.ping.countdown.label":`下次探测倒计时`,"help.item.ping.countdown.description":`在筛选栏中查看实时倒计时。`,"help.item.url.filters.label":`?tier=S+&sort=verdict&origin=groq&view=dashboard`,"help.item.url.filters.description":`筛选、排序和当前页面会保存在 URL 中,可以分享带有当前仪表盘状态的链接。`,"help.item.cli.storage.label":`共用配置`,"help.item.cli.storage.description":`Web 仪表盘和 TUI 读取并写入同一个 ~/.free-coding-models.json 文件。`,"help.item.cli.engine.label":`共用引擎`,"help.item.cli.engine.description":`模型解析、探测和基准测试共用同一套代码。`,"help.item.router.smart.label":`智能路由`,"help.item.router.smart.description":`将 OpenAI 兼容客户端指向 http://localhost:19280/v1,并设置模型为“fcm”。守护进程会从当前模型组中选择健康模型,失败时自动切换备用模型。`,"help.item.router.prePrompt.label":`预设提示词`,"help.item.router.prePrompt.description":`每个代理请求都会附带一条系统消息。可以在设置中编辑默认的 FCM 路由提示词。`,"help.item.router.probes.label":`探测`,"help.item.router.probes.description":`守护进程会根据探测模式,每 10 秒、30 秒或 120 秒向模型组发送一个 Token 的聊天补全请求。检查延迟和状态码,也能发现无效的 API Key。`,"help.item.router.breaker.label":`熔断器`,"help.item.router.breaker.description":`每个模型都有独立状态。健康模型接收流量;不可用模型在冷却前会被跳过;恢复中的模型会再次探测;认证错误表示 401/403;已弃用模型会由自动修复功能替换。`,"help.item.router.failover.label":`故障转移顺序`,"help.item.router.failover.description":`模型按优先级依次尝试。恢复中、不可用或认证错误的模型会被跳过。所有模型都失败时会返回 503,并在错误内容中附上 models_tried 列表。`,"help.item.router.autoHeal.label":`自动修复`,"help.item.router.autoHeal.description":`守护进程启动时,会用可用模型替换认证错误或已弃用的模型,并优先选择同一服务商。手动添加、移除或调整模型顺序后,自动修复会关闭。`,"help.item.router.rateLimits.label":`速率限制`,"help.item.router.rateLimits.description":`各服务商的配额彼此独立。常见免费额度包括 Groq 每日 14,400 次、Mistral 每秒 1 次、NVIDIA 约每分钟 40 次、OpenRouter 每日 50 次。遇到 429 时会切换模型;每日配额耗尽后会在下次启动时处理。`,"dashboard.favorited":`已收藏`,"dashboard.installEndpoint":`安装端点`,"dashboard.installEndpointInTool":`将端点安装到 {tool}`,"dashboard.installModelEndpoint":`将 {model} 端点安装到 {tool}`,"dashboard.selectModelFirst":`请先选择模型`,"dashboard.installSelectedModelEndpoint":`安装所选模型端点`,"dashboard.installTargetTitle":`安装端点到:{tool}`,"dashboard.cycleEndpointTarget":`切换端点目标`,"dashboard.endpointInstallTarget":`端点安装目标`,"filters.verdict.pending":`等待中`,"dashboard.favoriteModelTitle":`收藏 {model}`,"dashboard.unfavoriteModelTitle":`取消收藏 {model}`,"dashboard.notInSet":`未加入模型组`,"health.http404":`404 未找到`,"health.http410":`410 已失效`,"health.http429":`429 触发速率限制`,"health.http500":`500 服务器错误`,"health.http502":`502 网关错误`,"health.http503":`503 服务不可用`,"health.http504":`504 请求超时`,"health.httpError":`{code} 错误`,"modelDetail.noApiKey":`{provider} 尚未配置 API Key。请按 P 打开设置。`,"modelDetail.modelInfo":`模型信息`,"modelDetail.miniPlayground":`迷你 Playground — {model}`,"modelDetail.testModel":`测试 {model}`,"modelDetail.playgroundPlaceholder":`输入消息…`,"modelDetail.playgroundEmptyHint":`发送消息以测试此模型。回复会实时显示,并附带延迟和 TPS。`,"modelDetail.testAiLatency":`测试 AI 延迟`,"modelDetail.runningBenchmark":`正在运行基准测试…`,"modelDetail.running":`正在运行…`,"modelDetail.tokens":`Token 数`,"modelDetail.generatedText":`生成的文本会显示在这里…`,"palette.description.filter-tier-all":`显示所有模型`,"palette.description.filter-tier-splus":`编程能力最强的模型`,"palette.description.filter-tier-s":`表现出色的模型`,"palette.description.filter-tier-aplus":`表现很好的模型`,"palette.description.filter-tier-a":`表现良好的模型`,"palette.description.filter-tier-aminus":`表现稳定的模型`,"palette.description.filter-tier-bplus":`表现一般的模型`,"palette.description.filter-tier-b":`基础能力模型`,"palette.description.filter-tier-c":`能力有限的模型`,"palette.description.filter-provider-cycle":`切换服务商`,"palette.description.filter-provider-all":`显示所有服务商`,"palette.description.filter-configured-toggle":`仅显示已配置且响应正常的服务商(排除无 Key 和认证错误)`,"palette.description.providerModels":`{provider} 模型`,"palette.description.sort-rank":`按 SWE 分数排序`,"palette.description.sort-tier":`按质量等级分组`,"palette.description.sort-provider":`按服务商分组`,"palette.description.sort-model":`按字母顺序排列`,"palette.description.sort-latest-ping":`按最近响应时间排序`,"palette.description.sort-avg-ping":`按平均响应时间排序`,"palette.description.sort-swe":`按编程能力分数排序`,"palette.description.sort-ctx":`按上下文窗口大小排序`,"palette.description.sort-health":`按模型当前状态排序`,"palette.description.sort-verdict":`按综合评价排序`,"palette.description.sort-stability":`按稳定性排序`,"palette.description.sort-uptime":`按成功率排序`,"palette.description.action-cycle-tool-mode":`循环切换可用的启动工具。`,"palette.description.action-set-tool-opencode":`使用所选模型启动 OpenCode CLI。`,"palette.description.action-set-tool-pi":`使用模型和服务商参数启动 Pi。`,"palette.description.action-set-tool-jcode":`使用所选模型启动 jcode 编程助手。`,"palette.description.action-set-tool-opencode-desktop":`在共享配置中设置模型,然后打开 OpenCode Desktop。`,"palette.description.action-set-tool-opencode-web":`在共享配置中设置模型,然后打开 OpenCode WebUI。`,"palette.description.action-set-tool-openclaw":`在 OpenClaw 中设为默认模型并启动。`,"palette.description.action-set-tool-crush":`使用此服务商和模型启动 Crush。`,"palette.description.action-set-tool-goose":`启动 Goose 并预选当前模型。`,"palette.description.action-set-tool-aider":`使用所选模型配置并启动 Aider。`,"palette.description.action-set-tool-kilo":`在共享配置中设置模型,然后启动 Kilo CLI。`,"palette.description.action-set-tool-qwen":`使用所选服务商模型启动 Qwen Code。`,"palette.description.action-set-tool-openhands":`使用所选模型端点启动 OpenHands。`,"palette.description.action-set-tool-amp":`将此模型设为目标并启动 Amp。`,"palette.description.action-set-tool-hermes":`使用所选模型启动 Hermes Agent。`,"palette.description.action-set-tool-continue":`使用所选模型启动 Continue CLI。`,"palette.description.action-set-tool-cline":`使用所选模型启动 Cline CLI。`,"palette.description.action-set-tool-xcode":`将此模型设为当前启动目标。`,"palette.description.action-set-tool-fcm_router":`将此模型设为当前启动目标。`,"palette.description.action-set-tool-caveman":`Caveman Code:节省 Token 的编程助手(仅使用 Caveman 工具启动)。`,"palette.description.action-set-tool-copilot":`将此模型设为当前启动目标。`,"palette.description.action-set-tool-forgecode":`将此模型设为当前启动目标。`,"palette.description.action-set-tool-zcode":`将此模型设为当前启动目标。`,"palette.description.action-cycle-ping-mode":`循环切换快速、普通、慢速和强制模式。`,"palette.description.action-set-ping-speed":`短时检查时以 2 秒间隔快速探测。`,"palette.description.action-set-ping-normal":`日常使用的均衡默认间隔。`,"palette.description.action-set-ping-slow":`空闲时降低刷新频率。`,"palette.description.action-set-ping-forced":`保持 4 秒探测间隔,直到手动更改。`,"palette.description.action-toggle-favorite-mode":`切换置顶模式和普通列表模式。`,"palette.description.action-favorites-mode-pinned":`收藏项置顶显示,并忽略当前筛选条件。`,"palette.description.action-favorites-mode-normal":`收藏项保留星标,并遵循当前筛选和排序。`,"palette.description.action-toggle-favorite":`收藏或取消收藏当前选中的模型。`,"palette.description.action-cycle-theme":`切换深色、浅色和自动主题。`,"palette.description.action-reset-view":`重置筛选和排序。`,"palette.description.action-probe-failed":`仅重新探测出现错误的行(认证失败、429、404、超时),不检查整个列表。`,"palette.description.action-probe-404":`检查所有已配置模型是否返回 404/410,并自动隐藏失效模型。`,"palette.description.action-toggle-auto-hide-broken":`启用或停用自动隐藏 404/410 模型;停用时会显示所有模型。`,"palette.description.open-settings":`API Key 和偏好设置`,"palette.description.open-help":`查看所有快捷键`,"palette.description.open-changelog":`查看版本历史`,"palette.description.open-recommend":`查找适合当前任务的模型`,"palette.description.open-playground":`通过 FCM 路由器与模型对话`,"palette.description.open-install-endpoints":`安装服务商模型目录`,"palette.description.open-installed-models":`查看工具中已配置的模型`}),ti=Object.freeze([`en`,`zh-CN`]),ni=Object.freeze([Object.freeze({value:`en`,labelKey:`common.language.english`}),Object.freeze({value:`zh-CN`,labelKey:`common.language.simplifiedChinese`})]),ri=Object.freeze({en:$r,"zh-CN":ei}),ii=`en`;function ai(e){return ti.includes(e)?e:`en`}function oi(){return ii}function si(e){return ii=ai(e),ii}function ci(e=ri){return(t,n,r={})=>{if(typeof n!=`string`)return``;let i=e[ai(t)]?.[n],a=e.en?.[n];return(typeof i==`string`?i:typeof a==`string`?a:n).replace(/\{([\w.]+)\}/g,(e,t)=>{let n=r&&Object.prototype.hasOwnProperty.call(r,t)?r[t]:void 0;return n==null?e:String(n)})}}var li=ci();function ui(e,t={}){return li(ii,e,t)}function di(e,t){return typeof ri[ai(e)]?.[t]==`string`}var fi=o((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.fragment`);function r(e,n,r){var i=null;if(r!==void 0&&(i=``+r),n.key!==void 0&&(i=``+n.key),`key`in n)for(var a in r={},n)a!==`key`&&(r[a]=n[a]);else r=n;return n=r.ref,{$$typeof:t,type:e,key:i,ref:n===void 0?null:n,props:r}}e.Fragment=n,e.jsx=r,e.jsxs=r})),F=o(((e,t)=>{t.exports=fi()}))(),pi=(0,v.createContext)(null);function mi({children:e}){let[t,n]=(0,v.useState)(`en`);(0,v.useEffect)(()=>{let e=!0;return fetch(`/api/config`).then(e=>e.ok?e.json():null).then(t=>{if(!e||!t)return;let r=ai(t.settings?.language);si(r),n(r)}).catch(()=>{}),()=>{e=!1}},[]);let r=(0,v.useCallback)(async e=>{let r=ai(e),i=t;si(r),n(r);try{if(!(await fetch(`/api/settings/feature`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({feature:`language`,value:r})})).ok)throw Error(`Language preference could not be saved`);return!0}catch{return si(i),n(i),!1}},[t]),i=(0,v.useMemo)(()=>({locale:t,locales:ni,setLanguage:r,t:ui}),[t,r]);return(0,v.useEffect)(()=>{document.documentElement.lang=t},[t]),(0,F.jsx)(pi.Provider,{value:i,children:e})}function hi(){return(0,v.useContext)(pi)||{locale:`en`,locales:ni,setLanguage:async()=>!1,t:ui}}var gi={wrap:`_wrap_18gb2_5`,trigger:`_trigger_18gb2_11`,cycle:`_cycle_18gb2_30`,emoji:`_emoji_18gb2_53`,label:`_label_18gb2_54`,menu:`_menu_18gb2_55`,item:`_item_18gb2_69`,itemActive:`_itemActive_18gb2_83`,itemEmoji:`_itemEmoji_18gb2_87`,itemText:`_itemText_18gb2_88`,activeDot:`_activeDot_18gb2_91`,compact:`_compact_18gb2_92`};function _i({toolMode:e=`opencode`,onSetToolMode:t,onCycleToolMode:n,compact:r=!1,tools:i=pn}){let{t:a}=hi(),[o,s]=(0,v.useState)(!1),c=(0,v.useRef)(null),l=yn(e);return(0,v.useEffect)(()=>{if(!o)return;let e=e=>{c.current&&!c.current.contains(e.target)&&s(!1)},t=e=>{e.key===`Escape`&&s(!1)};return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,t)}},[o]),(0,F.jsxs)(`div`,{className:`${gi.wrap} ${r?gi.compact:``}`,ref:c,children:[(0,F.jsxs)(`button`,{type:`button`,className:gi.trigger,onClick:()=>s(e=>!e),"aria-haspopup":`listbox`,"aria-expanded":o,title:a(`dashboard.installTargetTitle`,{tool:l.label}),children:[(0,F.jsx)(`span`,{className:gi.emoji,children:l.emoji}),(0,F.jsx)(`span`,{className:gi.label,children:r?l.label.replace(/ CLI$/,``):l.label}),(0,F.jsx)(Xn,{size:13,stroke:1.7})]}),(0,F.jsx)(`button`,{type:`button`,className:gi.cycle,onClick:n,title:a(`dashboard.cycleEndpointTarget`),"aria-label":a(`dashboard.cycleEndpointTarget`),children:(0,F.jsx)(Ir,{size:13,stroke:1.7})}),o&&(0,F.jsx)(`div`,{className:gi.menu,role:`listbox`,"aria-label":a(`dashboard.endpointInstallTarget`),children:i.map(n=>{let r=_n[n],i=n===e;return(0,F.jsxs)(`button`,{type:`button`,className:`${gi.item} ${i?gi.itemActive:``}`,onClick:()=>{t?.(n),s(!1)},role:`option`,"aria-selected":i,children:[(0,F.jsx)(`span`,{className:gi.itemEmoji,children:r.emoji}),(0,F.jsxs)(`span`,{className:gi.itemText,children:[(0,F.jsx)(`strong`,{children:r.label}),(0,F.jsx)(`small`,{children:r.flag})]}),i&&(0,F.jsx)(`span`,{className:gi.activeDot,children:`●`})]},n)})})]})}var I={header:`_header_1ky4z_11`,left:`_left_1ky4z_28`,center:`_center_1ky4z_35`,right:`_right_1ky4z_41`,logo:`_logo_1ky4z_49`,logoIconSvg:`_logoIconSvg_1ky4z_50`,logoText:`_logoText_1ky4z_56`,logoTextHighlight:`_logoTextHighlight_1ky4z_64`,version:`_version_1ky4z_65`,nav:`_nav_1ky4z_72`,navBtn:`_navBtn_1ky4z_82`,navBtnActive:`_navBtnActive_1ky4z_106`,comingBadge:`_comingBadge_1ky4z_121`,betaBadge:`_betaBadge_1ky4z_138`,menuWrap:`_menuWrap_1ky4z_154`,menuTrigger:`_menuTrigger_1ky4z_155`,menuPopover:`_menuPopover_1ky4z_160`,menuItem:`_menuItem_1ky4z_175`,menuItemActive:`_menuItemActive_1ky4z_192`,searchBar:`_searchBar_1ky4z_200`,searchIcon:`_searchIcon_1ky4z_210`,searchInput:`_searchInput_1ky4z_211`,iconBtn:`_iconBtn_1ky4z_219`,cmdkBtn:`_cmdkBtn_1ky4z_229`,cmdkLabel:`_cmdkLabel_1ky4z_242`,benchmarkBtn:`_benchmarkBtn_1ky4z_245`,benchmarkActive:`_benchmarkActive_1ky4z_255`,benchmarkRunning:`_benchmarkRunning_1ky4z_260`,spinner:`_spinner_1ky4z_262`,spin:`_spin_1ky4z_262`,hamburgerBtn:`_hamburgerBtn_1ky4z_295`,mobileNav:`_mobileNav_1ky4z_322`,mobileNavItem:`_mobileNavItem_1ky4z_337`,mobileNavActive:`_mobileNavActive_1ky4z_354`,mobileNavDivider:`_mobileNavDivider_1ky4z_359`},vi=[{id:`dashboard`,labelKey:`nav.dashboard`,icon:Cr},{id:`router`,labelKey:`nav.router`,icon:Lr},{id:`router-v2`,labelKey:`nav.routerV2`,icon:Lr,beta:!0},{id:`playground`,labelKey:`nav.playground`,icon:Or},{id:`help`,labelKey:`nav.help`,icon:Fr},{id:`install-endpoints`,labelKey:`nav.installEndpoints`,icon:Nr}],yi=[{id:`analytics`,labelKey:`nav.analytics`,icon:Rn},{id:`recommend`,label:`Recommend`,labelKey:`nav.recommend`,icon:Vr},{id:`changelog`,labelKey:`nav.changelog`,icon:yr},{id:`installed-models`,labelKey:`nav.installedModels`,icon:_r}];function bi({searchQuery:e,onSearchChange:t,currentView:n,onNavigate:r,onToggleTheme:i,onOpenExport:a,onOpenCommandPalette:o,onBenchmark:s,benchmarkRunning:c,benchmarkTotal:l,benchmarkCompleted:u,modelsCount:d,theme:f,onToast:p,toolMode:m=`opencode`,onSetToolMode:h,onCycleToolMode:g,updateSlot:_=null}){let{t:y}=hi(),[b,x]=(0,v.useState)(!1),[S,C]=(0,v.useState)(!1),w=(0,v.useRef)(null);(0,v.useEffect)(()=>{if(!b&&!S)return;let e=e=>{w.current&&!w.current.contains(e.target)&&x(!1)},t=e=>{e.key===`Escape`&&(x(!1),C(!1))};return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,t)}},[b,S]);let T=e=>{if(e.comingIn){p?.(`${y(e.labelKey)} arrives in milestone ${e.comingIn}.`,`info`);return}r(e.id),C(!1)},ee=e=>{if(x(!1),e.comingIn){p?.(`${y(e.labelKey)} arrives in milestone ${e.comingIn}.`,`info`);return}r(e.id)};return(0,F.jsxs)(`header`,{className:I.header,children:[(0,F.jsxs)(`div`,{className:I.left,children:[(0,F.jsxs)(`div`,{className:I.logo,onClick:()=>r(`dashboard`),style:{cursor:`pointer`},children:[(0,F.jsxs)(`svg`,{className:I.logoIconSvg,width:`20`,height:`20`,viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:[(0,F.jsx)(`path`,{d:`M4 5L11 12L4 19`,stroke:`var(--color-brand)`,strokeWidth:`3`,strokeLinecap:`round`,strokeLinejoin:`round`}),(0,F.jsx)(`path`,{d:`M14 5V19M14 5H21M14 11H18`,stroke:`var(--color-brand)`,strokeWidth:`3`,strokeLinecap:`round`,strokeLinejoin:`round`})]}),(0,F.jsxs)(`span`,{className:I.logoText,children:[(0,F.jsx)(`span`,{className:I.logoTextHighlight,children:`free`}),(0,F.jsx)(`span`,{children:`-coding-models`}),(0,F.jsx)(`span`,{className:I.logoTextHighlight,children:`_`})]})]}),(0,F.jsxs)(`span`,{className:I.version,children:[`v`,`0.5.96`]}),(0,F.jsx)(`button`,{className:I.hamburgerBtn,onClick:()=>C(e=>!e),"aria-label":y(`nav.navigationMenu`),"aria-expanded":S,"aria-haspopup":`true`,children:(0,F.jsx)(Dr,{size:18,stroke:1.5})}),S&&(0,F.jsxs)(`div`,{className:I.mobileNav,role:`menu`,children:[vi.map(e=>{let t=e.icon;return(0,F.jsxs)(`button`,{className:`${I.mobileNavItem} ${n===e.id?I.mobileNavActive:``}`,onClick:()=>T(e),role:`menuitem`,children:[(0,F.jsx)(t,{size:16,stroke:1.5}),(0,F.jsx)(`span`,{children:y(e.labelKey)}),e.beta&&(0,F.jsx)(`span`,{className:I.betaBadge,children:`BETA`})]},e.id)}),(0,F.jsx)(`div`,{className:I.mobileNavDivider}),yi.map(e=>{let t=e.icon;return(0,F.jsxs)(`button`,{className:I.mobileNavItem,onClick:()=>ee(e),role:`menuitem`,children:[(0,F.jsx)(t,{size:16,stroke:1.5}),(0,F.jsx)(`span`,{children:y(e.labelKey)})]},e.id)})]}),(0,F.jsxs)(`nav`,{className:I.nav,"aria-label":y(`nav.primary`),children:[vi.map(e=>{let t=e.icon,r=n===e.id;return(0,F.jsxs)(`button`,{className:`${I.navBtn} ${r?I.navBtnActive:``}`,onClick:()=>T(e),title:e.comingIn?`${y(e.labelKey)} — coming in ${e.comingIn}`:y(e.labelKey),"aria-current":r?`page`:void 0,children:[(0,F.jsx)(t,{size:14,stroke:1.5}),(0,F.jsx)(`span`,{children:y(e.labelKey)}),e.beta&&(0,F.jsx)(`span`,{className:I.betaBadge,children:`BETA`}),e.comingIn&&(0,F.jsx)(`span`,{className:I.comingBadge,children:e.comingIn})]},e.id)}),(0,F.jsxs)(`div`,{className:I.menuWrap,ref:w,children:[(0,F.jsx)(`button`,{className:`${I.navBtn} ${I.menuTrigger} ${yi.some(e=>e.id===n)?I.navBtnActive:``}`,onClick:()=>x(e=>!e),title:y(`nav.moreFeatures`),"aria-label":y(`nav.moreFeatures`),"aria-haspopup":`true`,"aria-expanded":b,children:(0,F.jsx)(sr,{size:16,stroke:1.5})}),b&&(0,F.jsx)(`div`,{className:I.menuPopover,role:`menu`,children:yi.map(e=>{let t=e.icon,r=n===e.id;return(0,F.jsxs)(`button`,{className:`${I.menuItem} ${r?I.menuItemActive:``}`,onClick:()=>ee(e),role:`menuitem`,"aria-current":r?`page`:void 0,children:[(0,F.jsx)(t,{size:14,stroke:1.5}),(0,F.jsx)(`span`,{children:y(e.labelKey)}),e.comingIn&&(0,F.jsx)(`span`,{className:I.comingBadge,children:e.comingIn})]},e.id)})})]})]})]}),(0,F.jsxs)(`div`,{className:I.right,children:[(0,F.jsxs)(`button`,{className:`${I.navBtn} ${n===`settings`?I.navBtnActive:``}`,onClick:()=>r(`settings`),title:y(`nav.settings`),"aria-current":n===`settings`?`page`:void 0,style:{marginRight:`2px`},children:[(0,F.jsx)(Br,{size:14,stroke:1.5}),(0,F.jsx)(`span`,{children:y(`nav.settings`)})]}),(0,F.jsx)(_i,{toolMode:m,onSetToolMode:h,onCycleToolMode:g}),(0,F.jsxs)(`button`,{className:I.cmdkBtn,onClick:o,title:`${y(`nav.commandPalette`)} (⌘K / Ctrl+P)`,"aria-label":`${y(`nav.commandPalette`)} (⌘K)`,children:[(0,F.jsx)(ar,{size:14,stroke:1.5}),(0,F.jsx)(`span`,{className:I.cmdkLabel,children:`⌘K`})]}),(0,F.jsxs)(`button`,{className:`${I.benchmarkBtn} ${c?I.benchmarkActive:``}`,onClick:s,disabled:c,title:c?y(`dashboard.aiSpeedTestRunning`,{completed:u,total:l}):y(`dashboard.runBenchmark`,{count:d}),"aria-label":c?y(`dashboard.aiSpeedTestRunning`,{completed:u,total:l}):y(`dashboard.aiLatency`),children:[(0,F.jsx)(Ar,{size:14,stroke:1.5}),c?(0,F.jsxs)(`span`,{className:I.benchmarkRunning,children:[(0,F.jsx)(`span`,{className:I.spinner}),`RUN `,u,`/`,l]}):(0,F.jsx)(`span`,{children:y(`dashboard.aiLatency`)})]}),_,(0,F.jsx)(`button`,{className:I.iconBtn,onClick:i,title:y(`nav.themeTitle`,{theme:y(`settings.theme.${f}`)}),"aria-label":y(`nav.themeLabel`,{theme:y(`settings.theme.${f}`)}),children:f===`light`?(0,F.jsx)(kr,{size:16,stroke:1.5}):(0,F.jsx)(Ur,{size:16,stroke:1.5})}),(0,F.jsx)(`button`,{className:I.iconBtn,onClick:a,title:y(`nav.exportData`),"aria-label":y(`dashboard.exportData`),children:(0,F.jsx)(cr,{size:16,stroke:1.5})})]})]})}var xi={footer:`_footer_1uw54_1`,left:`_left_1uw54_8`,right:`_right_1uw54_8`};function Si(){return(0,F.jsxs)(`footer`,{className:xi.footer,children:[(0,F.jsxs)(`div`,{className:xi.left,children:[`by `,(0,F.jsx)(`a`,{href:`https://vavanessa.dev`,target:`_blank`,rel:`noopener`,children:`Vava-Nessa`})]}),(0,F.jsxs)(`div`,{className:xi.right,children:[(0,F.jsx)(`a`,{href:`https://github.com/vava-nessa/free-coding-models`,target:`_blank`,rel:`noopener`,children:`GitHub`}),(0,F.jsx)(`a`,{href:`https://discord.gg/ZTNFHvvCkU`,target:`_blank`,rel:`noopener`,children:`Discord`})]})]})}var Ci=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 181 24" xmlns="http://www.w3.org/2000/svg"><title>Google AI Studio</title><path d="M172.721 19.07c-1.172 0-2.221-.266-3.149-.798a5.779 5.779 0 01-2.169-2.237c-.517-.943-.775-1.993-.775-3.15 0-1.155.258-2.205.775-3.149a5.619 5.619 0 012.169-2.213c.928-.548 1.977-.822 3.149-.822 1.171 0 2.221.274 3.149.822a5.777 5.777 0 012.168 2.236c.518.944.776 1.986.776 3.127 0 1.156-.258 2.206-.776 3.15a5.776 5.776 0 01-2.168 2.236c-.928.532-1.978.799-3.149.799zm0-2.304c.639 0 1.232-.153 1.78-.457.548-.32.981-.768 1.301-1.346.335-.594.502-1.286.502-2.077 0-.791-.167-1.476-.502-2.054a3.304 3.304 0 00-1.301-1.324 3.472 3.472 0 00-1.78-.479c-.639 0-1.232.16-1.78.48a3.458 3.458 0 00-1.324 1.323c-.319.578-.479 1.263-.479 2.054 0 .791.16 1.483.479 2.077a3.629 3.629 0 001.324 1.346 3.606 3.606 0 001.78.457zM162.999 5.378a1.69 1.69 0 01-1.21-.48 1.69 1.69 0 01-.479-1.21c0-.47.16-.866.479-1.186a1.65 1.65 0 011.21-.502c.471 0 .867.167 1.186.502.335.32.503.715.503 1.187 0 .471-.168.875-.503 1.21a1.61 1.61 0 01-1.186.479zm-1.255 1.688h2.51v11.64h-2.51V7.066zM152.429 19.07c-1.05 0-2.001-.266-2.853-.798-.852-.533-1.529-1.263-2.031-2.191-.487-.944-.73-2.008-.73-3.195 0-1.187.243-2.244.73-3.172.502-.944 1.179-1.682 2.031-2.214.852-.533 1.803-.799 2.853-.799.821 0 1.559.183 2.213.548.655.365 1.149.814 1.484 1.346h.114l-.114-1.643V2.365h2.51v16.34h-2.396V17.2h-.114c-.335.517-.829.959-1.484 1.324-.654.365-1.392.547-2.213.547zm.365-2.305c.608 0 1.171-.16 1.689-.479.532-.32.958-.776 1.278-1.37.319-.592.479-1.27.479-2.03 0-.76-.16-1.43-.479-2.008-.32-.594-.746-1.05-1.278-1.37a3.158 3.158 0 00-1.689-.48c-.609 0-1.179.16-1.712.48-.532.32-.958.776-1.278 1.37-.319.578-.479 1.247-.479 2.008 0 .76.16 1.438.479 2.03.32.594.746 1.05 1.278 1.37.533.32 1.103.48 1.712.48zM138.527 19.07c-1.415 0-2.495-.418-3.241-1.255-.73-.852-1.095-2.03-1.095-3.537V7.066h2.51v6.87c0 .943.221 1.65.662 2.122.456.472 1.05.707 1.78.707.593 0 1.118-.152 1.575-.456.456-.32.806-.738 1.049-1.255a3.856 3.856 0 00.366-1.666V7.066h2.51v11.64h-2.373v-1.507h-.137c-.32.548-.814.997-1.484 1.346a4.517 4.517 0 01-2.122.525zM130.115 18.888a4.208 4.208 0 01-1.461-.251c-.457-.167-.829-.388-1.118-.662-.655-.654-.982-1.544-.982-2.67V9.28h-2.031V7.066h2.031V3.78h2.511v3.286h2.83V9.28h-2.83v5.477c0 .624.121 1.065.365 1.324.228.304.624.456 1.187.456.258 0 .486-.03.684-.09.198-.077.411-.191.639-.343v2.442c-.502.228-1.11.342-1.825.342zM117.888 19.07a6.03 6.03 0 01-3.652-1.186c-1.08-.791-1.825-1.902-2.236-3.332l2.419-.981c.243.897.669 1.635 1.278 2.213.624.563 1.369.845 2.236.845.807 0 1.491-.206 2.054-.617.563-.426.845-1.004.845-1.734 0-.67-.251-1.217-.753-1.643-.487-.441-1.347-.883-2.579-1.324l-1.027-.365c-1.096-.38-2.016-.928-2.762-1.643-.745-.715-1.118-1.658-1.118-2.83 0-.806.221-1.552.662-2.236.441-.685 1.05-1.225 1.826-1.62.791-.412 1.681-.617 2.67-.617 1.43 0 2.571.35 3.423 1.05.852.684 1.423 1.46 1.712 2.328l-2.305.981c-.168-.517-.487-.974-.959-1.37-.471-.395-1.08-.593-1.826-.593-.745 0-1.376.19-1.894.57-.502.381-.753.868-.753 1.461 0 .563.228 1.027.685 1.393.456.365 1.171.715 2.145 1.05l1.027.342c1.4.487 2.48 1.126 3.241 1.917.776.776 1.164 1.818 1.164 3.126 0 1.065-.274 1.963-.822 2.693a4.978 4.978 0 01-2.1 1.598 6.677 6.677 0 01-2.601.525zM102.221 2.365h2.556v16.34h-2.556V2.365zM90.94 2.365h2.922L100 18.705h-2.83l-1.46-4.176h-6.596l-1.484 4.176h-2.83l6.14-16.34zm3.903 9.79l-1.734-4.86-.64-1.895h-.136l-.64 1.894-1.734 4.862h4.884zM73.43 19.07c-1.141 0-2.168-.266-3.081-.798a5.758 5.758 0 01-2.123-2.191c-.502-.943-.753-2-.753-3.172 0-1.111.244-2.138.73-3.081a5.898 5.898 0 012.078-2.282c.882-.563 1.886-.845 3.012-.845 1.171 0 2.183.259 3.035.776A4.985 4.985 0 0178.291 9.6c.456.897.684 1.909.684 3.035 0 .213-.022.48-.068.799h-8.923c.091 1.08.471 1.917 1.14 2.51a3.57 3.57 0 002.374.867c.715 0 1.332-.16 1.849-.48a3.745 3.745 0 001.278-1.345l2.122 1.004c-.547.958-1.263 1.711-2.145 2.259-.882.548-1.94.822-3.172.822zm2.99-7.553a2.82 2.82 0 00-.389-1.21c-.228-.41-.578-.753-1.05-1.027-.456-.274-1.019-.41-1.688-.41-.806 0-1.491.243-2.054.73-.548.471-.928 1.11-1.141 1.917h6.322zM62.763 2.365h2.51v16.34h-2.51V2.365zM54.016 24c-1.43 0-2.616-.327-3.56-.981-.928-.654-1.552-1.43-1.871-2.328l2.35-.981a3.148 3.148 0 001.164 1.46c.548.38 1.187.57 1.917.57 1.065 0 1.895-.319 2.488-.958.609-.624.913-1.506.913-2.647v-1.073h-.137c-.38.548-.89.982-1.53 1.301-.623.304-1.346.457-2.167.457a5.185 5.185 0 01-2.716-.754c-.837-.502-1.506-1.21-2.008-2.122-.487-.928-.73-1.986-.73-3.172 0-1.187.243-2.237.73-3.15.502-.928 1.171-1.643 2.008-2.145a5.07 5.07 0 012.716-.776c.806 0 1.529.16 2.168.48.639.319 1.149.753 1.529 1.3h.137V7.066h2.396v11c0 1.263-.243 2.336-.73 3.218a4.81 4.81 0 01-2.054 2.031c-.867.457-1.872.685-3.013.685zm.023-7.463c.609 0 1.172-.144 1.69-.433a3.281 3.281 0 001.231-1.301c.305-.578.457-1.255.457-2.031 0-1.187-.327-2.107-.982-2.762-.639-.67-1.437-1.004-2.396-1.004-.623 0-1.194.152-1.711.457-.518.289-.928.715-1.233 1.278-.304.563-.456 1.24-.456 2.03 0 .792.152 1.469.456 2.032a3.28 3.28 0 001.233 1.3c.517.29 1.087.434 1.711.434zM40.36 19.07c-1.172 0-2.222-.266-3.15-.798a5.778 5.778 0 01-2.168-2.237c-.517-.943-.776-1.993-.776-3.15 0-1.155.259-2.205.776-3.149a5.618 5.618 0 012.168-2.213c.928-.548 1.978-.822 3.15-.822 1.17 0 2.22.274 3.149.822a5.778 5.778 0 012.168 2.236c.517.944.776 1.986.776 3.127 0 1.156-.259 2.206-.776 3.15a5.778 5.778 0 01-2.168 2.236c-.928.532-1.978.799-3.15.799zm0-2.304c.638 0 1.232-.153 1.78-.457.547-.32.98-.768 1.3-1.346.335-.594.502-1.286.502-2.077 0-.791-.167-1.476-.502-2.054a3.303 3.303 0 00-1.3-1.324 3.472 3.472 0 00-1.78-.479c-.64 0-1.233.16-1.78.48a3.458 3.458 0 00-1.324 1.323c-.32.578-.48 1.263-.48 2.054 0 .791.16 1.483.48 2.077a3.629 3.629 0 001.323 1.346 3.606 3.606 0 001.78.457zM26.497 19.07c-1.172 0-2.221-.266-3.15-.798a5.778 5.778 0 01-2.168-2.237c-.517-.943-.775-1.993-.775-3.15 0-1.155.258-2.205.776-3.149a5.618 5.618 0 012.168-2.213c.928-.548 1.977-.822 3.149-.822s2.221.274 3.15.822a5.779 5.779 0 012.167 2.236c.518.944.776 1.986.776 3.127 0 1.156-.258 2.206-.776 3.15a5.778 5.778 0 01-2.168 2.236c-.928.532-1.977.799-3.149.799zm0-2.304c.639 0 1.232-.153 1.78-.457.548-.32.981-.768 1.3-1.346.336-.594.503-1.286.503-2.077 0-.791-.167-1.476-.502-2.054a3.303 3.303 0 00-1.3-1.324 3.472 3.472 0 00-1.781-.479c-.639 0-1.232.16-1.78.48a3.456 3.456 0 00-1.324 1.323c-.32.578-.479 1.263-.479 2.054 0 .791.16 1.483.48 2.077a3.627 3.627 0 001.323 1.346 3.606 3.606 0 001.78.457zM10.558 19.07c-1.552 0-2.982-.372-4.29-1.118a8.49 8.49 0 01-3.127-3.058C2.381 13.586 2 12.133 2 10.535c0-1.597.38-3.043 1.141-4.336a8.435 8.435 0 013.127-3.08C7.576 2.372 9.006 2 10.558 2c1.232 0 2.381.22 3.446.662 1.065.441 1.955 1.057 2.67 1.848l-1.78 1.78a5.401 5.401 0 00-1.917-1.369c-.73-.32-1.544-.48-2.442-.48-1.05 0-2.03.252-2.944.754a5.702 5.702 0 00-2.19 2.145c-.548.928-.822 1.993-.822 3.195 0 1.202.274 2.267.821 3.195a5.702 5.702 0 002.191 2.146 6.057 6.057 0 002.967.753c.974 0 1.788-.145 2.442-.434a6.2 6.2 0 001.757-1.164c.335-.335.617-.753.845-1.255.243-.502.403-1.05.479-1.643h-5.546V9.85H18.5c.076.426.114.867.114 1.323 0 1.035-.16 2.032-.479 2.99a6.294 6.294 0 01-1.53 2.465c-1.536 1.628-3.552 2.442-6.047 2.442z"></path></svg>`,wi=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Google AI Studio</title><path d="M9.921 4.196H6.328A2.705 2.705 0 003.623 6.9v11.362a2.705 2.705 0 002.705 2.705h11.363a2.705 2.705 0 002.705-2.705v-4.756l1.623-1.113v5.87a4.329 4.329 0 01-4.328 4.328H6.328A4.329 4.329 0 012 18.263V6.901a4.328 4.328 0 014.328-4.329h4.545l-.952 1.624z"></path><path d="M17.82 0c.145 0 .268.104.299.246a7 7 0 001.9 3.484 7 7 0 003.485 1.901c.142.031.246.154.246.3a.308.308 0 01-.246.298A7 7 0 0020.02 8.13a7 7 0 00-1.912 3.535.297.297 0 01-.288.238.297.297 0 01-.288-.238A7 7 0 0015.62 8.13a7 7 0 00-3.535-1.912.297.297 0 01-.238-.288c0-.14.1-.26.238-.288A7 7 0 0015.62 3.73 7.001 7.001 0 0017.521.246.308.308 0 0117.82 0z"></path></svg>`,Ti=`<svg fill="currentColor" height="1em" style="flex:none;line-height:1" viewBox="0 0 53 24" xmlns="http://www.w3.org/2000/svg"><title>Cerebras</title><path clip-rule="evenodd" d="M13 2.701A9.299 9.299 0 0013 21.3V22.7C7.09 22.701 2.299 17.91 2.299 12S7.09 1.299 13 1.299V2.7zm4.752 3.677a7.353 7.353 0 00-9.453 11.265l-.901 1.074A8.755 8.755 0 1118.652 5.304l-.901 1.074zm-2.256.844a5.407 5.407 0 00-5.049 9.563l-.654 1.24a6.81 6.81 0 016.358-12.043l-.655 1.24zM13 8.539a3.461 3.461 0 000 6.922v1.402a4.863 4.863 0 010-9.726v1.402z" fill="#F15A29" fill-rule="evenodd"></path><path d="M14.286 10.836a2.242 2.242 0 00-.51-.409 1.085 1.085 0 00-.545-.152c-.254 0-.482.047-.683.14a1.582 1.582 0 00-.841.912 1.848 1.848 0 000 1.262 1.595 1.595 0 00.841.913c.2.093.429.14.683.14.217 0 .418-.046.603-.135.187-.09.35-.225.475-.392l.927 1.006c-.139.14-.3.261-.481.363a3.367 3.367 0 01-1.083.38c-.17.026-.317.04-.44.04a3.316 3.316 0 01-1.182-.21 2.826 2.826 0 01-.962-.597 2.813 2.813 0 01-.643-.929 2.986 2.986 0 01-.238-1.21c0-.444.08-.847.238-1.21.15-.35.368-.666.643-.929.277-.261.604-.464.962-.596a3.316 3.316 0 011.181-.21c.355 0 .713.068 1.072.204.362.138.686.36.945.649l-.962.97z"></path><path d="M19.338 11.397c-.008-.414-.136-.738-.383-.976-.247-.237-.59-.356-1.03-.356-.418 0-.749.12-.991.362-.244.242-.393.565-.447.97h2.85zm-2.85 1.052c.045.42.208.748.486.982.278.234.614.351 1.008.351.348 0 .639-.072.875-.217a2.42 2.42 0 00.62-.543l.997.76c-.325.405-.689.694-1.09.865a3.32 3.32 0 01-2.445.047 2.821 2.821 0 01-.962-.597 2.829 2.829 0 01-.643-.929 2.992 2.992 0 01-.237-1.21c0-.444.079-.847.238-1.21.15-.35.368-.666.642-.929.278-.261.605-.464.962-.596a3.32 3.32 0 011.182-.21c.386 0 .74.067 1.06.204.32.136.595.333.823.59.228.258.405.575.533.953.128.379.19.812.19 1.303v.386h-4.24zm4.843-3.296h1.39v.888h.023c.155-.327.375-.58.661-.76a1.812 1.812 0 011.234-.246c.081.016.164.036.25.06v1.355a3.912 3.912 0 00-.343-.076c-.109-.02-.22-.03-.33-.03-.324 0-.585.06-.782.182a1.38 1.38 0 00-.66.883 1.76 1.76 0 00-.053.35v3.005h-1.39V9.152zm7.797 2.244c-.008-.414-.135-.738-.383-.976-.246-.237-.59-.356-1.03-.356-.417 0-.748.12-.99.362-.245.242-.393.565-.447.97h2.85zm-2.85 1.052c.046.42.208.748.487.982.277.234.613.351 1.007.351.348 0 .64-.072.875-.217.236-.144.446-.328.62-.543l.997.76c-.325.405-.688.694-1.09.865a3.319 3.319 0 01-2.445.047 2.823 2.823 0 01-.961-.597 2.829 2.829 0 01-.643-.929 2.984 2.984 0 01-.238-1.21c0-.444.08-.847.238-1.21.158-.362.373-.672.643-.929a2.84 2.84 0 01.962-.596 3.318 3.318 0 011.181-.21c.387 0 .74.067 1.06.204.321.136.596.333.823.59.228.258.406.575.533.953.128.379.192.812.192 1.303v.386h-4.241zm9.225-.49a1.84 1.84 0 00-.11-.632 1.603 1.603 0 00-.84-.912 1.607 1.607 0 00-.684-.14 1.587 1.587 0 00-1.524 1.052 1.83 1.83 0 00-.11.631c0 .218.036.429.11.632a1.583 1.583 0 001.524 1.052 1.591 1.591 0 001.524-1.052c.073-.203.11-.414.11-.632zM30.89 5.925h1.391v3.94h.035a1.99 1.99 0 01.266-.287 2.327 2.327 0 01.927-.485c.201-.054.433-.081.696-.081a2.55 2.55 0 011.94.853c.236.264.42.577.55.935.132.358.198.744.198 1.157 0 .413-.062.8-.186 1.158a2.673 2.673 0 01-.544.935c-.243.267-.539.48-.869.625-.34.152-.723.229-1.147.229a2.613 2.613 0 01-1.1-.235 1.785 1.785 0 01-.812-.748h-.023v.841H30.89V5.927zm6.604 3.227h1.39v.888h.023c.155-.327.376-.58.661-.76a1.815 1.815 0 011.234-.246c.081.016.164.036.25.06v1.355a3.893 3.893 0 00-.343-.076c-.109-.02-.22-.03-.33-.03-.325 0-.585.06-.782.182a1.43 1.43 0 00-.452.415 1.39 1.39 0 00-.209.468 1.788 1.788 0 00-.051.35v3.005h-1.391V9.152zm7.207 3.097h-.29c-.193 0-.409.008-.649.024a3.384 3.384 0 00-.677.11c-.213.06-.393.146-.54.258a.564.564 0 00-.22.473c0 .133.03.244.087.333.058.09.134.166.226.229a.933.933 0 00.313.134c.117.027.232.04.348.04.48 0 .832-.114 1.06-.344.228-.23.342-.544.342-.94v-.317zm.082 1.743h-.036c-.2.32-.456.551-.764.695-.32.146-.668.22-1.02.216-.253 0-.504-.035-.748-.104a2.03 2.03 0 01-.649-.317 1.616 1.616 0 01-.457-.526 1.501 1.501 0 01-.174-.736c0-.305.054-.563.163-.777.103-.21.252-.393.434-.539a2.19 2.19 0 01.632-.344c.242-.087.492-.152.747-.193.258-.043.52-.07.782-.082.247-.011.495-.017.742-.018h.347v-.151c0-.351-.12-.614-.36-.79-.238-.175-.544-.262-.914-.262a2.129 2.129 0 00-1.483.585l-.73-.738a2.7 2.7 0 011.083-.69c.412-.14.845-.21 1.28-.21.394 0 .726.046.997.135.27.09.494.205.672.345.177.14.314.302.411.485.096.183.166.368.21.555.041.187.066.368.074.544.008.175.012.33.012.461v3.227h-1.252v-.771zm5.018-3.286c-.27-.382-.634-.573-1.09-.573a1.16 1.16 0 00-.544.14.478.478 0 00-.266.456c0 .172.073.297.22.375.147.078.332.144.556.198.224.055.465.111.724.17.259.058.5.148.724.268.224.122.41.287.556.498.147.21.22.498.22.864 0 .336-.071.619-.214.848-.139.226-.33.417-.556.556a2.456 2.456 0 01-.77.303c-.282.062-.57.094-.858.094-.432 0-.83-.062-1.194-.187a2.27 2.27 0 01-.973-.678l.928-.877c.177.203.368.368.573.497.204.129.454.193.747.193.101 0 .205-.012.313-.035a.992.992 0 00.301-.117.71.71 0 00.226-.204.482.482 0 00.087-.287c0-.194-.073-.34-.22-.432a1.966 1.966 0 00-.556-.229c-.24-.062-.481-.116-.724-.164a2.794 2.794 0 01-.725-.245 1.523 1.523 0 01-.556-.473c-.146-.203-.22-.483-.22-.841 0-.312.064-.583.191-.813a1.69 1.69 0 01.504-.567c.217-.152.461-.263.719-.327a3.256 3.256 0 011.923.087c.356.123.664.354.881.66l-.927.842z"></path></svg>`,Ei=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 53 24" xmlns="http://www.w3.org/2000/svg"><title>Cerebras</title><path clip-rule="evenodd" d="M13 2.701A9.299 9.299 0 0013 21.3V22.7C7.09 22.701 2.299 17.91 2.299 12S7.09 1.299 13 1.299V2.7zm4.752 3.677a7.353 7.353 0 00-9.453 11.265l-.901 1.074A8.755 8.755 0 1118.652 5.304l-.901 1.074zm-2.256.844a5.407 5.407 0 00-5.049 9.563l-.654 1.24a6.81 6.81 0 016.358-12.043l-.655 1.24zM13 8.539a3.461 3.461 0 000 6.922v1.402a4.863 4.863 0 010-9.726v1.402z"></path><path d="M14.286 10.836a2.242 2.242 0 00-.51-.409 1.085 1.085 0 00-.545-.152c-.254 0-.482.047-.683.14a1.582 1.582 0 00-.841.912 1.848 1.848 0 000 1.262 1.595 1.595 0 00.841.913c.2.093.429.14.683.14.217 0 .418-.046.603-.135.187-.09.35-.225.475-.392l.927 1.006c-.139.14-.3.261-.481.363a3.367 3.367 0 01-1.083.38c-.17.026-.317.04-.44.04a3.316 3.316 0 01-1.182-.21 2.826 2.826 0 01-.962-.597 2.813 2.813 0 01-.643-.929 2.986 2.986 0 01-.238-1.21c0-.444.08-.847.238-1.21.15-.35.368-.666.643-.929.277-.261.604-.464.962-.596a3.316 3.316 0 011.181-.21c.355 0 .713.068 1.072.204.362.138.686.36.945.649l-.962.97z"></path><path d="M19.338 11.397c-.008-.414-.136-.738-.383-.976-.247-.237-.59-.356-1.03-.356-.418 0-.749.12-.991.362-.244.242-.393.565-.447.97h2.85zm-2.85 1.052c.045.42.208.748.486.982.278.234.614.351 1.008.351.348 0 .639-.072.875-.217a2.42 2.42 0 00.62-.543l.997.76c-.325.405-.689.694-1.09.865a3.32 3.32 0 01-2.445.047 2.821 2.821 0 01-.962-.597 2.829 2.829 0 01-.643-.929 2.992 2.992 0 01-.237-1.21c0-.444.079-.847.238-1.21.15-.35.368-.666.642-.929.278-.261.605-.464.962-.596a3.32 3.32 0 011.182-.21c.386 0 .74.067 1.06.204.32.136.595.333.823.59.228.258.405.575.533.953.128.379.19.812.19 1.303v.386h-4.24zm4.843-3.296h1.39v.888h.023c.155-.327.375-.58.661-.76a1.812 1.812 0 011.234-.246c.081.016.164.036.25.06v1.355a3.912 3.912 0 00-.343-.076c-.109-.02-.22-.03-.33-.03-.324 0-.585.06-.782.182a1.38 1.38 0 00-.66.883 1.76 1.76 0 00-.053.35v3.005h-1.39V9.152zm7.797 2.244c-.008-.414-.135-.738-.383-.976-.246-.237-.59-.356-1.03-.356-.417 0-.748.12-.99.362-.245.242-.393.565-.447.97h2.85zm-2.85 1.052c.046.42.208.748.487.982.277.234.613.351 1.007.351.348 0 .64-.072.875-.217.236-.144.446-.328.62-.543l.997.76c-.325.405-.688.694-1.09.865a3.319 3.319 0 01-2.445.047 2.823 2.823 0 01-.961-.597 2.829 2.829 0 01-.643-.929 2.984 2.984 0 01-.238-1.21c0-.444.08-.847.238-1.21.158-.362.373-.672.643-.929a2.84 2.84 0 01.962-.596 3.318 3.318 0 011.181-.21c.387 0 .74.067 1.06.204.321.136.596.333.823.59.228.258.406.575.533.953.128.379.192.812.192 1.303v.386h-4.241zm9.225-.49a1.84 1.84 0 00-.11-.632 1.603 1.603 0 00-.84-.912 1.607 1.607 0 00-.684-.14 1.587 1.587 0 00-1.524 1.052 1.83 1.83 0 00-.11.631c0 .218.036.429.11.632a1.583 1.583 0 001.524 1.052 1.591 1.591 0 001.524-1.052c.073-.203.11-.414.11-.632zM30.89 5.925h1.391v3.94h.035a1.99 1.99 0 01.266-.287 2.327 2.327 0 01.927-.485c.201-.054.433-.081.696-.081a2.55 2.55 0 011.94.853c.236.264.42.577.55.935.132.358.198.744.198 1.157 0 .413-.062.8-.186 1.158a2.673 2.673 0 01-.544.935c-.243.267-.539.48-.869.625-.34.152-.723.229-1.147.229a2.613 2.613 0 01-1.1-.235 1.785 1.785 0 01-.812-.748h-.023v.841H30.89V5.927zm6.604 3.227h1.39v.888h.023c.155-.327.376-.58.661-.76a1.815 1.815 0 011.234-.246c.081.016.164.036.25.06v1.355a3.893 3.893 0 00-.343-.076c-.109-.02-.22-.03-.33-.03-.325 0-.585.06-.782.182a1.43 1.43 0 00-.452.415 1.39 1.39 0 00-.209.468 1.788 1.788 0 00-.051.35v3.005h-1.391V9.152zm7.207 3.097h-.29c-.193 0-.409.008-.649.024a3.384 3.384 0 00-.677.11c-.213.06-.393.146-.54.258a.564.564 0 00-.22.473c0 .133.03.244.087.333.058.09.134.166.226.229a.933.933 0 00.313.134c.117.027.232.04.348.04.48 0 .832-.114 1.06-.344.228-.23.342-.544.342-.94v-.317zm.082 1.743h-.036c-.2.32-.456.551-.764.695-.32.146-.668.22-1.02.216-.253 0-.504-.035-.748-.104a2.03 2.03 0 01-.649-.317 1.616 1.616 0 01-.457-.526 1.501 1.501 0 01-.174-.736c0-.305.054-.563.163-.777.103-.21.252-.393.434-.539a2.19 2.19 0 01.632-.344c.242-.087.492-.152.747-.193.258-.043.52-.07.782-.082.247-.011.495-.017.742-.018h.347v-.151c0-.351-.12-.614-.36-.79-.238-.175-.544-.262-.914-.262a2.129 2.129 0 00-1.483.585l-.73-.738a2.7 2.7 0 011.083-.69c.412-.14.845-.21 1.28-.21.394 0 .726.046.997.135.27.09.494.205.672.345.177.14.314.302.411.485.096.183.166.368.21.555.041.187.066.368.074.544.008.175.012.33.012.461v3.227h-1.252v-.771zm5.018-3.286c-.27-.382-.634-.573-1.09-.573a1.16 1.16 0 00-.544.14.478.478 0 00-.266.456c0 .172.073.297.22.375.147.078.332.144.556.198.224.055.465.111.724.17.259.058.5.148.724.268.224.122.41.287.556.498.147.21.22.498.22.864 0 .336-.071.619-.214.848-.139.226-.33.417-.556.556a2.456 2.456 0 01-.77.303c-.282.062-.57.094-.858.094-.432 0-.83-.062-1.194-.187a2.27 2.27 0 01-.973-.678l.928-.877c.177.203.368.368.573.497.204.129.454.193.747.193.101 0 .205-.012.313-.035a.992.992 0 00.301-.117.71.71 0 00.226-.204.482.482 0 00.087-.287c0-.194-.073-.34-.22-.432a1.966 1.966 0 00-.556-.229c-.24-.062-.481-.116-.724-.164a2.794 2.794 0 01-.725-.245 1.523 1.523 0 01-.556-.473c-.146-.203-.22-.483-.22-.841 0-.312.064-.583.191-.813a1.69 1.69 0 01.504-.567c.217-.152.461-.263.719-.327a3.256 3.256 0 011.923.087c.356.123.664.354.881.66l-.927.842z"></path></svg>`,Di=`<svg fill="currentColor" height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Cerebras</title><path clip-rule="evenodd" d="M14.121 2.701a9.299 9.299 0 000 18.598V22.7c-5.91 0-10.7-4.791-10.7-10.701S8.21 1.299 14.12 1.299V2.7zm4.752 3.677A7.353 7.353 0 109.42 17.643l-.901 1.074a8.754 8.754 0 01-1.08-12.334 8.755 8.755 0 0112.335-1.08l-.901 1.075zm-2.255.844a5.407 5.407 0 00-5.048 9.563l-.656 1.24a6.81 6.81 0 016.358-12.043l-.654 1.24zM14.12 8.539a3.46 3.46 0 100 6.922v1.402a4.863 4.863 0 010-9.726v1.402z" fill="#F15A29" fill-rule="evenodd"></path><path d="M15.407 10.836a2.24 2.24 0 00-.51-.409 1.084 1.084 0 00-.544-.152c-.255 0-.483.047-.684.14a1.58 1.58 0 00-.84.912c-.074.203-.11.416-.11.631 0 .218.036.43.11.631a1.594 1.594 0 00.84.913c.2.093.43.14.684.14.216 0 .417-.046.602-.135.188-.09.35-.225.475-.392l.928 1.006c-.14.14-.3.261-.482.363a3.367 3.367 0 01-1.083.38c-.17.026-.317.04-.44.04a3.315 3.315 0 01-1.182-.21 2.825 2.825 0 01-.961-.597 2.816 2.816 0 01-.644-.929 2.987 2.987 0 01-.238-1.21c0-.444.08-.847.238-1.21.15-.35.368-.666.643-.929.278-.261.605-.464.962-.596a3.315 3.315 0 011.182-.21c.355 0 .712.068 1.072.204.361.138.685.36.944.649l-.962.97z"></path></svg>`,Oi=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 95 24" xmlns="http://www.w3.org/2000/svg"><title>Cerebras</title><path clip-rule="evenodd" d="M17.075 16.717c-.62-.52-.982-1.25-1.085-2.187l9.446.001v-.86c0-1.094-.14-2.06-.425-2.904-.283-.842-.68-1.549-1.188-2.12a5.049 5.049 0 00-1.832-1.317c-.713-.304-1.5-.456-2.361-.456a7.396 7.396 0 00-2.633.469 6.325 6.325 0 00-2.143 1.328 6.309 6.309 0 00-1.431 2.07c-.354.808-.53 1.706-.53 2.696 0 .99.176 1.888.529 2.695.333.78.82 1.483 1.432 2.07a6.288 6.288 0 002.142 1.328 7.396 7.396 0 002.633.469 7.101 7.101 0 002.814-.573c.894-.381 1.704-1.025 2.427-1.926l-2.22-1.693c-.388.48-.855.888-1.381 1.21-.526.322-1.175.483-1.95.483-.877 0-1.625-.261-2.244-.783zm4.413-6.705c.55.53.836 1.254.852 2.175h-6.35c.12-.903.452-1.623.995-2.162.54-.537 1.278-.807 2.207-.807.98 0 1.745.266 2.296.794z"></path><path d="M29.878 7.187H26.78v12.499h3.098v-6.693c0-.172.038-.433.116-.78.077-.348.232-.694.465-1.043.233-.346.568-.654 1.006-.923.44-.27 1.02-.405 1.742-.405.247 0 .493.023.736.066.256.045.51.101.761.169v-3.02a7.03 7.03 0 00-.554-.131 2.962 2.962 0 00-.555-.05c-.827 0-1.559.198-2.194.597-.636.4-1.129.964-1.473 1.693h-.05V7.187z"></path><path clip-rule="evenodd" d="M37.8 14.531c.102.937.465 1.666 1.084 2.186.619.522 1.367.783 2.245.783.775 0 1.424-.161 1.95-.483.525-.322.992-.73 1.38-1.21l2.22 1.693c-.722.901-1.532 1.545-2.426 1.926-.89.38-1.848.576-2.815.573a7.39 7.39 0 01-2.632-.469 6.287 6.287 0 01-2.142-1.328 6.302 6.302 0 01-1.432-2.07c-.353-.807-.53-1.705-.53-2.696 0-.989.177-1.887.53-2.695a6.3 6.3 0 011.432-2.07 6.325 6.325 0 012.142-1.328 7.39 7.39 0 012.633-.469c.86 0 1.648.152 2.361.456a5.05 5.05 0 011.833 1.316c.507.572.904 1.279 1.188 2.121.285.844.426 1.81.426 2.903v.861H37.8zm5.497-4.519c.55.53.834 1.254.852 2.175H37.8c.121-.903.452-1.623.995-2.162.54-.537 1.278-.807 2.207-.807.98 0 1.746.266 2.296.794zM51.173 0h-3.098v19.686h2.944V17.81h.051c.447.765 1.048 1.32 1.808 1.667.77.35 1.606.528 2.45.522.947 0 1.8-.17 2.557-.509a5.714 5.714 0 001.935-1.393 5.954 5.954 0 001.213-2.082 7.835 7.835 0 00.413-2.58c0-.92-.146-1.778-.44-2.576a6.398 6.398 0 00-1.225-2.085 5.68 5.68 0 00-1.896-1.394 5.772 5.772 0 00-2.426-.506 5.93 5.93 0 00-1.55.182 5.18 5.18 0 00-1.187.47c-.344.19-.636.394-.878.61-.241.219-.439.43-.593.638h-.078V0zm6.931 12.031c.163.45.245.92.245 1.405 0 .487-.082.956-.246 1.407a3.545 3.545 0 01-1.87 2.03 3.574 3.574 0 01-1.524.314 3.525 3.525 0 01-3.394-2.343 4.098 4.098 0 01-.245-1.407c-.001-.48.081-.955.245-1.406A3.533 3.533 0 0153.186 10a3.584 3.584 0 011.523-.312c.568 0 1.076.104 1.523.312.434.2.825.482 1.15.833.317.349.557.746.722 1.2z"></path><path d="M65.882 7.187h-3.097v12.499h3.098v-6.693c0-.172.038-.433.115-.78.078-.348.233-.694.466-1.043.232-.346.567-.654 1.006-.923.439-.27 1.019-.405 1.742-.405.246 0 .492.023.735.066.257.045.512.101.763.169v-3.02a7.065 7.065 0 00-.556-.131 2.942 2.942 0 00-.554-.05c-.825 0-1.558.198-2.194.597-.636.4-1.128.964-1.473 1.693h-.051V7.187z"></path><path clip-rule="evenodd" d="M78.943 17.969h.079l-.002 1.718h2.788v-7.188c0-.294-.008-.638-.026-1.028a6.951 6.951 0 00-.166-1.21 5.142 5.142 0 00-.466-1.238 3.4 3.4 0 00-.916-1.08c-.397-.312-.895-.569-1.497-.77-.603-.198-1.343-.299-2.22-.299a8.83 8.83 0 00-2.853.469 6.012 6.012 0 00-2.413 1.536l1.626 1.642a4.743 4.743 0 013.304-1.303c.826 0 1.506.196 2.039.587.533.39.8.976.8 1.757v.338h-.773c-.551.001-1.103.014-1.654.039-.584.026-1.165.088-1.741.182a9.606 9.606 0 00-1.665.43 4.88 4.88 0 00-1.407.768 3.555 3.555 0 00-.967 1.199c-.241.478-.363 1.053-.363 1.731 0 .625.13 1.173.388 1.64.25.461.598.861 1.019 1.173.436.32.925.558 1.446.704a6.019 6.019 0 001.665.233 5.307 5.307 0 002.271-.481c.688-.321 1.257-.838 1.704-1.55zm-.749-3.881h.645v.703c0 .884-.254 1.584-.76 2.096-.51.513-1.295.768-2.362.768-.259 0-.516-.03-.775-.091a2.083 2.083 0 01-.698-.3 1.769 1.769 0 01-.503-.507c-.129-.2-.193-.447-.193-.742 0-.451.164-.803.49-1.055a3.465 3.465 0 011.202-.573 7.534 7.534 0 011.508-.247 22.752 22.752 0 011.446-.052z"></path><path d="M87.774 9.374c1.015 0 1.825.425 2.426 1.276l2.066-1.875a4.013 4.013 0 00-1.963-1.47 7.302 7.302 0 00-2.452-.43c-.618-.001-1.234.078-1.833.234a4.82 4.82 0 00-1.6.73c-.464.33-.839.75-1.123 1.262-.284.512-.425 1.116-.425 1.81 0 .798.163 1.424.49 1.876.322.446.747.807 1.239 1.052a6.22 6.22 0 001.614.547c.54.106 1.079.227 1.613.365.499.131.91.3 1.238.51.328.207.491.529.491.961 0 .245-.065.458-.194.64a1.578 1.578 0 01-.504.454c-.206.122-.429.21-.67.26a3.24 3.24 0 01-.697.079c-.654 0-1.21-.143-1.665-.428a5.852 5.852 0 01-1.277-1.11l-2.066 1.955c.637.729 1.36 1.232 2.168 1.51.81.278 1.696.417 2.66.417.642-.001 1.282-.07 1.91-.209a5.473 5.473 0 001.716-.676 3.78 3.78 0 001.238-1.238c.319-.51.477-1.14.477-1.888 0-.816-.163-1.458-.49-1.926a3.527 3.527 0 00-1.238-1.108 6.356 6.356 0 00-1.613-.598c-.577-.13-1.115-.256-1.614-.378-.5-.121-.911-.269-1.238-.442-.327-.173-.49-.452-.49-.834 0-.47.197-.806.593-1.016.396-.208.8-.312 1.213-.312zM9.95 10.026c.422.246.805.553 1.137.911l2.142-2.162a5.428 5.428 0 00-2.104-1.446 6.713 6.713 0 00-2.388-.455 7.386 7.386 0 00-2.632.468 6.316 6.316 0 00-2.142 1.329 6.266 6.266 0 00-1.432 2.07C2.177 11.55 2 12.449 2 13.437c0 .99.177 1.887.53 2.695.333.78.82 1.484 1.433 2.07a6.294 6.294 0 002.142 1.33 7.384 7.384 0 002.632.467c.276 0 .603-.03.982-.09a7.502 7.502 0 002.413-.846 4.813 4.813 0 001.072-.808l-2.066-2.24c-.278.37-.64.67-1.058.873-.413.198-.86.3-1.343.3-.567 0-1.075-.105-1.521-.312a3.553 3.553 0 01-1.873-2.032 4.107 4.107 0 01-.246-1.407c0-.48.082-.955.245-1.405a3.52 3.52 0 01.724-1.198c.32-.349.701-.625 1.15-.835.446-.207.954-.311 1.521-.311.428.003.846.12 1.214.339z"></path></svg>`,ki=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Cerebras</title><path clip-rule="evenodd" d="M14.121 2.701a9.299 9.299 0 000 18.598V22.7c-5.91 0-10.7-4.791-10.7-10.701S8.21 1.299 14.12 1.299V2.7zm4.752 3.677A7.353 7.353 0 109.42 17.643l-.901 1.074a8.754 8.754 0 01-1.08-12.334 8.755 8.755 0 0112.335-1.08l-.901 1.075zm-2.255.844a5.407 5.407 0 00-5.048 9.563l-.656 1.24a6.81 6.81 0 016.358-12.043l-.654 1.24zM14.12 8.539a3.46 3.46 0 100 6.922v1.402a4.863 4.863 0 010-9.726v1.402z"></path><path d="M15.407 10.836a2.24 2.24 0 00-.51-.409 1.084 1.084 0 00-.544-.152c-.255 0-.483.047-.684.14a1.58 1.58 0 00-.84.912c-.074.203-.11.416-.11.631 0 .218.036.43.11.631a1.594 1.594 0 00.84.913c.2.093.43.14.684.14.216 0 .417-.046.602-.135.188-.09.35-.225.475-.392l.928 1.006c-.14.14-.3.261-.482.363a3.367 3.367 0 01-1.083.38c-.17.026-.317.04-.44.04a3.315 3.315 0 01-1.182-.21 2.825 2.825 0 01-.961-.597 2.816 2.816 0 01-.644-.929 2.987 2.987 0 01-.238-1.21c0-.444.08-.847.238-1.21.15-.35.368-.666.643-.929.278-.261.605-.464.962-.596a3.315 3.315 0 011.182-.21c.355 0 .712.068 1.072.204.361.138.685.36.944.649l-.962.97z"></path></svg>`,Ai=`<svg height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Cloudflare</title><path d="M16.493 17.4c.135-.52.08-.983-.161-1.338-.215-.328-.592-.519-1.05-.519l-8.663-.109a.148.148 0 01-.135-.082c-.027-.054-.027-.109-.027-.163.027-.082.108-.164.189-.164l8.744-.11c1.05-.054 2.153-.9 2.556-1.937l.511-1.31c.027-.055.027-.11.027-.164C17.92 8.91 15.66 7 12.942 7c-2.503 0-4.628 1.638-5.381 3.903a2.432 2.432 0 00-1.803-.491c-1.21.109-2.153 1.092-2.287 2.32-.027.328 0 .628.054.9C1.56 13.688 0 15.326 0 17.319c0 .19.027.355.027.545 0 .082.08.137.161.137h15.983c.08 0 .188-.055.215-.164l.107-.437" fill="#F38020"></path><path d="M19.238 11.75h-.242c-.054 0-.108.054-.135.109l-.35 1.2c-.134.52-.08.983.162 1.338.215.328.592.518 1.05.518l1.855.11c.054 0 .108.027.135.082.027.054.027.109.027.163-.027.082-.108.164-.188.164l-1.91.11c-1.05.054-2.153.9-2.557 1.937l-.134.355c-.027.055.026.137.107.137h6.592c.081 0 .162-.055.162-.137.107-.41.188-.846.188-1.31-.027-2.62-2.153-4.777-4.762-4.777" fill="#FCAD32"></path></svg>`,ji=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 242 24" xmlns="http://www.w3.org/2000/svg"><title>Cloudflare</title><path d="M28.4 2.395h5.386v14.606h9.326v4.736H28.4V2.395zM16.71 14.369c-.787 1.71-2.363 2.894-4.465 2.894-2.89 0-4.86-2.368-4.86-5.263 0-2.764 1.97-5.132 4.86-5.132 2.232 0 3.81 1.316 4.597 3.158h5.647C21.571 5.421 17.5 2 12.377 2 6.467 2 2 6.474 2 12s4.335 10 10.377 10c5.122 0 9.062-3.289 10.112-7.763H16.71v.132zM224.37 2.395h15.499v4.606h-10.114v2.894h9.194v4.21h-9.194v3.027H240v4.605h-15.63V2.395zm-24.693 0h9.062c2.89 0 4.991.79 6.305 2.105 1.182 1.052 1.708 2.632 1.708 4.474 0 2.894-1.576 4.868-3.94 5.921l4.596 6.71h-6.174l-3.939-5.79h-2.365v5.79h-5.386V2.395h.133zm8.8 9.211c1.838 0 2.889-.921 2.889-2.238 0-1.579-1.05-2.237-2.89-2.237l-3.546.001v4.605h3.547v-.13zm-29.028-9.343h5.122l8.144 19.474h-5.78l-1.444-3.421h-7.486l-1.315 3.42h-5.516l8.275-19.473zm4.598 11.842l-2.103-5.526-2.232 5.526h4.335zm-33.232-11.71h5.386v14.606h9.325v4.736h-14.711V2.395zm-22.854 0h15.367v4.737h-9.981v3.158h9.062v4.474h-9.062v6.973h-5.386V2.395zm-26.007 0h7.488c6.829 0 10.9 3.947 10.9 9.473 0 5.526-4.071 9.737-11.032 9.737h-7.356V2.395zm7.488 14.606c3.151 0 5.253-1.712 5.253-4.87 0-3.025-2.102-4.868-5.253-4.868h-2.233v9.87h2.233V17zm-33.625-3.816V2.395H81.2v10.658c0 2.763 1.445 4.078 3.547 4.078 2.101 0 3.547-1.315 3.547-3.946V2.263h5.385v10.659c0 6.183-3.548 8.946-9.063 8.946-5.386.132-8.8-2.63-8.8-8.683zm-27.19-1.053C48.628 6.474 53.095 2 59.006 2c5.91 0 10.375 4.474 10.375 10s-4.465 10-10.375 10c-6.042 0-10.377-4.342-10.377-9.868zm15.237 0c0-2.896-1.97-5.264-4.99-5.264-2.891 0-4.861 2.368-4.861 5.132s1.97 5.263 4.86 5.263c3.02 0 4.99-2.368 4.99-5.131z"></path></svg>`,Mi=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Cloudflare</title><path d="M16.493 17.4c.135-.52.08-.983-.161-1.338-.215-.328-.592-.519-1.05-.519l-8.663-.109a.148.148 0 01-.135-.082c-.027-.054-.027-.109-.027-.163.027-.082.108-.164.189-.164l8.744-.11c1.05-.054 2.153-.9 2.556-1.937l.511-1.31c.027-.055.027-.11.027-.164C17.92 8.91 15.66 7 12.942 7c-2.503 0-4.628 1.638-5.381 3.903a2.432 2.432 0 00-1.803-.491c-1.21.109-2.153 1.092-2.287 2.32-.027.328 0 .628.054.9C1.56 13.688 0 15.326 0 17.319c0 .19.027.355.027.545 0 .082.08.137.161.137h15.983c.08 0 .188-.055.215-.164l.107-.437"></path><path d="M19.238 11.75h-.242c-.054 0-.108.054-.135.109l-.35 1.2c-.134.52-.08.983.162 1.338.215.328.592.518 1.05.518l1.855.11c.054 0 .108.027.135.082.027.054.027.109.027.163-.027.082-.108.164-.188.164l-1.91.11c-1.05.054-2.153.9-2.557 1.937l-.134.355c-.027.055.026.137.107.137h6.592c.081 0 .162-.055.162-.137.107-.41.188-.846.188-1.31-.027-2.62-2.153-4.777-4.762-4.777"></path></svg>`,Ni=`<svg height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Gemini</title><path d="M20.616 10.835a14.147 14.147 0 01-4.45-3.001 14.111 14.111 0 01-3.678-6.452.503.503 0 00-.975 0 14.134 14.134 0 01-3.679 6.452 14.155 14.155 0 01-4.45 3.001c-.65.28-1.318.505-2.002.678a.502.502 0 000 .975c.684.172 1.35.397 2.002.677a14.147 14.147 0 014.45 3.001 14.112 14.112 0 013.679 6.453.502.502 0 00.975 0c.172-.685.397-1.351.677-2.003a14.145 14.145 0 013.001-4.45 14.113 14.113 0 016.453-3.678.503.503 0 000-.975 13.245 13.245 0 01-2.003-.678z" fill="#3186FF"></path><path d="M20.616 10.835a14.147 14.147 0 01-4.45-3.001 14.111 14.111 0 01-3.678-6.452.503.503 0 00-.975 0 14.134 14.134 0 01-3.679 6.452 14.155 14.155 0 01-4.45 3.001c-.65.28-1.318.505-2.002.678a.502.502 0 000 .975c.684.172 1.35.397 2.002.677a14.147 14.147 0 014.45 3.001 14.112 14.112 0 013.679 6.453.502.502 0 00.975 0c.172-.685.397-1.351.677-2.003a14.145 14.145 0 013.001-4.45 14.113 14.113 0 016.453-3.678.503.503 0 000-.975 13.245 13.245 0 01-2.003-.678z" fill="url(#lobe-icons-gemini-0-_R_0_)"></path><path d="M20.616 10.835a14.147 14.147 0 01-4.45-3.001 14.111 14.111 0 01-3.678-6.452.503.503 0 00-.975 0 14.134 14.134 0 01-3.679 6.452 14.155 14.155 0 01-4.45 3.001c-.65.28-1.318.505-2.002.678a.502.502 0 000 .975c.684.172 1.35.397 2.002.677a14.147 14.147 0 014.45 3.001 14.112 14.112 0 013.679 6.453.502.502 0 00.975 0c.172-.685.397-1.351.677-2.003a14.145 14.145 0 013.001-4.45 14.113 14.113 0 016.453-3.678.503.503 0 000-.975 13.245 13.245 0 01-2.003-.678z" fill="url(#lobe-icons-gemini-1-_R_0_)"></path><path d="M20.616 10.835a14.147 14.147 0 01-4.45-3.001 14.111 14.111 0 01-3.678-6.452.503.503 0 00-.975 0 14.134 14.134 0 01-3.679 6.452 14.155 14.155 0 01-4.45 3.001c-.65.28-1.318.505-2.002.678a.502.502 0 000 .975c.684.172 1.35.397 2.002.677a14.147 14.147 0 014.45 3.001 14.112 14.112 0 013.679 6.453.502.502 0 00.975 0c.172-.685.397-1.351.677-2.003a14.145 14.145 0 013.001-4.45 14.113 14.113 0 016.453-3.678.503.503 0 000-.975 13.245 13.245 0 01-2.003-.678z" fill="url(#lobe-icons-gemini-2-_R_0_)"></path><defs><linearGradient gradientUnits="userSpaceOnUse" id="lobe-icons-gemini-0-_R_0_" x1="7" x2="11" y1="15.5" y2="12"><stop stop-color="#08B962"></stop><stop offset="1" stop-color="#08B962" stop-opacity="0"></stop></linearGradient><linearGradient gradientUnits="userSpaceOnUse" id="lobe-icons-gemini-1-_R_0_" x1="8" x2="11.5" y1="5.5" y2="11"><stop stop-color="#F94543"></stop><stop offset="1" stop-color="#F94543" stop-opacity="0"></stop></linearGradient><linearGradient gradientUnits="userSpaceOnUse" id="lobe-icons-gemini-2-_R_0_" x1="3.5" x2="17.5" y1="13.5" y2="12"><stop stop-color="#FABC12"></stop><stop offset=".46" stop-color="#FABC12" stop-opacity="0"></stop></linearGradient></defs></svg>`,Pi=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 98 24" xmlns="http://www.w3.org/2000/svg"><title>Gemini</title><path d="M21.186 12.67c0 2.649-.786 4.759-2.359 6.33-1.766 1.87-4.09 2.806-6.969 2.806-2.756 0-5.088-.953-6.996-2.86C2.954 17.04 2 14.693 2 11.904c0-2.789.954-5.137 2.862-7.043C6.77 2.953 9.102 2 11.858 2c1.396 0 2.712.247 3.949.741 1.236.495 2.252 1.192 3.047 2.092l-1.749 1.748c-.583-.706-1.338-1.258-2.266-1.655a7.49 7.49 0 00-2.981-.596c-2.067 0-3.816.715-5.247 2.145-1.413 1.448-2.12 3.257-2.12 5.428s.707 3.98 2.12 5.428c1.431 1.43 3.18 2.145 5.247 2.145 1.89 0 3.463-.53 4.717-1.588 1.254-1.06 1.979-2.516 2.173-4.37h-6.89v-2.277h9.196c.088.495.132.971.132 1.43m7.652-4.633c1.946 0 3.494.629 4.645 1.886 1.15 1.257 1.726 3.018 1.726 5.282l-.027.268H24.877c.036 1.284.464 2.318 1.285 3.102.82.785 1.802 1.177 2.944 1.177 1.57 0 2.802-.784 3.694-2.354l2.195 1.07a6.54 6.54 0 01-2.45 2.595C31.503 21.688 30.32 22 29 22c-1.927 0-3.516-.66-4.765-1.98-1.249-1.319-1.873-2.986-1.873-5.001 0-1.997.606-3.66 1.82-4.988 1.213-1.329 2.766-1.993 4.657-1.993m-.053 2.247c-.928 0-1.727.285-2.396.856-.67.57-1.11 1.337-1.325 2.3h7.522c-.071-.91-.442-1.663-1.111-2.26-.67-.598-1.566-.896-2.69-.896M39.247 21.53h-2.455V8.465h2.348v1.813h.107c.374-.64.947-1.173 1.721-1.6.774-.427 1.544-.64 2.309-.64.96 0 1.806.222 2.535.667a3.931 3.931 0 011.601 1.84c1.085-1.671 2.589-2.507 4.51-2.507 1.513 0 2.678.462 3.496 1.387.819.924 1.228 2.24 1.228 3.946v8.16h-2.455v-7.786c0-1.227-.223-2.112-.668-2.654-.444-.542-1.192-.813-2.241-.813-.943 0-1.735.4-2.375 1.2-.64.8-.961 1.742-.961 2.826v7.227h-2.455v-7.786c0-1.227-.223-2.112-.668-2.654-.444-.542-1.191-.813-2.241-.813-.943 0-1.735.4-2.375 1.2-.64.8-.961 1.742-.961 2.826v7.227zM61.911 3.93c0 .48-.17.89-.508 1.228a1.675 1.675 0 01-1.23.508c-.48 0-.89-.17-1.229-.508a1.673 1.673 0 01-.508-1.228c0-.481.17-.89.508-1.229a1.675 1.675 0 011.23-.508c.48 0 .89.17 1.23.508.338.338.507.748.507 1.228m-.11 4.514v13.088h-2.857V8.443h2.857zM80 3.93c0 .48-.17.89-.508 1.228a1.675 1.675 0 01-1.23.508c-.48 0-.89-.17-1.229-.508a1.673 1.673 0 01-.508-1.228c0-.481.17-.89.508-1.229a1.675 1.675 0 011.23-.508c.48 0 .89.17 1.23.508.338.338.507.748.507 1.228m-.11 4.514v13.088h-2.857V8.443h2.857zm-16.343.022h2.349v1.813h.107c.373-.64.947-1.173 1.721-1.6a4.935 4.935 0 012.415-.64c1.601 0 2.833.458 3.696 1.373.863.916 1.294 2.218 1.294 3.907v8.213h-2.455v-8.053c-.053-2.133-1.13-3.2-3.229-3.2-.978 0-1.797.395-2.455 1.187-.658.79-.987 1.737-.987 2.84v7.226h-2.456V8.465z"></path></svg>`,Fi=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Gemini</title><path d="M20.616 10.835a14.147 14.147 0 01-4.45-3.001 14.111 14.111 0 01-3.678-6.452.503.503 0 00-.975 0 14.134 14.134 0 01-3.679 6.452 14.155 14.155 0 01-4.45 3.001c-.65.28-1.318.505-2.002.678a.502.502 0 000 .975c.684.172 1.35.397 2.002.677a14.147 14.147 0 014.45 3.001 14.112 14.112 0 013.679 6.453.502.502 0 00.975 0c.172-.685.397-1.351.677-2.003a14.145 14.145 0 013.001-4.45 14.113 14.113 0 016.453-3.678.503.503 0 000-.975 13.245 13.245 0 01-2.003-.678z"></path></svg>`,Ii=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 78 24" xmlns="http://www.w3.org/2000/svg"><title>Github</title><path d="M16.598 10.836v9.48c0 .066-.017.181-.1.214 0 0-2.07 1.47-5.484 1.47C6.888 22 2 20.712 2 12.223 2 3.734 6.275 1.983 10.45 2c3.613 0 5.07.81 5.303.958.066.083.1.149.1.231l-.697 2.94c0 .149-.149.33-.331.28-.597-.18-1.491-.544-3.596-.544-2.435 0-5.053.693-5.053 6.16 0 5.466 2.485 6.11 4.275 6.11 1.524 0 2.07-.181 2.07-.181v-3.799h-2.435c-.182 0-.315-.132-.315-.28v-3.04c0-.148.133-.28.315-.28h6.197c.182 0 .315.132.315.28zM76 14.684c0 5.664-1.84 7.283-5.054 7.283-2.717 0-4.175-1.37-4.175-1.37s-.067.759-.15.858c-.05.1-.132.132-.231.132h-2.453c-.165 0-.315-.132-.315-.28l.034-18.349a.29.29 0 01.281-.28h3.53a.29.29 0 01.281.28v6.226s1.359-.875 3.347-.875l-.016-.033c1.988 0 4.921.743 4.921 6.408zM47.865 2.71a.29.29 0 01.281.281V21.34a.29.29 0 01-.281.281h-3.53a.29.29 0 01-.281-.28l.033-7.845h-5.485v7.844a.29.29 0 01-.281.281h-3.53c-.132 0-.281-.132-.281-.28V2.99a.29.29 0 01.281-.28h3.53a.29.29 0 01.281.28v6.755h5.485V2.99a.29.29 0 01.282-.28h3.496zM61.55 8.722c.183 0 .315.132.315.28l-.033 12.337c0 .149-.1.281-.282.281h-2.22c-.116 0-.232-.066-.265-.148-.05-.1-.133-.744-.133-.744S57.061 22 54.758 22c-2.8 0-4.839-.908-4.839-4.542V9.02a.29.29 0 01.282-.28h3.546a.29.29 0 01.282.28v7.845c0 1.238.364 1.8 1.607 1.8 1.243 0 2.154-.644 2.154-.644V9.036c0-.182.1-.314.282-.314h3.48zm-28.84 9.861h.007c.14.029.239.154.234.296v2.477c0 .116-.05.231-.149.264-.166.083-1.226.363-2.104.363-1.922 0-4.74-.412-4.74-4.442v-5.417H24.12c-.149 0-.281-.132-.281-.314V9.564c0-.132.083-.248.215-.28.116-.017 1.922-.463 1.922-.463V5.237c0-.132.083-.215.232-.215h3.58c.148 0 .231.083.231.215v3.485h2.635c.132 0 .265.132.265.28v2.808c0 .182-.116.314-.265.314h-2.635v5.17c0 .777.448 1.372 1.74 1.372.41 0 .797-.081.951-.083zM22.28 8.705a.29.29 0 01.282.281v12.172c0 .297-.083.446-.414.446h-3.182c-.281 0-.497-.116-.497-.446V9.036c0-.182.133-.33.282-.33h3.53zm49.693 6.243c0-2.99-1.21-3.386-2.486-3.253-.994.066-1.79.561-1.79.561v5.813s.813.562 2.022.595c1.707.05 2.254-.562 2.254-3.716zM20.54 3.123a2.26 2.26 0 012.254 2.28A2.26 2.26 0 0120.54 7.68a2.266 2.266 0 01-2.286-2.279c0-1.271 1.01-2.279 2.286-2.279z"></path></svg>`,Li=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Github</title><path d="M12 0c6.63 0 12 5.276 12 11.79-.001 5.067-3.29 9.567-8.175 11.187-.6.118-.825-.25-.825-.56 0-.398.015-1.665.015-3.242 0-1.105-.375-1.813-.81-2.181 2.67-.295 5.475-1.297 5.475-5.822 0-1.297-.465-2.344-1.23-3.169.12-.295.54-1.503-.12-3.125 0 0-1.005-.324-3.3 1.209a11.32 11.32 0 00-3-.398c-1.02 0-2.04.133-3 .398-2.295-1.518-3.3-1.209-3.3-1.209-.66 1.622-.24 2.83-.12 3.125-.765.825-1.23 1.887-1.23 3.169 0 4.51 2.79 5.527 5.46 5.822-.345.294-.66.81-.765 1.577-.69.31-2.415.81-3.495-.973-.225-.354-.9-1.223-1.845-1.209-1.005.015-.405.56.015.781.51.28 1.095 1.327 1.23 1.666.24.663 1.02 1.93 4.035 1.385 0 .988.015 1.916.015 2.196 0 .31-.225.664-.825.56C3.303 21.374-.003 16.867 0 11.791 0 5.276 5.37 0 12 0z"></path></svg>`,Ri=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 64 24" xmlns="http://www.w3.org/2000/svg"><title>Groq</title><path d="M37.925 2.039c4.142 0 7.509 3.368 7.509 7.528l-.004.244c-.128 4.047-3.437 7.284-7.505 7.284-4.15 0-7.509-3.368-7.509-7.528s3.36-7.528 7.509-7.528zm-11.144-.023c.26 0 .522.015.775.046l.015-.008a7.464 7.464 0 012.922.969L29.09 5.468a4.619 4.619 0 00-2.309-.6h-.253l-.253.016c-.338.03-.66.092-.982.177-.621.169-1.196.469-1.703.869a4.062 4.062 0 00-1.418 2.322l-.04.234-.03.235c-.007.077-.023.161-.023.238l-.014 2.713v2.593l-.016 2.522h-2.815l-.03-4.973V8.852c0-.139.015-.262.022-.392.023-.262.062-.523.115-.777.1-.523.269-1.03.491-1.515a6.998 6.998 0 011.948-2.484 7.465 7.465 0 012.754-1.391c.49-.131.99-.216 1.495-.254.123-.008.253-.023.376-.023h.376zM37.925 4.86a4.7 4.7 0 00-4.694 4.706 4.7 4.7 0 004.694 4.706 4.7 4.7 0 004.694-4.706l-.005-.216a4.7 4.7 0 00-4.689-4.49zM9.578 2C5.428 1.96 2.038 5.298 2 9.458c-.038 4.16 3.29 7.559 7.44 7.597h2.608v-2.822h-2.47c-2.592.031-4.717-2.053-4.748-4.652a4.7 4.7 0 014.64-4.76h.108c2.52 0 4.577 1.992 4.696 4.49l.005.216v6.936c0 2.576-2.093 4.676-4.655 4.706a4.663 4.663 0 01-3.267-1.376l-1.994 2A7.46 7.46 0 009.57 24h.1c4.096-.062 7.386-3.391 7.409-7.497V9.35c-.1-4.09-3.428-7.35-7.501-7.35zm44.929.038c-4.15 0-7.509 3.368-7.509 7.528s3.36 7.528 7.509 7.528h2.57v-2.822h-2.57a4.7 4.7 0 01-4.694-4.706 4.7 4.7 0 014.694-4.706A4.707 4.707 0 0159.16 8.94l.024.22v14.456H62V9.566c-.008-4.152-3.352-7.527-7.493-7.527z"></path></svg>`,zi=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Groq</title><path d="M12.036 2c-3.853-.035-7 3-7.036 6.781-.035 3.782 3.055 6.872 6.908 6.907h2.42v-2.566h-2.292c-2.407.028-4.38-1.866-4.408-4.23-.029-2.362 1.901-4.298 4.308-4.326h.1c2.407 0 4.358 1.915 4.365 4.278v6.305c0 2.342-1.944 4.25-4.323 4.279a4.375 4.375 0 01-3.033-1.252l-1.851 1.818A7 7 0 0012.029 22h.092c3.803-.056 6.858-3.083 6.879-6.816v-6.5C18.907 4.963 15.817 2 12.036 2z"></path></svg>`,Bi=`<svg height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Mistral</title><path d="M3.428 3.4h3.429v3.428H3.428V3.4zm13.714 0h3.43v3.428h-3.43V3.4z" fill="gold"></path><path d="M3.428 6.828h6.857v3.429H3.429V6.828zm10.286 0h6.857v3.429h-6.857V6.828z" fill="#FFAF00"></path><path d="M3.428 10.258h17.144v3.428H3.428v-3.428z" fill="#FF8205"></path><path d="M3.428 13.686h3.429v3.428H3.428v-3.428zm6.858 0h3.429v3.428h-3.429v-3.428zm6.856 0h3.43v3.428h-3.43v-3.428z" fill="#FA500F"></path><path d="M0 17.114h10.286v3.429H0v-3.429zm13.714 0H24v3.429H13.714v-3.429z" fill="#E10500"></path></svg>`,Vi=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 134 24" xmlns="http://www.w3.org/2000/svg"><title>Mistral</title><path d="M2 22.638V1h6.55l3.933 14.76L16.37 1h6.565v21.638H18.87V5.605l-4.302 17.033h-4.214L6.066 5.605v17.033H2zm25.011-17.8V1.002h4.155V4.84h-4.155zm0 17.801V6.964h4.155V22.64h-4.155zm6.707-4.473l4.17-.635c.177.807.536 1.42 1.079 1.838.986.864 3.753.796 4.702.036.588-.404.753-1.367.25-1.89-.206-.196-.67-.378-1.389-.545-3.351-.738-5.475-1.412-6.372-2.022-2.418-1.526-2.465-5.18-.252-6.952 1.76-1.8 7.852-1.78 9.788-.34 1.045.699 1.764 1.732 2.159 3.1l-3.918.723c-.413-1.402-1.417-1.886-2.957-1.89-1.094 0-1.878.154-2.35.458-.591.383-.651 1.179-.06 1.595.374.275 1.668.664 3.88 1.165 2.213.502 3.759 1.117 4.636 1.845 1.993 1.694 1.615 5.13-.503 6.79-2.087 2.01-8.091 2.034-10.416.25-1.247-.865-2.063-2.04-2.447-3.527zm31.88 4.472h-4.154V6.963h3.86v2.229c.66-1.053 1.253-1.747 1.78-2.081 1.374-.857 3.144-.536 4.532.28l-1.286 3.617c-1.877-1.247-3.849-.81-4.384 1.535-.468 1.352-.329 7.76-.347 10.096zm10.67-10.892l-3.77-.679c1.014-3.408 3.08-4.43 6.801-4.457 2.81.037 4.804.362 6.055 2.324.37.674.554 1.912.554 3.713.013 1.729-.178 6.48.155 7.889.133.654.382 1.355.747 2.103H82.7c-.124-.272-.411-1.286-.547-1.712-1.378 1.335-2.97 2.066-4.865 2.067-2.945.058-5.22-1.756-5.219-4.635-.011-1.72.87-3.225 2.418-3.963.764-.37 1.865-.691 3.304-.967 1.942-.364 3.287-.703 4.037-1.018v-.413c0-.797-.197-1.366-.591-1.705-.57-.582-3.147-.744-3.963-.074-.414.29-.75.8-1.006 1.527zm5.56 3.365c-.757.315-4.139.86-4.79 1.358-1.077.707-1.038 2.141-.163 2.967 1.017.987 2.672.733 3.8-.103 1.374-.983 1.117-2.455 1.153-4.221zm7.933 7.527V1h4.155v21.638H89.76zm35.917 0h-4.761l-1.892-4.915h-8.665l-1.789 4.915h-4.643L112.371 1h4.627l8.679 21.638h.001zm-8.058-8.56l-2.987-8.03-2.927 8.03h5.914zm10.004 8.56V1H132v21.638h-4.376zM58.98 6.964v3.307H56.14v6.317l.081 2.236c.434 1.136 1.612.712 2.743.332l.355 3.218c-2.416 1.02-6.87 1.14-7.215-2.346-.096-.537-.123-1.89-.133-3.44v-6.317h-1.908V6.965h1.908V3.85l4.17-2.42v5.535h2.838z"></path></svg>`,Hi=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Mistral</title><path clip-rule="evenodd" d="M3.428 3.4h3.429v3.428h3.429v3.429h-.002 3.431V6.828h3.427V3.4h3.43v13.714H24v3.429H13.714v-3.428h-3.428v-3.429h-3.43v3.428h3.43v3.429H0v-3.429h3.428V3.4zm10.286 13.715h3.428v-3.429h-3.427v3.429z"></path></svg>`,Ui=`<svg height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Nvidia</title><path d="M10.212 8.976V7.62c.127-.01.256-.017.388-.021 3.596-.117 5.957 3.184 5.957 3.184s-2.548 3.647-5.282 3.647a3.227 3.227 0 01-1.063-.175v-4.109c1.4.174 1.681.812 2.523 2.258l1.873-1.627a4.905 4.905 0 00-3.67-1.846 6.594 6.594 0 00-.729.044m0-4.476v2.025c.13-.01.259-.019.388-.024 5.002-.174 8.261 4.226 8.261 4.226s-3.743 4.69-7.643 4.69c-.338 0-.675-.031-1.007-.092v1.25c.278.038.558.057.838.057 3.629 0 6.253-1.91 8.794-4.169.421.347 2.146 1.193 2.501 1.564-2.416 2.083-8.048 3.763-11.24 3.763-.308 0-.603-.02-.894-.048V19.5H24v-15H10.21zm0 9.756v1.068c-3.356-.616-4.287-4.21-4.287-4.21a7.173 7.173 0 014.287-2.138v1.172h-.005a3.182 3.182 0 00-2.502 1.178s.615 2.276 2.507 2.931m-5.961-3.3c1.436-1.935 3.604-3.148 5.961-3.336V6.523C5.81 6.887 2 10.723 2 10.723s2.158 6.427 8.21 7.015v-1.166C5.77 16 4.25 10.958 4.25 10.958h-.002z" fill="#74B71B" fill-rule="nonzero"></path></svg>`,Wi=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 111 24" xmlns="http://www.w3.org/2000/svg"><title>Nvidia</title><path d="M46.495 2.027v19.965h5.656V2.027h-5.656zM2 2v19.992h5.706V6.48l4.452.015a4.088 4.088 0 013.183 1.101c.894.951 1.26 2.483 1.26 5.287V22h5.529V10.949c0-7.883-5.035-8.946-9.972-8.946L2 2zm53.604.027v19.965h9.174c4.882 0 6.482-.81 8.208-2.626a11.156 11.156 0 002.008-7.136c.109-2.423-.53-4.82-1.831-6.869-2.095-2.788-5.114-3.332-9.621-3.332l-7.938-.002zm5.61 4.347h2.432c3.527 0 5.81 1.58 5.81 5.678 0 4.097-2.289 5.679-5.81 5.679h-2.432V6.374zM38.34 2.027L33.62 17.845 29.096 2.027h-6.102l6.46 19.965h8.151l6.51-19.965h-5.774zm39.285 19.965h5.657V2.03h-5.659l.002 19.963zm15.86-19.957l-7.898 19.95h5.578l1.25-3.526h9.346l1.183 3.526H109l-7.958-19.952-7.555.002zm3.673 3.64l3.427 9.346h-6.96l3.533-9.346z"></path></svg>`,Gi=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Nvidia</title><path d="M10.212 8.976V7.62c.127-.01.256-.017.388-.021 3.596-.117 5.957 3.184 5.957 3.184s-2.548 3.647-5.282 3.647a3.227 3.227 0 01-1.063-.175v-4.109c1.4.174 1.681.812 2.523 2.258l1.873-1.627a4.905 4.905 0 00-3.67-1.846 6.594 6.594 0 00-.729.044m0-4.476v2.025c.13-.01.259-.019.388-.024 5.002-.174 8.261 4.226 8.261 4.226s-3.743 4.69-7.643 4.69c-.338 0-.675-.031-1.007-.092v1.25c.278.038.558.057.838.057 3.629 0 6.253-1.91 8.794-4.169.421.347 2.146 1.193 2.501 1.564-2.416 2.083-8.048 3.763-11.24 3.763-.308 0-.603-.02-.894-.048V19.5H24v-15H10.21zm0 9.756v1.068c-3.356-.616-4.287-4.21-4.287-4.21a7.173 7.173 0 014.287-2.138v1.172h-.005a3.182 3.182 0 00-2.502 1.178s.615 2.276 2.507 2.931m-5.961-3.3c1.436-1.935 3.604-3.148 5.961-3.336V6.523C5.81 6.887 2 10.723 2 10.723s2.158 6.427 8.21 7.015v-1.166C5.77 16 4.25 10.958 4.25 10.958h-.002z"></path></svg>`,Ki=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 138 24" xmlns="http://www.w3.org/2000/svg"><title>opencode</title><path d="M12.429 17.143H5.57v-6.857h6.858v6.857z" fill-opacity=".25"></path><path d="M12.428 6.857H5.571v10.286h6.857V6.857zm3.43 13.715H2.142V3.429h13.714v17.143z" fill-opacity=".75"></path><path d="M29.571 17.143h-6.857v-6.857h6.857v6.857z" fill-opacity=".25"></path><path d="M22.714 17.143h6.858V6.857h-6.858v10.286zM33 20.572H22.714V24h-3.428V3.43H33v17.143z" fill-opacity=".75"></path><path d="M50.143 13.714v3.429H39.857v-3.429h10.286z" fill-opacity=".25"></path><path d="M50.143 13.714H39.857v3.429h10.286v3.429H36.429V3.429h13.714v10.285zm-10.286-3.428h6.857V6.857h-6.857v3.429z" fill-opacity=".75"></path><path d="M63.857 20.571H57V10.286h6.857V20.57z" fill-opacity=".25"></path><path d="M63.857 6.857H57v13.715h-3.429V3.429h10.286v3.428zm3.429 13.715h-3.429V6.857h3.429v13.715z" fill-opacity=".75"></path><path d="M84.428 17.143H74.144v-6.857h10.285v6.857z" fill-opacity=".25"></path><path d="M84.428 6.857H74.144v10.286h10.285v3.429H70.715V3.429H84.43v3.428z"></path><path d="M98.143 17.143h-6.857v-6.857h6.857v6.857z" fill-opacity=".25"></path><path d="M98.143 6.857h-6.857v10.286h6.857V6.857zm3.428 13.715H87.857V3.429h13.714v17.143z"></path><path d="M115.286 17.143h-6.857v-6.857h6.857v6.857z" fill-opacity=".25"></path><path d="M115.286 6.857h-6.857v10.286h6.857V6.857zm3.428 13.714H105V3.43h10.286V0h3.428v20.571z"></path><path d="M135.857 13.714v3.429h-10.286v-3.429h10.286z" fill-opacity=".25"></path><path d="M125.571 6.857v3.429h6.858V6.857h-6.858zm10.286 6.857h-10.286v3.429h10.286v3.429h-13.714V3.429h13.714v10.285z"></path></svg>`,qi=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>opencode</title><path d="M16 6H8v12h8V6zm4 16H4V2h16v20z"></path></svg>`,Ji=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>OpenRouter</title><path d="M16.804 1.957l7.22 4.105v.087L16.73 10.21l.017-2.117-.821-.03c-1.059-.028-1.611.002-2.268.11-1.064.175-2.038.577-3.147 1.352L8.345 11.03c-.284.195-.495.336-.68.455l-.515.322-.397.234.385.23.53.338c.476.314 1.17.796 2.701 1.866 1.11.775 2.083 1.177 3.147 1.352l.3.045c.694.091 1.375.094 2.825.033l.022-2.159 7.22 4.105v.087L16.589 22l.014-1.862-.635.022c-1.386.042-2.137.002-3.138-.162-1.694-.28-3.26-.926-4.881-2.059l-2.158-1.5a21.997 21.997 0 00-.755-.498l-.467-.28a55.927 55.927 0 00-.76-.43C2.908 14.73.563 14.116 0 14.116V9.888l.14.004c.564-.007 2.91-.622 3.809-1.124l1.016-.58.438-.274c.428-.28 1.072-.726 2.686-1.853 1.621-1.133 3.186-1.78 4.881-2.059 1.152-.19 1.974-.213 3.814-.138l.02-1.907z"></path></svg>`,Yi=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 143 24" xmlns="http://www.w3.org/2000/svg"><title>OpenRouter</title><path d="M9.623 2c1.46 0 2.763.35 3.91 1.05 1.149.699 2.053 1.7 2.714 3.002.66 1.303.991 2.861.991 4.675 0 1.814-.33 3.372-.991 4.675-.66 1.302-1.565 2.303-2.713 3.003-1.148.7-2.452 1.049-3.91 1.049-1.465 0-2.772-.35-3.92-1.05-1.148-.699-2.052-1.701-2.713-3.007-.66-1.305-.991-2.862-.991-4.67 0-1.814.33-3.372.991-4.675.66-1.302 1.565-2.303 2.713-3.003C6.852 2.35 8.16 2 9.624 2zm0 2.34c-.974 0-1.844.244-2.61.734-.765.489-1.37 1.208-1.813 2.156-.443.949-.664 2.114-.664 3.497s.221 2.548.664 3.497c.444.948 1.048 1.667 1.813 2.156.766.49 1.636.735 2.61.735.97 0 1.838-.245 2.606-.735.768-.489 1.374-1.208 1.817-2.156.443-.949.665-2.114.665-3.497s-.222-2.548-.665-3.497c-.443-.948-1.049-1.667-1.817-2.156-.768-.49-1.637-.735-2.606-.735zm16.32 1.974c1.024 0 1.938.26 2.742.78s1.436 1.269 1.896 2.248c.46.979.69 2.156.69 3.534 0 1.377-.23 2.556-.686 3.538-.457.981-1.085 1.736-1.883 2.264-.799.529-1.71.793-2.734.793-.771 0-1.4-.13-1.887-.39-.488-.26-.869-.564-1.144-.913a6.908 6.908 0 01-.636-.929h-.149V24h-2.47V6.48h2.412v2.065h.207c.143-.265.35-.572.62-.92.27-.349.643-.655 1.123-.917.479-.263 1.112-.394 1.9-.394zm-.528 2.107c-.716 0-1.32.185-1.813.556-.493.37-.866.887-1.12 1.55-.253.665-.38 1.439-.38 2.324 0 .896.13 1.68.389 2.356.259.674.633 1.201 1.123 1.58s1.09.568 1.8.568c.738 0 1.355-.198 1.85-.593.496-.395.872-.933 1.128-1.613.256-.68.384-1.447.384-2.298 0-.84-.125-1.596-.376-2.265-.25-.67-.625-1.197-1.123-1.584-.498-.388-1.12-.581-1.862-.581zm13.387-2.107c.716 0 1.41.119 2.082.356a5.037 5.037 0 011.809 1.12c.534.51.955 1.169 1.263 1.979.309.81.463 1.793.463 2.949v.88l-9.016-.001.002.105c.03.732.178 1.364.445 1.895.3.597.72 1.052 1.26 1.364.539.313 1.17.469 1.89.469.469 0 .895-.068 1.28-.203a2.716 2.716 0 001-.61c.281-.271.496-.606.644-1.004l2.338.423a4.247 4.247 0 01-1.004 1.813c-.482.517-1.084.918-1.808 1.203-.725.284-1.549.427-2.474.427-1.25 0-2.325-.27-3.225-.809-.9-.54-1.594-1.3-2.082-2.281-.487-.982-.73-2.134-.73-3.455 0-1.306.243-2.456.73-3.451.488-.996 1.17-1.773 2.049-2.331.878-.559 1.906-.838 3.084-.838zm.017 2.049c-.694 0-1.298.17-1.813.51-.515.34-.911.782-1.19 1.327a3.778 3.778 0 00-.39 1.303l-.02.236h6.593c0-.653-.132-1.232-.397-1.738a3.022 3.022 0 00-1.11-1.199c-.477-.293-1.034-.44-1.673-.44zm10.29 3.293v7.566H46.64V6.48h2.37v2.074h.158a3.63 3.63 0 011.375-1.626c.625-.41 1.413-.614 2.366-.614.864 0 1.622.18 2.271.543.65.362 1.154.9 1.512 1.614.358.713.537 1.595.537 2.646v8.105h-2.47v-7.806c0-.924-.24-1.647-.718-2.17-.48-.522-1.137-.784-1.974-.784-.573 0-1.081.125-1.524.374a2.65 2.65 0 00-1.05 1.09c-.255.479-.383 1.055-.383 1.73zm17.122-9.424c1.31 0 2.4.227 3.266.68.868.454 1.516 1.08 1.945 1.88.43.799.645 1.72.645 2.766 0 1.04-.216 1.954-.649 2.742-.432.788-1.082 1.4-1.949 1.837a5.1 5.1 0 01-.501.22l3.743 6.865h-2.907l-3.436-6.43h-3.634v6.43h-2.552V2.232h6.029zm-.273 2.199h-3.204v6.155h3.237c.826 0 1.5-.119 2.02-.357s.901-.583 1.144-1.037c.242-.453.363-.998.363-1.634 0-.641-.122-1.197-.367-1.667-.246-.47-.628-.831-1.148-1.083-.52-.252-1.202-.377-2.045-.377zM79.66 6.314c1.19 0 2.227.273 3.114.821.886.548 1.575 1.316 2.065 2.306s.735 2.146.735 3.468c0 1.316-.245 2.466-.735 3.45-.49.985-1.179 1.751-2.065 2.299-.887.547-1.924.82-3.114.82s-2.227-.273-3.113-.82c-.887-.548-1.575-1.314-2.065-2.298-.49-.985-.735-2.135-.735-3.451 0-1.322.245-2.478.735-3.468.49-.99 1.178-1.758 2.065-2.306.886-.548 1.924-.821 3.113-.821zm.008 2.074c-.776 0-1.419.207-1.928.622-.51.415-.887.963-1.132 1.646a6.602 6.602 0 00-.367 2.244c0 .819.122 1.568.367 2.249.245.68.623 1.225 1.132 1.634.51.41 1.152.614 1.928.614.771 0 1.41-.205 1.917-.614.506-.41.882-.954 1.127-1.634.245-.68.367-1.43.367-2.249 0-.813-.122-1.56-.367-2.244-.245-.683-.62-1.231-1.127-1.646-.507-.415-1.146-.622-1.917-.622zm16.164 5.55V6.48h2.477v12.742h-2.428v-2.207h-.132a3.956 3.956 0 01-1.4 1.697c-.641.45-1.438.676-2.391.676-.815 0-1.535-.181-2.16-.544-.625-.362-1.115-.9-1.47-1.613-.355-.714-.533-1.596-.533-2.647V6.48h2.47v7.806c0 .868.24 1.56.718 2.074.48.514 1.102.771 1.867.771.462 0 .924-.116 1.383-.348.46-.232.843-.584 1.148-1.054.306-.47.456-1.067.45-1.792zm8.58-10.511v3.052h2.602v1.992h-2.602v7.01c0 .48.072.841.215 1.082.144.24.33.404.558.49.228.085.478.128.747.128.199 0 .372-.014.52-.041l.348-.067.446 2.05a4.42 4.42 0 01-.612.17c-.264.057-.594.09-.99.095a4.331 4.331 0 01-1.818-.349 3.12 3.12 0 01-1.362-1.128c-.347-.509-.52-1.148-.52-1.916l-.002-7.525h-1.857V6.48h1.857l.001-3.053h2.47zm9.961 2.887c.716 0 1.41.119 2.081.356a5.037 5.037 0 011.81 1.12c.533.51.954 1.169 1.263 1.979.308.81.462 1.793.462 2.949v.88l-9.016-.001.003.105c.03.732.178 1.364.445 1.895.3.597.72 1.052 1.259 1.364.54.313 1.17.469 1.891.469.468 0 .895-.068 1.28-.203a2.716 2.716 0 001-.61c.28-.271.495-.606.644-1.004l2.337.423a4.247 4.247 0 01-1.003 1.813c-.482.517-1.085.918-1.809 1.203-.724.284-1.548.427-2.473.427-1.25 0-2.325-.27-3.226-.809-.9-.54-1.594-1.3-2.08-2.281-.488-.982-.732-2.134-.732-3.455 0-1.306.244-2.456.731-3.451.487-.996 1.17-1.773 2.048-2.331.879-.559 1.907-.838 3.085-.838zm.017 2.049c-.694 0-1.298.17-1.813.51-.515.34-.911.782-1.19 1.327a3.778 3.778 0 00-.39 1.303l-.02.236h6.592c0-.653-.132-1.232-.396-1.738a3.022 3.022 0 00-1.11-1.199c-.477-.293-1.035-.44-1.673-.44zm7.821 10.859V6.48h2.387v2.024h.132a3.092 3.092 0 011.227-1.622 3.485 3.485 0 011.994-.593l.396.01.153.006c.212.011.379.025.5.042v2.372c-.1-.027-.275-.059-.529-.095a5.4 5.4 0 00-.76-.054c-.583 0-1.102.123-1.556.37a2.799 2.799 0 00-1.078 1.02 2.79 2.79 0 00-.397 1.48v7.782h-2.469z"></path></svg>`,Xi=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>OpenRouter</title><path d="M16.804 1.957l7.22 4.105v.087L16.73 10.21l.017-2.117-.821-.03c-1.059-.028-1.611.002-2.268.11-1.064.175-2.038.577-3.147 1.352L8.345 11.03c-.284.195-.495.336-.68.455l-.515.322-.397.234.385.23.53.338c.476.314 1.17.796 2.701 1.866 1.11.775 2.083 1.177 3.147 1.352l.3.045c.694.091 1.375.094 2.825.033l.022-2.159 7.22 4.105v.087L16.589 22l.014-1.862-.635.022c-1.386.042-2.137.002-3.138-.162-1.694-.28-3.26-.926-4.881-2.059l-2.158-1.5a21.997 21.997 0 00-.755-.498l-.467-.28a55.927 55.927 0 00-.76-.43C2.908 14.73.563 14.116 0 14.116V9.888l.14.004c.564-.007 2.91-.622 3.809-1.124l1.016-.58.438-.274c.428-.28 1.072-.726 2.686-1.853 1.621-1.133 3.186-1.78 4.881-2.059 1.152-.19 1.974-.213 3.814-.138l.02-1.907z"></path></svg>`,Zi=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 298.03 47.18" fill="currentColor" role="img" aria-label="OVHcloud">
10
- <title>OVHcloud</title>
11
- <path fill="currentColor" d="M110.11,40.31a40.1,40.1,0,0,1-3.74,44.49H84.93l6.6-11.67H82.8L93.09,55h8.78l8.24-14.67ZM67.77,84.8H45.91a39.59,39.59,0,0,1-3.79-44.59L56.3,64.84,71.93,37.62h23L67.78,84.78h0v0Z" transform="translate(-36.97 -37.62)"/>
12
- <path fill="currentColor" d="M128.18,62.9c0-12.59,6.27-18.64,16.57-18.64s16.56,6.05,16.56,18.64S155,81.47,144.75,81.47,128.18,75.37,128.18,62.9Zm3.72,0c0,10.35,4.72,15.28,12.85,15.28s12.84-4.93,12.84-15.28-4.72-15.35-12.84-15.35S131.9,52.49,131.9,62.9Z" transform="translate(-36.97 -37.62)"/>
13
- <path fill="currentColor" d="M188.38,45.75a1.82,1.82,0,0,1,1.7-1.17,1.79,1.79,0,0,1,1.8,1.81,2.42,2.42,0,0,1-.16.79L179.3,79.93a1.78,1.78,0,0,1-3.39,0L163.49,47.18a2.42,2.42,0,0,1-.16-.79,1.79,1.79,0,0,1,1.8-1.81,1.82,1.82,0,0,1,1.7,1.17L177.6,74.31Z" transform="translate(-36.97 -37.62)"/>
14
- <path fill="currentColor" d="M199.42,64.06V79.35a1.81,1.81,0,1,1-3.61,0v-33a1.81,1.81,0,1,1,3.61,0V60.77H217.9V46.39a1.81,1.81,0,1,1,3.61,0v33a1.81,1.81,0,1,1-3.61,0V64.06Z" transform="translate(-36.97 -37.62)"/>
15
- <path fill="currentColor" d="M238.55,55.89a10,10,0,0,1,8.17,3.66,1.56,1.56,0,0,1,.37,1,1.51,1.51,0,0,1-1.54,1.54,1.56,1.56,0,0,1-1.27-.64A6.8,6.8,0,0,0,238.55,59c-4.89,0-7.49,3.13-7.49,9.66s2.6,9.71,7.49,9.71a9.68,9.68,0,0,0,6.15-2.28,1.56,1.56,0,0,1,1-.37,1.54,1.54,0,0,1,1.54,1.54,1.63,1.63,0,0,1-.69,1.32,12.06,12.06,0,0,1-8,2.87c-6.85,0-10.94-4.09-10.94-12.79S231.7,55.89,238.55,55.89Z" transform="translate(-36.97 -37.62)"/>
16
- <path fill="currentColor" d="M255.48,44.63V75c0,2.12.69,3,2.12,3a1.6,1.6,0,1,1,0,3.19c-3.55,0-5.52-2.13-5.52-6.21V44.63a1.74,1.74,0,0,1,1.7-1.69A1.7,1.7,0,0,1,255.48,44.63Z" transform="translate(-36.97 -37.62)"/>
17
- <path fill="currentColor" d="M284.41,68.63c0,8.7-4.25,12.79-11.15,12.79s-11.14-4.09-11.14-12.79,4.3-12.74,11.14-12.74S284.41,59.92,284.41,68.63Zm-3.45,0c0-6.69-2.81-9.66-7.7-9.66s-7.69,3-7.69,9.66,2.81,9.71,7.69,9.71S281,75.42,281,68.63Z" transform="translate(-36.97 -37.62)"/>
18
- <path fill="currentColor" d="M292.59,57.91V71.76c0,3.45,1.11,6.42,6.47,6.42s6.48-3,6.48-6.42V57.91a1.72,1.72,0,0,1,1.75-1.7,1.67,1.67,0,0,1,1.65,1.7V71.76c0,5-1.65,9.66-9.88,9.66s-9.87-4.62-9.87-9.66V57.91a1.67,1.67,0,0,1,1.7-1.7A1.71,1.71,0,0,1,292.59,57.91Z" transform="translate(-36.97 -37.62)"/>
19
- <path fill="currentColor" d="M331.6,59.34V44.63a1.7,1.7,0,0,1,3.4,0V71c0,7-4.35,10.46-10.4,10.46-6.85,0-10.89-4.09-10.89-12.79s3.83-12.74,10.67-12.74A9,9,0,0,1,331.6,59.34Zm0,4.3s-2-4.67-7-4.67-7.49,3.13-7.49,9.66,2.6,9.71,7.49,9.71c4.08,0,7-2.33,7-7.38Z" transform="translate(-36.97 -37.62)"/>
20
- </svg>
21
- `,Qi=`<svg height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Qwen</title><path d="M12.604 1.34c.393.69.784 1.382 1.174 2.075a.18.18 0 00.157.091h5.552c.174 0 .322.11.446.327l1.454 2.57c.19.337.24.478.024.837-.26.43-.513.864-.76 1.3l-.367.658c-.106.196-.223.28-.04.512l2.652 4.637c.172.301.111.494-.043.77-.437.785-.882 1.564-1.335 2.34-.159.272-.352.375-.68.37-.777-.016-1.552-.01-2.327.016a.099.099 0 00-.081.05 575.097 575.097 0 01-2.705 4.74c-.169.293-.38.363-.725.364-.997.003-2.002.004-3.017.002a.537.537 0 01-.465-.271l-1.335-2.323a.09.09 0 00-.083-.049H4.982c-.285.03-.553-.001-.805-.092l-1.603-2.77a.543.543 0 01-.002-.54l1.207-2.12a.198.198 0 000-.197 550.951 550.951 0 01-1.875-3.272l-.79-1.395c-.16-.31-.173-.496.095-.965.465-.813.927-1.625 1.387-2.436.132-.234.304-.334.584-.335a338.3 338.3 0 012.589-.001.124.124 0 00.107-.063l2.806-4.895a.488.488 0 01.422-.246c.524-.001 1.053 0 1.583-.006L11.704 1c.341-.003.724.032.9.34zm-3.432.403a.06.06 0 00-.052.03L6.254 6.788a.157.157 0 01-.135.078H3.253c-.056 0-.07.025-.041.074l5.81 10.156c.025.042.013.062-.034.063l-2.795.015a.218.218 0 00-.2.116l-1.32 2.31c-.044.078-.021.118.068.118l5.716.008c.046 0 .08.02.104.061l1.403 2.454c.046.081.092.082.139 0l5.006-8.76.783-1.382a.055.055 0 01.096 0l1.424 2.53a.122.122 0 00.107.062l2.763-.02a.04.04 0 00.035-.02.041.041 0 000-.04l-2.9-5.086a.108.108 0 010-.113l.293-.507 1.12-1.977c.024-.041.012-.062-.035-.062H9.2c-.059 0-.073-.026-.043-.077l1.434-2.505a.107.107 0 000-.114L9.225 1.774a.06.06 0 00-.053-.031zm6.29 8.02c.046 0 .058.02.034.06l-.832 1.465-2.613 4.585a.056.056 0 01-.05.029.058.058 0 01-.05-.029L8.498 9.841c-.02-.034-.01-.052.028-.054l.216-.012 6.722-.012z" fill="url(#lobe-icons-qwen-_R_0_)" fill-rule="nonzero"></path><defs><linearGradient id="lobe-icons-qwen-_R_0_" x1="0%" x2="100%" y1="0%" y2="0%"><stop offset="0%" stop-color="#6336E7" stop-opacity=".84"></stop><stop offset="100%" stop-color="#6F69F7" stop-opacity=".84"></stop></linearGradient></defs></svg>`,$i=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 75 24" xmlns="http://www.w3.org/2000/svg"><title>Qwen</title><path d="M11.425 14.13h3.642l1.529 1.795a7.89 7.89 0 002.166-2.832 8.36 8.36 0 00.771-3.562c0-2.03-.624-3.664-1.874-4.905-1.24-1.25-2.884-1.874-4.931-1.874-1.028 0-1.99.186-2.885.558A6.99 6.99 0 007.45 4.932 8.576 8.576 0 005.656 7.67a8.354 8.354 0 00-.625 3.19c0 2.003.611 3.643 1.834 4.919 1.223 1.276 2.779 1.914 4.666 1.914.39 0 .793-.031 1.21-.093.425-.062.868-.16 1.329-.293l-2.645-3.177zM18.07 22l-2.127-2.46c-.753.293-1.48.51-2.18.652a9.84 9.84 0 01-2.073.226c-2.97 0-5.326-.85-7.072-2.552C2.873 16.164 2 13.865 2 10.966c0-1.577.28-3.052.837-4.426a10.148 10.148 0 012.406-3.576A10.427 10.427 0 018.713.758C10.025.253 11.429 0 12.927 0c2.915 0 5.25.86 7.005 2.579 1.755 1.72 2.632 4.01 2.632 6.872 0 1.764-.354 3.399-1.063 4.905a10.156 10.156 0 01-3.031 3.776L21.714 22H18.07zm5.743-14.675h2.884l2.047 6.433.054.16c.248.789.38 1.373.399 1.755.097-.302.221-.62.372-.958.16-.345.354-.713.585-1.103l4.227-7.218 2.06 7.43c.08.275.146.559.2.851.053.293.097.63.133 1.01.132-.372.265-.708.398-1.01.142-.3.28-.562.412-.784l3.816-6.567h3.243L36.097 20.71l-2.127-7.045a8.683 8.683 0 01-.213-.798 17.846 17.846 0 01-.146-.97 69.17 69.17 0 01-.519 1.063c-.15.302-.265.514-.345.638l-4.28 7.112-4.653-13.385zm24.392 4.785h6.5c-.026-.85-.292-1.52-.797-2.007-.496-.497-1.166-.745-2.008-.745-.957 0-1.768.248-2.432.745-.665.496-1.086 1.165-1.263 2.007zm6.34 3.948l2.061 1.608c-.735.966-1.533 1.67-2.392 2.114-.86.443-1.848.665-2.965.665-1.87 0-3.38-.563-4.533-1.689-1.152-1.134-1.728-2.623-1.728-4.466 0-2.162.66-3.935 1.98-5.317 1.33-1.391 3.018-2.087 5.066-2.087 1.71 0 3.07.532 4.08 1.595 1.02 1.055 1.53 2.473 1.53 4.254 0 .15-.01.345-.027.585-.01.23-.027.51-.054.837h-9.61c0 1.143.288 2.056.864 2.738.576.674 1.342 1.01 2.3 1.01.664 0 1.293-.159 1.887-.478a4.633 4.633 0 001.542-1.369zm14.317 3.868l.957-7.244c.018-.133.031-.27.04-.412.009-.151.013-.368.013-.652 0-.824-.2-1.453-.598-1.887-.399-.444-.98-.665-1.741-.665-1.188 0-2.118.385-2.792 1.156-.673.763-1.112 1.937-1.316 3.523l-.797 6.181H59.77l1.661-12.601h2.752l-.213 1.515c.727-.664 1.476-1.156 2.247-1.475a6.5 6.5 0 012.486-.479c1.293 0 2.3.341 3.017 1.024.727.673 1.09 1.622 1.09 2.845 0 .31-.018.673-.053 1.09-.036.407-.089.886-.16 1.435l-.877 6.647h-2.858z"></path></svg>`,ea=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Qwen</title><path d="M12.604 1.34c.393.69.784 1.382 1.174 2.075a.18.18 0 00.157.091h5.552c.174 0 .322.11.446.327l1.454 2.57c.19.337.24.478.024.837-.26.43-.513.864-.76 1.3l-.367.658c-.106.196-.223.28-.04.512l2.652 4.637c.172.301.111.494-.043.77-.437.785-.882 1.564-1.335 2.34-.159.272-.352.375-.68.37-.777-.016-1.552-.01-2.327.016a.099.099 0 00-.081.05 575.097 575.097 0 01-2.705 4.74c-.169.293-.38.363-.725.364-.997.003-2.002.004-3.017.002a.537.537 0 01-.465-.271l-1.335-2.323a.09.09 0 00-.083-.049H4.982c-.285.03-.553-.001-.805-.092l-1.603-2.77a.543.543 0 01-.002-.54l1.207-2.12a.198.198 0 000-.197 550.951 550.951 0 01-1.875-3.272l-.79-1.395c-.16-.31-.173-.496.095-.965.465-.813.927-1.625 1.387-2.436.132-.234.304-.334.584-.335a338.3 338.3 0 012.589-.001.124.124 0 00.107-.063l2.806-4.895a.488.488 0 01.422-.246c.524-.001 1.053 0 1.583-.006L11.704 1c.341-.003.724.032.9.34zm-3.432.403a.06.06 0 00-.052.03L6.254 6.788a.157.157 0 01-.135.078H3.253c-.056 0-.07.025-.041.074l5.81 10.156c.025.042.013.062-.034.063l-2.795.015a.218.218 0 00-.2.116l-1.32 2.31c-.044.078-.021.118.068.118l5.716.008c.046 0 .08.02.104.061l1.403 2.454c.046.081.092.082.139 0l5.006-8.76.783-1.382a.055.055 0 01.096 0l1.424 2.53a.122.122 0 00.107.062l2.763-.02a.04.04 0 00.035-.02.041.041 0 000-.04l-2.9-5.086a.108.108 0 010-.113l.293-.507 1.12-1.977c.024-.041.012-.062-.035-.062H9.2c-.059 0-.073-.026-.043-.077l1.434-2.505a.107.107 0 000-.114L9.225 1.774a.06.06 0 00-.053-.031zm6.29 8.02c.046 0 .058.02.034.06l-.832 1.465-2.613 4.585a.056.056 0 01-.05.029.058.058 0 01-.05-.029L8.498 9.841c-.02-.034-.01-.052.028-.054l.216-.012 6.722-.012z"></path></svg>`,ta=`<svg height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>SambaNova</title><path d="M23 23h-1.223V8.028c0-3.118-2.568-5.806-5.744-5.806H8.027c-3.176 0-5.744 2.565-5.744 5.686 0 3.119 2.568 5.684 5.744 5.684h.794c1.346 0 2.445 1.1 2.445 2.444 0 1.346-1.1 2.446-2.445 2.446H1v-1.223h7.761c.671 0 1.223-.551 1.223-1.16 0-.67-.552-1.16-1.223-1.16h-.794C4.177 14.872 1 11.756 1 7.909 1 4.058 4.176 1 8.027 1h8.066C19.88 1 23 4.239 23 8.028V23z" fill="#EE7624"></path><path d="M8.884 12.672c1.71.06 3.361 1.588 3.361 3.422 0 1.833-1.528 3.421-3.421 3.421H1v1.223h7.761c2.568 0 4.705-2.077 4.705-4.644 0-.672-.123-1.283-.43-1.894-.245-.551-.67-1.1-1.099-1.528-.489-.429-1.039-.734-1.65-.977-.525-.175-1.048-.193-1.594-.212-.218-.008-.441-.016-.669-.034-.428 0-1.406-.245-1.956-.61a3.369 3.369 0 01-1.223-1.406c-.183-.489-.305-.977-.305-1.528A3.417 3.417 0 017.96 4.482h8.066c1.895 0 3.422 1.65 3.422 3.483v15.032h1.223V8.027c0-2.568-2.077-4.768-4.645-4.768h-8c-2.568 0-4.705 2.077-4.705 4.646 0 .67.123 1.282.43 1.894a4.45 4.45 0 001.099 1.528c.429.428 1.039.734 1.588.976.306.123.611.183.976.246.857.06 1.406.123 1.466.123h.003z" fill="#EE7624"></path><path d="M1 23h7.761v-.003c3.85 0 7.03-3.116 7.09-7.026 0-3.79-3.117-6.906-6.967-6.906H8.09c-.672 0-1.222-.552-1.222-1.16 0-.608.487-1.16 1.159-1.16h8.069c.608 0 1.159.611 1.159 1.283v14.97h1.223V8.024c0-1.345-1.1-2.505-2.445-2.505H7.967a2.451 2.451 0 00-2.445 2.445 2.45 2.45 0 002.445 2.445h.794c3.176 0 5.744 2.568 5.744 5.684s-2.568 5.684-5.744 5.684H1V23z" fill="#EE7624"></path></svg>`,na=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 175 24" xmlns="http://www.w3.org/2000/svg"><title>SambaNova</title><path d="M11.5 5.904c0-1.92-1.232-3.066-2.977-3.066-1.488 0-2.833 1.345-2.833 2.89 0 1.546 1.003 2.349 3.066 3.005 4.582 1.46 6.27 3.18 6.27 6.846 0 3.665-2.748 6.413-6.499 6.413-3.75 0-6.47-2.691-6.527-6.67h3.095c.028 2.291 1.373 3.836 3.436 3.836 2.063 0 3.409-1.488 3.409-3.58 0-1.545-.69-2.52-2.948-3.294-5.239-1.773-6.385-3.494-6.385-6.499C2.607 2.548 5.27 0 8.536 0c3.494 0 6.013 2.206 6.07 5.9h-3.094l-.012.004zM31.433 21.596v-2.462h-.058c-1.117 1.891-3.123 2.862-5.381 2.862-4.64 0-8.42-3.494-8.42-8.077 0-5.068 3.637-8.619 8.305-8.619 2.32 0 4.265.86 5.496 2.662h.058V5.728h2.976v15.864h-2.976v.004zm.057-7.901c0-3.095-2.235-5.671-5.525-5.671-2.976 0-5.41 2.548-5.41 5.67 0 3.124 2.434 5.586 5.41 5.586s5.525-2.576 5.525-5.585zM58.908 21.596V12.72c0-3.004-1.26-4.696-3.75-4.696-2.635 0-3.78 1.46-3.78 4.64v8.932H48.4v-9.218c0-3.123-1.46-4.35-3.608-4.35-2.634 0-3.922 1.545-3.922 4.668V21.6h-2.976V5.732h2.748V7.45h.057C41.988 5.932 43.19 5.3 45.254 5.3c2.063 0 4.122 1.003 4.925 2.662 1.146-1.802 2.72-2.662 5.24-2.662 4.121 0 6.47 2.577 6.47 6.67v9.622h-2.977l-.004.004zM65.346 21.596V.408h2.976v7.53h.057c1.288-1.745 3.294-2.634 5.439-2.634 4.497 0 8.22 3.78 8.22 8.362 0 4.583-3.495 8.334-7.963 8.334-2.291 0-4.412-.917-5.728-2.69h-.057v2.29h-2.948l.004-.004zm13.715-7.93c0-3.004-2.377-5.642-5.439-5.642-3.062 0-5.381 2.576-5.381 5.585 0 3.01 2.377 5.672 5.41 5.672 3.033 0 5.41-2.52 5.41-5.615zM97.575 21.596v-2.462h-.057c-1.117 1.891-3.123 2.862-5.382 2.862-4.64 0-8.419-3.494-8.419-8.077 0-5.068 3.637-8.619 8.305-8.619 2.32 0 4.265.86 5.496 2.662h.057V5.728h2.976v15.864h-2.976v.004zm.057-7.901c0-3.095-2.234-5.671-5.524-5.671-2.977 0-5.41 2.548-5.41 5.67 0 3.124 2.434 5.586 5.41 5.586s5.524-2.576 5.524-5.585zM117.855 21.596L107.372 5.22h-.057v16.377h-3.09V.408h3.38l10.307 16.12h.057V.409h3.09v21.188h-3.208.004zM132.304 21.996c-4.469 0-8.448-3.808-8.448-8.277 0-4.84 3.808-8.419 8.676-8.419 4.383 0 8.505 3.437 8.448 8.476-.057 4.236-3.608 8.22-8.676 8.22zm.086-13.972c-2.977 0-5.558 2.52-5.558 5.614s2.492 5.642 5.496 5.642c3.005 0 5.668-2.462 5.668-5.67 0-3.21-2.492-5.586-5.611-5.586h.005zM147.41 21.596l-6.3-15.864h3.181l4.15 11.339h.057l4.065-11.339h3.18l-6.242 15.864h-2.091zM169.785 21.596v-2.462h-.057c-1.118 1.891-3.124 2.862-5.382 2.862-4.64 0-8.419-3.494-8.419-8.077 0-5.068 3.636-8.619 8.305-8.619 2.319 0 4.264.86 5.496 2.662h.057V5.728h2.976v15.864h-2.976v.004zm.057-7.901c0-3.095-2.235-5.671-5.525-5.671-2.976 0-5.41 2.548-5.41 5.67 0 3.124 2.434 5.586 5.41 5.586 2.977 0 5.525-2.576 5.525-5.585z"></path></svg>`,ra=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>SambaNova</title><path d="M23 23h-1.223V8.028c0-3.118-2.568-5.806-5.744-5.806H8.027c-3.176 0-5.744 2.565-5.744 5.686 0 3.119 2.568 5.684 5.744 5.684h.794c1.346 0 2.445 1.1 2.445 2.444 0 1.346-1.1 2.446-2.445 2.446H1v-1.223h7.761c.671 0 1.223-.551 1.223-1.16 0-.67-.552-1.16-1.223-1.16h-.794C4.177 14.872 1 11.756 1 7.909 1 4.058 4.176 1 8.027 1h8.066C19.88 1 23 4.239 23 8.028V23z"></path><path d="M8.884 12.672c1.71.06 3.361 1.588 3.361 3.422 0 1.833-1.528 3.421-3.421 3.421H1v1.223h7.761c2.568 0 4.705-2.077 4.705-4.644 0-.672-.123-1.283-.43-1.894-.245-.551-.67-1.1-1.099-1.528-.489-.429-1.039-.734-1.65-.977-.525-.175-1.048-.193-1.594-.212-.218-.008-.441-.016-.669-.034-.428 0-1.406-.245-1.956-.61a3.369 3.369 0 01-1.223-1.406c-.183-.489-.305-.977-.305-1.528A3.417 3.417 0 017.96 4.482h8.066c1.895 0 3.422 1.65 3.422 3.483v15.032h1.223V8.027c0-2.568-2.077-4.768-4.645-4.768h-8c-2.568 0-4.705 2.077-4.705 4.646 0 .67.123 1.282.43 1.894a4.45 4.45 0 001.099 1.528c.429.428 1.039.734 1.588.976.306.123.611.183.976.246.857.06 1.406.123 1.466.123h.003z"></path><path d="M1 23h7.761v-.003c3.85 0 7.03-3.116 7.09-7.026 0-3.79-3.117-6.906-6.967-6.906H8.09c-.672 0-1.222-.552-1.222-1.16 0-.608.487-1.16 1.159-1.16h8.069c.608 0 1.159.611 1.159 1.283v14.97h1.223V8.024c0-1.345-1.1-2.505-2.445-2.505H7.967a2.451 2.451 0 00-2.445 2.445 2.45 2.45 0 002.445 2.445h.794c3.176 0 5.744 2.568 5.744 5.684s-2.568 5.684-5.744 5.684H1V23z"></path></svg>`,ia=`<svg width="410" height="80" viewBox="0 0 410 80" fill="none" xmlns="http://www.w3.org/2000/svg">
22
- <path d="M24.9107 54.3209C24.9274 56.8686 27.0181 58.9206 29.5804 58.9042L42.1861 58.8841C45.0739 58.5267 47.2897 56.164 47.4468 53.2747V35.2209C47.4468 32.6897 45.3831 30.6377 42.8374 30.6377C40.2917 30.6377 38.228 32.6897 38.228 35.2209V46.6889C38.228 48.3397 36.8821 49.6779 35.2219 49.6779H29.5202C26.9579 49.6944 24.8942 51.7731 24.9107 54.3209Z" fill="currentColor"/>
23
- <path d="M22.035 45.4135C19.4893 45.4135 17.4256 43.3616 17.4256 40.8304V22.7666C17.5772 19.8767 19.7889 17.5098 22.6763 17.1472H35.292C37.8416 17.1523 39.9179 19.1858 39.9616 21.7204C39.9749 22.9464 39.4958 24.1271 38.6305 25.0005C37.7652 25.874 36.5852 26.3681 35.3522 26.3734H29.6405C27.9803 26.3734 26.6344 27.7116 26.6344 29.3624V40.8304C26.6344 43.3577 24.5768 45.4081 22.035 45.4135Z" fill="currentColor"/>
24
- <path fill-rule="evenodd" clip-rule="evenodd" d="M14.4796 4.55169e-05H37.3562C44.5954 -0.0131325 51.5429 2.83563 56.6684 7.91884C61.7938 13.002 64.6767 19.9027 64.682 27.1007V63.2382C63.944 70.0767 58.4198 75.4272 51.5252 75.9815H27.3358C20.0878 75.992 13.1333 73.1359 8.00535 68.0428C2.87745 62.9496 -0.00266304 56.0377 1.84766e-06 48.831V14.4172C0.00551173 6.4649 6.48177 0.0165653 14.4796 4.55169e-05ZM50.1458 14.5586C46.7362 11.1591 42.1046 9.25081 37.2761 9.25614L14.8303 9.21629C11.7215 9.25996 9.22756 11.7841 9.23882 14.8755V48.6616C9.2362 53.4532 11.1494 58.0494 14.5569 61.4375C17.9645 64.8257 22.5869 66.728 27.4059 66.7254H50.6333C53.0728 66.3869 55.015 64.5241 55.4433 62.1123V27.3697C55.4618 22.5687 53.5554 17.9582 50.1458 14.5586Z" fill="currentColor"/>
25
- <path d="M104.493 67.7317C100.27 67.7021 96.1195 66.6378 92.4086 64.6331C88.5532 62.6416 85.2129 59.7909 82.6487 56.3036C82.3105 55.8858 82.1561 55.35 82.2202 54.8175C82.2843 54.285 82.5616 53.8006 82.9894 53.474L87.6589 49.3491C88.0366 49.0076 88.5312 48.8223 89.0417 48.831H89.3824C89.9862 48.9245 90.5216 49.2686 90.8554 49.7775C92.4311 52.3094 94.5919 54.4307 97.1583 55.9648C99.6108 57.4255 102.416 58.1969 105.275 58.1967C108.381 58.1967 110.716 57.5889 112.179 56.3036C113.616 55.0959 114.387 53.278 114.253 51.4115C114.408 49.4054 113.571 47.45 112.009 46.1708C110.192 44.7958 107.256 43.5072 103.201 42.3049C91.1761 39.3856 85.1638 33.7164 85.1638 25.3671C85.1638 20.216 86.8873 16.1808 90.3444 13.3511C93.8014 10.5215 98.2906 9.22626 103.992 9.22626C111.809 8.99634 119.263 12.5093 124.033 18.6716C124.739 19.5593 124.625 20.8408 123.773 21.5909L119.233 25.377C118.86 25.7249 118.362 25.9112 117.851 25.8951H117.59C116.999 25.8392 116.463 25.5253 116.127 25.0383C114.738 23.0268 112.908 21.3543 110.776 20.1462C108.661 19.0881 106.32 18.5549 103.952 18.5919C101.601 18.4991 99.2774 19.1288 97.2986 20.3953C95.8526 21.4259 95.0124 23.1004 95.054 24.8689C94.9621 26.6539 95.7328 28.3752 97.1282 29.5019C98.7716 30.8769 101.708 31.9928 105.846 33.019C111.467 34.5733 115.866 36.6258 119.063 39.296C122.43 42.2153 124.163 46.2704 124.163 51.4016C124.179 54.4298 123.275 57.3923 121.568 59.9004C119.831 62.4462 117.397 64.4445 114.554 65.6593C111.406 67.1128 107.963 67.8221 104.493 67.7317Z" fill="currentColor"/>
26
- <path d="M149.205 67.9011C145.557 67.9905 141.961 67.036 138.843 65.1511C135.81 63.3472 133.354 60.725 131.759 57.5889C130.027 54.247 129.166 50.5268 129.254 46.7686C129.157 43.038 130.019 39.3444 131.759 36.0379C133.359 32.908 135.814 30.2903 138.843 28.4856C141.961 26.6794 145.506 25.7303 149.114 25.7357C152.134 25.6691 155.117 26.4088 157.752 27.8778C160.285 29.3689 162.512 31.3228 164.315 33.6367C165.002 34.5447 164.852 35.8286 163.975 36.556L160.177 39.5451C159.797 39.8179 159.343 39.9707 158.874 39.9834H158.534C157.97 39.903 157.467 39.5878 157.151 39.1166C155.466 36.3527 152.455 34.6612 149.205 34.653C147.321 34.6582 145.474 35.1638 143.854 36.1176C142.227 37.1265 140.934 38.5886 140.136 40.3222C138.322 44.427 138.322 49.1001 140.136 53.205C140.931 54.9639 142.223 56.4557 143.854 57.4992C145.437 58.5355 147.311 59.0448 149.205 58.9539C150.933 59.0546 152.658 58.7115 154.215 57.9575C155.628 57.1916 156.864 56.1394 157.842 54.8688C158.537 54.0159 159.771 53.8301 160.688 54.4404L164.756 57.27C165.214 57.5893 165.525 58.0765 165.621 58.6242C165.717 59.172 165.59 59.7351 165.267 60.1893C165.27 60.2121 165.263 60.2351 165.248 60.2523C165.232 60.2694 165.21 60.2792 165.187 60.279C163.312 62.5875 160.952 64.4611 158.273 65.7689C155.462 67.1814 152.354 67.9121 149.205 67.9011Z" fill="currentColor"/>
27
- <path fill-rule="evenodd" clip-rule="evenodd" d="M170.628 57.5889C173.948 64.0489 180.689 68.0542 187.984 67.9011C190.817 67.9399 193.614 67.261 196.11 65.9283C196.892 65.46 197.663 64.9818 198.445 64.4637V64.5533C198.461 65.684 199.382 66.5951 200.519 66.6058H205.7C206.837 66.5951 207.758 65.684 207.774 64.5533V28.9938C207.758 27.8614 206.839 26.9474 205.7 26.9313H200.509C199.37 26.9474 198.451 27.8614 198.435 28.9938V29.1731C197.685 28.5749 196.876 28.0542 196.02 27.6188C193.47 26.3623 190.659 25.7174 187.813 25.7357C180.569 25.598 173.887 29.6036 170.628 36.0379C167.251 42.8292 167.251 50.7977 170.628 57.5889ZM182.543 36.1276C184.129 35.1626 185.954 34.6554 187.813 34.663C189.747 34.5783 191.657 35.1202 193.254 36.2073C194.859 37.2433 196.143 38.7024 196.962 40.4218C198.782 44.522 198.782 49.1945 196.962 53.2946C196.177 55.057 194.888 56.5505 193.254 57.5889C191.6 58.5412 189.725 59.0462 187.813 59.0535C185.943 59.1455 184.094 58.6316 182.543 57.5889C180.909 56.5484 179.617 55.0558 178.825 53.2946C177.86 51.256 177.39 49.0208 177.452 46.7686C177.427 44.5487 177.896 42.3508 178.825 40.3322C179.68 38.6361 180.96 37.1879 182.543 36.1276Z" fill="currentColor"/>
28
- <path d="M216.662 9.52515H221.843C222.982 9.54121 223.901 10.4553 223.917 11.5876V64.5733C223.901 65.7056 222.982 66.6196 221.843 66.6357H216.662C215.523 66.6196 214.604 65.7056 214.588 64.5733V11.5876C214.568 11.0348 214.78 10.4987 215.174 10.1075C215.567 9.71639 216.106 9.50544 216.662 9.52515Z" fill="currentColor"/>
29
- <path d="M305.423 65.2408C305.673 66.128 306.502 66.7295 307.427 66.6955L312.768 66.6855C313.681 66.6792 314.488 66.0936 314.772 65.2308L326.516 29.6513C326.853 28.6109 326.324 27.4884 325.304 27.0808C325.025 26.987 324.736 26.9268 324.442 26.9014H319.512C318.597 26.9122 317.791 27.5013 317.508 28.366L310.424 50.2857L303.409 28.366C303.164 27.4749 302.334 26.8685 301.405 26.9014H296.305C295.39 26.9122 294.584 27.5013 294.301 28.366L287.026 50.5547L279.851 28.3959C279.605 27.5047 278.776 26.8984 277.847 26.9313H272.366C271.977 26.9353 271.594 27.0237 271.244 27.1904C270.351 27.6733 269.93 28.7194 270.242 29.6812L282.076 65.2408C282.325 66.128 283.154 66.7295 284.08 66.6955H289.26C290.164 66.7394 290.985 66.1761 291.264 65.3205L298.599 44.0286L305.423 65.2408Z" fill="currentColor"/>
30
- <path fill-rule="evenodd" clip-rule="evenodd" d="M347.589 67.9011C340.299 68.0398 333.565 64.0387 330.234 57.5889C326.868 50.7952 326.868 42.8316 330.234 36.0379C333.509 29.5756 340.233 25.5656 347.509 25.7357C350.336 25.7447 353.12 26.428 355.626 27.7284C356.481 28.1616 357.29 28.679 358.041 29.2727V29.1034C358.05 27.953 358.959 27.0093 360.115 26.9512H365.386C366.525 26.9673 367.444 27.8814 367.46 29.0137V64.5733C367.444 65.7039 366.523 66.615 365.386 66.6257H360.205C359.068 66.615 358.147 65.7039 358.131 64.5733V64.4836C357.383 65.0178 356.603 65.5068 355.796 65.9482C353.265 67.2633 350.445 67.9343 347.589 67.9011ZM347.509 34.663C345.65 34.6554 343.825 35.1626 342.238 36.1276C340.654 37.1855 339.373 38.6343 338.521 40.3322C337.546 42.336 337.072 44.5438 337.138 46.7686C337.079 49.0215 337.553 51.2568 338.521 53.2946C339.313 55.0558 340.605 56.5484 342.238 57.5889C343.79 58.6316 345.639 59.1455 347.509 59.0535C349.394 59.0577 351.243 58.5514 352.86 57.5889C354.494 56.5484 355.786 55.0558 356.578 53.2946C358.398 49.1945 358.398 44.522 356.578 40.4218C355.78 38.6856 354.487 37.2202 352.86 36.2073C351.296 35.1217 349.415 34.5789 347.509 34.663Z" fill="currentColor"/>
31
- <path fill-rule="evenodd" clip-rule="evenodd" d="M259.319 54.5899C260.083 53.6547 261.445 53.4675 262.436 54.1615L265.973 56.7221C265.973 56.7716 266.013 56.8117 266.063 56.8117C266.555 57.1866 266.877 57.7407 266.958 58.3519C267.039 58.9631 266.872 59.5811 266.494 60.0698C264.778 62.2739 262.635 64.1135 260.191 65.4799C256.86 67.2044 253.143 68.0613 249.389 67.9708C245.753 67.9799 242.179 67.0347 239.028 65.2309C236.018 63.3986 233.568 60.7837 231.943 57.6686C230.218 54.3245 229.357 50.6059 229.438 46.8483C229.405 43.1244 230.264 39.4462 231.943 36.1176C233.512 32.9861 235.945 30.3631 238.958 28.5554C242.042 26.7403 245.564 25.79 249.148 25.8055C256.149 25.7488 262.604 29.5547 265.913 35.6892C267.593 38.7702 268.452 42.2277 268.408 45.7324C268.429 46.5336 268.402 47.3355 268.328 48.1336C268.239 49.206 267.336 50.0303 266.253 50.0266H239.198C239.629 52.2116 240.612 54.2517 242.054 55.9549C243.894 58.0468 246.597 59.1849 249.389 59.0436C251.666 59.1174 253.925 58.6134 255.952 57.5789C257.251 56.7988 258.393 55.7852 259.319 54.5899ZM249.309 34.5833C246.83 34.4938 244.423 35.4236 242.655 37.1538C241.363 38.3715 240.375 39.8728 239.769 41.5378H258.548C258.145 39.7527 257.246 38.1162 255.952 36.8151C254.399 35.2608 252.155 34.5833 249.309 34.5833Z" fill="currentColor"/>
32
- <path d="M409.686 27.8778C409.269 27.3513 408.637 27.0372 407.963 27.021H403.043C402.152 27.0212 401.355 27.5684 401.038 28.3959L390.938 54.3009L381.348 28.2764C380.995 27.4912 380.209 26.9872 379.344 26.991H373.903C373.202 26.9849 372.548 27.3439 372.18 27.9376C371.774 28.5251 371.706 29.2803 371.999 29.9303L386.068 66.8649C385.837 68.2296 385.096 69.4574 383.994 70.3022C382.702 71.1585 380.199 71.2486 378.816 71.2985L378.813 71.2986C377.613 71.3567 376.668 72.3361 376.659 73.5304V77.0475C376.653 77.641 376.888 78.2118 377.31 78.6316C377.732 79.0513 378.306 79.2847 378.903 79.2793C379.105 79.2793 379.319 79.2808 379.544 79.2824L379.546 79.2824C381.718 79.2975 384.865 79.3194 387.371 78.0737C392.405 75.43 393.598 72.2252 394.943 68.6108C395.119 68.1389 395.297 67.6592 395.487 67.1737L409.907 29.731C410.085 29.1088 410.006 28.4415 409.686 27.8778Z" fill="currentColor"/>
33
- </svg>
34
- `,aa=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 50 24" xmlns="http://www.w3.org/2000/svg"><title>Z.ai</title><path d="M43.794 21.722V7.02h4.078v14.702h-4.078zm2.048-16.597a2.215 2.215 0 01-1.56-.603c-.427-.408-.641-.896-.641-1.464 0-.562.214-1.043.641-1.445A2.196 2.196 0 0145.842 1c.607 0 1.123.204 1.55.613.435.402.652.883.652 1.445 0 .568-.217 1.056-.651 1.464a2.182 2.182 0 01-1.55.603zM32.351 22c-.938 0-1.773-.163-2.507-.488a4.037 4.037 0 01-1.742-1.465c-.422-.65-.632-1.46-.632-2.43 0-.818.15-1.504.45-2.059.3-.555.708-1.002 1.225-1.34a5.942 5.942 0 011.761-.765c.664-.173 1.36-.294 2.087-.364a52.88 52.88 0 002.067-.249c.523-.083.903-.204 1.14-.364.235-.16.353-.395.353-.708v-.057c0-.607-.191-1.076-.574-1.407-.376-.332-.912-.498-1.608-.498-.734 0-1.318.163-1.752.488a2.246 2.246 0 00-.861 1.206l-3.771-.306a5.124 5.124 0 011.13-2.317c.56-.657 1.285-1.16 2.172-1.512.893-.357 1.927-.536 3.101-.536.817 0 1.599.096 2.345.287.753.192 1.42.488 2 .89.588.402 1.05.92 1.389 1.551.338.625.507 1.375.507 2.25v9.915h-3.867v-2.038h-.115c-.236.46-.552.864-.947 1.215a4.387 4.387 0 01-1.427.814c-.555.191-1.196.287-1.924.287zm1.168-2.814c.6 0 1.13-.118 1.589-.354.46-.243.82-.568 1.082-.977.261-.408.392-.87.392-1.387v-1.56c-.128.082-.303.159-.526.23a9.587 9.587 0 01-.737.181 36.44 36.44 0 01-.824.144l-.746.105c-.479.07-.897.182-1.254.335-.357.153-.635.36-.833.622-.197.255-.296.574-.296.957 0 .555.2.98.603 1.273.408.287.925.43 1.55.43zM22.514 21.971a2.236 2.236 0 01-1.627-.67 2.236 2.236 0 01-.67-1.627c0-.625.223-1.161.67-1.608.453-.446.995-.67 1.627-.67.613 0 1.149.224 1.608.67.46.447.69.983.69 1.608 0 .421-.11.808-.326 1.158-.21.345-.489.623-.833.833a2.193 2.193 0 01-1.139.306zM2.02 21.722v-2.46L11.8 5.537H2V2.12h15.008v2.46L7.216 18.305h9.811v3.417H2.02z"></path></svg>`,oa=`<svg fill="currentColor" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Z.ai</title><path d="M12.105 2L9.927 4.953H.653L2.83 2h9.276zM23.254 19.048L21.078 22h-9.242l2.174-2.952h9.244zM24 2L9.264 22H0L14.736 2H24z"></path></svg>`,L={row:`_row_2hylr_13`,icon:`_icon_2hylr_27`,textLogo:`_textLogo_2hylr_44`,iconLegacyWordmark:`_iconLegacyWordmark_2hylr_63`,fallback:`_fallback_2hylr_96`},R=Object.assign({"../../../assets/providers/aistudio/aistudio-text.svg":Ci,"../../../assets/providers/aistudio/aistudio.svg":wi,"../../../assets/providers/cerebras/cerebras-brand-color.svg":Ti,"../../../assets/providers/cerebras/cerebras-brand.svg":Ei,"../../../assets/providers/cerebras/cerebras-color.svg":Di,"../../../assets/providers/cerebras/cerebras-text.svg":Oi,"../../../assets/providers/cerebras/cerebras.svg":ki,"../../../assets/providers/cloudflare/cloudflare-color.svg":Ai,"../../../assets/providers/cloudflare/cloudflare-text.svg":ji,"../../../assets/providers/cloudflare/cloudflare.svg":Mi,"../../../assets/providers/gemini/gemini-color.svg":Ni,"../../../assets/providers/gemini/gemini-text.svg":Pi,"../../../assets/providers/gemini/gemini.svg":Fi,"../../../assets/providers/github/github-text.svg":Ii,"../../../assets/providers/github/github.svg":Li,"../../../assets/providers/groq/groq-text.svg":Ri,"../../../assets/providers/groq/groq.svg":zi,"../../../assets/providers/mistral/mistral-color.svg":Bi,"../../../assets/providers/mistral/mistral-text.svg":Vi,"../../../assets/providers/mistral/mistral.svg":Hi,"../../../assets/providers/nvidia/nvidia-color.svg":Ui,"../../../assets/providers/nvidia/nvidia-text.svg":Wi,"../../../assets/providers/nvidia/nvidia.svg":Gi,"../../../assets/providers/opencode/opencode-text.svg":Ki,"../../../assets/providers/opencode/opencode.svg":qi,"../../../assets/providers/openrouter/openrouter (1).svg":Ji,"../../../assets/providers/openrouter/openrouter-text.svg":Yi,"../../../assets/providers/openrouter/openrouter.svg":Xi,"../../../assets/providers/ovhcloud/ovhcloud.svg":Zi,"../../../assets/providers/qwen/qwen-color.svg":Qi,"../../../assets/providers/qwen/qwen-text.svg":$i,"../../../assets/providers/qwen/qwen.svg":ea,"../../../assets/providers/sambanova/sambanova-color.svg":ta,"../../../assets/providers/sambanova/sambanova-text.svg":na,"../../../assets/providers/sambanova/sambanova.svg":ra,"../../../assets/providers/scalewaylogo/ScalewayLogo.svg":ia,"../../../assets/providers/zai/zai-text.svg":aa,"../../../assets/providers/zai/zai.svg":oa}),sa={nvidia:{folder:`nvidia`,hasColor:!0,hasText:!0},groq:{folder:`groq`,hasColor:!1,hasText:!0},cerebras:{folder:`cerebras`,hasColor:!0,hasText:!0},googleai:{folder:`aistudio`,hasColor:!1,hasText:!0},"github-models":{folder:`github`,hasColor:!1,hasText:!0},mistral:{folder:`mistral`,hasColor:!0,hasText:!0},cloudflare:{folder:`cloudflare`,hasColor:!0,hasText:!0},openrouter:{folder:`openrouter`,hasColor:!1,hasText:!0},sambanova:{folder:`sambanova`,hasColor:!0,hasText:!0},ovhcloud:{folder:`ovhcloud`,hasColor:!1,hasText:!1,legacy:!0,noCaption:!0},scaleway:{folder:`scalewaylogo`,iconFile:`ScalewayLogo`,iconClass:`scalewayLogo`,hasColor:!1,hasText:!1,legacy:!0,noCaption:!0},zai:{folder:`zai`,hasColor:!1,hasText:!0},qwen:{folder:`qwen`,hasColor:!0,hasText:!0},"opencode-zen":{folder:`opencode`,hasColor:!1,hasText:!0},codestral:{folder:`mistral`,iconFile:`mistral-color`,hasColor:!0,hasText:!1,legacy:!0,caption:`Codestral`}};function ca(e,t){return!e||!t?null:R[`../../../assets/providers/${e}/${t}.svg`]||null}function la({providerKey:e,origin:t}){let n=sa[e];if(!n)return(0,F.jsx)(`span`,{className:L.fallback,children:t});let r=n.iconFile&&ca(n.folder,n.iconFile)||n.hasColor&&ca(n.folder,`${n.folder}-color`)||ca(n.folder,n.folder),i=n.hasText?ca(n.folder,`${n.folder}-text`):null;if(r&&i)return(0,F.jsxs)(`span`,{className:L.row,title:t,children:[(0,F.jsx)(`span`,{className:L.icon,"aria-hidden":`true`,dangerouslySetInnerHTML:{__html:r}}),(0,F.jsx)(`span`,{className:L.textLogo,"aria-hidden":`true`,dangerouslySetInnerHTML:{__html:i}})]});if(r){let e=n.caption??t;if(n.noCaption){let e=n.iconClass?`${L.iconLegacyWordmark} ${n.iconClass}`:L.iconLegacyWordmark;return(0,F.jsx)(`span`,{className:L.row,title:t,children:(0,F.jsx)(`span`,{className:e,"aria-hidden":`true`,dangerouslySetInnerHTML:{__html:r}})})}return(0,F.jsxs)(`span`,{className:L.row,title:t,children:[(0,F.jsx)(`span`,{className:L.icon,"aria-hidden":`true`,dangerouslySetInnerHTML:{__html:r}}),(0,F.jsx)(`span`,{className:L.fallback,children:e})]})}return i?(0,F.jsx)(`span`,{className:L.row,title:t,children:(0,F.jsx)(`span`,{className:L.textLogo,"aria-hidden":`true`,dangerouslySetInnerHTML:{__html:i}})}):(0,F.jsx)(`span`,{className:L.fallback,children:t})}var ua={dropdown:`_dropdown_1mlad_10`,trigger:`_trigger_1mlad_15`,triggerActive:`_triggerActive_1mlad_40`,triggerOpen:`_triggerOpen_1mlad_44`,triggerContent:`_triggerContent_1mlad_52`,triggerLogo:`_triggerLogo_1mlad_61`,triggerLabel:`_triggerLabel_1mlad_76`,triggerCount:`_triggerCount_1mlad_83`,chevron:`_chevron_1mlad_92`,chevronOpen:`_chevronOpen_1mlad_97`,menu:`_menu_1mlad_103`,option:`_option_1mlad_133`,optionActive:`_optionActive_1mlad_159`,optionLabel:`_optionLabel_1mlad_168`,optionLogo:`_optionLogo_1mlad_173`,optionCount:`_optionCount_1mlad_188`,separator:`_separator_1mlad_198`,healthDot:`_healthDot_1mlad_205`,dot_active:`_dot_active_1mlad_215`,dot_pending:`_dot_pending_1mlad_221`,dot_down:`_dot_down_1mlad_226`,dot_nokey:`_dot_nokey_1mlad_231`};function da(e){return e.hasKey?e.anyUp?`active`:`down`:`nokey`}function fa({state:e}){let{t}=hi(),n=ua[`dot_${e}`]||ua.dot_nokey,r={active:t(`provider.health.active`),pending:t(`provider.health.pending`),down:t(`provider.health.down`),nokey:t(`dashboard.noApiKey`)};return(0,F.jsx)(`span`,{className:`${ua.healthDot} ${n}`,title:r[e]||``})}function pa({providers:e,value:t,onChange:n}){let{t:r}=hi(),[i,a]=(0,v.useState)(!1),o=(0,v.useRef)(null),s=(0,v.useRef)(null),c=(0,v.useCallback)(()=>a(!1),[]);(0,v.useEffect)(()=>{if(!i)return;let e=e=>{o.current&&!o.current.contains(e.target)&&c()},t=e=>{e.key===`Escape`&&c()};return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,t)}},[i,c]),(0,v.useEffect)(()=>{if(!i||!s.current)return;let e=s.current.querySelector(`[data-active="true"]`);e&&e.scrollIntoView({block:`nearest`})},[i]);let l=e.find(e=>e.key===t),u=t!==`all`;return(0,F.jsxs)(`div`,{className:ua.dropdown,ref:o,children:[(0,F.jsxs)(`button`,{className:`${ua.trigger} ${u?ua.triggerActive:``} ${i?ua.triggerOpen:``}`,onClick:()=>a(!i),"aria-expanded":i,"aria-haspopup":`listbox`,title:u?`${r(`filters.provider`)}: ${l?.name||t}`:r(`dashboard.allProviders`),children:[(0,F.jsx)(`span`,{className:ua.triggerContent,children:u&&l?(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(`span`,{className:ua.triggerLogo,children:(0,F.jsx)(la,{providerKey:l.key,origin:l.name})}),(0,F.jsx)(`span`,{className:ua.triggerCount,children:l.count})]}):(0,F.jsx)(`span`,{className:ua.triggerLabel,children:r(`dashboard.allProviders`)})}),(0,F.jsx)(Xn,{size:12,stroke:2,className:`${ua.chevron} ${i?ua.chevronOpen:``}`})]}),i&&(0,F.jsxs)(`div`,{className:ua.menu,role:`listbox`,ref:s,children:[(0,F.jsxs)(`button`,{role:`option`,"aria-selected":t===`all`,"data-active":t===`all`,className:`${ua.option} ${t===`all`?ua.optionActive:``}`,onClick:()=>{n(`all`),c()},children:[(0,F.jsx)(`span`,{className:ua.optionLabel,children:r(`dashboard.allProviders`)}),(0,F.jsx)(`span`,{className:ua.optionCount,children:e.reduce((e,t)=>e+t.count,0)})]}),(0,F.jsx)(`div`,{className:ua.separator}),e.map(e=>{let i=da(e);return(0,F.jsxs)(`button`,{role:`option`,"aria-selected":t===e.key,"data-active":t===e.key,className:`${ua.option} ${t===e.key?ua.optionActive:``}`,onClick:()=>{n(e.key),c()},title:r(`dashboard.providerModelsTitle`,{provider:e.name,count:e.count}),children:[(0,F.jsx)(`span`,{className:ua.optionLogo,children:(0,F.jsx)(la,{providerKey:e.key,origin:e.name})}),(0,F.jsx)(fa,{state:i}),(0,F.jsx)(`span`,{className:ua.optionCount,children:e.count})]},e.key)})]})]})}var z={filters:`_filters_qeaqk_15`,group:`_group_qeaqk_26`,filterLabel:`_filterLabel_qeaqk_28`,filterGroup:`_filterGroup_qeaqk_35`,filterTrigger:`_filterTrigger_qeaqk_39`,filterTriggerActive:`_filterTriggerActive_qeaqk_55`,filterTriggerExpanded:`_filterTriggerExpanded_qeaqk_59`,filterTriggerLabel:`_filterTriggerLabel_qeaqk_68`,filterTriggerSep:`_filterTriggerSep_qeaqk_73`,filterTriggerValue:`_filterTriggerValue_qeaqk_77`,filterTriggerChevron:`_filterTriggerChevron_qeaqk_85`,chevronOpen:`_chevronOpen_qeaqk_90`,filterDropdown:`_filterDropdown_qeaqk_95`,filterChipRow:`_filterChipRow_qeaqk_107`,filterChip:`_filterChip_qeaqk_107`,filterChipActive:`_filterChipActive_qeaqk_134`,select:`_select_qeaqk_143`,providerSelect:`_providerSelect_qeaqk_143`,toolStatus:`_toolStatus_qeaqk_152`,spacer:`_spacer_qeaqk_170`,resetBtn:`_resetBtn_qeaqk_172`,resetBadge:`_resetBadge_qeaqk_185`,customFilterChip:`_customFilterChip_qeaqk_196`,customFilterIcon:`_customFilterIcon_qeaqk_206`,customFilterLabel:`_customFilterLabel_qeaqk_207`,customFilterClear:`_customFilterClear_qeaqk_212`,nextPing:`_nextPing_qeaqk_225`,nextPingLabel:`_nextPingLabel_qeaqk_233`,nextPingTime:`_nextPingTime_qeaqk_237`,live:`_live_qeaqk_248`,liveDot:`_liveDot_qeaqk_253`,pulseDot:`_pulseDot_qeaqk_1`,benchmarkBar:`_benchmarkBar_qeaqk_259`,benchmarkLabel:`_benchmarkLabel_qeaqk_269`,benchmarkSpinner:`_benchmarkSpinner_qeaqk_275`,spinSp:`_spinSp_qeaqk_1`,benchmarkCount:`_benchmarkCount_qeaqk_280`,benchmarkTrack:`_benchmarkTrack_qeaqk_281`,benchmarkFill:`_benchmarkFill_qeaqk_287`,benchmarkPct:`_benchmarkPct_qeaqk_293`,searchBar:`_searchBar_qeaqk_305`,searchIcon:`_searchIcon_qeaqk_322`,searchInput:`_searchInput_qeaqk_328`},ma=[{key:`all`,labelKey:`filters.all`},{key:`S+`,label:`S+`},{key:`S`,label:`S`},{key:`A+`,label:`A+`},{key:`A`,label:`A`},{key:`A-`,label:`A-`},{key:`B+`,label:`B+`},{key:`B`,label:`B`},{key:`C`,label:`C`}],ha=[{key:`all`,labelKey:`filters.all`},{key:`up`,labelKey:`dashboard.working`},{key:`down`,labelKey:`dashboard.down`},{key:`pending`,labelKey:`dashboard.pending`}],ga=[{key:`all`,labelKey:`filters.all`},{key:`Perfect`,labelKey:`filters.verdict.perfect`},{key:`Normal`,labelKey:`filters.verdict.normal`},{key:`Spiky`,labelKey:`filters.verdict.spiky`},{key:`Slow`,labelKey:`filters.verdict.slow`},{key:`Overloaded`,labelKey:`filters.verdict.overloaded`},{key:`Down`,labelKey:`dashboard.down`},{key:`Unstable`,labelKey:`filters.verdict.unstable`},{key:`Pending`,labelKey:`dashboard.pending`}],_a=[{key:`all`,labelKey:`filters.all`},{key:`up`,labelKey:`dashboard.working`},{key:`timeout`,labelKey:`filters.health.timeout`},{key:`down`,labelKey:`dashboard.down`},{key:`pending`,labelKey:`dashboard.pending`},{key:`noauth`,labelKey:`filters.health.noKey`},{key:`auth_error`,labelKey:`filters.health.authError`}],va=[{key:`normal`,labelKey:`dashboard.allModels`,hintKey:`filters.visibility.allHint`},{key:`configured`,labelKey:`filters.visibility.configured`,hintKey:`filters.visibility.configuredHint`},{key:`usable`,labelKey:`filters.visibility.usable`,hintKey:`filters.visibility.usableHint`}],ya=[{key:`speed`,labelKey:`filters.pingSpeed`,interval:`2s`,color:`#00ff88`},{key:`normal`,labelKey:`filters.pingNormal`,interval:`10s`,color:`#ffaa00`},{key:`slow`,labelKey:`filters.pingSlow`,interval:`30s`,color:`#ff6644`},{key:`forced`,labelKey:`filters.pingForced`,interval:`4s`,color:`#ff4466`}];function ba(e){if(e==null)return null;let t=Math.max(0,e/1e3);return t<60?`${t.toFixed(2)}s`:`${Math.floor(t/60)}m ${(t%60).toFixed(2)}s`}function xa({label:e,items:t,value:n,onChange:r,colorMap:i}){let{t:a}=hi(),[o,s]=(0,v.useState)(!1),c=(0,v.useRef)(null),l=(0,v.useCallback)(()=>s(!1),[]);(0,v.useEffect)(()=>{if(!o)return;let e=e=>{c.current&&!c.current.contains(e.target)&&l()},t=e=>{e.key===`Escape`&&l()};return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,t)}},[o,l]);let u=t.find(e=>e.key===n),d=u?.labelKey?a(u.labelKey):u?.label??u?.key??n??a(`filters.all`),f=e.key?a(e.key):e,p=n!==`all`;return(0,F.jsxs)(`div`,{className:z.filterGroup,ref:c,children:[(0,F.jsxs)(`button`,{className:`${z.filterTrigger} ${p?z.filterTriggerActive:``} ${o?z.filterTriggerExpanded:``}`,onClick:()=>s(!o),title:`${f}: ${d}`,"aria-expanded":o,"aria-haspopup":`listbox`,children:[(0,F.jsx)(`span`,{className:z.filterTriggerLabel,children:f}),(0,F.jsx)(`span`,{className:z.filterTriggerSep,children:`:`}),(0,F.jsx)(`span`,{className:z.filterTriggerValue,children:d}),(0,F.jsx)(Xn,{size:12,stroke:2,className:`${z.filterTriggerChevron} ${o?z.chevronOpen:``}`})]}),o&&(0,F.jsx)(`div`,{className:z.filterDropdown,role:`listbox`,children:(0,F.jsx)(`div`,{className:z.filterChipRow,children:t.map((e,t)=>{let o=n===e.key,s=i?.[e.key];return(0,F.jsx)(`button`,{role:`option`,"aria-selected":o,className:`${z.filterChip} ${o?z.filterChipActive:``}`,style:o&&s?{"--chip-active-color":s}:{},onClick:()=>{r(e.key),l()},title:e.hintKey?a(e.hintKey):e.hint||(e.labelKey?a(e.labelKey):e.label),children:e.labelKey?a(e.labelKey):e.label??e.key},e.key)})})})]})}function Sa({filterTier:e,setFilterTier:t,filterStatus:n,setFilterStatus:r,filterProvider:i,setFilterProvider:a,filterVerdict:o,setFilterVerdict:s,filterHealth:c,setFilterHealth:l,visibilityMode:u,setVisibilityMode:d,customTextFilter:f,setCustomTextFilter:p,searchQuery:m,onSearchChange:h,onResetView:g,providers:_,pingMode:y,setPingMode:b,nextPingAt:x,isPinging:S,globalBenchmarkRunning:C,globalBenchmarkTotal:w,globalBenchmarkCompleted:T,toolMode:ee=`opencode`}){let{t:E}=hi(),[te,D]=(0,v.useState)(null);(0,v.useEffect)(()=>{if(x==null)return;let e=()=>{let e=x-Date.now();D(e>0?e:0)};e();let t=setInterval(e,100);return()=>clearInterval(t)},[x]);let O=te===null?null:ba(te),ne=yn(ee),re=!!(f&&f.trim().length>0),ie=C&&w>0?Math.round(T/w*100):0,ae=(0,v.useMemo)(()=>{let t=0;return e!==`all`&&t++,n!==`all`&&t++,i!==`all`&&t++,o!==`all`&&t++,c!==`all`&&t++,u!==`normal`&&t++,re&&t++,m&&m.trim().length>0&&t++,t},[e,n,i,o,c,u,re,m]);return(0,F.jsxs)(`section`,{className:z.filters,children:[C&&(0,F.jsxs)(`div`,{className:z.benchmarkBar,children:[(0,F.jsxs)(`div`,{className:z.benchmarkLabel,children:[(0,F.jsx)(`span`,{className:z.benchmarkSpinner}),(0,F.jsx)(`span`,{children:E(`dashboard.aiSpeedTest`)}),(0,F.jsxs)(`span`,{className:z.benchmarkCount,children:[T,`/`,w]})]}),(0,F.jsx)(`div`,{className:z.benchmarkTrack,children:(0,F.jsx)(`div`,{className:z.benchmarkFill,style:{width:`${ie}%`}})}),(0,F.jsxs)(`span`,{className:z.benchmarkPct,children:[ie,`%`]})]}),(0,F.jsx)(xa,{label:{key:`filters.tier`},items:ma,value:e,onChange:t}),(0,F.jsx)(xa,{label:{key:`filters.status`},items:ha,value:n,onChange:r}),(0,F.jsx)(xa,{label:{key:`filters.verdict`},items:ga,value:o,onChange:s}),(0,F.jsx)(xa,{label:{key:`filters.health`},items:_a,value:c,onChange:l}),(0,F.jsxs)(`div`,{className:z.group,children:[(0,F.jsx)(`label`,{className:z.filterLabel,htmlFor:`visibility-select`,children:E(`filters.visibility`)}),(0,F.jsx)(`select`,{id:`visibility-select`,className:z.select,value:u,onChange:e=>d(e.target.value),title:(()=>{let e=va.find(e=>e.key===u);return e?.hintKey?E(e.hintKey):e?.hint})(),"aria-label":E(`filters.visibility`),children:va.map(e=>(0,F.jsx)(`option`,{value:e.key,children:E(e.labelKey)},e.key))})]}),(0,F.jsxs)(`div`,{className:z.group,children:[(0,F.jsx)(`label`,{className:z.filterLabel,children:E(`filters.provider`)}),(0,F.jsx)(pa,{providers:_,value:i,onChange:a})]}),(0,F.jsx)(`div`,{className:z.group,children:(0,F.jsxs)(`div`,{className:z.searchBar,children:[(0,F.jsx)(`span`,{className:z.searchIcon,children:(0,F.jsx)(Rr,{size:13,stroke:1.5})}),(0,F.jsx)(`input`,{type:`text`,className:z.searchInput,placeholder:E(`dashboard.searchPlaceholder`),value:m||``,onChange:e=>h?.(e.target.value),autoComplete:`off`,"aria-label":E(`dashboard.search`)})]})}),(0,F.jsxs)(`div`,{className:z.group,children:[(0,F.jsx)(`label`,{className:z.filterLabel,children:E(`filters.endpointTarget`)}),(0,F.jsxs)(`div`,{className:z.toolStatus,title:E(`filters.endpointTargetHint`),children:[(0,F.jsx)(`span`,{children:ne.emoji}),(0,F.jsx)(`strong`,{children:ne.label})]})]}),(0,F.jsx)(`div`,{className:z.spacer}),re&&(0,F.jsxs)(`div`,{className:z.group,children:[(0,F.jsx)(`label`,{className:z.filterLabel,children:E(`filters.text`)}),(0,F.jsxs)(`div`,{className:z.customFilterChip,title:E(`filters.clearTextHint`),children:[(0,F.jsx)(`span`,{className:z.customFilterIcon,children:(0,F.jsx)(mr,{size:12,stroke:1.5})}),(0,F.jsx)(`span`,{className:z.customFilterLabel,children:f}),(0,F.jsx)(`button`,{className:z.customFilterClear,onClick:()=>p(null),title:E(`filters.clearText`),"aria-label":E(`filters.clearText`),children:(0,F.jsx)(Yr,{size:12,stroke:2})})]})]}),ae>0&&(0,F.jsxs)(`button`,{className:z.resetBtn,onClick:g,title:E(`filters.resetTitle`,{count:ae}),children:[(0,F.jsx)(Ir,{size:12,stroke:1.5}),(0,F.jsx)(`span`,{children:E(`dashboard.resetView`)}),(0,F.jsx)(`span`,{className:z.resetBadge,children:ae})]}),(0,F.jsx)(xa,{label:{key:`filters.ping`},items:ya,value:y,onChange:b,colorMap:Object.fromEntries(ya.map(e=>[e.key,e.color]))}),(0,F.jsx)(`div`,{className:z.group,children:(0,F.jsxs)(`div`,{className:z.nextPing,title:E(`filters.nextPing`),children:[(0,F.jsx)(`span`,{className:z.nextPingLabel,children:E(`filters.nextPing`)}),(0,F.jsx)(`span`,{className:z.nextPingTime,children:O??`—`})]})})]})}function Ca(e){return wa(e)||typeof e==`function`||Ta(e)}function wa(e){return typeof e==`function`&&(()=>{let t=Object.getPrototypeOf(e);return t.prototype&&t.prototype.isReactComponent})()}function Ta(e){return typeof e==`object`&&typeof e.$$typeof==`symbol`&&[`react.memo`,`react.forward_ref`].includes(e.$$typeof.description)}function Ea(e,t){return e==null?null:Ca(e)?v.createElement(e,t):e}function Da(e){if(`cell`in e&&e.cell){let t=e.cell,n=t.column.columnDef,r=t,i=n;return r.getIsAggregated?.()?Ea(i.aggregatedCell??n.cell,t.getContext()):r.getIsPlaceholder?.()?null:Ea(n.cell,t.getContext())}return`header`in e&&e.header?Ea(e.header.column.columnDef.header,e.header.getContext()):`footer`in e&&e.footer?Ea(e.footer.column.columnDef.footer,e.footer.getContext()):null}function Oa({update:e,notify:t,unwatched:n}){return{link:r,unlink:i,propagate:a,checkDirty:o,shallowPropagate:s};function r(e,t,n){let r=t.depsTail;if(r!==void 0&&r.dep===e)return;let i=r===void 0?t.deps:r.nextDep;if(i!==void 0&&i.dep===e){i.version=n,t.depsTail=i;return}let a=e.subsTail;if(a!==void 0&&a.version===n&&a.sub===t)return;let o=t.depsTail=e.subsTail={version:n,dep:e,sub:t,prevDep:r,nextDep:i,prevSub:a,nextSub:void 0};i!==void 0&&(i.prevDep=o),r===void 0?t.deps=o:r.nextDep=o,a===void 0?e.subs=o:a.nextSub=o}function i(e,t=e.sub){let r=e.dep,i=e.prevDep,a=e.nextDep,o=e.nextSub,s=e.prevSub;return a===void 0?t.depsTail=i:a.prevDep=i,i===void 0?t.deps=a:i.nextDep=a,o===void 0?r.subsTail=s:o.prevSub=s,s===void 0?(r.subs=o)===void 0&&n(r):s.nextSub=o,a}function a(e){let n=e.nextSub,r;top:do{let i=e.sub,a=i.flags;if(a&60?a&12?a&4?!(a&48)&&c(e,i)?(i.flags=a|40,a&=1):a=0:i.flags=a&-9|32:a=0:i.flags=a|32,a&2&&t(i),a&1){let t=i.subs;if(t!==void 0){let i=(e=t).nextSub;i!==void 0&&(r={value:n,prev:r},n=i);continue}}if((e=n)!==void 0){n=e.nextSub;continue}for(;r!==void 0;)if(e=r.value,r=r.prev,e!==void 0){n=e.nextSub;continue top}break}while(1)}function o(t,n){let r,i=0,a=!1;top:do{let o=t.dep,c=o.flags;if(n.flags&16)a=!0;else if((c&17)==17){if(e(o)){let e=o.subs;e.nextSub!==void 0&&s(e),a=!0}}else if((c&33)==33){(t.nextSub!==void 0||t.prevSub!==void 0)&&(r={value:t,prev:r}),t=o.deps,n=o,++i;continue}if(!a){let e=t.nextDep;if(e!==void 0){t=e;continue}}for(;i--;){let i=n.subs,o=i.nextSub!==void 0;if(o?(t=r.value,r=r.prev):t=i,a){if(e(n)){o&&s(i),n=t.sub;continue}a=!1}else n.flags&=-33;n=t.sub;let c=t.nextDep;if(c!==void 0){t=c;continue top}}return a}while(1)}function s(e){do{let n=e.sub,r=n.flags;(r&48)==32&&(n.flags=r|16,(r&6)==2&&t(n))}while((e=e.nextSub)!==void 0)}function c(e,t){let n=t.depsTail;for(;n!==void 0;){if(n===e)return!0;n=n.prevDep}return!1}}function ka(e,t,n){let r=typeof e==`object`,i=r?e:void 0;return{next:(r?e.next:e)?.bind(i),error:(r?e.error:t)?.bind(i),complete:(r?e.complete:n)?.bind(i)}}var Aa=[],ja=0,{link:Ma,unlink:Na,propagate:Pa,checkDirty:Fa,shallowPropagate:Ia}=Oa({update(e){return e._update()},notify(e){Aa[Ra++]=e,e.flags&=-3},unwatched(e){e.depsTail!==void 0&&(e.depsTail=void 0,e.flags=17,Ha(e))}}),La=0,Ra=0,za,Ba=0;function Va(e){try{++Ba,e()}finally{--Ba||Ua()}}function Ha(e){let t=e.depsTail,n=t===void 0?e.deps:t.nextDep;for(;n!==void 0;)n=Na(n,e)}function Ua(){if(!(Ba>0)){for(;La<Ra;){let e=Aa[La];Aa[La++]=void 0,e.notify()}La=0,Ra=0}}function Wa(e,t){let n=typeof e==`function`,r=e,i={_snapshot:n?void 0:e,subs:void 0,subsTail:void 0,deps:void 0,depsTail:void 0,flags:+!n,get(){return za!==void 0&&Ma(i,za,ja),i._snapshot},subscribe(e){let t=ka(e),n={current:!1},r=Ga(()=>{i.get(),n.current?t.next?.(i._snapshot):n.current=!0});return{unsubscribe:()=>{r.stop()}}},_update(e){let a=za,o=t?.compare??Object.is;if(n)za=i,++ja,i.depsTail=void 0;else if(e===void 0)return!1;n&&(i.flags=5);try{let t=i._snapshot,a=typeof e==`function`?e(t):e===void 0&&n?r(t):e;return t===void 0||!o(t,a)?(i._snapshot=a,!0):!1}finally{za=a,n&&(i.flags&=-5),Ha(i)}}};return n?(i.flags=17,i.get=function(){let e=i.flags;if(e&16||e&32&&Fa(i.deps,i)){if(i._update()){let e=i.subs;e!==void 0&&Ia(e)}}else e&32&&(i.flags=e&-33);return za!==void 0&&Ma(i,za,ja),i._snapshot}):i.set=function(e){if(i._update(e)){let e=i.subs;e!==void 0&&(Pa(e),Ia(e),Ua())}},i}function Ga(e){let t=()=>{let t=za;za=n,++ja,n.depsTail=void 0,n.flags=6;try{return e()}finally{za=t,n.flags&=-5,Ha(n)}},n={deps:void 0,depsTail:void 0,subs:void 0,subsTail:void 0,flags:6,notify(){let e=this.flags;e&16||e&32&&Fa(this.deps,this)?t():this.flags=2},stop(){this.flags=0,this.depsTail=void 0,Ha(this)}};return t(),n}function Ka(e,t){if(Object.is(e,t))return!0;if(typeof e!=`object`||!e||typeof t!=`object`||!t)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(let[n,r]of e)if(!t.has(n)||!Object.is(r,t.get(n)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}if(e instanceof Date&&t instanceof Date)return e.getTime()===t.getTime();let n=qa(e);if(n.length!==qa(t).length)return!1;for(let r=0;r<n.length;r++)if(!Object.prototype.hasOwnProperty.call(t,n[r])||!Object.is(e[n[r]],t[n[r]]))return!1;return!0}function qa(e){return Object.keys(e).concat(Object.getOwnPropertySymbols(e))}var Ja=o((e=>{var t=d();function n(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var r=typeof Object.is==`function`?Object.is:n,i=t.useState,a=t.useEffect,o=t.useLayoutEffect,s=t.useDebugValue;function c(e,t){var n=t(),r=i({inst:{value:n,getSnapshot:t}}),c=r[0].inst,u=r[1];return o(function(){c.value=n,c.getSnapshot=t,l(c)&&u({inst:c})},[e,n,t]),a(function(){return l(c)&&u({inst:c}),e(function(){l(c)&&u({inst:c})})},[e]),s(n),n}function l(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!r(e,n)}catch{return!0}}function u(e,t){return t()}var f=typeof window>`u`||window.document===void 0||window.document.createElement===void 0?u:c;e.useSyncExternalStore=t.useSyncExternalStore===void 0?f:t.useSyncExternalStore})),Ya=o(((e,t)=>{t.exports=Ja()})),Xa=o((e=>{var t=d(),n=Ya();function r(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var i=typeof Object.is==`function`?Object.is:r,a=n.useSyncExternalStore,o=t.useRef,s=t.useEffect,c=t.useMemo,l=t.useDebugValue;e.useSyncExternalStoreWithSelector=function(e,t,n,r,u){var d=o(null);if(d.current===null){var f={hasValue:!1,value:null};d.current=f}else f=d.current;d=c(function(){function e(e){if(!a){if(a=!0,o=e,e=r(e),u!==void 0&&f.hasValue){var t=f.value;if(u(t,e))return s=t}return s=e}if(t=s,i(o,e))return t;var n=r(e);return u!==void 0&&u(t,n)?(o=e,t):(o=e,s=n)}var a=!1,o,s,c=n===void 0?null:n;return[function(){return e(t())},c===null?void 0:function(){return e(c())}]},[t,n,r,u]);var p=a(e,d[0],d[1]);return s(function(){f.hasValue=!0,f.value=p},[p]),l(p),p}})),Za=o(((e,t)=>{t.exports=Xa()}))();function Qa(e,t){return e===t}function $a(e,t=e=>e,n){let r=n?.compare??Qa,i=(0,v.useCallback)(t=>{let{unsubscribe:n}=e.subscribe(t);return n},[e]),a=(0,v.useCallback)(()=>e.get(),[e]);return(0,Za.useSyncExternalStoreWithSelector)(i,a,a,t,r)}function eo(e){let t=$a(e.source,e.selector,{compare:Ka});return typeof e.children==`function`?e.children(t):e.children}function to(e){let t=e;return Object.defineProperty(e,"state",{get(){return e.get()}}),`set`in e&&(t.setState=e.set.bind(e)),t}function no(e){let{createAtom:t,batch:n}=e,r=t(0);return{createOptionsStore:!1,wrapExternalAtoms:!1,addSubscription:()=>{throw Error(`Feature not supported in current reactivity implementation`)},unmount:()=>{throw Error(`Feature not supported in current reactivity implementation`)},schedule:e.schedule??(e=>queueMicrotask(e)),batch:n,untrack:e=>e(),createReadonlyAtom:(e,n)=>{let i=n?.compare??Object.is,a=!1,o,s=()=>{let t=e();return(!a||!i(o,t))&&(o=t,a=!0),o},c=t(()=>(r.get(),s()),{compare:i});return{get:s,subscribe:c.subscribe.bind(c)}},createWritableAtom:(e,n)=>t(e,{compare:n?.compare}),commit:()=>{r.set(e=>e+1)}}}function ro(e,t=Object.is){let n=!1,r;return{get:e.get,markCommitted:e=>{r=e,n=!0},subscribe:i=>e.subscribe(e=>{(!n||!t(r,e))&&i(e)})}}function io(){return no({createAtom:Wa,batch:Va})}function ao(e,t){return typeof e==`function`?e(t):e}function oo(e){if(Array.isArray(e))return e.map(oo);if(e&&typeof e==`object`){let t=Object.getPrototypeOf(e);if(t!==Object.prototype&&t!==null)return e;let n=t===null?so():{},r=Object.keys(e);for(let t=0;t<r.length;t++){let i=r[t];Object.defineProperty(n,i,{configurable:!0,enumerable:!0,value:oo(e[i]),writable:!0})}return n}return e}function so(){return Object.create(null)}function co(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function lo(e,t){return n=>{(t.options.atoms?.[e]??t.baseAtoms[e]).set(e=>ao(n,e))}}function uo(e){if(typeof e!=`object`||!e)return!1;if(Array.isArray(e))return!0;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function fo(e){return Reflect.ownKeys(e).filter(t=>Object.prototype.propertyIsEnumerable.call(e,t))}var po=3;function mo(e,t){return ho(e,t,po)}function ho(e,t,n){if(Object.is(e,t))return!0;if(n<=0||!uo(e)||!uo(t)||(Array.isArray(e)||Array.isArray(t))&&(!Array.isArray(e)||!Array.isArray(t)||e.length!==t.length))return!1;let r=fo(e),i=fo(t);if(r.length!==i.length)return!1;let a=e,o=t;for(let e=0;e<r.length;e++){let i=r[e];if(!Object.prototype.propertyIsEnumerable.call(t,i)||!ho(a[i],o[i],n-1))return!1}return!0}function go(e,t,n,r=mo){let i=`on${t.charAt(0).toUpperCase()}${t.slice(1)}Change`,a=e.options[i];a&&a(e=>{let t=ao(n,e);return r(e,t)?e:t})}function _o(e,t){let n=[],r=e=>{e.forEach(e=>{n.push(e);let i=t(e);i.length&&r(i)})};return r(e),n}var vo=({fn:e,memoDeps:t,onAfterCompare:n,onAfterUpdate:r,onBeforeCompare:i,onBeforeUpdate:a})=>{let o=[],s;return c=>{i?.();let l=t?.(c),u=!l||l.length!==o?.length;if(!u&&l){for(let e=0;e<l.length;e++)if(l[e]!==o[e]){u=!0;break}}return n?.(u),u?(o=l,a?.(),s=e(...l??[]),r?.(s),s):s}};function yo(e){let t=!1;return()=>{if(!t){t=!0;return}e()}}function bo({feature:e,fnName:t,objectId:n,onAfterUpdate:r,table:i,...a}){let o=()=>{if(!r)return;let{schedule:e,untrack:t}=i._reactivity;e(()=>t(()=>r()))},s={onAfterUpdate:()=>{o()}};return vo({...a,...s})}function xo(e,t=`_`){let[n,r]=e.split(t);return{fnKey:r,fnName:`${n}.${r}`,parentName:n}}function So(e,t,n){for(let[r,{fn:i,memoDeps:a}]of Object.entries(n)){let{fnKey:n,fnName:o}=xo(r);t[n]=a?bo({memoDeps:a,fn:i,fnName:o,table:t,feature:e}):i}}function Co(e,t,n,r){for(let[i,{fn:a,memoDeps:o}]of Object.entries(r)){let{fnKey:r,fnName:s}=xo(i);if(o){let i=`_memo_${r}`;t[r]=function(...t){if(!this[i]){let t=this;this[i]=bo({memoDeps:e=>o(t,e),fn:(...e)=>a(t,...e),fnName:s,objectId:t.id,table:n,feature:e})}return this[i](...t)}}else t[r]=function(...e){return a(this,...e)}}}function B(e,t,n,...r){return e[t]?.(...r)??n(e,...r)}function wo(e){return e.row.getValue(e.column.id)}function To(e){return e.getValue()??e.table.options.renderFallbackValue}function Eo(e){return{table:e.table,column:e.column,row:e.row,cell:e,getValue:()=>e.getValue(),renderValue:()=>e.renderValue()}}var Do={assignCellPrototype:(e,t)=>{Co(`coreCellsFeature`,e,t,{cell_getValue:{fn:e=>wo(e)},cell_renderValue:{fn:e=>To(e)},cell_getContext:{fn:e=>Eo(e),memoDeps:e=>[e]}})}};function Oo(e){if(!e._headerPrototype){e._headerPrototype={table:e};let t=Object.values(e._features);for(let n=0;n<t.length;n++)t[n].assignHeaderPrototype?.(e._headerPrototype,e)}return e._headerPrototype}function ko(e,t,n){let r=Oo(e),i=Object.create(r);i.colSpan=0,i.column=t,i.depth=n.depth,i.headerGroup=null,i.id=n.id??t.id,i.index=n.index,i.isPlaceholder=!!n.isPlaceholder,i.placeholderId=n.placeholderId,i.rowSpan=0,i.subHeaders=[];let a=e._headerInstanceInitFns;for(let e=0;e<a.length;e++)a[e](i);return i}function Ao(){return{start:[],end:[]}}function jo(e){let t=e.getAllColumns(),n=e.getAllLeafColumnsById(),{start:r}=e.atoms.columnPinning?.get()??Ao(),i=[];for(let e=0;e<r.length;e++){let t=n[r[e]];t&&B(t,`getIsVisible`,Vo)&&i.push(t)}return Jo(t,i,e,`start`)}function Mo(e){let t=e.getAllColumns(),n=e.getAllLeafColumnsById(),{end:r}=e.atoms.columnPinning?.get()??Ao(),i=[];for(let e=0;e<r.length;e++){let t=n[r[e]];t&&B(t,`getIsVisible`,Vo)&&i.push(t)}return Jo(t,i,e,`end`)}function No(e){let t=e.getAllColumns(),n=B(e,`getVisibleLeafColumns`,Ho),{start:r,end:i}=e.atoms.columnPinning?.get()??Ao();if(r.length||i.length){let e=[...r,...i];n=n.filter(t=>!e.includes(t.id))}return Jo(t,n,e,`center`)}function Po(e){let{start:t}=e.atoms.columnPinning?.get()??Ao(),n=e.getAllLeafColumnsById(),r=[];for(let e=0;e<t.length;e++){let i=n[t[e]];i&&r.push(i)}return r}function Fo(e){let{end:t}=e.atoms.columnPinning?.get()??Ao(),n=e.getAllLeafColumnsById(),r=[];for(let e=0;e<t.length;e++){let i=n[t[e]];i&&r.push(i)}return r}function Io(e){let{start:t,end:n}=e.atoms.columnPinning?.get()??Ao();if(!t.length&&!n.length)return e.getAllLeafColumns();let r=[...t,...n];return e.getAllLeafColumns().filter(e=>!r.includes(e.id))}function Lo(e){return B(e,`getStartLeafColumns`,Po).filter(e=>B(e,`getIsVisible`,Vo))}function Ro(e){return B(e,`getEndLeafColumns`,Fo).filter(e=>B(e,`getIsVisible`,Vo))}function zo(e){return B(e,`getCenterLeafColumns`,Io).filter(e=>B(e,`getIsVisible`,Vo))}function Bo(e,t){return t?t===`start`?B(e,`getStartVisibleLeafColumns`,Lo):t===`end`?B(e,`getEndVisibleLeafColumns`,Ro):B(e,`getCenterVisibleLeafColumns`,zo):B(e,`getVisibleLeafColumns`,Ho)}function Vo(e){let t=e.table.atoms.columnVisibility?.get();if(!t)return!0;let n=e.columns;return n.length?n.some(e=>B(e,`getIsVisible`,Vo)):(co(t,e.id)?t[e.id]:void 0)??!0}function Ho(e){return e.getAllLeafColumns().filter(e=>B(e,`getIsVisible`,Vo))}function V(e,t=1){let n=t;for(let r=0;r<e.length;r++){let i=e[r];B(i,`getIsVisible`,Vo)&&i.columns.length&&(n=Math.max(n,V(i.columns,t+1)))}return n}function Uo(e,t){return e?`${e}_${t}`:String(t)}function Wo(e,t,n,r){let i=e??``;return t&&(i=i?`${i}_${t}`:String(t)),n&&(i=i?`${i}_${n}`:n),r&&(i=i?`${i}_${r}`:r),i}function Go(e,t){let n=0;for(let r=0;r<e.length;r++)e[r].column===t&&n++;return n}function Ko(e,t,n,r,i,a){let o={depth:t,id:Uo(r,t),headers:[]},s=[];for(let i=0;i<e.length;i++){if(!(i in e))continue;let a=e[i],c=s[s.length-1],l=a.column.depth===o.depth,u,d=!1;if(l&&a.column.parent?u=a.column.parent:(u=a.column,d=!0),c&&c.column===u)c.subHeaders.push(a);else{let e=ko(n,u,{id:Wo(r,t,u.id,a.id),isPlaceholder:d,placeholderId:d?String(Go(s,u)):void 0,depth:t,index:s.length});e.subHeaders.push(a),s.push(e)}o.headers.push(a),a.headerGroup=o}for(let e=0;e<a.length;e++)a[e](o);i.push(o),t>0&&Ko(s,t-1,n,r,i,a)}function qo(e){for(let t=0;t<e.length;t++){let n=e[t];if(!B(n.column,`getIsVisible`,Vo))continue;let r=0;if(n.subHeaders.length){qo(n.subHeaders);for(let e=0;e<n.subHeaders.length;e++){let t=n.subHeaders[e];B(t.column,`getIsVisible`,Vo)&&(r+=t.colSpan)}}else r=1;if(n.colSpan=r,n.isPlaceholder&&n.subHeaders.length===1&&n.subHeaders[0].column===n.column){let e=1,t=n.subHeaders[0];for(;t;)t.rowSpan=0,e++,t=t.subHeaders.length===1&&t.subHeaders[0].column===n.column?t.subHeaders[0]:void 0;n.rowSpan=e}else n.rowSpan=1}}function Jo(e,t,n,r){let i=V(e),a=[],o=n._headerGroupInstanceInitFns,s=Array(t.length);for(let e=0;e<t.length;e++)e in t&&(s[e]=ko(n,t[e],{depth:i,index:e}));return Ko(s,i-1,n,r,a,o),a.reverse(),qo(a[0]?.headers??[]),a}function Yo(e){if(!e._columnPrototype){e._columnPrototype={table:e};let t=Object.values(e._features);for(let n=0;n<t.length;n++)t[n].assignColumnPrototype?.(e._columnPrototype,e)}return e._columnPrototype}function Xo(e,t,n,r){let i={...e.getDefaultColumnDef(),...t},a=i.accessorKey,o=a===void 0?void 0:String(a),s=i.id??o?.replaceAll(`.`,`_`)??(typeof i.header==`string`?i.header:void 0),c;if(i.accessorFn)c=i.accessorFn;else if(a!==void 0){if(typeof a==`string`&&a.includes(`.`)){let e=a.split(`.`);c=t=>{let n=t;for(let t=0;t<e.length;t++){let r=e[t];n=n?.[r]}return n}}else c=e=>e[i.accessorKey]}if(!s)throw Error();let l=Yo(e),u=Object.create(l);u.accessorFn=c,u.columnDef=i,u.columns=[],u.depth=n,u.id=`${String(s)}`,u.parent=r;let d=e._columnInstanceInitFns;for(let e=0;e<d.length;e++)d[e](u);return u}function Zo(e){let t=e.atoms.columnOrder?.get();return n=>{let r=[];if(!t?.length)r=n;else{let e=new Map;for(let t=0;t<n.length;t++){let r=n[t];e.set(r.id,r)}for(let n=0;n<t.length;n++){let i=t[n],a=e.get(i);a&&(r.push(a),e.delete(i))}for(let t=0;t<n.length;t++){let i=n[t];e.has(i.id)&&r.push(i)}}return Qo(e,r)}}function Qo(e,t){let n=e.atoms.grouping?.get()??[],{groupedColumnMode:r}=e.options;if(!n.length||!r)return t;let i=t.filter(e=>!n.includes(e.id));if(r===`remove`)return i;let a=new Map;for(let e=0;e<t.length;e++){let n=t[e];a.set(n.id,n)}let o=[];for(let e=0;e<n.length;e++){let t=a.get(n[e]);t&&o.push(t)}return[...o,...i]}function $o(e){return[e,...e.columns.flatMap(e=>e.getFlatColumns())]}function es(e){if(e.columns.length){let t=e.columns.flatMap(e=>e.getLeafColumns());return B(e.table,`getOrderColumns`,Zo)(t)}return[e]}function ts(e){return{header:e=>{let t=e.header.column.columnDef;return t.accessorKey?t.accessorKey:t.accessorFn?t.id:null},cell:e=>e.renderValue()?.toString?.()??null,...Object.values(e._features).reduce((e,t)=>Object.assign(e,t.getDefaultColumnDef?.()),{}),...e.options.defaultColumn}}function ns(e,t,n,r=0){let i=Array(t.length);for(let a=0;a<t.length;a++){if(!(a in t))continue;let o=t[a],s=Xo(e,o,r,n),c=o;s.columns=c.columns?ns(e,c.columns,s,r+1):[],i[a]=s}return i}function rs(e){return ns(e,e.options.columns)}function is(e){return e.getAllColumns().flatMap(e=>e.getFlatColumns())}function as(e){let t=so(),n=e.getAllFlatColumns();for(let e=0;e<n.length;e++){let r=n[e];t[r.id]=r}return t}function os(e){let t=e.getAllColumns().flatMap(e=>e.getLeafColumns());return B(e,`getOrderColumns`,Zo)(t)}function ss(e){let t=so(),n=e.getAllLeafColumns();for(let e=0;e<n.length;e++){let r=n[e];t[r.id]=r}return t}function cs(e,t){return e.getAllFlatColumnsById()[t]}var ls={assignColumnPrototype:(e,t)=>{Co(`coreColumnsFeature`,e,t,{column_getFlatColumns:{fn:e=>$o(e),memoDeps:e=>[e.table.options.columns]},column_getLeafColumns:{fn:e=>es(e),memoDeps:e=>[e.table.atoms.columnOrder?.get(),e.table.atoms.grouping?.get(),e.table.options.columns,e.table.options.groupedColumnMode]}})},constructTableAPIs:e=>{So(`coreColumnsFeature`,e,{table_getDefaultColumnDef:{fn:()=>ts(e),memoDeps:()=>[e.options.defaultColumn]},table_getAllColumns:{fn:()=>rs(e),memoDeps:()=>[e.options.columns]},table_getAllFlatColumns:{fn:()=>is(e),memoDeps:()=>[e.options.columns]},table_getAllFlatColumnsById:{fn:()=>as(e),memoDeps:()=>[e.options.columns]},table_getAllLeafColumns:{fn:()=>os(e),memoDeps:()=>[e.atoms.columnOrder?.get(),e.atoms.grouping?.get(),e.options.columns,e.options.groupedColumnMode]},table_getAllLeafColumnsById:{fn:()=>ss(e),memoDeps:()=>[e.getAllLeafColumns()]},table_getColumn:{fn:t=>cs(e,t)}})}};function us(e,t){for(let n=0;n<e.subHeaders.length;n++)us(e.subHeaders[n],t);t.push(e)}function ds(e){let t=[];return us(e,t),t}function fs(e){return{column:e.column,header:e,table:e.column.table}}function ps(e){let{start:t,end:n}=e.atoms.columnPinning?.get()??Ao(),r=e.getAllColumns(),i=B(e,`getVisibleLeafColumns`,Ho);if(!t.length&&!n.length)return Jo(r,i,e);let a=e.getAllLeafColumnsById(),o=[];for(let e=0;e<t.length;e++){let n=a[t[e]];n&&B(n,`getIsVisible`,Vo)&&o.push(n)}let s=[];for(let e=0;e<n.length;e++){let t=a[n[e]];t&&B(t,`getIsVisible`,Vo)&&s.push(t)}let c=i.filter(e=>!t.includes(e.id)&&!n.includes(e.id));return Jo(r,[...o,...c,...s],e)}function ms(e){return[...e.getHeaderGroups()].reverse()}function hs(e){let t=e.getHeaderGroups(),n=[];for(let e=0;e<t.length;e++){let r=t[e].headers;for(let e=0;e<r.length;e++)n.push(r[e])}return n}function gs(e){let t=e.getHeaderGroups()[0]?.headers??[],n=[];for(let e=0;e<t.length;e++){let r=t[e].getLeafHeaders();for(let e=0;e<r.length;e++)n.push(r[e])}return n}var _s={assignHeaderPrototype:(e,t)=>{Co(`coreHeadersFeature`,e,t,{header_getLeafHeaders:{fn:e=>ds(e),memoDeps:e=>[e.column.table.options.columns]},header_getContext:{fn:e=>fs(e),memoDeps:e=>[e.column.table.options.columns]}})},constructTableAPIs:e=>{So(`coreHeadersFeature`,e,{table_getHeaderGroups:{fn:()=>ps(e),memoDeps:()=>[e.options.columns,e.atoms.columnOrder?.get(),e.atoms.grouping?.get(),e.atoms.columnPinning?.get(),e.atoms.columnVisibility?.get(),e.options.groupedColumnMode]},table_getFooterGroups:{fn:()=>ms(e),memoDeps:()=>[e.getHeaderGroups()]},table_getFlatHeaders:{fn:()=>hs(e),memoDeps:()=>[e.getHeaderGroups()]},table_getLeafHeaders:{fn:()=>gs(e),memoDeps:()=>[e.getHeaderGroups()]}})}};function vs(e){if(!e._rowPrototype){e._rowPrototype={table:e};let t=Object.values(e._features);for(let n=0;n<t.length;n++)t[n].assignRowPrototype?.(e._rowPrototype,e)}return e._rowPrototype}var ys=(e,t,n,r,i,a,o)=>{let s=vs(e),c=Object.create(s);c._displayIndexCache=-1,c._uniqueValuesCache=so(),c._valuesCache=so(),c.depth=i,c.id=t,c.index=r,c.original=n,c.parentId=o,c.subRows=a??[];let l=e._rowInstanceInitFns;for(let e=0;e<l.length;e++)l[e](c);return c};function bs(){return[]}function xs(e,t){go(e,`cellSelection`,t?bs():oo(e.initialState.cellSelection)??bs())}function Ss(e){e.atoms.cellSelection&&(e.options.autoResetAll??e.options.autoResetCellSelection??!0)&&e._reactivity.schedule(()=>xs(e))}function Cs(e){e.atoms.expanded&&(e.options.autoResetAll??e.options.autoResetExpanded??!e.options.manualExpanding)&&e._reactivity.schedule(()=>ws(e))}function ws(e,t){let n=e.initialState.expanded;go(e,`expanded`,t?so():n===!0||Object.assign(so(),oo(n??{})))}var Ts=0;function Es(e){if(e.options.autoResetAll??e.options.autoResetPageIndex??!e.options.manualPagination){if((e.atoms.pagination?.get()?.pageIndex??Ts)===Ts)return;ks(e,!0)}}function Ds(e,t){go(e,`pagination`,t)}function Os(e,t){Ds(e,n=>{let r=ao(t,n.pageIndex),i=e.options.pageCount===void 0||e.options.pageCount===-1?2**53-1:e.options.pageCount-1;return r=Math.max(0,Math.min(r,i)),{...n,pageIndex:r}})}function ks(e,t){Os(e,t?Ts:e.initialState.pagination?.pageIndex??Ts)}function As(e,t){go(e,`sorting`,t)}function js(e,t){As(e,t?[]:oo(e.initialState.sorting??[]))}function Ms(e){e.atoms.sorting&&(e.options.autoResetAll??e.options.autoResetSorting??!1)&&js(e)}function Ns(){return e=>bo({feature:`coreRowModelsFeature`,table:e,fnName:`table.getCoreRowModel`,memoDeps:()=>[e.options.data],fn:()=>Fs(e,e.options.data),onAfterUpdate:yo(()=>{Cs(e),Es(e),Ms(e),Ss(e)})})}function Ps(e,t,n,r=0,i){let a=[];for(let o=0;o<n.length;o++){let s=n[o],c=ys(e,e.getRowId(s,o,i),s,o,r,void 0,i?.id);t.flatRows.push(c),t.rowsById[c.id]=c,a.push(c),e.options.getSubRows&&(c.originalSubRows=e.options.getSubRows(s,o),c.originalSubRows?.length&&(c.subRows=Ps(e,t,c.originalSubRows,r+1,c)))}return a}function Fs(e,t){let n={rows:[],flatRows:[],rowsById:so()};return n.rows=Ps(e,n,t),n}function Is(e){return e._rowModels.coreRowModel||(e._rowModels.coreRowModel=e.options.features.coreRowModel?.(e)??Ns()(e)),e._rowModels.coreRowModel()}function Ls(e){return e.getCoreRowModel()}function Rs(e){return e._rowModels.filteredRowModel||(e._rowModels.filteredRowModel=e.options.features.filteredRowModel?.(e)),e.options.manualFiltering||!e._rowModels.filteredRowModel?e.getPreFilteredRowModel():e._rowModels.filteredRowModel()}function zs(e){return e.getFilteredRowModel()}function Bs(e){return e._rowModels.groupedRowModel||(e._rowModels.groupedRowModel=e.options.features.groupedRowModel?.(e)),e.options.manualGrouping||!e._rowModels.groupedRowModel?e.getPreGroupedRowModel():e._rowModels.groupedRowModel()}function Vs(e){return e.getGroupedRowModel()}function Hs(e){return e._rowModels.sortedRowModel||(e._rowModels.sortedRowModel=e.options.features.sortedRowModel?.(e)),e.options.manualSorting||!e._rowModels.sortedRowModel?e.getPreSortedRowModel():e._rowModels.sortedRowModel()}function Us(e){return e.getSortedRowModel()}function Ws(e){return e._rowModels.expandedRowModel||(e._rowModels.expandedRowModel=e.options.features.expandedRowModel?.(e)),e.options.manualExpanding||!e._rowModels.expandedRowModel?e.getPreExpandedRowModel():e._rowModels.expandedRowModel()}function Gs(e){return e.getExpandedRowModel()}function Ks(e){return e._rowModels.paginatedRowModel||(e._rowModels.paginatedRowModel=e.options.features.paginatedRowModel?.(e)),e.options.manualPagination||!e._rowModels.paginatedRowModel?e.getPrePaginatedRowModel():e._rowModels.paginatedRowModel()}function qs(e){return e.getPaginatedRowModel()}var Js={constructTableAPIs:e=>{So(`coreRowModelsFeature`,e,{table_getCoreRowModel:{fn:()=>Is(e)},table_getPreFilteredRowModel:{fn:()=>Ls(e)},table_getFilteredRowModel:{fn:()=>Rs(e)},table_getPreGroupedRowModel:{fn:()=>zs(e)},table_getGroupedRowModel:{fn:()=>Bs(e)},table_getPreSortedRowModel:{fn:()=>Vs(e)},table_getSortedRowModel:{fn:()=>Hs(e)},table_getPreExpandedRowModel:{fn:()=>Us(e)},table_getExpandedRowModel:{fn:()=>Ws(e)},table_getPrePaginatedRowModel:{fn:()=>Gs(e)},table_getPaginatedRowModel:{fn:()=>Ks(e)},table_getRowModel:{fn:()=>qs(e)}})}};function Ys(e){if(!e._cellPrototype){e._cellPrototype={table:e};let t=Object.values(e._features);for(let n=0;n<t.length;n++)t[n].assignCellPrototype?.(e._cellPrototype,e)}return e._cellPrototype}function Xs(e,t,n){let r=Ys(n),i=Object.create(r);i.column=e,i.id=`${t.id}_${e.id}`,i.row=t;let a=n._cellInstanceInitFns;for(let e=0;e<a.length;e++)a[e](i);return i}function Zs(e){let t=e.table.getRowsInDisplayOrder(),n=e._displayIndexCache;return t[n]===e?n:-1}function Qs(e){let t=e.getPrePaginatedRowModel().rows;if(e.options.paginateExpandedRows===!1){let e=[],n=t=>{t._displayIndexCache=e.length,e.push(t),t.subRows.length&&t.getIsExpanded?.()&&t.subRows.forEach(n)};return t.forEach(n),e}for(let e=0;e<t.length;e++)t[e]._displayIndexCache=e;return t}function $s(e,t){if(co(e._valuesCache,t))return e._valuesCache[t];let n=e.table.getColumn(t);if(n?.accessorFn)return e._valuesCache[t]=n.accessorFn(e.original,e.index),e._valuesCache[t]}function ec(e,t){if(co(e._uniqueValuesCache,t))return e._uniqueValuesCache[t];let n=e.table.getColumn(t);if(n?.accessorFn)return n.columnDef.getUniqueValues?(e._uniqueValuesCache[t]=n.columnDef.getUniqueValues(e.original,e.index),e._uniqueValuesCache[t]):(e._uniqueValuesCache[t]=[e.getValue(t)],e._uniqueValuesCache[t])}function tc(e,t){return e.getValue(t)??e.table.options.renderFallbackValue}function nc(e){return _o(e.subRows,e=>e.subRows)}function rc(e){let t=e.getCoreRowModel().flatRows,n=0;for(let e=0;e<t.length;e++)n=Math.max(n,t[e].depth);return n}function ic(e){if(e.parentId)return e.table.getCoreRowModel().rowsById[e.parentId]??e.table.getRow(e.parentId,!0)}function ac(e){let t=[],n=e;for(;;){let e=n.getParentRow();if(!e)break;t.push(e),n=e}return t.reverse()}function oc(e){let t=e.table.getAllLeafColumns(),n=e._cellsCache;n||=e._cellsCache=new WeakMap;let r=Array(t.length);for(let i=0;i<t.length;i++){let a=t[i],o=n.get(a);o||(o=Xs(a,e,e.table),n.set(a,o)),r[i]=o}return r}function sc(e){let t=so(),n=e.getAllCells();for(let e=0;e<n.length;e++){let r=n[e];t[r.column.id]=r}return t}function cc(e,t,n,r){return t.options.getRowId?.(e,n,r)??(r?`${r.id}.${n}`:String(n))}function lc(e,t,n){let r=(n?e.getPrePaginatedRowModel():e.getRowModel()).rowsById[t];if(!r&&(r=e.getCoreRowModel().rowsById[t],!r))throw Error();return r}var uc={assignRowPrototype:(e,t)=>{Co(`coreRowsFeature`,e,t,{row_getDisplayIndex:{fn:e=>Zs(e)},row_getAllCellsByColumnId:{fn:e=>sc(e),memoDeps:e=>[e.getAllCells()]},row_getAllCells:{fn:e=>oc(e),memoDeps:e=>[e.table.getAllLeafColumns()]},row_getLeafRows:{fn:e=>nc(e),memoDeps:e=>[e.subRows]},row_getParentRow:{fn:e=>ic(e)},row_getParentRows:{fn:e=>ac(e)},row_getUniqueValues:{fn:(e,t)=>ec(e,t)},row_getValue:{fn:(e,t)=>$s(e,t)},row_renderValue:{fn:(e,t)=>tc(e,t)}})},constructTableAPIs:e=>{So(`coreRowsFeature`,e,{table_getRowsInDisplayOrder:{fn:()=>Qs(e),memoDeps:()=>[e.getPrePaginatedRowModel().rows,e.options.paginateExpandedRows,e.options.paginateExpandedRows===!1?e.atoms.expanded?.get():void 0]},table_getRowId:{fn:(t,n,r)=>cc(t,e,n,r)},table_getRow:{fn:(t,n)=>lc(e,t,n)},table_getMaxSubRowDepth:{fn:()=>rc(e),memoDeps:()=>[e.getCoreRowModel()]}})}};function dc(e,t,n=(e,t)=>e===t){let r=t===void 0?e.options.state:t;e._reactivity.batch(()=>{if(r)for(let t in r){let i=e.baseAtoms[t];if(!i)continue;let a=r[t],o=a===void 0?e.initialState[t]:a;n(e._reactivity.untrack(()=>i.get()),o)||i.set(()=>o)}})}function fc(e,t,n=(e,t)=>e===t){e._reactivity.batch(()=>{dc(e,t,n),e._reactivity.commit?.()})}function pc(e){let t=oo(e.initialState);e._reactivity.batch(()=>{let n=Object.keys(t);for(let r=0;r<n.length;r++){let i=n[r];e.baseAtoms[i].set(t[i])}});let n=Object.values(e._features);for(let t=0;t<n.length;t++)n[t].resetTableInstanceData?.(e)}function mc(e,t){let{features:n,atoms:r,initialState:i}=e.options;if(!e.options.mergeOptions)return{...e.options,...t,features:n,atoms:r,initialState:i};let a=e.options.mergeOptions(e.options,t),o={...Object.getOwnPropertyDescriptors(a)};return Object.defineProperties(Object.create(Object.getPrototypeOf(a)),{...o,features:{value:n,enumerable:!0,configurable:!0,writable:!0},atoms:{value:r,enumerable:!0,configurable:!0,writable:!0},initialState:{value:i,enumerable:!0,configurable:!0,writable:!0}})}function hc(e,t,n){let r=mc(e,ao(t,e.options));e.optionsStore?e.optionsStore.set(()=>r):e.options=r,n?.syncExternalState!==!1&&fc(e,r.state??null)}var gc={coreCellsFeature:Do,coreColumnsFeature:ls,coreHeadersFeature:_s,coreRowModelsFeature:Js,coreRowsFeature:uc,coreTablesFeature:{constructTableAPIs:e=>{So(`coreTablesFeature`,e,{table_reset:{fn:()=>pc(e)},table_setOptions:{fn:t=>hc(e,t)}})}}};function _c(){return{accessor:(e,t)=>typeof e==`function`?{...t,accessorFn:e}:{...t,accessorKey:e},columns:e=>e,display:e=>e,group:e=>e}}function vc(e,t={}){return Object.values(e).forEach(e=>{t=e.getInitialState?.(t)??t}),oo(t)}function yc(e){let t=e.features.coreReactivityFeature,{aggregationFns:n,columnMeta:r,coreRowModel:i,expandedRowModel:a,facetedMinMaxValues:o,facetedRowModel:s,facetedUniqueValues:c,filterFns:l,filterMeta:u,filteredRowModel:d,groupedRowModel:f,paginatedRowModel:p,sortFns:m,sortedRowModel:h,tableMeta:g,..._}=e.features,v={_cellInstanceInitFns:[],_columnInstanceInitFns:[],_features:{...gc,..._},_headerGroupInstanceInitFns:[],_headerInstanceInitFns:[],_reactivity:t,_rowInstanceInitFns:[],_rowModelFns:{aggregationFns:n,filterFns:l,sortFns:m},_rowModels:{},atoms:{},baseAtoms:{}},y=Object.values(v._features),b={...y.reduce((e,t)=>Object.assign(e,t.getDefaultTableOptions?.(v)),{}),...e};if(t.wrapExternalAtoms&&b.atoms)for(let[e,n]of Object.entries(b.atoms)){let r=n,i=t.createWritableAtom(r.get(),{debugName:`externalAtom/${e}`});b.atoms[e]=i;let a=!1,o=r.subscribe(e=>{a||i.set(e)}),s=i.subscribe(e=>{a=!0,r.set(e),a=!1});t.addSubscription(o),t.addSubscription(s)}t.createOptionsStore?(v.optionsStore=t.createWritableAtom(b,{debugName:`table/optionsStore`}),Object.defineProperty(v,"options",{configurable:!0,enumerable:!0,get(){return v.optionsStore.get()},set(e){v.optionsStore.set(()=>e)}})):v.options=b,v.initialState=vc(v._features,v.options.initialState);let x=Object.keys(v.initialState);for(let e=0;e<x.length;e++){let n=x[e];v.baseAtoms[n]=t.createWritableAtom(v.initialState[n],{debugName:`table/baseAtoms/${n}`}),v.atoms[n]=t.createReadonlyAtom(()=>{let e=v.options,t=e.atoms?.[n],r=t?t.get():v.baseAtoms[n].get();if(t)return r;let i=e.state;if(i&&co(i,n)){let e=i[n];return e===void 0?v.initialState[n]:e}return r},{debugName:`table/atoms/${n}`})}dc(v),v.store=to(t.createReadonlyAtom(()=>{let e={};for(let t=0;t<x.length;t++){let n=x[t];e[n]=v.atoms[n].get()}return e},{compare:Ka,debugName:`table/store`}));for(let e=0;e<y.length;e++){let t=y[e];t.initTableInstanceData?.(v),t.initCellInstanceData&&v._cellInstanceInitFns.push(t.initCellInstanceData.bind(t)),t.initColumnInstanceData&&v._columnInstanceInitFns.push(t.initColumnInstanceData.bind(t)),t.initHeaderGroupInstanceData&&v._headerGroupInstanceInitFns.push(t.initHeaderGroupInstanceData.bind(t)),t.initHeaderInstanceData&&v._headerInstanceInitFns.push(t.initHeaderInstanceData.bind(t)),t.initRowInstanceData&&v._rowInstanceInitFns.push(t.initRowInstanceData.bind(t)),t.constructTableAPIs?.(v)}return v}function bc(){return so()}function xc(){return{size:150,minSize:20,maxSize:2**53-1}}function Sc(e){let t=xc(),n=e.table.atoms.columnSizing?.get(),r=n&&co(n,e.id)?n[e.id]:void 0;return Math.min(Math.max(e.columnDef.minSize??t.minSize,r??e.columnDef.size??t.size),e.columnDef.maxSize??t.maxSize)}function Cc(e){let t=so(),n=so(),r=Array(e.length),i=0;for(let n=0;n<e.length;n++){let a=e[n],o=B(a,`getSize`,Sc);r[n]=o,t[a.id]=i,i+=o}let a=0;for(let t=e.length-1;t>=0;t--)n[e[t].id]=a,a+=r[t];return{starts:t,afters:n}}function wc(e){return{all:Cc(Bo(e)),center:Cc(Bo(e,`center`)),start:Cc(Bo(e,`start`)),end:Cc(Bo(e,`end`))}}function Tc(e){return e===`start`?`start`:e===`end`?`end`:e===`center`?`center`:`all`}function Ec(e,t){return B(e.table,`getColumnOffsets`,wc)[Tc(t)].starts[e.id]??0}function Dc(e,t){return B(e.table,`getColumnOffsets`,wc)[Tc(t)].afters[e.id]??0}function Oc(e){Mc(e.table,t=>{let n=so(),r=Object.keys(t);for(let i=0;i<r.length;i++){let a=r[i];a!==e.id&&(n[a]=t[a])}return n})}function kc(e){if(!e.subHeaders.length)return Sc(e.column);let t=0;for(let n=0;n<e.subHeaders.length;n++)t+=kc(e.subHeaders[n]);return t}function Ac(e){return kc(e)}function jc(e){if(e.index>0){let t=e.headerGroup?.headers[e.index-1];if(t)return B(t,`getStart`,jc)+B(t,`getSize`,Ac)}return 0}function Mc(e,t){e.options.onColumnSizingChange?.(t)}function Nc(e,t){Mc(e,t?so():Object.assign(so(),oo(e.initialState.columnSizing??{})))}function Pc(e){return e.getHeaderGroups()[0]?.headers.reduce((e,t)=>e+Ac(t),0)??0}function Fc(e){return B(e,`getStartHeaderGroups`,jo)[0]?.headers.reduce((e,t)=>e+Ac(t),0)??0}function Ic(e){return B(e,`getCenterHeaderGroups`,No)[0]?.headers.reduce((e,t)=>e+Ac(t),0)??0}function Lc(e){return B(e,`getEndHeaderGroups`,Mo)[0]?.headers.reduce((e,t)=>e+Ac(t),0)??0}function Rc(){return{startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,isResizingColumn:!1,columnSizingStart:[]}}function zc(e){return(e.columnDef.enableResizing??!0)&&(e.table.options.enableColumnResizing??!0)}function Bc(e){return e.table.atoms.columnResizing?.get()?.isResizingColumn===e.id}function Vc(e,t){let n=e.table.getColumn(e.column.id),r=zc(n);return i=>{if(!r||Kc(i)&&i.touches.length>1)return;let a=Ac(e),o=e.getLeafHeaders().map(e=>[e.column.id,Sc(e.column)]),s=Kc(i)?Math.round(i.touches[0].clientX):i.clientX,c=so(),l=(e,t)=>{if(typeof t!=`number`)return;let r=n.table,i=r.options.columnResizeMode===`onChange`||e===`end`;r._reactivity.batch(()=>{Hc(r,e=>{let n=r.options.columnResizeDirection===`rtl`?-1:1,a=(t-(e.startOffset??0))*n,o=e.startSize??0,s=Math.max(o>0?a/o:0,-.999999);if(i){let t=e.columnSizingStart;for(let e=0;e<t.length;e++){let n=t[e],r=n[1];c[n[0]]=Math.round(Math.max(r>0?r+r*s:a/t.length,0)*100)/100}}return{...e,deltaOffset:a,deltaPercentage:s}}),i&&Mc(r,e=>Object.assign(so(),e,c))})},u=null,d=!1,f,p=()=>{d?(d=!1,l(`move`,f),u=requestAnimationFrame(p)):u=null},m=e=>{if(f=e,typeof requestAnimationFrame!=`function`){l(`move`,e);return}if(u!==null){d=!0;return}l(`move`,e),u=requestAnimationFrame(p)},h=e=>{u!==null&&(cancelAnimationFrame(u),u=null,d=!1),n.table._reactivity.batch(()=>{l(`end`,e??f),Hc(n.table,e=>({...e,isResizingColumn:!1,startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,columnSizingStart:[]}))})},g=t||(typeof document<`u`?document:null),_={moveHandler:e=>m(e.clientX),upHandler:e=>{g?.removeEventListener(`mousemove`,_.moveHandler),g?.removeEventListener(`mouseup`,_.upHandler),h(e.clientX)}},v={moveHandler:e=>(e.cancelable&&(e.preventDefault(),e.stopPropagation()),m(e.touches[0].clientX),!1),upHandler:e=>{y(),e.cancelable&&(e.preventDefault(),e.stopPropagation()),h(e.touches[0]?.clientX)},cancelHandler:()=>{y(),h()}},y=()=>{g?.removeEventListener(`touchmove`,v.moveHandler),g?.removeEventListener(`touchend`,v.upHandler),g?.removeEventListener(`touchcancel`,v.cancelHandler)},b=Gc()?{passive:!1}:!1;Kc(i)?(g?.addEventListener(`touchmove`,v.moveHandler,b),g?.addEventListener(`touchend`,v.upHandler,b),g?.addEventListener(`touchcancel`,v.cancelHandler,b)):(g?.addEventListener(`mousemove`,_.moveHandler,b),g?.addEventListener(`mouseup`,_.upHandler,b)),Hc(n.table,e=>({...e,startOffset:s,startSize:a,deltaOffset:0,deltaPercentage:0,columnSizingStart:o,isResizingColumn:n.id}))}}function Hc(e,t){e.options.onColumnResizingChange?.(t)}function Uc(e,t){Hc(e,t?Rc():oo(e.initialState.columnResizing??Rc()))}var Wc=null;function Gc(){if(typeof Wc==`boolean`)return Wc;let e=!1;try{let t={get passive(){return e=!0,!1}},n=()=>{};window.addEventListener(`test`,n,t),window.removeEventListener(`test`,n)}catch{e=!1}return Wc=e,Wc}function Kc(e){return e.type===`touchstart`}var qc={getInitialState:e=>({columnResizing:Rc(),...e}),getDefaultTableOptions:e=>({columnResizeMode:`onEnd`,columnResizeDirection:`ltr`,onColumnResizingChange:lo(`columnResizing`,e)}),assignColumnPrototype:(e,t)=>{Co(`columnResizingFeature`,e,t,{column_getCanResize:{fn:e=>zc(e)},column_getIsResizing:{fn:e=>Bc(e)}})},assignHeaderPrototype:(e,t)=>{Co(`columnResizingFeature`,e,t,{header_getResizeHandler:{fn:(e,t)=>Vc(e,t)}})},constructTableAPIs:e=>{So(`columnResizingFeature`,e,{table_setColumnResizing:{fn:t=>Hc(e,t)},table_resetHeaderSizeInfo:{fn:t=>Uc(e,t)}})}},Jc={getInitialState:e=>({columnSizing:bc(),...e}),getDefaultColumnDef:()=>xc(),getDefaultTableOptions:e=>({onColumnSizingChange:lo(`columnSizing`,e)}),assignColumnPrototype:(e,t)=>{Co(`columnSizingFeature`,e,t,{column_getSize:{fn:e=>Sc(e),memoDeps:e=>[t.options.columns,t.atoms.columnSizing?.get()?.[e.id]]},column_getStart:{fn:(e,t)=>Ec(e,t)},column_getAfter:{fn:(e,t)=>Dc(e,t)},column_resetSize:{fn:e=>Oc(e)}})},assignHeaderPrototype:(e,t)=>{Co(`columnSizingFeature`,e,t,{header_getSize:{fn:e=>Ac(e),memoDeps:e=>[t.options.columns,e.column.columns.length>0?t.atoms.columnSizing?.get():t.atoms.columnSizing?.get()?.[e.column.id]]},header_getStart:{fn:e=>jc(e),memoDeps:()=>[t.options.columns,t.atoms.columnSizing?.get(),t.atoms.columnOrder?.get(),t.atoms.columnPinning?.get(),t.atoms.columnVisibility?.get(),t.atoms.grouping?.get(),t.options.groupedColumnMode]}})},constructTableAPIs:e=>{So(`columnSizingFeature`,e,{table_getColumnOffsets:{fn:()=>wc(e),memoDeps:()=>[e.options.columns,e.atoms.columnSizing?.get(),e.atoms.columnOrder?.get(),e.atoms.columnPinning?.get(),e.atoms.columnVisibility?.get(),e.atoms.grouping?.get(),e.options.groupedColumnMode]},table_setColumnSizing:{fn:t=>Mc(e,t)},table_resetColumnSizing:{fn:t=>Nc(e,t)},table_getTotalSize:{fn:()=>Pc(e),memoDeps:()=>[e.atoms.columnSizing?.get(),e.getHeaderGroups()]},table_getStartTotalSize:{fn:()=>Fc(e),memoDeps:()=>[e.atoms.columnSizing?.get(),e.getHeaderGroups()]},table_getCenterTotalSize:{fn:()=>Ic(e),memoDeps:()=>[e.atoms.columnSizing?.get(),e.getHeaderGroups()]},table_getEndTotalSize:{fn:()=>Lc(e),memoDeps:()=>[e.atoms.columnSizing?.get(),e.getHeaderGroups()]}})}},Yc=typeof window>`u`?v.useEffect:v.useLayoutEffect;function Xc(e,t){let[{table:n,rootSource:r}]=(0,v.useState)(()=>{let t=yc({...e,features:{coreReactivityFeature:io(),...e.features}});return t.Subscribe=(e=>eo({...e,source:e.source??t.store})),t.FlexRender=Da,{table:t,rootSource:ro(t.store,Ka)}}),i=n;hc(i,t=>({...t,...e}),{syncExternalState:!1});let a=i.options.state,o=r.get(),s=$a(r,t,{compare:Ka});return Yc(()=>{r.markCommitted(o),fc(i,a??null,Ka)}),(0,v.useMemo)(()=>({...n,options:e,state:s}),[n,e,s])}var Zc=h();function Qc(e,t,n){let r=Array(e);return new Proxy(r,{get(r,i,a){if(typeof i==`string`){let a=i.charCodeAt(0);if(a>=48&&a<=57){let a=+i;if(Number.isInteger(a)&&a>=0&&a<e){let e=r[a];if(!e){let i=t[a*2];e=r[a]={index:a,key:n(a),start:i,size:t[a*2+1],end:i+t[a*2+1],lane:0}}return e}}if(i===`length`)return e}return Reflect.get(r,i,a)}})}function $c(e,t,n){let r=n.initialDeps??[],i,a=!0;function o(){let o=e();return o.length!==r.length||o.some((e,t)=>r[t]!==e)?(r=o,i=t(...o),n?.onChange&&!(a&&n.skipInitialOnChange)&&n.onChange(i),a=!1,i):i}return o.updateDeps=e=>{r=e},o}function el(e,t){if(e===void 0)throw Error(`Unexpected undefined${t?`: ${t}`:``}`);return e}var tl=(e,t)=>Math.abs(e-t)<1.01,nl=(e,t,n)=>{let r;return Object.assign(function(...i){e.clearTimeout(r),r=e.setTimeout(()=>t.apply(this,i),n)},{cancel:()=>{e.clearTimeout(r)}})},rl,il=()=>{if(rl!==void 0)return rl;if(typeof navigator>`u`)return rl=!1;if(/iP(hone|od|ad)/.test(navigator.userAgent))return rl=!0;let e=navigator.maxTouchPoints;return rl=navigator.platform===`MacIntel`&&e!==void 0&&e>0},al=e=>{let{offsetWidth:t,offsetHeight:n}=e;return{width:t,height:n}},ol=e=>e,sl=e=>{let t=Math.max(e.startIndex-e.overscan,0),n=Math.min(e.endIndex+e.overscan,e.count-1)-t+1,r=Array(n);for(let e=0;e<n;e++)r[e]=t+e;return r},cl=(e,t)=>{let n=e.scrollElement;if(!n)return;let r=e.targetWindow;if(!r)return;let i=e=>{let{width:n,height:r}=e;t({width:Math.round(n),height:Math.round(r)})};if(i(al(n)),!r.ResizeObserver)return()=>{};let a=new r.ResizeObserver(t=>{let r=()=>{let e=t[0];if(e?.borderBoxSize){let t=e.borderBoxSize[0];if(t){i({width:t.inlineSize,height:t.blockSize});return}}i(al(n))};e.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(r):r()});return a.observe(n,{box:`border-box`}),()=>{a.unobserve(n)}},ll={passive:!0},ul=typeof window>`u`||`onscrollend`in window,dl=(e,t,n)=>{let r=e.scrollElement;if(!r)return;let i=e.targetWindow;if(!i)return;let a=e.options.useScrollendEvent&&ul,o=0,s=a?null:nl(i,()=>t(o,!1),e.options.isScrollingResetDelay),c=e=>()=>{o=n(r),s?.(),t(o,e)},l=c(!0),u=c(!1);return r.addEventListener(`scroll`,l,ll),a&&r.addEventListener(`scrollend`,u,ll),()=>{r.removeEventListener(`scroll`,l),a&&r.removeEventListener(`scrollend`,u),s?.cancel()}},fl=(e,t)=>dl(e,t,t=>{let{horizontal:n,isRtl:r}=e.options;return n?t.scrollLeft*(r&&-1||1):t.scrollTop}),pl=(e,t,n)=>{if(n.options.useCachedMeasurements){let t=n.indexFromElement(e),r=n.options.getItemKey(t);return n.itemSizeCache.get(r)??n.options.estimateSize(t)}if(t?.borderBoxSize){let e=t.borderBoxSize[0];if(e)return Math.round(e[n.options.horizontal?`inlineSize`:`blockSize`])}if(!t){let t=n.indexFromElement(e),r=n.options.getItemKey(t),i=n.itemSizeCache.get(r);if(i!==void 0)return i}return e[n.options.horizontal?`offsetWidth`:`offsetHeight`]},ml=(e,{adjustments:t=0,behavior:n},r)=>{var i,a;(a=(i=r.scrollElement)?.scrollTo)==null||a.call(i,{[r.options.horizontal?`left`:`top`]:e+t,behavior:n})},hl=class{constructor(e){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this._flatMeasurements=null,this.itemSizeCache=new Map,this.itemSizeCacheVersion=0,this.laneAssignments=new Map,this.pendingMin=null,this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.pendingScrollAnchor=null,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._intendedScrollOffset=null,this._clampedAdjustment=null,this.elementsCache=new Map,this.now=()=>{var e;return((e=this.targetWindow?.performance)?.now)?.call(e)??Date.now()},this.observer=(()=>{let e=null,t=()=>e||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:e=new this.targetWindow.ResizeObserver(e=>{e.forEach(e=>{let t=()=>{let t=e.target,n=this.indexFromElement(t);if(!t.isConnected){this.observer.unobserve(t);for(let[e,n]of this.elementsCache)if(n===t){this.elementsCache.delete(e);break}return}this.isIndexInRange(n)&&this.shouldMeasureDuringScroll(n)&&this.resizeItem(n,this.options.measureElement(t,e,this))};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(t):t()})}));return{disconnect:()=>{var n;(n=t())==null||n.disconnect(),e=null},observe:e=>t()?.observe(e,{box:`border-box`}),unobserve:e=>t()?.unobserve(e)}})(),this.range=null,this.setOptions=e=>{let t={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:ol,rangeExtractor:sl,onChange:()=>{},measureElement:pl,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:`data-index`,initialMeasurementsCache:[],lanes:1,anchorTo:`start`,followOnAppend:!1,scrollEndThreshold:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,laneAssignmentMode:`estimate`,useCachedMeasurements:!1};for(let n in e){let r=e[n];r!==void 0&&(t[n]=r)}let n=this.options,r=null,i=null,a=!1;if(n!==void 0&&n.enabled&&t.enabled&&t.anchorTo===`end`&&this.scrollElement!==null){let e=n.count,o=t.count,s=this.getMeasurements(),c=e>0?s[0]?.key??n.getItemKey(0):null,l=e>0?s[e-1]?.key??n.getItemKey(e-1):null;if(o!==e||e>0&&o>0&&(t.getItemKey(0)!==c||t.getItemKey(o-1)!==l)){a=!0;let c=e>0?this.getVirtualItemForOffset(this.getScrollOffset())??s[0]:null;c&&(r=[c.key,this.getScrollOffset()-c.start]);let u=t.followOnAppend===!0?`auto`:t.followOnAppend||null;u&&o>e&&this.isAtEnd(n.scrollEndThreshold)&&(e===0||t.getItemKey(o-1)!==l)&&(i=u)}}this.options=t,a&&(this.pendingMin=0,this.itemSizeCacheVersion++);let o=!1,s=0;if(r&&this.scrollOffset!==null){let[e,t]=r,n=this.getMeasurements(),{count:i,getItemKey:a}=this.options,c=0;for(;c<i&&a(c)!==e;)c++;if(c<i){let e=n[c];if(e){let n=Math.max(0,e.start+t);n!==this.scrollOffset&&(s=n-this.scrollOffset,this.scrollOffset=n,o=!0)}}}(o||i)&&(this.pendingScrollAnchor=[o?r[0]:null,o?r[1]:0,i,s])},this.notify=e=>{var t,n;(n=(t=this.options).onChange)==null||n.call(t,this,e)},this.maybeNotify=$c(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),e=>{this.notify(e)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(e=>e()),this.unsubs=[],this.observer.disconnect(),this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null,this.isScrolling=!1,this.scrollDirection=null,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this._clampedAdjustment=null,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{let e=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==e){if(this.cleanup(),!e){this.maybeNotify();return}if(this.scrollElement=e,this.targetWindow=this.scrollElement&&`ownerDocument`in this.scrollElement?this.scrollElement.ownerDocument.defaultView:this.scrollElement?.window??null,this.elementsCache.forEach(e=>{this.observer.observe(e)}),this.unsubs.push(this.options.observeElementRect(this,e=>{this.scrollRect=e,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(e,t)=>{if(t&&this._intendedScrollOffset===null&&e===this.scrollOffset)return;this._intendedScrollOffset!==null&&Math.abs(e-this._intendedScrollOffset)<1.5&&(e=this._intendedScrollOffset),this._intendedScrollOffset=null,this._clampedAdjustment!==null&&Math.abs(e-this._clampedAdjustment.maxAtWrite)>=1.5&&(this._clampedAdjustment=null),this.scrollAdjustments=0;let n=this.getScrollOffset();this.scrollDirection=t?n===e?this.scrollDirection:n<e?`forward`:`backward`:null,this.scrollOffset=e,this.isScrolling=t,this._flushIosDeferredIfReady(),this.scrollState&&this.scheduleScrollReconcile(),this.maybeNotify()})),`addEventListener`in this.scrollElement){let e=this.scrollElement,t=()=>{this._iosTouching=!0,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)},n=()=>{this._iosTouching=!1,il()&&this.targetWindow!=null&&(this._iosJustTouchEnded=!0,this._iosTouchEndTimerId=this.targetWindow.setTimeout(()=>{this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._flushIosDeferredIfReady()},150))};e.addEventListener(`touchstart`,t,ll),e.addEventListener(`touchend`,n,ll),this.unsubs.push(()=>{e.removeEventListener(`touchstart`,t),e.removeEventListener(`touchend`,n),this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)})}this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}let t=this.pendingScrollAnchor;if(this.pendingScrollAnchor=null,t&&this.scrollElement&&this.options.enabled){let[e,n,r,i]=t;e!==null&&!r&&(il()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?i!==0&&(this._iosDeferredAdjustment+=i):this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})),r&&this.scrollToEnd({behavior:r})}this._retryClampedAdjustment()},this._retryClampedAdjustment=()=>{if(this._clampedAdjustment===null||!this.scrollElement||!this.options.enabled)return;let{target:e,maxAtWrite:t}=this._clampedAdjustment,n=this.getMaxScrollOffset();n>t+.5&&(this._clampedAdjustment=e>n+.5?{target:e,maxAtWrite:n}:null,this._scrollToOffset(e,{adjustments:void 0,behavior:void 0}))},this._flushIosDeferredIfReady=()=>{if(this._iosDeferredAdjustment===0||this.isScrolling||this._iosTouching||this._iosJustTouchEnded)return;let e=this.getScrollOffset(),t=this.getMaxScrollOffset();if(e<0||e>t)return;if(this._iosDeferredAdjustment<0&&e>=t-1){this._iosDeferredAdjustment=0;return}let n=this._iosDeferredAdjustment;this._iosDeferredAdjustment=0,this._scrollToOffset(e,{adjustments:this.scrollAdjustments+=n,behavior:void 0})},this.rafId=null,this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?`width`:`height`]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset==`function`?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getMeasurementOptions=$c(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode,this.options.gap],(e,t,n,r,i,a,o,s)=>(this.prevLanes!==void 0&&this.prevLanes!==a&&(this.lanesChangedFlag=!0),this.prevLanes=a,this.pendingMin=null,{count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i,lanes:a,laneAssignmentMode:o,gap:s}),{key:!1}),this.isIndexInRange=e=>e>=0&&e<this.options.count,this.getMeasurements=$c(()=>[this.getMeasurementOptions(),this.itemSizeCacheVersion],({count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i,lanes:a,laneAssignmentMode:o,gap:s},c)=>{let l=this.itemSizeCache;if(!i)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>e)for(let t of this.laneAssignments.keys())t>=e&&this.laneAssignments.delete(t);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMin=null),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(e=>{this.itemSizeCache.set(e.key,e.size)}));let u=this.lanesSettling?0:this.pendingMin??0;if(this.pendingMin=null,this.lanesSettling&&this.measurementsCache.length===e&&(this.lanesSettling=!1),a===1){let i=e*2,a=this._flatMeasurements;if(!a||a.length<i){let e=new Float64Array(i);a&&u>0&&e.set(a.subarray(0,u*2)),a=e,this._flatMeasurements=a}let o;if(u===0)o=t+n;else{let e=u-1;o=a[e*2]+a[e*2+1]+s}for(let t=u;t<e;t++){let e=r(t),n=l.get(e),i=typeof n==`number`?n:this.options.estimateSize(t);a[t*2]=o,a[t*2+1]=i,o+=i+s}let c=Qc(e,a,r);return this.measurementsCache=c,c}let d=this.measurementsCache.slice(0,u),f=Array(a).fill(void 0),p=new Float64Array(a),m=0;for(let e=0;e<u;e++){let t=d[e];t&&(f[t.lane]===void 0&&m++,f[t.lane]=e,p[t.lane]=t.end)}for(let i=u;i<e;i++){let e=r(i),c=this.laneAssignments.get(i),u,h,g=o===`estimate`||l.has(e);if(c!==void 0&&this.options.lanes>1){u=c;let e=f[u],r=e===void 0?void 0:d[e];h=r?r.end+s:t+n}else if(m===a){let e=0,t=p[0],n=f[0];for(let r=1;r<a;r++){let i=p[r];(i<t||i===t&&f[r]<n)&&(e=r,t=i,n=f[r])}u=e,h=t+s,g&&this.laneAssignments.set(i,u)}else u=i%this.options.lanes,h=t+n,g&&this.laneAssignments.set(i,u);let _=l.get(e),v=typeof _==`number`?_:this.options.estimateSize(i),y=h+v;d[i]={index:i,start:h,size:v,end:y,key:e,lane:u},f[u]===void 0&&m++,f[u]=i,p[u]=y}return this.measurementsCache=d,d},{key:!1,debug:()=>this.options.debug}),this.calculateRange=$c(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(e,t,n,r)=>e.length===0||t===0?(this.range=null,null):(this.range=vl(e,t,n,r,r===1&&this._flatMeasurements!=null?this._flatMeasurements:null),this.range),{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=$c(()=>{let e=null,t=null,n=this.calculateRange();return n&&(e=n.startIndex,t=n.endIndex),this.maybeNotify.updateDeps([this.isScrolling,e,t]),[this.options.rangeExtractor,this.options.overscan,this.options.count,e,t]},(e,t,n,r,i)=>r===null||i===null?[]:e({startIndex:r,endIndex:i,overscan:t,count:n}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=e=>{let t=this.options.indexAttribute,n=e.getAttribute(t);return n?parseInt(n,10):(console.warn(`Missing attribute name '${t}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=e=>{if(!this.scrollState||this.scrollState.behavior!==`smooth`)return!0;let t=this.scrollState.index??this.getVirtualItemForOffset(this.scrollState.lastTargetOffset)?.index;if(t!==void 0&&this.range){let n=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),r=Math.max(0,t-n),i=Math.min(this.options.count-1,t+n);return e>=r&&e<=i}return!0},this.measureElement=e=>{if(!e){this.elementsCache.forEach((e,t)=>{e.isConnected||(this.observer.unobserve(e),this.elementsCache.delete(t))});return}let t=this.indexFromElement(e);if(!this.isIndexInRange(t))return;let n=this.options.getItemKey(t),r=this.elementsCache.get(n);r!==e&&(r&&this.observer.unobserve(r),this.observer.observe(e),this.elementsCache.set(n,e)),(!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(t)&&this.resizeItem(t,this.options.measureElement(e,void 0,this))},this.resizeItem=(e,t)=>{if(!this.isIndexInRange(e))return;let n,r,i,a=this._flatMeasurements;if(this.options.lanes===1&&a!==null)i=this.options.getItemKey(e),r=a[e*2],n=a[e*2+1];else{let t=this.measurementsCache[e];if(!t)return;i=t.key,r=t.start,n=t.size}let o=this.itemSizeCache.get(i)??n,s=t-o;if(s!==0){let a=this.options.anchorTo===`end`&&this.scrollState?.behavior!==`smooth`&&this.getVirtualDistanceFromEnd()<=this.options.scrollEndThreshold,c=a?this.getTotalSize():0,l=this.getScrollOffset()+this.scrollAdjustments,u=this.itemSizeCache.has(i)?r+o<=l&&this.scrollDirection!==`backward`:r<l,d=this.scrollState?.behavior!==`smooth`&&(this.shouldAdjustScrollPositionOnItemSizeChange===void 0?u:this.shouldAdjustScrollPositionOnItemSizeChange(this.measurementsCache[e]??{index:e,key:i,start:r,size:n,end:r+n,lane:0},s,this));(this.pendingMin===null||e<this.pendingMin)&&(this.pendingMin=e),this.itemSizeCache.set(i,t),this.itemSizeCacheVersion++;let f=!1;a?f=this.applyScrollAdjustment(this.getTotalSize()-c):d&&(f=this.applyScrollAdjustment(s)),this.notify(f),this._retryClampedAdjustment()}},this.getVirtualItems=$c(()=>[this.getVirtualIndexes(),this.getMeasurements()],(e,t)=>{let n=[];for(let r=0,i=e.length;r<i;r++){let i=t[e[r]];n.push(i)}return n},{key:!1,debug:()=>this.options.debug}),this.getVirtualItemForOffset=e=>{let t=this.getMeasurements();if(t.length===0)return;let n=this._flatMeasurements,r=this.options.lanes===1&&n!=null;return el(t[gl(0,t.length-1,r?e=>n[e*2]:e=>el(t[e]).start,e)])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if(`scrollHeight`in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{let e=this.scrollElement.document.documentElement;return this.options.horizontal?e.scrollWidth-this.scrollElement.innerWidth:e.scrollHeight-this.scrollElement.innerHeight}},this.getVirtualDistanceFromEnd=()=>Math.max(this.getTotalSize()-this.getSize()-this.getScrollOffset(),0),this.getDistanceFromEnd=()=>Math.max(this.getMaxScrollOffset()-this.getScrollOffset(),0),this.isAtEnd=(e=this.options.scrollEndThreshold)=>this.getDistanceFromEnd()<=e,this.getOffsetForAlignment=(e,t,n=0)=>{if(!this.scrollElement)return 0;let r=this.getSize(),i=this.getScrollOffset();t===`auto`&&(t=e>=i+r?`end`:`start`),t===`center`?e+=(n-r)/2:t===`end`&&(e-=r);let a=this.getMaxScrollOffset();return Math.max(Math.min(a,e),0)},this.getOffsetForIndex=(e,t=`auto`)=>{e=Math.max(0,Math.min(e,this.options.count-1));let n=this.getSize(),r=this.getScrollOffset(),i=this.measurementsCache[e];if(!i)return;if(t===`auto`){if(i.end>=r+n-this.options.scrollPaddingEnd)t=`end`;else if(i.start<=r+this.options.scrollPaddingStart)t=`start`;else return[r,t]}if(t===`end`&&e===this.options.count-1)return[this.getMaxScrollOffset(),t];let a=t===`end`?i.end+this.options.scrollPaddingEnd:i.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(a,t,i.size),t]},this.scrollToOffset=(e,{align:t=`start`,behavior:n=`auto`}={})=>{this._iosDeferredAdjustment=0;let r=this.getOffsetForAlignment(e,t),i=this.now();this.scrollState={index:null,align:t,behavior:n,startedAt:i,lastTargetOffset:r,stableFrames:0},this._scrollToOffset(r,{adjustments:void 0,behavior:n}),this.scheduleScrollReconcile()},this.scrollToIndex=(e,{align:t=`auto`,behavior:n=`auto`}={})=>{this._iosDeferredAdjustment=0,e=Math.max(0,Math.min(e,this.options.count-1));let r=this.getOffsetForIndex(e,t);if(!r)return;let[i,a]=r,o=this.now();this.scrollState={index:e,align:a,behavior:n,startedAt:o,lastTargetOffset:i,stableFrames:0},this._scrollToOffset(i,{adjustments:void 0,behavior:n}),this.scheduleScrollReconcile()},this.scrollBy=(e,{behavior:t=`auto`}={})=>{let n=this.getScrollOffset()+e,r=this.now();this.scrollState={index:null,align:`start`,behavior:t,startedAt:r,lastTargetOffset:n,stableFrames:0},this._scrollToOffset(n,{adjustments:void 0,behavior:t}),this.scheduleScrollReconcile()},this.scrollToEnd=({behavior:e=`auto`}={})=>{if(this.options.count>0){this.scrollToIndex(this.options.count-1,{align:`end`,behavior:e});return}this.scrollToOffset(Math.max(this.getTotalSize()-this.getSize(),0),{behavior:e})},this.getTotalSize=()=>{let e=this.getMeasurements(),t;if(e.length===0)t=this.options.paddingStart;else if(this.options.lanes===1){let n=e.length-1,r=this._flatMeasurements;t=r==null?e[n]?.end??0:r[n*2]+r[n*2+1]}else{let n=Array(this.options.lanes).fill(null),r=e.length-1;for(;r>=0&&n.some(e=>e===null);){let t=e[r];n[t.lane]===null&&(n[t.lane]=t.end),r--}t=Math.max(...n.filter(e=>e!==null))}return Math.max(t-this.options.scrollMargin+this.options.paddingEnd,0)},this.takeSnapshot=()=>{let e=[];if(this.itemSizeCache.size===0)return e;let t=this.getMeasurements();for(let n of t)n&&this.itemSizeCache.has(n.key)&&e.push({index:n.index,key:n.key,start:n.start,size:n.size,end:n.end,lane:n.lane});return e},this._scrollToOffset=(e,{adjustments:t,behavior:n})=>{this._intendedScrollOffset=e+(t??0),this.options.scrollToFn(e,{behavior:n,adjustments:t},this)},this.measure=()=>{this.pendingMin=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.itemSizeCacheVersion++,this.notify(!1)},this.setOptions(e)}applyScrollAdjustment(e,t){if(e===0)return!1;if(il()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded))return this._iosDeferredAdjustment+=e,!1;{let n=this.getScrollOffset()+this.scrollAdjustments+e,r=this.scrollElement,i=r!==null&&(`scrollHeight`in r||`document`in r)?this.getMaxScrollOffset():null;return this._clampedAdjustment=i!==null&&n>i+.5?{target:n,maxAtWrite:i}:null,this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=e,behavior:t}),this.scrollOffset!==null&&(this.scrollOffset+=this.scrollAdjustments,this.scrollOffset<0&&(this.scrollOffset=0),this.scrollAdjustments=0),!0}}scheduleScrollReconcile(){if(!this.targetWindow){this.scrollState=null;return}this.rafId??=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()})}reconcileScroll(){if(!this.scrollState||!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3){this.scrollState=null;return}let e=this.scrollState.index==null?void 0:this.getOffsetForIndex(this.scrollState.index,this.scrollState.align),t=e?e[0]:this.scrollState.lastTargetOffset,n=t!==this.scrollState.lastTargetOffset;if(!n&&tl(t,this.getScrollOffset())){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=1){this.getScrollOffset()!==t&&this._scrollToOffset(t,{adjustments:void 0,behavior:`auto`}),this.scrollState=null;return}}else if(this.scrollState.stableFrames=0,n){let e=this.getSize()||600,n=Math.abs(t-this.getScrollOffset()),r=this.scrollState.behavior===`smooth`&&n>e;this.scrollState.lastTargetOffset=t,r||(this.scrollState.behavior=`auto`),this._scrollToOffset(t,{adjustments:void 0,behavior:r?`smooth`:`auto`})}this.scheduleScrollReconcile()}},gl=(e,t,n,r)=>{for(;e<=t;){let i=(e+t)/2|0,a=n(i);if(a<r)e=i+1;else if(a>r)t=i-1;else return i}return e>0?e-1:0};function _l(e,t,n){let r=0;for(;r<=t;){let i=(r+t)/2|0,a=e[i*2];if(a<n)r=i+1;else if(a>n)t=i-1;else return i}return r>0?r-1:0}function vl(e,t,n,r,i){let a=e.length-1;if(e.length<=r)return{startIndex:0,endIndex:a};if(r===1&&i!==null){let e=_l(i,a,n),r=e,o=n+t;for(;r<a&&i[r*2]+i[r*2+1]<o;)r++;return{startIndex:e,endIndex:r}}let o=gl(0,a,t=>e[t].start,n),s=o;if(r===1)for(;s<a&&e[s].end<n+t;)s++;else if(r>1){let i=Array(r).fill(0);for(;s<a&&i.some(e=>e<n+t);){let t=e[s];i[t.lane]=t.end,s++}let c=Array(r).fill(n+t);for(;o>=0&&c.some(e=>e>=n);){let t=e[o];c[t.lane]=t.start,o--}o=Math.max(0,o-o%r),s=Math.min(a,s+(r-1-s%r))}return{startIndex:o,endIndex:s}}var yl=typeof document<`u`?v.useLayoutEffect:v.useEffect;function bl({useFlushSync:e=!0,directDomUpdates:t=!1,directDomUpdatesMode:n=`transform`,...r}){let i=v.useReducer(e=>e+1,0)[1],a=v.useRef({enabled:t,mode:n,container:null,lastSize:null,lastPositions:new WeakMap,prevRange:null});a.current.enabled=t,a.current.mode=n;let o=e=>{let t=a.current;if(!t.enabled||!t.container)return;let n=e.getTotalSize();if(n!==t.lastSize){t.lastSize=n;let r=e.options.horizontal?`width`:`height`;t.container.style[r]=`${n}px`}},s=e=>{let t=a.current;if(!t.enabled||!t.container)return;o(e);let n=!!e.options.horizontal,r=t.mode===`transform`,i=n?`left`:`top`,s=e.options.scrollMargin,c=e.getVirtualItems();for(let a of c){let o=a.start-s,c=e.elementsCache.get(a.key);c&&t.lastPositions.get(c)!==o&&(t.lastPositions.set(c,o),r?c.style.transform=n?`translate3d(${o}px, 0, 0)`:`translate3d(0, ${o}px, 0)`:c.style[i]=`${o}px`)}},c={...r,onChange:(t,n)=>{var o;let c=a.current,l=!0;if(c.enabled){s(t);let e=t.range,n=c.prevRange;l=!n||n.isScrolling!==t.isScrolling||n.startIndex!==e?.startIndex||n.endIndex!==e?.endIndex,l&&(c.prevRange=e?{startIndex:e.startIndex,endIndex:e.endIndex,isScrolling:t.isScrolling}:null)}l&&(e&&n?(0,Zc.flushSync)(i):i()),(o=r.onChange)==null||o.call(r,t,n)}},[l]=v.useState(()=>{let e=new hl(c);return Object.assign(e,{containerRef:t=>{let n=a.current;if(n.container=t,n.lastSize=null,t&&n.enabled){let r=e.getTotalSize();n.lastSize=r;let i=e.options.horizontal?`width`:`height`;t.style[i]=`${r}px`}}})});return l.setOptions(c),yl(()=>l._didMount(),[]),yl(()=>(o(l),l._willUpdate())),yl(()=>{s(l)}),l}function xl(e){return bl({observeElementRect:cl,observeElementOffset:fl,scrollToFn:ml,...e})}var Sl=`fcm.columnSizing.v1`,Cl=1200;function wl(e){if(!e||typeof e!=`object`||Array.isArray(e))return{};let t={};for(let[n,r]of Object.entries(e))typeof r==`number`&&Number.isFinite(r)&&r>0&&(t[n]=r);return t}function Tl(e,t=24,n=Cl){let r={};for(let[i,a]of Object.entries(e||{}))typeof a==`number`&&Number.isFinite(a)&&(r[i]=Math.max(t,Math.min(n,Math.round(a))));return r}function El(e,t,n){return{...e||{},...t||{},...n||{}}}function Dl(e,t){if(!e||!t)return!1;for(let n of Object.keys(e))if(e[n]!==t[n])return!0;return!1}function Ol(e,t,n={}){if(!e||typeof e.getItem!=`function`)return n;let r;try{r=e.getItem(t)}catch{return n}if(!r)return n;let i;try{i=JSON.parse(r)}catch{return n}return wl(i)}function kl(e,t,n){if(!e||typeof e.setItem!=`function`)return!1;try{return e.setItem(t,JSON.stringify(n)),!0}catch{return!1}}function Al(e,t){if(!e||typeof e.removeItem!=`function`)return!1;try{return e.removeItem(t),!0}catch{return!1}}function jl(e){let t=(0,v.useRef)(e);t.current=e;let[n,r]=(0,v.useState)(()=>typeof window>`u`?{...e}:El(e,Ol(window.localStorage,Sl,{}),{})),i=(0,v.useRef)(n);return i.current=n,(0,v.useEffect)(()=>{if(!(typeof window>`u`||!window.localStorage)){if(!Dl(n,t.current)){Al(window.localStorage,Sl);return}kl(window.localStorage,Sl,n)}},[n]),(0,v.useEffect)(()=>{if(typeof window>`u`||!window.addEventListener)return;let e=e=>{if(e.key!==`fcm.columnSizing.v1`)return;let n=Ol(window.localStorage,Sl,{});r(e=>El(t.current,n,e))};return window.addEventListener(`storage`,e),()=>window.removeEventListener(`storage`,e)},[]),{columnSizing:n,setColumnSizing:(0,v.useCallback)(e=>{r(t=>{let n=typeof e==`function`?e(t):e;return{...t,...Tl(n)}})},[]),resetColumnSizing:(0,v.useCallback)(()=>{r({...t.current})},[]),hasCustomSizing:Dl(n,t.current)}}var Ml={mood:`_mood_f9he5_1`},Nl={Perfect:`🟩`,Normal:`🟢`,Spiky:`🟡`,Slow:`🟠`,"Very Slow":`🔴`,Overloaded:`🔥`,Unstable:`🟥`,"Not Active":`⚫`,Pending:`⏳`,Usable:`🟠`};function Pl({verdict:e}){let t=Nl[e]||`❔`;return(0,F.jsx)(`span`,{className:Ml.mood,children:t})}var Fl={badge:`_badge_16bbt_1`,tier_splus:`_tier_splus_16bbt_11`,tier_s:`_tier_s_16bbt_11`,tier_aplus:`_tier_aplus_16bbt_13`,tier_a:`_tier_a_16bbt_13`,tier_aminus:`_tier_aminus_16bbt_15`,tier_bplus:`_tier_bplus_16bbt_16`,tier_b:`_tier_b_16bbt_16`,tier_c:`_tier_c_16bbt_18`};function Il({tier:e}){let t=e.replace(`+`,`plus`).replace(`-`,`minus`).toLowerCase();return(0,F.jsx)(`span`,{className:`${Fl.badge} ${Fl[`tier_${t}`]}`,children:e})}var Ll={dot:`_dot_729ui_1`,up:`_up_729ui_9`,down:`_down_729ui_10`,timeout:`_timeout_729ui_11`,pending:`_pending_729ui_12`,pulse:`_pulse_729ui_1`,notInSet:`_notInSet_729ui_16`};function Rl({status:e,inRouterSet:t=!0}){let n=e===`up`?Ll.up:e===`timeout`?Ll.timeout:e===`down`?Ll.down:e===`pending`&&!t?Ll.notInSet:Ll.pending;return(0,F.jsx)(`span`,{className:`${Ll.dot} ${n}`})}var zl={cell:`_cell_ptyq8_1`,value:`_value_ptyq8_10`,fast:`_fast_ptyq8_11`,medium:`_medium_ptyq8_12`,slow:`_slow_ptyq8_13`,none:`_none_ptyq8_14`,spinner:`_spinner_ptyq8_26`,pingRing:`_pingRing_ptyq8_1`,pingPulse:`_pingPulse_ptyq8_1`};function Bl(e){return e==null||e===1/0?zl.none:e<500?zl.fast:e<1500?zl.medium:zl.slow}function Vl({ms:e,isPinging:t}){return e==null?(0,F.jsx)(`span`,{className:`${zl.cell} ${zl.none}`,children:t?(0,F.jsx)(`span`,{className:zl.spinner,title:`Testing…`}):`—`}):(0,F.jsxs)(`span`,{className:`${zl.cell} ${Bl(e)}`,children:[(0,F.jsx)(`span`,{className:zl.value,children:e}),t&&(0,F.jsx)(`span`,{className:zl.spinner})]})}var Hl={wrapper:`_wrapper_1t2v0_7`,key:`_key_1t2v0_17`,slash:`_slash_1t2v0_24`};function Ul({size:e=14,title:t=`No API key configured`}){let n=Math.max(1,Math.round(e*.07));return(0,F.jsxs)(`span`,{className:Hl.wrapper,style:{width:`${e}px`,height:`${e}px`},role:`img`,"aria-label":t,title:t,children:[(0,F.jsx)(Sr,{size:e,stroke:1.5,className:Hl.key}),(0,F.jsx)(`svg`,{className:Hl.slash,width:e+n*2,height:e+n*2,viewBox:`0 0 ${e+n*2} ${e+n*2}`,"aria-hidden":`true`,focusable:`false`,children:(0,F.jsx)(`line`,{x1:n+1,y1:n+1,x2:n+e-1,y2:n+e-1,stroke:`var(--color-danger, #ff4444)`,strokeWidth:`1.1`,strokeLinecap:`round`})})]})}var Wl={cell:`_cell_8296g_7`,up:`_up_8296g_19`,warning:`_warning_8296g_20`,error:`_error_8296g_21`,errorBold:`_errorBold_8296g_22`,dim:`_dim_8296g_23`,notInSet:`_notInSet_8296g_26`,noKey:`_noKey_8296g_33`,noKeyText:`_noKeyText_8296g_43`},Gl=12,Kl=1.8,ql={success:`var(--color-success, #00ff88)`,warning:`var(--color-warning, #ffaa00)`,danger:`var(--color-danger, #ff4444)`,dim:`var(--color-text-dim, #444)`},Jl={404:`health.http404`,410:`health.http410`,429:`health.http429`,500:`health.http500`,502:`health.http502`,503:`health.http503`,504:`health.http504`},Yl={429:{Icon:hr,color:ql.danger},404:{Icon:lr,color:ql.danger},500:{Icon:zn,color:ql.danger},502:{Icon:Nr,color:ql.danger},503:{Icon:ir,color:ql.danger},504:{Icon:rr,color:ql.danger}};function Xl(e,t,n,r){return e===`noauth`?r(`dashboard.noKeyShort`):e===`auth_error`?r(`dashboard.authFailShort`):e===`pending`?r(n?`common.wait`:`dashboard.notInSet`):e===`timeout`?r(`filters.health.timeout`).toUpperCase():e===`down`?Jl[t]?r(Jl[t]):t?r(`health.httpError`,{code:t}):r(`common.error`).toUpperCase():e===`up`?r(`dashboard.upShort`).toUpperCase():`?`}function Zl(e,t){return e===`noauth`?Wl.noKey:e===`up`?Wl.up:e===`down`?Wl.error:e===`timeout`?Wl.warning:e===`auth_error`?Wl.errorBold:e===`pending`?t?Wl.warning:Wl.notInSet:Wl.dim}function Ql({status:e,httpCode:t,inRouterSet:n=!0}){let{t:r}=hi(),i=Xl(e,t,n,r),a=Zl(e,n),o=e===`noauth`,s=e===`pending`&&!n,c=null,l=null;return e===`up`?(c=Yn,l=ql.success):e===`timeout`?(c=br,l=ql.warning):s?(c=tr,l=ql.dim):e===`pending`?(c=xr,l=ql.warning):e===`auth_error`?(c=Er,l=ql.danger):e===`down`&&Yl[t]?(c=Yl[t].Icon,l=Yl[t].color):e===`down`&&(c=Gn,l=ql.danger),(0,F.jsxs)(`span`,{className:`${Wl.cell} ${a}`,children:[o?(0,F.jsx)(Ul,{size:15,title:r(`dashboard.noApiKey`)}):c?(0,F.jsx)(c,{size:Gl,stroke:Kl,style:{color:l,flexShrink:0},"aria-hidden":`true`}):null,(0,F.jsx)(`span`,{className:o?Wl.noKeyText:void 0,children:i})]})}var $l={cell:`_cell_8z2ea_1`,bar:`_bar_8z2ea_2`,fill:`_fill_8z2ea_3`,high:`_high_8z2ea_4`,mid:`_mid_8z2ea_5`,low:`_low_8z2ea_6`,value:`_value_8z2ea_7`,none:`_none_8z2ea_8`};function eu({score:e}){if(e==null||e<0)return(0,F.jsx)(`span`,{className:$l.none,children:`—`});let t=e>=70?`high`:e>=40?`mid`:`low`;return(0,F.jsxs)(`div`,{className:$l.cell,children:[(0,F.jsx)(`div`,{className:$l.bar,children:(0,F.jsx)(`div`,{className:`${$l.fill} ${$l[t]}`,style:{width:`${e}%`}})}),(0,F.jsx)(`span`,{className:$l.value,children:e})]})}var tu={badge:`_badge_5z8g9_5`,emoji:`_emoji_5z8g9_16`,text:`_text_5z8g9_17`,perfect:`_perfect_5z8g9_20`,normal:`_normal_5z8g9_21`,slow:`_slow_5z8g9_22`,spiky:`_spiky_5z8g9_23`,veryslow:`_veryslow_5z8g9_24`,overloaded:`_overloaded_5z8g9_25`,unstable:`_unstable_5z8g9_26`,notactive:`_notactive_5z8g9_27`,pending:`_pending_5z8g9_28`},nu={Perfect:{emoji:`🟩`,key:`filters.verdict.perfect`,cls:`perfect`},Normal:{emoji:`🟢`,key:`filters.verdict.normal`,cls:`normal`},Spiky:{emoji:`🟡`,key:`filters.verdict.spiky`,cls:`spiky`},Slow:{emoji:`🟠`,key:`filters.verdict.slow`,cls:`slow`},"Very Slow":{emoji:`🔴`,key:`filters.verdict.verySlow`,cls:`veryslow`},Overloaded:{emoji:`🔥`,key:`filters.verdict.overloaded`,cls:`overloaded`},Unstable:{emoji:`🟥`,key:`filters.verdict.unstable`,cls:`unstable`},"Not Active":{emoji:`⚫`,key:`filters.verdict.notActive`,cls:`notactive`},Pending:{emoji:`⏳`,key:`filters.verdict.pending`,cls:`pending`}},ru={emoji:`❔`,key:`filters.verdict.pending`,cls:`pending`};function iu({verdict:e,httpCode:t}){let{t:n}=hi(),r=e?nu[e]||{emoji:`❔`,label:e,cls:`pending`}:ru;return(0,F.jsxs)(`span`,{className:`${tu.badge} ${tu[r.cls]}`,children:[(0,F.jsx)(`span`,{className:tu.emoji,children:r.emoji}),(0,F.jsx)(`span`,{className:tu.text,children:r.key?n(r.key):r.label})]})}function au(e,t){return typeof window>`u`||!window.document?.documentElement?t:getComputedStyle(document.documentElement).getPropertyValue(e).trim()||t}function ou(e){return e<500?au(`--color-success`,`#00ff88`):e<1500?au(`--color-warning`,`#ffaa00`):au(`--color-danger`,`#ff4444`)}function su({history:e}){return(0,v.useMemo)(()=>{if(!e||e.length<2)return null;let t=e.filter(e=>e.code===`200`||e.code===`401`);if(t.length<2)return null;let n=t.map(e=>e.ms),r=Math.max(...n,1),i=Math.min(...n,0),a=r-i||1,o=80/(n.length-1),s=n.map((e,t)=>{let n=t*o,r=22-(e-i)/a*18-2;return`${n.toFixed(1)},${r.toFixed(1)}`}).join(` `),c=n[n.length-1],l=ou(c),u=((n.length-1)*o).toFixed(1),d=(22-(c-i)/a*18-2).toFixed(1);return(0,F.jsxs)(`svg`,{className:`sparkline-svg`,width:80,height:22,viewBox:`0 0 80 22`,children:[(0,F.jsx)(`polyline`,{fill:`none`,stroke:l,strokeWidth:`1.5`,strokeLinejoin:`round`,strokeLinecap:`round`,points:s,opacity:`0.85`}),(0,F.jsx)(`circle`,{cx:u,cy:d,r:`2.5`,fill:l})]})},[e])||null}var H={cell:`_cell_c8a3q_1`,value:`_value_c8a3q_13`,fast:`_fast_c8a3q_14`,medium:`_medium_c8a3q_15`,slow:`_slow_c8a3q_16`,dim:`_dim_c8a3q_17`,running:`_running_c8a3q_18`,badge:`_badge_c8a3q_19`,runningCell:`_runningCell_c8a3q_22`,benchmarkSpinner:`_benchmarkSpinner_c8a3q_34`,benchSpin:`_benchSpin_c8a3q_1`,benchPulse:`_benchPulse_c8a3q_1`};function cu(e,t){if(t)return{text:`RUN`,badge:``};if(!e||!e.ok)return{text:e?.code||`—`,badge:``};let n=e.totalMs/1e3,r=e.retries>0?`↻${e.retries}`:``;return{text:n>=10?`${n.toFixed(0)}s`:`${n.toFixed(1)}s`,badge:r}}function lu({result:e,isRunning:t}){let{text:n,badge:r}=cu(e,t),i=e?.ok?H.fast:e?H.slow:H.dim;return(0,F.jsx)(`span`,{className:`${H.cell} ${t?H.runningCell:``}`,children:t?(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(`span`,{className:H.benchmarkSpinner}),(0,F.jsx)(`span`,{className:`${H.value} ${H.running}`,children:n})]}):(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(`span`,{className:`${H.value} ${i}`,children:n}),r&&(0,F.jsx)(`span`,{className:H.badge,children:r})]})})}var uu={cell:`_cell_1bcec_1`,value:`_value_1bcec_13`,fast:`_fast_1bcec_14`,slow:`_slow_1bcec_15`,dim:`_dim_1bcec_16`,running:`_running_1bcec_17`,badge:`_badge_1bcec_18`,runningCell:`_runningCell_1bcec_21`,miniSpinner:`_miniSpinner_1bcec_29`,miniSpin:`_miniSpin_1bcec_29`};function du(e,t){if(t)return{text:`…`,badge:``};if(!e||!e.ok)return{text:`—`,badge:``};let n=e.retries>0?`↻${e.retries}`:``;return{text:String(Math.round(e.tokensPerSecond??0)),badge:n}}function fu({result:e,isRunning:t}){let{text:n,badge:r}=du(e,t),i=e?.ok?uu.fast:e?uu.slow:uu.dim;return(0,F.jsx)(`span`,{className:`${uu.cell} ${t?uu.runningCell:``}`,children:t?(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(`span`,{className:uu.miniSpinner}),(0,F.jsx)(`span`,{className:`${uu.value} ${uu.running}`,children:n})]}):(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(`span`,{className:`${uu.value} ${i}`,children:n}),r&&(0,F.jsx)(`span`,{className:uu.badge,children:r})]})})}var pu={button:`_button_5uv8q_2`,icon:`_icon_5uv8q_24`};function mu({model:e,toolMode:t=`opencode`,onLaunch:n,variant:r=`default`,disabled:i=!1}){let{t:a}=hi(),o=yn(t),s=`${o.emoji} ${o.label}`,c=r===`icon`?a(`dashboard.installEndpoint`):a(`dashboard.installEndpointInTool`,{tool:s});return(0,F.jsxs)(`button`,{type:`button`,className:`${pu.button} ${pu[r]||``}`,disabled:i||!e,onClick:t=>{t.stopPropagation(),e&&n?.(e)},title:e?a(`dashboard.installModelEndpoint`,{model:e.label,tool:o.label}):a(`dashboard.selectModelFirst`),"aria-label":e?a(`dashboard.installModelEndpoint`,{model:e.label,tool:o.label}):a(`dashboard.installSelectedModelEndpoint`),children:[(0,F.jsx)(Mr,{size:r===`icon`?13:14,stroke:1.8}),r!==`icon`&&(0,F.jsx)(`span`,{children:c})]})}var hu={nvidia:{telemetryType:`unknown`,supportsEndpoint:!1,usageDisplay:`ok`,resetCadence:`none`},groq:{telemetryType:`header`,supportsEndpoint:!1,usageDisplay:`percent`,resetCadence:`daily`},cerebras:{telemetryType:`header`,supportsEndpoint:!1,usageDisplay:`percent`,resetCadence:`daily`},sambanova:{telemetryType:`unknown`,supportsEndpoint:!1,usageDisplay:`ok`,resetCadence:`unknown`},"github-models":{telemetryType:`unknown`,supportsEndpoint:!1,usageDisplay:`ok`,resetCadence:`unknown`},mistral:{telemetryType:`unknown`,supportsEndpoint:!1,usageDisplay:`ok`,resetCadence:`monthly`},scaleway:{telemetryType:`unknown`,supportsEndpoint:!1,usageDisplay:`ok`,resetCadence:`unknown`},googleai:{telemetryType:`unknown`,supportsEndpoint:!1,usageDisplay:`ok`,resetCadence:`daily`},codestral:{telemetryType:`unknown`,supportsEndpoint:!1,usageDisplay:`ok`,resetCadence:`daily`},qwen:{telemetryType:`unknown`,supportsEndpoint:!1,usageDisplay:`ok`,resetCadence:`unknown`},ovhcloud:{telemetryType:`unknown`,supportsEndpoint:!1,usageDisplay:`ok`,resetCadence:`unknown`},openrouter:{telemetryType:`endpoint`,supportsEndpoint:!0,usageDisplay:`percent`,resetCadence:`unknown`},cloudflare:{telemetryType:`unknown`,supportsEndpoint:!1,usageDisplay:`ok`,resetCadence:`daily`},zai:{telemetryType:`unknown`,supportsEndpoint:!1,usageDisplay:`ok`,resetCadence:`none`},"opencode-zen":{telemetryType:`unknown`,supportsEndpoint:!1,usageDisplay:`ok`,resetCadence:`unknown`},kilo:{telemetryType:`unknown`,supportsEndpoint:!1,usageDisplay:`ok`,resetCadence:`unknown`},llm7:{telemetryType:`unknown`,supportsEndpoint:!1,usageDisplay:`ok`,resetCadence:`rolling`},routeway:{telemetryType:`unknown`,supportsEndpoint:!1,usageDisplay:`ok`,resetCadence:`unknown`},novita:{telemetryType:`unknown`,supportsEndpoint:!1,usageDisplay:`ok`,resetCadence:`unknown`},"ollama-cloud":{telemetryType:`unknown`,supportsEndpoint:!1,usageDisplay:`ok`,resetCadence:`rolling`},pollinations:{telemetryType:`unknown`,supportsEndpoint:!1,usageDisplay:`ok`,resetCadence:`daily`},siliconflow:{telemetryType:`unknown`,supportsEndpoint:!1,usageDisplay:`ok`,resetCadence:`daily`},requesty:{telemetryType:`unknown`,supportsEndpoint:!1,usageDisplay:`ok`,resetCadence:`daily`},orcarouter:{telemetryType:`unknown`,supportsEndpoint:!1,usageDisplay:`ok`,resetCadence:`unknown`},"vercel-gateway":{telemetryType:`unknown`,supportsEndpoint:!1,usageDisplay:`ok`,resetCadence:`monthly`},onomeo:{telemetryType:`unknown`,supportsEndpoint:!1,usageDisplay:`ok`,resetCadence:`daily`}},gu={telemetryType:`unknown`,supportsEndpoint:!1,usageDisplay:`ok`,resetCadence:`unknown`};function _u(e){return hu[e]??gu}function vu(e){return _u(e).usageDisplay===`percent`}var U={root:`_root_1fq95_12`,transcript:`_transcript_1fq95_21`,full:`_full_1fq95_30`,mini:`_mini_1fq95_34`,empty:`_empty_1fq95_40`,emptyIcon:`_emptyIcon_1fq95_57`,emptyTitle:`_emptyTitle_1fq95_62`,emptyHint:`_emptyHint_1fq95_72`,suggestions:`_suggestions_1fq95_93`,message:`_message_1fq95_102`,msgIn:`_msgIn_1fq95_1`,user:`_user_1fq95_120`,assistant:`_assistant_1fq95_125`,bubbleRow:`_bubbleRow_1fq95_130`,role:`_role_1fq95_137`,copyBtn:`_copyBtn_1fq95_145`,bubble:`_bubble_1fq95_130`,typing:`_typing_1fq95_192`,codeBlock:`_codeBlock_1fq95_198`,cursor:`_cursor_1fq95_211`,blink:`_blink_1fq95_1`,meta:`_meta_1fq95_227`,metaChip:`_metaChip_1fq95_242`,target:`_target_1fq95_255`,modelChip:`_modelChip_1fq95_261`,latencyChip:`_latencyChip_1fq95_266`,tpsChip:`_tpsChip_1fq95_271`,errorChip:`_errorChip_1fq95_276`,inputBar:`_inputBar_1fq95_282`,input:`_input_1fq95_282`,sendBtn:`_sendBtn_1fq95_333`,stopBtn:`_stopBtn_1fq95_334`,spin:`_spin_1fq95_376`};function yu(e){if(!e)return null;let t=e.indexOf(`/`);return t<=0?{provider:e,model:``}:{provider:e.slice(0,t),model:e.slice(t+1)}}function bu(e){return!e||typeof e!=`object`?typeof e==`string`?e:null:typeof e.error==`string`?e.error:e.error&&typeof e.error==`object`&&typeof e.error.message==`string`?e.error.message:typeof e.message==`string`?e.message:null}function xu(e){return e?e.split(/(```[\s\S]*?```)/g).map((e,t)=>{let n=e.match(/^```([a-zA-Z0-9_-]+)?\n?([\s\S]*?)```$/);return n?(0,F.jsx)(`pre`,{className:U.codeBlock,children:(0,F.jsx)(`code`,{children:n[2].replace(/\n$/,``)})},t):(0,F.jsx)(`span`,{children:e},t)}):null}function Su(e){return Number.isFinite(e)?(Math.round(e*10)/10).toFixed(1):`—`}var Cu=(0,v.forwardRef)(function({model:e,disabled:t=!1,variant:n=`mini`,stream:r=!0,placeholder:i,targetLabel:a,suggestions:o=[],emptyTitle:s,emptyHint:c,emptyIcon:l,children:u,onTurnComplete:d},f){let{t:p}=hi(),[m,h]=(0,v.useState)([]),[g,_]=(0,v.useState)(``),[y,b]=(0,v.useState)(!1),[x,S]=(0,v.useState)(null),C=(0,v.useRef)(null),w=(0,v.useRef)(null),T=(0,v.useRef)(null),ee=(0,v.useRef)([]);(0,v.useImperativeHandle)(f,()=>({clear:()=>{C.current&&=(C.current.abort(),null),b(!1),h([])},focus:()=>w.current?.focus(),getMessages:()=>ee.current}),[]),(0,v.useEffect)(()=>{ee.current=m},[m]),(0,v.useEffect)(()=>{if(typeof d!=`function`)return;let e=m[m.length-1];if(!e||e.pending||!(e.role===`assistant`&&(e.meta||e.error||e.aborted)))return;let t=m.reduce((e,t)=>e+(t.meta?.tokens||0),0);d({count:m.length,totalTokens:t,lastMeta:e.meta})},[m,d]),(0,v.useEffect)(()=>{let e=T.current;e&&(e.scrollTop=e.scrollHeight)},[m,y]);let E=(0,v.useCallback)(()=>{C.current&&=(C.current.abort(),null),b(!1)},[]),te=(0,v.useCallback)(async n=>{let i=(typeof n==`string`?n:g).trim();if(!i||y||t)return;_(``);let o=a||(e===`fcm`?`fcm`:e),s={id:`u-${Date.now()}`,role:`user`,content:i,ts:Date.now(),target:o},c=`a-${Date.now()}`,l={id:c,role:`assistant`,content:``,pending:!0},u=[...m,s];h([...u,l]),b(!0);let d=new AbortController;C.current=d;let f=Date.now(),p=e=>h(t=>t.map(t=>t.id===c?{...t,...e}:t)),v=null,x=t=>(v=t.headers.get(`x-fcm-router-model`)||(e===`fcm`?null:e),yu(v)||{provider:e,model:``}),S={model:e||`fcm`,messages:u.map(({role:e,content:t})=>({role:e,content:t})),stream:r,temperature:.7};try{let e=await fetch(`/api/playground/chat`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(S),signal:d.signal});if(!e.ok){p({pending:!1,error:bu(await e.json().catch(()=>null))||`Request failed (${e.status})`});return}if(r){let t=e.body?.getReader();if(!t)throw Error(`No stream reader available`);let n=new TextDecoder,r=``,i=``,a=x(e),o=0,s=!!v;for(;;){let{value:e,done:c}=await t.read();if(c)break;r+=n.decode(e,{stream:!0});let l=r.split(/\n\n/);r=l.pop()||``;for(let e of l){let t=e.split(/\n/);for(let e of t){if(!e.startsWith(`data:`))continue;let t=e.slice(5).trim();if(t!==`[DONE]`)try{let e=JSON.parse(t),n=e?.choices?.[0]?.delta?.content;typeof n==`string`&&n&&(i+=n,p({content:i,pending:!1}));let r=e?.usage;r&&(typeof r.completion_tokens==`number`?o=r.completion_tokens:typeof r.total_tokens==`number`&&(o=r.total_tokens)),!s&&e?.x_routed_via&&(a={provider:e.x_routed_via,model:e.x_routed_model||``},s=!0)}catch{}}}}let c=Date.now()-f,l=o>0&&c>0?o/(c/1e3):null;p({pending:!1,meta:{provider:a.provider,model:a.model,latencyMs:c,tokens:o,tps:l}})}else{let t=await e.json().catch(()=>null),n=t?.choices?.[0]?.message?.content||``,r=t?.usage||{},i=typeof r.completion_tokens==`number`?r.completion_tokens:r.total_tokens||0,a=x(e),o=Date.now()-f,s=i>0&&o>0?i/(o/1e3):null;p({pending:!1,content:n,meta:{provider:a.provider,model:a.model,latencyMs:o,tokens:i,tps:s}})}}catch(e){e?.name===`AbortError`?p({pending:!1,aborted:!0}):p({pending:!1,error:e?.message||String(e)})}finally{b(!1),C.current=null}},[g,y,t,m,e,r,a,d]),D=(0,v.useCallback)(e=>{(e.key===`Enter`&&!e.shiftKey&&n===`full`||e.key===`Enter`&&n===`mini`)&&(e.preventDefault(),te())},[te,n]),O=(0,v.useCallback)(async(e,t)=>{try{await navigator.clipboard.writeText(t||``),S(e),setTimeout(()=>S(null),1500)}catch{}},[]),ne=(0,v.useCallback)(e=>{if(_(e.target.value),n===`full`){let t=e.target;t.style.height=`auto`,t.style.height=`${Math.min(t.scrollHeight,180)}px`}},[n]),re=n===`full`?U.full:U.mini;return(0,F.jsxs)(`div`,{className:`${U.root} ${re}`,children:[u,(0,F.jsx)(`div`,{className:U.transcript,ref:T,children:m.length===0?(0,F.jsxs)(`div`,{className:U.empty,children:[l&&(0,F.jsx)(`div`,{className:U.emptyIcon,children:l}),s&&(0,F.jsx)(`div`,{className:U.emptyTitle,children:s}),c&&(0,F.jsx)(`div`,{className:U.emptyHint,children:c}),o.length>0&&(0,F.jsx)(`div`,{className:U.suggestions,children:o.map(e=>(0,F.jsx)(`button`,{className:U.chip,onClick:()=>void te(e),type:`button`,children:e},e))})]}):m.map((e,t)=>(0,F.jsxs)(`div`,{className:`${U.message} ${U[e.role]||``}`,children:[(0,F.jsxs)(`div`,{className:U.bubbleRow,children:[(0,F.jsx)(`span`,{className:U.role,children:e.role}),e.role===`assistant`&&e.content&&(0,F.jsx)(`button`,{className:U.copyBtn,onClick:()=>O(t,e.content),title:p(`playground.copyReply`),type:`button`,children:x===t?(0,F.jsx)(Jn,{size:11}):(0,F.jsx)(or,{size:11})})]}),(0,F.jsx)(`div`,{className:U.bubble,children:e.role===`assistant`?(0,F.jsxs)(F.Fragment,{children:[e.content?xu(e.content):null,y&&t===m.length-1&&e.pending&&!e.aborted&&(0,F.jsx)(`span`,{className:U.cursor}),!e.content&&e.pending&&(0,F.jsx)(`span`,{className:U.typing,children:`…`})]}):e.content}),e.role===`user`&&e.target&&(0,F.jsx)(`div`,{className:U.meta,children:(0,F.jsxs)(`span`,{className:`${U.metaChip} ${U.target}`,title:p(`playground.addressedModel`),children:[(0,F.jsx)(Kn,{size:11}),e.target]})}),e.role===`assistant`&&!e.pending&&e.meta&&(0,F.jsxs)(`div`,{className:U.meta,children:[e.meta.provider&&(0,F.jsxs)(`span`,{className:`${U.metaChip} ${U.modelChip}`,title:p(`playground.servedModel`),children:[(0,F.jsx)(Kn,{size:11}),e.meta.provider,e.meta.model?`/${e.meta.model}`:``]}),e.meta.latencyMs!=null&&(0,F.jsxs)(`span`,{className:`${U.metaChip} ${U.latencyChip}`,title:p(`playground.responseTime`),children:[(0,F.jsx)(rr,{size:11}),Math.round(e.meta.latencyMs),`ms`]}),e.meta.tokens>0&&(0,F.jsxs)(`span`,{className:U.metaChip,title:p(`playground.completionTokens`),children:[e.meta.tokens,` tok`]}),e.meta.tps!=null&&e.meta.tps>0&&(0,F.jsxs)(`span`,{className:`${U.metaChip} ${U.tpsChip}`,title:p(`playground.tokensPerSecond`),children:[(0,F.jsx)(Ir,{size:11}),Su(e.meta.tps),` t/s`]})]}),e.role===`assistant`&&e.error&&(0,F.jsx)(`div`,{className:U.meta,children:(0,F.jsxs)(`span`,{className:`${U.metaChip} ${U.errorChip}`,title:`Error`,children:[(0,F.jsx)(Bn,{size:11}),e.error]})}),e.role===`assistant`&&e.aborted&&!e.error&&(0,F.jsx)(`div`,{className:U.meta,children:(0,F.jsx)(`span`,{className:U.metaChip,children:p(`playground.stopped`)})})]},e.id||t))}),(0,F.jsxs)(`div`,{className:U.inputBar,children:[(0,F.jsx)(`textarea`,{ref:w,className:U.input,placeholder:i||p(n===`full`?`playground.fullPlaceholder`:`playground.miniPlaceholder`),value:g,onChange:ne,onKeyDown:D,disabled:t,rows:1}),y?(0,F.jsxs)(`button`,{className:U.stopBtn,onClick:E,title:p(`playground.stopGenerating`),type:`button`,children:[(0,F.jsx)(Tr,{size:14,className:U.spin}),n===`full`?p(`playground.stop`):``]}):(0,F.jsxs)(`button`,{className:U.sendBtn,onClick:()=>void te(),disabled:t||!g.trim(),title:p(`playground.send`),type:`button`,children:[(0,F.jsx)(zr,{size:14}),n===`full`?p(`playground.send`):``]})]})]})}),W={row:`_row_15axt_10`,slideDown:`_slideDown_15axt_1`,grid:`_grid_15axt_29`,col:`_col_15axt_37`,colTitle:`_colTitle_15axt_43`,statGrid:`_statGrid_15axt_53`,statItem:`_statItem_15axt_59`,statLabel:`_statLabel_15axt_65`,statValue:`_statValue_15axt_73`,infoActions:`_infoActions_15axt_82`,favBtn:`_favBtn_15axt_90`,favBtnActive:`_favBtnActive_15axt_109`,playgroundHeader:`_playgroundHeader_15axt_119`,playgroundWrap:`_playgroundWrap_15axt_128`,inputRow:`_inputRow_15axt_135`,inputField:`_inputField_15axt_140`,sendBtn:`_sendBtn_15axt_163`,responseArea:`_responseArea_15axt_188`,responsePlaceholder:`_responsePlaceholder_15axt_205`,benchBtn:`_benchBtn_15axt_211`,metricsGrid:`_metricsGrid_15axt_244`,metricCard:`_metricCard_15axt_250`,metricLabel:`_metricLabel_15axt_260`,metricValue:`_metricValue_15axt_268`,streamText:`_streamText_15axt_275`,progressBar:`_progressBar_15axt_291`,progressFill:`_progressFill_15axt_299`,sweHigh:`_sweHigh_15axt_307`,sweMid:`_sweMid_15axt_308`,sweLow:`_sweLow_15axt_309`,pingFast:`_pingFast_15axt_314`,pingMedium:`_pingMedium_15axt_315`,pingSlow:`_pingSlow_15axt_316`,pingNone:`_pingNone_15axt_317`,noKeyBanner:`_noKeyBanner_15axt_323`,noKeyIcon:`_noKeyIcon_15axt_336`,spinning:`_spinning_15axt_342`,spin:`_spin_15axt_342`};function wu({label:e,children:t}){return(0,F.jsxs)(`div`,{className:W.statItem,children:[(0,F.jsx)(`span`,{className:W.statLabel,children:e}),(0,F.jsx)(`span`,{className:W.statValue,children:t})]})}function Tu({model:e,favorites:t,onBenchmark:n,onLaunch:r,onToast:i,toolMode:a=`opencode`,onSetToolMode:o,onCycleToolMode:s,onOpenFallback:c}){let{t:l}=hi(),[u,d]=(0,v.useState)(`idle`),[f,p]=(0,v.useState)({latency:null,tokens:null,tps:null}),[m,h]=(0,v.useState)(``),[g,_]=(0,v.useState)(0),y=(0,v.useRef)(null);if(!e)return null;let b=t?.isFavorite(e)??!1,x=Ut(e.avg),S=x.cls||Wt(e.avg),C=(0,v.useCallback)(async()=>{if(u===`running`)return;d(`running`),p({latency:null,tokens:null,tps:null}),h(``),_(0),y.current&&y.current.abort();let t=new AbortController;y.current=t;try{let n=await fetch(`/api/benchmark-stream`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({providerKey:e.providerKey,modelId:e.modelId}),signal:t.signal});if(!n.ok){let e=await n.text().catch(()=>`HTTP ${n.status}`);d(`error`),h(`Error: ${e}`);return}let r=n.body.getReader(),i=new TextDecoder,a=``,o=``;for(;;){let{done:e,value:t}=await r.read();if(e)break;a+=i.decode(t,{stream:!0});let n=a.split(`
35
- `);a=n.pop()||``;for(let e of n){let t=e.trim();if(t&&!t.startsWith(`event: `)&&t.startsWith(`data: `)){let e=t.slice(6).trim();try{let t=JSON.parse(e),n=t.type||t.event;n===`token`||t.token!==void 0?(t.text&&(o+=t.text,h(o)),t.totalMs!=null&&p(e=>({...e,latency:(t.totalMs/1e3).toFixed(2)})),t.tokens!=null&&(p(e=>({...e,tokens:t.tokens})),_(Math.min(100,Math.round(t.tokens/140*100)))),t.tps!=null&&p(e=>({...e,tps:t.tps.toFixed(1)}))):n===`done`?(t.totalMs!=null&&p(e=>({...e,latency:(t.totalMs/1e3).toFixed(2)})),t.outputTokens!=null&&p(e=>({...e,tokens:t.outputTokens})),t.tokensPerSecond!=null&&p(e=>({...e,tps:t.tokensPerSecond.toFixed(1)})),_(100),d(`done`)):n===`error`&&(d(`error`),h(t.message||t.error||`Unknown error`))}catch{}}}}}catch(e){e.name!==`AbortError`&&(d(`error`),h(`Error: ${e.message}`))}finally{u===`running`&&d(`done`),y.current=null}},[u,e.providerKey,e.modelId]);return e.hasApiKey?(0,F.jsx)(`div`,{className:W.row,children:(0,F.jsxs)(`div`,{className:W.grid,children:[(0,F.jsxs)(`div`,{className:W.col,children:[(0,F.jsxs)(`div`,{className:W.colTitle,children:[`📊 `,l(`modelDetail.modelInfo`)]}),(0,F.jsxs)(`div`,{className:W.statGrid,children:[(0,F.jsx)(wu,{label:l(`dashboard.tier`),children:(0,F.jsx)(Il,{tier:e.tier})}),(0,F.jsx)(wu,{label:`SWE-bench`,children:(0,F.jsx)(`span`,{className:W[Ht(e.sweScore)],children:e.sweScore||`—`})}),(0,F.jsx)(wu,{label:l(`dashboard.context`),children:e.ctx||`—`}),(0,F.jsx)(wu,{label:l(`dashboard.provider`),children:e.origin}),(0,F.jsxs)(wu,{label:l(`dashboard.status`),children:[(0,F.jsx)(Rl,{status:e.status}),(0,F.jsx)(`span`,{style:{fontSize:11},children:{up:l(`dashboard.working`),down:l(`dashboard.down`),timeout:l(`filters.health.timeout`),noauth:l(`filters.health.noKey`),auth_error:l(`filters.health.authError`),pending:l(`dashboard.pending`)}[e.status]||e.status})]}),(0,F.jsx)(wu,{label:l(`dashboard.avgPingShort`),children:(0,F.jsx)(`span`,{className:W[S],children:x.text})}),(0,F.jsx)(wu,{label:l(`dashboard.stability`),children:(0,F.jsx)(eu,{score:e.stability})}),(0,F.jsx)(wu,{label:l(`dashboard.verdict`),children:(0,F.jsx)(iu,{verdict:e.verdict,httpCode:e.httpCode})}),(0,F.jsx)(wu,{label:l(`dashboard.uptime`),children:e.uptime>0?`${e.uptime}%`:`—`})]}),(0,F.jsxs)(`div`,{className:W.infoActions,children:[t&&(0,F.jsxs)(`button`,{className:`${W.favBtn} ${b?W.favBtnActive:``}`,onClick:()=>t.toggle(e),title:l(b?`dashboard.unfavoriteModelTitle`:`dashboard.favoriteModelTitle`,{model:e.label}),children:[b?(0,F.jsx)(Qr,{size:13,stroke:1.5}):(0,F.jsx)(Hr,{size:13,stroke:1.5}),(0,F.jsx)(`span`,{children:l(b?`dashboard.favorited`:`dashboard.favorite`)})]}),r&&(0,F.jsx)(mu,{model:e,toolMode:a,onLaunch:r,variant:`default`})]})]}),(0,F.jsxs)(`div`,{className:W.col,children:[(0,F.jsxs)(`div`,{className:W.playgroundHeader,children:[`💬 `,l(`modelDetail.miniPlayground`,{model:e.label})]}),(0,F.jsx)(`div`,{className:W.playgroundWrap,children:(0,F.jsx)(Cu,{model:`${e.providerKey}/${e.modelId}`,variant:`mini`,disabled:!e.hasApiKey,placeholder:l(`modelDetail.playgroundPlaceholder`),emptyTitle:l(`modelDetail.testModel`,{model:e.label}),emptyHint:l(`modelDetail.playgroundEmptyHint`)})})]}),(0,F.jsxs)(`div`,{className:W.col,children:[(0,F.jsxs)(`button`,{className:W.benchBtn,onClick:C,disabled:u===`running`,title:l(u===`running`?`modelDetail.runningBenchmark`:`modelDetail.testAiLatency`),children:[u===`running`?(0,F.jsx)(Tr,{size:13,stroke:1.8,className:W.spinning}):(0,F.jsx)(Zr,{size:13,stroke:1.8}),(0,F.jsx)(`span`,{children:l(u===`running`?`modelDetail.running`:`modelDetail.testAiLatency`)})]}),(0,F.jsxs)(`div`,{className:W.metricsGrid,children:[(0,F.jsxs)(`div`,{className:W.metricCard,children:[(0,F.jsx)(`span`,{className:W.metricLabel,children:l(`dashboard.latency`)}),(0,F.jsx)(`span`,{className:W.metricValue,children:f.latency==null?`—`:`${f.latency}s`})]}),(0,F.jsxs)(`div`,{className:W.metricCard,children:[(0,F.jsx)(`span`,{className:W.metricLabel,children:l(`modelDetail.tokens`)}),(0,F.jsx)(`span`,{className:W.metricValue,children:f.tokens==null?`—`:f.tokens})]}),(0,F.jsxs)(`div`,{className:W.metricCard,children:[(0,F.jsx)(`span`,{className:W.metricLabel,children:`TPS`}),(0,F.jsx)(`span`,{className:W.metricValue,children:f.tps==null?`—`:f.tps})]}),(0,F.jsxs)(`div`,{className:W.metricCard,children:[(0,F.jsx)(`span`,{className:W.metricLabel,children:l(`dashboard.status`)}),(0,F.jsxs)(`span`,{className:W.metricValue,children:[u===`idle`&&`⏳`,u===`running`&&`⚡`,u===`done`&&`✅`,u===`error`&&`❌`]})]})]}),(0,F.jsx)(`div`,{className:W.progressBar,children:(0,F.jsx)(`div`,{className:W.progressFill,style:{width:`${g}%`}})}),(0,F.jsx)(`div`,{className:W.streamText,children:m||(0,F.jsx)(`span`,{className:W.responsePlaceholder,children:l(`modelDetail.generatedText`)})})]})]})}):(0,F.jsx)(`div`,{className:W.row,children:(0,F.jsxs)(`div`,{className:W.noKeyBanner,children:[(0,F.jsx)(`span`,{className:W.noKeyIcon,children:`🔒`}),(0,F.jsx)(`span`,{children:l(`modelDetail.noApiKey`,{provider:e.origin})})]})})}var G={container:`_container_3g32t_8`,scrollInner:`_scrollInner_3g32t_19`,table:`_table_3g32t_41`,th:`_th_3g32t_50`,thInner:`_thInner_3g32t_79`,thLabel:`_thLabel_3g32t_87`,resizeHandle:`_resizeHandle_3g32t_101`,resizeHandleActive:`_resizeHandleActive_3g32t_126`,resizeToolbar:`_resizeToolbar_3g32t_147`,resizeToolbarHint:`_resizeToolbarHint_3g32t_159`,resizeResetButton:`_resizeResetButton_3g32t_170`,sortIcon:`_sortIcon_3g32t_199`,sortIconActive:`_sortIconActive_3g32t_200`,td:`_td_3g32t_203`,rank1:`_rank1_3g32t_227`,rank2:`_rank2_3g32t_228`,rank3:`_rank3_3g32t_229`,rankNum:`_rankNum_3g32t_232`,swe:`_swe_3g32t_240`,sweHigh:`_sweHigh_3g32t_241`,sweMid:`_sweMid_3g32t_242`,sweLow:`_sweLow_3g32t_243`,ctx:`_ctx_3g32t_245`,ping:`_ping_3g32t_247`,pingFast:`_pingFast_3g32t_248`,pingMedium:`_pingMedium_3g32t_249`,pingSlow:`_pingSlow_3g32t_250`,pingNone:`_pingNone_3g32t_251`,uptime:`_uptime_3g32t_260`,quota:`_quota_3g32t_262`,quotaGood:`_quotaGood_3g32t_267`,quotaWarn:`_quotaWarn_3g32t_268`,quotaBad:`_quotaBad_3g32t_269`,quotaNA:`_quotaNA_3g32t_270`,quotaNone:`_quotaNone_3g32t_271`,modelCell:`_modelCell_3g32t_274`,modelMeta:`_modelMeta_3g32t_275`,modelHeader:`_modelHeader_3g32t_276`,modelName:`_modelName_3g32t_277`,modelId:`_modelId_3g32t_278`,benchRow:`_benchRow_3g32t_289`,benchRowPulse:`_benchRowPulse_3g32t_1`,empty:`_empty_3g32t_307`,favBtn:`_favBtn_3g32t_310`,favBtnActive:`_favBtnActive_3g32t_325`,aiLatencyWrap:`_aiLatencyWrap_3g32t_337`,aiLatencyRunning:`_aiLatencyRunning_3g32t_348`,aiLatencyPlay:`_aiLatencyPlay_3g32t_350`,incompatible:`_incompatible_3g32t_359`,unusable:`_unusable_3g32t_377`,notInSetRow:`_notInSetRow_3g32t_386`,launchCell:`_launchCell_3g32t_394`,expandedRow:`_expandedRow_3g32t_407`,expandRowWrapper:`_expandRowWrapper_3g32t_436`,expandRowCell:`_expandRowCell_3g32t_439`},Eu=_c(),Du=new Set([`mood`,`idx`,`tier`,`sweScore`,`ctx`,`label`,`origin`,`latestPing`,`avg`,`condition`,`verdict`,`stability`,`uptime`,`aiLatency`,`tps`,`quota`,`trend`]);function Ou({row:e}){return(0,F.jsx)(Pl,{verdict:e.original.verdict})}function ku({row:e}){let{t}=hi(),n=e.original,r=!n.hasApiKey&&!n.cliOnly;return(0,F.jsxs)(`div`,{className:G.modelCell,children:[(0,F.jsx)(Rl,{status:n.status,inRouterSet:n.inRouterSet}),(0,F.jsxs)(`div`,{className:G.modelMeta,children:[(0,F.jsxs)(`div`,{className:G.modelHeader,children:[(0,F.jsx)(`span`,{className:G.modelName,children:n.label}),r&&(0,F.jsx)(Ul,{size:14,title:t(`dashboard.noApiKeyState`)})]}),(0,F.jsx)(`div`,{className:G.modelId,children:n.modelId})]})]})}function Au({model:e,favorites:t,isFavorite:n}){let{t:r}=hi();return(0,F.jsx)(`button`,{className:G.favBtn+(n?` `+G.favBtnActive:``),onClick:n=>{n.stopPropagation(),t.toggle(e)},title:r(n?`dashboard.unfavoriteModelTitle`:`dashboard.favoriteModelTitle`,{model:e.label}),"aria-label":r(n?`dashboard.unfavoriteModelTitle`:`dashboard.favoriteModelTitle`,{model:e.label}),"aria-pressed":n,children:n?(0,F.jsx)(Qr,{size:14,stroke:1.5}):(0,F.jsx)(Hr,{size:14,stroke:1.5})})}function ju({row:e}){let t=e.original,n=Ht(t.sweScore);return(0,F.jsx)(`span`,{className:`${G.swe} ${G[n]}`,children:t.sweScore||`—`})}function Mu({row:e}){return(0,F.jsx)(`span`,{className:G.ctx,children:e.original.ctx||`—`})}function Nu({row:e}){return(0,F.jsx)(la,{providerKey:e.original.providerKey,origin:e.original.origin})}function Pu({row:e}){let t=e.original,n=t.pingHistory||t.pings||[],r=n.length>0?n[n.length-1]:null;return(0,F.jsx)(Vl,{ms:r?.ms??null,isPinging:!!t.isPinging})}function Fu({row:e}){let t=e.original,n=Wt(t.avg);return(0,F.jsx)(`span`,{className:`${G.ping} ${G[n]}`,children:t.avg==null||t.avg===1/0||t.avg>99e3?`—`:t.avg})}function Iu({row:e}){let t=e.original;return(0,F.jsx)(Ql,{status:t.status,httpCode:t.httpCode,inRouterSet:t.inRouterSet})}function Lu({row:e}){let t=e.original;return(0,F.jsx)(iu,{verdict:t.verdict,httpCode:t.httpCode})}function Ru({row:e}){return(0,F.jsx)(eu,{score:e.original.stability})}function zu({row:e}){let t=e.original;return(0,F.jsx)(`span`,{className:G.uptime,children:t.uptime>0?`${t.uptime}%`:`—`})}function Bu({row:e}){let{t}=hi(),n=e.original,r=!!n.isBenchmarking;return(0,F.jsxs)(`div`,{className:`${G.aiLatencyWrap} ${r?G.aiLatencyRunning:``}`,onClick:e=>{e.stopPropagation();let t=window.__fcmRowBenchmarkHandler;typeof t==`function`&&t(n)},title:t(r?`dashboard.benchmarking`:`dashboard.clickToBenchmark`),children:[(0,F.jsx)(lu,{result:n.benchmark||null,isRunning:r}),!r&&(0,F.jsx)(`span`,{className:G.aiLatencyPlay,"aria-hidden":`true`,children:(0,F.jsx)(Zr,{size:10,stroke:1.5})})]})}function Vu({row:e}){let t=e.original;return(0,F.jsx)(fu,{result:t.benchmark||null,isRunning:!!t.isBenchmarking})}function Hu({row:e}){let t=e.original;if(!t.hasApiKey)return(0,F.jsx)(`span`,{className:`${G.quota} ${G.quotaNone}`,children:`-`});if(!vu(t.providerKey))return(0,F.jsx)(`span`,{className:`${G.quota} ${G.quotaNA}`,children:`N/A`});if(typeof t.usagePercent!=`number`||!Number.isFinite(t.usagePercent))return(0,F.jsx)(`span`,{className:`${G.quota} ${G.quotaNone}`,children:`…`});let n=Math.round(t.usagePercent),r=n>=50?G.quotaGood:n>=20?G.quotaWarn:G.quotaBad;return(0,F.jsxs)(`span`,{className:`${G.quota} ${r}`,children:[n,`%`]})}function Uu({row:e}){return(0,F.jsx)(su,{history:e.original.pingHistory})}var Wu=({favorites:e,onBenchmarkRow:t,onSelectModel:n,onLaunch:r,toolMode:i})=>[Eu.display({id:`fav`,header:`BOOKMARKS`,size:104,enableSorting:!1,cell:({row:t})=>{let n=t.original,r=e.isFavorite(n);return(0,F.jsx)(Au,{model:n,favorites:e,isFavorite:r})}}),Eu.display({id:`mood`,header:`❔`,size:28,cell:Ou,enableSorting:!0}),Eu.accessor(`idx`,{header:`#`,size:36,enableSorting:!0,cell:({getValue:e,row:t})=>(0,F.jsx)(`span`,{className:G.rankNum,children:e()??t.index+1})}),Eu.accessor(`tier`,{header:`Tier`,size:48,enableSorting:!0,cell:({getValue:e})=>(0,F.jsx)(Il,{tier:e()})}),Eu.accessor(`sweScore`,{header:`SWE%`,size:52,enableSorting:!0,cell:ju}),Eu.accessor(`ctx`,{header:`CTX`,size:48,enableSorting:!0,cell:Mu}),Eu.accessor(`label`,{header:`Model`,size:200,enableSorting:!0,cell:ku}),Eu.accessor(`origin`,{header:`Provider`,size:150,enableSorting:!0,cell:Nu}),Eu.display({id:`latestPing`,header:`Last Ping`,size:80,cell:Pu,enableSorting:!0}),Eu.accessor(`avg`,{header:`Avg`,size:72,enableSorting:!0,cell:Fu}),Eu.accessor(`status`,{id:`condition`,header:`Health`,size:120,enableSorting:!0,cell:Iu}),Eu.accessor(`verdict`,{header:`Verdict`,size:100,enableSorting:!0,cell:Lu}),Eu.accessor(`stability`,{header:`Stability`,size:90,enableSorting:!0,cell:Ru}),Eu.accessor(`uptime`,{header:`Up%`,size:48,enableSorting:!0,cell:zu}),Eu.display({id:`aiLatency`,header:`AI Lat.`,size:80,cell:Bu,enableSorting:!0}),Eu.display({id:`tps`,header:`TPS`,size:48,cell:Vu,enableSorting:!0}),Eu.display({id:`quota`,header:`Quota`,size:64,cell:Hu,enableSorting:!0}),Eu.display({id:`trend`,header:`Trend`,size:96,cell:Uu,enableSorting:!0}),Eu.display({id:`launch`,header:`🔌`,size:42,enableSorting:!1,cell:({row:e})=>(0,F.jsx)(`div`,{className:G.launchCell,children:(0,F.jsx)(mu,{model:e.original,toolMode:i,onLaunch:r,variant:`icon`})})})],Gu=Wu({favorites:{isFavorite:()=>!1,toggle:()=>{}},onBenchmarkRow:null,onSelectModel:null,onLaunch:null,toolMode:`opencode`}).reduce((e,t)=>{let n=t.id??t.accessorKey;return n&&(e[n]=t.size??80),e},{}),Ku=Object.freeze({fav:`dashboard.favorites`,tier:`dashboard.tier`,sweScore:`dashboard.swe`,ctx:`dashboard.context`,label:`dashboard.model`,origin:`dashboard.provider`,latestPing:`dashboard.lastPing`,avg:`dashboard.average`,condition:`dashboard.health`,verdict:`dashboard.verdict`,stability:`dashboard.stability`,uptime:`dashboard.uptime`,aiLatency:`dashboard.aiLatency`,tps:`dashboard.tps`,quota:`dashboard.quota`,trend:`dashboard.trend`});function qu({filtered:e,onSelectModel:t,onBenchmarkRow:n,onLaunch:r,favorites:i,sortColumn:a,sortDirection:o,onSort:s,toolMode:c=null,onToast:l,onSetToolMode:u,onCycleToolMode:d,onOpenFallback:f}){let{t:p}=hi(),[m,h]=(0,v.useState)(null),g=(0,v.useRef)(null),_=(0,v.useCallback)(e=>{let t=`${e.providerKey}/${e.modelId}`;h(e=>e===t?null:t)},[]),y=(0,v.useMemo)(()=>{let t=e.filter(e=>e.status===`up`&&e.avg!=null&&e.avg!==1/0&&e.avg<99e3);return new Set([...t].sort((e,t)=>e.avg-t.avg).slice(0,3).map(e=>e.modelId))},[e]);(0,v.useEffect)(()=>{if(typeof n!=`function`){window.__fcmRowBenchmarkHandler=null;return}return window.__fcmRowBenchmarkHandler=n,()=>{window.__fcmRowBenchmarkHandler===n&&(window.__fcmRowBenchmarkHandler=null)}},[n]);let b=(0,v.useMemo)(()=>Wu({favorites:i,onBenchmarkRow:n,onSelectModel:t,onLaunch:r,toolMode:c}),[i,n,t,r,c]),{columnSizing:x,setColumnSizing:S,resetColumnSizing:C,hasCustomSizing:w}=jl(Gu),T=Xc({data:e,columns:b,features:{coreRowModel:Ns(),columnSizingFeature:Jc,columnResizingFeature:qc},columnResizeMode:`onChange`,state:{columnSizing:x},onColumnSizingChange:S}),ee=T.getRowModel().rows,E=(0,v.useMemo)(()=>{let e=[];for(let t of ee){let n=t.original,r=`${n.providerKey}/${n.modelId}`;e.push({type:`row`,row:t,key:r}),m===r&&e.push({type:`expand`,row:t,key:`${r}__expand`})}return e},[ee,m]),te=xl({count:E.length,getScrollElement:()=>g.current,estimateSize:e=>E[e]?.type===`expand`?260:47,overscan:10,getItemKey:e=>E[e].key}),D=te.getVirtualItems(),O=te.getTotalSize(),ne=D.length?Math.max(0,D[0].start):0,re=D.length?D[D.length-1]:null,ie=re?Math.max(0,O-re.end):0,ae=(0,v.useMemo)(()=>T.getAllColumns().reduce((e,t)=>e+t.getSize(),0),[x]),k=!!T.state.columnResizing?.isResizingColumn;return(0,v.useEffect)(()=>{if(!(typeof document>`u`))return k?document.body.classList.add(`col-resizing`):document.body.classList.remove(`col-resizing`),()=>{document.body.classList.remove(`col-resizing`)}},[k]),ee.length===0?(0,F.jsx)(`div`,{className:G.empty,children:p(`dashboard.noModels`)}):(0,F.jsxs)(`div`,{className:G.container,children:[w&&(0,F.jsxs)(`div`,{className:G.resizeToolbar,children:[(0,F.jsxs)(`span`,{className:G.resizeToolbarHint,children:[`📐 `,p(`dashboard.customColumnWidths`),` · `,p(`dashboard.totalWidth`),` `,(0,F.jsxs)(`strong`,{children:[Math.round(ae),`px`]})]}),(0,F.jsxs)(`button`,{type:`button`,className:G.resizeResetButton,onClick:C,title:p(`dashboard.restoreColumnWidths`),children:[`↺ `,p(`dashboard.resetColumns`)]})]}),(0,F.jsx)(`div`,{className:G.scrollInner,ref:g,children:(0,F.jsxs)(`table`,{className:G.table,style:w?{minWidth:`${ae}px`}:void 0,children:[(0,F.jsx)(`thead`,{children:T.getHeaderGroups().map(e=>(0,F.jsx)(`tr`,{children:e.headers.map(e=>{let t=e.column,n=Du.has(t.id),r=t.getIsResizing?.()===!0,i=`${e.getSize()}px`,c=Ku[t.id]?p(Ku[t.id]):String(t.columnDef.header);return(0,F.jsx)(`th`,{className:G.th,onClick:n?()=>s(e.id):void 0,style:{width:i,minWidth:i,maxWidth:i,cursor:n?`pointer`:`default`},title:p(`dashboard.sortColumn`,{column:c}),children:(0,F.jsxs)(`div`,{className:G.thInner,children:[(0,F.jsxs)(`span`,{className:G.thLabel,children:[Ku[t.id]?c:Ea(t.columnDef.header,e.getContext()),n&&(0,F.jsx)(`span`,{className:a===t.id?G.sortIconActive:G.sortIcon,children:a===t.id?o===`asc`?`↑`:`↓`:`⇅`})]}),(0,F.jsx)(`span`,{className:`${G.resizeHandle} ${r?G.resizeHandleActive:``}`,onClick:e=>e.stopPropagation(),onMouseDown:e.getResizeHandler(),onTouchStart:e.getResizeHandler(),onDoubleClick:()=>{S(e=>({...e,[t.id]:Gu[t.id]}))},title:p(`dashboard.resizeColumn`,{column:c}),role:`separator`,"aria-orientation":`vertical`,"aria-label":p(`dashboard.resizeColumnAria`,{column:c})})]})},e.id)})},e.id))}),(0,F.jsxs)(`tbody`,{children:[ne>0&&(0,F.jsx)(`tr`,{"aria-hidden":`true`,style:{height:ne},children:(0,F.jsx)(`td`,{style:{height:ne,padding:0,border:0}})}),D.map(e=>{let t=E[e.index];if(t.type===`expand`)return(0,F.jsx)(`tr`,{className:G.expandRowWrapper,"data-index":e.index,ref:te.measureElement,children:(0,F.jsx)(`td`,{colSpan:t.row.getAllCells().length,className:G.expandRowCell,children:(0,F.jsx)(Tu,{model:t.row.original,favorites:i,onBenchmark:n,onLaunch:r,onToast:l,toolMode:c,onSetToolMode:u,onCycleToolMode:d,onOpenFallback:f})})},t.key);let a=t.row,o=a.original,s=m===t.key,p=[...y].indexOf(o.modelId),h=[];return p>=0&&h.push(G[`rank${p+1}`]),o.isBenchmarking&&h.push(G.benchRow),s&&h.push(G.expandedRow),c&&(xn(o.providerKey).includes(c)||h.push(G.incompatible)),(o.status===`noauth`||o.status===`auth_error`)&&h.push(G.unusable),o.status===`pending`&&o.inRouterSet===!1&&h.push(G.notInSetRow),(0,F.jsx)(`tr`,{className:h.join(` `),onClick:()=>_(o),"data-index":e.index,ref:te.measureElement,children:a.getAllCells().map(e=>{let t=`${e.column.getSize()}px`;return(0,F.jsx)(`td`,{className:G.td,style:{width:t,minWidth:t,maxWidth:t},children:Ea(e.column.columnDef.cell,e.getContext())},e.id)})},t.key)}),ie>0&&(0,F.jsx)(`tr`,{"aria-hidden":`true`,style:{height:ie},children:(0,F.jsx)(`td`,{style:{height:ie,padding:0,border:0}})})]})]})})]})}function Ju(e,t,n){let r=new Blob([e],{type:n}),i=URL.createObjectURL(r),a=document.createElement(`a`);a.href=i,a.download=t,a.click(),URL.revokeObjectURL(i)}var Yu={overlay:`_overlay_1e3f5_1`,fadeIn:`_fadeIn_1e3f5_1`,modal:`_modal_1e3f5_18`,modalSlideIn:`_modalSlideIn_1e3f5_1`,modalHeader:`_modalHeader_1e3f5_33`,modalTitle:`_modalTitle_1e3f5_40`,modalClose:`_modalClose_1e3f5_45`,modalBody:`_modalBody_1e3f5_57`,options:`_options_1e3f5_60`,option:`_option_1e3f5_60`,optionIcon:`_optionIcon_1e3f5_84`,optionText:`_optionText_1e3f5_88`,optionLabel:`_optionLabel_1e3f5_89`,optionDesc:`_optionDesc_1e3f5_94`};function Xu({models:e,onClose:t,onToast:n}){return e?(0,F.jsx)(`div`,{className:Yu.overlay,onClick:e=>e.target===e.currentTarget&&t(),children:(0,F.jsxs)(`div`,{className:Yu.modal,children:[(0,F.jsxs)(`div`,{className:Yu.modalHeader,children:[(0,F.jsxs)(`h2`,{className:Yu.modalTitle,children:[(0,F.jsx)(qr,{size:20,stroke:1.5,style:{marginRight:8,verticalAlign:`middle`}}),`Export Data`]}),(0,F.jsx)(`button`,{className:Yu.modalClose,onClick:t,children:`×`})]}),(0,F.jsx)(`div`,{className:Yu.modalBody,children:(0,F.jsxs)(`div`,{className:Yu.options,children:[(0,F.jsxs)(`button`,{className:Yu.option,onClick:()=>{Ju(JSON.stringify(e,null,2),`free-coding-models-export.json`,`application/json`),n?.(`Exported as JSON`,`success`),t()},children:[(0,F.jsx)(`span`,{className:Yu.optionIcon,children:(0,F.jsx)(qn,{size:20,stroke:1.5})}),(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`span`,{className:Yu.optionLabel,children:`Export as JSON`}),(0,F.jsx)(`span`,{className:Yu.optionDesc,children:`Full model data with all metrics`})]})]}),(0,F.jsxs)(`button`,{className:Yu.option,onClick:()=>{let r=[`Rank`,`Tier`,`Model`,`Provider`,`SWE%`,`Context`,`LatestPing`,`AvgPing`,`Stability`,`Verdict`,`Uptime`],i=e.map((e,t)=>[t+1,e.tier,e.label,e.origin,e.sweScore||``,e.ctx||``,e.latestPing||``,e.avg===1/0?``:e.avg,e.stability||``,e.verdict||``,e.uptime||``].join(`,`));Ju([r.join(`,`),...i].join(`
36
- `),`free-coding-models-export.csv`,`text/csv`),n?.(`Exported as CSV`,`success`),t()},children:[(0,F.jsx)(`span`,{className:Yu.optionIcon,children:(0,F.jsx)(pr,{size:20,stroke:1.5})}),(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`span`,{className:Yu.optionLabel,children:`Export as CSV`}),(0,F.jsx)(`span`,{className:Yu.optionDesc,children:`Spreadsheet-compatible format`})]})]}),(0,F.jsxs)(`button`,{className:Yu.option,onClick:async()=>{let r=e.filter(e=>e.status===`up`),i=`free-coding-models Dashboard Export\nTotal: ${e.length} | Online: ${r.length}\n\n`+r.slice(0,20).map((e,t)=>`${t+1}. ${e.label} [${e.tier}] — ${e.avg===1/0?`N/A`:e.avg+`ms`} (${e.origin})`).join(`
37
- `);await navigator.clipboard.writeText(i),n?.(`Copied to clipboard`,`success`),t()},children:[(0,F.jsx)(`span`,{className:Yu.optionIcon,children:(0,F.jsx)(nr,{size:20,stroke:1.5})}),(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`span`,{className:Yu.optionLabel,children:`Copy to Clipboard`}),(0,F.jsx)(`span`,{className:Yu.optionDesc,children:`Copy model summary as text`})]})]})]})})]})}):null}var K={page:`_page_1847y_1`,pageHeader:`_pageHeader_1847y_5`,pageTitle:`_pageTitle_1847y_9`,pageSubtitle:`_pageSubtitle_1847y_15`,loading:`_loading_1847y_30`,featureSection:`_featureSection_1847y_37`,sectionHeading:`_sectionHeading_1847y_44`,featureGrid:`_featureGrid_1847y_52`,featureRow:`_featureRow_1847y_57`,featureLabel:`_featureLabel_1847y_67`,featureTitle:`_featureTitle_1847y_79`,featureDesc:`_featureDesc_1847y_85`,featureActions:`_featureActions_1847y_91`,select:`_select_1847y_96`,toggleSwitch:`_toggleSwitch_1847y_110`,toggleSlider:`_toggleSlider_1847y_122`,smallBtn:`_smallBtn_1847y_148`,notice:`_notice_1847y_166`,testBadge:`_testBadge_1847y_178`,test_ok:`_test_ok_1847y_191`,test_auth_error:`_test_auth_error_1847y_192`,test_rate_limited:`_test_rate_limited_1847y_193`,test_no_callable_model:`_test_no_callable_model_1847y_194`,test_fail:`_test_fail_1847y_195`,test_missing_key:`_test_missing_key_1847y_196`,test_pending:`_test_pending_1847y_197`,testSpinner:`_testSpinner_1847y_199`,spin:`_spin_1847y_1`,toolbar:`_toolbar_1847y_210`,toolbarSearch:`_toolbarSearch_1847y_218`,toolbarActions:`_toolbarActions_1847y_250`,toolbarBtn:`_toolbarBtn_1847y_255`,providers:`_providers_1847y_276`,card:`_card_1847y_282`,cardHeader:`_cardHeader_1847y_295`,cardIcon:`_cardIcon_1847y_308`,cardInfo:`_cardInfo_1847y_320`,cardName:`_cardName_1847y_325`,cardMeta:`_cardMeta_1847y_330`,cardStatus:`_cardStatus_1847y_336`,statusConfigured:`_statusConfigured_1847y_344`,statusMissing:`_statusMissing_1847y_349`,toggleIcon:`_toggleIcon_1847y_354`,toggleIconExpanded:`_toggleIconExpanded_1847y_361`,cardBody:`_cardBody_1847y_365`,cardExpanded:`_cardExpanded_1847y_372`,cardContent:`_cardContent_1847y_377`,keyGroup:`_keyGroup_1847y_381`,keyLabel:`_keyLabel_1847y_385`,keyDisplay:`_keyDisplay_1847y_395`,keyDisplayValue:`_keyDisplayValue_1847y_406`,keyDisplayActions:`_keyDisplayActions_1847y_414`,actionBtn:`_actionBtn_1847y_420`,actionBtnDanger:`_actionBtnDanger_1847y_438`,keyInputRow:`_keyInputRow_1847y_448`,keyInput:`_keyInput_1847y_448`,saveBtn:`_saveBtn_1847y_475`,enabledRow:`_enabledRow_1847y_495`,enabledLabel:`_enabledLabel_1847y_504`},Zu={ok:{labelKey:`settings.test.ok`,icon:Xr,className:`testOk`},auth_error:{labelKey:`settings.test.authError`,icon:Sr,className:`testErr`},rate_limited:{labelKey:`settings.test.rateLimited`,icon:Ir,className:`testWarn`},no_callable_model:{labelKey:`settings.test.noCallableModel`,icon:Sr,className:`testWarn`},fail:{labelKey:`settings.test.failed`,icon:Sr,className:`testErr`},missing_key:{labelKey:`settings.test.missingKey`,icon:Sr,className:`testNeutral`}};function Qu({onToast:e,onOpenChangelog:t,onCheckForUpdate:n}){let{t:r,locale:i,locales:a,setLanguage:o}=hi(),[s,c]=(0,v.useState)(null),[l,u]=(0,v.useState)(``),[d,f]=(0,v.useState)(new Set),[p,m]=(0,v.useState)(new Set),[h,g]=(0,v.useState)({}),[_,y]=(0,v.useState)({}),[b,x]=(0,v.useState)(new Set),[S,C]=(0,v.useState)(null),w=(0,v.useCallback)(async()=>{try{let e=await(await fetch(`/api/config`)).json();c(e)}catch{e?.(r(`settings.loadFailed`),`error`)}},[e,r]);(0,v.useEffect)(()=>{w()},[w]);let T=e=>{f(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},ee=()=>{s&&f(new Set(Object.keys(s.providers)))},E=()=>f(new Set),te=e=>{m(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},D=async t=>{let n=h[t]?.trim();if(!n){e?.(r(`settings.enterApiKey`),`warning`);return}try{let i=await(await fetch(`/api/settings`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({apiKeys:{[t]:n}})})).json();i.success?(e?.(r(`settings.keySavedForProvider`,{provider:t}),`success`),g(e=>({...e,[t]:``})),m(e=>{let n=new Set(e);return n.delete(t),n}),await w(),f(e=>new Set(e).add(t))):e?.(i.error||r(`settings.keySaveFailed`),`error`)}catch{e?.(r(`settings.networkSaveFailed`),`error`)}},O=async t=>{if(confirm(r(`settings.confirmDeleteKey`,{provider:t})))try{let n=await(await fetch(`/api/settings`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({apiKeys:{[t]:``}})})).json();n.success?(e?.(r(`settings.keyRemovedForProvider`,{provider:t}),`info`),m(e=>{let n=new Set(e);return n.delete(t),n}),await w()):e?.(n.error||r(`settings.keyRemoveFailed`),`error`)}catch{e?.(r(`settings.networkDeleteFailed`),`error`)}},ne=async(t,n)=>{try{let i=await(await fetch(`/api/settings`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({providers:{[t]:{enabled:n}}})})).json();i.success?e?.(r(n?`settings.providerEnabled`:`settings.providerDisabled`,{provider:t}),`success`):e?.(i.error||r(`settings.toggleFailed`),`error`)}catch{e?.(r(`settings.networkError`),`error`)}},re=(0,v.useCallback)(async t=>{if(!b.has(t)){x(e=>new Set(e).add(t)),y(e=>({...e,[t]:{outcome:`pending`}}));try{let n=await fetch(`/api/key/${encodeURIComponent(t)}/test`,{method:`POST`}),i=await n.json().catch(()=>({}));if(n.ok){y(e=>({...e,[t]:i}));let n=Zu[i.outcome]||Zu.fail;e?.(r(`settings.keyTestResult`,{provider:t,result:r(n.labelKey),code:i.code?` (HTTP ${i.code})`:``}),i.outcome===`ok`?`success`:`info`)}else y(e=>({...e,[t]:{outcome:`fail`,detail:i.error||`HTTP `+n.status}})),e?.(r(`settings.keyTestError`,{provider:t,error:i.error||n.statusText}),`error`)}catch(n){y(e=>({...e,[t]:{outcome:`fail`,detail:n.message}})),e?.(r(`settings.keyTestError`,{provider:t,error:n.message}),`error`)}finally{x(e=>{let n=new Set(e);return n.delete(t),n})}}},[b,e,r]),ie=(0,v.useCallback)(async(t,n)=>{try{let i=await(await fetch(`/api/settings/feature`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(n===void 0?{feature:t}:{feature:t,value:n})})).json();i.success?(await w(),e?.(r(`settings.settingUpdated`),`success`)):e?.(i.error||r(`settings.featureUpdateFailed`),`error`)}catch{e?.(r(`settings.networkError`),`error`)}},[e,r]),ae=(0,v.useCallback)(async t=>{try{let n=await(await fetch(`/api/shell-env/toggle`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({enabled:t})})).json();n.success?(await w(),e?.(r(n.enabled?`settings.shellExportEnabled`:`settings.shellExportDisabled`),`success`)):e?.(n.error||r(`settings.shellToggleFailed`),`error`)}catch{e?.(r(`settings.networkError`),`error`)}},[e,r]),k=(0,v.useCallback)(async()=>{if(confirm(r(`settings.confirmLegacyCleanup`)))try{let t=await(await fetch(`/api/legacy-cleanup`,{method:`POST`})).json(),n=(t.removedFiles?.length||0)+(t.updatedFiles?.length||0);t.changed?(C(r(`settings.legacyCleanupComplete`,{count:n,errors:t.errors.length})),e?.(r(`settings.legacyCleanupToast`,{count:n}),`success`)):(C(r(`settings.legacyNone`)),e?.(r(`settings.legacyNone`),`info`)),await w()}catch(t){e?.(r(`settings.legacyCleanupFailed`,{error:t.message}),`error`)}},[e,r]),oe=(0,v.useCallback)(()=>{n?.()},[n]);if(!s)return(0,F.jsx)(`div`,{className:K.page,children:(0,F.jsx)(`div`,{className:K.loading,children:r(`settings.loading`)})});let se=Object.entries(s.providers).filter(([,e])=>{if(!l)return!0;let t=l.toLowerCase();return`${e.name} ${e.displayName||``} ${e.billingNote||``}`.toLowerCase().includes(t)}).sort((e,t)=>e[1].name.localeCompare(t[1].name));return(0,F.jsxs)(`div`,{className:K.page,children:[(0,F.jsxs)(`div`,{className:K.pageHeader,children:[(0,F.jsxs)(`h1`,{className:K.pageTitle,children:[(0,F.jsx)(Br,{size:24,stroke:1.5,style:{marginRight:8,verticalAlign:`middle`}}),r(`settings.title`)]}),(0,F.jsxs)(`p`,{className:K.pageSubtitle,children:[r(`settings.subtitle`),` `,(0,F.jsx)(`code`,{children:`~/.free-coding-models.json`})]})]}),s&&(0,F.jsxs)(`section`,{className:K.featureSection,children:[(0,F.jsxs)(`h2`,{className:K.sectionHeading,children:[`⚙️ `,r(`settings.global`)]}),(0,F.jsxs)(`div`,{className:K.featureGrid,children:[(0,F.jsxs)(`div`,{className:K.featureRow,children:[(0,F.jsx)(`div`,{className:K.featureLabel,children:(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`div`,{className:K.featureTitle,children:r(`settings.language`)}),(0,F.jsx)(`div`,{className:K.featureDesc,children:r(`settings.language.description`)})]})}),(0,F.jsx)(`select`,{className:K.select,value:i,onChange:async t=>{await o(t.target.value)?c(e=>e&&{...e,settings:{...e.settings,language:t.target.value}}):e?.(r(`settings.languageSaveFailed`),`error`)},"aria-label":r(`settings.language`),children:a.map(e=>(0,F.jsx)(`option`,{value:e.value,children:r(e.labelKey)},e.value))})]}),(0,F.jsxs)(`div`,{className:K.featureRow,children:[(0,F.jsxs)(`div`,{className:K.featureLabel,children:[(0,F.jsx)(Ur,{size:16,stroke:1.5}),(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`div`,{className:K.featureTitle,children:r(`settings.theme`)}),(0,F.jsx)(`div`,{className:K.featureDesc,children:r(`settings.theme.description`)})]})]}),(0,F.jsxs)(`select`,{className:K.select,value:s.settings?.theme||`auto`,onChange:e=>ie(`theme`,e.target.value),children:[(0,F.jsx)(`option`,{value:`auto`,children:r(`settings.theme.auto`)}),(0,F.jsx)(`option`,{value:`dark`,children:r(`settings.theme.dark`)}),(0,F.jsx)(`option`,{value:`light`,children:r(`settings.theme.light`)})]})]}),(0,F.jsxs)(`div`,{className:K.featureRow,children:[(0,F.jsxs)(`div`,{className:K.featureLabel,children:[(0,F.jsx)(Hr,{size:16,stroke:1.5}),(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`div`,{className:K.featureTitle,children:r(`settings.favoritesPinned`)}),(0,F.jsx)(`div`,{className:K.featureDesc,children:r(`settings.favoritesPinned.description`)})]})]}),(0,F.jsxs)(`label`,{className:K.toggleSwitch,children:[(0,F.jsx)(`input`,{type:`checkbox`,checked:!!s.settings?.favoritesPinnedAndSticky,onChange:e=>ie(`favoritesPinnedAndSticky`,e.target.checked)}),(0,F.jsx)(`span`,{className:K.toggleSlider})]})]}),(0,F.jsxs)(`div`,{className:K.featureRow,children:[(0,F.jsxs)(`div`,{className:K.featureLabel,children:[(0,F.jsx)(Kn,{size:16,stroke:1.5}),(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`div`,{className:K.featureTitle,children:r(`settings.startupSpeedTest`)}),(0,F.jsx)(`div`,{className:K.featureDesc,children:r(`settings.startupSpeedTest.description`)})]})]}),(0,F.jsxs)(`label`,{className:K.toggleSwitch,children:[(0,F.jsx)(`input`,{type:`checkbox`,checked:!!s.settings?.runAiSpeedTestOnStartup,onChange:e=>ie(`runAiSpeedTestOnStartup`,e.target.checked)}),(0,F.jsx)(`span`,{className:K.toggleSlider})]})]}),(0,F.jsxs)(`div`,{className:K.featureRow,children:[(0,F.jsxs)(`div`,{className:K.featureLabel,children:[(0,F.jsx)(er,{size:16,stroke:1.5}),(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`div`,{className:K.featureTitle,children:r(`settings.shellEnv`)}),(0,F.jsx)(`div`,{className:K.featureDesc,children:r(`settings.shellEnv.description`)})]})]}),(0,F.jsxs)(`label`,{className:K.toggleSwitch,children:[(0,F.jsx)(`input`,{type:`checkbox`,checked:!!s.settings?.shellEnvEnabled,onChange:e=>ae(e.target.checked)}),(0,F.jsx)(`span`,{className:K.toggleSlider})]})]}),(0,F.jsxs)(`div`,{className:K.featureRow,children:[(0,F.jsxs)(`div`,{className:K.featureLabel,children:[(0,F.jsx)(cr,{size:16,stroke:1.5}),(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`div`,{className:K.featureTitle,children:r(`settings.checkUpdates`)}),(0,F.jsx)(`div`,{className:K.featureDesc,children:r(`settings.checkUpdates.description`)})]})]}),(0,F.jsxs)(`div`,{className:K.featureActions,children:[(0,F.jsx)(`button`,{className:K.smallBtn,onClick:oe,children:r(`settings.checkNow`)}),(0,F.jsxs)(`button`,{className:K.smallBtn,onClick:()=>t?.(null),children:[(0,F.jsx)(yr,{size:13,stroke:1.5}),` `,r(`nav.changelog`)]})]})]}),(0,F.jsxs)(`div`,{className:K.featureRow,children:[(0,F.jsxs)(`div`,{className:K.featureLabel,children:[(0,F.jsx)(Ir,{size:16,stroke:1.5}),(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`div`,{className:K.featureTitle,children:r(`settings.cleanupLegacy`)}),(0,F.jsx)(`div`,{className:K.featureDesc,children:r(`settings.cleanupLegacy.description`)})]})]}),(0,F.jsx)(`button`,{className:K.smallBtn,onClick:k,children:r(`settings.runCleanup`)})]})]}),S&&(0,F.jsx)(`div`,{className:K.notice,children:S})]}),(0,F.jsxs)(`div`,{className:K.toolbar,children:[(0,F.jsxs)(`div`,{className:K.toolbarSearch,children:[(0,F.jsxs)(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,children:[(0,F.jsx)(`circle`,{cx:`11`,cy:`11`,r:`8`}),(0,F.jsx)(`line`,{x1:`21`,y1:`21`,x2:`16.65`,y2:`16.65`})]}),(0,F.jsx)(`input`,{type:`text`,placeholder:r(`settings.searchProviders`),value:l,onChange:e=>u(e.target.value),autoComplete:`off`})]}),(0,F.jsxs)(`div`,{className:K.toolbarActions,children:[(0,F.jsx)(`button`,{className:K.toolbarBtn,onClick:ee,children:r(`settings.expandAll`)}),(0,F.jsx)(`button`,{className:K.toolbarBtn,onClick:E,children:r(`settings.collapseAll`)})]})]}),(0,F.jsx)(`div`,{className:K.providers,children:se.map(([e,t])=>{let n=d.has(e),i=p.has(e);return(0,F.jsxs)(`div`,{className:`${K.card} ${n?K.cardExpanded:``}`,children:[(0,F.jsxs)(`div`,{className:K.cardHeader,onClick:()=>T(e),children:[(0,F.jsx)(`div`,{className:K.cardIcon,children:(0,F.jsx)(Nr,{size:20,stroke:1.5})}),(0,F.jsxs)(`div`,{className:K.cardInfo,children:[(0,F.jsx)(`div`,{className:K.cardName,children:t.displayName||t.name}),(0,F.jsxs)(`div`,{className:K.cardMeta,children:[r(`settings.providersCount`,{count:t.modelCount}),` · `,e,t.billingNote?` · ${t.billingNote}`:``]})]}),(0,F.jsx)(`span`,{className:`${K.cardStatus} ${t.hasKey?K.statusConfigured:K.statusMissing}`,children:t.hasKey?(0,F.jsxs)(`span`,{style:{display:`flex`,alignItems:`center`,gap:4},children:[(0,F.jsx)(er,{size:14,stroke:1.5}),` `,r(`dashboard.working`)]}):(0,F.jsxs)(`span`,{style:{display:`flex`,alignItems:`center`,gap:4},children:[(0,F.jsx)(Sr,{size:14,stroke:1.5}),` `,r(`filters.health.noKey`)]})}),(0,F.jsx)(`span`,{className:`${K.toggleIcon} ${n?K.toggleIconExpanded:``}`,children:`▼`})]}),(0,F.jsx)(`div`,{className:K.cardBody,children:(0,F.jsxs)(`div`,{className:K.cardContent,children:[t.hasKey&&_[e]&&(0,F.jsx)(`div`,{className:`${K.testBadge} ${K[`test_${_[e].outcome}`]||``}`,children:(()=>{let t=Zu[_[e].outcome]||Zu.fail,n=t.icon;return(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(n,{size:12,stroke:1.5}),(0,F.jsxs)(`span`,{children:[r(`settings.lastTest`),`: `,r(t.labelKey),_[e].code?` (HTTP ${_[e].code})`:``]})]})})()}),t.hasKey&&(0,F.jsxs)(`div`,{className:K.keyGroup,children:[(0,F.jsx)(`label`,{className:K.keyLabel,children:r(`settings.currentApiKey`)}),(0,F.jsxs)(`div`,{className:K.keyDisplay,children:[(0,F.jsx)(`span`,{className:K.keyDisplayValue,children:i?t.maskedKey||`••••••••`:Kt(t.maskedKey||``)}),(0,F.jsxs)(`div`,{className:K.keyDisplayActions,children:[(0,F.jsx)(`button`,{className:K.actionBtn,onClick:()=>te(e),title:r(i?`settings.hideKey`:`settings.revealKey`),"aria-label":r(i?`settings.hideKey`:`settings.revealKey`),children:i?(0,F.jsx)(dr,{size:14,stroke:1.5}):(0,F.jsx)(fr,{size:14,stroke:1.5})}),(0,F.jsxs)(`button`,{className:K.actionBtn,onClick:()=>re(e),disabled:b.has(e),title:r(`settings.testKeyHint`),"aria-label":r(`settings.testKeyForProvider`,{provider:e}),children:[b.has(e)?(0,F.jsx)(`span`,{className:K.testSpinner}):(0,F.jsx)(Kn,{size:14,stroke:1.5}),b.has(e)?r(`settings.testing`):r(`settings.testKey`)]}),(0,F.jsx)(`button`,{className:`${K.actionBtn} ${K.actionBtnDanger}`,onClick:()=>O(e),title:r(`settings.deleteKey`),"aria-label":r(`settings.deleteKey`),children:(0,F.jsx)(Gr,{size:14,stroke:1.5})})]})]})]}),(0,F.jsxs)(`div`,{className:K.keyGroup,children:[(0,F.jsxs)(`label`,{className:K.keyLabel,children:[t.hasKey?r(`settings.updateApiKey`):r(`settings.addApiKey`),t.billingNote?` 💰 ${t.billingNote}`:``]}),(0,F.jsxs)(`div`,{className:K.keyInputRow,children:[(0,F.jsx)(`input`,{type:`password`,className:K.keyInput,placeholder:r(`settings.apiKeyPlaceholder`),"aria-label":r(`settings.apiKeyForProvider`,{provider:e}),value:h[e]||``,onChange:t=>g(n=>({...n,[e]:t.target.value})),autoComplete:`off`}),(0,F.jsx)(`button`,{className:K.saveBtn,onClick:()=>D(e),children:t.hasKey?r(`common.update`):r(`common.save`)})]})]}),(0,F.jsxs)(`div`,{className:K.enabledRow,children:[(0,F.jsx)(`span`,{className:K.enabledLabel,children:r(`settings.providerEnabledLabel`)}),(0,F.jsxs)(`label`,{className:K.toggleSwitch,children:[(0,F.jsx)(`input`,{type:`checkbox`,defaultChecked:t.enabled!==!1,onChange:t=>ne(e,t.target.checked)}),(0,F.jsx)(`span`,{className:K.toggleSlider})]})]})]})})]},e)})})]})}function $u(){let[e,t]=(0,v.useState)(null),[n,r]=(0,v.useState)(!0),i=(0,v.useCallback)(async()=>{r(!0);try{let e=await(await fetch(`/api/router/tokens`)).json();t(ed(e))}catch{t(null)}finally{r(!1)}},[]);return(0,v.useEffect)(()=>{i()},[i]),{data:e,loading:n,refresh:i}}function ed(e){if(!e)return null;let t=e.daily||{},n=e.all_time||{},r=[],i=new Date;for(let e=6;e>=0;e--){let n=new Date(i);n.setDate(n.getDate()-e);let a=n.toISOString().slice(0,10),o=t[a]||{total_tokens:0,requests:0};r.push({date:a,label:n.toLocaleDateString(`en`,{weekday:`short`}),totalTokens:o.total_tokens||0,requests:o.requests||0})}let a={};for(let e of Object.values(t)){let t=e.by_model||{};for(let[e,n]of Object.entries(t))a[e]||(a[e]={total:0,requests:0}),a[e].total+=n.total||0,a[e].requests+=n.requests||0}let o=Object.entries(a).sort((e,t)=>t[1].total-e[1].total).slice(0,10).map(([e,t])=>({key:e,...t})),s={};for(let[e,t]of Object.entries(a)){let n=e.split(`/`)[0];s[n]||(s[n]={total:0,requests:0}),s[n].total+=t.total,s[n].requests+=t.requests}let c=Object.entries(s).sort((e,t)=>t[1].total-e[1].total).slice(0,10).map(([e,t])=>({key:e,...t})),l=t[i.toISOString().slice(0,10)]||{};return{today:{totalTokens:l.total_tokens||0,promptTokens:l.prompt_tokens||0,completionTokens:l.completion_tokens||0,requests:l.requests||0},allTime:{totalTokens:n.total_tokens||0,promptTokens:n.prompt_tokens||0,completionTokens:n.completion_tokens||0,requests:n.requests||0},sevenDays:r,topModels:o,topProviders:c,hasData:n.total_tokens>0||Object.keys(t).length>0}}var q={card:`_card_1m2zx_1`,cardTitle:`_cardTitle_1m2zx_5`,empty:`_empty_1m2zx_14`,summaryGrid:`_summaryGrid_1m2zx_22`,summaryCard:`_summaryCard_1m2zx_29`,summaryLabel:`_summaryLabel_1m2zx_39`,summaryValue:`_summaryValue_1m2zx_47`,summarySub:`_summarySub_1m2zx_53`,chart:`_chart_1m2zx_59`,chartBar:`_chartBar_1m2zx_67`,chartFill:`_chartFill_1m2zx_77`,chartLabel:`_chartLabel_1m2zx_85`,topList:`_topList_1m2zx_92`,topRow:`_topRow_1m2zx_98`,topKey:`_topKey_1m2zx_106`,topVal:`_topVal_1m2zx_115`,topReq:`_topReq_1m2zx_121`};function J(e){return typeof e!=`number`||!Number.isFinite(e)?`0`:e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}K`:String(Math.round(e))}function td(){let{t:e}=hi(),{data:t,loading:n}=$u();if(n)return(0,F.jsxs)(`div`,{className:q.card,children:[(0,F.jsx)(`h3`,{className:q.cardTitle,children:e(`analytics.tokenUsage`)}),(0,F.jsx)(`div`,{className:q.empty,children:e(`analytics.loading`)})]});if(!t||!t.hasData)return(0,F.jsxs)(`div`,{className:q.card,children:[(0,F.jsx)(`h3`,{className:q.cardTitle,children:e(`analytics.tokenUsage`)}),(0,F.jsx)(`div`,{className:q.empty,children:e(`analytics.noTokenData`)})]});let r=Math.max(...t.sevenDays.map(e=>e.totalTokens),1);return(0,F.jsxs)(F.Fragment,{children:[(0,F.jsxs)(`div`,{className:q.summaryGrid,children:[(0,F.jsxs)(`div`,{className:q.summaryCard,children:[(0,F.jsx)(`span`,{className:q.summaryLabel,children:e(`analytics.today`)}),(0,F.jsx)(`span`,{className:q.summaryValue,children:J(t.today.totalTokens)}),(0,F.jsx)(`span`,{className:q.summarySub,children:e(`analytics.requests`,{count:t.today.requests})})]}),(0,F.jsxs)(`div`,{className:q.summaryCard,children:[(0,F.jsx)(`span`,{className:q.summaryLabel,children:e(`analytics.allTime`)}),(0,F.jsx)(`span`,{className:q.summaryValue,children:J(t.allTime.totalTokens)}),(0,F.jsx)(`span`,{className:q.summarySub,children:e(`analytics.requests`,{count:t.allTime.requests})})]})]}),(0,F.jsxs)(`div`,{className:q.card,children:[(0,F.jsx)(`h3`,{className:q.cardTitle,children:e(`analytics.sevenDayUsage`)}),(0,F.jsx)(`div`,{className:q.chart,children:t.sevenDays.map(t=>(0,F.jsxs)(`div`,{className:q.chartBar,children:[(0,F.jsx)(`div`,{className:q.chartFill,style:{height:`${Math.max(2,t.totalTokens/r*100)}%`},title:`${t.date}: ${e(`analytics.tokens`,{count:J(t.totalTokens)})}`}),(0,F.jsx)(`span`,{className:q.chartLabel,children:t.label})]},t.date))})]}),t.topModels.length>0&&(0,F.jsxs)(`div`,{className:q.card,children:[(0,F.jsx)(`h3`,{className:q.cardTitle,children:e(`analytics.topModels`)}),(0,F.jsx)(`div`,{className:q.topList,children:t.topModels.map(t=>(0,F.jsxs)(`div`,{className:q.topRow,children:[(0,F.jsx)(`span`,{className:q.topKey,children:t.key}),(0,F.jsx)(`span`,{className:q.topVal,children:e(`analytics.tokens`,{count:J(t.total)})}),(0,F.jsx)(`span`,{className:q.topReq,children:e(`analytics.requestsShort`,{count:t.requests})})]},t.key))})]}),t.topProviders.length>0&&(0,F.jsxs)(`div`,{className:q.card,children:[(0,F.jsx)(`h3`,{className:q.cardTitle,children:e(`analytics.topProviders`)}),(0,F.jsx)(`div`,{className:q.topList,children:t.topProviders.map(t=>(0,F.jsxs)(`div`,{className:q.topRow,children:[(0,F.jsx)(`span`,{className:q.topKey,children:t.key}),(0,F.jsx)(`span`,{className:q.topVal,children:e(`analytics.tokens`,{count:J(t.total)})}),(0,F.jsx)(`span`,{className:q.topReq,children:e(`analytics.requestsShort`,{count:t.requests})})]},t.key))})]})]})}var Y={page:`_page_1n8f8_1`,pageHeader:`_pageHeader_1n8f8_5`,pageTitle:`_pageTitle_1n8f8_9`,pageSubtitle:`_pageSubtitle_1n8f8_15`,grid:`_grid_1n8f8_21`,card:`_card_1n8f8_27`,cardWide:`_cardWide_1n8f8_36`,cardTitle:`_cardTitle_1n8f8_40`,cardBody:`_cardBody_1n8f8_46`,empty:`_empty_1n8f8_49`,healthItem:`_healthItem_1n8f8_55`,healthName:`_healthName_1n8f8_67`,healthBar:`_healthBar_1n8f8_74`,healthFill:`_healthFill_1n8f8_82`,healthPct:`_healthPct_1n8f8_89`,pctFast:`_pctFast_1n8f8_97`,pctMedium:`_pctMedium_1n8f8_98`,pctSlow:`_pctSlow_1n8f8_99`,leaderItem:`_leaderItem_1n8f8_105`,leaderRank:`_leaderRank_1n8f8_117`,rank1:`_rank1_1n8f8_131`,rank2:`_rank2_1n8f8_132`,rank3:`_rank3_1n8f8_133`,leaderName:`_leaderName_1n8f8_135`,leaderLatency:`_leaderLatency_1n8f8_145`,tierItem:`_tierItem_1n8f8_153`,tierBadge:`_tierBadge_1n8f8_160`,tierBar:`_tierBar_1n8f8_165`,tierFill:`_tierFill_1n8f8_173`,tierCount:`_tierCount_1n8f8_179`};function nd(e,t){return typeof window>`u`||!window.document?.documentElement?t:getComputedStyle(document.documentElement).getPropertyValue(e).trim()||t}var rd={"S+":`--tier-splus`,S:`--tier-s`,"A+":`--tier-aplus`,A:`--tier-a`,"A-":`--tier-aminus`,"B+":`--tier-bplus`,B:`--tier-b`,C:`--tier-c`},id={"S+":`#ffd700`,S:`#ff8c00`,"A+":`#00c8ff`,A:`#3ddc84`,"A-":`#7ecf7e`,"B+":`#a8a8c8`,B:`#808098`,C:`#606078`};function ad(e){return nd(rd[e],id[e])}var od=[`S+`,`S`,`A+`,`A`,`A-`,`B+`,`B`,`C`];function sd({models:e}){let{t}=hi(),n=(0,v.useMemo)(()=>{let t={};return e.forEach(e=>{t[e.origin]||(t[e.origin]={total:0,online:0,key:e.providerKey}),t[e.origin].total++,e.status===`up`&&t[e.origin].online++}),Object.entries(t).sort((e,t)=>t[1].online/t[1].total-e[1].online/e[1].total)},[e]),r=(0,v.useMemo)(()=>[...e.filter(e=>e.status===`up`&&e.avg!==1/0&&e.avg<99e3)].sort((e,t)=>e.avg-t.avg).slice(0,10),[e]),i=(0,v.useMemo)(()=>{let t={};e.forEach(e=>{t[e.tier]=(t[e.tier]||0)+1});let n=Math.max(...Object.values(t),1);return od.map(e=>({tier:e,count:t[e]||0,pct:(t[e]||0)/n*100}))},[e]);return(0,F.jsxs)(`div`,{className:Y.page,children:[(0,F.jsxs)(`div`,{className:Y.pageHeader,children:[(0,F.jsxs)(`h1`,{className:Y.pageTitle,children:[(0,F.jsx)(Rn,{size:24,stroke:1.5,style:{marginRight:8,verticalAlign:`middle`}}),t(`analytics.title`)]}),(0,F.jsx)(`p`,{className:Y.pageSubtitle,children:t(`analytics.subtitle`)})]}),(0,F.jsxs)(`div`,{className:Y.grid,children:[(0,F.jsxs)(`div`,{className:`${Y.card} ${Y.cardWide}`,children:[(0,F.jsx)(`h3`,{className:Y.cardTitle,children:t(`analytics.providerHealth`)}),(0,F.jsx)(`div`,{className:Y.cardBody,children:n.length===0?(0,F.jsx)(`div`,{className:Y.empty,children:t(`analytics.waiting`)}):n.map(([e,t])=>{let n=t.total>0?Math.round(t.online/t.total*100):0,r=n>70?Y.pctFast:n>30?Y.pctMedium:Y.pctSlow;return(0,F.jsxs)(`div`,{className:Y.healthItem,children:[(0,F.jsx)(`span`,{className:Y.healthName,children:e}),(0,F.jsx)(`div`,{className:Y.healthBar,children:(0,F.jsx)(`div`,{className:Y.healthFill,style:{width:`${n}%`}})}),(0,F.jsxs)(`span`,{className:`${Y.healthPct} ${r}`,children:[n,`%`]})]},e)})})]}),(0,F.jsxs)(`div`,{className:Y.card,children:[(0,F.jsxs)(`h3`,{className:Y.cardTitle,style:{display:`flex`,alignItems:`center`,gap:6},children:[(0,F.jsx)(Kr,{size:16,stroke:1.5}),t(`analytics.fastestModels`)]}),(0,F.jsx)(`div`,{className:Y.cardBody,children:r.length===0?(0,F.jsx)(`div`,{className:Y.empty,children:t(`analytics.waitingPings`)}):r.map((e,t)=>{let n=t<3?Y[`rank${t+1}`]:``;return(0,F.jsxs)(`div`,{className:Y.leaderItem,children:[(0,F.jsx)(`div`,{className:`${Y.leaderRank} ${n}`,children:t+1}),(0,F.jsx)(`span`,{className:Y.leaderName,children:e.label}),(0,F.jsxs)(`span`,{className:Y.leaderLatency,children:[e.avg,`ms`]})]},e.modelId)})})]}),(0,F.jsxs)(`div`,{className:Y.card,children:[(0,F.jsx)(`h3`,{className:Y.cardTitle,children:t(`analytics.tierDistribution`)}),(0,F.jsx)(`div`,{className:Y.cardBody,children:i.map(({tier:e,count:t,pct:n})=>(0,F.jsxs)(`div`,{className:Y.tierItem,children:[(0,F.jsx)(`div`,{className:Y.tierBadge,children:(0,F.jsx)(Il,{tier:e})}),(0,F.jsx)(`div`,{className:Y.tierBar,children:(0,F.jsx)(`div`,{className:Y.tierFill,style:{width:`${n}%`,background:ad(e)}})}),(0,F.jsx)(`span`,{className:Y.tierCount,children:t})]},e))})]})]}),(0,F.jsx)(td,{})]})}var cd={nvidia:{name:`NVIDIA NIM`,url:`https://integrate.api.nvidia.com/v1/chat/completions`,quota:`Free · 1000 req/month`,quotaCode:`free`,models:[[`moonshotai/kimi-k3`,`Kimi K3`,`S+`,`76.8%`,`1M`],[`z-ai/glm-5.3-flash`,`GLM-5.3-Flash`,`S+`,`-`,`1M`],[`nvidia/nemotron-3-ultra-550b-a55b`,`Nemotron 3 Ultra`,`S+`,`71.9%`,`1M`],[`poolside/laguna-xs-2.1`,`Laguna XS 2.1`,`S+`,`70.9%`,`262k`],[`meta/muse-glimmer-30b`,`Muse Glimmer 30B`,`B+`,`-`,`128k`],[`mistralai/mistral-nemotron`,`Mistral Nemotron`,`S`,`-`,`128k`],[`nvidia/nemotron-3-super-120b-a12b`,`Nemotron 3 Super`,`S`,`60.5%`,`1M`],[`nvidia/nemotron-3-nano-omni-30b-a3b-reasoning`,`Nemotron 3 Omni`,`A+`,`52.0%`,`262k`],[`nvidia/nemotron-3.5-lightning-30b-a3b`,`Nemotron 3.5 Lightning 30B`,`A+`,`52.8%`,`1M`],[`openai/gpt-oss-20b`,`GPT OSS 20B`,`A+`,`50.3%`,`128k`],[`google/gemma-4-31b-it`,`Gemma 4 31B`,`A+`,`52.0%`,`262k`],[`google/diffusiongemma-26b-a4b-it`,`DiffusionGemma 26B`,`B+`,`-`,`262k`]]},groq:{name:`Groq`,url:`https://api.groq.com/openai/v1/chat/completions`,quota:`Free · ~30-50 RPM per model`,quotaCode:`free`,models:[[`openai/gpt-oss-120b`,`GPT OSS 120B`,`S`,`62.4%`,`131k`],[`openai/gpt-oss-20b`,`GPT OSS 20B`,`A+`,`60.7%`,`131k`],[`qwen/qwen3.8-27b`,`Qwen3.8 27B`,`A+`,`-`,`131k`]]},cerebras:{name:`Cerebras`,url:`https://api.cerebras.ai/v1/chat/completions`,quota:`Free · generous dev tier`,quotaCode:`free`,models:[[`gpt-oss-120b`,`GPT OSS 120B`,`S`,`62.4%`,`65k`],[`qwen-3.8-27b`,`Qwen 3.8 27B`,`A+`,`-`,`64k`]]},googleai:{name:`Google AI`,url:`https://generativelanguage.googleapis.com/v1beta/openai/chat/completions`,quota:`Free · Gemini quotas vary by model`,quotaCode:`free`,models:[[`gemini-3.8-flash`,`Gemini 3.8 Flash`,`S+`,`-`,`1M`],[`gemini-3.7-flash`,`Gemini 3.7 Flash`,`S+`,`-`,`1M`],[`gemini-3.6-flash`,`Gemini 3.6 Flash`,`S+`,`-`,`1M`],[`gemini-3.5-flash`,`Gemini 3.5 Flash`,`S+`,`78.0%`,`1M`],[`gemini-3.5-flash-lite`,`Gemini 3.5 Flash Lite`,`S`,`-`,`1M`],[`gemini-3.1-flash-lite`,`Gemini 3.1 Flash Lite`,`S`,`62.8%`,`1M`],[`gemini-2.5-flash`,`Gemini 2.5 Flash`,`A+`,`54.0%`,`1M`],[`gemini-2.5-flash-lite`,`Gemini 2.5 Flash Lite`,`A`,`42.6%`,`1M`],[`gemini-3-flash-preview`,`Gemini 3 Flash Preview`,`S+`,`78.0%`,`1M`],[`gemini-2.5-pro`,`Gemini 2.5 Pro`,`S`,`63.8%`,`1M`]]},mistral:{name:`Mistral LP`,url:`https://api.mistral.ai/v1/chat/completions`,quota:`Free Experiment plan`,quotaCode:`free`,models:[[`mistral-medium-3-5`,`Mistral Medium 3.5`,`S+`,`77.6%`,`256k`],[`mistral-large-2512`,`Mistral Large 3`,`S+`,`-`,`256k`],[`mistral-small-2603`,`Mistral Small 4`,`A`,`48.0%`,`256k`],[`ministral-14b-2512`,`Ministral 3 14B`,`B+`,`-`,`256k`],[`ministral-8b-2512`,`Ministral 3 8B`,`B`,`-`,`256k`],[`labs-leanstral-1-5`,`Leanstral 1.5`,`B`,`-`,`256k`],[`ministral-3b-2512`,`Ministral 3 3B`,`B`,`-`,`128k`],[`mistral-code-latest`,`Mistral Code`,`A`,`-`,`256k`],[`mistral-code-fim-latest`,`Mistral Code FIM`,`A`,`-`,`256k`]]},cloudflare:{name:`Cloudflare AI`,url:`https://api.cloudflare.com/client/v4/accounts/{$CLOUDFLARE_ACCOUNT_ID}/ai/v1/chat/completions`,quota:`Free · 10k neurons/day`,quotaCode:`limited`,models:[[`@cf/zai-org/glm-4.7-flash`,`GLM-4.7-Flash`,`A+`,`59.2%`,`131k`],[`@cf/openai/gpt-oss-120b`,`GPT OSS 120B`,`S`,`62.4%`,`128k`],[`@cf/nvidia/nemotron-3-120b-a12b`,`Nemotron 3 Super`,`S`,`60.5%`,`256k`],[`@cf/meta/llama-4-scout-17b-16e-instruct`,`Llama 4 Scout`,`B`,`28.0%`,`131k`],[`@cf/qwen/qwen3-30b-a3b-fp8`,`Qwen3 30B MoE`,`B`,`25.2%`,`32k`],[`@cf/qwen/qwen2.5-coder-32b-instruct`,`Qwen2.5 Coder 32B`,`A`,`47.0%`,`32k`],[`@cf/openai/gpt-oss-20b`,`GPT OSS 20B`,`A+`,`50.3%`,`128k`],[`@cf/qwen/qwq-32b`,`QwQ 32B`,`A`,`-`,`24k`],[`@cf/deepseek-ai/deepseek-r1-distill-qwen-32b`,`DeepSeek R1 Distill Qwen 32B`,`A`,`-`,`80k`],[`@cf/meta/llama-3.3-70b-instruct-fp8-fast`,`Llama 3.3 70B`,`B`,`22.0%`,`24k`],[`@cf/google/gemma-4-26b-a4b-it`,`Gemma 4 26B MoE`,`A-`,`38.0%`,`256k`],[`@cf/qwen/qwen3.8-27b`,`Qwen3.8 27B`,`A-`,`-`,`262k`],[`@cf/mistralai/mistral-small-3.1-24b-instruct`,`Mistral Small 3.1`,`B+`,`30.0%`,`128k`],[`@cf/ibm-granite/granite-4.0-h-micro`,`Granite 4.0 Micro`,`B+`,`30.0%`,`131k`],[`@cf/aisingapore/gemma-sea-lion-v4-27b-it`,`Gemma SEA-LION V4 27B`,`B+`,`-`,`128k`]]},openrouter:{name:`OpenRouter`,url:`https://openrouter.ai/api/v1/chat/completions`,quota:`50 free req/day · 1000 with $10 credit`,quotaCode:`limited`,models:[[`nvidia/nemotron-3-ultra-550b-a55b:free`,`Nemotron 3 Ultra`,`S+`,`71.9%`,`1M`],[`poolside/laguna-xs-2.1:free`,`Poolside Laguna XS 2.1`,`S+`,`70.9%`,`262k`],[`poolside/laguna-s-2.1:free`,`Poolside Laguna S 2.1`,`S+`,`-`,`262k`],[`z-ai/glm-5.2:free`,`GLM-5.2`,`S+`,`-`,`32k`],[`cohere/north-mini-code:free`,`North Mini Code`,`S`,`-`,`256k`],[`nvidia/nemotron-3-super-120b-a12b:free`,`Nemotron 3 Super`,`S`,`60.5%`,`262k`],[`qwen/qwen3.8-27b:free`,`Qwen3.8 27B`,`S`,`-`,`262k`],[`nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free`,`Nemotron 3 Omni`,`A+`,`52.0%`,`256k`],[`google/gemma-4-31b-it:free`,`Gemma 4 31B`,`A+`,`52.0%`,`262k`],[`google/gemma-4-26b-a4b-it:free`,`Gemma 4 26B MoE`,`A`,`38.0%`,`262k`],[`nex-agi/nex-n2.5-pro:free`,`Nex AGI Nex-N2.5-Pro`,`A+`,`-`,`262k`],[`liquid/lfm-2.5-2.6b:free`,`LiquidAI LFM2.5-2.6B`,`C`,`-`,`64k`],[`nvidia/nemotron-3.5-lightning:free`,`NVIDIA Nemotron 3.5 Lightning`,`B+`,`-`,`1M`],[`inclusionai/ling-3.0-flash-fin:free`,`Ling 3.0 Flash Fin`,`B+`,`-`,`262k`],[`thinkingmachines/inkling:free`,`Inkling`,`B+`,`-`,`1M`],[`inclusionai/ling-3.0-flash-sante:free`,`Ling 3.0 Flash Sante`,`B+`,`-`,`262k`],[`nex-agi/nex-n2.5-mini:free`,`Nex AGI Nex-N2.5-Mini`,`B+`,`-`,`262k`],[`inclusionai/ling-3.0-flash-vl:free`,`Ling 3.0 Flash VL`,`B+`,`-`,`262k`],[`thinkingmachines/inkling-small:free`,`Inkling Small`,`B`,`-`,`1M`],[`dots-studio/dots-3-note-preview:free`,`Dots 3 Note Preview`,`B`,`-`,`512k`],[`nvidia/nemotron-3.5-content-safety:free`,`Nemotron 3.5 Content Safety`,`C`,`-`,`128k`]]},sambanova:{name:`SambaNova`,url:`https://api.sambanova.ai/v1/chat/completions`,quota:`Small dev tier · light use`,quotaCode:`limited`,models:[[`MiniMax-M2.7`,`MiniMax M2.7`,`S+`,`78.0%`,`196k`],[`MiniMax-M3`,`MiniMax M3`,`S+`,`78.4%`,`1M`],[`DeepSeek-V3.1`,`DeepSeek V3.1`,`S`,`66.0%`,`131k`],[`DeepSeek-V3.2`,`DeepSeek V3.2`,`S+`,`70.0%`,`32k`],[`gpt-oss-120b`,`GPT OSS 120B`,`S`,`62.4%`,`131k`],[`gemma-4-31B-it`,`Gemma 4 31B`,`A+`,`52.0%`,`131k`],[`Meta-Llama-3.3-70B-Instruct`,`Llama 3.3 70B`,`B`,`22.0%`,`131k`]]},ovhcloud:{name:`OVHcloud AI`,url:`https://oai.endpoints.kepler.ai.cloud.ovh.net/v1/chat/completions`,quota:`Free sandbox · 2 RPM no key · 400 RPM with key`,quotaCode:`free`,models:[[`Qwen3.5-397B-A17B`,`Qwen3.5 397B MoE`,`S+`,`76.2%`,`262k`],[`Qwen3.6-27B`,`Qwen3.6 27B`,`S+`,`77.2%`,`262k`],[`gpt-oss-120b`,`GPT OSS 120B`,`S`,`62.4%`,`131k`],[`gpt-oss-20b`,`GPT OSS 20B`,`A+`,`50.3%`,`131k`],[`Meta-Llama-3_3-70B-Instruct`,`Llama 3.3 70B`,`B`,`22.0%`,`131k`],[`Qwen3.5-9B`,`Qwen3.5 9B`,`B+`,`30.0%`,`262k`],[`Qwen2.5-VL-72B-Instruct`,`Qwen2.5-VL 72B`,`S`,`-`,`32k`],[`Qwen3-Embedding-8B`,`Qwen3 Embedding 8B`,`B`,`-`,`32k`],[`bge-m3`,`BGE M3`,`B`,`-`,`8k`],[`bge-multilingual-gemma2`,`BGE Multilingual Gemma2`,`B`,`-`,`8k`],[`Qwen3Guard-Gen-8B`,`Qwen3Guard Gen 8B (moderation, beta)`,`C`,`-`,`32k`],[`Qwen3Guard-Gen-0.6B`,`Qwen3Guard Gen 0.6B (moderation, beta)`,`C`,`-`,`32k`],[`Qwen3.8-27B`,`Qwen3.8 27B`,`A+`,`-`,`262k`]]},codestral:{name:`Codestral`,url:`https://api.mistral.ai/v1/chat/completions`,quota:`Free · 30 req/min, 2000/day`,quotaCode:`free`,models:[[`codestral-2508`,`Codestral`,`A`,`40.0%`,`256k`]]},zai:{name:`ZAI`,url:`https://api.z.ai/api/coding/paas/v4/chat/completions`,quota:`Free · Flash models only`,quotaCode:`free`,models:[[`zai/glm-5.3-flash`,`GLM-5.3-Flash`,`S+`,`-`,`1M`],[`zai/glm-5.3`,`GLM-5.3`,`S+`,`-`,`1M`],[`zai/glm-5`,`GLM-5`,`S+`,`-`,`200k`],[`zai/glm-4.7-flash`,`GLM-4.7-Flash`,`A+`,`59.2%`,`200k`],[`zai/glm-4.5-flash`,`GLM-4.5-Flash`,`S`,`59.2%`,`128k`],[`zai/glm-5-turbo`,`GLM-5-Turbo`,`S`,`-`,`200k`],[`zai/glm-4.7`,`GLM-4.7`,`S+`,`73.8%`,`200k`],[`zai/glm-4.6`,`GLM-4.6`,`S`,`68.0%`,`200k`],[`zai/glm-4.6v-flash`,`GLM-4.6V-Flash`,`A`,`-`,`128k`],[`zai/glm-4.7-flashx`,`GLM-4.7-FlashX`,`A+`,`-`,`200k`]]},scaleway:{name:`Scaleway`,url:`https://api.scaleway.ai/v1/chat/completions`,quota:`1M free tokens`,quotaCode:`limited`,models:[[`glm-5.2`,`GLM 5.2`,`S+`,`82.8%`,`256k`],[`deepseek-v4-flash-0731`,`DeepSeek V4 Flash`,`S+`,`-`,`256k`],[`qwen3.5-397b-a17b`,`Qwen3.5 400B VLM`,`S+`,`76.2%`,`250k`],[`gpt-oss-120b`,`GPT OSS 120B`,`S`,`62.4%`,`128k`],[`mistral-medium-3.5-128b`,`Mistral Medium 3.5 128B`,`S+`,`77.6%`,`180k`],[`qwen3.6-35b-a3b`,`Qwen3.6 35B MoE`,`S+`,`73.4%`,`256k`],[`gemma-4-26b-a4b-it`,`Gemma 4 26B MoE`,`A+`,`-`,`256k`],[`qwen3-235b-a22b-instruct-2507`,`Qwen3 235B`,`A`,`45.2%`,`250k`],[`qwen3.8-27b`,`Qwen3.8 27B`,`A+`,`-`,`256k`],[`llama-3.3-70b-instruct`,`Llama 3.3 70B`,`B`,`22.0%`,`100k`],[`mistral-small-3.2-24b-instruct-2506`,`Mistral Small 3.2`,`B`,`20.0%`,`128k`]]},qwen:{name:`Alibaba DashScope`,url:`https://dashscope-intl.aliyuncs.com/compatible-mode/v1/chat/completions`,quota:`1M tokens/model · 90 days (Singapore)`,quotaCode:`limited`,models:[[`qwen3.7-max`,`Qwen3.7 Max`,`S+`,`80.4%`,`1M`],[`qwen3.6-plus`,`Qwen3.6 Plus`,`S+`,`78.8%`,`1M`],[`qwen3.7-plus`,`Qwen3.7 Plus`,`S+`,`-`,`1M`],[`qwen3.6-max-preview`,`Qwen3.6 Max Preview`,`S+`,`80.9%`,`256k`],[`qwen3.8-max`,`Qwen3.8 Max`,`S+`,`-`,`1M`],[`qwen3.8-2.4t-a95b`,`Qwen3.8 2.4T A95B`,`S+`,`-`,`1M`],[`qwen3.8-max-0902`,`Qwen3.8 Max 0902`,`S+`,`-`,`1M`],[`qwen3.5-plus`,`Qwen3.5 Plus`,`S+`,`80.0%`,`1M`],[`qwen3-coder-plus`,`Qwen3 Coder Plus`,`S`,`69.6%`,`1M`],[`qwen3-coder-next`,`Qwen3 Coder Next`,`S+`,`70.6%`,`256k`],[`qwen3-coder-480b-a35b-instruct`,`Qwen3 Coder 480B`,`S`,`69.6%`,`256k`],[`qwen3.8-27b`,`Qwen3.8 27B`,`S`,`-`,`1M`],[`qwen3.7-flash`,`Qwen3.7 Flash`,`A+`,`-`,`1M`],[`qwen3.6-flash`,`Qwen3.6 Flash`,`A+`,`60.0%`,`1M`],[`qwen3.5-flash`,`Qwen3.5 Flash`,`S`,`64.4%`,`1M`],[`qwen3-coder-flash`,`Qwen3 Coder Flash`,`A+`,`55.0%`,`1M`],[`qwen3-vl-flash`,`Qwen3 VL Flash`,`A+`,`-`,`256k`],[`qwen3-vl-plus`,`Qwen3 VL Plus`,`A+`,`-`,`256k`],[`qwen3-coder-30b-a3b-instruct`,`Qwen3 Coder 30B A3B`,`A+`,`-`,`256k`],[`qwen3.5-397b-a17b`,`Qwen3.5 397B A17B`,`S+`,`76.2%`,`256k`],[`qwen3.5-122b-a10b`,`Qwen3.5 122B A10B`,`S+`,`72.0%`,`256k`],[`qwen3.5-35b-a3b`,`Qwen3.5 35B A3B`,`S`,`69.2%`,`256k`],[`qwen3.8-flash`,`Qwen3.8 Flash`,`A+`,`-`,`1M`],[`qwen3.8-flash-next`,`Qwen3.8 Flash Next`,`A+`,`-`,`256k`],[`qwen3.5-27b`,`Qwen3.5 27B`,`S+`,`72.4%`,`256k`],[`qwen3.5-omni-plus`,`Qwen3.5 Omni Plus`,`B+`,`-`,`32k`],[`qwen3.8-omni-flash`,`Qwen3.8 Omni Flash`,`B+`,`-`,`32k`],[`qwen3.6-27b`,`Qwen3.6 27B`,`B+`,`-`,`256k`],[`qwen3.6-35b-a3b`,`Qwen3.6 35B A3B`,`B+`,`-`,`256k`]]},"opencode-zen":{name:`OpencodeZen`,url:`https://opencode.ai/zen/v1/chat/completions`,quota:`Free · Zen key required`,quotaCode:`free`,models:[[`big-pickle`,`Big Pickle`,`S+`,`72.0%`,`200k`],[`deepseek-v4-flash-free`,`DeepSeek V4 Flash Free`,`S+`,`79.0%`,`200k`],[`mimo-v2.5-free`,`MiMo-V2.5 Free`,`S+`,`-`,`200k`],[`mimo-v2.6-flash-free`,`MiMo-V2.6 Flash Free`,`S+`,`-`,`200k`],[`nemotron-3-ultra-free`,`Nemotron 3 Ultra Free`,`S+`,`71.9%`,`1M`],[`nemotron-3.5-lightning-free`,`Nemotron 3.5 Lightning Free`,`S+`,`-`,`262k`],[`ling-3.0-flash-fin-free`,`Ling 3.0 Flash Fin Free`,`B+`,`-`,`262k`],[`muse-spark-1.2-contributor-free`,`Muse Spark 1.2 Contributor Free`,`A+`,`-`,`1M`],[`muse-spark-1.3-contributor-free`,`Muse Spark 1.3 Contributor Free`,`S+`,`-`,`1M`],[`jev-1.13-free`,`Jev 1.13 Free`,`B+`,`-`,`200k`]],zenOnly:!0},kilo:{name:`Kilo`,url:`https://api.kilo.ai/api/gateway/chat/completions`,quota:`Free · no key needed`,quotaCode:`free`,models:[[`kilo-auto/free`,`Kilo Auto Free`,`A+`,`-`,`256k`],[`thinkingmachines/inkling-small:free`,`Thinking Machines Inkling Small (free)`,`S+`,`80.2%`,`1M`],[`stepfun/step-3.7-flash:free`,`StepFun Step 3.7 Flash (free)`,`A+`,`-`,`262k`],[`poolside/laguna-s-2.1:free`,`Poolside Laguna S 2.1 (free)`,`A+`,`-`,`262k`],[`nvidia/nemotron-3-ultra-550b-a55b:free`,`NVIDIA Nemotron 3 Ultra (free)`,`A+`,`-`,`1M`],[`cohere/north-mini-code:free`,`Cohere North Mini Code (free)`,`A-`,`-`,`256k`],[`nvidia/nemotron-3-super-120b-a12b:free`,`NVIDIA Nemotron 3 Super (free)`,`A-`,`-`,`262k`],[`poolside/laguna-xs-2.1:free`,`Poolside Laguna XS 2.1 (free)`,`B+`,`-`,`262k`],[`nvidia/nemotron-3.5-lightning:free`,`NVIDIA Nemotron 3.5 Lightning (free)`,`B+`,`-`,`1M`],[`dots-studio/dots-3-note-preview:free`,`Dots Studio Dots3-Note Preview (free)`,`B+`,`-`,`512k`],[`openrouter/free`,`OpenRouter Free Models Router`,`B`,`-`,`200k`],[`liquid/lfm-2.5-2.6b:free`,`LFM2.5-2.6B (free)`,`C`,`-`,`64k`],[`z-ai/glm-5.2:free`,`GLM 5.2 (free)`,`B+`,`-`,`32k`],[`inclusionai/ling-3.0-flash-fin:free`,`Ling 3.0 Flash Fin (free)`,`B`,`-`,`262k`],[`inclusionai/ling-3.0-flash-sante:free`,`Ling 3.0 Flash Sante (free)`,`B`,`-`,`262k`],[`inclusionai/ling-3.0-flash-vl:free`,`Ling 3.0 Flash VL (free)`,`B+`,`-`,`262k`],[`nex-agi/nex-n2.5-mini:free`,`Nex AGI Nex-N2.5-Mini (free)`,`B+`,`-`,`262k`],[`nex-agi/nex-n2.5-pro:free`,`Nex AGI Nex-N2.5-Pro (free)`,`A`,`-`,`262k`],[`nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free`,`NVIDIA Nemotron 3 Nano Omni (free)`,`A+`,`-`,`262k`],[`qwen/qwen3.8-27b:free`,`Qwen3.8 27B (free)`,`S`,`-`,`262k`],[`nvidia/nemotron-3.5-content-safety:free`,`NVIDIA Nemotron 3.5 Content Safety (free)`,`C`,`-`,`128k`]],noKeyNeeded:!0},llm7:{name:`LLM7`,url:`https://api.llm7.io/v1/chat/completions`,quota:`Free · no key needed`,quotaCode:`limited`,models:[[`minimax-m2.7`,`MiniMax M2.7`,`S+`,`78.0%`,`180k`],[`GLM-5.3-Flash`,`GLM-5.3 Flash`,`S+`,`-`,`400k`],[`mistral-Nemo-Instruct-2407`,`Mistral Nemo 12B Instruct`,`A-`,`-`,`128k`],[`codestral-latest`,`Codestral Latest`,`A`,`40.0%`,`32k`]],noKeyNeeded:!0},routeway:{name:`Routeway`,url:`https://api.routeway.ai/v1/chat/completions`,quota:`Free :free models only`,quotaCode:`free`,models:[[`deepseek-v4-flash:free`,`DeepSeek V4 Flash`,`S+`,`79.0%`,`42k`],[`minimax-m2.7:free`,`MiniMax M2.7`,`S+`,`78.0%`,`42k`],[`muse-glimmer-30b:free`,`Muse Glimmer 30B`,`B+`,`-`,`131k`]]},novita:{name:`Novita AI`,url:`https://api.novita.ai/openai/v1/chat/completions`,quota:`No zero-price models as of 2026-08-13`,quotaCode:`limited`,models:[[`inclusionai/ling-3.0-flash-fin`,`Ling 3.0 Flash Fin`,`B+`,`-`,`256k`],[`inclusionai/ling-3.0-flash-sante`,`Ling 3.0 Flash Sante`,`B+`,`-`,`256k`],[`inclusionai/ling-3.0-flash-vl`,`Ling 3.0 Flash VL`,`B+`,`-`,`256k`]]},pollinations:{name:`Pollinations AI`,url:`https://gen.pollinations.ai/v1/chat/completions`,quota:`Free · daily Pollen grants · key at enter.pollinations.ai`,quotaCode:`free`,models:[[`laguna`,`Laguna S 2.1`,`S+`,`-`,`1M`],[`glm-5.3`,`Z.ai GLM-5.3`,`S+`,`-`,`1M`],[`kimi`,`Moonshot Kimi K2.6`,`S+`,`80.2%`,`262k`],[`minimax`,`MiniMax M3`,`S+`,`80.5%`,`524k`],[`moonshotai/kimi-k3`,`Moonshot Kimi K3`,`S+`,`76.8%`,`1M`],[`deepseek/deepseek-v4-pro`,`DeepSeek V4 Pro`,`S+`,`-`,`1M`],[`openai/gpt-5.5`,`OpenAI GPT-5.5`,`S+`,`-`,`1M`],[`openai/gpt-6-astra`,`OpenAI GPT-6 Astra`,`S+`,`-`,`1M`],[`z-ai/glm-5.3-flash`,`Z.ai GLM-5.3 Flash`,`S+`,`-`,`1M`],[`anthropic/claude-opus-5`,`Claude Opus 5`,`S+`,`-`,`1M`],[`anthropic/claude-sonnet-5`,`Claude Sonnet 5`,`S`,`-`,`1M`],[`qwen-coder`,`Qwen3 Coder 30B`,`A+`,`51.6%`,`262k`],[`deepseek`,`DeepSeek V4 Flash`,`S+`,`79.0%`,`1M`],[`kimi-code`,`Kimi K2.7 Code`,`S`,`60.4%`,`262k`],[`openai`,`OpenAI GPT-5.4 Nano`,`B+`,`-`,`400k`],[`openai/gpt-5.6-luna`,`OpenAI GPT-5.6 Luna`,`S`,`-`,`1M`],[`deepseek/deepseek-v4.1-flash`,`DeepSeek V4.1 Flash`,`A+`,`-`,`1M`],[`meituan/longcat-2.0`,`LongCat 2.0`,`A`,`-`,`1M`],[`gpt-oss`,`GPT OSS 20B`,`A+`,`50.3%`,`131k`],[`qwen3.7-flash`,`Qwen3.7 Flash`,`A+`,`-`,`1M`],[`nemotron-3.5-lightning`,`Nemotron 3.5 Lightning`,`B+`,`-`,`262k`]]},siliconflow:{name:`SiliconFlow`,url:`https://api.siliconflow.cn/v1/chat/completions`,quota:`Free · 3 models @ $0 · 1000 RPM`,quotaCode:`free`,models:[[`XingChenAGI/Xing4.0-29B`,`Xing4.0 29B`,`A-`,`-`,`262k`],[`tencent/Hunyuan-MT-7B`,`Hunyuan MT 7B`,`C`,`-`,`33k`]]},requesty:{name:`Requesty`,url:`https://router.requesty.ai/v1/chat/completions`,quota:`Free · 200 req/day · no card`,quotaCode:`free`,models:[[`nvidia/nemotron-3-ultra-550b-a55b`,`Nemotron 3 Ultra`,`S+`,`71.9%`,`1M`],[`poolside/laguna-xs.2`,`Laguna XS.2`,`S+`,`70.9%`,`32k`],[`nvidia/nemotron-3-super-120b-a12b`,`Nemotron 3 Super`,`S`,`60.5%`,`1M`],[`poolside/laguna-m.1`,`Laguna M.1`,`S`,`-`,`32k`],[`google/gemma-4-31b-it`,`Gemma 4 31B`,`A+`,`52.0%`,`262k`],[`nvidia/nemotron-3-nano-omni-30b-a3b-reasoning`,`Nemotron 3 Omni`,`A+`,`52.0%`,`131k`],[`nvidia/nemotron-3-nano-30b-a3b`,`Nemotron Nano 30B`,`A-`,`38.8%`,`262k`],[`nvidia/nemotron-3.5-lightning-30b-a3b`,`Nemotron 3.5 Lightning`,`B+`,`-`,`1M`],[`mistral/leanstral-1-5`,`Leanstral 1.5`,`B`,`-`,`262k`],[`novita/inclusionai/ling-3.0-tiny`,`Ling 3.0 Tiny`,`B`,`-`,`262k`],[`nvidia/nemotron-3.5-content-safety`,`Nemotron Content Safety`,`C`,`-`,`131k`],[`nvidia/muse-glimmer-30b`,`Muse Glimmer 30B`,`C`,`-`,`131k`]]},orcarouter:{name:`OrcaRouter`,url:`https://api.orcarouter.ai/v1/chat/completions`,quota:`Free · 3 $-0 models · zero markup`,quotaCode:`free`,models:[[`deepseek/deepseek-v4-flash-free`,`DeepSeek V4 Flash (Free)`,`S+`,`79.0%`,`1M`],[`tencent/hy3-free`,`Tencent Hy3 (Free)`,`S`,`-`,`256k`],[`orcarouter/free`,`OrcaRouter Free (difficulty-routed)`,`S`,`-`,`-`],[`z-ai/glm-5.3-flash-free`,`GLM-5.3 Flash (Free)`,`A+`,`-`,`1M`],[`orcarouter/fusion-mini`,`OrcaRouter Fusion Mini`,`A+`,`-`,`1M`],[`orcarouter/fusion`,`OrcaRouter Fusion`,`S`,`-`,`1M`],[`orcarouter/fusion-flash`,`OrcaRouter Fusion Flash`,`B+`,`-`,`256k`]]},"vercel-gateway":{name:`Vercel AI Gateway`,url:`https://ai-gateway.vercel.sh/v1/chat/completions`,quota:`Free · $5 credits/30 days + $0 models · no card`,quotaCode:`limited`,models:[[`poolside/laguna-s-2.1-free`,`Laguna S 2.1 (Free)`,`S+`,`-`,`256k`],[`inclusionai/ling-3.0-flash-fin-free`,`Ling 3.0 Flash Fin (Free)`,`B+`,`-`,`256k`],[`inclusionai/ling-3.0-flash-sante-free`,`Ling 3.0 Flash Sante (Free)`,`B+`,`-`,`256k`],[`inclusionai/ling-3.0-flash-vl-free`,`Ling 3.0 Flash VL (Free)`,`C`,`-`,`256k`]]},"ollama-cloud":{name:`Ollama Cloud`,url:`https://ollama.com/v1/chat/completions`,quota:`Free plan · session + weekly caps`,quotaCode:`free`,models:[[`nemotron-3-ultra`,`Nemotron 3 Ultra`,`S+`,`71.9%`,`256k`],[`glm-5.1`,`GLM 5.1`,`S+`,`82.8%`,`198k`],[`glm-5.2`,`GLM 5.2`,`S+`,`82.8%`,`976k`],[`minimax-m2.7`,`MiniMax M2.7`,`S+`,`78.0%`,`200k`],[`minimax-m3`,`MiniMax M3`,`S+`,`78.4%`,`512k`],[`kimi-k2.6`,`Kimi K2.6`,`S+`,`80.2%`,`256k`],[`deepseek-v4-flash:0731`,`DeepSeek V4 Flash`,`S+`,`79.0%`,`1M`],[`deepseek-v4-pro:0813`,`DeepSeek V4 Pro`,`S+`,`80.6%`,`1M`],[`glm-5.3`,`GLM 5.3`,`S+`,`-`,`1M`],[`deepseek-v4.1-flash`,`DeepSeek V4.1 Flash`,`S+`,`-`,`1M`],[`kimi-k2.7-code`,`Kimi K2.7 Code`,`S`,`60.4%`,`256k`],[`gpt-oss:120b`,`GPT OSS 120B`,`S`,`62.4%`,`128k`],[`nemotron-3-super`,`Nemotron 3 Super`,`S`,`60.5%`,`256k`],[`kimi-k3`,`Kimi K3`,`S+`,`-`,`1M`],[`glm-5.3-flash`,`GLM 5.3 Flash`,`S`,`-`,`1M`],[`gemma4:31b`,`Gemma 4 31B`,`A+`,`52.0%`,`256k`],[`gpt-oss:20b`,`GPT OSS 20B`,`A+`,`50.3%`,`128k`],[`mistral-large-3:675b`,`Mistral Large 3 675B Cloud`,`A+`,`-`,`256k`],[`qwen3.5:397b`,`Qwen 3.5 Cloud`,`A+`,`-`,`256k`],[`nemotron-3-nano:30b`,`Nemotron 3 Nano 30B`,`A-`,`38.8%`,`1M`]]},onomeo:{name:`onomeo`,url:`https://onomeo.com/v1/chat/completions`,quota:`Daily check-in credits · 12 RPM · 60 req/5h`,quotaCode:`limited`,models:[[`deepseek-v4-flash`,`DeepSeek V4 Flash`,`S+`,`79.0%`,`1M`],[`glm-5.2`,`GLM 5.2`,`S+`,`82.8%`,`1M`],[`gemini-3.1-flash-lite`,`Gemini 3.1 Flash Lite`,`S`,`62.8%`,`1M`],[`@cf/openai/gpt-oss-120b`,`GPT OSS 120B`,`S`,`62.4%`,`128k`],[`nvidia/nemotron-3-super-120b-a12b`,`Nemotron 3 Super`,`S`,`60.5%`,`262k`],[`openai/gpt-oss-20b`,`GPT OSS 20B`,`A+`,`50.3%`,`128k`],[`z-ai/glm-5.3-flash-free`,`GLM-5.3 Flash`,`A+`,`-`,`1M`],[`stepfun/step-3.7-flash:free`,`Step 3.7 Flash`,`A+`,`-`,`256k`],[`codestral-latest`,`Codestral Latest`,`A`,`40.0%`,`256k`]]}},ld=[],ud=new Date().toISOString().split(`T`)[0];for(let[e,t]of Object.entries(cd))if(t&&t.models)for(let n of t.models){let[t,r,i,a,o,s,c]=n;c&&ud>c||ld.push([t,r,i,a,o,e,s||null])}var dd=10,fd=(e=0)=>t=>`\u001B[${t+e}m`,pd=(e=0)=>t=>`\u001B[${38+e};5;${t}m`,md=(e=0)=>(t,n,r)=>`\u001B[${38+e};2;${t};${n};${r}m`,hd={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};Object.keys(hd.modifier);var gd=Object.keys(hd.color),_d=Object.keys(hd.bgColor);[...gd,..._d];function vd(){let e=new Map;for(let[t,n]of Object.entries(hd)){for(let[t,r]of Object.entries(n))hd[t]={open:`\u001B[${r[0]}m`,close:`\u001B[${r[1]}m`},n[t]=hd[t],e.set(r[0],r[1]);Object.defineProperty(hd,t,{value:n,enumerable:!1})}return Object.defineProperty(hd,"codes",{value:e,enumerable:!1}),hd.color.close=`\x1B[39m`,hd.bgColor.close=`\x1B[49m`,hd.color.ansi=fd(),hd.color.ansi256=pd(),hd.color.ansi16m=md(),hd.bgColor.ansi=fd(dd),hd.bgColor.ansi256=pd(dd),hd.bgColor.ansi16m=md(dd),Object.defineProperties(hd,{rgbToAnsi256:{value(e,t,n){return e===t&&t===n?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(t/255*5)+Math.round(n/255*5)},enumerable:!1},hexToRgb:{value(e){let t=/[a-f\d]{6}|[a-f\d]{3}/i.exec(e.toString(16));if(!t)return[0,0,0];let[n]=t;n.length===3&&(n=[...n].map(e=>e+e).join(``));let r=Number.parseInt(n,16);return[r>>16&255,r>>8&255,r&255]},enumerable:!1},hexToAnsi256:{value:e=>hd.rgbToAnsi256(...hd.hexToRgb(e)),enumerable:!1},ansi256ToAnsi:{value(e){if(e<8)return 30+e;if(e<16)return 90+(e-8);let t,n,r;if(e>=232)t=((e-232)*10+8)/255,n=t,r=t;else{e-=16;let i=e%36;t=Math.floor(e/36)/5,n=Math.floor(i/6)/5,r=i%6/5}let i=Math.max(t,n,r)*2;if(i===0)return 30;let a=30+(Math.round(r)<<2|Math.round(n)<<1|Math.round(t));return i===2&&(a+=60),a},enumerable:!1},rgbToAnsi:{value:(e,t,n)=>hd.ansi256ToAnsi(hd.rgbToAnsi256(e,t,n)),enumerable:!1},hexToAnsi:{value:e=>hd.ansi256ToAnsi(hd.hexToAnsi256(e)),enumerable:!1}}),hd}var yd=vd(),bd=(()=>{if(!(`navigator`in globalThis))return 0;if(globalThis.navigator.userAgentData){let e=navigator.userAgentData.brands.find(({brand:e})=>e===`Chromium`);if(e&&e.version>93)return 3}return+!!/\b(Chrome|Chromium)\//.test(globalThis.navigator.userAgent)})(),xd=bd!==0&&{level:bd,hasBasic:!0,has256:bd>=2,has16m:bd>=3},Sd={stdout:xd,stderr:xd};function Cd(e,t,n){let r=e.indexOf(t);if(r===-1)return e;let i=t.length,a=0,o=``;do o+=e.slice(a,r)+t+n,a=r+i,r=e.indexOf(t,a);while(r!==-1);return o+=e.slice(a),o}function wd(e,t,n,r){let i=0,a=``;do{let o=e[r-1]===`\r`;a+=e.slice(i,o?r-1:r)+t+(o?`\r
38
- `:`
39
- `)+n,i=r+1,r=e.indexOf(`
40
- `,i)}while(r!==-1);return a+=e.slice(i),a}var{stdout:Td,stderr:Ed}=Sd,Dd=Symbol(`GENERATOR`),Od=Symbol(`STYLER`),kd=Symbol(`IS_EMPTY`),Ad=[`ansi`,`ansi`,`ansi256`,`ansi16m`],jd=Object.create(null),Md=(e,t={})=>{if(t.level&&!(Number.isInteger(t.level)&&t.level>=0&&t.level<=3))throw Error("The `level` option should be an integer from 0 to 3");let n=Td?Td.level:0;e.level=t.level===void 0?n:t.level},Nd=e=>{let t=(...e)=>e.join(` `);return Md(t,e),Object.setPrototypeOf(t,Pd.prototype),t};function Pd(e){return Nd(e)}Object.setPrototypeOf(Pd.prototype,Function.prototype);for(let[e,t]of Object.entries(yd))jd[e]={get(){let n=Rd(this,Ld(t.open,t.close,this[Od]),this[kd]);return Object.defineProperty(this,e,{value:n}),n}};jd.visible={get(){let e=Rd(this,this[Od],!0);return Object.defineProperty(this,"visible",{value:e}),e}};var Fd=(e,t,n,...r)=>e===`rgb`?t===`ansi16m`?yd[n].ansi16m(...r):t===`ansi256`?yd[n].ansi256(yd.rgbToAnsi256(...r)):yd[n].ansi(yd.rgbToAnsi(...r)):e===`hex`?Fd(`rgb`,t,n,...yd.hexToRgb(...r)):yd[n][e](...r);for(let e of[`rgb`,`hex`,`ansi256`]){jd[e]={get(){let{level:t}=this;return function(...n){let r=Ld(Fd(e,Ad[t],`color`,...n),yd.color.close,this[Od]);return Rd(this,r,this[kd])}}};let t=`bg`+e[0].toUpperCase()+e.slice(1);jd[t]={get(){let{level:t}=this;return function(...n){let r=Ld(Fd(e,Ad[t],`bgColor`,...n),yd.bgColor.close,this[Od]);return Rd(this,r,this[kd])}}}}var Id=Object.defineProperties(()=>{},{...jd,level:{enumerable:!0,get(){return this[Dd].level},set(e){this[Dd].level=e}}}),Ld=(e,t,n)=>{let r,i;return n===void 0?(r=e,i=t):(r=n.openAll+e,i=t+n.closeAll),{open:e,close:t,openAll:r,closeAll:i,parent:n}},Rd=(e,t,n)=>{let r=(...e)=>zd(r,e.length===1?``+e[0]:e.join(` `));return Object.setPrototypeOf(r,Id),r[Dd]=e,r[Od]=t,r[kd]=n,r},zd=(e,t)=>{if(e.level<=0||!t)return e[kd]?``:t;let n=e[Od];if(n===void 0)return t;let{openAll:r,closeAll:i}=n;if(t.includes(`\x1B`))for(;n!==void 0;)t=Cd(t,n.close,n.open),n=n.parent;let a=t.indexOf(`
41
- `);return a!==-1&&(t=wd(t,i,r,a)),r+t+i};Object.defineProperties(Pd.prototype,jd);var Bd=Pd();Pd({level:Ed?Ed.level:0}),Bd.bgRgb(0,0,0),Bd.bgRgb(0,0,0),Bd.bgRgb(0,0,0),Bd.bgRgb(0,0,0);function Vd(e,t){return typeof e==`number`&&Number.isFinite(e)&&e>0?e:t}var Hd=Object.entries(cd).map(([e,t])=>{let n=t?.name||e;return{id:`filter-provider-${e.replace(/[^a-z0-9]+/gi,`-`)}`,label:n,providerKey:e,description:`${n} models`,keywords:[`filter`,`provider`,`origin`,e,n.toLowerCase()]}}),Ud={opencode:`Launch in OpenCode CLI with the selected model.`,"opencode-desktop":`Set model in shared config, then open OpenCode Desktop.`,"opencode-web":`Set model in shared config, then open OpenCode WebUI.`,openclaw:`Set default model in OpenClaw and launch it.`,crush:`Launch Crush with this provider/model pair.`,goose:`Launch Goose and preselect the active model.`,pi:`Launch Pi with model/provider flags.`,aider:`Launch Aider configured on the selected model.`,kilo:`Set model in shared config, then launch Kilo CLI.`,qwen:`Launch Qwen Code using the selected provider model.`,openhands:`Launch OpenHands with the selected model endpoint.`,amp:`Launch Amp with this model as active target.`,hermes:`Launch Hermes Agent with the selected model.`,continue:`Launch Continue CLI with the selected model.`,cline:`Launch Cline CLI with the selected model.`,caveman:`Caveman Code - token-efficient coding agent (launch with Caveman tool only).`,jcode:`Launch jcode coding agent with the selected model.`},Wd=vn.map(e=>{let t=_n[e]||{label:e,emoji:`🧰`};return{id:`action-set-tool-${e}`,label:t.label,toolMode:e,icon:t.emoji,description:Ud[e]||`Set this as the active launch target.`,keywords:[`tool`,`target`,`mode`,e,t.label.toLowerCase()]}}),Gd=[{id:`action-cycle-ping-mode`,label:`Cycle ping mode`,shortcut:`W`,icon:`⚡`,description:`Rotate speed → normal → slow → forced.`,keywords:[`ping`,`mode`,`cycle`,`speed`,`normal`,`slow`,`forced`]},{id:`action-set-ping-speed`,label:`Speed mode (2s)`,pingMode:`speed`,description:`Fast 2s bursts for short live checks.`,keywords:[`ping`,`mode`,`speed`,`2s`,`fast`]},{id:`action-set-ping-normal`,label:`Normal mode (10s)`,pingMode:`normal`,description:`Balanced default cadence for daily use.`,keywords:[`ping`,`mode`,`normal`,`10s`,`default`]},{id:`action-set-ping-slow`,label:`Slow mode (30s)`,pingMode:`slow`,description:`Lower refresh cost when you are mostly idle.`,keywords:[`ping`,`mode`,`slow`,`30s`,`idle`]},{id:`action-set-ping-forced`,label:`Forced mode (4s)`,pingMode:`forced`,description:`Keeps 4s cadence until manually changed.`,keywords:[`ping`,`mode`,`forced`,`4s`,`manual`]}],Kd=[{id:`filters`,label:`Filters`,icon:`🔍`,children:[{id:`filter-tier`,label:`Filter by tier`,icon:`📊`,children:[{id:`filter-tier-all`,label:`All tiers`,tier:null,shortcut:`T`,description:`Show all models`,keywords:[`filter`,`tier`,`all`]},{id:`filter-tier-splus`,label:`S+ tier`,tier:`S+`,description:`Best coding models`,keywords:[`filter`,`tier`,`s+`]},{id:`filter-tier-s`,label:`S tier`,tier:`S`,description:`Excellent models`,keywords:[`filter`,`tier`,`s`]},{id:`filter-tier-aplus`,label:`A+ tier`,tier:`A+`,description:`Very good models`,keywords:[`filter`,`tier`,`a+`]},{id:`filter-tier-a`,label:`A tier`,tier:`A`,description:`Good models`,keywords:[`filter`,`tier`,`a`]},{id:`filter-tier-aminus`,label:`A- tier`,tier:`A-`,description:`Solid models`,keywords:[`filter`,`tier`,`a-`]},{id:`filter-tier-bplus`,label:`B+ tier`,tier:`B+`,description:`Fair models`,keywords:[`filter`,`tier`,`b+`]},{id:`filter-tier-b`,label:`B tier`,tier:`B`,description:`Basic models`,keywords:[`filter`,`tier`,`b`]},{id:`filter-tier-c`,label:`C tier`,tier:`C`,description:`Limited models`,keywords:[`filter`,`tier`,`c`]}]},{id:`filter-provider`,label:`Filter by provider`,icon:`🏢`,children:[{id:`filter-provider-cycle`,label:`Cycle provider`,shortcut:`D`,description:`Switch between providers`,keywords:[`filter`,`provider`,`origin`]},{id:`filter-provider-all`,label:`All providers`,providerKey:null,description:`Show all providers`,keywords:[`filter`,`provider`,`all`]},...Hd]},{id:`filter-model`,label:`Filter by model`,icon:`🤖`,children:[]},{id:`filter-other`,label:`Other filters`,icon:`⚙️`,children:[{id:`filter-configured-toggle`,label:`Show only configured & working`,shortcut:`E`,description:`Show only configured providers that are responding (not noauth/auth error)`,keywords:[`filter`,`configured`,`keys`,`working`,`active`]}]}]},{id:`sort`,label:`Sort`,icon:`📶`,children:[{id:`sort-rank`,label:`Sort by rank`,shortcut:`R`,description:`Rank by SWE score`,keywords:[`sort`,`rank`]},{id:`sort-tier`,label:`Sort by tier`,description:`Group by quality tier`,keywords:[`sort`,`tier`]},{id:`sort-provider`,label:`Sort by provider`,shortcut:`O`,description:`Group by provider`,keywords:[`sort`,`origin`,`provider`]},{id:`sort-model`,label:`Sort by model`,shortcut:`M`,description:`Alphabetical order`,keywords:[`sort`,`model`,`name`]},{id:`sort-latest-ping`,label:`Sort by latest ping`,shortcut:`L`,description:`Recent response time`,keywords:[`sort`,`latest`,`ping`]},{id:`sort-avg-ping`,label:`Sort by avg ping`,shortcut:`A`,description:`Average response time`,keywords:[`sort`,`avg`,`average`,`ping`]},{id:`sort-swe`,label:`Sort by SWE score`,shortcut:`S`,description:`Coding ability score`,keywords:[`sort`,`swe`,`score`]},{id:`sort-ctx`,label:`Sort by context`,shortcut:`C`,description:`Context window size`,keywords:[`sort`,`context`,`ctx`]},{id:`sort-health`,label:`Sort by health`,shortcut:`H`,description:`Current model status`,keywords:[`sort`,`health`,`condition`]},{id:`sort-verdict`,label:`Sort by verdict`,shortcut:`V`,description:`Overall assessment`,keywords:[`sort`,`verdict`]},{id:`sort-stability`,label:`Sort by stability`,shortcut:`B`,description:`Reliability score`,keywords:[`sort`,`stability`]},{id:`sort-uptime`,label:`Sort by uptime`,shortcut:`U`,description:`Success rate`,keywords:[`sort`,`uptime`]}]},{id:`actions`,label:`Actions`,icon:`⚙️`,children:[{id:`action-target-tool`,label:`Target tool`,icon:`🧰`,children:[{id:`action-cycle-tool-mode`,label:`Cycle target tool`,shortcut:`Z`,icon:`🔄`,description:`Rotate through every launcher mode.`,keywords:[`tool`,`mode`,`cycle`,`target`]},...Wd]},{id:`action-ping-mode`,label:`Ping mode`,icon:`📶`,children:Gd},{id:`action-favorites-mode`,label:`Favorites mode`,icon:`⭐`,children:[{id:`action-toggle-favorite-mode`,label:`Toggle favorites mode`,shortcut:`Y`,icon:`⭐`,description:`Switch pinned+sticky ↔ normal list behavior.`,keywords:[`favorite`,`favorites`,`mode`,`toggle`,`y`]},{id:`action-favorites-mode-pinned`,label:`Pinned + always visible`,favoritesPinned:!0,description:`Favorites stay on top and bypass current filters.`,keywords:[`favorite`,`favorites`,`pinned`,`sticky`,`always visible`]},{id:`action-favorites-mode-normal`,label:`Normal rows (starred only)`,favoritesPinned:!1,description:`Favorites keep ⭐ but follow active filters and sort.`,keywords:[`favorite`,`favorites`,`normal`,`sort`,`filter`]},{id:`action-toggle-favorite`,label:`Toggle favorite on selected row`,shortcut:`F`,icon:`⭐`,description:`Star/unstar the highlighted model.`,keywords:[`favorite`,`star`,`toggle`]}]},{id:`action-cycle-theme`,label:`Cycle theme`,shortcut:`G`,icon:`🌗`,description:`Switch dark/light/auto`,keywords:[`theme`,`dark`,`light`,`auto`]},{id:`action-reset-view`,label:`Reset view`,shortcut:`N`,icon:`🔄`,description:`Reset filters and sort`,keywords:[`reset`,`view`,`sort`,`filters`]},{id:`action-probe-failed`,label:`Re-probe Failed Models`,shortcut:`Shift+P`,icon:`🔍`,description:`Re-test only rows showing errors (auth fail / 429 / 404 / timeout) - not the whole list.`,keywords:[`probe`,`failed`,`retry`,`429`,`auth`,`error`,`broken`,`rescan`,`health`]},{id:`action-probe-404`,label:`Probe All Models (404)`,shortcut:`Ctrl+Shift+P`,icon:`🔍`,description:`Test all configured models for 404/410 errors. Auto-hides broken models.`,keywords:[`probe`,`404`,`broken`,`dead`,`health`,`check`,`test`,`verify`,`all`]},{id:`action-toggle-auto-hide-broken`,label:`Toggle Auto-hide Broken Models`,icon:`🚩`,description:`Enable/disable auto-hiding of 404/410 models. Unhides all when disabled.`,keywords:[`auto`,`hide`,`broken`,`404`,`models`,`toggle`,`probe`]}]},{id:`open-settings`,label:`Settings`,shortcut:`P`,icon:`⚙️`,type:`page`,description:`API keys and preferences`,keywords:[`settings`,`config`,`api key`]},{id:`open-help`,label:`Help`,shortcut:`K`,icon:`❓`,type:`page`,description:`Show all shortcuts`,keywords:[`help`,`shortcuts`,`hotkeys`]},{id:`open-changelog`,label:`Changelog`,icon:`📋`,type:`page`,description:`Version history`,keywords:[`changelog`,`release`]},{id:`open-recommend`,label:`Smart recommend`,shortcut:`Q`,icon:`🎯`,type:`page`,description:`Find best model for task`,keywords:[`recommend`,`best model`]},{id:`open-playground`,label:`Playground`,shortcut:`;`,icon:`💬`,type:`page`,description:`Chat with the FCM router`,keywords:[`playground`,`chat`,`try`,`prompt`,`router`]},{id:`open-install-endpoints`,label:`Install endpoints`,icon:`🔌`,type:`page`,description:`Install provider catalogs`,keywords:[`install`,`endpoints`,`providers`]},{id:`open-installed-models`,label:`Installed models`,icon:`🗂️`,type:`page`,description:`View models configured in tools`,keywords:[`installed`,`models`,`configured`,`tools`,`manager`,`goose`,`crush`,`aider`]}];function qd(e=[],t=null){let n=JSON.parse(JSON.stringify(Kd));if(t){let e=Vd(t.settings?.pingInterval,1e4),r=Math.round(e/1e3),i=(n.find(e=>e.id===`actions`)?.children.find(e=>e.id===`action-ping-mode`))?.children.find(e=>e.id===`action-set-ping-normal`);i&&(i.label=`Normal mode (${r}s)`,Array.isArray(i.keywords)&&(i.keywords=i.keywords.filter(e=>!e.endsWith(`s`)),i.keywords.push(`${r}s`)))}let r=n.find(e=>e.id===`filters`)?.children.find(e=>e.id===`filter-model`);if(r&&Array.isArray(e)&&e.length>0){let t=e.filter(e=>!e.hidden&&e.status!==`noauth`).slice(0,20);for(let e of t)r.children.push({id:`filter-model-${e.providerKey}-${e.modelId}`,label:e.label,modelId:e.modelId,providerKey:e.providerKey,keywords:[`filter`,`model`,e.label.toLowerCase(),e.modelId.toLowerCase()]})}let i=e=>e.map(e=>{let t=`palette.command.${e.id}`,n=`palette.description.${e.id}`,r=e.id.startsWith(`filter-provider-`)&&e.id!==`filter-provider-cycle`&&e.id!==`filter-provider-all`,a=r?`palette.description.providerModels`:n;return di(oi(),t)&&(e.label=ui(t)),di(oi(),a)&&(e.description=ui(a,{provider:r?e.description?.replace(/ models$/,``):void 0})),Array.isArray(e.children)&&(e.children=i(e.children)),e});return i(n)}function Jd(e,t=new Set){let n=[];function r(e,i=0){for(let a of e){if(a.type===`page`||a.type===`action`){n.push({...a,type:a.type,depth:0,hasChildren:!1,isExpanded:!1});continue}let e=t.has(a.id),o=Array.isArray(a.children)&&a.children.length>0;o?(n.push({...a,type:i===0?`category`:`subcategory`,depth:i,hasChildren:o,isExpanded:e}),e&&r(a.children,i+1)):n.push({...a,type:`command`,depth:i,hasChildren:!1,isExpanded:!1})}}return r(e),n}function Yd(e=[]){let t=qd(e),n=new Set;function r(e){for(let t of e)n.add(t.id),Array.isArray(t.children)&&r(t.children)}return r(t),Jd(t,n).map(e=>{let t={...e};return e.tier!==void 0&&(t.tierValue=e.tier),t})}function Xd(e,t){let n=(e||``).trim().toLowerCase(),r=(t||``).toLowerCase();if(!n)return{matched:!0,score:0,positions:[]};if(!r)return{matched:!1,score:0,positions:[]};let i=0,a=[];for(let e=0;e<r.length&&i<n.length;e++)n[i]===r[e]&&(a.push(e),i++);if(i!==n.length)return{matched:!1,score:0,positions:[]};let o=n.length*10;for(let e=1;e<a.length;e++)a[e]===a[e-1]+1&&(o+=5);for(let e of a)if(e===0)o+=8;else{let t=r[e-1];(t===` `||t===`:`||t===`-`||t===`/`)&&(o+=6)}return o-=Math.max(0,r.length-n.length),{matched:!0,score:o,positions:a}}function Zd(e,t){let n=(t||``).trim();if(!n)return e;let r=[];for(let t of e){let e=Xd(n,t.label),i=e.score,a=e.positions,o=e.matched;if(!o&&Array.isArray(t.keywords))for(let e of t.keywords){let t=Xd(n,e);if(!t.matched)continue;o=!0;let r=Math.max(1,t.score-7);r>i&&(i=r,a=[])}o&&r.push({...t,score:i,matchPositions:a})}let i=[],a=new Set;for(let e of r)e.type===`command`&&e.matchPositions&&i.find(t=>t.id===e.id)&&a.add(e.parentId);return r.sort((e,t)=>t.score===e.score?e.depth===t.depth?e.label.localeCompare(t.label):e.depth-t.depth:t.score-e.score),r}var Qd={backdrop:`_backdrop_162pr_6`,modal:`_modal_162pr_19`,searchRow:`_searchRow_162pr_31`,searchIcon:`_searchIcon_162pr_38`,input:`_input_162pr_39`,kbd:`_kbd_162pr_49`,list:`_list_162pr_62`,item:`_item_162pr_70`,itemActive:`_itemActive_162pr_82`,itemDisabled:`_itemDisabled_162pr_83`,itemIcon:`_itemIcon_162pr_88`,itemLabel:`_itemLabel_162pr_89`,itemEnter:`_itemEnter_162pr_90`,empty:`_empty_162pr_96`,footer:`_footer_162pr_103`},$d={filter:{icon:`🔍`,labelKey:`palette.section.filter`},sort:{icon:`📶`,labelKey:`palette.section.sort`},action:{icon:`⚙️`,labelKey:`palette.section.action`},page:{icon:`📄`,labelKey:`palette.section.page`},update:{icon:`⬆️`,labelKey:`palette.section.update`},tool:{icon:`🧰`,labelKey:`palette.section.tool`}},ef=[`speed`,`normal`,`slow`,`forced`];function tf(e){let{onCycleTheme:t,onResetView:n,onSetPingMode:r,theme:i,pingMode:a,modelsCount:o,onExport:s,onNavigate:c,t:l}=e;return[{id:`page.help`,section:`page`,label:l(`palette.web.openHelp`),keywords:[`help`,`shortcuts`,`reference`],run:()=>c?.(`help`)},{id:`page.changelog`,section:`page`,label:l(`palette.web.openChangelog`),keywords:[`changelog`,`release`,`history`,`version`],run:()=>c?.(`changelog`)},{id:`page.playground`,section:`page`,label:l(`palette.web.openPlayground`),keywords:[`playground`,`chat`,`try`,`prompt`,`router`],run:()=>c?.(`playground`)},{id:`page.install-endpoints`,section:`page`,label:l(`palette.web.openInstallEndpoints`),keywords:[`install`,`endpoint`,`tool`,`configure`],run:()=>c?.(`install-endpoints`)},{id:`page.installed-models`,section:`page`,label:l(`palette.web.openInstalledModels`),keywords:[`installed`,`models`,`tools`],run:()=>c?.(`installed-models`)},{id:`action.theme.cycle`,section:`action`,label:l(`palette.web.cycleTheme`,{theme:l(`settings.theme.${i}`)}),keywords:[`theme`,`dark`,`light`,`auto`],run:t},{id:`action.reset.view`,section:`action`,label:l(`palette.web.resetView`),keywords:[`reset`,`view`,`clear`,`filters`,`sort`],run:n},{id:`action.ping.speed`,section:`action`,label:l(`palette.web.pingMode`,{mode:l(`palette.command.action-set-ping-speed`)}),keywords:[`ping`,`mode`,`speed`,`fast`,`2s`],run:()=>r?.(`speed`)},{id:`action.ping.normal`,section:`action`,label:l(`palette.web.pingMode`,{mode:l(`palette.command.action-set-ping-normal`)}),keywords:[`ping`,`mode`,`normal`,`10s`,`default`],run:()=>r?.(`normal`)},{id:`action.ping.slow`,section:`action`,label:l(`palette.web.pingMode`,{mode:l(`palette.command.action-set-ping-slow`)}),keywords:[`ping`,`mode`,`slow`,`30s`,`idle`],run:()=>r?.(`slow`)},{id:`action.ping.forced`,section:`action`,label:l(`palette.web.pingMode`,{mode:l(`palette.command.action-set-ping-forced`)}),keywords:[`ping`,`mode`,`forced`,`4s`],run:()=>r?.(`forced`)},{id:`action.export`,section:`action`,label:l(`palette.web.exportModels`),keywords:[`export`,`download`,`json`,`csv`,`clipboard`],run:s}]}function nf({onClose:e,onNavigate:t,onCycleTheme:n,onResetView:r,onSetPingMode:i,onOpenHelp:a,onOpenChangelog:o,onOpenCommandPalette:s,onToast:c,onExport:l,currentView:u,theme:d,pingMode:f,models:p,updateAvailable:m,latestVersion:h,onRunUpdate:g}){let{locale:_,t:y}=hi(),[b,x]=(0,v.useState)(``),[S,C]=(0,v.useState)(0),w=(0,v.useRef)(null),T=(0,v.useRef)(null),ee=(0,v.useMemo)(()=>{let e=Yd(p||[]).map(e=>{let t=`action`;return e.id.startsWith(`filter-`)?t=`filter`:e.id.startsWith(`sort-`)?t=`sort`:e.id.startsWith(`action-`)?t=`action`:e.id.startsWith(`action-set-tool-`)?t=`tool`:(e.id.startsWith(`page-`)||e.id===`open-settings`||e.id===`open-help`||e.id===`open-changelog`)&&(t=`page`),{...e,section:t}}),a=tf({onCycleTheme:n,onResetView:r,onSetPingMode:i,theme:d,pingMode:f,modelsCount:p?.length??0,onExport:l,onNavigate:t,t:y}),o=[];return m&&h&&o.push({id:`action.update.run`,section:`update`,label:`⬆️ ${y(`palette.updateNow`)} — v${h} ${y(`palette.versionAvailable`)}`,keywords:[`update`,`upgrade`,`version`,`install`,`new`],run:()=>g?.()}),[...o,...e,...a]},[_,y,p,d,f,n,r,i,o,a,l,t,m,h,g]),E=(0,v.useMemo)(()=>b.trim()?Zd(ee,b):ee,[ee,b]),te=(0,v.useMemo)(()=>{let e=new Map;for(let t of E)e.has(t.section)||e.set(t.section,[]),e.get(t.section).push(t);return Array.from(e.entries())},[E]),D=(0,v.useMemo)(()=>te.flatMap(([,e])=>e),[te]);(0,v.useEffect)(()=>{w.current?.focus()},[]),(0,v.useEffect)(()=>{S>=D.length&&C(0)},[D,S]),(0,v.useEffect)(()=>{let t=t=>{if(t.key===`Escape`){t.preventDefault(),e();return}if(t.key===`ArrowDown`){t.preventDefault(),C(e=>Math.min(D.length-1,e+1));return}if(t.key===`ArrowUp`){t.preventDefault(),C(e=>Math.max(0,e-1));return}if(t.key===`Enter`){t.preventDefault();let e=D[S];if(!e)return;if(e.disabled){c?.(y(`palette.notAvailable`),`info`);return}O(e)}};return document.addEventListener(`keydown`,t),()=>document.removeEventListener(`keydown`,t)},[D,S,e,c]);let O=(0,v.useCallback)(a=>{let o=a.id;if(o===`open-settings`){t?.(`settings`),e();return}if(o===`open-help`){t?.(`help`),e();return}if(o===`open-changelog`){t?.(`changelog`),e();return}if(o===`open-recommend`){t?.(`recommend`),e();return}if(o===`open-router-dashboard`){t?.(`router`),e();return}if(o===`open-installed-models`){t?.(`installed-models`),e();return}if(o===`open-install-endpoints`){t?.(`install-endpoints`),e();return}if(o===`action-update-now`){g?.(),e();return}if(o===`action-cycle-theme`){n?.(),e();return}if(o===`action-reset-view`){r?.(),e();return}if(o===`action-cycle-ping-mode`){let t=ef.indexOf(f);i?.(ef[(t+1)%ef.length]),e();return}if(o===`action-cycle-tool-mode`){c?.(y(`palette.toolModeNotReady`),`info`),e();return}if(o===`action-toggle-favorite`){c?.(y(`palette.favoriteHint`),`info`),e();return}if(o===`action-toggle-favorite-mode`){c?.(y(`palette.favoriteModeHint`),`info`),e();return}if(o===`action-export`){l?.(),e();return}if(o===`action-benchmark-row`){c?.(y(`palette.benchmarkHint`),`info`),e();return}if(o===`filter-provider-cycle`){c?.(y(`palette.providerFilterHint`),`info`),e();return}if(o.startsWith(`filter-tier-`)){c?.(y(`palette.tierFilterHint`),`info`),e();return}if(o.startsWith(`filter-provider-`)){c?.(y(`palette.providerFilterHint`),`info`),e();return}if(o===`filter-configured-toggle`){c?.(y(`palette.visibilityFilterHint`),`info`),e();return}if(o.startsWith(`sort-`)){c?.(y(`palette.sortHint`),`info`),e();return}if(o===`action-set-ping-speed`){i?.(`speed`),e();return}if(o===`action-set-ping-normal`){i?.(`normal`),e();return}if(o===`action-set-ping-slow`){i?.(`slow`),e();return}if(o===`action-set-ping-forced`){i?.(`forced`),e();return}if(typeof a.run==`function`){a.run(),e();return}c?.(y(`palette.notWired`),`info`),e()},[t,e,c,n,r,i,a,o,g,l,f]);return(0,v.useEffect)(()=>{if(!T.current)return;let e=T.current.querySelector(`[data-cmd-index="${S}"]`);e&&e.scrollIntoView({block:`nearest`})},[S]),(0,F.jsx)(`div`,{className:Qd.backdrop,onClick:e,children:(0,F.jsxs)(`div`,{className:Qd.modal,onClick:e=>e.stopPropagation(),children:[(0,F.jsxs)(`div`,{className:Qd.searchRow,children:[(0,F.jsx)(Rr,{size:16,stroke:1.5,className:Qd.searchIcon}),(0,F.jsx)(`input`,{ref:w,className:Qd.input,placeholder:y(`palette.placeholder`),value:b,onChange:e=>x(e.target.value),autoComplete:`off`}),(0,F.jsxs)(`span`,{className:Qd.kbd,children:[(0,F.jsx)(ar,{size:10,stroke:1.5}),`K`]})]}),(0,F.jsxs)(`div`,{className:Qd.list,ref:T,role:`listbox`,children:[D.length===0&&(0,F.jsx)(`div`,{className:Qd.empty,children:y(`palette.noMatch`)}),te.map(([e,t])=>{let n=$d[e]||{icon:`•`,labelKey:`palette.section.action`};return(0,F.jsxs)(`div`,{className:Qd.section,children:[(0,F.jsxs)(`div`,{className:Qd.sectionHeader,children:[(0,F.jsx)(`span`,{className:Qd.sectionIcon,children:n.icon}),(0,F.jsx)(`span`,{children:y(n.labelKey)})]}),t.map(e=>{let t=D.indexOf(e),n=t===S;return(0,F.jsxs)(`button`,{"data-cmd-index":t,className:`${Qd.item} ${n?Qd.itemActive:``} ${e.disabled?Qd.itemDisabled:``}`,onClick:()=>O(e),onMouseEnter:()=>C(t),role:`option`,"aria-selected":n,"aria-disabled":e.disabled?`true`:void 0,children:[(0,F.jsxs)(`span`,{className:Qd.itemLabel,children:[e.label,e.shortcut&&(0,F.jsx)(`span`,{className:Qd.shortcut,children:e.shortcut})]}),e.description&&(0,F.jsx)(`span`,{className:Qd.itemDesc,children:e.description}),n&&(0,F.jsx)(`span`,{className:Qd.itemEnter,children:`↵`})]},e.id)})]},e)})]}),(0,F.jsxs)(`div`,{className:Qd.footer,children:[(0,F.jsxs)(`span`,{children:[(0,F.jsx)(`kbd`,{children:`↑↓`}),` `,y(`palette.navigate`)]}),(0,F.jsxs)(`span`,{children:[(0,F.jsx)(`kbd`,{children:`↵`}),` `,y(`palette.select`)]}),(0,F.jsxs)(`span`,{children:[(0,F.jsx)(`kbd`,{children:`Esc`}),` `,y(`common.close`).toLowerCase()]}),(0,F.jsxs)(`span`,{className:Qd.footerRight,children:[y(`palette.poweredByTui`),(0,F.jsx)(ur,{size:10,stroke:1.5,style:{marginLeft:4}})]})]})]})})}var rf={backdrop:`_backdrop_1xl3j_6`,modal:`_modal_1xl3j_15`,header:`_header_1xl3j_30`,titleRow:`_titleRow_1xl3j_35`,title:`_title_1xl3j_35`,closeBtn:`_closeBtn_1xl3j_49`,searchBar:`_searchBar_1xl3j_62`,searchIcon:`_searchIcon_1xl3j_77`,searchInput:`_searchInput_1xl3j_78`,note:`_note_1xl3j_89`,body:`_body_1xl3j_105`,section:`_section_1xl3j_111`,sectionTitle:`_sectionTitle_1xl3j_112`,itemList:`_itemList_1xl3j_121`,item:`_item_1xl3j_121`,itemKey:`_itemKey_1xl3j_140`,itemDesc:`_itemDesc_1xl3j_146`,empty:`_empty_1xl3j_151`},af=[{id:`navigation`,icon:`🧭`,titleKey:`help.navigation`,items:[[`navigation.rows`,`↑ / ↓`],[`navigation.details`,`Enter`],[`navigation.close`,`Esc`]]},{id:`filters`,icon:`🔍`,titleKey:`help.filters`,items:[[`filters.tier`,`Tier chip`],[`filters.status`,`Status chip`],[`filters.verdict`,`Verdict chip`],[`filters.health`,`Health chip`],[`filters.visibility`,`Visibility`],[`filters.provider`,`Provider dropdown`],[`filters.text`,`Custom text filter`],[`filters.reset`,`Reset button`]]},{id:`sort`,icon:`📶`,titleKey:`help.sort`,items:[[`sort.columns`,`Click any column header`],[`sort.resize`,`Resizable columns`]]},{id:`favorites`,icon:`⭐`,titleKey:`help.favorites`,items:[[`favorites.row`,`Star button (per row)`],[`favorites.detail`,`Detail panel`],[`favorites.pinned`,`Pinned mode`],[`favorites.shared`,`Shared with TUI`]]},{id:`benchmark`,icon:`🤖`,titleKey:`help.speedTest`,items:[[`benchmark.global`,`Header button`],[`benchmark.single`,`AI Lat. cell`],[`benchmark.detail`,`Detail panel`],[`benchmark.tps`,`TPS column`],[`benchmark.latency`,`Latency column`]]},{id:`tools`,icon:`🧰`,titleKey:`help.toolMode`,items:[[`tools.shipped`,`M3 shipped`]]},{id:`palette`,icon:`⚡`,titleKey:`help.palette`,items:[[`palette.shortcut`,`⌘K / Ctrl+P`],[`palette.search`,`Type to search`],[`palette.execute`,`↑ / ↓ + Enter`],[`palette.close`,`Esc`]]},{id:`theme`,icon:`🌗`,titleKey:`help.theme`,items:[[`theme.cycle`,`Theme button (header)`],[`theme.auto`,`Auto mode`]]},{id:`ping`,icon:`⚡`,titleKey:`help.pingMode`,items:[[`ping.cadence`,`Speed / Normal / Slow / Forced`],[`ping.countdown`,`Next ping countdown`]]},{id:`url`,icon:`🔗`,titleKey:`help.deepLinks`,items:[[`url.filters`,`?tier=S+&sort=verdict&origin=groq&view=dashboard`]]},{id:`cli`,icon:`⌨️`,titleKey:`help.cliParity`,items:[[`cli.storage`,`Same storage`],[`cli.engine`,`Same engine`]]},{id:`how-router-works`,icon:`🌐`,titleKey:`help.routerHow`,items:[[`router.smart`,`Smart router`],[`router.prePrompt`,`Pre-prompt`],[`router.probes`,`Probes`],[`router.breaker`,`Circuit breaker`],[`router.failover`,`Failover order`],[`router.autoHeal`,`Auto-heal`],[`router.rateLimits`,`Rate limits`]]}].map(e=>({...e,items:e.items.map(([e,t])=>({labelKey:`help.item.${e}.label`,descriptionKey:`help.item.${e}.description`,fallbackLabel:t}))}));function of({onClose:e}){let{locale:t,t:n}=hi(),[r,i]=(0,v.useState)(``),a=(0,v.useMemo)(()=>{let e=r.trim().toLowerCase(),t=af.map(e=>({...e,items:e.items.map(e=>({...e,label:n(e.labelKey),description:n(e.descriptionKey)}))}));return e?t.map(t=>({...t,items:t.items.filter(t=>`${t.label} ${t.description} ${t.fallbackLabel}`.toLowerCase().includes(e))})).filter(e=>e.items.length>0):t},[r,t,n]);return(0,F.jsx)(`div`,{className:rf.backdrop,onClick:e,children:(0,F.jsxs)(`div`,{className:rf.modal,onClick:e=>e.stopPropagation(),children:[(0,F.jsxs)(`div`,{className:rf.header,children:[(0,F.jsxs)(`div`,{className:rf.titleRow,children:[(0,F.jsxs)(`h2`,{className:rf.title,children:[`❓ `,n(`help.title`),` · `,n(`help.shortcuts`)]}),(0,F.jsx)(`button`,{className:rf.closeBtn,onClick:e,"aria-label":n(`help.close`),children:(0,F.jsx)(Yr,{size:18,stroke:1.5})})]}),(0,F.jsxs)(`div`,{className:rf.searchBar,children:[(0,F.jsx)(Rr,{size:14,stroke:1.5,className:rf.searchIcon}),(0,F.jsx)(`input`,{className:rf.searchInput,placeholder:n(`help.searchPlaceholder`),value:r,onChange:e=>i(e.target.value),autoFocus:!0})]}),(0,F.jsxs)(`p`,{className:rf.note,children:[n(`help.note`),` `,(0,F.jsx)(`kbd`,{children:`⌘K`}),` / `,(0,F.jsx)(`kbd`,{children:`Ctrl+P`})]})]}),(0,F.jsx)(`div`,{className:rf.body,children:a.length===0?(0,F.jsx)(`div`,{className:rf.empty,children:n(`help.noMatches`,{query:r})}):a.map(e=>(0,F.jsxs)(`section`,{className:rf.section,children:[(0,F.jsxs)(`h3`,{className:rf.sectionTitle,children:[e.icon,` `,n(e.titleKey)]}),(0,F.jsx)(`ul`,{className:rf.itemList,children:e.items.map(e=>(0,F.jsxs)(`li`,{className:rf.item,children:[(0,F.jsx)(`span`,{className:rf.itemKey,children:e.label}),(0,F.jsx)(`span`,{className:rf.itemDesc,children:e.description})]},e.labelKey))})]},e.id))})]})})}function sf(){let[e,t]=(0,v.useState)({}),[n,r]=(0,v.useState)(!0),[i,a]=(0,v.useState)(null),o=(0,v.useCallback)(async()=>{try{let e=await fetch(`/api/changelog`);if(!e.ok)throw Error(`HTTP ${e.status}`);let n=await e.json();t(n?.versions??{}),a(null)}catch(e){a(e.message||`Failed to load changelog`)}finally{r(!1)}},[]);return(0,v.useEffect)(()=>{o()},[o]),{versions:e,sortedVersions:(0,v.useMemo)(()=>Object.keys(e).sort((e,t)=>{let n=e.split(`.`).map(Number),r=t.split(`.`).map(Number);for(let e=0;e<Math.max(n.length,r.length);e++){let t=n[e]||0,i=r[e]||0;if(i!==t)return i-t}return 0}),[e]),getVersion:(0,v.useCallback)(t=>e[t]??null,[e]),loading:n,error:i,refresh:o}}var cf={backdrop:`_backdrop_1vsoi_6`,modal:`_modal_1vsoi_15`,header:`_header_1vsoi_30`,titleRow:`_titleRow_1vsoi_35`,title:`_title_1vsoi_35`,backBtn:`_backBtn_1vsoi_50`,closeBtn:`_closeBtn_1vsoi_67`,body:`_body_1vsoi_81`,indexWrap:`_indexWrap_1vsoi_87`,indexHint:`_indexHint_1vsoi_88`,versionList:`_versionList_1vsoi_94`,versionBtn:`_versionBtn_1vsoi_102`,versionLabel:`_versionLabel_1vsoi_118`,versionSummary:`_versionSummary_1vsoi_124`,details:`_details_1vsoi_129`,section:`_section_1vsoi_130`,sectionTitle:`_sectionTitle_1vsoi_131`,itemList:`_itemList_1vsoi_139`,item:`_item_1vsoi_139`,empty:`_empty_1vsoi_154`},lf=[{key:`added`,icon:`✨`},{key:`fixed`,icon:`🐛`},{key:`changed`,icon:`🔄`},{key:`updated`,icon:`📝`}];function uf({onClose:e,defaultVersion:t=null}){let{t:n}=hi(),{sortedVersions:r,getVersion:i,loading:a,error:o}=sf(),[s,c]=(0,v.useState)(t?`details`:`index`),[l,u]=(0,v.useState)(t),d=e=>{u(e),c(`details`)},f=()=>{u(null),c(`index`)},p=l?i(l):null;return(0,F.jsx)(`div`,{className:cf.backdrop,onClick:e,children:(0,F.jsxs)(`div`,{className:cf.modal,onClick:e=>e.stopPropagation(),children:[(0,F.jsx)(`div`,{className:cf.header,children:(0,F.jsxs)(`div`,{className:cf.titleRow,children:[(0,F.jsx)(`h2`,{className:cf.title,children:s===`index`?`📋 Changelog`:`📋 v${l}`}),s===`details`&&(0,F.jsxs)(`button`,{className:cf.backBtn,onClick:f,title:n(`changelog.backToIndex`),children:[(0,F.jsx)(Hn,{size:14,stroke:1.5}),` `,n(`changelog.index`)]}),(0,F.jsx)(`button`,{className:cf.closeBtn,onClick:e,"aria-label":n(`common.close`),children:(0,F.jsx)(Yr,{size:18,stroke:1.5})})]})}),(0,F.jsxs)(`div`,{className:cf.body,children:[a&&(0,F.jsx)(`div`,{className:cf.empty,children:n(`changelog.loading`)}),o&&!a&&(0,F.jsx)(`div`,{className:cf.empty,children:n(`changelog.failed`,{error:o})}),!a&&!o&&s===`index`&&(0,F.jsxs)(`div`,{className:cf.indexWrap,children:[(0,F.jsx)(`p`,{className:cf.indexHint,children:n(`changelog.versionHint`,{count:r.length})}),(0,F.jsx)(`ul`,{className:cf.versionList,children:r.map(e=>{let t=i(e),r=[];return t?.added?.length&&r.push(`${t.added.length} ${n(`changelog.added`)}`),t?.fixed?.length&&r.push(`${t.fixed.length} ${n(`changelog.fixed`)}`),t?.changed?.length&&r.push(`${t.changed.length} ${n(`changelog.changed`)}`),(0,F.jsx)(`li`,{children:(0,F.jsxs)(`button`,{className:cf.versionBtn,onClick:()=>d(e),children:[(0,F.jsxs)(`span`,{className:cf.versionLabel,children:[`v`,e]}),(0,F.jsx)(`span`,{className:cf.versionSummary,children:r.length>0?r.join(` · `):`—`})]})},e)})})]}),!a&&!o&&s===`details`&&p&&(0,F.jsxs)(`div`,{className:cf.details,children:[lf.map(({key:e,icon:t})=>{let r=p[e];return!r||r.length===0?null:(0,F.jsxs)(`section`,{className:cf.section,children:[(0,F.jsxs)(`h3`,{className:cf.sectionTitle,children:[t,` `,n(`changelog.${e}`)]}),(0,F.jsx)(`ul`,{className:cf.itemList,children:r.map((e,t)=>(0,F.jsx)(`li`,{className:cf.item,children:df(e)},t))})]},e)}),lf.every(({key:e})=>!p[e]?.length)&&(0,F.jsx)(`div`,{className:cf.empty,children:n(`changelog.noReleaseNotes`,{version:l})})]}),!a&&!o&&s===`details`&&!p&&(0,F.jsx)(`div`,{className:cf.empty,children:n(`changelog.noNotes`,{version:l})})]})]})})}function df(e){return e.replace(/\*\*([^*]+)\*\*/g,`$1`).replace(/`([^`]+)`/g,`$1`).trim()}var ff={wrap:`_wrap_10lrt_6`,chip:`_chip_10lrt_11`,checking:`_checking_10lrt_34`,dot:`_dot_10lrt_42`,pulse:`_pulse_10lrt_1`,popover:`_popover_10lrt_54`,popoverHeader:`_popoverHeader_10lrt_67`,popoverTitle:`_popoverTitle_10lrt_74`,popoverClose:`_popoverClose_10lrt_82`,popoverBody:`_popoverBody_10lrt_95`,popoverActions:`_popoverActions_10lrt_107`,primaryAction:`_primaryAction_10lrt_113`,secondaryAction:`_secondaryAction_10lrt_114`};function pf({updateAvailable:e,latestVersion:t,onRunUpdate:n,onOpenChangelog:r,checking:i}){let{t:a}=hi(),[o,s]=(0,v.useState)(!1),c=(0,v.useRef)(null);return(0,v.useEffect)(()=>{if(!o)return;let e=e=>{c.current&&!c.current.contains(e.target)&&s(!1)},t=e=>{e.key===`Escape`&&s(!1)};return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,t)}},[o]),e?(0,F.jsxs)(`div`,{className:ff.wrap,ref:c,children:[(0,F.jsxs)(`button`,{className:ff.chip,onClick:()=>s(e=>!e),title:a(`update.availableTitle`,{version:t}),"aria-expanded":o,"aria-haspopup":`dialog`,children:[(0,F.jsx)(cr,{size:13,stroke:1.5}),(0,F.jsxs)(`span`,{children:[`v`,t]})]}),o&&(0,F.jsxs)(`div`,{className:ff.popover,role:`dialog`,"aria-label":a(`update.available`),children:[(0,F.jsxs)(`div`,{className:ff.popoverHeader,children:[(0,F.jsxs)(`div`,{className:ff.popoverTitle,children:[(0,F.jsx)(cr,{size:14,stroke:1.5}),(0,F.jsx)(`span`,{children:a(`update.available`)})]}),(0,F.jsx)(`button`,{className:ff.popoverClose,onClick:()=>s(!1),"aria-label":a(`common.close`),children:(0,F.jsx)(Yr,{size:14,stroke:1.5})})]}),(0,F.jsx)(`p`,{className:ff.popoverBody,children:a(`update.availableDescription`,{version:t})}),(0,F.jsxs)(`div`,{className:ff.popoverActions,children:[(0,F.jsxs)(`button`,{className:ff.primaryAction,onClick:()=>{s(!1),n?.()},children:[(0,F.jsx)(cr,{size:13,stroke:1.5}),(0,F.jsx)(`span`,{children:a(`update.now`)})]}),(0,F.jsxs)(`button`,{className:ff.secondaryAction,onClick:()=>{s(!1),r?.(t)},children:[(0,F.jsx)(yr,{size:13,stroke:1.5}),(0,F.jsx)(`span`,{children:a(`update.whatsNew`)})]})]})]})]}):i?(0,F.jsx)(`span`,{className:ff.checking,title:a(`update.checking`),children:(0,F.jsx)(`span`,{className:ff.dot})}):null}var mf={quickfix:{label:`Quick Fix`,sweWeight:.2,speedWeight:.5,ctxWeight:.1,stabilityWeight:.2},refactor:{label:`Deep Refactor`,sweWeight:.4,speedWeight:.1,ctxWeight:.3,stabilityWeight:.2},review:{label:`Code Review`,sweWeight:.35,speedWeight:.2,ctxWeight:.25,stabilityWeight:.2},testgen:{label:`Test Generation`,sweWeight:.35,speedWeight:.15,ctxWeight:.2,stabilityWeight:.3}},hf={speed:{label:`Speed`,speedMultiplier:1.5,sweMultiplier:.7},quality:{label:`Quality`,speedMultiplier:.7,sweMultiplier:1.5},balanced:{label:`Balanced`,speedMultiplier:1,sweMultiplier:1}},gf={small:{label:`Small file (<4K)`,minCtx:0,idealCtx:32},medium:{label:`Medium project (<32K)`,minCtx:32,idealCtx:128},large:{label:`Large codebase (>32K)`,minCtx:128,idealCtx:256}};function _f({onToast:e}={}){let[t,n]=(0,v.useState)(!1),[r,i]=(0,v.useState)(0),[a,o]=(0,v.useState)([]),[s,c]=(0,v.useState)(null),l=(0,v.useRef)(null);return(0,v.useEffect)(()=>()=>{l.current&&clearInterval(l.current)},[]),{recommend:(0,v.useCallback)(async t=>{l.current&&clearInterval(l.current),n(!0),i(0),o([]),c(null);let r=Date.now();l.current=setInterval(()=>{let e=Math.min(98,Math.round((Date.now()-r)/1e4*100));i(e)},250);try{await new Promise(e=>setTimeout(e,1e4));let e=await fetch(`/api/recommend`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({answers:t})}),n=await e.json().catch(()=>({}));if(!e.ok)throw Error(n.error||`HTTP ${e.status}`);return o(Array.isArray(n.top3)?n.top3:[]),i(100),{ok:!0,top3:n.top3||[]}}catch(t){return c(t.message),e?.(`Recommend failed: ${t.message}`,`error`),{ok:!1,error:t.message}}finally{l.current&&clearInterval(l.current),l.current=null,n(!1)}},[e]),loading:t,progress:r,results:a,error:s,reset:(0,v.useCallback)(()=>{l.current&&clearInterval(l.current),l.current=null,n(!1),i(0),o([]),c(null)},[])}}var vf={backdrop:`_backdrop_gpeci_2`,modal:`_modal_gpeci_10`,header:`_header_gpeci_25`,footer:`_footer_gpeci_26`,eyebrow:`_eyebrow_gpeci_29`,summary:`_summary_gpeci_30`,muted:`_muted_gpeci_31`,close:`_close_gpeci_32`,secondary:`_secondary_gpeci_33`,body:`_body_gpeci_37`,steps:`_steps_gpeci_38`,options:`_options_gpeci_40`,option:`_option_gpeci_40`,progress:`_progress_gpeci_45`,percent:`_percent_gpeci_47`,results:`_results_gpeci_48`,resultCard:`_resultCard_gpeci_49`,medal:`_medal_gpeci_50`,resultMain:`_resultMain_gpeci_51`,score:`_score_gpeci_55`,error:`_error_gpeci_56`},yf=[{key:`taskType`,titleKey:`recommend.questionTask`,options:mf},{key:`priority`,titleKey:`recommend.questionPriority`,options:hf},{key:`contextBudget`,titleKey:`recommend.questionContext`,options:gf}];function bf({onClose:e,onLaunch:t,onPinAndLaunch:n,toolMode:r,onToast:i}){let{t:a}=hi(),[o,s]=(0,v.useState)(0),[c,l]=(0,v.useState)({taskType:null,priority:null,contextBudget:null}),{recommend:u,loading:d,progress:f,results:p,error:m,reset:h}=_f({onToast:i}),g=yf[o],_=p.length>0,y=(0,v.useMemo)(()=>yf.map(e=>e.options[c[e.key]]?a(`recommend.${e.key}.${c[e.key]}`):null).filter(Boolean).join(` · `),[c]);async function b(e){let t={...c,[g.key]:e};if(l(t),o<yf.length-1){s(o+1);return}await u(t)}function x(){if(_||d){h(),s(0),l({taskType:null,priority:null,contextBudget:null});return}s(e=>Math.max(0,e-1))}return(0,F.jsx)(`div`,{className:vf.backdrop,onClick:e,children:(0,F.jsxs)(`div`,{className:vf.modal,onClick:e=>e.stopPropagation(),children:[(0,F.jsxs)(`header`,{className:vf.header,children:[(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`p`,{className:vf.eyebrow,children:a(`recommend.title`)}),(0,F.jsxs)(`h2`,{children:[(0,F.jsx)(Vr,{size:20}),` `,a(`recommend.findBest`)]}),y&&(0,F.jsx)(`p`,{className:vf.summary,children:y})]}),(0,F.jsx)(`button`,{className:vf.close,onClick:e,"aria-label":a(`common.close`),children:(0,F.jsx)(Yr,{size:18})})]}),!d&&!_&&(0,F.jsxs)(`main`,{className:vf.body,children:[(0,F.jsx)(`div`,{className:vf.steps,children:a(`recommend.questionProgress`,{step:o+1,total:yf.length})}),(0,F.jsx)(`h3`,{children:a(g.titleKey)}),(0,F.jsx)(`div`,{className:vf.options,children:Object.entries(g.options).map(([e,t])=>(0,F.jsxs)(`button`,{className:vf.option,onClick:()=>b(e),children:[(0,F.jsx)(`strong`,{children:a(`recommend.${g.key}.${e}`)}),(0,F.jsx)(`span`,{children:e})]},e))})]}),d&&(0,F.jsxs)(`main`,{className:vf.body,children:[(0,F.jsx)(`h3`,{children:a(`recommend.analyzing`)}),(0,F.jsx)(`p`,{className:vf.muted,children:a(`recommend.analysisHint`)}),(0,F.jsx)(`div`,{className:vf.progress,children:(0,F.jsx)(`span`,{style:{width:`${f}%`}})}),(0,F.jsxs)(`p`,{className:vf.percent,children:[f,`%`]})]}),_&&(0,F.jsxs)(`main`,{className:vf.body,children:[(0,F.jsx)(`h3`,{children:a(`recommend.topThree`)}),(0,F.jsx)(`div`,{className:vf.results,children:p.map((e,t)=>(0,F.jsxs)(`article`,{className:vf.resultCard,children:[(0,F.jsx)(`div`,{className:vf.medal,children:[`🥇`,`🥈`,`🥉`][t]}),(0,F.jsxs)(`div`,{className:vf.resultMain,children:[(0,F.jsx)(`strong`,{children:e.result.label}),(0,F.jsxs)(`span`,{children:[e.result.origin,` · `,e.result.tier,` · `,e.result.ctx]}),(0,F.jsx)(`p`,{children:e.reason})]}),(0,F.jsx)(`div`,{className:vf.score,children:e.score}),(0,F.jsx)(mu,{model:e.result,toolMode:r,onLaunch:()=>n?.(e.result)})]},`${e.result.providerKey}/${e.result.modelId}`))})]}),m&&(0,F.jsx)(`p`,{className:vf.error,children:m}),(0,F.jsxs)(`footer`,{className:vf.footer,children:[(0,F.jsxs)(`button`,{className:vf.secondary,onClick:x,disabled:o===0&&!d&&!_,children:[(0,F.jsx)(Hn,{size:14}),` `,a(_||d?`recommend.restart`:`common.back`)]}),(0,F.jsx)(`button`,{className:vf.secondary,onClick:e,children:a(`common.close`)})]})]})})}var xf={backdrop:`_backdrop_8r8li_2`,modal:`_modal_8r8li_13`,modalWide:`_modalWide_8r8li_14`,header:`_header_8r8li_25`,eyebrow:`_eyebrow_8r8li_40`,close:`_close_8r8li_48`,body:`_body_8r8li_61`,command:`_command_8r8li_62`,note:`_note_8r8li_72`,muted:`_muted_8r8li_73`,docs:`_docs_8r8li_74`,error:`_error_8r8li_75`,footer:`_footer_8r8li_76`,primary:`_primary_8r8li_83`,secondary:`_secondary_8r8li_84`,option:`_option_8r8li_85`,grid:`_grid_8r8li_103`,card:`_card_8r8li_104`,stack:`_stack_8r8li_111`};function Sf({request:e,models:t=[],onClose:n,onSwitchToolLaunch:r,onLaunchSimilar:i}){if(!e?.model)return null;let{model:a,toolMode:o}=e,s=yn(o),c=xn(a.providerKey),l=Cn(a.sweScore,o,t,3).filter(e=>e.modelId!==a.modelId||e.providerKey!==a.providerKey);return(0,F.jsx)(`div`,{className:xf.backdrop,onClick:n,children:(0,F.jsxs)(`div`,{className:xf.modalWide,onClick:e=>e.stopPropagation(),children:[(0,F.jsxs)(`div`,{className:xf.header,children:[(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`p`,{className:xf.eyebrow,children:`Incompatible model`}),(0,F.jsxs)(`h2`,{children:[(0,F.jsx)(Bn,{size:18}),` `,a.label,` cannot be installed in `,s.emoji,` `,s.label]})]}),(0,F.jsx)(`button`,{className:xf.close,onClick:n,"aria-label":`Close`,children:(0,F.jsx)(Yr,{size:18})})]}),(0,F.jsxs)(`div`,{className:xf.grid,children:[(0,F.jsxs)(`section`,{className:xf.card,children:[(0,F.jsxs)(`h3`,{children:[(0,F.jsx)(Wr,{size:15}),` Switch tool`]}),(0,F.jsx)(`p`,{className:xf.muted,children:`This provider can be configured in these tools. Pick one and FCM installs the endpoint.`}),(0,F.jsx)(`div`,{className:xf.stack,children:c.map(e=>{let t=yn(e);return(0,F.jsxs)(`button`,{className:xf.option,onClick:()=>r?.(e,a),children:[(0,F.jsx)(`span`,{children:t.emoji}),(0,F.jsx)(`strong`,{children:t.label})]},e)})})]}),(0,F.jsxs)(`section`,{className:xf.card,children:[(0,F.jsxs)(`h3`,{children:[(0,F.jsx)(Mr,{size:15}),` Similar models`]}),(0,F.jsxs)(`p`,{className:xf.muted,children:[`Or keep `,s.label,` and install a compatible model close to the same SWE score.`]}),(0,F.jsxs)(`div`,{className:xf.stack,children:[l.length===0&&(0,F.jsx)(`p`,{className:xf.muted,children:`No close compatible alternative found yet.`}),l.map(e=>(0,F.jsxs)(`button`,{className:xf.option,onClick:()=>i?.(e),children:[(0,F.jsx)(`span`,{children:e.tier}),(0,F.jsx)(`strong`,{children:e.label}),(0,F.jsxs)(`small`,{children:[e.providerKey,` · `,e.sweScore]})]},`${e.providerKey}/${e.modelId}`))]})]})]})]})})}var X={overlay:`_overlay_xiv7v_1`,modal:`_modal_xiv7v_10`,header:`_header_xiv7v_24`,title:`_title_xiv7v_32`,closeBtn:`_closeBtn_xiv7v_42`,body:`_body_xiv7v_53`,heroCard:`_heroCard_xiv7v_60`,heroRunning:`_heroRunning_xiv7v_69`,heroStopped:`_heroStopped_xiv7v_74`,heroLeft:`_heroLeft_xiv7v_79`,heroStatus:`_heroStatus_xiv7v_85`,statusDot:`_statusDot_xiv7v_91`,dotGreen:`_dotGreen_xiv7v_98`,dotGray:`_dotGray_xiv7v_103`,heroLabel:`_heroLabel_xiv7v_107`,heroMeta:`_heroMeta_xiv7v_113`,heroActions:`_heroActions_xiv7v_121`,startBtn:`_startBtn_xiv7v_127`,startBtnBig:`_startBtnBig_xiv7v_144`,stopBtn:`_stopBtn_xiv7v_150`,refreshBtn:`_refreshBtn_xiv7v_166`,quickSetup:`_quickSetup_xiv7v_181`,quickSetupHero:`_quickSetupHero_xiv7v_186`,copyAllBtn:`_copyAllBtn_xiv7v_195`,sectionTitle:`_sectionTitle_xiv7v_212`,quickRows:`_quickRows_xiv7v_224`,quickRow:`_quickRow_xiv7v_224`,quickLabel:`_quickLabel_xiv7v_240`,quickValue:`_quickValue_xiv7v_248`,copyBtn:`_copyBtn_xiv7v_258`,section:`_section_xiv7v_212`,probeModes:`_probeModes_xiv7v_273`,probeBtn:`_probeBtn_xiv7v_278`,probeActive:`_probeActive_xiv7v_290`,modelList:`_modelList_xiv7v_298`,modelRow:`_modelRow_xiv7v_304`,modelPriority:`_modelPriority_xiv7v_314`,modelName:`_modelName_xiv7v_320`,modelScore:`_modelScore_xiv7v_329`,modelLatency:`_modelLatency_xiv7v_335`,circuitBadge:`_circuitBadge_xiv7v_341`,circuitClosed:`_circuitClosed_xiv7v_352`,circuitOpen:`_circuitOpen_xiv7v_353`,circuitHalfOpen:`_circuitHalfOpen_xiv7v_354`,circuitAuth:`_circuitAuth_xiv7v_355`,circuitUnknown:`_circuitUnknown_xiv7v_356`,pulse:`_pulse_xiv7v_358`,activeList:`_activeList_xiv7v_369`,activeRow:`_activeRow_xiv7v_376`,activeMain:`_activeMain_xiv7v_383`,activeModel:`_activeModel_xiv7v_390`,activeId:`_activeId_xiv7v_399`,activeStatus:`_activeStatus_xiv7v_409`,processingText:`_processingText_xiv7v_413`,stalledText:`_stalledText_xiv7v_418`,flash:`_flash_xiv7v_1`,activeDetails:`_activeDetails_xiv7v_430`,activeCurrentModel:`_activeCurrentModel_xiv7v_437`,activeTokens:`_activeTokens_xiv7v_441`,logList:`_logList_xiv7v_448`,logRow:`_logRow_xiv7v_454`,logTime:`_logTime_xiv7v_463`,logId:`_logId_xiv7v_464`,logOk:`_logOk_xiv7v_474`,logErr:`_logErr_xiv7v_475`,logModel:`_logModel_xiv7v_476`,logLatency:`_logLatency_xiv7v_477`,logTokens:`_logTokens_xiv7v_478`,logDetail:`_logDetail_xiv7v_479`,logFailover:`_logFailover_xiv7v_488`,logEmpty:`_logEmpty_xiv7v_497`,setMeta:`_setMeta_xiv7v_514`,setMetaName:`_setMetaName_xiv7v_523`,setActions:`_setActions_xiv7v_529`,smallBtn:`_smallBtn_xiv7v_535`,primaryBtn:`_primaryBtn_xiv7v_552`,setList:`_setList_xiv7v_569`,setEmpty:`_setEmpty_xiv7v_576`,setEmptyTitle:`_setEmptyTitle_xiv7v_586`,setEmptyHint:`_setEmptyHint_xiv7v_593`,setRow:`_setRow_xiv7v_603`,setRowDragging:`_setRowDragging_xiv7v_622`,setRowDropTarget:`_setRowDropTarget_xiv7v_628`,setRowDropTargetAbove:`_setRowDropTargetAbove_xiv7v_633`,setRowDropTargetBelow:`_setRowDropTargetBelow_xiv7v_637`,setDragHandle:`_setDragHandle_xiv7v_641`,setPriority:`_setPriority_xiv7v_652`,setKey:`_setKey_xiv7v_661`,setTier:`_setTier_xiv7v_671`,setPriorityPrimary:`_setPriorityPrimary_xiv7v_686`,setPriorityFallback:`_setPriorityFallback_xiv7v_698`,setRowNext:`_setRowNext_xiv7v_706`,priorityLegend:`_priorityLegend_xiv7v_713`,legendPrimary:`_legendPrimary_xiv7v_727`,legendFallback:`_legendFallback_xiv7v_735`,legendSeparator:`_legendSeparator_xiv7v_740`,legendNext:`_legendNext_xiv7v_745`,setRowBtns:`_setRowBtns_xiv7v_756`,iconBtn:`_iconBtn_xiv7v_761`,removeBtn:`_removeBtn_xiv7v_775`,pickerPanel:`_pickerPanel_xiv7v_778`,pickerHeader:`_pickerHeader_xiv7v_789`,pickerSearch:`_pickerSearch_xiv7v_798`,pickerInput:`_pickerInput_xiv7v_803`,pickerSelect:`_pickerSelect_xiv7v_816`,pickerList:`_pickerList_xiv7v_829`,pickerItem:`_pickerItem_xiv7v_837`,pickerItemAdded:`_pickerItemAdded_xiv7v_850`,pickerProvider:`_pickerProvider_xiv7v_856`,pickerModel:`_pickerModel_xiv7v_861`,pickerBadge:`_pickerBadge_xiv7v_868`,pickerBadgeOk:`_pickerBadgeOk_xiv7v_878`,pickerEmpty:`_pickerEmpty_xiv7v_883`,saveStatus:`_saveStatus_xiv7v_890`,saveStatusOk:`_saveStatusOk_xiv7v_900`,saveStatusErr:`_saveStatusErr_xiv7v_901`,autoHealBanner:`_autoHealBanner_xiv7v_905`,autoHealLeft:`_autoHealLeft_xiv7v_917`,autoHealIcon:`_autoHealIcon_xiv7v_925`,autoHealTitle:`_autoHealTitle_xiv7v_932`,autoHealHint:`_autoHealHint_xiv7v_939`,autoHealActions:`_autoHealActions_xiv7v_949`,probeBtnActive:`_probeBtnActive_xiv7v_961`,probeProgress:`_probeProgress_xiv7v_968`,probeProgressLabel:`_probeProgressLabel_xiv7v_979`,probeProgressCount:`_probeProgressCount_xiv7v_988`,probeProgressBar:`_probeProgressBar_xiv7v_995`,probeProgressFill:`_probeProgressFill_xiv7v_1002`,aiLatencyCell:`_aiLatencyCell_xiv7v_1013`,aiLatencyMs:`_aiLatencyMs_xiv7v_1023`,aiLatencyTps:`_aiLatencyTps_xiv7v_1028`,aiLatencySpin:`_aiLatencySpin_xiv7v_1033`,probeSpin:`_probeSpin_xiv7v_1`,aiLatencyErr:`_aiLatencyErr_xiv7v_1045`,aiLatencyNone:`_aiLatencyNone_xiv7v_1050`,miniPgHint:`_miniPgHint_xiv7v_1059`,miniPg:`_miniPg_xiv7v_1059`,miniPgEmpty:`_miniPgEmpty_xiv7v_1085`,miniPgMsg:`_miniPgMsg_xiv7v_1092`,miniPgUser:`_miniPgUser_xiv7v_1099`,miniPgAssistant:`_miniPgAssistant_xiv7v_1104`,miniPgBubble:`_miniPgBubble_xiv7v_1109`,miniPgTyping:`_miniPgTyping_xiv7v_1131`,miniPgError:`_miniPgError_xiv7v_1137`,miniPgAborted:`_miniPgAborted_xiv7v_1144`,miniPgTarget:`_miniPgTarget_xiv7v_1156`,miniPgRouted:`_miniPgRouted_xiv7v_1154`,miniPgInputRow:`_miniPgInputRow_xiv7v_1183`,miniPgInput:`_miniPgInput_xiv7v_1183`,miniPgSendBtn:`_miniPgSendBtn_xiv7v_1210`,miniPgStopBtn:`_miniPgStopBtn_xiv7v_1211`,quotaGrid:`_quotaGrid_xiv7v_1240`,quotaCell:`_quotaCell_xiv7v_1247`,quotaSource:`_quotaSource_xiv7v_1258`,quotaName:`_quotaName_xiv7v_1263`,quotaBar:`_quotaBar_xiv7v_1271`,quotaFill:`_quotaFill_xiv7v_1279`,quotaPct:`_quotaPct_xiv7v_1284`,fadeIn:`_fadeIn_xiv7v_1`};function Cf(e){if(!e||e<=0)return`—`;let t=Math.floor(e/3600),n=Math.floor(e%3600/60),r=e%60;return t>0?`${t}h ${n}m`:n>0?`${n}m ${r}s`:`${r}s`}function wf(e){if(!e)return`—`;try{return new Date(e).toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`,second:`2-digit`,hour12:!1})}catch{return`—`}}function Tf(e){return typeof e!=`number`||!Number.isFinite(e)?`0`:e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}K`:String(e)}var Ef={CLOSED:{labelKey:`router.circuit.healthy`,cls:`circuitClosed`},OPEN:{labelKey:`router.circuit.down`,cls:`circuitOpen`},HALF_OPEN:{labelKey:`router.circuit.recovering`,cls:`circuitHalfOpen`},AUTH_ERROR:{labelKey:`router.circuit.authError`,cls:`circuitAuth`},STALE:{labelKey:`router.circuit.deprecated`,cls:`circuitUnknown`},UNSUPPORTED:{labelKey:`router.circuit.unsupported`,cls:`circuitUnknown`},UNKNOWN:{labelKey:`router.circuit.unknown`,cls:`circuitUnknown`}};function Df({state:e}){let{t}=hi(),n=Ef[e]||Ef.UNKNOWN;return(0,F.jsx)(`span`,{className:`${X.circuitBadge} ${X[n.cls]}`,children:t(n.labelKey)})}var Of={kind:`idle`},kf={kind:`saving`},Af={kind:`saved`},jf=e=>({kind:`error`,message:e});function Mf({onClose:e,onToast:t,favorites:n}){let{t:r}=hi(),[i,a]=(0,v.useState)(null),[o,s]=(0,v.useState)(null),[c,l]=(0,v.useState)(null),[u,d]=(0,v.useState)(!1),[f,p]=(0,v.useState)(!1),[m,h]=(0,v.useState)(null),[g,_]=(0,v.useState)(!1),[y,b]=(0,v.useState)({activeSet:null,sets:{}}),[x,S]=(0,v.useState)([]),[C,w]=(0,v.useState)(!1),[T,ee]=(0,v.useState)(``),[E,te]=(0,v.useState)(``),[D,O]=(0,v.useState)(Of),ne=(0,v.useRef)(null),re=(0,v.useRef)(!1),[ie,ae]=(0,v.useState)(!1),k=(0,v.useCallback)(async()=>{try{let e=await(await fetch(`/api/router/status`)).json();if(a(e),e?.ok){let e=await(await fetch(`/api/router/stats`)).json();e.ok&&s(e)}}catch{}},[]),oe=(0,v.useCallback)(async()=>{try{let e=await(await fetch(`/api/router/sets`)).json();e&&e.sets&&b(e)}catch{}},[]),se=(0,v.useCallback)(async()=>{try{let e=await(await fetch(`/api/router/catalog`)).json();Array.isArray(e?.models)&&S(e.models)}catch{}},[]);(0,v.useEffect)(()=>{k(),oe(),se(),fetch(`/api/router/quick-setup`).then(e=>e.json()).then(l).catch(()=>{});let e=setInterval(()=>{k(),oe()},2e3);return()=>clearInterval(e)},[k,oe,se]),(0,v.useEffect)(()=>{if(!ie)return;let e=setInterval(()=>{k()},1200);return()=>clearInterval(e)},[ie,k]),(0,v.useEffect)(()=>{ie&&o?.globalBenchmark&&!o.globalBenchmark.running&&ae(!1)},[o?.globalBenchmark,ie]),(0,v.useEffect)(()=>{if(D.kind===`saved`)return ne.current=setTimeout(()=>O(Of),1500),()=>{ne.current&&clearTimeout(ne.current)}},[D]);let ce=async()=>{d(!0);try{let e=await(await fetch(`/api/router/start`,{method:`POST`})).json();e.ok||e.alreadyRunning?(t?.(r(`router.daemonStarted`),`success`),await k(),await oe()):t?.(r(`router.startFailed`,{error:e.error||e.message||r(`common.unknown`)}),`error`)}catch(e){let n=e.name===`TypeError`&&e.message?.includes(`fetch`)?r(`router.cannotReachDaemon`):e.message;t?.(r(`router.startFailed`,{error:n}),`error`)}finally{d(!1)}},le=async()=>{d(!0);try{let e=await(await fetch(`/api/router/stop`,{method:`POST`})).json();e.ok?(t?.(r(`router.daemonStopped`),`success`),a({ok:!1,running:!1}),s(null)):t?.(r(`router.stopFailed`,{error:e.error||r(`common.unknown`)}),`error`)}catch(e){t?.(r(`router.stopFailed`,{error:e.message}),`error`)}finally{d(!1)}},ue=(e,t)=>{navigator.clipboard.writeText(e).then(()=>{h(t),setTimeout(()=>h(null),1500)})},de=async e=>{try{await fetch(`/api/router/probe-mode`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({probeMode:e})}),t?.(r(`router.probeModeSet`,{mode:e}),`info`),await k()}catch{}},fe=y?.activeSet||i?.activeSet||`fast-coding`,pe=y?.sets?.[fe]||{models:[]},me=Array.isArray(pe.models)?pe.models:[],he=async e=>{try{await fetch(`/api/router/sets/${encodeURIComponent(e)}/activate`,{method:`POST`}),t?.(r(`router.activeSet`,{name:e}),`info`),await oe(),await k()}catch(e){t?.(`Failed to activate: ${e.message}`,`error`)}},ge=async()=>{if(fe){O(kf),t?.(r(`router.probingModels`),`info`);try{let e=await fetch(`/api/router/sets/${encodeURIComponent(fe)}/sync`,{method:`POST`});if(!e.ok){let t=await e.json().catch(()=>({}));throw Error(t.error||`HTTP ${e.status}`)}let n=await e.json(),i=n.selected?.length||0,a=n.probeCount||0;t?.(r(`router.syncedModels`,{set:fe,working:i,probes:a}),`success`),await oe(),await k(),O(Af)}catch(e){O(jf(e.message||String(e))),t?.(r(`router.syncFailed`,{error:e.message}),`error`)}}},_e=async()=>{if(!fe)return;let e=n?.favorites||[];if(e.length===0){t?.(r(`router.noFavorites`),`info`);return}let i=e.map((e,t)=>{let n=e.split(`/`);return{provider:n[0],model:n.slice(1).join(`/`),priority:t+1}});O(kf);try{let n=await fetch(`/api/router/sets/${encodeURIComponent(fe)}`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({models:i})});if(!n.ok){let e=await n.json().catch(()=>({}));throw Error(e.error||`HTTP ${n.status}`)}let r=await n.json();r?.sets?.[fe]?b(e=>({...e,sets:r.sets})):await oe(),O(Af),t?.(`Replaced active set with ${e.length} favorite model${e.length===1?``:`s`}.`,`success`),await k()}catch(e){O(jf(e.message||String(e))),t?.(`Failed to replace set: ${e.message}`,`error`)}},ve=async()=>{if(!fe)return;let e=pe?.familyFailover===!1;O(kf);try{let n=await fetch(`/api/router/sets/${encodeURIComponent(fe)}`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({familyFailover:e})});if(!n.ok){let e=await n.json().catch(()=>({}));throw Error(e.error||`HTTP ${n.status}`)}O(Af),t?.(`Family failover ${e?`enabled`:`disabled`} for ${fe}.`,`info`),await oe()}catch(e){O(jf(e.message||String(e))),t?.(`Failed to toggle family failover: ${e.message}`,`error`)}},ye=(0,v.useCallback)(async e=>{if(fe){O(kf);try{let t=e.map(e=>`${e.provider}/${e.model}`),n=await fetch(`/api/router/sets/${encodeURIComponent(fe)}/reorder`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({order:t})});if(!n.ok){let e=await n.json().catch(()=>({}));throw Error(e.error||`HTTP ${n.status}`)}let r=await n.json();r?.sets?.[fe]?b(e=>({...e,sets:r.sets})):await oe(),O(Af)}catch(e){O(jf(e.message||String(e))),t?.(`Reorder failed: ${e.message}`,`error`)}}},[fe,oe,t]),be=(0,v.useCallback)(async(e,n)=>{if(fe){O(kf);try{let r=await fetch(`/api/router/sets/${encodeURIComponent(fe)}/models`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({provider:e,model:n})});if(!r.ok){let e=await r.json().catch(()=>({}));throw Error(e.error||`HTTP ${r.status}`)}let i=await r.json();i?.sets?.[fe]?b(e=>({...e,sets:i.sets})):await oe(),O(Af),t?.(`Added ${e}/${n} to ${fe}.`,`success`)}catch(e){O(jf(e.message||String(e))),t?.(`Add failed: ${e.message}`,`error`)}}},[fe,oe,t]),A=(0,v.useCallback)(async(e,n)=>{if(fe){O(kf);try{let t=await fetch(`/api/router/sets/${encodeURIComponent(fe)}/models`,{method:`DELETE`,headers:{"Content-Type":`application/json`},body:JSON.stringify({provider:e,model:n})});if(!t.ok){let e=await t.json().catch(()=>({}));throw Error(e.error||`HTTP ${t.status}`)}let r=await t.json();r?.sets?.[fe]?b(e=>({...e,sets:r.sets})):await oe(),O(Af)}catch(e){O(jf(e.message||String(e))),t?.(`Remove failed: ${e.message}`,`error`)}}},[fe,oe,t]),j=async()=>{if(fe&&!ie){if(xe.length===0){t?.(`Add models to the set first, then probe.`,`info`);return}try{let e=xe.map(e=>({providerKey:e.provider,modelId:e.model})),n=await fetch(`/api/router/probe-all`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({models:e})}),r=await n.json().catch(()=>null);if(!n.ok||!n.status||n.status===409)throw Error(r?.error||`Probe already running`);ae(!0);let i=r?.total??xe.length;t?.(`Probing ${i} model${i===1?``:`s`} for AI Latency…`,`info`),await k()}catch(e){t?.(`Probe failed: ${e.message}`,`error`),ae(!1)}}},[xe,Se]=(0,v.useState)(me);(0,v.useEffect)(()=>{Se(me)},[me]);let[Ce,we]=(0,v.useState)(null),[Te,Ee]=(0,v.useState)(null),De=(0,v.useCallback)(async(e,t)=>{let n=[...xe],r=t===`up`?e-1:e+1;if(r<0||r>=n.length)return;let[i]=n.splice(e,1);n.splice(r,0,i),Se(n),await ye(n)},[xe,ye]),Oe=(0,v.useCallback)(async e=>{let t=xe[e];if(!t)return;let n=xe.filter((t,n)=>n!==e);Se(n),await A(t.provider,t.model)},[xe,A]),ke=(e,t)=>{let n=xe[t];n&&(we(`${n.provider}/${n.model}`),e.dataTransfer.effectAllowed=`move`,e.dataTransfer.setData(`text/plain`,`${n.provider}/${n.model}`))},Ae=(e,t)=>{if(Ce==null)return;e.preventDefault(),e.dataTransfer.dropEffect=`move`;let n=xe[t];if(!n)return;let r=`${n.provider}/${n.model}`;if(r===Ce)return;let i=e.currentTarget.getBoundingClientRect(),a=e.clientY<i.top+i.height/2?`above`:`below`;Ee({key:r,side:a})},je=e=>{e.currentTarget.contains(e.relatedTarget)},Me=async(e,t)=>{if(e.preventDefault(),Ce==null)return;let n=xe.findIndex(e=>`${e.provider}/${e.model}`===Ce);if(n<0){we(null),Ee(null);return}if(!xe[t]){we(null),Ee(null);return}let r=e.currentTarget.getBoundingClientRect(),i=(e.clientY<r.top+r.height/2?`above`:`below`)==`above`?t:t+1;if(n<i&&--i,i===n){we(null),Ee(null);return}let a=[...xe],[o]=a.splice(n,1);a.splice(i,0,o),Se(a),we(null),Ee(null),await ye(a)},Ne=()=>{we(null),Ee(null)},Pe=(0,v.useMemo)(()=>{let e=new Set(x.map(e=>e.provider));return Array.from(e).sort()},[x]),Fe=(0,v.useMemo)(()=>{let e=T.trim().toLowerCase();return x.filter(t=>E&&t.provider!==E?!1:!e||t.key.toLowerCase().includes(e)||(t.label||``).toLowerCase().includes(e)||t.provider.toLowerCase().includes(e)).slice(0,200)},[x,T,E]),Ie=(e,t)=>xe.some(n=>n.provider===e&&n.model===t),Le=i?.ok,Re=o?.circuitBreakers||{},ze=o?.requestLog||[],Be=i?.activeRequests||[],Ve=o?.routingOrder||[],He=Ve.length>0?Ve[0].key:null,Ue=new Map;for(let e of o?.models||[])e&&typeof e.key==`string`&&Ue.set(e.key,e);let We=o?.globalBenchmark||null,Ge=!!We?.running||ie;(0,v.useEffect)(()=>{ze.length>0&&!re.current&&(re.current=!0,p(!0))},[ze.length]);let Ke=Le&&c?.baseUrl?c.baseUrl:`http://localhost:19280/v1`,qe=c?.model||`fcm`,Je=`fcm-local`,Ye=`Base URL: ${Ke}\nModel: ${qe}\nAPI Key: ${Je}`,Xe=y?.sets||{},Ze=Object.keys(Xe).sort();return(0,F.jsx)(`div`,{className:X.overlay,onClick:t=>t.target===t.currentTarget&&e(),children:(0,F.jsxs)(`div`,{className:X.modal,children:[(0,F.jsxs)(`div`,{className:X.header,children:[(0,F.jsxs)(`h2`,{className:X.title,children:[(0,F.jsx)(Lr,{size:20,stroke:1.5}),r(`router.title`)]}),(0,F.jsx)(`button`,{className:X.closeBtn,onClick:e,"aria-label":r(`common.close`),children:`✕`})]}),(0,F.jsxs)(`div`,{className:X.body,children:[Le&&i?.brokenModelCount>0&&!g&&(0,F.jsxs)(`div`,{className:X.autoHealBanner,children:[(0,F.jsxs)(`div`,{className:X.autoHealLeft,children:[(0,F.jsx)(`span`,{className:X.autoHealIcon,children:`⚠`}),(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`div`,{className:X.autoHealTitle,children:r(`router.brokenModels`,{count:i.brokenModelCount})}),(0,F.jsxs)(`div`,{className:X.autoHealHint,children:[r(`router.autoHealWarning`),` `,r(`router.syncBest`),` / `,r(`router.fixNow`)]})]})]}),(0,F.jsxs)(`div`,{className:X.autoHealActions,children:[(0,F.jsxs)(`button`,{className:X.smallBtn,onClick:ge,children:[(0,F.jsx)(Jr,{size:11}),r(`router.fixNow`)]}),(0,F.jsx)(`button`,{className:X.iconBtn,onClick:()=>_(!0),"aria-label":r(`toast.dismiss`),children:(0,F.jsx)(Yr,{size:12})})]})]}),(0,F.jsxs)(`div`,{className:`${X.quickSetup} ${Le?X.quickSetupHero:``}`,children:[(0,F.jsxs)(`h3`,{className:X.sectionTitle,children:[(0,F.jsx)(or,{size:14}),r(`router.quickSetup`),(0,F.jsxs)(`button`,{className:X.copyAllBtn,onClick:()=>ue(Ye,`all`),children:[m===`all`?(0,F.jsx)(Jn,{size:12}):(0,F.jsx)(or,{size:12}),r(m===`all`?`router.copied`:`router.copyAll`)]})]}),(0,F.jsxs)(`div`,{className:X.quickRows,children:[(0,F.jsxs)(`div`,{className:X.quickRow,children:[(0,F.jsx)(`span`,{className:X.quickLabel,children:r(`router.baseUrl`)}),(0,F.jsx)(`code`,{className:X.quickValue,children:Ke}),(0,F.jsx)(`button`,{className:X.copyBtn,onClick:()=>ue(Ke,`url`),children:m===`url`?(0,F.jsx)(Jn,{size:12}):(0,F.jsx)(or,{size:12})})]}),(0,F.jsxs)(`div`,{className:X.quickRow,children:[(0,F.jsx)(`span`,{className:X.quickLabel,children:r(`router.model`)}),(0,F.jsx)(`code`,{className:X.quickValue,children:qe}),(0,F.jsx)(`button`,{className:X.copyBtn,onClick:()=>ue(qe,`model`),children:m===`model`?(0,F.jsx)(Jn,{size:12}):(0,F.jsx)(or,{size:12})})]}),(0,F.jsxs)(`div`,{className:X.quickRow,children:[(0,F.jsx)(`span`,{className:X.quickLabel,children:`API Key`}),(0,F.jsx)(`code`,{className:X.quickValue,children:Je}),(0,F.jsx)(`button`,{className:X.copyBtn,onClick:()=>ue(Je,`key`),children:m===`key`?(0,F.jsx)(Jn,{size:12}):(0,F.jsx)(or,{size:12})})]})]})]}),(0,F.jsxs)(`div`,{className:`${X.heroCard} ${Le?X.heroRunning:X.heroStopped}`,children:[(0,F.jsxs)(`div`,{className:X.heroLeft,children:[(0,F.jsxs)(`div`,{className:X.heroStatus,children:[(0,F.jsx)(`span`,{className:`${X.statusDot} ${Le?X.dotGreen:X.dotGray}`}),(0,F.jsx)(`span`,{className:X.heroLabel,children:r(Le?`router.status.running`:`router.status.stopped`)})]}),Le&&(0,F.jsxs)(`div`,{className:X.heroMeta,children:[(0,F.jsxs)(`span`,{children:[`Port `,i.port]}),(0,F.jsx)(`span`,{children:`·`}),(0,F.jsxs)(`span`,{children:[r(`router.uptime`),` `,Cf(i.uptimeSeconds)]}),(0,F.jsx)(`span`,{children:`·`}),(0,F.jsx)(`span`,{children:r(`router.requestsCount`,{count:i.requestsRouted})})]}),!Le&&(0,F.jsx)(`div`,{className:X.heroMeta,children:r(`router.stoppedHint`)})]}),(0,F.jsxs)(`div`,{className:X.heroActions,children:[Le?(0,F.jsxs)(`button`,{className:X.stopBtn,onClick:le,disabled:u,children:[(0,F.jsx)(jr,{size:14}),r(u?`router.stopping`:`router.stop`)]}):(0,F.jsxs)(`button`,{className:`${X.startBtn} ${X.startBtnBig}`,onClick:ce,disabled:u,children:[(0,F.jsx)(Ar,{size:16}),r(u?`router.starting`:`router.title`)]}),(0,F.jsx)(`button`,{className:X.refreshBtn,onClick:k,title:r(`common.refresh`),"aria-label":r(`common.refresh`),children:(0,F.jsx)(Ir,{size:14})})]})]}),Le&&(0,F.jsxs)(`div`,{className:X.section,children:[(0,F.jsxs)(`h3`,{className:X.sectionTitle,children:[(0,F.jsx)(wr,{size:14}),r(`router.activeSetModels`,{count:xe.length})]}),(0,F.jsxs)(`div`,{className:X.setMeta,children:[(0,F.jsxs)(`div`,{className:X.setActions,children:[(0,F.jsx)(`span`,{className:X.setMetaName,children:fe}),Ze.length>1&&(0,F.jsx)(`select`,{className:X.pickerSelect,value:fe,onChange:e=>he(e.target.value),title:r(`router.switchSetHint`),children:Ze.map(e=>(0,F.jsx)(`option`,{value:e,children:e},e))}),(0,F.jsxs)(`button`,{className:`${X.smallBtn} ${pe?.familyFailover===!1?``:X.probeBtnActive}`,onClick:ve,disabled:D.kind===`saving`,title:r(`router.familyFailoverHint`),children:[(0,F.jsx)(Lr,{size:11}),r(`router.familyFailover`),`: `,pe?.familyFailover===!1?r(`common.disabled`):r(`common.enabled`)]})]}),(0,F.jsxs)(`div`,{className:X.setActions,children:[(0,F.jsx)(Nf,{status:D}),(0,F.jsxs)(`button`,{className:X.smallBtn,onClick:ge,disabled:D.kind===`saving`,title:r(`router.testKeyHint`),children:[(0,F.jsx)(Jr,{size:11}),r(`router.syncBest`)]}),n&&(0,F.jsxs)(`button`,{className:X.smallBtn,onClick:_e,disabled:D.kind===`saving`,title:r(`router.useFavoritesHint`),children:[(0,F.jsx)(wr,{size:11}),r(`router.useFavorites`)]}),(0,F.jsxs)(`button`,{className:`${X.smallBtn} ${Ge?X.probeBtnActive:``}`,onClick:j,disabled:Ge||D.kind===`saving`||xe.length===0,title:r(`router.benchmarkSetHint`),children:[(0,F.jsx)(Kn,{size:11}),r(Ge?`router.probing`:`router.probeAll`)]}),(0,F.jsxs)(`button`,{className:X.primaryBtn,onClick:()=>w(e=>!e),disabled:D.kind===`saving`,children:[C?(0,F.jsx)(Yr,{size:11}):(0,F.jsx)(Pr,{size:11}),r(C?`common.close`:`router.addModel`)]})]})]}),Ge&&We&&(0,F.jsxs)(`div`,{className:X.probeProgress,children:[(0,F.jsxs)(`div`,{className:X.probeProgressLabel,children:[(0,F.jsx)(Kn,{size:11}),r(`dashboard.aiLatency`),` `,r(`filters.ping`),(0,F.jsxs)(`span`,{className:X.probeProgressCount,children:[We.completed,` / `,We.total||xe.length]})]}),(0,F.jsx)(`div`,{className:X.probeProgressBar,children:(0,F.jsx)(`div`,{className:X.probeProgressFill,style:{width:`${Math.min(100,(We.completed||0)/Math.max(1,We.total||xe.length)*100)}%`}})})]}),xe.length===0?(0,F.jsxs)(`div`,{className:X.setEmpty,children:[(0,F.jsx)(`div`,{className:X.setEmptyTitle,children:r(`router.noActiveSetModels`)}),(0,F.jsx)(`div`,{className:X.setEmptyHint,children:r(`router.addSetModelsHint`)})]}):(0,F.jsxs)(F.Fragment,{children:[(0,F.jsxs)(`div`,{className:X.priorityLegend,children:[(0,F.jsxs)(`span`,{className:X.legendPrimary,children:[(0,F.jsx)(Un,{size:11}),` `,r(`router.primary`)]}),(0,F.jsx)(`span`,{className:X.legendSeparator,children:r(`router.triesFirst`)}),(0,F.jsx)(`span`,{className:X.legendFallback,children:r(`router.fallback`)}),(0,F.jsx)(`span`,{className:X.legendSeparator,children:r(`router.onFailure`)}),Le&&He&&(0,F.jsxs)(`span`,{className:X.legendNext,children:[r(`router.nextUp`),`: `,(0,F.jsx)(`code`,{children:He})]})]}),(0,F.jsx)(`div`,{className:X.setList,onDragLeave:je,children:xe.map((e,t)=>{let n=`${e.provider}/${e.model}`,i=Re[n]||{},a=Ue.get(n),o=a?.benchmark||null,s=!!a?.isBenchmarking,c=Ce===n,l=Te?.key===n&&Te.side===`above`,u=Te?.key===n&&Te.side===`below`,d=t===0,f=Le&&He===n;return(0,F.jsxs)(`div`,{className:`${X.setRow} ${c?X.setRowDragging:``} ${f?X.setRowNext:``} ${l?`${X.setRowDropTarget} ${X.setRowDropTargetAbove}`:``} ${u?`${X.setRowDropTarget} ${X.setRowDropTargetBelow}`:``}`,draggable:!0,onDragStart:e=>ke(e,t),onDragOver:e=>Ae(e,t),onDrop:e=>Me(e,t),onDragEnd:Ne,title:n,children:[(0,F.jsx)(`span`,{className:X.setDragHandle,"aria-hidden":!0,children:(0,F.jsx)(vr,{size:14})}),(0,F.jsx)(`span`,{className:`${X.setPriority} ${d?X.setPriorityPrimary:X.setPriorityFallback}`,title:d?r(`router.primaryTitle`):r(`router.fallbackTitle`,{index:t+1}),children:d?r(`router.primary`):`#${t+1}`}),(0,F.jsx)(`span`,{className:X.setKey,children:n}),e.tier&&(0,F.jsx)(`span`,{className:X.setTier,children:e.tier}),(0,F.jsx)(Df,{state:i.state||e.state}),(0,F.jsx)(`span`,{className:X.aiLatencyCell,title:o?`AI Latency: ${Math.round(o.totalMs)}ms · TPS: ${(o.tokensPerSecond??0).toFixed(1)}`:r(`router.benchmarkSetHint`),children:s?(0,F.jsx)(`span`,{className:X.aiLatencySpin,children:`···`}):o?.ok?(0,F.jsxs)(F.Fragment,{children:[(0,F.jsxs)(`span`,{className:X.aiLatencyMs,children:[Math.round(o.totalMs),`ms`]}),o.tokensPerSecond!=null&&o.tokensPerSecond>0&&(0,F.jsxs)(`span`,{className:X.aiLatencyTps,children:[o.tokensPerSecond.toFixed(1),` t/s`]})]}):o&&!o.ok?(0,F.jsx)(`span`,{className:X.aiLatencyErr,children:r(`router.v2.failed`)}):(0,F.jsx)(`span`,{className:X.aiLatencyNone,children:`—`})}),(0,F.jsxs)(`div`,{className:X.setRowBtns,children:[(0,F.jsx)(`button`,{className:X.iconBtn,onClick:()=>De(t,`up`),disabled:t===0||D.kind===`saving`,title:r(`router.moveUp`),"aria-label":`${r(`router.moveUp`)}: ${n}`,children:(0,F.jsx)(Wn,{size:12})}),(0,F.jsx)(`button`,{className:X.iconBtn,onClick:()=>De(t,`down`),disabled:t===xe.length-1||D.kind===`saving`,title:r(`router.moveDown`),"aria-label":`${r(`router.moveDown`)}: ${n}`,children:(0,F.jsx)(Vn,{size:12})}),(0,F.jsx)(`button`,{className:`${X.iconBtn} ${X.removeBtn}`,onClick:()=>Oe(t),disabled:D.kind===`saving`,title:r(`router.removeFromSet`),"aria-label":`${r(`router.removeFromSet`)}: ${n}`,children:(0,F.jsx)(Gr,{size:12})})]})]},n)})})]}),C&&(0,F.jsxs)(`div`,{className:X.pickerPanel,children:[(0,F.jsxs)(`div`,{className:X.pickerHeader,children:[(0,F.jsxs)(`span`,{children:[r(`router.addModelTo`),` `,(0,F.jsx)(`code`,{children:fe})]}),(0,F.jsxs)(`span`,{style:{color:`var(--text-muted, #888)`},children:[Fe.length,` of `,x.length]})]}),(0,F.jsxs)(`div`,{className:X.pickerSearch,children:[(0,F.jsx)(`input`,{className:X.pickerInput,placeholder:r(`router.searchModels`),value:T,onChange:e=>ee(e.target.value),autoFocus:!0}),(0,F.jsxs)(`select`,{className:X.pickerSelect,value:E,onChange:e=>te(e.target.value),children:[(0,F.jsx)(`option`,{value:``,children:r(`dashboard.allProviders`)}),Pe.map(e=>(0,F.jsx)(`option`,{value:e,children:e},e))]})]}),(0,F.jsx)(`div`,{className:X.pickerList,children:Fe.length===0?(0,F.jsx)(`div`,{className:X.pickerEmpty,children:r(`router.noModelsMatch`)}):Fe.map(e=>{let t=Ie(e.provider,e.model);return(0,F.jsxs)(`div`,{className:`${X.pickerItem} ${t?X.pickerItemAdded:``}`,onClick:()=>{t||be(e.provider,e.model)},title:t?r(`router.alreadyInSet`):`${r(`router.addModel`)}: ${e.key}`,children:[(0,F.jsx)(`span`,{className:X.pickerProvider,children:e.provider}),(0,F.jsx)(`span`,{className:X.pickerModel,children:e.label||e.model}),e.tier&&(0,F.jsx)(`span`,{className:X.setTier,children:e.tier}),e.hasKey?(0,F.jsx)(`span`,{className:`${X.pickerBadge} ${X.pickerBadgeOk}`,children:r(`settings.apiKey`)}):(0,F.jsx)(`span`,{className:X.pickerBadge,children:r(`dashboard.noApiKey`)})]},e.key)})})]})]}),Le&&(0,F.jsxs)(`div`,{className:X.section,children:[(0,F.jsxs)(`h3`,{className:X.sectionTitle,children:[(0,F.jsx)(Rn,{size:14}),r(`router.probeMode`)]}),(0,F.jsx)(`div`,{className:X.probeModes,children:[`eco`,`balanced`,`aggressive`].map(e=>(0,F.jsx)(`button`,{className:`${X.probeBtn} ${i?.probeMode===e?X.probeActive:``}`,onClick:()=>de(e),children:e},e))})]}),Le&&(0,F.jsxs)(`div`,{className:X.section,children:[(0,F.jsxs)(`h3`,{className:X.sectionTitle,children:[(0,F.jsx)(Kn,{size:14,className:Be.length>0?X.pulse:``}),r(`router.activeRequests`),` (`,Be.length,`)`]}),Be.length>0?(0,F.jsx)(`div`,{className:X.activeList,children:Be.map(e=>(0,F.jsxs)(`div`,{className:X.activeRow,children:[(0,F.jsxs)(`div`,{className:X.activeMain,children:[(0,F.jsxs)(`span`,{className:X.activeModel,children:[(0,F.jsx)(`span`,{className:X.activeId,title:`Request ID: ${e.request_id}`,children:e.request_id.slice(-4)}),e.model]}),(0,F.jsx)(`span`,{className:X.activeStatus,children:e.stalled?(0,F.jsx)(`span`,{className:X.stalledText,children:r(`router.stalled`)}):(0,F.jsx)(`span`,{className:X.processingText,children:r(`router.processing`)})})]}),(0,F.jsxs)(`div`,{className:X.activeDetails,children:[(0,F.jsx)(`span`,{className:X.activeCurrentModel,children:e.current_model||`Routing...`}),e.stream&&(0,F.jsxs)(`span`,{className:X.activeTokens,children:[e.tokens,` tokens`]}),(0,F.jsx)(`span`,{className:X.activeUptime,children:Cf(Math.floor((Date.now()-e.started_at)/1e3))})]})]},e.request_id))}):(0,F.jsx)(`div`,{className:X.logEmpty,children:r(`router.noActiveRequests`)})]}),Le&&(0,F.jsxs)(`div`,{className:X.section,children:[(0,F.jsxs)(`h3`,{className:X.sectionTitle,onClick:()=>p(!f),style:{cursor:`pointer`},children:[(0,F.jsx)(Rn,{size:14}),r(`router.requestLog`),` (`,ze.length,`)`,f?(0,F.jsx)($n,{size:12}):(0,F.jsx)(Xn,{size:12})]}),f&&(ze.length===0?(0,F.jsx)(`div`,{className:X.logEmpty,children:r(`router.noRequestsYet`)}):(0,F.jsx)(`div`,{className:X.logList,children:ze.map((e,t)=>(0,F.jsxs)(`div`,{className:X.logRow,children:[(0,F.jsx)(`span`,{className:X.logId,title:`Request ID: ${e.request_id||`—`}`,children:e.request_id?e.request_id.slice(-4):`—`}),(0,F.jsx)(`span`,{className:X.logTime,children:wf(e.at)}),(0,F.jsx)(`span`,{className:e.error?X.logErr:X.logOk,children:e.status||`—`}),(0,F.jsx)(`span`,{className:X.logModel,children:e.model}),(0,F.jsx)(`span`,{className:X.logLatency,children:e.latency_ms==null?`—`:`${e.latency_ms}ms`}),(0,F.jsx)(`span`,{className:X.logTokens,children:e.tokens>0?Tf(e.tokens)+` tok`:``}),(0,F.jsx)(`span`,{className:X.logDetail,children:[e.failover?e.failover_reason===`family_failover`?`family`:`failover`:``,e.stream?`stream`:``,e.error||``].filter(Boolean).join(`, `)})]},t))}))]}),Le&&(0,F.jsxs)(`div`,{className:X.section,children:[(0,F.jsxs)(`h3`,{className:X.sectionTitle,children:[(0,F.jsx)(zr,{size:14}),r(`router.testRouter`),(0,F.jsxs)(`span`,{className:X.miniPgHint,children:[r(`router.routesVia`),` `,(0,F.jsx)(`code`,{children:`fcm`}),` — `,r(`router.fallbackHint`)]})]}),(0,F.jsx)(Cu,{model:`fcm`,variant:`mini`,disabled:!Le,targetLabel:He||`fcm`,placeholder:r(`router.miniPlaceholder`),emptyHint:r(`router.testEmptyHint`)})]}),o?.runtimeTelemetry?.stats?.modelsTracked>0&&(0,F.jsxs)(`div`,{className:X.section,style:{marginTop:12},children:[(0,F.jsxs)(`h3`,{className:X.sectionTitle,children:[`📈 `,r(`router.runtimeTelemetry`),(0,F.jsx)(`span`,{className:X.miniPgHint,children:r(`router.callsTrackedLocal`,{count:o.runtimeTelemetry.stats.totalCalls})})]}),(0,F.jsx)(`div`,{className:X.quotaGrid,children:Object.entries(o.runtimeTelemetry.models).filter(([,e])=>e.totalCalls>=5).sort((e,t)=>(t[1]?.successRate??0)-(e[1]?.successRate??0)).slice(0,6).map(([e,t])=>{let n=Math.round((t.successRate??0)*100),r=t.avgTokensPerSecond||0,i=n<=50?`#dc2626`:n<=80?`#f59e0b`:`#16a34a`;return(0,F.jsxs)(`div`,{className:X.quotaCell,title:`${e}: ${t.totalCalls} calls, ${t.successCalls} ok, ${t.errorCalls} err, ${r.toFixed(1)} tok/s avg`,children:[(0,F.jsx)(`span`,{className:X.quotaSource,children:`📈`}),(0,F.jsx)(`span`,{className:X.quotaName,children:e.split(`/`)[1]||e}),(0,F.jsx)(`div`,{className:X.quotaBar,children:(0,F.jsx)(`div`,{className:X.quotaFill,style:{width:`${n}%`,background:i}})}),(0,F.jsxs)(`span`,{className:X.quotaPct,style:{color:i},children:[n,`%`]})]},e)})})]}),o?.quota&&Object.keys(o.quota).length>0&&(0,F.jsxs)(`div`,{className:X.section,style:{marginTop:12},children:[(0,F.jsxs)(`h3`,{className:X.sectionTitle,children:[`📊 `,r(`router.providerQuota`),(0,F.jsx)(`span`,{className:X.miniPgHint,children:r(`router.liveHeaders`)})]}),(0,F.jsx)(`div`,{className:X.quotaGrid,children:Object.entries(o.quota).sort((e,t)=>(e[1]?.percent??100)-(t[1]?.percent??100)).map(([e,t])=>{let n=t?.percent??0,r=n<=10?`#dc2626`:n<=25?`#f59e0b`:`#16a34a`,i=t?.windowType&&t.windowType!==`unknown`?t.windowType:``,a=t?.source===`header`?`🛰️`:`🔌`;return(0,F.jsxs)(`div`,{className:X.quotaCell,title:`${e}: ${t?.remaining??`?`}/${t?.limit??`?`} (${n}%) ${i?`[${i}]`:``}`,children:[(0,F.jsx)(`span`,{className:X.quotaSource,children:a}),(0,F.jsx)(`span`,{className:X.quotaName,children:e}),(0,F.jsx)(`div`,{className:X.quotaBar,children:(0,F.jsx)(`div`,{className:X.quotaFill,style:{width:`${n}%`,background:r}})}),(0,F.jsxs)(`span`,{className:X.quotaPct,style:{color:r},children:[n,`%`]})]},e)})})]}),(0,F.jsx)(`div`,{className:X.section,style:{marginBottom:0,marginTop:16},children:(0,F.jsx)(`span`,{className:X.saveStatus,children:o?.tokenStats?`${Tf(o.tokenStats.all_time?.total_tokens||0)} tokens routed lifetime`:``})})]})]})})}function Nf({status:e}){return!e||e.kind===`idle`?null:e.kind===`saving`?(0,F.jsx)(`span`,{className:X.saveStatus,children:`saving…`}):e.kind===`saved`?(0,F.jsx)(`span`,{className:`${X.saveStatus} ${X.saveStatusOk}`,children:`✓ saved`}):e.kind===`error`?(0,F.jsxs)(`span`,{className:`${X.saveStatus} ${X.saveStatusErr}`,title:e.message,children:[`⚠ `,e.message?.slice(0,40)||`error`]}):null}var Pf=3e3;function Ff({pollMs:e=Pf}={}){let[t,n]=(0,v.useState)(null),[r,i]=(0,v.useState)(null),[a,o]=(0,v.useState)(null),[s,c]=(0,v.useState)(!0),[l,u]=(0,v.useState)(null),d=(0,v.useRef)(!0),f=(0,v.useCallback)(async()=>{try{let[e,t,r]=await Promise.all([fetch(`/api/router-v2/status`).then(e=>e.json()).catch(()=>null),fetch(`/api/router-v2/stats`).then(e=>e.json()).catch(()=>null),fetch(`/api/router-v2/history?limit=25`).then(e=>e.json()).catch(()=>null)]);if(!d.current)return;let a=e?.ok===!0;n(e),i(a&&t?.ok===!0?t:null),o(a&&r?r:null),u(a?null:e?.error||null)}catch(e){d.current&&u(e?.message||`Router v2 status check failed`)}finally{d.current&&c(!1)}},[]),p=(0,v.useCallback)(async e=>{try{let t=await(await fetch(`/api/router-v2/${e}`,{method:`POST`})).json().catch(()=>({}));return await f(),t}catch(e){return{ok:!1,error:e?.message||String(e)}}},[f]),m=(0,v.useCallback)(()=>p(`start`),[p]),h=(0,v.useCallback)(()=>p(`stop`),[p]),g=(0,v.useCallback)(async(e,t)=>{try{return await(await fetch(`/api/router-v2/test`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({provider:e,model:t})})).json()}catch(e){return{ok:!1,error:e?.message||String(e)}}},[]);return(0,v.useEffect)(()=>{d.current=!0,f();let t=setInterval(()=>void f(),Math.max(1500,e));return()=>{d.current=!1,clearInterval(t)}},[f,e]),{status:t,stats:r,history:a,loading:s,lastError:l,refresh:f,start:m,stop:h,testModel:g}}var Z={wrap:`_wrap_9pod4_4`,header:`_header_9pod4_11`,titleBlock:`_titleBlock_9pod4_19`,title:`_title_9pod4_19`,betaChip:`_betaChip_9pod4_31`,actions:`_actions_9pod4_43`,ghostBtn:`_ghostBtn_9pod4_48`,startBtn:`_startBtn_9pod4_49`,stopBtn:`_stopBtn_9pod4_50`,testBtn:`_testBtn_9pod4_51`,betaBanner:`_betaBanner_9pod4_79`,stoppedCard:`_stoppedCard_9pod4_95`,codeBlock:`_codeBlock_9pod4_108`,cards:`_cards_9pod4_120`,card:`_card_9pod4_120`,cardLabel:`_cardLabel_9pod4_136`,cardValue:`_cardValue_9pod4_143`,cardSub:`_cardSub_9pod4_148`,section:`_section_9pod4_153`,sectionHead:`_sectionHead_9pod4_159`,sectionHint:`_sectionHint_9pod4_174`,sectionActions:`_sectionActions_9pod4_179`,table:`_table_9pod4_184`,primaryRow:`_primaryRow_9pod4_206`,chainRow:`_chainRow_9pod4_207`,detailRow:`_detailRow_9pod4_209`,detailBody:`_detailBody_9pod4_211`,modelCell:`_modelCell_9pod4_224`,chainCell:`_chainCell_9pod4_229`,stateUp:`_stateUp_9pod4_238`,stateDegraded:`_stateDegraded_9pod4_239`,stateHalfOpen:`_stateHalfOpen_9pod4_240`,stateOpen:`_stateOpen_9pod4_241`,stateAuth:`_stateAuth_9pod4_242`,stateQuota:`_stateQuota_9pod4_243`,stateStale:`_stateStale_9pod4_244`,stateUnknown:`_stateUnknown_9pod4_245`,pauseUntil:`_pauseUntil_9pod4_247`,outcomeServed:`_outcomeServed_9pod4_253`,outcomeFailed:`_outcomeFailed_9pod4_258`,outcomeAborted:`_outcomeAborted_9pod4_263`,lastResort:`_lastResort_9pod4_267`,empty:`_empty_9pod4_277`,setupGrid:`_setupGrid_9pod4_282`,dim:`_dim_9pod4_289`};function If(e){let t=Number(e);if(!Number.isFinite(t)||t<0)return`-`;if(t<60)return`${t}s`;let n=Math.floor(t/60);return n<60?`${n}m ${t%60}s`:`${Math.floor(n/60)}h ${n%60}m`}function Lf(e){let t=Date.parse(e);return Number.isFinite(t)?new Date(t).toLocaleTimeString():`-`}function Rf(e){let t=Number(e);return Number.isFinite(t)&&t>0?`${Math.round(t)}ms`:`-`}var zf={CLOSED:`stateUp`,DEGRADED:`stateDegraded`,HALF_OPEN:`stateHalfOpen`,OPEN:`stateOpen`,AUTH_ERROR:`stateAuth`,QUOTA_PAUSED:`stateQuota`,STALE:`stateStale`,UNSUPPORTED:`stateStale`},Bf={CLOSED:`dashboard.working`,DEGRADED:`router.circuit.degraded`,HALF_OPEN:`router.circuit.probing`,OPEN:`router.circuit.down`,AUTH_ERROR:`router.circuit.authError`,QUOTA_PAUSED:`router.circuit.quotaPaused`,STALE:`router.circuit.deprecated`,UNSUPPORTED:`router.circuit.unsupported`};function Vf({outcome:e}){let{t}=hi(),n=e===`served`?Z.outcomeServed:e===`client_aborted`?Z.outcomeAborted:Z.outcomeFailed;return(0,F.jsx)(`span`,{className:n,children:t(e===`served`?`router.v2.outcome.served`:e===`client_aborted`?`router.v2.outcome.aborted`:`router.v2.outcome.failed`)})}function Q({onClose:e,onToast:t}){let{t:n}=hi(),{status:r,stats:i,history:a,loading:o,lastError:s,refresh:c,start:l,stop:u,testModel:d}=Ff(),[f,p]=(0,v.useState)(null),[m,h]=(0,v.useState)({}),[g,_]=(0,v.useState)(null),y=r?.ok===!0,b=(0,v.useMemo)(()=>Array.isArray(i?.routingOrder)?i.routingOrder:[],[i]),x=(0,v.useMemo)(()=>{let e=Array.isArray(i?.models)?i.models:[];return new Map(e.map(e=>[e.key,e]))},[i]),S=(0,v.useMemo)(()=>Array.isArray(a?.entries)?a.entries:[],[a]),C=i?.modelStates||{},w=async e=>{let r=e.indexOf(`/`);if(r<=0)return;let i=e.slice(0,r),a=e.slice(r+1);p(e);try{let r=await d(i,a);h(t=>({...t,[e]:r})),r.ok?t?.(`${e} · ${n(`router.v2.testViaRouter`)} · ${Rf(r.latencyMs)}`,`success`):t?.(`${e} · ${n(`router.v2.failed`)}: ${r.error||n(`common.unknown`)}`,`error`),c()}finally{p(null)}},T=async()=>{for(let e of b.slice(0,3))await w(e.key)};return(0,F.jsxs)(`div`,{className:Z.wrap,"data-testid":`router-v2-view`,children:[(0,F.jsxs)(`div`,{className:Z.header,children:[(0,F.jsxs)(`div`,{className:Z.titleBlock,children:[(0,F.jsx)(Lr,{size:22,stroke:1.6}),(0,F.jsx)(`h2`,{className:Z.title,children:n(`router.v2.title`)}),(0,F.jsx)(`span`,{className:Z.betaChip,children:n(`router.v2.beta`)})]}),(0,F.jsxs)(`div`,{className:Z.actions,children:[(0,F.jsxs)(`button`,{className:Z.ghostBtn,onClick:()=>void c(),title:n(`common.refresh`),children:[(0,F.jsx)(Ir,{size:15,stroke:1.6}),` `,n(`common.refresh`)]}),y?(0,F.jsxs)(`button`,{className:Z.stopBtn,onClick:()=>void u().then(e=>t?.(e.ok?`Router v2 stopped`:e.error||`Stop failed`,e.ok?`info`:`error`)),children:[(0,F.jsx)(jr,{size:15,stroke:1.6}),` `,n(`router.stop`)]}):(0,F.jsxs)(`button`,{className:Z.startBtn,onClick:()=>void l().then(e=>t?.(e.ok?`Router v2 started`:e.error||`Start failed`,e.ok?`success`:`error`)),children:[(0,F.jsx)(Ar,{size:15,stroke:1.6}),` `,n(`router.start`)]})]})]}),(0,F.jsx)(`p`,{className:Z.betaBanner,children:n(`router.v2.betaDescription`,{port:r?.port||19380})}),!y&&(0,F.jsx)(`div`,{className:Z.stoppedCard,children:o?(0,F.jsx)(`p`,{children:n(`router.v2.checking`)}):(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(`p`,{children:s?(0,F.jsx)(F.Fragment,{children:n(`router.v2.notReachable`,{error:s})}):(0,F.jsx)(F.Fragment,{children:n(`router.v2.notRunning`)})}),(0,F.jsx)(`code`,{className:Z.codeBlock,children:`free-coding-models --router-v2-bg`}),(0,F.jsx)(`p`,{className:Z.dim,children:n(`router.v2.startStableHint`)})]})}),y&&(0,F.jsxs)(F.Fragment,{children:[(0,F.jsxs)(`div`,{className:Z.cards,children:[(0,F.jsxs)(`div`,{className:Z.card,children:[(0,F.jsx)(`span`,{className:Z.cardLabel,children:n(`router.uptime`)}),(0,F.jsx)(`span`,{className:Z.cardValue,children:If(i?.uptimeSeconds)})]}),(0,F.jsxs)(`div`,{className:Z.card,children:[(0,F.jsx)(`span`,{className:Z.cardLabel,children:n(`router.v2.requestsRouted`)}),(0,F.jsx)(`span`,{className:Z.cardValue,children:i?.requestsRouted??0}),(0,F.jsx)(`span`,{className:Z.cardSub,children:n(`router.v2.failoverNeeded`,{percent:Math.round((i?.history?.failover_rate??0)*100)})})]}),(0,F.jsxs)(`div`,{className:Z.card,children:[(0,F.jsx)(`span`,{className:Z.cardLabel,children:n(`router.v2.chainHealth`)}),(0,F.jsxs)(`span`,{className:Z.cardValue,children:[(0,F.jsx)(`span`,{className:Z.stateUp,children:n(`router.v2.up`,{count:C.CLOSED??0})}),` `,(0,F.jsx)(`span`,{className:Z.stateDegraded,children:n(`router.v2.degraded`,{count:C.DEGRADED??0})}),` `,(0,F.jsx)(`span`,{className:Z.stateOpen,children:n(`router.v2.open`,{count:C.OPEN??0})})]})]}),(0,F.jsxs)(`div`,{className:Z.card,children:[(0,F.jsx)(`span`,{className:Z.cardLabel,children:n(`router.v2.validation`)}),(0,F.jsx)(`span`,{className:Z.cardValue,children:i?.failover?.contentValidation||n(`router.v2.strict`)}),(0,F.jsx)(`span`,{className:Z.cardSub,children:n(`router.v2.lastResort`,{model:i?.failover?.lastResortModel||n(`common.disabled`).toLowerCase()})})]})]}),(0,F.jsxs)(`section`,{className:Z.section,children:[(0,F.jsxs)(`div`,{className:Z.sectionHead,children:[(0,F.jsx)(`h3`,{children:n(`router.v2.fallbackChain`)}),(0,F.jsx)(`span`,{className:Z.sectionHint,children:n(`router.v2.exactOrder`)})]}),(0,F.jsxs)(`table`,{className:Z.table,children:[(0,F.jsx)(`thead`,{children:(0,F.jsxs)(`tr`,{children:[(0,F.jsx)(`th`,{children:`#`}),(0,F.jsx)(`th`,{children:n(`router.model`)}),(0,F.jsx)(`th`,{children:n(`router.state`)}),(0,F.jsx)(`th`,{children:n(`router.uptime`)}),(0,F.jsx)(`th`,{children:n(`router.v2.lastLatency`)}),(0,F.jsx)(`th`,{children:n(`router.v2.testViaRouter`)})]})}),(0,F.jsxs)(`tbody`,{children:[b.length===0&&(0,F.jsx)(`tr`,{children:(0,F.jsx)(`td`,{colSpan:6,className:Z.empty,children:n(`router.v2.emptyCandidates`)})}),b.map((e,t)=>{let r=x.get(e.key)||{},i=r.state||e.state||`UNKNOWN`,a=m[e.key];return(0,F.jsxs)(`tr`,{className:t===0?Z.primaryRow:``,children:[(0,F.jsxs)(`td`,{children:[t===0?`▶`:``,` `,e.priority??t+1]}),(0,F.jsx)(`td`,{className:Z.modelCell,children:e.key}),(0,F.jsxs)(`td`,{children:[(0,F.jsx)(`span`,{className:Z[zf[i]]||Z.stateUnknown,children:Bf[i]?n(Bf[i]):i}),r.quota_paused_until&&(0,F.jsxs)(`span`,{className:Z.pauseUntil,children:[` until `,Lf(r.quota_paused_until)]})]}),(0,F.jsx)(`td`,{children:r.uptime==null?`-`:`${Math.round(r.uptime*100)}%`}),(0,F.jsx)(`td`,{children:Rf(r.last_latency_ms)}),(0,F.jsx)(`td`,{children:(0,F.jsxs)(`button`,{className:Z.testBtn,disabled:f===e.key,onClick:()=>void w(e.key),title:n(`router.v2.testTitle`),children:[(0,F.jsx)(gr,{size:13,stroke:1.6}),f===e.key?n(`router.v2.testing`):a?a.ok?`OK ${Rf(a.latencyMs)}`:n(`router.v2.failed`):n(`router.v2.test`)]})})]},e.key)})]})]}),b.length>0&&(0,F.jsx)(`div`,{className:Z.sectionActions,children:(0,F.jsxs)(`button`,{className:Z.ghostBtn,disabled:f!==null,onClick:()=>void T(),children:[(0,F.jsx)(gr,{size:14,stroke:1.6}),` `,n(`router.v2.testTopThree`)]})})]}),(0,F.jsxs)(`section`,{className:Z.section,children:[(0,F.jsxs)(`div`,{className:Z.sectionHead,children:[(0,F.jsx)(`h3`,{children:n(`router.v2.requestChains`)}),(0,F.jsx)(`span`,{className:Z.sectionHint,children:n(`router.v2.attemptsHint`)})]}),S.length===0?(0,F.jsxs)(`p`,{className:Z.empty,children:[n(`router.noRequests`),` `,(0,F.jsxs)(`code`,{children:[`http://localhost:`,r?.port||19380,`/v1`]}),` · `,(0,F.jsx)(`code`,{children:`fcm`})]}):(0,F.jsxs)(`table`,{className:Z.table,children:[(0,F.jsx)(`thead`,{children:(0,F.jsxs)(`tr`,{children:[(0,F.jsx)(`th`,{children:n(`router.time`)}),(0,F.jsx)(`th`,{children:n(`router.activeSetLabel`)}),(0,F.jsx)(`th`,{children:n(`router.v2.outcome`)}),(0,F.jsx)(`th`,{children:n(`router.v2.fallbackChain`)}),(0,F.jsx)(`th`,{children:n(`router.v2.wallTime`)}),(0,F.jsx)(`th`,{})]})}),(0,F.jsx)(`tbody`,{children:S.map(e=>{let t=e.request_id||e.at,r=g===t;return(0,F.jsxs)(v.Fragment,{children:[(0,F.jsxs)(`tr`,{onClick:()=>_(r?null:t),className:Z.chainRow,children:[(0,F.jsx)(`td`,{children:Lf(e.at)}),(0,F.jsx)(`td`,{children:e.set||`-`}),(0,F.jsx)(`td`,{children:(0,F.jsx)(Vf,{outcome:e.outcome})}),(0,F.jsx)(`td`,{className:Z.chainCell,children:e.summary||e.served_model||`-`}),(0,F.jsx)(`td`,{children:Rf(e.wall_ms)}),(0,F.jsx)(`td`,{children:e.last_resort_used?(0,F.jsx)(`span`,{className:Z.lastResort,children:n(`router.v2.lastResortTag`)}):null})]}),r&&(0,F.jsx)(`tr`,{className:Z.detailRow,children:(0,F.jsx)(`td`,{colSpan:6,children:(0,F.jsxs)(`div`,{className:Z.detailBody,children:[(0,F.jsxs)(`div`,{children:[(0,F.jsxs)(`strong`,{children:[n(`router.v2.attempts`),`:`]}),(0,F.jsx)(`ol`,{children:(e.attempts||[]).map((e,n)=>(0,F.jsxs)(`li`,{children:[(0,F.jsx)(`code`,{children:e.model}),e.status!=null&&` status ${e.status}`,e.latency_ms!=null&&` · ${Rf(e.latency_ms)}`,e.error&&(0,F.jsxs)(`span`,{className:Z.stateOpen,children:[` · `,e.error]})]},`${t}-a${n}`))})]}),(0,F.jsxs)(`div`,{children:[(0,F.jsxs)(`strong`,{children:[n(`router.v2.skipped`),`:`]}),(e.skipped||[]).length===0?(0,F.jsxs)(`span`,{children:[` `,n(`common.none`)]}):(0,F.jsx)(`ul`,{children:e.skipped.map((e,n)=>(0,F.jsxs)(`li`,{children:[(0,F.jsx)(`code`,{children:e.model}),` · `,e.reason]},`${t}-s${n}`))})]})]})})})]},t)})})]})]}),(0,F.jsxs)(`section`,{className:Z.section,children:[(0,F.jsx)(`div`,{className:Z.sectionHead,children:(0,F.jsx)(`h3`,{children:n(`router.quickSetup`)})}),(0,F.jsxs)(`div`,{className:Z.setupGrid,children:[(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`span`,{className:Z.cardLabel,children:n(`router.v2.openAiTools`)}),(0,F.jsxs)(`code`,{className:Z.codeBlock,children:[`base_url: http://localhost:`,r?.port||19380,`/v1`,`
42
- `,`model: fcm`,`
43
- `,`api_key: fcm-local`]})]}),(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`span`,{className:Z.cardLabel,children:n(`router.v2.anthropicTools`)}),(0,F.jsxs)(`code`,{className:Z.codeBlock,children:[`base_url: http://localhost:`,r?.port||19380,`
44
- `,`POST /v1/messages`,`
45
- `,`model: fcm (or fcm:@provider/model)`]})]})]}),(0,F.jsxs)(`p`,{className:Z.dim,children:[n(`router.v2.pinOneHint`),` `,(0,F.jsxs)(`code`,{children:[`model: "fcm:@`,b[0]?.key||`provider/model`,`"`]})]})]})]})]})}var Hf={overlay:`_overlay_1kxet_7`,modal:`_modal_1kxet_16`,header:`_header_1kxet_40`,headerLeft:`_headerLeft_1kxet_49`,headerTitle:`_headerTitle_1kxet_56`,headerSubtitle:`_headerSubtitle_1kxet_64`,headerActions:`_headerActions_1kxet_70`,iconBtn:`_iconBtn_1kxet_76`,modelBar:`_modelBar_1kxet_94`,modelLabel:`_modelLabel_1kxet_105`,modelSelect:`_modelSelect_1kxet_110`,presetChip:`_presetChip_1kxet_128`,prePromptToggle:`_prePromptToggle_1kxet_145`,transcript:`_transcript_1kxet_158`,chatBody:`_chatBody_1kxet_171`,empty:`_empty_1kxet_178`,emptyTitle:`_emptyTitle_1kxet_190`,emptyHint:`_emptyHint_1kxet_196`,message:`_message_1kxet_202`,msgIn:`_msgIn_1kxet_1`,user:`_user_1kxet_215`,assistant:`_assistant_1kxet_219`,system:`_system_1kxet_223`,messageRole:`_messageRole_1kxet_228`,bubble:`_bubble_1kxet_237`,codeBlock:`_codeBlock_1kxet_268`,meta:`_meta_1kxet_280`,metaChip:`_metaChip_1kxet_289`,provider:`_provider_1kxet_300`,error:`_error_1kxet_305`,cursor:`_cursor_1kxet_310`,blink:`_blink_1kxet_1`,inputBar:`_inputBar_1kxet_325`,textarea:`_textarea_1kxet_335`,sendBtn:`_sendBtn_1kxet_360`,errorBar:`_errorBar_1kxet_385`,stopBar:`_stopBar_1kxet_397`,stopBtn:`_stopBtn_1kxet_409`,daemonStartPanel:`_daemonStartPanel_1kxet_426`,daemonStartTitle:`_daemonStartTitle_1kxet_438`,daemonStartHint:`_daemonStartHint_1kxet_444`,daemonStartBtn:`_daemonStartBtn_1kxet_451`,daemonStartAlt:`_daemonStartAlt_1kxet_483`,spin:`_spin_1kxet_497`,spinAnim:`_spinAnim_1kxet_1`,fadeIn:`_fadeIn_1kxet_1`,slideUp:`_slideUp_1kxet_1`},Uf=[`Write a Python fizzbuzz with type hints`,`Explain Big O notation with three examples`,`Refactor a deeply nested for-loop into map/filter`,`Write a tiny Express endpoint that returns JSON`];function Wf({routerStatus:e,daemonRunning:t}){let{t:n}=hi();return t===!0?(0,F.jsxs)(`span`,{className:Hf.metaChip,children:[(0,F.jsx)(Kn,{size:11}),n(`playground.routerOnline`)]}):t===!1?(0,F.jsxs)(`span`,{className:`${Hf.metaChip} ${Hf.error}`,children:[(0,F.jsx)(Bn,{size:11}),n(`playground.routerOffline`)]}):(0,F.jsxs)(`span`,{className:Hf.metaChip,children:[(0,F.jsx)(Tr,{size:11,className:Hf.spin}),n(`playground.checkingRouter`)]})}function Gf({onClose:e,onToast:t,models:n,routerStatus:r}){let{t:i}=hi(),[a,o]=(0,v.useState)(null),[s,c]=(0,v.useState)(!0),[l,u]=(0,v.useState)(!0),[d,f]=(0,v.useState)(``),[p,m]=(0,v.useState)(r?.running===!0||null),[h,g]=(0,v.useState)(!1),[_,y]=(0,v.useState)(5),b=(0,v.useRef)(null),x=(0,v.useRef)(null),S=(0,v.useRef)(!1),[C,w]=(0,v.useState)({count:0,totalTokens:0}),T=(0,v.useRef)(null);(0,v.useEffect)(()=>{fetch(`/api/router/preprompt`).then(e=>e.json()).then(e=>{e&&typeof e==`object`&&(u(e.enabled===!0),typeof e.text==`string`&&f(e.text))}).catch(()=>{})},[]),(0,v.useEffect)(()=>{if(a!==null)return;let e=(Array.isArray(n)?n:[]).filter(e=>e.status===`up`&&e.hasApiKey&&!e.isPinging);if(e.length>0){let t={"S+":0,S:1,"A+":2,A:3,"A-":4,"B+":5,B:6,C:7};e.sort((e,n)=>{let r=t[e.tier]??99,i=t[n.tier]??99;return r===i?(typeof e.avg==`number`?e.avg:99999)-(typeof n.avg==`number`?n.avg:99999):r-i}),o(`${e[0].providerKey}/${e[0].modelId}`);return}o(`fcm`)},[n,a]),(0,v.useEffect)(()=>{let e=!0;async function t(){try{let t=await(await fetch(`/api/router/status`)).json();if(!e)return;m(t?.running===!0)}catch{e&&m(!1)}}return t(),()=>{e=!1,b.current&&clearInterval(b.current),x.current&&clearInterval(x.current)}},[]);let ee=(0,v.useCallback)(async()=>{if(!h){b.current&&=(clearInterval(b.current),null),S.current=!0,g(!0);try{await fetch(`/api/router/start`,{method:`POST`});let e=0;await new Promise(t=>{x.current=setInterval(async()=>{e+=1;try{(await(await fetch(`/api/router/status`)).json())?.running&&(clearInterval(x.current),m(!0),g(!1),t())}catch{}e>=30&&(clearInterval(x.current),g(!1),t())},1e3)})}catch{g(!1)}}},[h]);(0,v.useEffect)(()=>{if(p!==!1||a!==`fcm`||S.current)return;let e=5;return y(5),b.current=setInterval(()=>{--e,y(e),e<=0&&(clearInterval(b.current),S.current=!0,ee())},1e3),()=>{b.current&&clearInterval(b.current)}},[p,a,ee]);let E=(0,v.useMemo)(()=>{let e=[{value:`fcm`,label:i(`playground.autoRouterRecommended`)}];if(Array.isArray(n))for(let t of n.slice(0,200)){let n=t.modelId||t.id;if(!n)continue;let r=t.label||n;e.push({value:`${t.providerKey}/${n}`,label:`${t.providerKey}/${n} (${r})`})}return e},[n,i]),te=(0,v.useCallback)(e=>{w({count:e.count,totalTokens:e.totalTokens})},[]),D=(0,v.useCallback)(()=>{T.current?.clear(),w({count:0,totalTokens:0})},[]),O=a!==`fcm`||p===!0,ne=C.count>0,re=a===`fcm`&&!ne&&p===!1&&!h,ie=a===`fcm`&&!ne&&h,ae=!re&&!ie;return(0,F.jsx)(`div`,{className:Hf.overlay,onClick:t=>{t.target===t.currentTarget&&e()},children:(0,F.jsxs)(`div`,{className:Hf.modal,role:`dialog`,"aria-label":i(`playground.title`),children:[(0,F.jsxs)(`div`,{className:Hf.header,children:[(0,F.jsxs)(`div`,{className:Hf.headerLeft,children:[(0,F.jsxs)(`div`,{className:Hf.headerTitle,children:[(0,F.jsx)(Or,{size:18}),i(`playground.title`)]}),(0,F.jsx)(`div`,{className:Hf.headerSubtitle,children:i(`playground.messagesTokens`,{messages:C.count,tokens:C.totalTokens})})]}),(0,F.jsxs)(`div`,{className:Hf.headerActions,children:[(0,F.jsx)(`button`,{className:Hf.iconBtn,onClick:D,title:i(`playground.clear`),disabled:!ne,children:(0,F.jsx)(Gr,{size:16})}),(0,F.jsx)(`button`,{className:Hf.iconBtn,onClick:e,title:`${i(`common.close`)} (Esc)`,children:(0,F.jsx)(Yr,{size:16})})]})]}),(0,F.jsxs)(`div`,{className:Hf.modelBar,children:[(0,F.jsxs)(`span`,{className:Hf.modelLabel,children:[i(`playground.model`),`:`]}),(0,F.jsx)(`select`,{className:Hf.modelSelect,value:a??`fcm`,onChange:e=>o(e.target.value),disabled:!ae,children:E.map(e=>(0,F.jsx)(`option`,{value:e.value,children:e.label},e.value))}),(0,F.jsx)(`button`,{className:Hf.presetChip,onClick:()=>c(e=>!e),title:i(`playground.toggleStreaming`),children:i(s?`playground.streamOn`:`playground.streamOff`)}),(0,F.jsxs)(`label`,{className:Hf.prePromptToggle,title:i(`playground.prePromptHint`),children:[(0,F.jsx)(`input`,{type:`checkbox`,checked:l,onChange:e=>u(e.target.checked)}),i(`playground.persona`)]}),(0,F.jsx)(Wf,{routerStatus:r,daemonRunning:p})]}),l&&d&&(0,F.jsxs)(`div`,{className:Hf.modelBar,style:{borderTop:`none`,background:`transparent`,paddingTop:4,paddingBottom:8,fontSize:11},children:[(0,F.jsxs)(`span`,{className:Hf.modelLabel,style:{flexShrink:0},children:[i(`playground.persona`),`:`]}),(0,F.jsx)(`span`,{style:{opacity:.7,fontStyle:`italic`},children:d.length>160?`${d.slice(0,160)}…`:d})]}),(0,F.jsxs)(`div`,{className:Hf.chatBody,children:[re?(0,F.jsxs)(`div`,{className:Hf.daemonStartPanel,children:[(0,F.jsx)(Bn,{size:32,style:{color:`#fbbf24`,opacity:.8}}),(0,F.jsx)(`div`,{className:Hf.daemonStartTitle,children:i(`playground.daemonStopped`)}),(0,F.jsx)(`div`,{className:Hf.daemonStartHint,children:i(`playground.routerHint`)}),(0,F.jsx)(`button`,{className:Hf.daemonStartBtn,onClick:ee,title:i(`playground.startDaemon`),children:h?(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(Tr,{size:14,className:Hf.spin}),` `,i(`playground.startingDaemon`)]}):(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(Ar,{size:14}),` `,i(`playground.startRouter`),_>0&&!S.current?` (${i(`playground.autoStartIn`,{seconds:_})})`:``]})}),(0,F.jsxs)(`div`,{className:Hf.daemonStartAlt,children:[i(`playground.runCommand`),` `,(0,F.jsx)(`code`,{children:`free-coding-models --daemon-bg`})]})]}):ie?(0,F.jsxs)(`div`,{className:Hf.daemonStartPanel,children:[(0,F.jsx)(Tr,{size:32,className:Hf.spin,style:{color:`var(--accent, #22c55e)`}}),(0,F.jsx)(`div`,{className:Hf.daemonStartTitle,children:i(`playground.startingDaemon`)}),(0,F.jsx)(`div`,{className:Hf.daemonStartHint,children:i(`playground.waitingForDaemon`)})]}):null,ae&&(0,F.jsx)(Cu,{ref:T,model:a||`fcm`,variant:`full`,stream:s,disabled:!O,onTurnComplete:te,suggestions:Uf,emptyTitle:i(`playground.emptyTitle`),emptyHint:i(`playground.emptyHint`),emptyIcon:(0,F.jsx)(Or,{size:42,style:{opacity:.5}}),placeholder:i(`playground.fullPlaceholder`)})]})]})})}function Kf(){let[e,t]=(0,v.useState)([]),[n,r]=(0,v.useState)(!0),i=(0,v.useCallback)(async()=>{r(!0);try{let e=await(await fetch(`/api/installed-models`)).json();t(e.results||[])}catch{t([])}finally{r(!1)}},[]);return(0,v.useEffect)(()=>{i()},[i]),{results:e,loading:n,refresh:i,disableModel:(0,v.useCallback)(async(e,t)=>{let n=await(await fetch(`/api/installed-models/${encodeURIComponent(e)}/${encodeURIComponent(t)}/disable`,{method:`POST`})).json();return n.success&&await i(),n},[i])}}var qf={overlay:`_overlay_rvjv7_1`,modal:`_modal_rvjv7_10`,header:`_header_rvjv7_24`,title:`_title_rvjv7_32`,count:`_count_rvjv7_42`,headerActions:`_headerActions_rvjv7_51`,refreshBtn:`_refreshBtn_rvjv7_57`,closeBtn:`_closeBtn_rvjv7_71`,body:`_body_rvjv7_82`,empty:`_empty_rvjv7_88`,hint:`_hint_rvjv7_96`,toolGroup:`_toolGroup_rvjv7_102`,toolHeader:`_toolHeader_rvjv7_106`,toolEmoji:`_toolEmoji_rvjv7_113`,toolLabel:`_toolLabel_rvjv7_117`,toolCount:`_toolCount_rvjv7_123`,toolMissing:`_toolMissing_rvjv7_128`,modelList:`_modelList_rvjv7_139`,modelRow:`_modelRow_rvjv7_146`,modelIcon:`_modelIcon_rvjv7_157`,modelName:`_modelName_rvjv7_161`,modelTier:`_modelTier_rvjv7_166`,modelId:`_modelId_rvjv7_175`,disableBtn:`_disableBtn_rvjv7_185`,fadeIn:`_fadeIn_rvjv7_1`};function Jf({onClose:e,onToast:t}){let{t:n}=hi(),{results:r,loading:i,refresh:a,disableModel:o}=Kf(),s=async(e,r)=>{try{let i=await o(e,r);i.success?t?.(n(`installed.disabled`,{model:r,tool:e}),`success`):t?.(n(`installed.failed`,{error:i.error||n(`common.unknown`)}),`error`)}catch(e){t?.(n(`installed.failed`,{error:e.message}),`error`)}},c=r.reduce((e,t)=>e+t.models.length,0);return(0,F.jsx)(`div`,{className:qf.overlay,onClick:t=>t.target===t.currentTarget&&e(),children:(0,F.jsxs)(`div`,{className:qf.modal,children:[(0,F.jsxs)(`div`,{className:qf.header,children:[(0,F.jsxs)(`h2`,{className:qf.title,children:[(0,F.jsx)(_r,{size:20,stroke:1.5}),n(`installed.title`),!i&&(0,F.jsx)(`span`,{className:qf.count,children:c})]}),(0,F.jsxs)(`div`,{className:qf.headerActions,children:[(0,F.jsx)(`button`,{className:qf.refreshBtn,onClick:a,title:n(`installed.refresh`),"aria-label":n(`installed.refresh`),children:(0,F.jsx)(Ir,{size:14})}),(0,F.jsx)(`button`,{className:qf.closeBtn,onClick:e,"aria-label":`Close`,children:`✕`})]})]}),(0,F.jsxs)(`div`,{className:qf.body,children:[i&&(0,F.jsx)(`div`,{className:qf.empty,children:n(`installed.scanning`)}),!i&&c===0&&(0,F.jsxs)(`div`,{className:qf.empty,children:[n(`installed.noModels`),(0,F.jsx)(`br`,{}),(0,F.jsx)(`span`,{className:qf.hint,children:n(`installed.configureHint`)})]}),!i&&r.map(e=>(0,F.jsxs)(`div`,{className:qf.toolGroup,children:[(0,F.jsxs)(`div`,{className:qf.toolHeader,children:[(0,F.jsx)(`span`,{className:qf.toolEmoji,children:e.toolEmoji}),(0,F.jsx)(`span`,{className:qf.toolLabel,children:e.toolLabel}),(0,F.jsx)(`span`,{className:qf.toolCount,children:n(`install.modelsCount`,{count:e.models.length})}),!e.isValid&&(0,F.jsx)(`span`,{className:qf.toolMissing,children:n(`installed.notInstalled`)})]}),e.models.length>0&&(0,F.jsx)(`div`,{className:qf.modelList,children:e.models.map(t=>(0,F.jsxs)(`div`,{className:qf.modelRow,children:[(0,F.jsx)(`span`,{className:qf.modelIcon,children:t.isExternal?`🔗`:`✅`}),(0,F.jsx)(`span`,{className:qf.modelName,children:t.label}),t.tier&&t.tier!==`-`&&(0,F.jsx)(`span`,{className:qf.modelTier,children:t.tier}),(0,F.jsx)(`span`,{className:qf.modelId,title:t.modelId,children:t.modelId}),(0,F.jsx)(`button`,{className:qf.disableBtn,onClick:()=>s(e.toolMode,t.modelId),title:n(`installed.removeTitle`),children:(0,F.jsx)(Gr,{size:12})})]},`${e.toolMode}-${t.modelId}`))})]},e.toolMode))]})]})})}var $={overlay:`_overlay_1nrgq_1`,modal:`_modal_1nrgq_10`,header:`_header_1nrgq_24`,title:`_title_1nrgq_32`,closeBtn:`_closeBtn_1nrgq_42`,steps:`_steps_1nrgq_54`,step:`_step_1nrgq_54`,stepActive:`_stepActive_1nrgq_71`,stepDone:`_stepDone_1nrgq_76`,stepNum:`_stepNum_1nrgq_80`,stepLabel:`_stepLabel_1nrgq_105`,body:`_body_1nrgq_111`,stepContent:`_stepContent_1nrgq_118`,stepDesc:`_stepDesc_1nrgq_120`,loading:`_loading_1nrgq_126`,empty:`_empty_1nrgq_126`,grid:`_grid_1nrgq_134`,pickCard:`_pickCard_1nrgq_140`,pickActive:`_pickActive_1nrgq_156`,pickEmoji:`_pickEmoji_1nrgq_162`,pickLabel:`_pickLabel_1nrgq_166`,pickMeta:`_pickMeta_1nrgq_171`,scopeToggle:`_scopeToggle_1nrgq_177`,scopeBtn:`_scopeBtn_1nrgq_183`,scopeActive:`_scopeActive_1nrgq_194`,modelGrid:`_modelGrid_1nrgq_202`,modelCard:`_modelCard_1nrgq_210`,modelSelected:`_modelSelected_1nrgq_224`,modelName:`_modelName_1nrgq_230`,modelTier:`_modelTier_1nrgq_236`,allNotice:`_allNotice_1nrgq_247`,installingState:`_installingState_1nrgq_255`,installingLabel:`_installingLabel_1nrgq_265`,installingSub:`_installingSub_1nrgq_271`,spinner:`_spinner_1nrgq_276`,spin:`_spin_1nrgq_276`,doneState:`_doneState_1nrgq_280`,doneFadeIn:`_doneFadeIn_1nrgq_1`,doneTitle:`_doneTitle_1nrgq_290`,doneSub:`_doneSub_1nrgq_296`,checkCircle:`_checkCircle_1nrgq_308`,checkPop:`_checkPop_1nrgq_1`,errorDot:`_errorDot_1nrgq_320`,installPath:`_installPath_1nrgq_334`,footer:`_footer_1nrgq_363`,backBtn:`_backBtn_1nrgq_370`,nextBtn:`_nextBtn_1nrgq_384`,doneBtn:`_doneBtn_1nrgq_401`,donePop:`_donePop_1nrgq_1`,fadeIn:`_fadeIn_1nrgq_1`},Yf=[`install.step.provider`,`install.step.tool`,`install.step.models`,`install.step.install`],Xf=[`Provider`,`Tool`,`Models`,`Install`];function Zf({onClose:e,onToast:t}){let{t:n}=hi(),[r,i]=(0,v.useState)(0),[a,o]=(0,v.useState)([]),[s,c]=(0,v.useState)(null),[l,u]=(0,v.useState)([]),[d,f]=(0,v.useState)(null),[p,m]=(0,v.useState)([]),[h,g]=(0,v.useState)(`all`),[_,y]=(0,v.useState)(!1),[b,x]=(0,v.useState)(null),[S,C]=(0,v.useState)(!0),w=[{id:`opencode`,label:`OpenCode CLI`,emoji:`💻`},{id:`opencode-desktop`,label:`OpenCode Desktop`,emoji:`🖥️`},{id:`openclaw`,label:`OpenClaw`,emoji:`🦞`},{id:`crush`,label:`Crush`,emoji:`💘`},{id:`goose`,label:`Goose`,emoji:`🪿`},{id:`pi`,label:`Pi`,emoji:`π`},{id:`aider`,label:`Aider`,emoji:`🛠`},{id:`qwen`,label:`Qwen`,emoji:`🐉`},{id:`openhands`,label:`OpenHands`,emoji:`🤲`},{id:`amp`,label:`Amp`,emoji:`⚡`},{id:`forgecode`,label:`ForgeCode`,emoji:`🔥`},{id:`zcode`,label:`ZCode`,emoji:`🧊`},{id:`fcm_router`,label:`FCM Router`,emoji:`🔄`}];(0,v.useEffect)(()=>{fetch(`/api/install-endpoints/providers`).then(e=>e.json()).then(e=>{o(e.providers||[]),C(!1)}).catch(()=>C(!1))},[]),(0,v.useEffect)(()=>{s&&fetch(`/api/install-endpoints/catalog?provider=${s.providerKey}`).then(e=>e.json()).then(e=>u(e.models||[])).catch(()=>u([]))},[s]);let T=(0,v.useCallback)(e=>{m(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},[]),ee=(0,v.useCallback)(()=>{m(l.map(e=>e.modelId)),g(`all`)},[l]);(0,v.useCallback)(()=>{m([]),g(`selected`)},[]);let E=()=>r===0?!!s:r===1?!!d:r!==2||h===`all`||p.length>0,te=async()=>{i(3),y(!0),x(null);try{let e=await(await fetch(`/api/install-endpoints/wizard`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({providerKey:s.providerKey,toolMode:d,scope:h,modelIds:h===`selected`?p:[]})})).json();e.success?(x(e),t?.(`${n(`install.installed`)} ${n(`install.modelsCount`,{count:e.modelCount})} ${s.label} → ${w.find(e=>e.id===d)?.label||d}.`,`success`)):(x(null),t?.(`${n(`install.installFailed`)}: ${e.error||n(`common.unknown`)}`,`error`),i(2))}catch(e){x(null),t?.(`${n(`install.installFailed`)}: ${e.message}`,`error`),i(2)}finally{y(!1)}};return(0,F.jsx)(`div`,{className:$.overlay,onClick:t=>t.target===t.currentTarget&&e(),children:(0,F.jsxs)(`div`,{className:$.modal,children:[(0,F.jsxs)(`div`,{className:$.header,children:[(0,F.jsxs)(`h2`,{className:$.title,children:[(0,F.jsx)(Nr,{size:20,stroke:1.5}),n(`install.title`)]}),(0,F.jsx)(`button`,{className:$.closeBtn,onClick:e,"aria-label":n(`common.close`),children:`✕`})]}),(0,F.jsx)(`div`,{className:$.steps,children:Xf.map((e,t)=>(0,F.jsxs)(`div`,{className:`${$.step} ${t===r?$.stepActive:t<r?$.stepDone:``}`,children:[(0,F.jsx)(`span`,{className:$.stepNum,children:t<r?(0,F.jsx)(Jn,{size:12}):t+1}),(0,F.jsx)(`span`,{className:$.stepLabel,children:n(Yf[t])})]},t))}),(0,F.jsxs)(`div`,{className:$.body,children:[r===0&&(0,F.jsxs)(`div`,{className:$.stepContent,children:[(0,F.jsx)(`p`,{className:$.stepDesc,children:n(`install.chooseProviderHint`)}),S&&(0,F.jsx)(`div`,{className:$.loading,children:n(`install.loadingProviders`)}),!S&&a.length===0&&(0,F.jsx)(`div`,{className:$.empty,children:n(`install.noProvidersConfigured`)}),(0,F.jsx)(`div`,{className:$.grid,children:a.map(e=>(0,F.jsxs)(`button`,{className:`${$.pickCard} ${s?.providerKey===e.providerKey?$.pickActive:``}`,onClick:()=>{c(e),i(1)},children:[(0,F.jsx)(`span`,{className:$.pickLabel,children:e.label}),(0,F.jsx)(`span`,{className:$.pickMeta,children:n(`install.modelsCount`,{count:e.modelCount})})]},e.providerKey))})]}),r===1&&(0,F.jsxs)(`div`,{className:$.stepContent,children:[(0,F.jsx)(`p`,{className:$.stepDesc,children:n(`install.chooseToolHint`,{provider:s?.label||``})}),(0,F.jsx)(`div`,{className:$.grid,children:w.map(e=>(0,F.jsxs)(`button`,{className:`${$.pickCard} ${d===e.id?$.pickActive:``}`,onClick:()=>{f(e.id),i(2)},children:[(0,F.jsx)(`span`,{className:$.pickEmoji,children:e.emoji}),(0,F.jsx)(`span`,{className:$.pickLabel,children:e.label})]},e.id))})]}),r===2&&(0,F.jsxs)(`div`,{className:$.stepContent,children:[(0,F.jsx)(`p`,{className:$.stepDesc,children:n(`install.chooseModelsHint`,{provider:s?.label||``,tool:w.find(e=>e.id===d)?.label||``})}),(0,F.jsxs)(`div`,{className:$.scopeToggle,children:[(0,F.jsx)(`button`,{className:`${$.scopeBtn} ${h===`all`?$.scopeActive:``}`,onClick:()=>{g(`all`),ee()},children:n(`install.scope.all`)}),(0,F.jsx)(`button`,{className:`${$.scopeBtn} ${h===`selected`?$.scopeActive:``}`,onClick:()=>g(`selected`),children:n(`install.selectModels`)})]}),h===`selected`&&(0,F.jsx)(`div`,{className:$.modelGrid,children:l.map(e=>(0,F.jsxs)(`button`,{className:`${$.modelCard} ${p.includes(e.modelId)?$.modelSelected:``}`,onClick:()=>T(e.modelId),children:[(0,F.jsx)(`span`,{className:$.modelName,children:e.label}),(0,F.jsx)(`span`,{className:$.modelTier,children:e.tier})]},e.modelId))}),h===`all`&&(0,F.jsx)(`div`,{className:$.allNotice,children:n(`install.allModelsNotice`,{count:l.length,provider:s?.label||``})})]}),r===3&&(0,F.jsxs)(`div`,{className:$.stepContent,children:[_&&(0,F.jsxs)(`div`,{className:$.installingState,children:[(0,F.jsx)(Tr,{size:32,className:$.spinner}),(0,F.jsx)(`span`,{className:$.installingLabel,children:n(`install.installingCount`,{count:h===`all`?n(`install.scope.all`).toLowerCase():p.length})}),(0,F.jsx)(`span`,{className:$.installingSub,children:n(`install.writingConfig`,{tool:w.find(e=>e.id===d)?.label||``})})]}),!_&&b&&(0,F.jsxs)(`div`,{className:$.doneState,children:[(0,F.jsx)(`div`,{className:$.checkCircle,children:(0,F.jsx)(Jn,{size:36})}),(0,F.jsx)(`h3`,{className:$.doneTitle,children:n(`install.installed`)}),(0,F.jsxs)(`p`,{className:$.doneSub,children:[b.modelCount,` model`,b.modelCount===1?``:`s`,` from `,(0,F.jsx)(`strong`,{children:s?.label}),` → `,(0,F.jsx)(`strong`,{children:b.toolLabel})]}),(0,F.jsx)(`code`,{className:$.installPath,children:b.path})]}),!_&&!b&&(0,F.jsxs)(`div`,{className:$.doneState,children:[(0,F.jsx)(`span`,{className:$.errorDot,children:`✕`}),(0,F.jsx)(`h3`,{className:$.doneTitle,children:n(`install.installFailed`)}),(0,F.jsx)(`p`,{className:$.doneSub,children:n(`install.retryHint`)})]})]})]}),(0,F.jsxs)(`div`,{className:$.footer,children:[r>0&&r<3&&(0,F.jsxs)(`button`,{className:$.backBtn,onClick:()=>{i(e=>Math.max(e-1,0))},children:[(0,F.jsx)(Zn,{size:14}),n(`common.back`)]}),r===3&&!_&&!b&&(0,F.jsxs)(`button`,{className:$.backBtn,onClick:()=>i(2),children:[(0,F.jsx)(Zn,{size:14}),n(`common.back`)]}),r<3&&(0,F.jsx)(`button`,{className:$.nextBtn,onClick:()=>{if(r===2){te();return}i(e=>Math.min(e+1,3))},disabled:!E(),children:r===2?(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(Nr,{size:14}),n(`install.install`)]}):(0,F.jsxs)(F.Fragment,{children:[n(`install.next`),(0,F.jsx)(Qn,{size:14})]})}),r===3&&!_&&b&&(0,F.jsxs)(`button`,{className:$.doneBtn,onClick:e,children:[(0,F.jsx)(Jn,{size:14}),n(`install.done`)]})]})]})})}var Qf={container:`_container_18l8h_1`},$f={toast:`_toast_73ezc_1`,slideIn:`_slideIn_73ezc_1`,success:`_success_73ezc_17`,error:`_error_73ezc_18`,warning:`_warning_73ezc_19`,info:`_info_73ezc_20`,icon:`_icon_73ezc_27`,message:`_message_73ezc_28`,close:`_close_73ezc_29`,exiting:`_exiting_73ezc_38`,slideOut:`_slideOut_73ezc_1`},ep={success:`✅`,error:`❌`,warning:`⚠️`,info:`ℹ️`};function tp({message:e,type:t=`info`,duration:n=3500,onDismiss:r}){let{t:i}=hi(),a=(0,v.useRef)(null);return(0,v.useEffect)(()=>(a.current=setTimeout(r,n),()=>clearTimeout(a.current)),[n,r]),(0,F.jsxs)(`div`,{className:`${$f.toast} ${$f[t]}`,children:[(0,F.jsx)(`span`,{className:$f.icon,children:ep[t]||`📌`}),(0,F.jsx)(`span`,{className:$f.message,children:e}),(0,F.jsx)(`button`,{className:$f.close,onClick:r,"aria-label":i(`common.close`),children:`×`})]})}function np({toasts:e,dismissToast:t}){return(0,F.jsx)(`div`,{className:Qf.container,children:e.map(e=>(0,F.jsx)(tp,{message:e.message,type:e.type,onDismiss:()=>t(e.id)},e.id))})}var rp=0;function ip(){let{t:e}=hi(),{models:t,connected:n,nextPingAt:r,isPinging:i,pingMode:a,globalBenchmarkRunning:o,globalBenchmarkTotal:s,globalBenchmarkCompleted:c}=It(),{theme:l,cycle:u}=un(),[d,f]=(0,v.useState)(`dashboard`),[p,m]=(0,v.useState)(null),[h,g]=(0,v.useState)(!1),[_,y]=(0,v.useState)(!1),[b,x]=(0,v.useState)(null),[S,C]=(0,v.useState)(null),[w,T]=(0,v.useState)([]),ee=(0,v.useRef)(Date.now());(0,v.useEffect)(()=>{try{typeof window<`u`&&window.posthog?.capture&&window.posthog.capture(`app_web_start`,{version:`0.5.96`,timestamp:new Date().toISOString()})}catch{}},[]),(0,v.useEffect)(()=>{if(d===`router`)try{typeof window<`u`&&window.posthog?.capture&&window.posthog.capture(`app_router_start`,{version:`0.5.96`,timestamp:new Date().toISOString()})}catch{}},[d]);let E=(0,v.useCallback)((e,t=`info`)=>{let n=++rp;T(r=>[...r,{id:n,message:e,type:t}]),setTimeout(()=>{T(e=>e.filter(e=>e.id!==n))},4e3)},[]),te=(0,v.useCallback)(e=>{T(t=>t.filter(t=>t.id!==e))},[]),{filtered:D,filterTier:O,setFilterTier:ne,filterStatus:re,setFilterStatus:ie,filterProvider:ae,setFilterProvider:k,filterVerdict:oe,setFilterVerdict:se,filterHealth:ce,setFilterHealth:le,visibilityMode:ue,setVisibilityMode:de,searchQuery:fe,setSearchQuery:pe,customTextFilter:me,setCustomTextFilter:he,sortColumn:ge,sortDirection:_e,setSortColumn:ve,setSortDirection:ye,toggleSort:be,resetView:A}=on(t),{toolMode:j,setToolMode:xe,cycleToolMode:Se}=gn({onToast:E});Nn({currentView:d,setCurrentView:f,filterState:{filterTier:O,setFilterTier:ne,filterStatus:re,setFilterStatus:ie,filterProvider:ae,setFilterProvider:k,filterVerdict:oe,setFilterVerdict:se,filterHealth:ce,setFilterHealth:le,sortColumn:ge,sortDirection:_e,setSortColumn:ve,setSortDirection:ye,toggleSort:be,setSearchQuery:pe,filterState:null,searchQuery:fe},paletteOpen:_,setPaletteOpen:y,toolMode:j,setToolMode:xe});let Ce=fn({models:t}),we=(0,v.useCallback)(async(e,t=null)=>{let n=t||j||`opencode`;if(e){if(!Sn(e.providerKey,n)){C({model:e,toolMode:n});return}try{let t=await fetch(`/api/install-endpoint`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({providerKey:e.providerKey,modelId:e.modelId,toolMode:n})}),r=await t.json().catch(()=>({}));if(t.status===422&&r.code===`incompatible_model`){C({model:e,toolMode:n});return}if(!t.ok)throw Error(r.error||`HTTP ${t.status}`);E(`Endpoint installed for ${e.label} in ${n}. Start the tool yourself.`,`success`)}catch(e){E(`Endpoint install failed: ${e.message}`,`error`)}}},[E,j]),Te=(0,v.useCallback)(async(e,t)=>{await xe(e),C(null),await we(t,e)},[we,xe]),Ee=(0,v.useCallback)(async e=>{Ce.isFavorite(e)||await Ce.toggle(e),await we(e)},[Ce,we]),{localVersion:De,latestVersion:Oe,updateAvailable:ke,runUpdate:Ae,checkNow:je,error:Me}=In({onToast:E}),Ne=(0,v.useMemo)(()=>{let e={};return t.forEach(t=>{e[t.providerKey]||(e[t.providerKey]={key:t.providerKey,name:t.origin,count:0,hasKey:!1,anyUp:!1}),e[t.providerKey].count++,t.hasApiKey&&(e[t.providerKey].hasKey=!0),t.status===`up`&&(e[t.providerKey].anyUp=!0)}),Object.values(e).sort((e,t)=>e.name.localeCompare(t.name))},[t]),Pe=(0,v.useCallback)(async()=>{if(!o)try{await fetch(`/api/global-benchmark`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({models:D.map(e=>({providerKey:e.providerKey,modelId:e.modelId}))})})}catch(e){console.error(`[Benchmark] Failed to start global benchmark:`,e.message)}},[D,o]),Fe=(0,v.useCallback)(async e=>{try{let t=await fetch(`/api/benchmark`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({providerKey:e.providerKey,modelId:e.modelId})});if(!t.ok&&t.status!==202){let e=await t.json().catch(()=>({}));E(`Benchmark failed: ${e?.error||t.statusText}`,`error`)}}catch(e){console.error(`[Benchmark] per-row failed:`,e.message)}},[E]),Ie=(0,v.useCallback)(e=>{m(e),ee.current=Date.now()},[]);(0,v.useCallback)(()=>m(null),[]);let Le=(0,v.useCallback)(async e=>{try{await fetch(`/api/ping-mode?action=${e}`,{method:`POST`})}catch{}},[]),Re=(0,v.useCallback)(e=>{e===`changelog`&&x(null),f(e),ee.current=Date.now()},[]),ze=(0,v.useCallback)(()=>{A(),pe(``),E(e(`dashboard.resetToast`),`info`)},[E,A,pe,e]),Be=(0,v.useCallback)(e=>{x(e),f(`changelog`)},[]);return(0,v.useEffect)(()=>{let e=e=>{let t=e.metaKey||e.ctrlKey;if(t&&(e.key===`k`||e.key===`K`)){e.preventDefault(),y(e=>!e);return}if(t&&(e.key===`p`||e.key===`P`)&&!e.shiftKey){e.preventDefault(),y(e=>!e);return}if(e.key===`Escape`){if(_){y(!1);return}if(S){C(null);return}if(p){m(null);return}if(h){g(!1);return}}};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[_,S,p,h]),(0,F.jsxs)(F.Fragment,{children:[(0,F.jsxs)(`div`,{className:`app-shell`,children:[(0,F.jsx)(bi,{searchQuery:fe,onSearchChange:pe,currentView:d,onNavigate:Re,onToggleTheme:u,onOpenExport:()=>g(!0),onOpenCommandPalette:()=>y(!0),onBenchmark:Pe,benchmarkRunning:o,benchmarkTotal:s,benchmarkCompleted:c,modelsCount:D.length,theme:l,onToast:E,toolMode:j,onSetToolMode:xe,onCycleToolMode:Se,updateSlot:(0,F.jsx)(pf,{updateAvailable:ke,latestVersion:Oe,onRunUpdate:Ae,onOpenChangelog:Be})}),(0,F.jsxs)(`div`,{className:`app-content`,children:[d===`dashboard`&&(0,F.jsxs)(`main`,{className:`view dashboardView`,children:[(0,F.jsx)(Sa,{filterTier:O,setFilterTier:ne,filterStatus:re,setFilterStatus:ie,filterProvider:ae,setFilterProvider:k,filterVerdict:oe,setFilterVerdict:se,filterHealth:ce,setFilterHealth:le,visibilityMode:ue,setVisibilityMode:de,customTextFilter:me,setCustomTextFilter:he,searchQuery:fe,onSearchChange:pe,onResetView:ze,providers:Ne,pingMode:a,setPingMode:Le,nextPingAt:r,isPinging:i,globalBenchmarkRunning:o,globalBenchmarkTotal:s,globalBenchmarkCompleted:c,toolMode:j}),(0,F.jsx)(qu,{filtered:D,onSelectModel:Ie,onBenchmarkRow:Fe,onLaunch:we,favorites:Ce,sortColumn:ge,sortDirection:_e,onSort:be,toolMode:j,onToast:E,onSetToolMode:xe,onCycleToolMode:Se,onOpenFallback:e=>C({model:e,toolMode:j})})]}),d===`settings`&&(0,F.jsx)(`div`,{className:`view`,children:(0,F.jsx)(Qu,{onToast:E,onOpenChangelog:e=>{x(e),Re(`changelog`)},onCheckForUpdate:()=>{je(),E?.(e(`update.checking`),`info`)}})}),d===`analytics`&&(0,F.jsx)(`div`,{className:`view`,children:(0,F.jsx)(sd,{models:t})}),d===`router`&&(0,F.jsx)(`div`,{className:`view`,children:(0,F.jsx)(Mf,{onClose:()=>Re(`dashboard`),onToast:E,favorites:Ce})}),d===`router-v2`&&(0,F.jsx)(`div`,{className:`view`,children:(0,F.jsx)(Q,{onClose:()=>Re(`dashboard`),onToast:E})}),d===`playground`&&(0,F.jsx)(`div`,{className:`view`,children:(0,F.jsx)(Gf,{onClose:()=>Re(`dashboard`),onToast:E,models:t,routerStatus:null})}),d===`help`&&(0,F.jsx)(`div`,{className:`view`,children:(0,F.jsx)(of,{onClose:()=>Re(`dashboard`)})}),d===`changelog`&&(0,F.jsx)(`div`,{className:`view`,children:(0,F.jsx)(uf,{onClose:()=>Re(`dashboard`),defaultVersion:b})}),d===`installed-models`&&(0,F.jsx)(`div`,{className:`view`,children:(0,F.jsx)(Jf,{onClose:()=>Re(`dashboard`),onToast:E})}),d===`install-endpoints`&&(0,F.jsx)(`div`,{className:`view`,children:(0,F.jsx)(Zf,{onClose:()=>Re(`dashboard`),onToast:E})}),d===`recommend`&&(0,F.jsx)(`div`,{className:`view`,children:(0,F.jsx)(bf,{onClose:()=>Re(`dashboard`),toolMode:j,onLaunch:we,onPinAndLaunch:Ee,onToast:E})}),(0,F.jsx)(Si,{})]})]}),h&&(0,F.jsx)(Xu,{models:D,onClose:()=>g(!1),onToast:E}),_&&(0,F.jsx)(nf,{onClose:()=>y(!1),onNavigate:Re,onCycleTheme:u,onResetView:ze,onSetPingMode:Le,onOpenHelp:()=>Re(`help`),onOpenChangelog:()=>{x(null),Re(`changelog`)},onOpenPlayground:()=>Re(`playground`),onExport:()=>g(!0),onRunUpdate:Ae,currentView:d,theme:l,pingMode:a,models:t,updateAvailable:ke,latestVersion:Oe,onToast:E}),S&&(0,F.jsx)(Sf,{request:S,models:t,onClose:()=>C(null),onSwitchToolLaunch:Te,onLaunchSimilar:e=>{C(null);let n=t.find(t=>t.providerKey===e.providerKey&&t.modelId===e.modelId)||e;we(n)}}),(0,F.jsx)(np,{toasts:w,dismissToast:te})]})}function ap(){return(0,F.jsx)(mi,{children:(0,F.jsx)(ip,{})})}(0,y.createRoot)(document.getElementById(`root`)).render((0,F.jsx)(v.StrictMode,{children:(0,F.jsx)(ap,{})}));