@chenpu17/cc-gw 0.3.0 → 0.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +27 -8
- package/package.json +3 -4
- package/src/server/dist/index.js +172 -83
- package/src/web/dist/assets/{About-DifCcqF-.js → About-BRJQg6-i.js} +1 -1
- package/src/web/dist/assets/{ApiKeys-Cja_7EiV.js → ApiKeys-BcWxL_bz.js} +1 -1
- package/src/web/dist/assets/{Dashboard-BKODF_sa.js → Dashboard-RjvGXnju.js} +1 -1
- package/src/web/dist/assets/{Help-CVYbgGOi.js → Help-C33N-jg2.js} +1 -1
- package/src/web/dist/assets/{Logs-ZqIQEkJH.js → Logs-B-TUIEjX.js} +1 -1
- package/src/web/dist/assets/ModelManagement-Bjnc9-06.js +1 -0
- package/src/web/dist/assets/{Settings-CaTqdHzh.js → Settings-Btgwveb7.js} +1 -1
- package/src/web/dist/assets/index-DTby9g2A.css +1 -0
- package/src/web/dist/assets/{index-DG02tgGK.js → index-DWhAov2p.js} +1 -1
- package/src/web/dist/assets/{index-CDJfhjXI.js → index-fNmJF3BX.js} +10 -10
- package/src/web/dist/assets/{useApiQuery-Bna2BImG.js → useApiQuery-CCi1tkCr.js} +1 -1
- package/src/web/dist/index.html +2 -2
- package/src/web/dist/assets/ModelManagement-CWeSK3Hd.js +0 -1
- package/src/web/dist/assets/index-fgl6ZbLo.css +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var ft=e=>{throw TypeError(e)};var Ie=(e,t,n)=>t.has(e)||ft("Cannot "+n);var h=(e,t,n)=>(Ie(e,t,"read from private field"),n?n.call(e):t.get(e)),P=(e,t,n)=>t.has(e)?ft("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),O=(e,t,n,s)=>(Ie(e,t,"write to private field"),s?s.call(e,n):t.set(e,n),n),A=(e,t,n)=>(Ie(e,t,"access private method"),n);import{S as fn,p as dt,d as v,s as qe,e as be,n as He,i as ze,f as ht,t as dn,h as Ce,k as hn,l as pn,m as pt,o as kt,r as V,q as mn,v as yn,w as bn}from"./index-CDJfhjXI.js";var k,g,we,U,ne,ce,Q,X,ge,ue,le,se,re,G,fe,R,ye,$e,Je,Qe,Ve,We,Ke,Xe,Bt,Dt,wn=(Dt=class extends fn{constructor(t,n){super();P(this,R);P(this,k);P(this,g);P(this,we);P(this,U);P(this,ne);P(this,ce);P(this,Q);P(this,X);P(this,ge);P(this,ue);P(this,le);P(this,se);P(this,re);P(this,G);P(this,fe,new Set);this.options=n,O(this,k,t),O(this,X,null),O(this,Q,dt()),this.bindMethods(),this.setOptions(n)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(h(this,g).addObserver(this),mt(h(this,g),this.options)?A(this,R,ye).call(this):this.updateResult(),A(this,R,Ve).call(this))}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return Ge(h(this,g),this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return Ge(h(this,g),this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,A(this,R,We).call(this),A(this,R,Ke).call(this),h(this,g).removeObserver(this)}setOptions(t){const n=this.options,s=h(this,g);if(this.options=h(this,k).defaultQueryOptions(t),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof v(this.options.enabled,h(this,g))!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");A(this,R,Xe).call(this),h(this,g).setOptions(this.options),n._defaulted&&!qe(this.options,n)&&h(this,k).getQueryCache().notify({type:"observerOptionsUpdated",query:h(this,g),observer:this});const r=this.hasListeners();r&&yt(h(this,g),s,this.options,n)&&A(this,R,ye).call(this),this.updateResult(),r&&(h(this,g)!==s||v(this.options.enabled,h(this,g))!==v(n.enabled,h(this,g))||be(this.options.staleTime,h(this,g))!==be(n.staleTime,h(this,g)))&&A(this,R,$e).call(this);const o=A(this,R,Je).call(this);r&&(h(this,g)!==s||v(this.options.enabled,h(this,g))!==v(n.enabled,h(this,g))||o!==h(this,G))&&A(this,R,Qe).call(this,o)}getOptimisticResult(t){const n=h(this,k).getQueryCache().build(h(this,k),t),s=this.createResult(n,t);return En(this,s)&&(O(this,U,s),O(this,ce,this.options),O(this,ne,h(this,g).state)),s}getCurrentResult(){return h(this,U)}trackResult(t,n){return new Proxy(t,{get:(s,r)=>(this.trackProp(r),n==null||n(r),r==="promise"&&!this.options.experimental_prefetchInRender&&h(this,Q).status==="pending"&&h(this,Q).reject(new Error("experimental_prefetchInRender feature flag is not enabled")),Reflect.get(s,r))})}trackProp(t){h(this,fe).add(t)}getCurrentQuery(){return h(this,g)}refetch({...t}={}){return this.fetch({...t})}fetchOptimistic(t){const n=h(this,k).defaultQueryOptions(t),s=h(this,k).getQueryCache().build(h(this,k),n);return s.fetch().then(()=>this.createResult(s,n))}fetch(t){return A(this,R,ye).call(this,{...t,cancelRefetch:t.cancelRefetch??!0}).then(()=>(this.updateResult(),h(this,U)))}createResult(t,n){var Z;const s=h(this,g),r=this.options,o=h(this,U),i=h(this,ne),c=h(this,ce),u=t!==s?t.state:h(this,we),{state:l}=t;let p={...l},E=!1,w;if(n._optimisticResults){const N=this.hasListeners(),Y=!N&&mt(t,n),M=N&&yt(t,s,n,r);(Y||M)&&(p={...p,...pn(l.data,t.options)}),n._optimisticResults==="isRestoring"&&(p.fetchStatus="idle")}let{error:f,errorUpdatedAt:y,status:m}=p;w=p.data;let S=!1;if(n.placeholderData!==void 0&&w===void 0&&m==="pending"){let N;o!=null&&o.isPlaceholderData&&n.placeholderData===(c==null?void 0:c.placeholderData)?(N=o.data,S=!0):N=typeof n.placeholderData=="function"?n.placeholderData((Z=h(this,le))==null?void 0:Z.state.data,h(this,le)):n.placeholderData,N!==void 0&&(m="success",w=pt(o==null?void 0:o.data,N,n),E=!0)}if(n.select&&w!==void 0&&!S)if(o&&w===(i==null?void 0:i.data)&&n.select===h(this,ge))w=h(this,ue);else try{O(this,ge,n.select),w=n.select(w),w=pt(o==null?void 0:o.data,w,n),O(this,ue,w),O(this,X,null)}catch(N){O(this,X,N)}h(this,X)&&(f=h(this,X),w=h(this,ue),y=Date.now(),m="error");const F=p.fetchStatus==="fetching",T=m==="pending",x=m==="error",L=T&&F,H=w!==void 0,D={status:m,fetchStatus:p.fetchStatus,isPending:T,isSuccess:m==="success",isError:x,isInitialLoading:L,isLoading:L,data:w,dataUpdatedAt:p.dataUpdatedAt,error:f,errorUpdatedAt:y,failureCount:p.fetchFailureCount,failureReason:p.fetchFailureReason,errorUpdateCount:p.errorUpdateCount,isFetched:p.dataUpdateCount>0||p.errorUpdateCount>0,isFetchedAfterMount:p.dataUpdateCount>u.dataUpdateCount||p.errorUpdateCount>u.errorUpdateCount,isFetching:F,isRefetching:F&&!T,isLoadingError:x&&!H,isPaused:p.fetchStatus==="paused",isPlaceholderData:E,isRefetchError:x&&H,isStale:st(t,n),refetch:this.refetch,promise:h(this,Q),isEnabled:v(n.enabled,t)!==!1};if(this.options.experimental_prefetchInRender){const N=z=>{D.status==="error"?z.reject(D.error):D.data!==void 0&&z.resolve(D.data)},Y=()=>{const z=O(this,Q,D.promise=dt());N(z)},M=h(this,Q);switch(M.status){case"pending":t.queryHash===s.queryHash&&N(M);break;case"fulfilled":(D.status==="error"||D.data!==M.value)&&Y();break;case"rejected":(D.status!=="error"||D.error!==M.reason)&&Y();break}}return D}updateResult(){const t=h(this,U),n=this.createResult(h(this,g),this.options);if(O(this,ne,h(this,g).state),O(this,ce,this.options),h(this,ne).data!==void 0&&O(this,le,h(this,g)),qe(n,t))return;O(this,U,n);const s=()=>{if(!t)return!0;const{notifyOnChangeProps:r}=this.options,o=typeof r=="function"?r():r;if(o==="all"||!o&&!h(this,fe).size)return!0;const i=new Set(o??h(this,fe));return this.options.throwOnError&&i.add("error"),Object.keys(h(this,U)).some(c=>{const d=c;return h(this,U)[d]!==t[d]&&i.has(d)})};A(this,R,Bt).call(this,{listeners:s()})}onQueryUpdate(){this.updateResult(),this.hasListeners()&&A(this,R,Ve).call(this)}},k=new WeakMap,g=new WeakMap,we=new WeakMap,U=new WeakMap,ne=new WeakMap,ce=new WeakMap,Q=new WeakMap,X=new WeakMap,ge=new WeakMap,ue=new WeakMap,le=new WeakMap,se=new WeakMap,re=new WeakMap,G=new WeakMap,fe=new WeakMap,R=new WeakSet,ye=function(t){A(this,R,Xe).call(this);let n=h(this,g).fetch(this.options,t);return t!=null&&t.throwOnError||(n=n.catch(He)),n},$e=function(){A(this,R,We).call(this);const t=be(this.options.staleTime,h(this,g));if(ze||h(this,U).isStale||!ht(t))return;const s=dn(h(this,U).dataUpdatedAt,t)+1;O(this,se,Ce.setTimeout(()=>{h(this,U).isStale||this.updateResult()},s))},Je=function(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(h(this,g)):this.options.refetchInterval)??!1},Qe=function(t){A(this,R,Ke).call(this),O(this,G,t),!(ze||v(this.options.enabled,h(this,g))===!1||!ht(h(this,G))||h(this,G)===0)&&O(this,re,Ce.setInterval(()=>{(this.options.refetchIntervalInBackground||hn.isFocused())&&A(this,R,ye).call(this)},h(this,G)))},Ve=function(){A(this,R,$e).call(this),A(this,R,Qe).call(this,A(this,R,Je).call(this))},We=function(){h(this,se)&&(Ce.clearTimeout(h(this,se)),O(this,se,void 0))},Ke=function(){h(this,re)&&(Ce.clearInterval(h(this,re)),O(this,re,void 0))},Xe=function(){const t=h(this,k).getQueryCache().build(h(this,k),this.options);if(t===h(this,g))return;const n=h(this,g);O(this,g,t),O(this,we,t.state),this.hasListeners()&&(n==null||n.removeObserver(this),t.addObserver(this))},Bt=function(t){kt.batch(()=>{t.listeners&&this.listeners.forEach(n=>{n(h(this,U))}),h(this,k).getQueryCache().notify({query:h(this,g),type:"observerResultsUpdated"})})},Dt);function gn(e,t){return v(t.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status==="error"&&t.retryOnMount===!1)}function mt(e,t){return gn(e,t)||e.state.data!==void 0&&Ge(e,t,t.refetchOnMount)}function Ge(e,t,n){if(v(t.enabled,e)!==!1&&be(t.staleTime,e)!=="static"){const s=typeof n=="function"?n(e):n;return s==="always"||s!==!1&&st(e,t)}return!1}function yt(e,t,n,s){return(e!==t||v(s.enabled,e)===!1)&&(!n.suspense||e.state.status!=="error")&&st(e,n)}function st(e,t){return v(t.enabled,e)!==!1&&e.isStaleByTime(be(t.staleTime,e))}function En(e,t){return!qe(e.getCurrentResult(),t)}var It=V.createContext(!1),Rn=()=>V.useContext(It);It.Provider;function Sn(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var On=V.createContext(Sn()),Tn=()=>V.useContext(On),Cn=(e,t)=>{(e.suspense||e.throwOnError||e.experimental_prefetchInRender)&&(t.isReset()||(e.retryOnMount=!1))},An=e=>{V.useEffect(()=>{e.clearReset()},[e])},xn=({result:e,errorResetBoundary:t,throwOnError:n,query:s,suspense:r})=>e.isError&&!t.isReset()&&!e.isFetching&&s&&(r&&e.data===void 0||mn(n,[e.error,s])),Pn=e=>{if(e.suspense){const n=r=>r==="static"?r:Math.max(r??1e3,1e3),s=e.staleTime;e.staleTime=typeof s=="function"?(...r)=>n(s(...r)):n(s),typeof e.gcTime=="number"&&(e.gcTime=Math.max(e.gcTime,1e3))}},Fn=(e,t)=>e.isLoading&&e.isFetching&&!t,_n=(e,t)=>(e==null?void 0:e.suspense)&&t.isPending,bt=(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()});function Nn(e,t,n){var p,E,w,f,y;const s=Rn(),r=Tn(),o=yn(),i=o.defaultQueryOptions(e);(E=(p=o.getDefaultOptions().queries)==null?void 0:p._experimental_beforeQuery)==null||E.call(p,i),i._optimisticResults=s?"isRestoring":"optimistic",Pn(i),Cn(i,r),An(r);const c=!o.getQueryCache().get(i.queryHash),[d]=V.useState(()=>new t(o,i)),u=d.getOptimisticResult(i),l=!s&&e.subscribed!==!1;if(V.useSyncExternalStore(V.useCallback(m=>{const S=l?d.subscribe(kt.batchCalls(m)):He;return d.updateResult(),S},[d,l]),()=>d.getCurrentResult(),()=>d.getCurrentResult()),V.useEffect(()=>{d.setOptions(i)},[i,d]),_n(i,u))throw bt(i,d,r);if(xn({result:u,errorResetBoundary:r,throwOnError:i.throwOnError,query:o.getQueryCache().get(i.queryHash),suspense:i.suspense}))throw u.error;if((f=(w=o.getDefaultOptions().queries)==null?void 0:w._experimental_afterQuery)==null||f.call(w,i,u),i.experimental_prefetchInRender&&!ze&&Fn(u,s)){const m=c?bt(i,d,r):(y=o.getQueryCache().get(i.queryHash))==null?void 0:y.promise;m==null||m.catch(He).finally(()=>{d.updateResult()})}return i.notifyOnChangeProps?u:d.trackResult(u)}function Un(e,t){return Nn(e,wn)}function jt(e,t){return function(){return e.apply(t,arguments)}}const{toString:Ln}=Object.prototype,{getPrototypeOf:rt}=Object,{iterator:Ne,toStringTag:Mt}=Symbol,Ue=(e=>t=>{const n=Ln.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),q=e=>(e=e.toLowerCase(),t=>Ue(t)===e),Le=e=>t=>typeof t===e,{isArray:he}=Array,de=Le("undefined");function Ee(e){return e!==null&&!de(e)&&e.constructor!==null&&!de(e.constructor)&&B(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const vt=q("ArrayBuffer");function Dn(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&vt(e.buffer),t}const kn=Le("string"),B=Le("function"),qt=Le("number"),Re=e=>e!==null&&typeof e=="object",Bn=e=>e===!0||e===!1,xe=e=>{if(Ue(e)!=="object")return!1;const t=rt(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Mt in e)&&!(Ne in e)},In=e=>{if(!Re(e)||Ee(e))return!1;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return!1}},jn=q("Date"),Mn=q("File"),vn=q("Blob"),qn=q("FileList"),Hn=e=>Re(e)&&B(e.pipe),zn=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||B(e.append)&&((t=Ue(e))==="formdata"||t==="object"&&B(e.toString)&&e.toString()==="[object FormData]"))},$n=q("URLSearchParams"),[Jn,Qn,Vn,Wn]=["ReadableStream","Request","Response","Headers"].map(q),Kn=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function Se(e,t,{allOwnKeys:n=!1}={}){if(e===null||typeof e>"u")return;let s,r;if(typeof e!="object"&&(e=[e]),he(e))for(s=0,r=e.length;s<r;s++)t.call(null,e[s],s,e);else{if(Ee(e))return;const o=n?Object.getOwnPropertyNames(e):Object.keys(e),i=o.length;let c;for(s=0;s<i;s++)c=o[s],t.call(null,e[c],c,e)}}function Ht(e,t){if(Ee(e))return null;t=t.toLowerCase();const n=Object.keys(e);let s=n.length,r;for(;s-- >0;)if(r=n[s],t===r.toLowerCase())return r;return null}const te=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,zt=e=>!de(e)&&e!==te;function Ze(){const{caseless:e,skipUndefined:t}=zt(this)&&this||{},n={},s=(r,o)=>{const i=e&&Ht(n,o)||o;xe(n[i])&&xe(r)?n[i]=Ze(n[i],r):xe(r)?n[i]=Ze({},r):he(r)?n[i]=r.slice():(!t||!de(r))&&(n[i]=r)};for(let r=0,o=arguments.length;r<o;r++)arguments[r]&&Se(arguments[r],s);return n}const Xn=(e,t,n,{allOwnKeys:s}={})=>(Se(t,(r,o)=>{n&&B(r)?e[o]=jt(r,n):e[o]=r},{allOwnKeys:s}),e),Gn=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),Zn=(e,t,n,s)=>{e.prototype=Object.create(t.prototype,s),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},Yn=(e,t,n,s)=>{let r,o,i;const c={};if(t=t||{},e==null)return t;do{for(r=Object.getOwnPropertyNames(e),o=r.length;o-- >0;)i=r[o],(!s||s(i,e,t))&&!c[i]&&(t[i]=e[i],c[i]=!0);e=n!==!1&&rt(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},es=(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;const s=e.indexOf(t,n);return s!==-1&&s===n},ts=e=>{if(!e)return null;if(he(e))return e;let t=e.length;if(!qt(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},ns=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&rt(Uint8Array)),ss=(e,t)=>{const s=(e&&e[Ne]).call(e);let r;for(;(r=s.next())&&!r.done;){const o=r.value;t.call(e,o[0],o[1])}},rs=(e,t)=>{let n;const s=[];for(;(n=e.exec(t))!==null;)s.push(n);return s},is=q("HTMLFormElement"),os=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,s,r){return s.toUpperCase()+r}),wt=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),as=q("RegExp"),$t=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),s={};Se(n,(r,o)=>{let i;(i=t(r,o,e))!==!1&&(s[o]=i||r)}),Object.defineProperties(e,s)},cs=e=>{$t(e,(t,n)=>{if(B(e)&&["arguments","caller","callee"].indexOf(n)!==-1)return!1;const s=e[n];if(B(s)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}})},us=(e,t)=>{const n={},s=r=>{r.forEach(o=>{n[o]=!0})};return he(e)?s(e):s(String(e).split(t)),n},ls=()=>{},fs=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function ds(e){return!!(e&&B(e.append)&&e[Mt]==="FormData"&&e[Ne])}const hs=e=>{const t=new Array(10),n=(s,r)=>{if(Re(s)){if(t.indexOf(s)>=0)return;if(Ee(s))return s;if(!("toJSON"in s)){t[r]=s;const o=he(s)?[]:{};return Se(s,(i,c)=>{const d=n(i,r+1);!de(d)&&(o[c]=d)}),t[r]=void 0,o}}return s};return n(e,0)},ps=q("AsyncFunction"),ms=e=>e&&(Re(e)||B(e))&&B(e.then)&&B(e.catch),Jt=((e,t)=>e?setImmediate:t?((n,s)=>(te.addEventListener("message",({source:r,data:o})=>{r===te&&o===n&&s.length&&s.shift()()},!1),r=>{s.push(r),te.postMessage(n,"*")}))(`axios@${Math.random()}`,[]):n=>setTimeout(n))(typeof setImmediate=="function",B(te.postMessage)),ys=typeof queueMicrotask<"u"?queueMicrotask.bind(te):typeof process<"u"&&process.nextTick||Jt,bs=e=>e!=null&&B(e[Ne]),a={isArray:he,isArrayBuffer:vt,isBuffer:Ee,isFormData:zn,isArrayBufferView:Dn,isString:kn,isNumber:qt,isBoolean:Bn,isObject:Re,isPlainObject:xe,isEmptyObject:In,isReadableStream:Jn,isRequest:Qn,isResponse:Vn,isHeaders:Wn,isUndefined:de,isDate:jn,isFile:Mn,isBlob:vn,isRegExp:as,isFunction:B,isStream:Hn,isURLSearchParams:$n,isTypedArray:ns,isFileList:qn,forEach:Se,merge:Ze,extend:Xn,trim:Kn,stripBOM:Gn,inherits:Zn,toFlatObject:Yn,kindOf:Ue,kindOfTest:q,endsWith:es,toArray:ts,forEachEntry:ss,matchAll:rs,isHTMLForm:is,hasOwnProperty:wt,hasOwnProp:wt,reduceDescriptors:$t,freezeMethods:cs,toObjectSet:us,toCamelCase:os,noop:ls,toFiniteNumber:fs,findKey:Ht,global:te,isContextDefined:zt,isSpecCompliantForm:ds,toJSONObject:hs,isAsyncFn:ps,isThenable:ms,setImmediate:Jt,asap:ys,isIterable:bs};function b(e,t,n,s,r){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),s&&(this.request=s),r&&(this.response=r,this.status=r.status?r.status:null)}a.inherits(b,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:a.toJSONObject(this.config),code:this.code,status:this.status}}});const Qt=b.prototype,Vt={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{Vt[e]={value:e}});Object.defineProperties(b,Vt);Object.defineProperty(Qt,"isAxiosError",{value:!0});b.from=(e,t,n,s,r,o)=>{const i=Object.create(Qt);a.toFlatObject(e,i,function(l){return l!==Error.prototype},u=>u!=="isAxiosError");const c=e&&e.message?e.message:"Error",d=t==null&&e?e.code:t;return b.call(i,c,d,n,s,r),e&&i.cause==null&&Object.defineProperty(i,"cause",{value:e,configurable:!0}),i.name=e&&e.name||"Error",o&&Object.assign(i,o),i};const ws=null;function Ye(e){return a.isPlainObject(e)||a.isArray(e)}function Wt(e){return a.endsWith(e,"[]")?e.slice(0,-2):e}function gt(e,t,n){return e?e.concat(t).map(function(r,o){return r=Wt(r),!n&&o?"["+r+"]":r}).join(n?".":""):t}function gs(e){return a.isArray(e)&&!e.some(Ye)}const Es=a.toFlatObject(a,{},null,function(t){return/^is[A-Z]/.test(t)});function De(e,t,n){if(!a.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,n=a.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(y,m){return!a.isUndefined(m[y])});const s=n.metaTokens,r=n.visitor||l,o=n.dots,i=n.indexes,d=(n.Blob||typeof Blob<"u"&&Blob)&&a.isSpecCompliantForm(t);if(!a.isFunction(r))throw new TypeError("visitor must be a function");function u(f){if(f===null)return"";if(a.isDate(f))return f.toISOString();if(a.isBoolean(f))return f.toString();if(!d&&a.isBlob(f))throw new b("Blob is not supported. Use a Buffer instead.");return a.isArrayBuffer(f)||a.isTypedArray(f)?d&&typeof Blob=="function"?new Blob([f]):Buffer.from(f):f}function l(f,y,m){let S=f;if(f&&!m&&typeof f=="object"){if(a.endsWith(y,"{}"))y=s?y:y.slice(0,-2),f=JSON.stringify(f);else if(a.isArray(f)&&gs(f)||(a.isFileList(f)||a.endsWith(y,"[]"))&&(S=a.toArray(f)))return y=Wt(y),S.forEach(function(T,x){!(a.isUndefined(T)||T===null)&&t.append(i===!0?gt([y],x,o):i===null?y:y+"[]",u(T))}),!1}return Ye(f)?!0:(t.append(gt(m,y,o),u(f)),!1)}const p=[],E=Object.assign(Es,{defaultVisitor:l,convertValue:u,isVisitable:Ye});function w(f,y){if(!a.isUndefined(f)){if(p.indexOf(f)!==-1)throw Error("Circular reference detected in "+y.join("."));p.push(f),a.forEach(f,function(S,F){(!(a.isUndefined(S)||S===null)&&r.call(t,S,a.isString(F)?F.trim():F,y,E))===!0&&w(S,y?y.concat(F):[F])}),p.pop()}}if(!a.isObject(e))throw new TypeError("data must be an object");return w(e),t}function Et(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(s){return t[s]})}function it(e,t){this._pairs=[],e&&De(e,this,t)}const Kt=it.prototype;Kt.append=function(t,n){this._pairs.push([t,n])};Kt.toString=function(t){const n=t?function(s){return t.call(this,s,Et)}:Et;return this._pairs.map(function(r){return n(r[0])+"="+n(r[1])},"").join("&")};function Rs(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function Xt(e,t,n){if(!t)return e;const s=n&&n.encode||Rs;a.isFunction(n)&&(n={serialize:n});const r=n&&n.serialize;let o;if(r?o=r(t,n):o=a.isURLSearchParams(t)?t.toString():new it(t,n).toString(s),o){const i=e.indexOf("#");i!==-1&&(e=e.slice(0,i)),e+=(e.indexOf("?")===-1?"?":"&")+o}return e}class Rt{constructor(){this.handlers=[]}use(t,n,s){return this.handlers.push({fulfilled:t,rejected:n,synchronous:s?s.synchronous:!1,runWhen:s?s.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){a.forEach(this.handlers,function(s){s!==null&&t(s)})}}const Gt={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Ss=typeof URLSearchParams<"u"?URLSearchParams:it,Os=typeof FormData<"u"?FormData:null,Ts=typeof Blob<"u"?Blob:null,Cs={isBrowser:!0,classes:{URLSearchParams:Ss,FormData:Os,Blob:Ts},protocols:["http","https","file","blob","url","data"]},ot=typeof window<"u"&&typeof document<"u",et=typeof navigator=="object"&&navigator||void 0,As=ot&&(!et||["ReactNative","NativeScript","NS"].indexOf(et.product)<0),xs=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",Ps=ot&&window.location.href||"http://localhost",Fs=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:ot,hasStandardBrowserEnv:As,hasStandardBrowserWebWorkerEnv:xs,navigator:et,origin:Ps},Symbol.toStringTag,{value:"Module"})),_={...Fs,...Cs};function _s(e,t){return De(e,new _.classes.URLSearchParams,{visitor:function(n,s,r,o){return _.isNode&&a.isBuffer(n)?(this.append(s,n.toString("base64")),!1):o.defaultVisitor.apply(this,arguments)},...t})}function Ns(e){return a.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function Us(e){const t={},n=Object.keys(e);let s;const r=n.length;let o;for(s=0;s<r;s++)o=n[s],t[o]=e[o];return t}function Zt(e){function t(n,s,r,o){let i=n[o++];if(i==="__proto__")return!0;const c=Number.isFinite(+i),d=o>=n.length;return i=!i&&a.isArray(r)?r.length:i,d?(a.hasOwnProp(r,i)?r[i]=[r[i],s]:r[i]=s,!c):((!r[i]||!a.isObject(r[i]))&&(r[i]=[]),t(n,s,r[i],o)&&a.isArray(r[i])&&(r[i]=Us(r[i])),!c)}if(a.isFormData(e)&&a.isFunction(e.entries)){const n={};return a.forEachEntry(e,(s,r)=>{t(Ns(s),r,n,0)}),n}return null}function Ls(e,t,n){if(a.isString(e))try{return(t||JSON.parse)(e),a.trim(e)}catch(s){if(s.name!=="SyntaxError")throw s}return(n||JSON.stringify)(e)}const Oe={transitional:Gt,adapter:["xhr","http","fetch"],transformRequest:[function(t,n){const s=n.getContentType()||"",r=s.indexOf("application/json")>-1,o=a.isObject(t);if(o&&a.isHTMLForm(t)&&(t=new FormData(t)),a.isFormData(t))return r?JSON.stringify(Zt(t)):t;if(a.isArrayBuffer(t)||a.isBuffer(t)||a.isStream(t)||a.isFile(t)||a.isBlob(t)||a.isReadableStream(t))return t;if(a.isArrayBufferView(t))return t.buffer;if(a.isURLSearchParams(t))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let c;if(o){if(s.indexOf("application/x-www-form-urlencoded")>-1)return _s(t,this.formSerializer).toString();if((c=a.isFileList(t))||s.indexOf("multipart/form-data")>-1){const d=this.env&&this.env.FormData;return De(c?{"files[]":t}:t,d&&new d,this.formSerializer)}}return o||r?(n.setContentType("application/json",!1),Ls(t)):t}],transformResponse:[function(t){const n=this.transitional||Oe.transitional,s=n&&n.forcedJSONParsing,r=this.responseType==="json";if(a.isResponse(t)||a.isReadableStream(t))return t;if(t&&a.isString(t)&&(s&&!this.responseType||r)){const i=!(n&&n.silentJSONParsing)&&r;try{return JSON.parse(t,this.parseReviver)}catch(c){if(i)throw c.name==="SyntaxError"?b.from(c,b.ERR_BAD_RESPONSE,this,null,this.response):c}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:_.classes.FormData,Blob:_.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};a.forEach(["delete","get","head","post","put","patch"],e=>{Oe.headers[e]={}});const Ds=a.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),ks=e=>{const t={};let n,s,r;return e&&e.split(`
|
|
1
|
+
var ft=e=>{throw TypeError(e)};var Ie=(e,t,n)=>t.has(e)||ft("Cannot "+n);var h=(e,t,n)=>(Ie(e,t,"read from private field"),n?n.call(e):t.get(e)),P=(e,t,n)=>t.has(e)?ft("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),O=(e,t,n,s)=>(Ie(e,t,"write to private field"),s?s.call(e,n):t.set(e,n),n),A=(e,t,n)=>(Ie(e,t,"access private method"),n);import{S as fn,p as dt,d as v,s as qe,e as be,n as He,i as ze,f as ht,t as dn,h as Ce,k as hn,l as pn,m as pt,o as kt,r as V,q as mn,v as yn,w as bn}from"./index-fNmJF3BX.js";var k,g,we,U,ne,ce,Q,X,ge,ue,le,se,re,G,fe,R,ye,$e,Je,Qe,Ve,We,Ke,Xe,Bt,Dt,wn=(Dt=class extends fn{constructor(t,n){super();P(this,R);P(this,k);P(this,g);P(this,we);P(this,U);P(this,ne);P(this,ce);P(this,Q);P(this,X);P(this,ge);P(this,ue);P(this,le);P(this,se);P(this,re);P(this,G);P(this,fe,new Set);this.options=n,O(this,k,t),O(this,X,null),O(this,Q,dt()),this.bindMethods(),this.setOptions(n)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(h(this,g).addObserver(this),mt(h(this,g),this.options)?A(this,R,ye).call(this):this.updateResult(),A(this,R,Ve).call(this))}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return Ge(h(this,g),this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return Ge(h(this,g),this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,A(this,R,We).call(this),A(this,R,Ke).call(this),h(this,g).removeObserver(this)}setOptions(t){const n=this.options,s=h(this,g);if(this.options=h(this,k).defaultQueryOptions(t),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof v(this.options.enabled,h(this,g))!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");A(this,R,Xe).call(this),h(this,g).setOptions(this.options),n._defaulted&&!qe(this.options,n)&&h(this,k).getQueryCache().notify({type:"observerOptionsUpdated",query:h(this,g),observer:this});const r=this.hasListeners();r&&yt(h(this,g),s,this.options,n)&&A(this,R,ye).call(this),this.updateResult(),r&&(h(this,g)!==s||v(this.options.enabled,h(this,g))!==v(n.enabled,h(this,g))||be(this.options.staleTime,h(this,g))!==be(n.staleTime,h(this,g)))&&A(this,R,$e).call(this);const o=A(this,R,Je).call(this);r&&(h(this,g)!==s||v(this.options.enabled,h(this,g))!==v(n.enabled,h(this,g))||o!==h(this,G))&&A(this,R,Qe).call(this,o)}getOptimisticResult(t){const n=h(this,k).getQueryCache().build(h(this,k),t),s=this.createResult(n,t);return En(this,s)&&(O(this,U,s),O(this,ce,this.options),O(this,ne,h(this,g).state)),s}getCurrentResult(){return h(this,U)}trackResult(t,n){return new Proxy(t,{get:(s,r)=>(this.trackProp(r),n==null||n(r),r==="promise"&&!this.options.experimental_prefetchInRender&&h(this,Q).status==="pending"&&h(this,Q).reject(new Error("experimental_prefetchInRender feature flag is not enabled")),Reflect.get(s,r))})}trackProp(t){h(this,fe).add(t)}getCurrentQuery(){return h(this,g)}refetch({...t}={}){return this.fetch({...t})}fetchOptimistic(t){const n=h(this,k).defaultQueryOptions(t),s=h(this,k).getQueryCache().build(h(this,k),n);return s.fetch().then(()=>this.createResult(s,n))}fetch(t){return A(this,R,ye).call(this,{...t,cancelRefetch:t.cancelRefetch??!0}).then(()=>(this.updateResult(),h(this,U)))}createResult(t,n){var Z;const s=h(this,g),r=this.options,o=h(this,U),i=h(this,ne),c=h(this,ce),u=t!==s?t.state:h(this,we),{state:l}=t;let p={...l},E=!1,w;if(n._optimisticResults){const N=this.hasListeners(),Y=!N&&mt(t,n),M=N&&yt(t,s,n,r);(Y||M)&&(p={...p,...pn(l.data,t.options)}),n._optimisticResults==="isRestoring"&&(p.fetchStatus="idle")}let{error:f,errorUpdatedAt:y,status:m}=p;w=p.data;let S=!1;if(n.placeholderData!==void 0&&w===void 0&&m==="pending"){let N;o!=null&&o.isPlaceholderData&&n.placeholderData===(c==null?void 0:c.placeholderData)?(N=o.data,S=!0):N=typeof n.placeholderData=="function"?n.placeholderData((Z=h(this,le))==null?void 0:Z.state.data,h(this,le)):n.placeholderData,N!==void 0&&(m="success",w=pt(o==null?void 0:o.data,N,n),E=!0)}if(n.select&&w!==void 0&&!S)if(o&&w===(i==null?void 0:i.data)&&n.select===h(this,ge))w=h(this,ue);else try{O(this,ge,n.select),w=n.select(w),w=pt(o==null?void 0:o.data,w,n),O(this,ue,w),O(this,X,null)}catch(N){O(this,X,N)}h(this,X)&&(f=h(this,X),w=h(this,ue),y=Date.now(),m="error");const F=p.fetchStatus==="fetching",T=m==="pending",x=m==="error",L=T&&F,H=w!==void 0,D={status:m,fetchStatus:p.fetchStatus,isPending:T,isSuccess:m==="success",isError:x,isInitialLoading:L,isLoading:L,data:w,dataUpdatedAt:p.dataUpdatedAt,error:f,errorUpdatedAt:y,failureCount:p.fetchFailureCount,failureReason:p.fetchFailureReason,errorUpdateCount:p.errorUpdateCount,isFetched:p.dataUpdateCount>0||p.errorUpdateCount>0,isFetchedAfterMount:p.dataUpdateCount>u.dataUpdateCount||p.errorUpdateCount>u.errorUpdateCount,isFetching:F,isRefetching:F&&!T,isLoadingError:x&&!H,isPaused:p.fetchStatus==="paused",isPlaceholderData:E,isRefetchError:x&&H,isStale:st(t,n),refetch:this.refetch,promise:h(this,Q),isEnabled:v(n.enabled,t)!==!1};if(this.options.experimental_prefetchInRender){const N=z=>{D.status==="error"?z.reject(D.error):D.data!==void 0&&z.resolve(D.data)},Y=()=>{const z=O(this,Q,D.promise=dt());N(z)},M=h(this,Q);switch(M.status){case"pending":t.queryHash===s.queryHash&&N(M);break;case"fulfilled":(D.status==="error"||D.data!==M.value)&&Y();break;case"rejected":(D.status!=="error"||D.error!==M.reason)&&Y();break}}return D}updateResult(){const t=h(this,U),n=this.createResult(h(this,g),this.options);if(O(this,ne,h(this,g).state),O(this,ce,this.options),h(this,ne).data!==void 0&&O(this,le,h(this,g)),qe(n,t))return;O(this,U,n);const s=()=>{if(!t)return!0;const{notifyOnChangeProps:r}=this.options,o=typeof r=="function"?r():r;if(o==="all"||!o&&!h(this,fe).size)return!0;const i=new Set(o??h(this,fe));return this.options.throwOnError&&i.add("error"),Object.keys(h(this,U)).some(c=>{const d=c;return h(this,U)[d]!==t[d]&&i.has(d)})};A(this,R,Bt).call(this,{listeners:s()})}onQueryUpdate(){this.updateResult(),this.hasListeners()&&A(this,R,Ve).call(this)}},k=new WeakMap,g=new WeakMap,we=new WeakMap,U=new WeakMap,ne=new WeakMap,ce=new WeakMap,Q=new WeakMap,X=new WeakMap,ge=new WeakMap,ue=new WeakMap,le=new WeakMap,se=new WeakMap,re=new WeakMap,G=new WeakMap,fe=new WeakMap,R=new WeakSet,ye=function(t){A(this,R,Xe).call(this);let n=h(this,g).fetch(this.options,t);return t!=null&&t.throwOnError||(n=n.catch(He)),n},$e=function(){A(this,R,We).call(this);const t=be(this.options.staleTime,h(this,g));if(ze||h(this,U).isStale||!ht(t))return;const s=dn(h(this,U).dataUpdatedAt,t)+1;O(this,se,Ce.setTimeout(()=>{h(this,U).isStale||this.updateResult()},s))},Je=function(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(h(this,g)):this.options.refetchInterval)??!1},Qe=function(t){A(this,R,Ke).call(this),O(this,G,t),!(ze||v(this.options.enabled,h(this,g))===!1||!ht(h(this,G))||h(this,G)===0)&&O(this,re,Ce.setInterval(()=>{(this.options.refetchIntervalInBackground||hn.isFocused())&&A(this,R,ye).call(this)},h(this,G)))},Ve=function(){A(this,R,$e).call(this),A(this,R,Qe).call(this,A(this,R,Je).call(this))},We=function(){h(this,se)&&(Ce.clearTimeout(h(this,se)),O(this,se,void 0))},Ke=function(){h(this,re)&&(Ce.clearInterval(h(this,re)),O(this,re,void 0))},Xe=function(){const t=h(this,k).getQueryCache().build(h(this,k),this.options);if(t===h(this,g))return;const n=h(this,g);O(this,g,t),O(this,we,t.state),this.hasListeners()&&(n==null||n.removeObserver(this),t.addObserver(this))},Bt=function(t){kt.batch(()=>{t.listeners&&this.listeners.forEach(n=>{n(h(this,U))}),h(this,k).getQueryCache().notify({query:h(this,g),type:"observerResultsUpdated"})})},Dt);function gn(e,t){return v(t.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status==="error"&&t.retryOnMount===!1)}function mt(e,t){return gn(e,t)||e.state.data!==void 0&&Ge(e,t,t.refetchOnMount)}function Ge(e,t,n){if(v(t.enabled,e)!==!1&&be(t.staleTime,e)!=="static"){const s=typeof n=="function"?n(e):n;return s==="always"||s!==!1&&st(e,t)}return!1}function yt(e,t,n,s){return(e!==t||v(s.enabled,e)===!1)&&(!n.suspense||e.state.status!=="error")&&st(e,n)}function st(e,t){return v(t.enabled,e)!==!1&&e.isStaleByTime(be(t.staleTime,e))}function En(e,t){return!qe(e.getCurrentResult(),t)}var It=V.createContext(!1),Rn=()=>V.useContext(It);It.Provider;function Sn(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var On=V.createContext(Sn()),Tn=()=>V.useContext(On),Cn=(e,t)=>{(e.suspense||e.throwOnError||e.experimental_prefetchInRender)&&(t.isReset()||(e.retryOnMount=!1))},An=e=>{V.useEffect(()=>{e.clearReset()},[e])},xn=({result:e,errorResetBoundary:t,throwOnError:n,query:s,suspense:r})=>e.isError&&!t.isReset()&&!e.isFetching&&s&&(r&&e.data===void 0||mn(n,[e.error,s])),Pn=e=>{if(e.suspense){const n=r=>r==="static"?r:Math.max(r??1e3,1e3),s=e.staleTime;e.staleTime=typeof s=="function"?(...r)=>n(s(...r)):n(s),typeof e.gcTime=="number"&&(e.gcTime=Math.max(e.gcTime,1e3))}},Fn=(e,t)=>e.isLoading&&e.isFetching&&!t,_n=(e,t)=>(e==null?void 0:e.suspense)&&t.isPending,bt=(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()});function Nn(e,t,n){var p,E,w,f,y;const s=Rn(),r=Tn(),o=yn(),i=o.defaultQueryOptions(e);(E=(p=o.getDefaultOptions().queries)==null?void 0:p._experimental_beforeQuery)==null||E.call(p,i),i._optimisticResults=s?"isRestoring":"optimistic",Pn(i),Cn(i,r),An(r);const c=!o.getQueryCache().get(i.queryHash),[d]=V.useState(()=>new t(o,i)),u=d.getOptimisticResult(i),l=!s&&e.subscribed!==!1;if(V.useSyncExternalStore(V.useCallback(m=>{const S=l?d.subscribe(kt.batchCalls(m)):He;return d.updateResult(),S},[d,l]),()=>d.getCurrentResult(),()=>d.getCurrentResult()),V.useEffect(()=>{d.setOptions(i)},[i,d]),_n(i,u))throw bt(i,d,r);if(xn({result:u,errorResetBoundary:r,throwOnError:i.throwOnError,query:o.getQueryCache().get(i.queryHash),suspense:i.suspense}))throw u.error;if((f=(w=o.getDefaultOptions().queries)==null?void 0:w._experimental_afterQuery)==null||f.call(w,i,u),i.experimental_prefetchInRender&&!ze&&Fn(u,s)){const m=c?bt(i,d,r):(y=o.getQueryCache().get(i.queryHash))==null?void 0:y.promise;m==null||m.catch(He).finally(()=>{d.updateResult()})}return i.notifyOnChangeProps?u:d.trackResult(u)}function Un(e,t){return Nn(e,wn)}function jt(e,t){return function(){return e.apply(t,arguments)}}const{toString:Ln}=Object.prototype,{getPrototypeOf:rt}=Object,{iterator:Ne,toStringTag:Mt}=Symbol,Ue=(e=>t=>{const n=Ln.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),q=e=>(e=e.toLowerCase(),t=>Ue(t)===e),Le=e=>t=>typeof t===e,{isArray:he}=Array,de=Le("undefined");function Ee(e){return e!==null&&!de(e)&&e.constructor!==null&&!de(e.constructor)&&B(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const vt=q("ArrayBuffer");function Dn(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&vt(e.buffer),t}const kn=Le("string"),B=Le("function"),qt=Le("number"),Re=e=>e!==null&&typeof e=="object",Bn=e=>e===!0||e===!1,xe=e=>{if(Ue(e)!=="object")return!1;const t=rt(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Mt in e)&&!(Ne in e)},In=e=>{if(!Re(e)||Ee(e))return!1;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return!1}},jn=q("Date"),Mn=q("File"),vn=q("Blob"),qn=q("FileList"),Hn=e=>Re(e)&&B(e.pipe),zn=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||B(e.append)&&((t=Ue(e))==="formdata"||t==="object"&&B(e.toString)&&e.toString()==="[object FormData]"))},$n=q("URLSearchParams"),[Jn,Qn,Vn,Wn]=["ReadableStream","Request","Response","Headers"].map(q),Kn=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function Se(e,t,{allOwnKeys:n=!1}={}){if(e===null||typeof e>"u")return;let s,r;if(typeof e!="object"&&(e=[e]),he(e))for(s=0,r=e.length;s<r;s++)t.call(null,e[s],s,e);else{if(Ee(e))return;const o=n?Object.getOwnPropertyNames(e):Object.keys(e),i=o.length;let c;for(s=0;s<i;s++)c=o[s],t.call(null,e[c],c,e)}}function Ht(e,t){if(Ee(e))return null;t=t.toLowerCase();const n=Object.keys(e);let s=n.length,r;for(;s-- >0;)if(r=n[s],t===r.toLowerCase())return r;return null}const te=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,zt=e=>!de(e)&&e!==te;function Ze(){const{caseless:e,skipUndefined:t}=zt(this)&&this||{},n={},s=(r,o)=>{const i=e&&Ht(n,o)||o;xe(n[i])&&xe(r)?n[i]=Ze(n[i],r):xe(r)?n[i]=Ze({},r):he(r)?n[i]=r.slice():(!t||!de(r))&&(n[i]=r)};for(let r=0,o=arguments.length;r<o;r++)arguments[r]&&Se(arguments[r],s);return n}const Xn=(e,t,n,{allOwnKeys:s}={})=>(Se(t,(r,o)=>{n&&B(r)?e[o]=jt(r,n):e[o]=r},{allOwnKeys:s}),e),Gn=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),Zn=(e,t,n,s)=>{e.prototype=Object.create(t.prototype,s),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},Yn=(e,t,n,s)=>{let r,o,i;const c={};if(t=t||{},e==null)return t;do{for(r=Object.getOwnPropertyNames(e),o=r.length;o-- >0;)i=r[o],(!s||s(i,e,t))&&!c[i]&&(t[i]=e[i],c[i]=!0);e=n!==!1&&rt(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},es=(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;const s=e.indexOf(t,n);return s!==-1&&s===n},ts=e=>{if(!e)return null;if(he(e))return e;let t=e.length;if(!qt(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},ns=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&rt(Uint8Array)),ss=(e,t)=>{const s=(e&&e[Ne]).call(e);let r;for(;(r=s.next())&&!r.done;){const o=r.value;t.call(e,o[0],o[1])}},rs=(e,t)=>{let n;const s=[];for(;(n=e.exec(t))!==null;)s.push(n);return s},is=q("HTMLFormElement"),os=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,s,r){return s.toUpperCase()+r}),wt=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),as=q("RegExp"),$t=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),s={};Se(n,(r,o)=>{let i;(i=t(r,o,e))!==!1&&(s[o]=i||r)}),Object.defineProperties(e,s)},cs=e=>{$t(e,(t,n)=>{if(B(e)&&["arguments","caller","callee"].indexOf(n)!==-1)return!1;const s=e[n];if(B(s)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}})},us=(e,t)=>{const n={},s=r=>{r.forEach(o=>{n[o]=!0})};return he(e)?s(e):s(String(e).split(t)),n},ls=()=>{},fs=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function ds(e){return!!(e&&B(e.append)&&e[Mt]==="FormData"&&e[Ne])}const hs=e=>{const t=new Array(10),n=(s,r)=>{if(Re(s)){if(t.indexOf(s)>=0)return;if(Ee(s))return s;if(!("toJSON"in s)){t[r]=s;const o=he(s)?[]:{};return Se(s,(i,c)=>{const d=n(i,r+1);!de(d)&&(o[c]=d)}),t[r]=void 0,o}}return s};return n(e,0)},ps=q("AsyncFunction"),ms=e=>e&&(Re(e)||B(e))&&B(e.then)&&B(e.catch),Jt=((e,t)=>e?setImmediate:t?((n,s)=>(te.addEventListener("message",({source:r,data:o})=>{r===te&&o===n&&s.length&&s.shift()()},!1),r=>{s.push(r),te.postMessage(n,"*")}))(`axios@${Math.random()}`,[]):n=>setTimeout(n))(typeof setImmediate=="function",B(te.postMessage)),ys=typeof queueMicrotask<"u"?queueMicrotask.bind(te):typeof process<"u"&&process.nextTick||Jt,bs=e=>e!=null&&B(e[Ne]),a={isArray:he,isArrayBuffer:vt,isBuffer:Ee,isFormData:zn,isArrayBufferView:Dn,isString:kn,isNumber:qt,isBoolean:Bn,isObject:Re,isPlainObject:xe,isEmptyObject:In,isReadableStream:Jn,isRequest:Qn,isResponse:Vn,isHeaders:Wn,isUndefined:de,isDate:jn,isFile:Mn,isBlob:vn,isRegExp:as,isFunction:B,isStream:Hn,isURLSearchParams:$n,isTypedArray:ns,isFileList:qn,forEach:Se,merge:Ze,extend:Xn,trim:Kn,stripBOM:Gn,inherits:Zn,toFlatObject:Yn,kindOf:Ue,kindOfTest:q,endsWith:es,toArray:ts,forEachEntry:ss,matchAll:rs,isHTMLForm:is,hasOwnProperty:wt,hasOwnProp:wt,reduceDescriptors:$t,freezeMethods:cs,toObjectSet:us,toCamelCase:os,noop:ls,toFiniteNumber:fs,findKey:Ht,global:te,isContextDefined:zt,isSpecCompliantForm:ds,toJSONObject:hs,isAsyncFn:ps,isThenable:ms,setImmediate:Jt,asap:ys,isIterable:bs};function b(e,t,n,s,r){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),s&&(this.request=s),r&&(this.response=r,this.status=r.status?r.status:null)}a.inherits(b,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:a.toJSONObject(this.config),code:this.code,status:this.status}}});const Qt=b.prototype,Vt={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{Vt[e]={value:e}});Object.defineProperties(b,Vt);Object.defineProperty(Qt,"isAxiosError",{value:!0});b.from=(e,t,n,s,r,o)=>{const i=Object.create(Qt);a.toFlatObject(e,i,function(l){return l!==Error.prototype},u=>u!=="isAxiosError");const c=e&&e.message?e.message:"Error",d=t==null&&e?e.code:t;return b.call(i,c,d,n,s,r),e&&i.cause==null&&Object.defineProperty(i,"cause",{value:e,configurable:!0}),i.name=e&&e.name||"Error",o&&Object.assign(i,o),i};const ws=null;function Ye(e){return a.isPlainObject(e)||a.isArray(e)}function Wt(e){return a.endsWith(e,"[]")?e.slice(0,-2):e}function gt(e,t,n){return e?e.concat(t).map(function(r,o){return r=Wt(r),!n&&o?"["+r+"]":r}).join(n?".":""):t}function gs(e){return a.isArray(e)&&!e.some(Ye)}const Es=a.toFlatObject(a,{},null,function(t){return/^is[A-Z]/.test(t)});function De(e,t,n){if(!a.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,n=a.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(y,m){return!a.isUndefined(m[y])});const s=n.metaTokens,r=n.visitor||l,o=n.dots,i=n.indexes,d=(n.Blob||typeof Blob<"u"&&Blob)&&a.isSpecCompliantForm(t);if(!a.isFunction(r))throw new TypeError("visitor must be a function");function u(f){if(f===null)return"";if(a.isDate(f))return f.toISOString();if(a.isBoolean(f))return f.toString();if(!d&&a.isBlob(f))throw new b("Blob is not supported. Use a Buffer instead.");return a.isArrayBuffer(f)||a.isTypedArray(f)?d&&typeof Blob=="function"?new Blob([f]):Buffer.from(f):f}function l(f,y,m){let S=f;if(f&&!m&&typeof f=="object"){if(a.endsWith(y,"{}"))y=s?y:y.slice(0,-2),f=JSON.stringify(f);else if(a.isArray(f)&&gs(f)||(a.isFileList(f)||a.endsWith(y,"[]"))&&(S=a.toArray(f)))return y=Wt(y),S.forEach(function(T,x){!(a.isUndefined(T)||T===null)&&t.append(i===!0?gt([y],x,o):i===null?y:y+"[]",u(T))}),!1}return Ye(f)?!0:(t.append(gt(m,y,o),u(f)),!1)}const p=[],E=Object.assign(Es,{defaultVisitor:l,convertValue:u,isVisitable:Ye});function w(f,y){if(!a.isUndefined(f)){if(p.indexOf(f)!==-1)throw Error("Circular reference detected in "+y.join("."));p.push(f),a.forEach(f,function(S,F){(!(a.isUndefined(S)||S===null)&&r.call(t,S,a.isString(F)?F.trim():F,y,E))===!0&&w(S,y?y.concat(F):[F])}),p.pop()}}if(!a.isObject(e))throw new TypeError("data must be an object");return w(e),t}function Et(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(s){return t[s]})}function it(e,t){this._pairs=[],e&&De(e,this,t)}const Kt=it.prototype;Kt.append=function(t,n){this._pairs.push([t,n])};Kt.toString=function(t){const n=t?function(s){return t.call(this,s,Et)}:Et;return this._pairs.map(function(r){return n(r[0])+"="+n(r[1])},"").join("&")};function Rs(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function Xt(e,t,n){if(!t)return e;const s=n&&n.encode||Rs;a.isFunction(n)&&(n={serialize:n});const r=n&&n.serialize;let o;if(r?o=r(t,n):o=a.isURLSearchParams(t)?t.toString():new it(t,n).toString(s),o){const i=e.indexOf("#");i!==-1&&(e=e.slice(0,i)),e+=(e.indexOf("?")===-1?"?":"&")+o}return e}class Rt{constructor(){this.handlers=[]}use(t,n,s){return this.handlers.push({fulfilled:t,rejected:n,synchronous:s?s.synchronous:!1,runWhen:s?s.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){a.forEach(this.handlers,function(s){s!==null&&t(s)})}}const Gt={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Ss=typeof URLSearchParams<"u"?URLSearchParams:it,Os=typeof FormData<"u"?FormData:null,Ts=typeof Blob<"u"?Blob:null,Cs={isBrowser:!0,classes:{URLSearchParams:Ss,FormData:Os,Blob:Ts},protocols:["http","https","file","blob","url","data"]},ot=typeof window<"u"&&typeof document<"u",et=typeof navigator=="object"&&navigator||void 0,As=ot&&(!et||["ReactNative","NativeScript","NS"].indexOf(et.product)<0),xs=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",Ps=ot&&window.location.href||"http://localhost",Fs=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:ot,hasStandardBrowserEnv:As,hasStandardBrowserWebWorkerEnv:xs,navigator:et,origin:Ps},Symbol.toStringTag,{value:"Module"})),_={...Fs,...Cs};function _s(e,t){return De(e,new _.classes.URLSearchParams,{visitor:function(n,s,r,o){return _.isNode&&a.isBuffer(n)?(this.append(s,n.toString("base64")),!1):o.defaultVisitor.apply(this,arguments)},...t})}function Ns(e){return a.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function Us(e){const t={},n=Object.keys(e);let s;const r=n.length;let o;for(s=0;s<r;s++)o=n[s],t[o]=e[o];return t}function Zt(e){function t(n,s,r,o){let i=n[o++];if(i==="__proto__")return!0;const c=Number.isFinite(+i),d=o>=n.length;return i=!i&&a.isArray(r)?r.length:i,d?(a.hasOwnProp(r,i)?r[i]=[r[i],s]:r[i]=s,!c):((!r[i]||!a.isObject(r[i]))&&(r[i]=[]),t(n,s,r[i],o)&&a.isArray(r[i])&&(r[i]=Us(r[i])),!c)}if(a.isFormData(e)&&a.isFunction(e.entries)){const n={};return a.forEachEntry(e,(s,r)=>{t(Ns(s),r,n,0)}),n}return null}function Ls(e,t,n){if(a.isString(e))try{return(t||JSON.parse)(e),a.trim(e)}catch(s){if(s.name!=="SyntaxError")throw s}return(n||JSON.stringify)(e)}const Oe={transitional:Gt,adapter:["xhr","http","fetch"],transformRequest:[function(t,n){const s=n.getContentType()||"",r=s.indexOf("application/json")>-1,o=a.isObject(t);if(o&&a.isHTMLForm(t)&&(t=new FormData(t)),a.isFormData(t))return r?JSON.stringify(Zt(t)):t;if(a.isArrayBuffer(t)||a.isBuffer(t)||a.isStream(t)||a.isFile(t)||a.isBlob(t)||a.isReadableStream(t))return t;if(a.isArrayBufferView(t))return t.buffer;if(a.isURLSearchParams(t))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let c;if(o){if(s.indexOf("application/x-www-form-urlencoded")>-1)return _s(t,this.formSerializer).toString();if((c=a.isFileList(t))||s.indexOf("multipart/form-data")>-1){const d=this.env&&this.env.FormData;return De(c?{"files[]":t}:t,d&&new d,this.formSerializer)}}return o||r?(n.setContentType("application/json",!1),Ls(t)):t}],transformResponse:[function(t){const n=this.transitional||Oe.transitional,s=n&&n.forcedJSONParsing,r=this.responseType==="json";if(a.isResponse(t)||a.isReadableStream(t))return t;if(t&&a.isString(t)&&(s&&!this.responseType||r)){const i=!(n&&n.silentJSONParsing)&&r;try{return JSON.parse(t,this.parseReviver)}catch(c){if(i)throw c.name==="SyntaxError"?b.from(c,b.ERR_BAD_RESPONSE,this,null,this.response):c}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:_.classes.FormData,Blob:_.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};a.forEach(["delete","get","head","post","put","patch"],e=>{Oe.headers[e]={}});const Ds=a.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),ks=e=>{const t={};let n,s,r;return e&&e.split(`
|
|
2
2
|
`).forEach(function(i){r=i.indexOf(":"),n=i.substring(0,r).trim().toLowerCase(),s=i.substring(r+1).trim(),!(!n||t[n]&&Ds[n])&&(n==="set-cookie"?t[n]?t[n].push(s):t[n]=[s]:t[n]=t[n]?t[n]+", "+s:s)}),t},St=Symbol("internals");function me(e){return e&&String(e).trim().toLowerCase()}function Pe(e){return e===!1||e==null?e:a.isArray(e)?e.map(Pe):String(e)}function Bs(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let s;for(;s=n.exec(e);)t[s[1]]=s[2];return t}const Is=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function je(e,t,n,s,r){if(a.isFunction(s))return s.call(this,t,n);if(r&&(t=n),!!a.isString(t)){if(a.isString(s))return t.indexOf(s)!==-1;if(a.isRegExp(s))return s.test(t)}}function js(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,n,s)=>n.toUpperCase()+s)}function Ms(e,t){const n=a.toCamelCase(" "+t);["get","set","has"].forEach(s=>{Object.defineProperty(e,s+n,{value:function(r,o,i){return this[s].call(this,t,r,o,i)},configurable:!0})})}let I=class{constructor(t){t&&this.set(t)}set(t,n,s){const r=this;function o(c,d,u){const l=me(d);if(!l)throw new Error("header name must be a non-empty string");const p=a.findKey(r,l);(!p||r[p]===void 0||u===!0||u===void 0&&r[p]!==!1)&&(r[p||d]=Pe(c))}const i=(c,d)=>a.forEach(c,(u,l)=>o(u,l,d));if(a.isPlainObject(t)||t instanceof this.constructor)i(t,n);else if(a.isString(t)&&(t=t.trim())&&!Is(t))i(ks(t),n);else if(a.isObject(t)&&a.isIterable(t)){let c={},d,u;for(const l of t){if(!a.isArray(l))throw TypeError("Object iterator must return a key-value pair");c[u=l[0]]=(d=c[u])?a.isArray(d)?[...d,l[1]]:[d,l[1]]:l[1]}i(c,n)}else t!=null&&o(n,t,s);return this}get(t,n){if(t=me(t),t){const s=a.findKey(this,t);if(s){const r=this[s];if(!n)return r;if(n===!0)return Bs(r);if(a.isFunction(n))return n.call(this,r,s);if(a.isRegExp(n))return n.exec(r);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,n){if(t=me(t),t){const s=a.findKey(this,t);return!!(s&&this[s]!==void 0&&(!n||je(this,this[s],s,n)))}return!1}delete(t,n){const s=this;let r=!1;function o(i){if(i=me(i),i){const c=a.findKey(s,i);c&&(!n||je(s,s[c],c,n))&&(delete s[c],r=!0)}}return a.isArray(t)?t.forEach(o):o(t),r}clear(t){const n=Object.keys(this);let s=n.length,r=!1;for(;s--;){const o=n[s];(!t||je(this,this[o],o,t,!0))&&(delete this[o],r=!0)}return r}normalize(t){const n=this,s={};return a.forEach(this,(r,o)=>{const i=a.findKey(s,o);if(i){n[i]=Pe(r),delete n[o];return}const c=t?js(o):String(o).trim();c!==o&&delete n[o],n[c]=Pe(r),s[c]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const n=Object.create(null);return a.forEach(this,(s,r)=>{s!=null&&s!==!1&&(n[r]=t&&a.isArray(s)?s.join(", "):s)}),n}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,n])=>t+": "+n).join(`
|
|
3
3
|
`)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...n){const s=new this(t);return n.forEach(r=>s.set(r)),s}static accessor(t){const s=(this[St]=this[St]={accessors:{}}).accessors,r=this.prototype;function o(i){const c=me(i);s[c]||(Ms(r,i),s[c]=!0)}return a.isArray(t)?t.forEach(o):o(t),this}};I.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);a.reduceDescriptors(I.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(s){this[n]=s}}});a.freezeMethods(I);function Me(e,t){const n=this||Oe,s=t||n,r=I.from(s.headers);let o=s.data;return a.forEach(e,function(c){o=c.call(n,o,r.normalize(),t?t.status:void 0)}),r.normalize(),o}function Yt(e){return!!(e&&e.__CANCEL__)}function pe(e,t,n){b.call(this,e??"canceled",b.ERR_CANCELED,t,n),this.name="CanceledError"}a.inherits(pe,b,{__CANCEL__:!0});function en(e,t,n){const s=n.config.validateStatus;!n.status||!s||s(n.status)?e(n):t(new b("Request failed with status code "+n.status,[b.ERR_BAD_REQUEST,b.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}function vs(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function qs(e,t){e=e||10;const n=new Array(e),s=new Array(e);let r=0,o=0,i;return t=t!==void 0?t:1e3,function(d){const u=Date.now(),l=s[o];i||(i=u),n[r]=d,s[r]=u;let p=o,E=0;for(;p!==r;)E+=n[p++],p=p%e;if(r=(r+1)%e,r===o&&(o=(o+1)%e),u-i<t)return;const w=l&&u-l;return w?Math.round(E*1e3/w):void 0}}function Hs(e,t){let n=0,s=1e3/t,r,o;const i=(u,l=Date.now())=>{n=l,r=null,o&&(clearTimeout(o),o=null),e(...u)};return[(...u)=>{const l=Date.now(),p=l-n;p>=s?i(u,l):(r=u,o||(o=setTimeout(()=>{o=null,i(r)},s-p)))},()=>r&&i(r)]}const _e=(e,t,n=3)=>{let s=0;const r=qs(50,250);return Hs(o=>{const i=o.loaded,c=o.lengthComputable?o.total:void 0,d=i-s,u=r(d),l=i<=c;s=i;const p={loaded:i,total:c,progress:c?i/c:void 0,bytes:d,rate:u||void 0,estimated:u&&c&&l?(c-i)/u:void 0,event:o,lengthComputable:c!=null,[t?"download":"upload"]:!0};e(p)},n)},Ot=(e,t)=>{const n=e!=null;return[s=>t[0]({lengthComputable:n,total:e,loaded:s}),t[1]]},Tt=e=>(...t)=>a.asap(()=>e(...t)),zs=_.hasStandardBrowserEnv?((e,t)=>n=>(n=new URL(n,_.origin),e.protocol===n.protocol&&e.host===n.host&&(t||e.port===n.port)))(new URL(_.origin),_.navigator&&/(msie|trident)/i.test(_.navigator.userAgent)):()=>!0,$s=_.hasStandardBrowserEnv?{write(e,t,n,s,r,o){const i=[e+"="+encodeURIComponent(t)];a.isNumber(n)&&i.push("expires="+new Date(n).toGMTString()),a.isString(s)&&i.push("path="+s),a.isString(r)&&i.push("domain="+r),o===!0&&i.push("secure"),document.cookie=i.join("; ")},read(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function Js(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function Qs(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function tn(e,t,n){let s=!Js(t);return e&&(s||n==!1)?Qs(e,t):t}const Ct=e=>e instanceof I?{...e}:e;function oe(e,t){t=t||{};const n={};function s(u,l,p,E){return a.isPlainObject(u)&&a.isPlainObject(l)?a.merge.call({caseless:E},u,l):a.isPlainObject(l)?a.merge({},l):a.isArray(l)?l.slice():l}function r(u,l,p,E){if(a.isUndefined(l)){if(!a.isUndefined(u))return s(void 0,u,p,E)}else return s(u,l,p,E)}function o(u,l){if(!a.isUndefined(l))return s(void 0,l)}function i(u,l){if(a.isUndefined(l)){if(!a.isUndefined(u))return s(void 0,u)}else return s(void 0,l)}function c(u,l,p){if(p in t)return s(u,l);if(p in e)return s(void 0,u)}const d={url:o,method:o,data:o,baseURL:i,transformRequest:i,transformResponse:i,paramsSerializer:i,timeout:i,timeoutMessage:i,withCredentials:i,withXSRFToken:i,adapter:i,responseType:i,xsrfCookieName:i,xsrfHeaderName:i,onUploadProgress:i,onDownloadProgress:i,decompress:i,maxContentLength:i,maxBodyLength:i,beforeRedirect:i,transport:i,httpAgent:i,httpsAgent:i,cancelToken:i,socketPath:i,responseEncoding:i,validateStatus:c,headers:(u,l,p)=>r(Ct(u),Ct(l),p,!0)};return a.forEach(Object.keys({...e,...t}),function(l){const p=d[l]||r,E=p(e[l],t[l],l);a.isUndefined(E)&&p!==c||(n[l]=E)}),n}const nn=e=>{const t=oe({},e);let{data:n,withXSRFToken:s,xsrfHeaderName:r,xsrfCookieName:o,headers:i,auth:c}=t;if(t.headers=i=I.from(i),t.url=Xt(tn(t.baseURL,t.url,t.allowAbsoluteUrls),e.params,e.paramsSerializer),c&&i.set("Authorization","Basic "+btoa((c.username||"")+":"+(c.password?unescape(encodeURIComponent(c.password)):""))),a.isFormData(n)){if(_.hasStandardBrowserEnv||_.hasStandardBrowserWebWorkerEnv)i.setContentType(void 0);else if(a.isFunction(n.getHeaders)){const d=n.getHeaders(),u=["content-type","content-length"];Object.entries(d).forEach(([l,p])=>{u.includes(l.toLowerCase())&&i.set(l,p)})}}if(_.hasStandardBrowserEnv&&(s&&a.isFunction(s)&&(s=s(t)),s||s!==!1&&zs(t.url))){const d=r&&o&&$s.read(o);d&&i.set(r,d)}return t},Vs=typeof XMLHttpRequest<"u",Ws=Vs&&function(e){return new Promise(function(n,s){const r=nn(e);let o=r.data;const i=I.from(r.headers).normalize();let{responseType:c,onUploadProgress:d,onDownloadProgress:u}=r,l,p,E,w,f;function y(){w&&w(),f&&f(),r.cancelToken&&r.cancelToken.unsubscribe(l),r.signal&&r.signal.removeEventListener("abort",l)}let m=new XMLHttpRequest;m.open(r.method.toUpperCase(),r.url,!0),m.timeout=r.timeout;function S(){if(!m)return;const T=I.from("getAllResponseHeaders"in m&&m.getAllResponseHeaders()),L={data:!c||c==="text"||c==="json"?m.responseText:m.response,status:m.status,statusText:m.statusText,headers:T,config:e,request:m};en(function(j){n(j),y()},function(j){s(j),y()},L),m=null}"onloadend"in m?m.onloadend=S:m.onreadystatechange=function(){!m||m.readyState!==4||m.status===0&&!(m.responseURL&&m.responseURL.indexOf("file:")===0)||setTimeout(S)},m.onabort=function(){m&&(s(new b("Request aborted",b.ECONNABORTED,e,m)),m=null)},m.onerror=function(x){const L=x&&x.message?x.message:"Network Error",H=new b(L,b.ERR_NETWORK,e,m);H.event=x||null,s(H),m=null},m.ontimeout=function(){let x=r.timeout?"timeout of "+r.timeout+"ms exceeded":"timeout exceeded";const L=r.transitional||Gt;r.timeoutErrorMessage&&(x=r.timeoutErrorMessage),s(new b(x,L.clarifyTimeoutError?b.ETIMEDOUT:b.ECONNABORTED,e,m)),m=null},o===void 0&&i.setContentType(null),"setRequestHeader"in m&&a.forEach(i.toJSON(),function(x,L){m.setRequestHeader(L,x)}),a.isUndefined(r.withCredentials)||(m.withCredentials=!!r.withCredentials),c&&c!=="json"&&(m.responseType=r.responseType),u&&([E,f]=_e(u,!0),m.addEventListener("progress",E)),d&&m.upload&&([p,w]=_e(d),m.upload.addEventListener("progress",p),m.upload.addEventListener("loadend",w)),(r.cancelToken||r.signal)&&(l=T=>{m&&(s(!T||T.type?new pe(null,e,m):T),m.abort(),m=null)},r.cancelToken&&r.cancelToken.subscribe(l),r.signal&&(r.signal.aborted?l():r.signal.addEventListener("abort",l)));const F=vs(r.url);if(F&&_.protocols.indexOf(F)===-1){s(new b("Unsupported protocol "+F+":",b.ERR_BAD_REQUEST,e));return}m.send(o||null)})},Ks=(e,t)=>{const{length:n}=e=e?e.filter(Boolean):[];if(t||n){let s=new AbortController,r;const o=function(u){if(!r){r=!0,c();const l=u instanceof Error?u:this.reason;s.abort(l instanceof b?l:new pe(l instanceof Error?l.message:l))}};let i=t&&setTimeout(()=>{i=null,o(new b(`timeout ${t} of ms exceeded`,b.ETIMEDOUT))},t);const c=()=>{e&&(i&&clearTimeout(i),i=null,e.forEach(u=>{u.unsubscribe?u.unsubscribe(o):u.removeEventListener("abort",o)}),e=null)};e.forEach(u=>u.addEventListener("abort",o));const{signal:d}=s;return d.unsubscribe=()=>a.asap(c),d}},Xs=function*(e,t){let n=e.byteLength;if(n<t){yield e;return}let s=0,r;for(;s<n;)r=s+t,yield e.slice(s,r),s=r},Gs=async function*(e,t){for await(const n of Zs(e))yield*Xs(n,t)},Zs=async function*(e){if(e[Symbol.asyncIterator]){yield*e;return}const t=e.getReader();try{for(;;){const{done:n,value:s}=await t.read();if(n)break;yield s}}finally{await t.cancel()}},At=(e,t,n,s)=>{const r=Gs(e,t);let o=0,i,c=d=>{i||(i=!0,s&&s(d))};return new ReadableStream({async pull(d){try{const{done:u,value:l}=await r.next();if(u){c(),d.close();return}let p=l.byteLength;if(n){let E=o+=p;n(E)}d.enqueue(new Uint8Array(l))}catch(u){throw c(u),u}},cancel(d){return c(d),r.return()}},{highWaterMark:2})},xt=64*1024,{isFunction:Ae}=a,Ys=(({Request:e,Response:t})=>({Request:e,Response:t}))(a.global),{ReadableStream:Pt,TextEncoder:Ft}=a.global,_t=(e,...t)=>{try{return!!e(...t)}catch{return!1}},er=e=>{e=a.merge.call({skipUndefined:!0},Ys,e);const{fetch:t,Request:n,Response:s}=e,r=t?Ae(t):typeof fetch=="function",o=Ae(n),i=Ae(s);if(!r)return!1;const c=r&&Ae(Pt),d=r&&(typeof Ft=="function"?(f=>y=>f.encode(y))(new Ft):async f=>new Uint8Array(await new n(f).arrayBuffer())),u=o&&c&&_t(()=>{let f=!1;const y=new n(_.origin,{body:new Pt,method:"POST",get duplex(){return f=!0,"half"}}).headers.has("Content-Type");return f&&!y}),l=i&&c&&_t(()=>a.isReadableStream(new s("").body)),p={stream:l&&(f=>f.body)};r&&["text","arrayBuffer","blob","formData","stream"].forEach(f=>{!p[f]&&(p[f]=(y,m)=>{let S=y&&y[f];if(S)return S.call(y);throw new b(`Response type '${f}' is not supported`,b.ERR_NOT_SUPPORT,m)})});const E=async f=>{if(f==null)return 0;if(a.isBlob(f))return f.size;if(a.isSpecCompliantForm(f))return(await new n(_.origin,{method:"POST",body:f}).arrayBuffer()).byteLength;if(a.isArrayBufferView(f)||a.isArrayBuffer(f))return f.byteLength;if(a.isURLSearchParams(f)&&(f=f+""),a.isString(f))return(await d(f)).byteLength},w=async(f,y)=>{const m=a.toFiniteNumber(f.getContentLength());return m??E(y)};return async f=>{let{url:y,method:m,data:S,signal:F,cancelToken:T,timeout:x,onDownloadProgress:L,onUploadProgress:H,responseType:j,headers:D,withCredentials:Z="same-origin",fetchOptions:N}=nn(f),Y=t||fetch;j=j?(j+"").toLowerCase():"text";let M=Ks([F,T&&T.toAbortSignal()],x),z=null;const ee=M&&M.unsubscribe&&(()=>{M.unsubscribe()});let at;try{if(H&&u&&m!=="get"&&m!=="head"&&(at=await w(D,S))!==0){let K=new n(y,{method:"POST",body:S,duplex:"half"}),ae;if(a.isFormData(S)&&(ae=K.headers.get("content-type"))&&D.setContentType(ae),K.body){const[Be,Te]=Ot(at,_e(Tt(H)));S=At(K.body,xt,Be,Te)}}a.isString(Z)||(Z=Z?"include":"omit");const $=o&&"credentials"in n.prototype,ct={...N,signal:M,method:m.toUpperCase(),headers:D.normalize().toJSON(),body:S,duplex:"half",credentials:$?Z:void 0};z=o&&new n(y,ct);let W=await(o?Y(z,N):Y(y,ct));const ut=l&&(j==="stream"||j==="response");if(l&&(L||ut&&ee)){const K={};["status","statusText","headers"].forEach(lt=>{K[lt]=W[lt]});const ae=a.toFiniteNumber(W.headers.get("content-length")),[Be,Te]=L&&Ot(ae,_e(Tt(L),!0))||[];W=new s(At(W.body,xt,Be,()=>{Te&&Te(),ee&&ee()}),K)}j=j||"text";let ln=await p[a.findKey(p,j)||"text"](W,f);return!ut&&ee&&ee(),await new Promise((K,ae)=>{en(K,ae,{data:ln,headers:I.from(W.headers),status:W.status,statusText:W.statusText,config:f,request:z})})}catch($){throw ee&&ee(),$&&$.name==="TypeError"&&/Load failed|fetch/i.test($.message)?Object.assign(new b("Network Error",b.ERR_NETWORK,f,z),{cause:$.cause||$}):b.from($,$&&$.code,f,z)}}},tr=new Map,sn=e=>{let t=e?e.env:{};const{fetch:n,Request:s,Response:r}=t,o=[s,r,n];let i=o.length,c=i,d,u,l=tr;for(;c--;)d=o[c],u=l.get(d),u===void 0&&l.set(d,u=c?new Map:er(t)),l=u;return u};sn();const tt={http:ws,xhr:Ws,fetch:{get:sn}};a.forEach(tt,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});const Nt=e=>`- ${e}`,nr=e=>a.isFunction(e)||e===null||e===!1,rn={getAdapter:(e,t)=>{e=a.isArray(e)?e:[e];const{length:n}=e;let s,r;const o={};for(let i=0;i<n;i++){s=e[i];let c;if(r=s,!nr(s)&&(r=tt[(c=String(s)).toLowerCase()],r===void 0))throw new b(`Unknown adapter '${c}'`);if(r&&(a.isFunction(r)||(r=r.get(t))))break;o[c||"#"+i]=r}if(!r){const i=Object.entries(o).map(([d,u])=>`adapter ${d} `+(u===!1?"is not supported by the environment":"is not available in the build"));let c=n?i.length>1?`since :
|
|
4
4
|
`+i.map(Nt).join(`
|
package/src/web/dist/index.html
CHANGED
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
<meta charset="UTF-8" />
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
6
|
<title>cc-gw 控制台</title>
|
|
7
|
-
<script type="module" crossorigin src="/assets/index-
|
|
8
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
7
|
+
<script type="module" crossorigin src="/assets/index-fNmJF3BX.js"></script>
|
|
8
|
+
<link rel="stylesheet" crossorigin href="/assets/index-DTby9g2A.css">
|
|
9
9
|
</head>
|
|
10
10
|
<body class="bg-slate-50 text-slate-900 dark:bg-slate-900 dark:text-slate-50">
|
|
11
11
|
<div id="root"></div>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{u as ue,r as f,j as e,a as Re}from"./index-CDJfhjXI.js";import{u as Ce,a as Y}from"./useApiQuery-Bna2BImG.js";function be(){return typeof globalThis.crypto<"u"&&typeof globalThis.crypto.randomUUID=="function"?globalThis.crypto.randomUUID():Math.random().toString(36).slice(2,10)}function fe(){return{_key:be(),id:"",label:""}}const ie={openai:{baseUrl:"https://api.openai.com/v1"},deepseek:{baseUrl:"https://api.deepseek.com/v1"},huawei:{baseUrl:"https://api.modelarts-maas.com/v1"},kimi:{baseUrl:"https://api.moonshot.cn/v1"},anthropic:{baseUrl:"https://api.anthropic.com/v1",defaultModel:"claude-sonnet-4-5-20250929",models:[{id:"claude-sonnet-4-5-20250929",label:"Claude Sonnet 4.5 (2025-09-29)"},{id:"claude-sonnet-4-20250514",label:"Claude Sonnet 4 (2025-05-14)"},{id:"claude-opus-4-1-20250805",label:"Claude Opus 4.1 (2025-08-05)"},{id:"claude-3-5-haiku-20241022",label:"Claude 3.5 Haiku (2024-10-22)"}]},custom:{}};function me(s){return s?{id:s.id,label:s.label??s.id,baseUrl:s.baseUrl,apiKey:s.apiKey??"",type:s.type??"custom",defaultModel:s.defaultModel??"",models:(s.models??[]).map(u=>({...u,_key:be()}))}:{id:"",label:"",baseUrl:"",apiKey:"",type:"custom",defaultModel:"",models:[fe()]}}function Se(s){return{_key:be(),id:s.id,label:s.label}}function Ee({open:s,mode:u,provider:x,existingProviderIds:R,onClose:w,onSubmit:T}){const{t:a}=ue(),[d,N]=f.useState(()=>me(x)),[C,K]=f.useState({}),[q,U]=f.useState(!1),[B,F]=f.useState(null),J=f.useRef(null),$=f.useRef(null),y=f.useRef(null),[L,S]=f.useState(u==="edit");f.useEffect(()=>{s&&(N(me(x)),K({}),F(null),U(!1),S(u==="edit"))},[s,x,u]),f.useEffect(()=>{if(!s)return;const r=o=>{o.key==="Escape"&&w()};return window.addEventListener("keydown",r),()=>window.removeEventListener("keydown",r)},[s,w]),f.useEffect(()=>{if(s){if(u==="create"&&y.current){y.current.focus();return}$.current&&$.current.focus()}},[s,u]);const de=f.useMemo(()=>d.models.filter(r=>r.id.trim().length>0),[d.models]),Q=r=>o=>{N(b=>({...b,[r]:o}))},oe=r=>{N(o=>{const m=!L||o.label.trim().length===0||o.label===o.id?r:o.label;return{...o,id:r,label:m}})},V=r=>{N(o=>{var ae;const m=ie[r??"custom"]??ie.custom,j=Object.values(ie).map(H=>H.baseUrl).filter(H=>!!H),E=!o.baseUrl||j.includes(o.baseUrl),A=u==="create"&&(o.models.length===0||o.models.every(H=>H.id.trim().length===0)),O={...o,type:r};return m!=null&&m.baseUrl&&E&&(O.baseUrl=m.baseUrl),m!=null&&m.models&&A&&(O.models=m.models.map(Se),O.defaultModel=m.defaultModel??((ae=m.models[0])==null?void 0:ae.id)??""),O})},W=(r,o)=>{N(b=>{const m=[...b.models];return m[r]={...m[r],...o},{...b,models:m}})},X=(r,o)=>{N(b=>{const m=[...b.models],j=m[r];if(!j)return b;const E=!L||!j.label||j.label===j.id,A={...j,id:o,label:E?o:j.label};m[r]=A;const O=b.defaultModel===j.id?o:b.defaultModel;return{...b,models:m,defaultModel:O}})},Z=r=>{N(o=>{var j;if(o.models.length<=1)return o;const b=o.models.filter((E,A)=>A!==r);let m=o.defaultModel;return b.some(E=>E.id===m)||(m=((j=b[0])==null?void 0:j.id)??""),{...o,models:b,defaultModel:m}})},_=()=>{N(r=>({...r,models:[...r.models,fe()]}))},ee=()=>{const r={},o=d.id.trim(),b=d.baseUrl.trim();if(u==="create"&&(o.length===0?r.id=a("providers.drawer.errors.idRequired"):R.includes(o)&&(r.id=a("providers.drawer.errors.idDuplicate"))),u==="edit"&&o.length===0&&(r.id=a("providers.drawer.errors.idRequired")),b.length===0)r.baseUrl=a("providers.drawer.errors.baseUrlInvalid");else try{new URL(b)}catch{r.baseUrl=a("providers.drawer.errors.baseUrlInvalid")}const m=new Set;return d.models.some(E=>{const A=E.id.trim();return A.length===0||m.has(A)?!0:(m.add(A),!1)})&&(r.models=a("providers.drawer.errors.modelInvalid")),d.models.length===0&&(r.models=a("providers.drawer.errors.modelsRequired")),d.defaultModel&&!d.models.some(E=>E.id===d.defaultModel)&&(r.models=a("providers.drawer.errors.defaultInvalid")),K(r),Object.keys(r).length===0},te=()=>{const r=d.models.map(b=>{var m;return{id:b.id.trim(),label:(m=b.label)!=null&&m.trim()?b.label.trim():void 0}}),o=x!=null&&x.extraHeaders&&Object.keys(x.extraHeaders).length>0?x.extraHeaders:void 0;return{id:d.id.trim(),label:d.label.trim()||d.id.trim(),baseUrl:d.baseUrl.trim(),apiKey:d.apiKey.trim()||void 0,type:d.type??"custom",defaultModel:d.defaultModel||void 0,models:r,extraHeaders:o}},M=async()=>{if(F(null),!!ee()){U(!0);try{const r=te();await T(r)}catch(r){F(a("providers.drawer.toast.saveFailure",{message:r instanceof Error?r.message:"unknown"})),U(!1);return}U(!1),w()}},se=u==="create";return s?e.jsxs("div",{className:"fixed inset-0 z-50 flex",children:[e.jsx("div",{className:"flex-1 bg-slate-900/60",onClick:w,"aria-hidden":"true"}),e.jsxs("aside",{ref:J,role:"dialog","aria-modal":"true","aria-labelledby":"provider-drawer-title","aria-describedby":"provider-drawer-desc",className:"flex h-full w-full max-w-3xl flex-col border-l border-slate-200 bg-white shadow-xl dark:border-slate-800 dark:bg-slate-900",children:[e.jsxs("header",{className:"flex items-center justify-between border-b border-slate-200 px-6 py-4 dark:border-slate-800",children:[e.jsxs("div",{children:[e.jsx("h2",{id:"provider-drawer-title",className:"text-lg font-semibold",children:a(se?"providers.drawer.createTitle":"providers.drawer.editTitle")}),e.jsx("p",{id:"provider-drawer-desc",className:"text-xs text-slate-500 dark:text-slate-400",children:a("providers.drawer.description")})]}),e.jsx("button",{type:"button",ref:$,onClick:w,className:"rounded-md border border-slate-200 px-3 py-1 text-sm transition hover:bg-slate-100 dark:border-slate-700 dark:hover:bg-slate-800",children:a("common.actions.close")})]}),e.jsxs("div",{className:"flex-1 overflow-y-auto px-6 py-5",children:[e.jsxs("section",{className:"space-y-4","aria-labelledby":"provider-basic-fields",children:[e.jsx("div",{id:"provider-basic-fields",className:"sr-only",children:a("providers.drawer.description")}),e.jsx("div",{className:"flex items-center justify-end",children:e.jsx("button",{type:"button",onClick:()=>S(r=>!r),className:"rounded-md border border-slate-200 px-3 py-1 text-xs transition hover:bg-slate-100 dark:border-slate-700 dark:hover:bg-slate-800",children:a(L?"providers.drawer.fields.hideAdvanced":"providers.drawer.fields.showAdvanced")})}),e.jsxs("div",{className:"grid gap-4 md:grid-cols-2",children:[e.jsxs("label",{className:"flex flex-col gap-2 text-sm",children:[e.jsx("span",{className:"text-xs text-slate-500 dark:text-slate-400",children:a("providers.drawer.fields.id")}),e.jsx("input",{value:d.id,ref:y,onChange:r=>oe(r.target.value),disabled:!se,placeholder:a("providers.drawer.fields.idPlaceholder"),className:"rounded-md border border-slate-200 bg-white px-3 py-2 text-sm focus:border-blue-500 focus:outline-none focus:ring-2 focus:ring-blue-200 disabled:bg-slate-100 disabled:text-slate-400 dark:border-slate-700 dark:bg-slate-800 dark:focus:border-blue-400 dark:focus:ring-blue-400/40 dark:disabled:bg-slate-800/60","aria-invalid":!!C.id}),C.id?e.jsx("span",{className:"text-xs text-red-500",children:C.id}):null]}),L?e.jsxs("label",{className:"flex flex-col gap-2 text-sm",children:[e.jsx("span",{className:"text-xs text-slate-500 dark:text-slate-400",children:a("providers.drawer.fields.label")}),e.jsx("input",{value:d.label,onChange:r=>Q("label")(r.target.value),placeholder:a("providers.drawer.fields.labelPlaceholder"),className:"rounded-md border border-slate-200 bg-white px-3 py-2 text-sm focus:border-blue-500 focus:outline-none focus:ring-2 focus:ring-blue-200 disabled:bg-slate-100 disabled:text-slate-400 dark:border-slate-700 dark:bg-slate-800 dark:focus:border-blue-400 dark:focus:ring-blue-400/40 dark:disabled:bg-slate-800/60"})]}):null]}),e.jsxs("div",{className:"grid gap-4 md:grid-cols-2",children:[e.jsxs("label",{className:"flex flex-col gap-2 text-sm",children:[e.jsx("span",{className:"text-xs text-slate-500 dark:text-slate-400",children:a("providers.drawer.fields.baseUrl")}),e.jsx("input",{value:d.baseUrl,onChange:r=>Q("baseUrl")(r.target.value),placeholder:a("providers.drawer.fields.baseUrlPlaceholder"),className:"rounded-md border border-slate-200 bg-white px-3 py-2 text-sm focus:border-blue-500 focus:outline-none focus:ring-2 focus:ring-blue-200 disabled:bg-slate-100 disabled:text-slate-400 dark:border-slate-700 dark:bg-slate-800 dark:focus:border-blue-400 dark:focus:ring-blue-400/40 dark:disabled:bg-slate-800/60","aria-invalid":!!C.baseUrl}),C.baseUrl?e.jsx("span",{className:"text-xs text-red-500",children:C.baseUrl}):null]}),e.jsxs("label",{className:"flex flex-col gap-2 text-sm",children:[e.jsx("span",{className:"text-xs text-slate-500 dark:text-slate-400",children:a("providers.drawer.fields.type")}),e.jsxs("select",{value:d.type??"custom",onChange:r=>V(r.target.value),className:"rounded-md border border-slate-200 bg-white px-3 py-2 text-sm focus:border-blue-500 focus:outline-none focus:ring-2 focus:ring-blue-200 disabled:bg-slate-100 disabled:text-slate-400 dark:border-slate-700 dark:bg-slate-800 dark:focus:border-blue-400 dark:focus:ring-blue-400/40 dark:disabled:bg-slate-800/60",children:[e.jsx("option",{value:"openai",children:"OpenAI"}),e.jsx("option",{value:"deepseek",children:"DeepSeek"}),e.jsx("option",{value:"huawei",children:"华为云"}),e.jsx("option",{value:"kimi",children:"Kimi"}),e.jsx("option",{value:"anthropic",children:"Anthropic (Claude)"}),e.jsx("option",{value:"custom",children:"Custom"})]})]})]}),e.jsxs("label",{className:"flex flex-col gap-2 text-sm",children:[e.jsx("span",{className:"text-xs text-slate-500 dark:text-slate-400",children:a("providers.drawer.fields.apiKey")}),e.jsx("input",{value:d.apiKey,onChange:r=>Q("apiKey")(r.target.value),placeholder:a("providers.drawer.fields.apiKeyPlaceholder"),className:"rounded-md border border-slate-200 bg-white px-3 py-2 text-sm focus:border-blue-500 focus:outline-none focus:ring-2 focus:ring-blue-200 disabled:bg-slate-100 disabled:text-slate-400 dark:border-slate-700 dark:bg-slate-800 dark:focus:border-blue-400 dark:focus:ring-blue-400/40 dark:disabled:bg-slate-800/60"})]})]}),e.jsxs("section",{className:"mt-6 space-y-3","aria-labelledby":"provider-model-fields",children:[e.jsxs("header",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx("h3",{id:"provider-model-fields",className:"text-xs font-semibold uppercase tracking-wide text-slate-500 dark:text-slate-400",children:a("providers.drawer.fields.models")}),e.jsx("p",{className:"text-xs text-slate-500 dark:text-slate-400",children:a("providers.drawer.modelsDescription")})]}),e.jsx("button",{type:"button",onClick:_,className:"rounded-md border border-slate-200 px-3 py-1 text-xs transition hover:bg-slate-100 dark:border-slate-700 dark:hover:bg-slate-800",children:a("providers.drawer.fields.addModel")})]}),C.models?e.jsx("p",{className:"text-xs text-red-500",children:C.models}):null,e.jsx("div",{className:"space-y-4",children:d.models.map((r,o)=>e.jsxs("div",{className:"rounded-lg border border-slate-200 bg-slate-50 p-4 dark:border-slate-700 dark:bg-slate-800/40",children:[e.jsxs("div",{className:"grid gap-4 md:grid-cols-2",children:[e.jsxs("label",{className:"flex flex-col gap-2 text-sm",children:[e.jsx("span",{className:"text-xs text-slate-500 dark:text-slate-400",children:a("providers.drawer.fields.modelId")}),e.jsx("input",{value:r.id,onChange:b=>X(o,b.target.value),placeholder:a("providers.drawer.fields.modelIdPlaceholder"),className:"rounded-md border border-slate-200 bg-white px-3 py-2 text-sm focus:border-blue-500 focus:outline-none focus:ring-2 focus:ring-blue-200 disabled:bg-slate-100 disabled:text-slate-400 dark:border-slate-700 dark:bg-slate-800 dark:focus:border-blue-400 dark:focus:ring-blue-400/40 dark:disabled:bg-slate-800/60"})]}),L?e.jsxs("label",{className:"flex flex-col gap-2 text-sm",children:[e.jsx("span",{className:"text-xs text-slate-500 dark:text-slate-400",children:a("providers.drawer.fields.modelLabel")}),e.jsx("input",{value:r.label??"",onChange:b=>W(o,{label:b.target.value}),placeholder:a("providers.drawer.fields.modelLabelPlaceholder"),className:"rounded-md border border-slate-200 bg-white px-3 py-2 text-sm focus:border-blue-500 focus:outline-none focus:ring-2 focus:ring-blue-200 disabled:bg-slate-100 disabled:text-slate-400 dark:border-slate-700 dark:bg-slate-800 dark:focus:border-blue-400 dark:focus:ring-blue-400/40 dark:disabled:bg-slate-800/60"})]}):null]}),e.jsxs("div",{className:"mt-3 flex flex-wrap items-center justify-between gap-3 text-xs",children:[e.jsxs("label",{className:"flex items-center gap-2 text-slate-600 dark:text-slate-300",children:[e.jsx("input",{type:"radio",name:"defaultModel",value:r.id,checked:d.defaultModel===r.id,onChange:()=>N(b=>({...b,defaultModel:r.id})),disabled:r.id.trim().length===0}),a("providers.drawer.fields.setDefault")]}),e.jsx("button",{type:"button",className:"text-red-500 transition hover:text-red-600 disabled:cursor-not-allowed disabled:opacity-40",onClick:()=>Z(o),disabled:d.models.length<=1,children:a("providers.drawer.fields.removeModel")})]})]},r._key))}),de.length>1?e.jsx("div",{className:"text-xs text-slate-500 dark:text-slate-400",children:a("providers.drawer.defaultHint",{model:d.defaultModel||a("providers.card.noDefault")})}):null]})]}),e.jsxs("footer",{className:"flex items-center justify-between gap-3 border-t border-slate-200 px-6 py-4 text-sm dark:border-slate-800",children:[e.jsx("div",{className:"flex flex-col text-xs text-red-500","aria-live":"polite",children:B?e.jsx("span",{children:B}):null}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx("button",{type:"button",onClick:w,className:"rounded-md border border-slate-200 px-4 py-2 transition hover:bg-slate-100 dark:border-slate-700 dark:hover:bg-slate-800",disabled:q,children:a("common.actions.cancel")}),e.jsx("button",{type:"button",onClick:M,className:"rounded-md bg-blue-600 px-4 py-2 text-white transition hover:bg-blue-700 disabled:opacity-60",disabled:q,children:a(q?"common.actions.saving":"common.actions.save")})]})]})]})]}):null}const Ue=["claude-sonnet-4-5-20250929","claude-sonnet-4-20250514","claude-opus-4-1-20250805","claude-3-5-haiku-20241022"],Ae=["gpt-4o-mini","gpt-4o","o4-mini","o4-large","gpt-5-codex"];function ce(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():Math.random().toString(36).slice(2,10)}function G(s){return s?Object.entries(s).map(([u,x])=>({id:ce(),source:u,target:x})):[]}function ne(s){var x,R;if(!s)return{anthropic:[],openai:[]};const u=s.endpointRouting??{};return{anthropic:G(((x=u.anthropic)==null?void 0:x.modelRoutes)??s.modelRoutes??{}),openai:G(((R=u.openai)==null?void 0:R.modelRoutes)??{})}}function Ke(){const{t:s}=ue(),{pushToast:u}=Re(),x=Ce(["config","full"],{url:"/api/config",method:"GET"}),R=[{key:"providers",label:s("modelManagement.tabs.providers"),description:s("modelManagement.tabs.providersDesc")},{key:"anthropic",label:s("modelManagement.tabs.anthropic"),description:s("modelManagement.tabs.anthropicDesc")},{key:"openai",label:s("modelManagement.tabs.openai"),description:s("modelManagement.tabs.openaiDesc")}],[w,T]=f.useState("providers"),[a,d]=f.useState(null),[N,C]=f.useState(!1),[K,q]=f.useState("create"),[U,B]=f.useState(void 0),[F,J]=f.useState(null),[$,y]=f.useState({anthropic:[],openai:[]}),[L,S]=f.useState({anthropic:null,openai:null}),[de,Q]=f.useState(null),[oe,V]=f.useState(!1),[W,X]=f.useState(""),[Z,_]=f.useState(null),[ee,te]=f.useState(!1),M=(a==null?void 0:a.providers)??[],se=M.length;f.useEffect(()=>{if(x.data){const t=x.data;d(t),y(ne(t)),S({anthropic:null,openai:null})}},[x.data]),f.useEffect(()=>{x.isError&&x.error&&u({title:s("providers.toast.loadFailure",{message:x.error.message}),variant:"error"})},[x.isError,x.error,u,s]);const r=f.useMemo(()=>{const t=new Map;for(const l of M){if(!l.defaultModel||!l.models)continue;const n=l.models.find(c=>c.id===l.defaultModel);n&&t.set(l.id,pe(n))}return t},[M]),o=f.useMemo(()=>{const t=[],l=new Set;for(const c of M){const i=c.label||c.id,h=c.models??[];if(h.length>0)for(const g of h){const I=`${c.id}:${g.id}`;l.has(I)||(l.add(I),t.push({value:I,label:`${i} · ${g.label??g.id}`}))}else if(c.defaultModel){const g=`${c.id}:${c.defaultModel}`;l.has(g)||(l.add(g),t.push({value:g,label:`${i} · ${c.defaultModel}`}))}}const n=[...$.anthropic,...$.openai];for(const c of n){const i=c.target.trim();i&&!l.has(i)&&(l.add(i),t.push({value:i,label:i}))}return t},[M,$]),b=()=>a?!0:(u({title:s("settings.toast.missingConfig"),variant:"error"}),x.refetch(),!1),m=t=>{if(!a)return t;let l=t,n=1;for(;a.providers.some(c=>c.id===l);)l=`${t}-${n}`,n+=1;return l},j=()=>{b()&&(q("create"),B(void 0),C(!0))},E=()=>{b()&&(X(""),_(null),V(!0))},A=t=>{b()&&(q("edit"),B(t),C(!0))},O=async()=>{if(!a){u({title:s("settings.toast.missingConfig"),variant:"error"});return}const t=W.trim();if(!t){_(s("providers.quickAddHuawei.validation.apiKey"));return}const c={id:m("huawei-cloud"),label:s("providers.quickAddHuawei.providerLabel"),baseUrl:"https://api.modelarts-maas.com/v1",apiKey:t,type:"huawei",defaultModel:"deepseek-v3.1",models:[{id:"deepseek-v3.1",label:"DeepSeek V3.1"},{id:"KIMI-K2",label:"KIMI-K2"},{id:"qwen3-235b-a22b",label:"Qwen3 235B A22B"}]},i={...a,providers:[...a.providers,c]};try{te(!0),await Y.put("/api/config",i),d(i),y(ne(i)),V(!1),u({title:s("providers.quickAddHuawei.toast.success"),description:s("providers.quickAddHuawei.toast.added",{name:c.label||c.id}),variant:"success"}),x.refetch()}catch(h){_(h instanceof Error?h.message:s("providers.quickAddHuawei.toast.failure"))}finally{te(!1)}},ae=async t=>{if(!a)throw new Error(s("settings.toast.missingConfig"));const l=K==="create"?[...M,t]:M.map(i=>U&&i.id===U.id?{...t,id:U.id}:i),n={...a,providers:l};await Y.put("/api/config",n),d(n),y(ne(n)),x.refetch();const c=K==="create"?s("providers.toast.createSuccess",{name:t.label||t.id}):s("providers.toast.updateSuccess",{name:t.label||t.id});u({title:c,variant:"success"})},H=async t=>{J(t.id);try{const l=await Y.post(`/api/providers/${t.id}/test`);l.data.ok?u({title:s("providers.toast.testSuccess"),description:s("providers.toast.testSuccessDesc",{status:l.data.status,duration:l.data.durationMs?`${l.data.durationMs} ms`:"—"}),variant:"success"}):u({title:s("providers.toast.testFailure",{message:`${l.data.status} ${l.data.statusText}`}),variant:"error"})}catch(l){u({title:s("providers.toast.testFailure",{message:l instanceof Error?l.message:"unknown"}),variant:"error"})}finally{J(null)}},he=async t=>{var p,k,P,D;if(!b()||!window.confirm(s("providers.confirm.delete",{name:t.label||t.id})))return;const n=M.filter(v=>v.id!==t.id),c=v=>{const z={};if(!v)return z;for(const[Me,le]of Object.entries(v)){if(!le)continue;const[xe]=le.split(":");xe&&xe===t.id||le===t.id||(z[Me]=le)}return z},i=(a==null?void 0:a.endpointRouting)??{},h=c(((p=i.anthropic)==null?void 0:p.modelRoutes)??(a==null?void 0:a.modelRoutes)??{}),g=c(((k=i.openai)==null?void 0:k.modelRoutes)??{}),I={...a,providers:n,modelRoutes:h,endpointRouting:{anthropic:{defaults:((P=i.anthropic)==null?void 0:P.defaults)??a.defaults,modelRoutes:h},openai:{defaults:((D=i.openai)==null?void 0:D.defaults)??a.defaults,modelRoutes:g}}};try{await Y.put("/api/config",I),d(I),y({anthropic:G(h),openai:G(g)}),u({title:s("providers.toast.deleteSuccess",{name:t.label||t.id}),variant:"success"}),x.refetch()}catch(v){u({title:s("providers.toast.deleteFailure",{message:v instanceof Error?v.message:"unknown"}),variant:"error"})}},ge=t=>{y(l=>({...l,[t]:[...l[t],{id:ce(),source:"",target:""}]})),S(l=>({...l,[t]:null}))},ve=(t,l)=>{y(n=>n[t].some(c=>c.source.trim()===l.trim())?n:{...n,[t]:[...n[t],{id:ce(),source:l,target:""}]}),S(n=>({...n,[t]:null}))},re=(t,l,n,c)=>{y(i=>({...i,[t]:i[t].map(h=>h.id===l?{...h,[n]:c}:h)})),S(i=>({...i,[t]:null}))},ke=(t,l)=>{y(n=>({...n,[t]:n[t].filter(c=>c.id!==l)})),S(n=>({...n,[t]:null}))},je=t=>{var i;if(!a)return;const l=a.endpointRouting??{},n=t==="anthropic"?a.modelRoutes??{}:{},c=((i=l[t])==null?void 0:i.modelRoutes)??n;y(h=>({...h,[t]:G(c)})),S(h=>({...h,[t]:null}))},ye=async t=>{var c,i,h,g,I;if(!b())return;const l=$[t],n={};for(const p of l){const k=p.source.trim(),P=p.target.trim();if(!(!k&&!P)){if(!k||!P){S(D=>({...D,[t]:s("settings.validation.routePair")}));return}if(n[k]){S(D=>({...D,[t]:s("settings.validation.routeDuplicate",{model:k})}));return}n[k]=P}}S(p=>({...p,[t]:null})),Q(t);try{const p=a.endpointRouting??{anthropic:{defaults:a.defaults,modelRoutes:a.modelRoutes??{}},openai:{defaults:((i=(c=a.endpointRouting)==null?void 0:c.openai)==null?void 0:i.defaults)??a.defaults,modelRoutes:((g=(h=a.endpointRouting)==null?void 0:h.openai)==null?void 0:g.modelRoutes)??{}}},k={...p,[t]:{defaults:((I=p[t])==null?void 0:I.defaults)??a.defaults,modelRoutes:n}},P={...a,endpointRouting:k,modelRoutes:t==="anthropic"?n:a.modelRoutes??{}};await Y.put("/api/config",P),d(P),y(D=>({...D,[t]:G(n)})),u({title:s("modelManagement.toast.routesSaved"),variant:"success"}),x.refetch()}catch(p){u({title:s("modelManagement.toast.routesSaveFailure",{message:p instanceof Error?p.message:"unknown"}),variant:"error"})}finally{Q(null)}},we=()=>e.jsxs("section",{className:"space-y-4 rounded-lg border border-slate-200 bg-white p-6 shadow-sm dark:border-slate-800 dark:bg-slate-900",children:[e.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-lg font-semibold",children:s("providers.title")}),e.jsx("p",{className:"text-sm text-slate-500 dark:text-slate-400",children:s("providers.description")})]}),e.jsxs("div",{className:"flex flex-wrap items-center gap-2 text-sm text-slate-500 dark:text-slate-400",children:[e.jsx("span",{children:s("providers.count",{count:se})}),e.jsx("button",{type:"button",className:"rounded-md border border-slate-200 px-3 py-1 transition hover:bg-slate-100 dark:border-slate-700 dark:hover:bg-slate-800",onClick:()=>x.refetch(),disabled:x.isFetching,children:x.isFetching?s("common.actions.refreshing"):s("providers.actions.refresh")}),e.jsx("button",{type:"button",className:"rounded-md border border-slate-200 px-3 py-1 transition hover:bg-slate-100 dark:border-slate-700 dark:hover:bg-slate-800",onClick:E,children:s("providers.quickAddHuawei.button")}),e.jsx("button",{type:"button",className:"rounded-md border border-slate-200 px-3 py-1 transition hover:bg-slate-100 dark:border-slate-700 dark:hover:bg-slate-800",onClick:j,children:s("providers.actions.add")})]})]}),x.isPending||!a&&x.isFetching?e.jsx("section",{className:"flex min-h-[200px] items-center justify-center rounded-lg border border-slate-200 bg-white text-sm text-slate-500 dark:border-slate-800 dark:bg-slate-900 dark:text-slate-400",children:s("common.loading")}):M.length===0?e.jsx("section",{className:"rounded-lg border border-dashed border-slate-300 bg-white p-8 text-sm text-slate-500 dark:border-slate-700 dark:bg-slate-900 dark:text-slate-400",children:s("providers.emptyState")}):e.jsx("div",{className:"grid gap-4 md:grid-cols-2 xl:grid-cols-3",children:M.map(t=>e.jsxs("article",{className:"flex h-full flex-col gap-4 rounded-lg border border-slate-200 bg-white p-5 shadow-sm transition hover:shadow-md dark:border-slate-800 dark:bg-slate-900",children:[e.jsxs("div",{className:"flex items-start justify-between gap-4",children:[e.jsxs("div",{className:"flex flex-col gap-1",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("h3",{className:"text-lg font-semibold",children:t.label||t.id}),t.type?e.jsx(De,{type:t.type}):null]}),e.jsxs("p",{className:"text-xs text-slate-500 dark:text-slate-400",children:["ID:",t.id]}),e.jsxs("p",{className:"text-xs text-slate-500 dark:text-slate-400",children:["Base URL:",e.jsx("span",{className:"break-all text-slate-600 dark:text-slate-300",children:t.baseUrl})]})]}),e.jsx("div",{className:"flex flex-col gap-2 text-xs text-slate-500 dark:text-slate-400",children:t.defaultModel?e.jsx("span",{className:"inline-flex items-center rounded-full bg-emerald-100 px-2 py-0.5 font-medium text-emerald-700 dark:bg-emerald-900/40 dark:text-emerald-200",children:s("providers.card.defaultModel",{model:r.get(t.id)??t.defaultModel})}):e.jsx("span",{className:"inline-flex items-center rounded-full bg-slate-100 px-2 py-0.5 font-medium text-slate-600 dark:bg-slate-800 dark:text-slate-300",children:s("providers.card.noDefault")})})]}),e.jsxs("div",{className:"flex flex-col gap-3",children:[e.jsx("h4",{className:"text-xs font-semibold uppercase tracking-wide text-slate-500 dark:text-slate-400",children:s("providers.card.modelsTitle")}),t.models&&t.models.length>0?e.jsx("ul",{className:"flex flex-wrap gap-2",children:t.models.map(l=>e.jsx("li",{className:"flex items-center gap-2 rounded-md border border-slate-200 bg-slate-50 px-3 py-1 text-xs dark:border-slate-700 dark:bg-slate-800/60",children:e.jsx("span",{className:"font-medium text-slate-700 dark:text-slate-200",children:pe(l)})},l.id))}):e.jsx("p",{className:"text-xs text-slate-500 dark:text-slate-400",children:s("providers.card.noModels")})]}),e.jsxs("footer",{className:"mt-auto flex flex-wrap gap-2",children:[e.jsx("button",{type:"button",className:"rounded-md border border-slate-200 px-3 py-1 text-sm transition hover:bg-slate-100 dark:border-slate-700 dark:hover:bg-slate-800",onClick:()=>A(t),children:s("providers.actions.edit")}),e.jsx("button",{type:"button",onClick:()=>H(t),disabled:F===t.id,className:"rounded-md border border-slate-200 px-3 py-1 text-sm transition enabled:hover:bg-slate-100 disabled:cursor-not-allowed disabled:opacity-60 dark:border-slate-700 dark:enabled:hover:bg-slate-800",children:F===t.id?s("common.actions.testingConnection"):s("providers.actions.test")}),e.jsx("button",{type:"button",className:"rounded-md border border-red-200 px-3 py-1 text-sm text-red-600 transition hover:bg-red-50 dark:border-red-800 dark:text-red-300 dark:hover:bg-red-900/40",onClick:()=>he(t),children:s("providers.actions.delete")})]})]},t.id))})]}),Ne=t=>{const l=$[t],n=L[t],c=t==="anthropic"?Ue:Ae,i=de===t,h=s(`modelManagement.tabs.${t}`),g=`route-source-${t}`,I=`route-target-${t}`;return e.jsxs("section",{className:"space-y-4 rounded-lg border border-slate-200 bg-white p-6 shadow-sm dark:border-slate-800 dark:bg-slate-900",children:[e.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[e.jsxs("div",{className:"flex flex-col gap-1",children:[e.jsx("h2",{className:"text-lg font-semibold",children:s("settings.routing.titleByEndpoint",{endpoint:h})}),e.jsx("p",{className:"max-w-3xl text-xs text-slate-500 dark:text-slate-400",children:s(`settings.routing.descriptionByEndpoint.${t}`)})]}),e.jsxs("div",{className:"flex flex-wrap items-center gap-2 text-sm",children:[e.jsx("button",{type:"button",onClick:()=>ge(t),className:"rounded-md border border-slate-200 px-3 py-1 transition hover:bg-slate-100 dark:border-slate-700 dark:hover:bg-slate-800",children:s("settings.routing.add")}),e.jsx("button",{type:"button",onClick:()=>je(t),className:"rounded-md border border-slate-200 px-3 py-1 transition hover:bg-slate-100 dark:border-slate-700 dark:hover:bg-slate-800",disabled:i,children:s("common.actions.reset")}),e.jsx("button",{type:"button",onClick:()=>ye(t),className:"rounded-md bg-blue-600 px-3 py-1 text-white transition hover:bg-blue-700 disabled:opacity-60",disabled:i,children:s(i?"common.actions.saving":"modelManagement.actions.saveRoutes")})]})]}),n?e.jsx("p",{className:"text-xs text-red-500",children:n}):null,l.length===0?e.jsx("p",{className:"rounded-md border border-dashed border-slate-200 bg-slate-50 px-3 py-6 text-center text-sm text-slate-500 dark:border-slate-700 dark:bg-slate-800/60 dark:text-slate-300",children:s("settings.routing.empty")}):e.jsx("div",{className:"grid gap-3",children:l.map(p=>e.jsxs("div",{className:"grid gap-3 md:grid-cols-[minmax(0,1fr)_minmax(0,1fr)_auto]",children:[e.jsxs("label",{className:"flex flex-col gap-2 text-xs",children:[e.jsx("span",{className:"text-slate-500 dark:text-slate-400",children:s("settings.routing.source")}),e.jsx("input",{type:"text",value:p.source,onChange:k=>re(t,p.id,"source",k.target.value),className:"rounded-md border border-slate-200 bg-slate-50 px-3 py-2 text-sm focus:border-blue-500 focus:outline-none focus:ring-1 focus:ring-blue-500 dark:border-slate-700 dark:bg-slate-900/80 dark:text-slate-100",placeholder:"claude-3.5-sonnet",list:g,disabled:i})]}),e.jsxs("label",{className:"flex flex-col gap-2 text-xs",children:[e.jsx("span",{className:"text-slate-500 dark:text-slate-400",children:s("settings.routing.target")}),(()=>{const k=p.target.trim(),D=o.some(v=>v.value===k)?k:"__custom";return e.jsxs(e.Fragment,{children:[e.jsxs("select",{value:D,onChange:v=>{const z=v.target.value;z==="__custom"?re(t,p.id,"target",k):re(t,p.id,"target",z)},className:"rounded-md border border-slate-200 bg-slate-50 px-3 py-2 text-sm focus:border-blue-500 focus:outline-none focus:ring-1 focus:ring-blue-500 dark:border-slate-700 dark:bg-slate-900/80 dark:text-slate-100",disabled:i,children:[e.jsx("option",{value:"__custom",children:s("settings.routing.customTargetOption")}),o.map(v=>e.jsx("option",{value:v.value,children:v.label},`${I}-${v.value}`))]}),D==="__custom"&&e.jsx("input",{type:"text",value:p.target,onChange:v=>re(t,p.id,"target",v.target.value),className:"mt-2 rounded-md border border-slate-200 bg-slate-50 px-3 py-2 text-sm focus:border-blue-500 focus:outline-none focus:ring-1 focus:ring-blue-500 dark:border-slate-700 dark:bg-slate-900/80 dark:text-slate-100",placeholder:"providerId:modelId",disabled:i})]})})()]}),e.jsx("div",{className:"flex items-end",children:e.jsx("button",{type:"button",className:"rounded-md border border-slate-200 px-3 py-2 text-xs transition hover:bg-slate-100 dark:border-slate-700 dark:hover:bg-slate-800",onClick:()=>ke(t,p.id),disabled:i,children:s("settings.routing.remove")})})]},p.id))}),e.jsxs("div",{className:"flex flex-wrap items-center gap-2 text-xs text-slate-500 dark:text-slate-400",children:[e.jsx("span",{children:s("settings.routing.suggested")}),c.map(p=>e.jsx("button",{type:"button",onClick:()=>ve(t,p),className:"rounded-md border border-slate-200 px-2 py-1 text-xs text-slate-600 transition hover:bg-slate-100 dark:border-slate-700 dark:text-slate-300 dark:hover:bg-slate-800",disabled:i,children:p},`${t}-${p}`))]}),e.jsx("datalist",{id:g,children:c.map(p=>e.jsx("option",{value:p},`${g}-${p}`))})]})};return e.jsxs("div",{className:"flex flex-col gap-6",children:[e.jsxs("header",{className:"flex flex-col gap-2",children:[e.jsx("h1",{className:"text-2xl font-semibold",children:s("modelManagement.title")}),e.jsx("p",{className:"text-sm text-slate-500 dark:text-slate-400",children:s("modelManagement.description")})]}),e.jsx("div",{className:"flex flex-wrap gap-3",children:R.map(t=>{const l=w===t.key;return e.jsxs("button",{type:"button",onClick:()=>T(t.key),className:`flex min-w-[200px] flex-col gap-1 rounded-lg border px-4 py-3 text-left transition ${l?"border-blue-500 bg-blue-50 text-blue-700 dark:border-blue-400 dark:bg-blue-900/30 dark:text-blue-100":"border-slate-200 hover:bg-slate-50 dark:border-slate-700 dark:hover:bg-slate-800"}`,children:[e.jsx("span",{className:"text-sm font-semibold",children:t.label}),e.jsx("span",{className:"text-xs text-slate-500 dark:text-slate-400",children:t.description})]},t.key)})}),w==="providers"?we():Ne(w),e.jsx(Ee,{open:N,mode:K,provider:K==="edit"?U:void 0,existingProviderIds:M.map(t=>t.id).filter(t=>K==="edit"&&U?t!==U.id:!0),onClose:()=>{C(!1),B(void 0),q("create")},onSubmit:ae}),e.jsx(Ie,{open:oe,apiKey:W,onApiKeyChange:t=>{X(t),Z&&_(null)},loading:ee,error:Z,onClose:()=>{ee||(V(!1),_(null))},onSubmit:O})]})}function Ie({open:s,apiKey:u,onApiKeyChange:x,loading:R,error:w,onClose:T,onSubmit:a}){const{t:d}=ue();return s?e.jsxs("div",{className:"fixed inset-0 z-50 flex",children:[e.jsx("div",{className:"flex-1 bg-slate-900/60",onClick:T,"aria-hidden":"true"}),e.jsxs("aside",{role:"dialog","aria-modal":"true","aria-labelledby":"quick-add-huawei",className:"flex h-full w-full max-w-md flex-col border-l border-slate-200 bg-white shadow-xl dark:border-slate-800 dark:bg-slate-900",children:[e.jsxs("header",{className:"flex items-center justify-between border-b border-slate-200 px-6 py-4 dark:border-slate-800",children:[e.jsxs("div",{children:[e.jsx("h2",{id:"quick-add-huawei",className:"text-lg font-semibold",children:d("providers.quickAddHuawei.title")}),e.jsx("p",{className:"text-xs text-slate-500 dark:text-slate-400",children:d("providers.quickAddHuawei.description")})]}),e.jsx("button",{type:"button",onClick:T,className:"rounded-md border border-slate-200 px-3 py-1 text-sm transition hover:bg-slate-100 dark:border-slate-700 dark:hover:bg-slate-800",disabled:R,children:d("common.actions.close")})]}),e.jsxs("div",{className:"flex flex-1 flex-col gap-4 px-6 py-5 text-sm",children:[e.jsxs("label",{className:"flex flex-col gap-2 text-sm",children:[e.jsx("span",{className:"text-xs text-slate-500 dark:text-slate-400",children:d("providers.quickAddHuawei.apiKeyLabel")}),e.jsx("input",{type:"password",value:u,onChange:N=>x(N.target.value),placeholder:d("providers.quickAddHuawei.apiKeyPlaceholder"),className:"rounded-md border border-slate-200 bg-white px-3 py-2 text-sm focus:border-blue-500 focus:outline-none focus:ring-2 focus:ring-blue-200 dark:border-slate-700 dark:bg-slate-800 dark:focus:border-blue-400 dark:focus:ring-blue-400/40",disabled:R})]}),e.jsx("p",{className:"text-xs text-slate-500 dark:text-slate-400",children:d("providers.quickAddHuawei.note")}),w?e.jsx("p",{className:"text-xs text-red-500",children:w}):null]}),e.jsxs("footer",{className:"flex items-center justify-end gap-2 border-t border-slate-200 px-6 py-4 text-sm dark:border-slate-800",children:[e.jsx("button",{type:"button",onClick:T,className:"rounded-md border border-slate-200 px-4 py-2 transition hover:bg-slate-100 dark:border-slate-700 dark:hover:bg-slate-800",disabled:R,children:d("common.actions.cancel")}),e.jsx("button",{type:"button",onClick:a,className:"rounded-md bg-blue-600 px-4 py-2 text-white transition hover:bg-blue-700 disabled:opacity-60",disabled:R,children:d(R?"common.actions.saving":"providers.quickAddHuawei.submit")})]})]})]}):null}function pe(s){return s.label&&s.label.trim().length>0?`${s.label} (${s.id})`:s.id}function De({type:s}){const u={openai:"OpenAI",deepseek:"DeepSeek",huawei:"华为云",kimi:"Kimi",anthropic:"Anthropic",custom:"Custom"};return e.jsx("span",{className:"rounded-full bg-slate-100 px-2 py-0.5 text-xs font-medium text-slate-600 dark:bg-slate-800 dark:text-slate-300",children:u[s]??s})}export{Ke as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,ui-sans-serif,system-ui;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.inset-y-0{top:0;bottom:0}.left-0{left:0}.right-0{right:0}.right-6{right:1.5rem}.top-6{top:1.5rem}.top-full{top:100%}.z-10{z-index:10}.z-20{z-index:20}.z-40{z-index:40}.z-50{z-index:50}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.ml-1{margin-left:.25rem}.ml-auto{margin-left:auto}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-auto{margin-top:auto}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-10{height:2.5rem}.h-12{height:3rem}.h-2{height:.5rem}.h-4{height:1rem}.h-40{height:10rem}.h-6{height:1.5rem}.h-60{height:15rem}.h-9{height:2.25rem}.h-full{height:100%}.max-h-56{max-height:14rem}.max-h-64{max-height:16rem}.max-h-80{max-height:20rem}.min-h-\[200px\]{min-height:200px}.min-h-\[96px\]{min-height:96px}.w-12{width:3rem}.w-2{width:.5rem}.w-4{width:1rem}.w-40{width:10rem}.w-48{width:12rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-60{width:15rem}.w-64{width:16rem}.w-80{width:20rem}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.min-w-\[200px\]{min-width:200px}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-md{max-width:28rem}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.list-decimal{list-style-type:decimal}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\[160px_1fr\]{grid-template-columns:160px 1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-3{row-gap:.75rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-slate-200>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(226 232 240 / var(--tw-divide-opacity, 1))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.border{border-width:1px}.border-4{border-width:4px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-blue-100{--tw-border-opacity: 1;border-color:rgb(219 234 254 / var(--tw-border-opacity, 1))}.border-blue-500{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.border-emerald-200{--tw-border-opacity: 1;border-color:rgb(167 243 208 / var(--tw-border-opacity, 1))}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-red-200{--tw-border-opacity: 1;border-color:rgb(254 202 202 / var(--tw-border-opacity, 1))}.border-slate-200{--tw-border-opacity: 1;border-color:rgb(226 232 240 / var(--tw-border-opacity, 1))}.border-slate-300{--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1))}.border-slate-400{--tw-border-opacity: 1;border-color:rgb(148 163 184 / var(--tw-border-opacity, 1))}.border-t-transparent{border-top-color:transparent}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}.bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.bg-emerald-100{--tw-bg-opacity: 1;background-color:rgb(209 250 229 / var(--tw-bg-opacity, 1))}.bg-emerald-50{--tw-bg-opacity: 1;background-color:rgb(236 253 245 / var(--tw-bg-opacity, 1))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1))}.bg-green-600{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity, 1))}.bg-purple-100{--tw-bg-opacity: 1;background-color:rgb(243 232 255 / var(--tw-bg-opacity, 1))}.bg-red-100{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.bg-slate-100{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.bg-slate-50{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.bg-slate-900\/60{background-color:#0f172a99}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-opacity-50{--tw-bg-opacity: .5}.p-12{padding:3rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pl-6{padding-left:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-2xl{font-size:1.5rem;line-height:2rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.tracking-wide{letter-spacing:.025em}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-blue-700{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.text-emerald-700{--tw-text-opacity: 1;color:rgb(4 120 87 / var(--tw-text-opacity, 1))}.text-emerald-900{--tw-text-opacity: 1;color:rgb(6 78 59 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-green-800{--tw-text-opacity: 1;color:rgb(22 101 52 / var(--tw-text-opacity, 1))}.text-purple-700{--tw-text-opacity: 1;color:rgb(126 34 206 / var(--tw-text-opacity, 1))}.text-purple-800{--tw-text-opacity: 1;color:rgb(107 33 168 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-red-700{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.text-red-900{--tw-text-opacity: 1;color:rgb(127 29 29 / var(--tw-text-opacity, 1))}.text-slate-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.text-slate-600{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}.text-slate-700{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity, 1))}.text-slate-900{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-yellow-600{--tw-text-opacity: 1;color:rgb(202 138 4 / var(--tw-text-opacity, 1))}.opacity-75{opacity:.75}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:root{color-scheme:light dark}html,body,#root{height:100%}body{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}body:is([data-theme=dark] *){--tw-bg-opacity: 1;background-color:rgb(2 6 23 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(248 250 252 / var(--tw-text-opacity, 1))}.hover\:bg-blue-700:hover{--tw-bg-opacity: 1;background-color:rgb(29 78 216 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.hover\:bg-red-100:hover{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))}.hover\:bg-red-50:hover{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.hover\:bg-slate-100:hover{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.hover\:bg-slate-50:hover{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.hover\:text-red-600:hover{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.hover\:text-slate-900:hover{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-md:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus\:not-sr-only:focus{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.focus\:absolute:focus{position:absolute}.focus\:z-50:focus{z-index:50}.focus\:m-4:focus{margin:1rem}.focus\:rounded-md:focus{border-radius:.375rem}.focus\:border-blue-500:focus{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.focus\:bg-blue-600:focus{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.focus\:px-4:focus{padding-left:1rem;padding-right:1rem}.focus\:py-2:focus{padding-top:.5rem;padding-bottom:.5rem}.focus\:text-white:focus{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-blue-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(191 219 254 / var(--tw-ring-opacity, 1))}.focus\:ring-blue-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1))}.enabled\:hover\:bg-slate-100:hover:enabled{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-slate-100:disabled{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.disabled\:text-slate-400:disabled{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.dark\:divide-slate-800:is([data-theme=dark] *)>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(30 41 59 / var(--tw-divide-opacity, 1))}.dark\:border-blue-400:is([data-theme=dark] *){--tw-border-opacity: 1;border-color:rgb(96 165 250 / var(--tw-border-opacity, 1))}.dark\:border-blue-500:is([data-theme=dark] *){--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.dark\:border-blue-900\/40:is([data-theme=dark] *){border-color:#1e3a8a66}.dark\:border-emerald-700:is([data-theme=dark] *){--tw-border-opacity: 1;border-color:rgb(4 120 87 / var(--tw-border-opacity, 1))}.dark\:border-gray-600:is([data-theme=dark] *){--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity, 1))}.dark\:border-gray-700:is([data-theme=dark] *){--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity, 1))}.dark\:border-red-700:is([data-theme=dark] *){--tw-border-opacity: 1;border-color:rgb(185 28 28 / var(--tw-border-opacity, 1))}.dark\:border-red-800:is([data-theme=dark] *){--tw-border-opacity: 1;border-color:rgb(153 27 27 / var(--tw-border-opacity, 1))}.dark\:border-red-800\/70:is([data-theme=dark] *){border-color:#991b1bb3}.dark\:border-slate-600:is([data-theme=dark] *){--tw-border-opacity: 1;border-color:rgb(71 85 105 / var(--tw-border-opacity, 1))}.dark\:border-slate-700:is([data-theme=dark] *){--tw-border-opacity: 1;border-color:rgb(51 65 85 / var(--tw-border-opacity, 1))}.dark\:border-slate-800:is([data-theme=dark] *){--tw-border-opacity: 1;border-color:rgb(30 41 59 / var(--tw-border-opacity, 1))}.dark\:bg-blue-900\/30:is([data-theme=dark] *){background-color:#1e3a8a4d}.dark\:bg-blue-900\/40:is([data-theme=dark] *){background-color:#1e3a8a66}.dark\:bg-blue-950\/60:is([data-theme=dark] *){background-color:#17255499}.dark\:bg-emerald-900\/40:is([data-theme=dark] *){background-color:#064e3b66}.dark\:bg-gray-700:is([data-theme=dark] *){--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.dark\:bg-gray-800:is([data-theme=dark] *){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.dark\:bg-green-900:is([data-theme=dark] *){--tw-bg-opacity: 1;background-color:rgb(20 83 45 / var(--tw-bg-opacity, 1))}.dark\:bg-purple-900:is([data-theme=dark] *){--tw-bg-opacity: 1;background-color:rgb(88 28 135 / var(--tw-bg-opacity, 1))}.dark\:bg-red-900\/40:is([data-theme=dark] *){background-color:#7f1d1d66}.dark\:bg-slate-700:is([data-theme=dark] *){--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity, 1))}.dark\:bg-slate-800:is([data-theme=dark] *){--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity, 1))}.dark\:bg-slate-800\/40:is([data-theme=dark] *){background-color:#1e293b66}.dark\:bg-slate-800\/50:is([data-theme=dark] *){background-color:#1e293b80}.dark\:bg-slate-800\/60:is([data-theme=dark] *){background-color:#1e293b99}.dark\:bg-slate-800\/70:is([data-theme=dark] *){background-color:#1e293bb3}.dark\:bg-slate-900:is([data-theme=dark] *){--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity, 1))}.dark\:bg-slate-900\/80:is([data-theme=dark] *){background-color:#0f172acc}.dark\:bg-slate-950:is([data-theme=dark] *){--tw-bg-opacity: 1;background-color:rgb(2 6 23 / var(--tw-bg-opacity, 1))}.dark\:text-blue-100:is([data-theme=dark] *){--tw-text-opacity: 1;color:rgb(219 234 254 / var(--tw-text-opacity, 1))}.dark\:text-blue-200:is([data-theme=dark] *){--tw-text-opacity: 1;color:rgb(191 219 254 / var(--tw-text-opacity, 1))}.dark\:text-blue-400:is([data-theme=dark] *){--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.dark\:text-emerald-200:is([data-theme=dark] *){--tw-text-opacity: 1;color:rgb(167 243 208 / var(--tw-text-opacity, 1))}.dark\:text-gray-200:is([data-theme=dark] *){--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity, 1))}.dark\:text-gray-300:is([data-theme=dark] *){--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.dark\:text-gray-400:is([data-theme=dark] *){--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.dark\:text-green-200:is([data-theme=dark] *){--tw-text-opacity: 1;color:rgb(187 247 208 / var(--tw-text-opacity, 1))}.dark\:text-purple-200:is([data-theme=dark] *){--tw-text-opacity: 1;color:rgb(233 213 255 / var(--tw-text-opacity, 1))}.dark\:text-red-200:is([data-theme=dark] *){--tw-text-opacity: 1;color:rgb(254 202 202 / var(--tw-text-opacity, 1))}.dark\:text-red-300:is([data-theme=dark] *){--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.dark\:text-slate-100:is([data-theme=dark] *){--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity, 1))}.dark\:text-slate-200:is([data-theme=dark] *){--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity, 1))}.dark\:text-slate-300:is([data-theme=dark] *){--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity, 1))}.dark\:text-slate-400:is([data-theme=dark] *){--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.dark\:text-slate-50:is([data-theme=dark] *){--tw-text-opacity: 1;color:rgb(248 250 252 / var(--tw-text-opacity, 1))}.dark\:text-yellow-400:is([data-theme=dark] *){--tw-text-opacity: 1;color:rgb(250 204 21 / var(--tw-text-opacity, 1))}.dark\:hover\:bg-gray-700:hover:is([data-theme=dark] *){--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-red-900:hover:is([data-theme=dark] *){--tw-bg-opacity: 1;background-color:rgb(127 29 29 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-red-900\/40:hover:is([data-theme=dark] *){background-color:#7f1d1d66}.dark\:hover\:bg-slate-700:hover:is([data-theme=dark] *){--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-slate-800:hover:is([data-theme=dark] *){--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-slate-800\/60:hover:is([data-theme=dark] *){background-color:#1e293b99}.dark\:hover\:text-slate-100:hover:is([data-theme=dark] *){--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity, 1))}.dark\:focus\:border-blue-400:focus:is([data-theme=dark] *){--tw-border-opacity: 1;border-color:rgb(96 165 250 / var(--tw-border-opacity, 1))}.dark\:focus\:ring-blue-400\/40:focus:is([data-theme=dark] *){--tw-ring-color: rgb(96 165 250 / .4)}.dark\:enabled\:hover\:bg-slate-800:hover:enabled:is([data-theme=dark] *){--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity, 1))}.dark\:disabled\:bg-slate-800\/60:disabled:is([data-theme=dark] *){background-color:#1e293b99}@media (min-width: 640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:p-6{padding:1.5rem}}@media (min-width: 768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,1fr\)_auto\]{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}}@media (min-width: 1024px){.lg\:block{display:block}.lg\:hidden{display:none}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1280px){.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}
|