@chenpu17/cc-gw 0.7.16 → 0.7.17
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/package.json +1 -1
- package/src/server/dist/index.js +0 -4
- package/src/web/dist/assets/{About-B0Jdm3Q_.js → About-T8buLoTf.js} +2 -2
- package/src/web/dist/assets/{ApiKeys-BJZYNk8v.js → ApiKeys-kkOS5njK.js} +1 -1
- package/src/web/dist/assets/{Dashboard-Yk4Gcz4p.js → Dashboard-BuFP7xgE.js} +1 -1
- package/src/web/dist/assets/{Events-B5zZ5_PB.js → Events-BY6QDHf6.js} +1 -1
- package/src/web/dist/assets/{Help-75v5moMf.js → Help-CXlj66Zk.js} +1 -1
- package/src/web/dist/assets/{Login-DwQ6YKZt.js → Login-C227e592.js} +1 -1
- package/src/web/dist/assets/{Logs-8o1cRVE6.js → Logs-A1_44nYh.js} +1 -1
- package/src/web/dist/assets/{ModelManagement-C9OoP4WI.js → ModelManagement-CZsts9T9.js} +1 -1
- package/src/web/dist/assets/{PageHeader-Q48thbsH.js → PageHeader-BatC8G-O.js} +1 -1
- package/src/web/dist/assets/{PageSection-DhdaIOwG.js → PageSection-HTrZH-H0.js} +1 -1
- package/src/web/dist/assets/{Settings-D7724_w1.js → Settings-DDaFQ7RV.js} +1 -1
- package/src/web/dist/assets/{card-lw0mNbtE.js → card-DQb2ediN.js} +1 -1
- package/src/web/dist/assets/{copy-BSxv1vw0.js → copy-8Dwvprhw.js} +1 -1
- package/src/web/dist/assets/{dialog-_9cV4Ss_.js → dialog-B9ZBo_5P.js} +1 -1
- package/src/web/dist/assets/{index-BZJu9-Md.js → index-CprjNJ8x.js} +1 -1
- package/src/web/dist/assets/{index-CwxoiOJ7.js → index-D-F4C6n_.js} +2 -2
- package/src/web/dist/assets/{info-Ch3uesoo.js → info-BSxQbQAp.js} +1 -1
- package/src/web/dist/assets/{input-DuU4V_4o.js → input-x0jTfvyD.js} +1 -1
- package/src/web/dist/assets/{label-CPyOyofK.js → label-t5tthgxG.js} +1 -1
- package/src/web/dist/assets/{refresh-cw-lIS96np_.js → refresh-cw-DHAoO4El.js} +1 -1
- package/src/web/dist/assets/{select-Bas7KWYt.js → select-fri8gRof.js} +1 -1
- package/src/web/dist/assets/{switch-C9znB46C.js → switch-BrV6LX33.js} +1 -1
- package/src/web/dist/assets/{useApiQuery-BenuGU61.js → useApiQuery-CkT-JtpV.js} +1 -1
- package/src/web/dist/index.html +1 -1
package/package.json
CHANGED
package/src/server/dist/index.js
CHANGED
|
@@ -15162,10 +15162,6 @@ async function handleOpenAIChatProtocol(request, reply, endpoint, endpointId, ap
|
|
|
15162
15162
|
});
|
|
15163
15163
|
} else {
|
|
15164
15164
|
providerBody = { ...payload };
|
|
15165
|
-
if (providerBody.max_output_tokens == null && typeof providerBody.max_tokens === "number") {
|
|
15166
|
-
providerBody.max_output_tokens = providerBody.max_tokens;
|
|
15167
|
-
}
|
|
15168
|
-
delete providerBody.max_tokens;
|
|
15169
15165
|
if (typeof providerBody.thinking === "boolean") {
|
|
15170
15166
|
delete providerBody.thinking;
|
|
15171
15167
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import{c as j,u as g,b as v,r as i,j as e,e as d,a5 as N}from"./index-
|
|
1
|
+
import{c as j,u as g,b as v,r as i,j as e,e as d,a5 as N}from"./index-D-F4C6n_.js";import{u as y}from"./useApiQuery-CkT-JtpV.js";import{P as E}from"./PageHeader-BatC8G-O.js";import{P as n}from"./PageSection-HTrZH-H0.js";import{C as m,a as p}from"./card-DQb2ediN.js";import{I}from"./info-BSxQbQAp.js";import{R as T}from"./refresh-cw-DHAoO4El.js";/**
|
|
2
2
|
* @license lucide-react v0.344.0 - ISC
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the ISC license.
|
|
5
5
|
* See the LICENSE file in the root directory of this source tree.
|
|
6
|
-
*/const k=j("Sparkles",[["path",{d:"m12 3-1.912 5.813a2 2 0 0 1-1.275 1.275L3 12l5.813 1.912a2 2 0 0 1 1.275 1.275L12 21l1.912-5.813a2 2 0 0 1 1.275-1.275L21 12l-5.813-1.912a2 2 0 0 1-1.275-1.275L12 3Z",key:"17u4zn"}],["path",{d:"M5 3v4",key:"bklmnn"}],["path",{d:"M19 17v4",key:"iiml17"}],["path",{d:"M3 5h4",key:"nem4j1"}],["path",{d:"M17 19h4",key:"lbex7p"}]]),_="0.7.
|
|
6
|
+
*/const k=j("Sparkles",[["path",{d:"m12 3-1.912 5.813a2 2 0 0 1-1.275 1.275L3 12l5.813 1.912a2 2 0 0 1 1.275 1.275L12 21l1.912-5.813a2 2 0 0 1 1.275-1.275L21 12l-5.813-1.912a2 2 0 0 1-1.275-1.275L12 3Z",key:"17u4zn"}],["path",{d:"M5 3v4",key:"bklmnn"}],["path",{d:"M19 17v4",key:"iiml17"}],["path",{d:"M3 5h4",key:"nem4j1"}],["path",{d:"M17 19h4",key:"lbex7p"}]]),_="0.7.17",w={version:_},L={VITE_BUILD_TIME:"2026-02-13T04:18:00.742Z",VITE_NODE_VERSION:"v22.16.0"};function u({items:t}){return t.length===0?null:e.jsx("dl",{className:"grid gap-4 sm:grid-cols-2",children:t.map(a=>e.jsx(m,{children:e.jsxs(p,{className:"pt-4",children:[e.jsx("dt",{className:"text-xs font-medium uppercase tracking-wide text-muted-foreground",children:a.label}),e.jsx("dd",{className:"mt-1 text-sm font-semibold",children:a.value}),a.hint&&e.jsx("p",{className:"mt-1 text-xs text-muted-foreground",children:a.hint})]})},a.label))})}function D(){const{t}=g(),{pushToast:a}=v(),s=y(["status","gateway"],{url:"/api/status",method:"GET"},{staleTime:6e4});i.useEffect(()=>{s.isError&&s.error&&a({title:t("about.toast.statusError.title"),description:s.error.message,variant:"error"})},[s.isError,s.error,a,t]);const o=w.version,r=i.useMemo(()=>{const c=L,b=c.VITE_BUILD_TIME,f=c.VITE_NODE_VERSION;return{buildTime:b,nodeVersion:f}},[]),x=i.useMemo(()=>[{label:t("about.app.labels.name"),value:e.jsx("span",{className:"font-mono",children:"cc-gw"})},{label:t("about.app.labels.version"),value:e.jsxs("span",{className:"font-mono text-primary",children:["v",o]})},{label:t("about.app.labels.buildTime"),value:r.buildTime,hint:t("about.app.hint.buildTime")},{label:t("about.app.labels.node"),value:e.jsx("span",{className:"font-mono",children:r.nodeVersion})}],[o,r.buildTime,r.nodeVersion,t]),l=i.useMemo(()=>s.data?[{label:t("about.status.labels.host"),value:s.data.host??"127.0.0.1"},{label:t("about.status.labels.port"),value:s.data.port.toLocaleString()},{label:t("about.status.labels.providers"),value:s.data.providers.toLocaleString()},{label:t("about.status.labels.active"),value:(s.data.activeRequests??0).toLocaleString(),hint:t("about.status.hint.active")}]:[],[s.data,t]),h=()=>{a({title:t("about.toast.updatesPlanned"),variant:"info"})};return e.jsxs("div",{className:"space-y-6",children:[e.jsx(E,{icon:e.jsx(I,{className:"h-5 w-5","aria-hidden":"true"}),title:t("about.title"),description:t("about.description"),badge:`v${o}`,actions:e.jsxs(d,{onClick:h,children:[e.jsx(k,{className:"mr-2 h-4 w-4","aria-hidden":"true"}),t("about.support.actions.checkUpdates")]})}),e.jsxs("div",{className:"grid gap-6 lg:grid-cols-2",children:[e.jsx(n,{title:t("about.app.title"),description:t("about.app.subtitle"),children:e.jsx(u,{items:x})}),e.jsx(n,{title:t("about.status.title"),description:t("about.status.subtitle"),actions:e.jsxs(d,{variant:"outline",size:"sm",onClick:()=>s.refetch(),disabled:s.isFetching,children:[e.jsx(T,{className:`mr-2 h-4 w-4 ${s.isFetching?"animate-spin":""}`,"aria-hidden":"true"}),s.isFetching?t("common.actions.refreshing"):t("common.actions.refresh")]}),children:s.isLoading?e.jsxs("div",{className:"flex h-32 flex-col items-center justify-center gap-2 text-center",children:[e.jsx("div",{className:"h-8 w-8 animate-spin rounded-full border-2 border-primary border-t-transparent"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:t("about.status.loading")})]}):l.length>0?e.jsx(u,{items:l}):e.jsxs("div",{className:"flex h-32 flex-col items-center justify-center gap-1 rounded-lg border border-dashed p-6 text-center",children:[e.jsx("p",{className:"text-sm font-medium",children:t("about.status.empty")}),e.jsx("p",{className:"text-xs text-muted-foreground",children:t("common.actions.refresh")})]})})]}),e.jsx(n,{title:t("about.support.title"),description:e.jsxs("span",{className:"space-y-1",children:[e.jsx("span",{className:"block text-sm font-medium text-primary",children:t("about.support.subtitle")}),e.jsx("span",{children:t("about.support.description")})]}),children:e.jsx(m,{children:e.jsxs(p,{className:"flex flex-col gap-4 pt-4",children:[e.jsxs("div",{className:"flex flex-wrap items-start gap-4",children:[e.jsx("div",{className:"flex h-10 w-10 items-center justify-center rounded-lg bg-primary/10 text-primary",children:e.jsx(N,{className:"h-5 w-5","aria-hidden":"true"})}),e.jsx("p",{className:"flex-1 text-sm text-muted-foreground",children:t("about.support.tip")})]}),e.jsx("code",{className:"inline-flex self-start rounded-md bg-muted px-3 py-1.5 text-xs font-medium",children:"~/.cc-gw/config.json"})]})})})]})}export{D as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{c as D,r as c,j as e,a as $,u as Z,b as de,L as pe,e as o,K as me,v as ue,d as K}from"./index-
|
|
1
|
+
import{c as D,r as c,j as e,a as $,u as Z,b as de,L as pe,e as o,K as me,v as ue,d as K}from"./index-D-F4C6n_.js";import{E as ye}from"./index-CprjNJ8x.js";import{u as w}from"./useApiQuery-CkT-JtpV.js";import{P as xe,B as q}from"./PageHeader-BatC8G-O.js";import{P as z}from"./PageSection-HTrZH-H0.js";import{c as he}from"./clipboard-CALi6bTW.js";import{I as ge}from"./input-x0jTfvyD.js";import{L as I}from"./label-t5tthgxG.js";import{C as T,a as S}from"./card-DQb2ediN.js";import{P as fe,D as W,a as H,b as V,c as G,d as je,e as Q}from"./dialog-B9ZBo_5P.js";import{C as U}from"./copy-8Dwvprhw.js";/**
|
|
2
2
|
* @license lucide-react v0.344.0 - ISC
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the ISC license.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{c as O,r as d,j as e,a as f,u as I,b as ne,d as ie,t as le,L as ce,B as D,e as me}from"./index-
|
|
1
|
+
import{c as O,r as d,j as e,a as f,u as I,b as ne,d as ie,t as le,L as ce,B as D,e as me}from"./index-D-F4C6n_.js";import{E as he}from"./index-CprjNJ8x.js";import{P as ue,B as k}from"./PageHeader-BatC8G-O.js";import{P as X}from"./PageSection-HTrZH-H0.js";import{u as S}from"./useApiQuery-CkT-JtpV.js";import{C as G,a as Q}from"./card-DQb2ediN.js";import{S as xe,a as pe,b as be,c as ge,d as q}from"./select-fri8gRof.js";/**
|
|
2
2
|
* @license lucide-react v0.344.0 - ISC
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the ISC license.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{c as N,u as E,b as L,r as i,j as e,e as h,C as R,a as $,g as I,h as T,t as P}from"./index-
|
|
1
|
+
import{c as N,u as E,b as L,r as i,j as e,e as h,C as R,a as $,g as I,h as T,t as P}from"./index-D-F4C6n_.js";import{P as z,B as j}from"./PageHeader-BatC8G-O.js";import{I as F}from"./input-x0jTfvyD.js";import{C as w,a as C,b as V}from"./card-DQb2ediN.js";import{S as B,a as D,b as K,c as H,d as f}from"./select-fri8gRof.js";import{R as J}from"./refresh-cw-DHAoO4El.js";/**
|
|
2
2
|
* @license lucide-react v0.344.0 - ISC
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the ISC license.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{c as x,u,r as g,j as e,e as h}from"./index-
|
|
1
|
+
import{c as x,u,r as g,j as e,e as h}from"./index-D-F4C6n_.js";import{P as N}from"./PageHeader-BatC8G-O.js";import{P as d}from"./PageSection-HTrZH-H0.js";import{c as p}from"./clipboard-CALi6bTW.js";import{C as j,a as f}from"./card-DQb2ediN.js";import{I as v}from"./info-BSxQbQAp.js";/**
|
|
2
2
|
* @license lucide-react v0.344.0 - ISC
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the ISC license.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{u as C,ai as E,aj as F,ak as L,r as n,j as e,L as S,e as k}from"./index-
|
|
1
|
+
import{u as C,ai as E,aj as F,ak as L,r as n,j as e,L as S,e as k}from"./index-D-F4C6n_.js";import{I as j}from"./input-x0jTfvyD.js";import{L as b}from"./label-t5tthgxG.js";import{C as v,a as w,b as P,c as T,d as A,e as D}from"./card-DQb2ediN.js";function H(){const{t:s}=C(),i=E(),u=F(),{authEnabled:l,isAuthenticated:m,loading:o,login:N,error:x}=L(),[t,f]=n.useState({username:"",password:""}),[p,d]=n.useState(null),[h,g]=n.useState(!1),c=n.useMemo(()=>{var r;const a=u.state;return((r=a==null?void 0:a.from)==null?void 0:r.pathname)??"/"},[u.state]);n.useEffect(()=>{if(!l&&!o){i(c,{replace:!0});return}l&&m&&!o&&i(c,{replace:!0})},[l,m,o,i,c]);const y=async a=>{if(a.preventDefault(),d(null),!t.username.trim()||!t.password){d(s("login.validation.required"));return}g(!0);try{await N(t.username.trim(),t.password),i(c,{replace:!0})}catch(r){d(r instanceof Error?r.message:s("login.validation.failed"))}finally{g(!1)}};return o?e.jsx("div",{className:"flex min-h-screen items-center justify-center bg-background",children:e.jsx(v,{className:"w-full max-w-md",children:e.jsx(w,{className:"flex min-h-[320px] items-center justify-center",children:e.jsx(S,{})})})}):l?e.jsx("div",{className:"flex min-h-screen items-center justify-center bg-background px-4",children:e.jsxs(v,{className:"w-full max-w-md",children:[e.jsxs(P,{className:"text-center",children:[e.jsx("div",{className:"mx-auto mb-4 flex h-14 w-14 items-center justify-center rounded-xl bg-primary text-lg font-bold text-primary-foreground",children:"GW"}),e.jsx(T,{className:"text-2xl",children:s("login.title")}),e.jsx(A,{className:"text-sm",children:s("login.description")})]}),e.jsx(w,{children:e.jsxs("form",{className:"space-y-4",onSubmit:y,children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(b,{htmlFor:"username",children:s("login.fields.username")}),e.jsx(j,{id:"username",value:t.username,autoComplete:"username",autoFocus:!0,onChange:a=>f(r=>({...r,username:a.target.value})),placeholder:s("login.fields.usernamePlaceholder")})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(b,{htmlFor:"password",children:s("login.fields.password")}),e.jsx(j,{id:"password",type:"password",value:t.password,autoComplete:"current-password",onChange:a=>f(r=>({...r,password:a.target.value})),placeholder:s("login.fields.passwordPlaceholder")})]}),(p||x)&&e.jsx("div",{className:"rounded-md border border-destructive/50 bg-destructive/10 px-4 py-3 text-sm text-destructive",children:p||x}),e.jsx(k,{type:"submit",className:"w-full",disabled:h,children:s(h?"common.actions.loading":"login.actions.submit")})]})}),e.jsx(D,{className:"justify-center",children:e.jsx("p",{className:"text-center text-xs text-muted-foreground",children:s("login.hint")})})]})}):null}export{H as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{c as be,u as U,b as me,r as n,d as we,t as ke,j as e,e as k,a as L,F as _e,f as Se,X as Ee,L as Te}from"./index-
|
|
1
|
+
import{c as be,u as U,b as me,r as n,d as we,t as ke,j as e,e as k,a as L,F as _e,f as Se,X as Ee,L as Te}from"./index-D-F4C6n_.js";import{u as F}from"./useApiQuery-CkT-JtpV.js";import{P as Ce,B as xe}from"./PageHeader-BatC8G-O.js";import{c as Le}from"./clipboard-CALi6bTW.js";import{I as Q}from"./input-x0jTfvyD.js";import{L as S}from"./label-t5tthgxG.js";import{C as re,a as ne}from"./card-DQb2ediN.js";import{S as M,a as z,b as O,c as q,d as w}from"./select-fri8gRof.js";import{R as De}from"./refresh-cw-DHAoO4El.js";/**
|
|
2
2
|
* @license lucide-react v0.344.0 - ISC
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the ISC license.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var st=s=>{throw TypeError(s)};var Ie=(s,a,c)=>a.has(s)||st("Cannot "+c);var E=(s,a,c)=>(Ie(s,a,"read from private field"),c?c.call(s):a.get(s)),ce=(s,a,c)=>a.has(s)?st("Cannot add the same private member more than once"):a instanceof WeakSet?a.add(s):a.set(s,c),ue=(s,a,c,m)=>(Ie(s,a,"write to private field"),m?m.call(s,c):a.set(s,c),c),me=(s,a,c)=>(Ie(s,a,"access private method"),c);import{S as $t,s as Ft,i as at,k as zt,n as it,l as dt,r as f,m as Bt,o as Vt,u as Pe,j as e,b as ct,e as P,p as _t,a as Le,X as Be,d as X,q as ve,t as Re}from"./index-CwxoiOJ7.js";import{u as qt,a as Ht}from"./useApiQuery-BenuGU61.js";import{P as Qt,B as he}from"./PageHeader-Q48thbsH.js";import{I as pe}from"./input-DuU4V_4o.js";import{L as Z}from"./label-CPyOyofK.js";import{C as Ke,a as $e}from"./card-lw0mNbtE.js";import{S as ut}from"./switch-C9znB46C.js";import{S as mt,a as ht,b as pt,c as xt,d as De}from"./select-Bas7KWYt.js";import{P as Ve,D as Gt,a as Xt,b as Yt,c as Jt,d as Wt,e as Zt}from"./dialog-_9cV4Ss_.js";import{R as es}from"./refresh-cw-lIS96np_.js";var J,le,K,W,ee,Se,_e,ot,ts=(ot=class extends $t{constructor(a,c){super();ce(this,ee);ce(this,J);ce(this,le);ce(this,K);ce(this,W);ue(this,J,a),this.setOptions(c),this.bindMethods(),me(this,ee,Se).call(this)}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(a){var m;const c=this.options;this.options=E(this,J).defaultMutationOptions(a),Ft(this.options,c)||E(this,J).getMutationCache().notify({type:"observerOptionsUpdated",mutation:E(this,K),observer:this}),c!=null&&c.mutationKey&&this.options.mutationKey&&at(c.mutationKey)!==at(this.options.mutationKey)?this.reset():((m=E(this,K))==null?void 0:m.state.status)==="pending"&&E(this,K).setOptions(this.options)}onUnsubscribe(){var a;this.hasListeners()||(a=E(this,K))==null||a.removeObserver(this)}onMutationUpdate(a){me(this,ee,Se).call(this),me(this,ee,_e).call(this,a)}getCurrentResult(){return E(this,le)}reset(){var a;(a=E(this,K))==null||a.removeObserver(this),ue(this,K,void 0),me(this,ee,Se).call(this),me(this,ee,_e).call(this)}mutate(a,c){var m;return ue(this,W,c),(m=E(this,K))==null||m.removeObserver(this),ue(this,K,E(this,J).getMutationCache().build(E(this,J),this.options)),E(this,K).addObserver(this),E(this,K).execute(a)}},J=new WeakMap,le=new WeakMap,K=new WeakMap,W=new WeakMap,ee=new WeakSet,Se=function(){var c;const a=((c=E(this,K))==null?void 0:c.state)??zt();ue(this,le,{...a,isPending:a.status==="pending",isSuccess:a.status==="success",isError:a.status==="error",isIdle:a.status==="idle",mutate:this.mutate,reset:this.reset})},_e=function(a){it.batch(()=>{var c,m,g,y,o,h,N,p;if(E(this,W)&&this.hasListeners()){const R=E(this,le).variables,F=E(this,le).context,T={client:E(this,J),meta:this.options.meta,mutationKey:this.options.mutationKey};(a==null?void 0:a.type)==="success"?((m=(c=E(this,W)).onSuccess)==null||m.call(c,a.data,R,F,T),(y=(g=E(this,W)).onSettled)==null||y.call(g,a.data,null,R,F,T)):(a==null?void 0:a.type)==="error"&&((h=(o=E(this,W)).onError)==null||h.call(o,a.error,R,F,T),(p=(N=E(this,W)).onSettled)==null||p.call(N,void 0,a.error,R,F,T))}this.listeners.forEach(R=>{R(E(this,le))})})},ot);function rt(s,a){const c=dt(),[m]=f.useState(()=>new ts(c,s));f.useEffect(()=>{m.setOptions(s)},[m,s]);const g=f.useSyncExternalStore(f.useCallback(o=>m.subscribe(it.batchCalls(o)),[m]),()=>m.getCurrentResult(),()=>m.getCurrentResult()),y=f.useCallback((o,h)=>{m.mutate(o,h).catch(Bt)},[m]);if(g.error&&Vt(m.options.throwOnError,[g.error]))throw g.error;return{...g,mutate:y,mutateAsync:g.mutate}}function He(){return typeof globalThis.crypto<"u"&&typeof globalThis.crypto.randomUUID=="function"?globalThis.crypto.randomUUID():Math.random().toString(36).slice(2,10)}function ss(){return{_key:He(),id:"",label:""}}const Fe={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"},custom:{}};function lt(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(a=>({...a,_key:He()})),authMode:s.authMode??"apiKey"}:{id:"",label:"",baseUrl:"",apiKey:"",type:"custom",defaultModel:"",models:[],authMode:"apiKey"}}function as(s){return{_key:He(),id:s.id,label:s.label}}function rs({open:s,mode:a,provider:c,existingProviderIds:m,onClose:g,onSubmit:y}){const{t:o}=Pe(),[h,N]=f.useState(()=>lt(c)),[p,R]=f.useState({}),[F,T]=f.useState(!1),[z,B]=f.useState(null),k=f.useRef(null),M=f.useRef(null),O=f.useRef(null),[A,je]=f.useState(a==="edit");f.useEffect(()=>{s&&(N(lt(c)),R({}),B(null),T(!1),je(a==="edit"))},[s,c,a]),f.useEffect(()=>{if(!s)return;const u=b=>{b.key==="Escape"&&g()};return window.addEventListener("keydown",u),()=>window.removeEventListener("keydown",u)},[s,g]),f.useEffect(()=>{if(s){if(a==="create"&&O.current){O.current.focus();return}M.current&&M.current.focus()}},[s,a]);const ye=f.useMemo(()=>h.models.filter(u=>u.id.trim().length>0),[h.models]),xe=u=>b=>{N(w=>({...w,[u]:b}))},ke=u=>{N(b=>{const v=!A||b.label.trim().length===0||b.label===b.id?u:b.label;return{...b,id:u,label:v}})},ne=u=>{N(b=>{var Me;const v=Fe[u??"custom"]??Fe.custom,C=Object.values(Fe).map(te=>te.baseUrl).filter(te=>!!te),H=!b.baseUrl||C.includes(b.baseUrl),L=a==="create"&&(b.models.length===0||b.models.every(te=>te.id.trim().length===0)),G={...b,type:u,authMode:b.authMode??"apiKey"};return v!=null&&v.baseUrl&&H&&(G.baseUrl=v.baseUrl),v!=null&&v.models&&L&&(G.models=v.models.map(as),G.defaultModel=v.defaultModel??((Me=v.models[0])==null?void 0:Me.id)??""),G})},I=(u,b)=>{N(w=>{const v=[...w.models];return v[u]={...v[u],...b},{...w,models:v}})},Oe=(u,b)=>{N(w=>{const v=[...w.models],C=v[u];if(!C)return w;const H=!A||!C.label||C.label===C.id,L={...C,id:b,label:H?b:C.label};v[u]=L;const G=w.defaultModel===C.id?b:w.defaultModel;return{...w,models:v,defaultModel:G}})},V=u=>{N(b=>{if(u<0||u>=b.models.length)return b;const w=b.models.filter((C,H)=>H!==u);let v=b.defaultModel;return w.some(C=>C.id===v)||(v=""),{...b,models:w,defaultModel:v}})},Te=()=>{N(u=>({...u,models:[...u.models,ss()]}))},oe=u=>{N(b=>({...b,authMode:u}))},Ne=()=>{const u={},b=h.id.trim(),w=h.baseUrl.trim();if(a==="create"&&(b.length===0?u.id=o("providers.drawer.errors.idRequired"):m.includes(b)&&(u.id=o("providers.drawer.errors.idDuplicate"))),a==="edit"&&b.length===0&&(u.id=o("providers.drawer.errors.idRequired")),w.length===0)u.baseUrl=o("providers.drawer.errors.baseUrlInvalid");else try{new URL(w)}catch{u.baseUrl=o("providers.drawer.errors.baseUrlInvalid")}if(h.models.length>0){const v=new Set;h.models.some(H=>{const L=H.id.trim();return L.length===0||v.has(L)?!0:(v.add(L),!1)})&&(u.models=o("providers.drawer.errors.modelInvalid"))}return h.defaultModel&&!h.models.some(v=>v.id===h.defaultModel)&&(u.models=o("providers.drawer.errors.defaultInvalid")),R(u),Object.keys(u).length===0},ge=()=>{const u=h.models.map(v=>{var C;return{id:v.id.trim(),label:(C=v.label)!=null&&C.trim()?v.label.trim():void 0}}).filter(v=>v.id.length>0),b=c!=null&&c.extraHeaders&&Object.keys(c.extraHeaders).length>0?c.extraHeaders:void 0,w=h.authMode!=="apiKey"?h.authMode:void 0;return{id:h.id.trim(),label:h.label.trim()||h.id.trim(),baseUrl:h.baseUrl.trim(),apiKey:h.apiKey.trim()||void 0,type:h.type??"custom",defaultModel:h.defaultModel||void 0,models:u.length>0?u:void 0,extraHeaders:b,authMode:w}},we=async()=>{if(B(null),!!Ne()){T(!0);try{const u=ge();await y(u)}catch(u){B(o("providers.drawer.toast.saveFailure",{message:u instanceof Error?u.message:"unknown"})),T(!1);return}T(!1),g()}},fe=a==="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:g,"aria-hidden":"true"}),e.jsxs("aside",{ref:k,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:o(fe?"providers.drawer.createTitle":"providers.drawer.editTitle")}),e.jsx("p",{id:"provider-drawer-desc",className:"text-xs text-slate-500 dark:text-slate-400",children:o("providers.drawer.description")})]}),e.jsx("button",{type:"button",ref:M,onClick:g,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:o("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:o("providers.drawer.description")}),e.jsx("div",{className:"flex items-center justify-end",children:e.jsx("button",{type:"button",onClick:()=>je(u=>!u),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:o(A?"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:o("providers.drawer.fields.id")}),e.jsx("input",{value:h.id,ref:O,onChange:u=>ke(u.target.value),disabled:!fe,placeholder:o("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":!!p.id}),p.id?e.jsx("span",{className:"text-xs text-red-500",children:p.id}):null]}),A?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:o("providers.drawer.fields.label")}),e.jsx("input",{value:h.label,onChange:u=>xe("label")(u.target.value),placeholder:o("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:o("providers.drawer.fields.baseUrl")}),e.jsx("input",{value:h.baseUrl,onChange:u=>xe("baseUrl")(u.target.value),placeholder:o("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":!!p.baseUrl}),p.baseUrl?e.jsx("span",{className:"text-xs text-red-500",children:p.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:o("providers.drawer.fields.type")}),e.jsxs("select",{value:h.type??"custom",onChange:u=>ne(u.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:o("providers.drawer.fields.apiKey")}),e.jsx("input",{value:h.apiKey,onChange:u=>xe("apiKey")(u.target.value),placeholder:o("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("fieldset",{className:"grid gap-2 rounded-lg border border-slate-200 p-3 text-xs dark:border-slate-700",children:[e.jsx("legend",{className:"px-1 text-slate-500 dark:text-slate-400",children:o("providers.drawer.fields.authMode")}),e.jsx("p",{className:"text-[11px] text-slate-500 dark:text-slate-400",children:o("providers.drawer.fields.authModeHint")}),e.jsxs("label",{className:"flex cursor-pointer items-center gap-2 rounded-md px-2 py-1 transition hover:bg-slate-100 dark:hover:bg-slate-800",children:[e.jsx("input",{type:"radio",name:"provider-auth-mode",value:"apiKey",checked:h.authMode==="apiKey",onChange:()=>oe("apiKey")}),e.jsx("span",{children:o("providers.drawer.fields.authModeApiKey")})]}),e.jsxs("label",{className:"flex cursor-pointer items-center gap-2 rounded-md px-2 py-1 transition hover:bg-slate-100 dark:hover:bg-slate-800",children:[e.jsx("input",{type:"radio",name:"provider-auth-mode",value:"authToken",checked:h.authMode==="authToken",onChange:()=>oe("authToken")}),e.jsx("span",{children:o("providers.drawer.fields.authModeAuthToken")})]}),e.jsxs("label",{className:"flex cursor-pointer items-center gap-2 rounded-md px-2 py-1 transition hover:bg-slate-100 dark:hover:bg-slate-800",children:[e.jsx("input",{type:"radio",name:"provider-auth-mode",value:"xAuthToken",checked:h.authMode==="xAuthToken",onChange:()=>oe("xAuthToken")}),e.jsx("span",{children:o("providers.drawer.fields.authModeXAuthToken")})]})]})]}),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:o("providers.drawer.fields.models")}),e.jsx("p",{className:"text-xs text-slate-500 dark:text-slate-400",children:o("providers.drawer.modelsDescription")})]}),e.jsx("button",{type:"button",onClick:Te,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:o("providers.drawer.fields.addModel")})]}),p.models?e.jsx("p",{className:"text-xs text-red-500",children:p.models}):null,e.jsxs("div",{className:"space-y-4",children:[h.models.map((u,b)=>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:o("providers.drawer.fields.modelId")}),e.jsx("input",{value:u.id,onChange:w=>Oe(b,w.target.value),placeholder:o("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"})]}),A?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:o("providers.drawer.fields.modelLabel")}),e.jsx("input",{value:u.label??"",onChange:w=>I(b,{label:w.target.value}),placeholder:o("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:u.id,checked:h.defaultModel===u.id,onChange:()=>N(w=>({...w,defaultModel:u.id})),disabled:u.id.trim().length===0}),o("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:()=>V(b),disabled:h.models.length===0,children:o("providers.drawer.fields.removeModel")})]})]},u._key)),h.models.length===0?e.jsx("div",{className:"rounded-xl border-2 border-amber-300 bg-gradient-to-br from-amber-50 to-yellow-50 p-5 shadow-md dark:border-amber-600/60 dark:from-amber-900/20 dark:to-yellow-900/20",children:e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx("div",{className:"flex-shrink-0 text-2xl",children:"💡"}),e.jsxs("div",{className:"flex-1 space-y-2",children:[e.jsx("p",{className:"text-sm font-semibold text-amber-900 dark:text-amber-200",children:o("providers.drawer.noModelsTitle")}),e.jsx("p",{className:"text-xs leading-relaxed text-amber-800 dark:text-amber-300",children:o("providers.drawer.noModelsHint",{providerId:h.id||"provider-id"})}),e.jsxs("div",{className:"rounded-md bg-amber-100/80 p-2.5 dark:bg-amber-800/40",children:[e.jsx("p",{className:"mb-1.5 text-xs font-medium text-amber-900 dark:text-amber-200",children:o("providers.drawer.routeExample")}),e.jsxs("code",{className:"block rounded bg-white px-2.5 py-1.5 font-mono text-xs text-amber-900 shadow-sm dark:bg-slate-900 dark:text-amber-100",children:['"claude-*": "',(h.id||"provider-id").trim()||"provider-id",':*"']})]})]})]})}):null]}),ye.length>1?e.jsx("div",{className:"text-xs text-slate-500 dark:text-slate-400",children:o("providers.drawer.defaultHint",{model:h.defaultModel||o("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:z?e.jsx("span",{children:z}):null}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx("button",{type:"button",onClick:g,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:F,children:o("common.actions.cancel")}),e.jsx("button",{type:"button",onClick:we,className:"rounded-md bg-blue-600 px-4 py-2 text-white transition hover:bg-blue-700 disabled:opacity-60",disabled:F,children:o(F?"common.actions.saving":"common.actions.save")})]})]})]})]}):null}const ls=["claude-sonnet-4-5-20250929","claude-sonnet-4-5-20250929-thinking","claude-sonnet-4-20250514","claude-opus-4-1-20250805","claude-opus-4-1-20250805-thinking","claude-haiku-4-5-20251001","claude-haiku-4-5-20251001-thinking","claude-3-5-haiku-20241022"],ns=["gpt-4o-mini","gpt-4o","o4-mini","o4-large","gpt-5-codex"];function qe(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():Math.random().toString(36).slice(2,10)}function Y(s){return s?Object.entries(s).map(([a,c])=>({id:qe(),source:a,target:c})):[]}function ze(s,a){var g,y,o;if(!s)return{};const c={},m=s.endpointRouting??{};c.anthropic=Y(((g=m.anthropic)==null?void 0:g.modelRoutes)??s.modelRoutes??{}),c.openai=Y(((y=m.openai)==null?void 0:y.modelRoutes)??{});for(const h of a)(o=h.routing)!=null&&o.modelRoutes?c[h.id]=Y(h.routing.modelRoutes):c[h.id]=[];return c}function os(s,a){if(s==="anthropic")return!0;const c=a.find(m=>m.id===s);return c?c.paths&&c.paths.length>0?c.paths.some(m=>m.protocol==="anthropic"):c.protocol==="anthropic":!1}function is(s,a,c){var g,y,o;if(!a)return;if(s==="anthropic"||s==="openai")return(y=(g=a.endpointRouting)==null?void 0:g[s])==null?void 0:y.validation;const m=c.find(h=>h.id===s);return(o=m==null?void 0:m.routing)==null?void 0:o.validation}function ws(){const{t:s}=Pe(),{pushToast:a}=ct(),c=dt(),m=qt(["config","full"],{url:"/api/config",method:"GET"}),{data:g}=Ht({queryKey:["custom-endpoints"],queryFn:ve.list,refetchInterval:1e4}),y=(g==null?void 0:g.endpoints)??[],o=f.useMemo(()=>{const t=[{key:"providers",label:s("modelManagement.tabs.providers"),description:s("modelManagement.tabs.providersDesc"),isSystem:!0,canDelete:!1},{key:"anthropic",label:s("modelManagement.tabs.anthropic"),description:s("modelManagement.tabs.anthropicDesc"),isSystem:!0,canDelete:!1,protocols:["anthropic"]},{key:"openai",label:s("modelManagement.tabs.openai"),description:s("modelManagement.tabs.openaiDesc"),isSystem:!0,canDelete:!1,protocols:["openai-auto","openai-chat","openai-responses"]}],n=y.map(r=>{let l,i=[];if(r.paths&&r.paths.length>0){const d=r.paths.map(x=>`${x.path} (${x.protocol})`).join(", ");l=`${s("modelManagement.tabs.customEndpoint")}: ${d}`,i=[...new Set(r.paths.map(x=>x.protocol))]}else if(r.path){const d=r.protocol||"anthropic";l=`${s("modelManagement.tabs.customEndpoint")}: ${r.path} (${d})`,i=[d]}else l=s("modelManagement.tabs.customEndpoint");return{key:r.id,label:r.label,description:l,isSystem:!1,canDelete:r.deletable!==!1,protocols:i}});return[...t,...n]},[s,y]),[h,N]=f.useState("providers"),[p,R]=f.useState(null),[F,T]=f.useState(!1),[z,B]=f.useState("create"),[k,M]=f.useState(void 0),[O,A]=f.useState(null),[je,ye]=f.useState(!1),[xe,ke]=f.useState(void 0),[ne,I]=f.useState({}),[Oe,V]=f.useState({}),[Te,oe]=f.useState(null),[Ne,ge]=f.useState({}),[we,fe]=f.useState({}),[u,b]=f.useState({}),[w,v]=f.useState(null),[C,H]=f.useState(null),[L,G]=f.useState(null),[Me,te]=f.useState(!1),[Ue,Qe]=f.useState(null),[Ee,Ae]=f.useState(!0),[Ge,Xe]=f.useState({}),[gt,Ye]=f.useState(!1),_=(p==null?void 0:p.providers)??[],ft=_.length,be=f.useMemo(()=>[{key:"anthropic-beta",value:"claude-code-20250219,interleaved-thinking-2025-05-14,fine-grained-tool-streaming-2025-05-14",label:s("providers.testDialog.options.beta.label"),description:s("providers.testDialog.options.beta.description")}],[s]);f.useEffect(()=>{var t,n;if(m.data){const r=m.data;R(r),I(ze(r,y)),V({});const l={anthropic:((t=r.routingPresets)==null?void 0:t.anthropic)??[],openai:((n=r.routingPresets)==null?void 0:n.openai)??[]};for(const i of y)l[i.id]=i.routingPresets??[];ge(l)}},[m.data,y]),f.useEffect(()=>{m.isError&&m.error&&a({title:s("providers.toast.loadFailure",{message:m.error.message}),variant:"error"})},[m.isError,m.error,a,s]);const bt=f.useMemo(()=>{const t=new Map;for(const n of _){if(!n.defaultModel||!n.models)continue;const r=n.models.find(l=>l.id===n.defaultModel);r&&t.set(n.id,nt(r))}return t},[_]),Je=f.useMemo(()=>{const t=[],n=new Set;for(const l of _){const i=l.label||l.id,d=l.models??[];if(d.length>0)for(const j of d){const S=`${l.id}:${j.id}`;n.has(S)||(n.add(S),t.push({value:S,label:`${i} · ${j.label??j.id}`}))}else if(l.defaultModel){const j=`${l.id}:${l.defaultModel}`;n.has(j)||(n.add(j),t.push({value:j,label:`${i} · ${l.defaultModel}`}))}const x=`${l.id}:*`;n.has(x)||(n.add(x),t.push({value:x,label:s("settings.routing.providerPassthroughOption",{provider:i})}))}const r=[...ne.anthropic||[],...ne.openai||[]];for(const l of r){const i=l.target.trim();i&&!n.has(i)&&(n.add(i),t.push({value:i,label:i}))}return t},[_,ne,s]),We=(t,n)=>{ge(r=>({...r,[t]:n})),R(r=>{if(!r)return r;if(t==="anthropic"||t==="openai")return{...r,routingPresets:{...r.routingPresets,[t]:n}};const l=r.customEndpoints??[],i=l.findIndex(x=>x.id===t);if(i===-1)return r;const d=[...l];return d[i]={...d[i],routingPresets:n},{...r,customEndpoints:d}})},se=()=>p?!0:(a({title:s("settings.toast.missingConfig"),variant:"error"}),m.refetch(),!1),vt=(t,n)=>{fe(r=>({...r,[t]:n})),n.trim()&&b(r=>({...r,[t]:null}))},jt=async t=>{if(!se())return;const n=we[t].trim();if(!n){b(r=>({...r,[t]:s("modelManagement.validation.presetName")}));return}if(Ne[t].some(r=>r.name.toLowerCase()===n.toLowerCase())){b(r=>({...r,[t]:s("modelManagement.validation.presetDuplicate",{name:n})}));return}v(t);try{const l=(await X.post(`/api/routing-presets/${t}`,{name:n})).data.presets??[];We(t,l),fe(i=>({...i,[t]:""})),b(i=>({...i,[t]:null})),a({title:s("modelManagement.toast.presetSaved",{name:n}),variant:"success"})}catch(r){a({title:s("modelManagement.toast.presetSaveFailure",{message:r instanceof Error?r.message:"unknown"}),variant:"error"})}finally{v(null),m.refetch()}},yt=async(t,n)=>{var r,l,i;if(se()){H({endpoint:t,name:n.name});try{const x=(await X.post(`/api/routing-presets/${t}/apply`,{name:n.name})).data.config;if(x){R(x),I(ze(x,y));const j={anthropic:((r=x.routingPresets)==null?void 0:r.anthropic)??[],openai:((l=x.routingPresets)==null?void 0:l.openai)??[]};for(const S of y){const U=(i=x.customEndpoints)==null?void 0:i.find($=>$.id===S.id);j[S.id]=(U==null?void 0:U.routingPresets)??[]}ge(j)}else I(j=>({...j,[t]:Y(n.modelRoutes)}));a({title:s("modelManagement.toast.presetApplySuccess",{name:n.name}),variant:"success"})}catch(d){a({title:s("modelManagement.toast.presetApplyFailure",{message:d instanceof Error?d.message:"unknown"}),variant:"error"})}finally{H(null),m.refetch()}}},kt=async(t,n)=>{if(!(!se()||!window.confirm(s("modelManagement.confirm.deletePreset",{name:n.name})))){G({endpoint:t,name:n.name});try{const i=(await X.delete(`/api/routing-presets/${t}/${encodeURIComponent(n.name)}`)).data.presets??[];We(t,i),a({title:s("modelManagement.toast.presetDeleteSuccess",{name:n.name}),variant:"success"})}catch(l){a({title:s("modelManagement.toast.presetDeleteFailure",{message:l instanceof Error?l.message:"unknown"}),variant:"error"})}finally{G(null),m.refetch()}}},Nt=()=>{se()&&(B("create"),M(void 0),T(!0))},wt=t=>{se()&&(B("edit"),M(t),T(!0))},Mt=async t=>{if(!p)throw new Error(s("settings.toast.missingConfig"));const n=z==="create"?[..._,t]:_.map(i=>k&&i.id===k.id?{...t,id:k.id}:i),r={...p,providers:n};await X.put("/api/config",r),R(r),I(ze(r,y)),m.refetch();const l=z==="create"?s("providers.toast.createSuccess",{name:t.label||t.id}):s("providers.toast.updateSuccess",{name:t.label||t.id});a({title:l,variant:"success"})},Et=async t=>{const n=y.find(r=>r.id===t);if(n&&n.deletable!==!1&&confirm(s("modelManagement.deleteEndpointConfirm",{label:n.label})))try{await ve.delete(t),c.invalidateQueries({queryKey:["custom-endpoints"]}),a({title:s("modelManagement.deleteEndpointSuccess"),variant:"success"}),h===t&&N("providers")}catch(r){const l=Re(r);a({title:s("modelManagement.deleteEndpointError",{error:l.message}),variant:"error"})}},Ze=async(t,n)=>{A(t.id);try{const r=n&&(n.headers||n.query)?{headers:n.headers&&Object.keys(n.headers).length>0?n.headers:void 0,query:n.query&&n.query.trim().length>0?n.query.trim():void 0}:void 0,l=await X.post(`/api/providers/${t.id}/test`,r);l.data.ok?a({title:s("providers.toast.testSuccess"),description:s("providers.toast.testSuccessDesc",{status:l.data.status,duration:l.data.durationMs?`${l.data.durationMs} ms`:"—"}),variant:"success"}):a({title:s("providers.toast.testFailure",{message:`${l.data.status} ${l.data.statusText}`}),variant:"error"})}catch(r){a({title:s("providers.toast.testFailure",{message:r instanceof Error?r.message:"unknown"}),variant:"error"})}finally{A(null)}},Ct=t=>{if(t.type==="anthropic"){const n=t.extraHeaders??{},r=new Map(be.map(d=>[d.key.toLowerCase(),d])),l={};let i=!0;for(const d of be){const x=Object.entries(n).find(([j])=>j.toLowerCase()===d.key.toLowerCase());if(x){const[j,S]=x;String(S??"")===d.value||(i=!1,l[j]=String(S??""))}}for(const[d,x]of Object.entries(n))r.has(d.toLowerCase())||(l[d]=String(x??""));Xe(l),Ae(i),Qe(t),te(!0);return}Ze(t)},et=()=>{te(!1),Qe(null),Ae(!0),Xe({})},St=async()=>{if(!Ue)return;const t={};if(Ee)for(const l of be)t[l.key]=l.value;const n=new Map(be.map(l=>[l.key.toLowerCase(),l]));for(const[l,i]of Object.entries(Ge)){const d=l.toLowerCase();n.get(d)&&Ee||(t[l]=i)}const r=Ue;et(),await Ze(r,{headers:Object.keys(t).length>0?t:void 0,query:Ee?"beta=true":void 0})},Rt=async t=>{var S,U,$,ae;if(!se()||!window.confirm(s("providers.confirm.delete",{name:t.label||t.id})))return;const r=_.filter(q=>q.id!==t.id),l=q=>{const ie={};if(!q)return ie;for(const[D,de]of Object.entries(q)){if(!de)continue;const[re]=de.split(":");re&&re===t.id||de===t.id||(ie[D]=de)}return ie},i=(p==null?void 0:p.endpointRouting)??{},d=l(((S=i.anthropic)==null?void 0:S.modelRoutes)??(p==null?void 0:p.modelRoutes)??{}),x=l(((U=i.openai)==null?void 0:U.modelRoutes)??{}),j={...p,providers:r,modelRoutes:d,endpointRouting:{anthropic:{defaults:(($=i.anthropic)==null?void 0:$.defaults)??p.defaults,modelRoutes:d},openai:{defaults:((ae=i.openai)==null?void 0:ae.defaults)??p.defaults,modelRoutes:x}}};try{await X.put("/api/config",j),R(j),I({anthropic:Y(d),openai:Y(x)}),a({title:s("providers.toast.deleteSuccess",{name:t.label||t.id}),variant:"success"}),m.refetch()}catch(q){a({title:s("providers.toast.deleteFailure",{message:q instanceof Error?q.message:"unknown"}),variant:"error"})}},Dt=t=>{I(n=>({...n,[t]:[...n[t]||[],{id:qe(),source:"",target:""}]})),V(n=>({...n,[t]:null}))},Pt=async(t,n)=>{if(se()){Ye(!0);try{if(t==="anthropic"||t==="openai"){const r=p.endpointRouting?{...p.endpointRouting}:{},l=r[t]??{defaults:p.defaults,modelRoutes:(t==="anthropic"?p.modelRoutes:{})??{}},i={defaults:l.defaults??p.defaults,modelRoutes:l.modelRoutes??{}};let d=l.validation;n?(d={...d??{},mode:"claude-code"},d.allowExperimentalBlocks===void 0&&(d.allowExperimentalBlocks=!0)):d=void 0;const x=d?{...i,validation:d}:{...i},j={...r,[t]:x},S={...p,endpointRouting:j};await X.put("/api/config",S),R(S)}else{const r=p.customEndpoints??[],l=r.findIndex(ae=>ae.id===t);if(l===-1)throw new Error(s("modelManagement.toast.endpointNotFound"));const i=r[l],d=i.routing??{defaults:p.defaults,modelRoutes:{}};let x=d.validation;n?(x={...x??{},mode:"claude-code"},x.allowExperimentalBlocks===void 0&&(x.allowExperimentalBlocks=!0)):x=void 0;const j=x?{...d,validation:x}:{...d},S={...i,routing:j},U=[...r];U[l]=S;const $={...p,customEndpoints:U};await X.put("/api/config",$),R($)}a({title:s(n?"modelManagement.toast.claudeValidationEnabled":"modelManagement.toast.claudeValidationDisabled"),variant:"success"}),m.refetch()}catch(r){const l=Re(r);a({title:s("modelManagement.toast.claudeValidationFailure",{message:l.message}),variant:"error"})}finally{Ye(!1)}}},Ot=(t,n)=>{I(r=>{const l=r[t]||[];return l.some(i=>i.source.trim()===n.trim())?r:{...r,[t]:[...l,{id:qe(),source:n,target:""}]}}),V(r=>({...r,[t]:null}))},Ce=(t,n,r,l)=>{I(i=>({...i,[t]:(i[t]||[]).map(d=>d.id===n?{...d,[r]:l}:d)})),V(i=>({...i,[t]:null}))},Tt=(t,n)=>{I(r=>({...r,[t]:(r[t]||[]).filter(l=>l.id!==n)})),V(r=>({...r,[t]:null}))},Ut=t=>{var r,l;if(!p)return;const n=y.find(i=>i.id===t);if(n){const i=((r=n.routing)==null?void 0:r.modelRoutes)??{};I(d=>({...d,[t]:Y(i)}))}else{const i=p.endpointRouting??{},d=t,x=d==="anthropic"?p.modelRoutes??{}:{},j=((l=i[d])==null?void 0:l.modelRoutes)??x;I(S=>({...S,[t]:Y(j)}))}V(i=>({...i,[t]:null}))},At=async t=>{var l;if(!se())return;const n=ne[t]||[],r={};for(const i of n){const d=i.source.trim(),x=i.target.trim();if(!(!d&&!x)){if(!d||!x){V(j=>({...j,[t]:s("settings.validation.routePair")}));return}if(r[d]){V(j=>({...j,[t]:s("settings.validation.routeDuplicate",{model:d})}));return}r[d]=x}}V(i=>({...i,[t]:null})),oe(t);try{const i=y.find(d=>d.id===t);if(i){const d={...i.routing||{},modelRoutes:r,defaults:((l=i.routing)==null?void 0:l.defaults)||p.defaults};await ve.update(t,{routing:d}),c.invalidateQueries({queryKey:["custom-endpoints"]}),a({title:s("modelManagement.toast.routesSaved"),variant:"success"})}else{const d=p.endpointRouting?{...p.endpointRouting}:{},x=t,j=d[x]??{defaults:p.defaults,modelRoutes:x==="anthropic"?p.modelRoutes??{}:{}},S={...j,defaults:j.defaults??p.defaults,modelRoutes:r},U={...d,[x]:S},$={...p,endpointRouting:U,modelRoutes:x==="anthropic"?r:p.modelRoutes??{}};await X.put("/api/config",$),R($),a({title:s("modelManagement.toast.routesSaved"),variant:"success"}),m.refetch()}I(d=>({...d,[t]:Y(r)}))}catch(i){a({title:s("modelManagement.toast.routesSaveFailure",{message:i instanceof Error?i.message:"unknown"}),variant:"error"})}finally{oe(null)}},It=()=>e.jsx(Ke,{children:e.jsxs($e,{className:"pt-6 space-y-6",children:[e.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-4",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-lg font-semibold",children:s("providers.title")}),e.jsx("p",{className:"mt-1 text-sm text-muted-foreground",children:s("providers.description")})]}),e.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[e.jsx(he,{variant:"secondary",children:s("providers.count",{count:ft})}),e.jsxs(P,{variant:"outline",size:"sm",onClick:()=>m.refetch(),disabled:m.isFetching,children:[e.jsx(es,{className:Le("mr-2 h-4 w-4",m.isFetching&&"animate-spin")}),m.isFetching?s("common.actions.refreshing"):s("providers.actions.refresh")]}),e.jsxs(P,{size:"sm",onClick:Nt,children:[e.jsx(Ve,{className:"mr-2 h-4 w-4"}),s("providers.actions.add")]})]})]}),m.isPending||!p&&m.isFetching?e.jsx("div",{className:"flex min-h-[200px] items-center justify-center rounded-lg border bg-muted/50 text-sm text-muted-foreground",children:s("common.loading")}):_.length===0?e.jsxs("div",{className:"rounded-lg border border-dashed p-12 text-center text-sm text-muted-foreground",children:[e.jsx("p",{className:"font-medium",children:s("providers.emptyState")}),e.jsx("p",{className:"mt-2 text-xs",children:s("providers.emptyStateSub",{default:"点击上方按钮添加您的第一个提供商"})})]}):e.jsx("div",{className:"grid gap-4 md:grid-cols-2 xl:grid-cols-3",children:_.map(t=>e.jsx(Ke,{className:"flex flex-col",children:e.jsxs($e,{className:"flex flex-1 flex-col gap-4 pt-6",children:[e.jsxs("div",{className:"flex items-start justify-between gap-4",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("h3",{className:"font-semibold",children:t.label||t.id}),t.type&&e.jsx(cs,{type:t.type})]}),e.jsxs("p",{className:"text-xs text-muted-foreground",children:["ID: ",t.id]}),e.jsx("p",{className:"text-xs text-muted-foreground break-all",children:t.baseUrl})]}),t.defaultModel?e.jsx(he,{variant:"default",className:"text-xs",children:bt.get(t.id)??t.defaultModel}):e.jsx(he,{variant:"secondary",className:"text-xs",children:s("providers.card.noDefault")})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(Z,{className:"text-xs",children:s("providers.card.modelsTitle")}),t.models&&t.models.length>0?e.jsx("div",{className:"flex flex-wrap gap-1",children:t.models.map(n=>e.jsx(he,{variant:"outline",className:"text-xs",children:nt(n)},n.id))}):e.jsx("p",{className:"text-xs text-muted-foreground",children:s("providers.card.noModels")})]}),e.jsxs("div",{className:"mt-auto flex flex-wrap gap-2 pt-4 border-t",children:[e.jsx(P,{variant:"outline",size:"sm",onClick:()=>wt(t),children:s("providers.actions.edit")}),e.jsx(P,{variant:"outline",size:"sm",onClick:()=>Ct(t),disabled:O===t.id,children:O===t.id?s("common.actions.testingConnection"):s("providers.actions.test")}),e.jsx(P,{variant:"destructive",size:"sm",onClick:()=>Rt(t),children:s("providers.actions.delete")})]})]})},t.id))})]})}),Lt=t=>{const n=Ne[t]??[],r=we[t]??"",l=u[t],i=w===t;return e.jsxs("div",{className:"rounded-lg border border-dashed bg-muted/30 p-6 space-y-4",children:[e.jsxs("div",{className:"flex flex-col gap-4 md:flex-row md:items-center md:justify-between",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"font-medium",children:s("modelManagement.presets.title")}),e.jsx("p",{className:"mt-1 text-sm text-muted-foreground",children:s("modelManagement.presets.description")})]}),e.jsxs("div",{className:"flex flex-col gap-3 md:flex-row md:items-center",children:[e.jsx(pe,{value:r,onChange:d=>vt(t,d.target.value),placeholder:s("modelManagement.presets.namePlaceholder"),disabled:i,className:"w-full md:w-48"}),e.jsx(P,{onClick:()=>void jt(t),disabled:i,children:s(i?"modelManagement.presets.saving":"modelManagement.presets.save")})]})]}),l&&e.jsx("p",{className:"text-sm text-destructive",children:l}),n.length===0?e.jsx("p",{className:"text-sm text-muted-foreground text-center py-4",children:s("modelManagement.presets.empty")}):e.jsx("div",{className:"grid gap-2 sm:grid-cols-2 lg:grid-cols-3",children:n.map(d=>{const x=(C==null?void 0:C.endpoint)===t&&(C==null?void 0:C.name)===d.name,j=(L==null?void 0:L.endpoint)===t&&(L==null?void 0:L.name)===d.name;return e.jsxs("div",{className:"flex items-center justify-between gap-3 rounded-lg border bg-card px-4 py-3",children:[e.jsx("span",{className:"truncate text-sm font-medium",children:d.name}),e.jsxs("div",{className:"flex items-center gap-2 flex-shrink-0",children:[e.jsx(P,{size:"sm",onClick:()=>void yt(t,d),disabled:x||j,children:s(x?"modelManagement.presets.applying":"modelManagement.presets.apply")}),e.jsx(P,{variant:"destructive",size:"sm",onClick:()=>void kt(t,d),disabled:j||x,children:s(j?"modelManagement.presets.deleting":"modelManagement.presets.delete")})]})]},d.name)})})]})},Kt=t=>{var ie;const n=ne[t]||[],r=Oe[t],l=o.find(D=>D.key===t),d=((ie=l==null?void 0:l.protocols)==null?void 0:ie.includes("anthropic"))??t==="anthropic"?ls:ns,x=Te===t,j=(l==null?void 0:l.label)??s(`modelManagement.tabs.${t}`),S=(l==null?void 0:l.isSystem)===!1?l.description:s(`settings.routing.descriptionByEndpoint.${t}`),U=`route-source-${t}`,$=os(t,y),ae=is(t,p,y),q=$&&(ae==null?void 0:ae.mode)==="claude-code";return e.jsx(Ke,{children:e.jsxs($e,{className:"pt-6 space-y-6",children:[e.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-4",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsx("h2",{className:"text-lg font-semibold",children:s("settings.routing.titleByEndpoint",{endpoint:j})}),e.jsx("p",{className:"max-w-3xl text-sm text-muted-foreground",children:S}),e.jsx("p",{className:"max-w-3xl text-xs text-muted-foreground",children:s("settings.routing.wildcardHint")})]}),e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsx(P,{variant:"outline",size:"sm",onClick:()=>Dt(t),disabled:x,children:s("settings.routing.add")}),e.jsx(P,{variant:"outline",size:"sm",onClick:()=>Ut(t),disabled:x,children:s("common.actions.reset")}),e.jsx(P,{size:"sm",onClick:()=>void At(t),disabled:x,children:s(x?"common.actions.saving":"modelManagement.actions.saveRoutes")})]})]}),$&&e.jsx("div",{className:"rounded-lg border border-blue-200 bg-blue-50 p-4 dark:border-blue-800 dark:bg-blue-950",children:e.jsxs("div",{className:"flex items-center justify-between gap-4",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsx("p",{className:"text-sm font-medium text-blue-800 dark:text-blue-200",children:s("modelManagement.claudeValidation.title")}),e.jsx("p",{className:"text-xs text-blue-700 dark:text-blue-300",children:s("modelManagement.claudeValidation.description")})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(ut,{checked:q,onCheckedChange:D=>void Pt(t,D),disabled:gt}),e.jsx("span",{className:Le("text-xs font-medium",q?"text-emerald-600 dark:text-emerald-400":"text-muted-foreground"),children:s(q?"modelManagement.claudeValidation.statusEnabled":"modelManagement.claudeValidation.statusDisabled")})]})]})}),Lt(t),r&&e.jsx("p",{className:"text-sm text-destructive",children:r}),n.length===0?e.jsxs("div",{className:"rounded-lg border border-dashed p-12 text-center text-sm text-muted-foreground",children:[e.jsx("p",{className:"font-medium",children:s("settings.routing.empty")}),e.jsx("p",{className:"mt-2 text-xs",children:s("settings.routing.emptySub",{default:"点击上方按钮添加路由规则"})})]}):e.jsx("div",{className:"space-y-3",children:n.map((D,de)=>e.jsxs("div",{className:"rounded-lg border bg-card p-4",children:[e.jsxs("div",{className:"flex items-center gap-3 mb-3",children:[e.jsx(he,{variant:"secondary",children:de+1}),e.jsx("span",{className:"text-sm font-medium",children:"路由规则"})]}),e.jsxs("div",{className:"grid gap-4 md:grid-cols-[minmax(0,1fr)_minmax(0,1fr)_auto]",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(Z,{children:s("settings.routing.source")}),e.jsx(pe,{value:D.source,onChange:re=>Ce(t,D.id,"source",re.target.value),placeholder:"claude-3.5-sonnet",list:U,disabled:x})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(Z,{children:s("settings.routing.target")}),(()=>{const re=D.target.trim(),tt=Je.some(Q=>Q.value===re)?re:"__custom";return e.jsxs(e.Fragment,{children:[e.jsxs(mt,{value:tt,onValueChange:Q=>{Q==="__custom"?Ce(t,D.id,"target",re):Ce(t,D.id,"target",Q)},disabled:x,children:[e.jsx(ht,{children:e.jsx(pt,{})}),e.jsxs(xt,{children:[e.jsx(De,{value:"__custom",children:s("settings.routing.customTargetOption")}),Je.map(Q=>e.jsx(De,{value:Q.value,children:Q.label},Q.value))]})]}),tt==="__custom"&&e.jsx(pe,{value:D.target,onChange:Q=>Ce(t,D.id,"target",Q.target.value),placeholder:"providerId:modelId",disabled:x})]})})()]}),e.jsx("div",{className:"flex items-end",children:e.jsx(P,{variant:"destructive",size:"sm",onClick:()=>Tt(t,D.id),disabled:x,children:s("settings.routing.remove")})})]})]},D.id))}),e.jsxs("div",{className:"rounded-lg border bg-muted/50 p-4 space-y-3",children:[e.jsx(Z,{children:s("settings.routing.suggested")}),e.jsx("div",{className:"flex flex-wrap gap-2",children:d.map(D=>e.jsx(P,{variant:"outline",size:"sm",onClick:()=>Ot(t,D),disabled:x,children:D},`${t}-${D}`))})]}),e.jsx("datalist",{id:U,children:d.map(D=>e.jsx("option",{value:D},`${U}-${D}`))})]})})};return e.jsxs("div",{className:"flex flex-col gap-6",children:[e.jsx(Qt,{icon:e.jsx(_t,{className:"h-5 w-5","aria-hidden":"true"}),title:s("modelManagement.title"),description:s("modelManagement.description"),actions:e.jsxs(P,{onClick:()=>{ke(void 0),ye(!0)},children:[e.jsx(Ve,{className:"mr-2 h-4 w-4"}),s("modelManagement.addEndpoint")]})}),e.jsx("div",{className:"flex flex-wrap gap-3",children:o.map(t=>{const n=h===t.key;return e.jsxs("div",{className:"relative",children:[e.jsxs("button",{type:"button",onClick:()=>N(t.key),className:Le("flex min-w-[200px] flex-col gap-1 rounded-lg border px-4 py-3 text-left transition-all",n?"border-primary bg-primary/5 text-primary":"border-border bg-card hover:bg-accent"),children:[e.jsx("span",{className:"font-medium",children:t.label}),e.jsx("span",{className:"text-xs text-muted-foreground",children:t.description})]}),t.canDelete&&e.jsx("button",{onClick:r=>{r.stopPropagation(),Et(t.key)},className:"absolute -top-2 -right-2 flex h-5 w-5 items-center justify-center rounded-full bg-destructive text-destructive-foreground text-xs hover:bg-destructive/90",title:s("common.delete"),children:e.jsx(Be,{className:"h-3 w-3"})})]},t.key)})}),h==="providers"?It():Kt(h),e.jsx(rs,{open:F,mode:z,provider:z==="edit"?k:void 0,existingProviderIds:_.map(t=>t.id).filter(t=>z==="edit"&&k?t!==k.id:!0),onClose:()=>{T(!1),M(void 0),B("create")},onSubmit:Mt}),e.jsx(us,{open:je,endpoint:xe,onClose:()=>{ye(!1),ke(void 0)},onSuccess:()=>{c.invalidateQueries({queryKey:["custom-endpoints"]})}}),e.jsx(ds,{open:Me,provider:Ue,options:be,preservedExtras:Ge,usePreset:Ee,onPresetChange:Ae,onConfirm:St,onClose:et})]})}function ds({open:s,provider:a,options:c,usePreset:m,preservedExtras:g,onPresetChange:y,onConfirm:o,onClose:h}){const{t:N}=Pe();return a?e.jsx(Gt,{open:s,onOpenChange:p=>!p&&h(),children:e.jsxs(Xt,{children:[e.jsxs(Yt,{children:[e.jsx(Jt,{children:N("providers.testDialog.title")}),e.jsx(Wt,{children:N("providers.testDialog.subtitle",{name:a.label||a.id})})]}),e.jsx("p",{className:"text-sm text-muted-foreground",children:N("providers.testDialog.description")}),e.jsxs("div",{className:"flex items-start gap-3 rounded-lg border p-4",children:[e.jsx("input",{type:"checkbox",className:"mt-1 h-4 w-4 rounded border",checked:m,onChange:p=>y(p.target.checked)}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(Z,{children:N("providers.testDialog.presetLabel")}),e.jsx("p",{className:"text-xs text-muted-foreground",children:N("providers.testDialog.presetDescription")}),e.jsxs("details",{className:"rounded-md bg-muted p-2 text-xs",children:[e.jsx("summary",{className:"cursor-pointer text-primary hover:underline",children:N("providers.testDialog.presetPreviewSummary")}),e.jsx("div",{className:"mt-2 space-y-1",children:c.map(p=>e.jsxs("code",{className:"block rounded bg-background px-2 py-1 text-xs",children:[p.key,": ",p.value]},p.key))})]})]})]}),Object.keys(g).length>0&&e.jsxs("div",{className:"rounded-lg border bg-muted p-4 text-xs space-y-2",children:[e.jsx("p",{className:"font-medium",children:N("providers.testDialog.preservedInfo")}),Object.entries(g).map(([p,R])=>e.jsxs("code",{className:"block rounded bg-background px-2 py-1",children:[p,": ",R]},p))]}),e.jsxs(Zt,{children:[e.jsx(P,{variant:"outline",onClick:h,children:N("providers.testDialog.cancel")}),e.jsx(P,{onClick:()=>void o(),children:N("providers.testDialog.primary")})]})]})}):null}function nt(s){return s.label&&s.label.trim().length>0?`${s.label} (${s.id})`:s.id}function cs({type:s}){const a={openai:{label:"OpenAI",variant:"success"},deepseek:{label:"DeepSeek",variant:"info"},huawei:{label:"华为云",variant:"warning"},kimi:{label:"Kimi",variant:"purple"},anthropic:{label:"Anthropic",variant:"pink"},custom:{label:"Custom",variant:"secondary"}},{label:c,variant:m}=a[s]||a.custom;return e.jsx(he,{variant:m,className:"text-xs",children:c})}function us({open:s,endpoint:a,onClose:c,onSuccess:m}){const{t:g}=Pe(),{pushToast:y}=ct(),[o,h]=f.useState({id:"",label:"",paths:[{path:"",protocol:"openai-auto"}],enabled:!0});f.useEffect(()=>{if(a){let k;a.paths&&a.paths.length>0?k=a.paths:a.path&&a.protocol?k=[{path:a.path,protocol:a.protocol}]:k=[{path:"",protocol:"openai-auto"}],h({id:a.id,label:a.label,paths:k,enabled:a.enabled!==!1})}else h({id:"",label:"",paths:[{path:"",protocol:"openai-auto"}],enabled:!0})},[a,s]);const N=rt({mutationFn:ve.create,onSuccess:()=>{y({title:g("modelManagement.createEndpointSuccess"),variant:"success"}),m(),c()},onError:k=>{const M=Re(k);y({title:g("modelManagement.createEndpointError",{error:M.message}),variant:"error"})}}),p=rt({mutationFn:k=>ve.update(k.id,k.updates),onSuccess:()=>{y({title:g("modelManagement.updateEndpointSuccess"),variant:"success"}),m(),c()},onError:k=>{const M=Re(k);y({title:g("modelManagement.updateEndpointError",{error:M.message}),variant:"error"})}}),R=()=>{h({...o,paths:[...o.paths,{path:"",protocol:"anthropic"}]})},F=k=>{if(o.paths.length===1){y({title:g("modelManagement.atLeastOnePath"),variant:"error"});return}const M=o.paths.filter((O,A)=>A!==k);h({...o,paths:M})},T=(k,M,O)=>{const A=[...o.paths];A[k]={...A[k],[M]:O},h({...o,paths:A})},z=k=>{if(k.preventDefault(),!o.id.trim()||!o.label.trim()){y({title:g("modelManagement.endpointValidationError"),variant:"error"});return}for(const O of o.paths)if(!O.path.trim()){y({title:g("modelManagement.pathValidationError"),variant:"error"});return}const M=o.paths.map(O=>({path:O.path.trim(),protocol:O.protocol}));a?p.mutate({id:a.id,updates:{label:o.label.trim(),paths:M,enabled:o.enabled}}):N.mutate({id:o.id.trim(),label:o.label.trim(),paths:M,enabled:o.enabled})},B=N.isPending||p.isPending;return s?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"fixed inset-0 bg-background/80 backdrop-blur-sm z-40",onClick:c}),e.jsx("div",{className:"fixed inset-y-0 right-0 w-full max-w-md bg-card border-l shadow-xl z-50 overflow-y-auto",children:e.jsxs("div",{className:"flex flex-col h-full",children:[e.jsxs("div",{className:"flex items-center justify-between p-6 border-b",children:[e.jsx("h2",{className:"text-lg font-semibold",children:g(a?"modelManagement.editEndpoint":"modelManagement.createEndpoint")}),e.jsx(P,{variant:"ghost",size:"sm",onClick:c,children:e.jsx(Be,{className:"h-4 w-4"})})]}),e.jsxs("form",{onSubmit:z,className:"flex-1 p-6 space-y-6",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsxs(Z,{children:[g("modelManagement.endpointId")," ",e.jsx("span",{className:"text-destructive",children:"*"})]}),e.jsx(pe,{value:o.id,onChange:k=>h({...o,id:k.target.value}),placeholder:g("modelManagement.endpointIdPlaceholder"),disabled:!!a,required:!0}),e.jsx("p",{className:"text-xs text-muted-foreground",children:g("modelManagement.endpointIdHint")})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs(Z,{children:[g("modelManagement.endpointLabel")," ",e.jsx("span",{className:"text-destructive",children:"*"})]}),e.jsx(pe,{value:o.label,onChange:k=>h({...o,label:k.target.value}),placeholder:g("modelManagement.endpointLabelPlaceholder"),required:!0})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs(Z,{children:[g("modelManagement.endpointPaths")," ",e.jsx("span",{className:"text-destructive",children:"*"})]}),e.jsxs(P,{type:"button",variant:"ghost",size:"sm",onClick:R,children:[e.jsx(Ve,{className:"mr-1 h-3 w-3"}),g("modelManagement.addPath")]})]}),e.jsx("div",{className:"space-y-3",children:o.paths.map((k,M)=>e.jsxs("div",{className:"rounded-lg border p-3 space-y-2",children:[e.jsxs("div",{className:"flex items-start justify-between gap-2",children:[e.jsxs("div",{className:"flex-1 space-y-2",children:[e.jsx(pe,{value:k.path,onChange:O=>T(M,"path",O.target.value),placeholder:g("modelManagement.endpointPathPlaceholder"),required:!0}),e.jsxs(mt,{value:k.protocol,onValueChange:O=>T(M,"protocol",O),children:[e.jsx(ht,{children:e.jsx(pt,{})}),e.jsxs(xt,{children:[e.jsx(De,{value:"anthropic",children:g("modelManagement.protocolAnthropic")}),e.jsx(De,{value:"openai-auto",children:g("modelManagement.protocolOpenAI")})]})]})]}),o.paths.length>1&&e.jsx(P,{type:"button",variant:"ghost",size:"sm",onClick:()=>F(M),className:"text-destructive",children:e.jsx(Be,{className:"h-4 w-4"})})]}),M===0&&e.jsx("p",{className:"text-xs text-muted-foreground",children:g("modelManagement.endpointPathHint")})]},M))})]}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(ut,{id:"enabled",checked:o.enabled,onCheckedChange:k=>h({...o,enabled:k})}),e.jsx(Z,{htmlFor:"enabled",children:g("modelManagement.endpointEnabled")})]}),!a&&e.jsx("div",{className:"rounded-lg border border-blue-200 bg-blue-50 p-4 dark:border-blue-800 dark:bg-blue-950",children:e.jsx("p",{className:"text-sm text-blue-800 dark:text-blue-200",children:g("modelManagement.endpointRoutingHint")})})]}),e.jsxs("div",{className:"flex gap-3 p-6 border-t",children:[e.jsx(P,{variant:"outline",className:"flex-1",onClick:c,disabled:B,children:g("common.cancel")}),e.jsx(P,{className:"flex-1",onClick:z,disabled:B,children:g(B?"common.saving":a?"common.save":"common.create")})]})]})})]}):null}export{ws as default};
|
|
1
|
+
var st=s=>{throw TypeError(s)};var Ie=(s,a,c)=>a.has(s)||st("Cannot "+c);var E=(s,a,c)=>(Ie(s,a,"read from private field"),c?c.call(s):a.get(s)),ce=(s,a,c)=>a.has(s)?st("Cannot add the same private member more than once"):a instanceof WeakSet?a.add(s):a.set(s,c),ue=(s,a,c,m)=>(Ie(s,a,"write to private field"),m?m.call(s,c):a.set(s,c),c),me=(s,a,c)=>(Ie(s,a,"access private method"),c);import{S as $t,s as Ft,i as at,k as zt,n as it,l as dt,r as f,m as Bt,o as Vt,u as Pe,j as e,b as ct,e as P,p as _t,a as Le,X as Be,d as X,q as ve,t as Re}from"./index-D-F4C6n_.js";import{u as qt,a as Ht}from"./useApiQuery-CkT-JtpV.js";import{P as Qt,B as he}from"./PageHeader-BatC8G-O.js";import{I as pe}from"./input-x0jTfvyD.js";import{L as Z}from"./label-t5tthgxG.js";import{C as Ke,a as $e}from"./card-DQb2ediN.js";import{S as ut}from"./switch-BrV6LX33.js";import{S as mt,a as ht,b as pt,c as xt,d as De}from"./select-fri8gRof.js";import{P as Ve,D as Gt,a as Xt,b as Yt,c as Jt,d as Wt,e as Zt}from"./dialog-B9ZBo_5P.js";import{R as es}from"./refresh-cw-DHAoO4El.js";var J,le,K,W,ee,Se,_e,ot,ts=(ot=class extends $t{constructor(a,c){super();ce(this,ee);ce(this,J);ce(this,le);ce(this,K);ce(this,W);ue(this,J,a),this.setOptions(c),this.bindMethods(),me(this,ee,Se).call(this)}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(a){var m;const c=this.options;this.options=E(this,J).defaultMutationOptions(a),Ft(this.options,c)||E(this,J).getMutationCache().notify({type:"observerOptionsUpdated",mutation:E(this,K),observer:this}),c!=null&&c.mutationKey&&this.options.mutationKey&&at(c.mutationKey)!==at(this.options.mutationKey)?this.reset():((m=E(this,K))==null?void 0:m.state.status)==="pending"&&E(this,K).setOptions(this.options)}onUnsubscribe(){var a;this.hasListeners()||(a=E(this,K))==null||a.removeObserver(this)}onMutationUpdate(a){me(this,ee,Se).call(this),me(this,ee,_e).call(this,a)}getCurrentResult(){return E(this,le)}reset(){var a;(a=E(this,K))==null||a.removeObserver(this),ue(this,K,void 0),me(this,ee,Se).call(this),me(this,ee,_e).call(this)}mutate(a,c){var m;return ue(this,W,c),(m=E(this,K))==null||m.removeObserver(this),ue(this,K,E(this,J).getMutationCache().build(E(this,J),this.options)),E(this,K).addObserver(this),E(this,K).execute(a)}},J=new WeakMap,le=new WeakMap,K=new WeakMap,W=new WeakMap,ee=new WeakSet,Se=function(){var c;const a=((c=E(this,K))==null?void 0:c.state)??zt();ue(this,le,{...a,isPending:a.status==="pending",isSuccess:a.status==="success",isError:a.status==="error",isIdle:a.status==="idle",mutate:this.mutate,reset:this.reset})},_e=function(a){it.batch(()=>{var c,m,g,y,o,h,N,p;if(E(this,W)&&this.hasListeners()){const R=E(this,le).variables,F=E(this,le).context,T={client:E(this,J),meta:this.options.meta,mutationKey:this.options.mutationKey};(a==null?void 0:a.type)==="success"?((m=(c=E(this,W)).onSuccess)==null||m.call(c,a.data,R,F,T),(y=(g=E(this,W)).onSettled)==null||y.call(g,a.data,null,R,F,T)):(a==null?void 0:a.type)==="error"&&((h=(o=E(this,W)).onError)==null||h.call(o,a.error,R,F,T),(p=(N=E(this,W)).onSettled)==null||p.call(N,void 0,a.error,R,F,T))}this.listeners.forEach(R=>{R(E(this,le))})})},ot);function rt(s,a){const c=dt(),[m]=f.useState(()=>new ts(c,s));f.useEffect(()=>{m.setOptions(s)},[m,s]);const g=f.useSyncExternalStore(f.useCallback(o=>m.subscribe(it.batchCalls(o)),[m]),()=>m.getCurrentResult(),()=>m.getCurrentResult()),y=f.useCallback((o,h)=>{m.mutate(o,h).catch(Bt)},[m]);if(g.error&&Vt(m.options.throwOnError,[g.error]))throw g.error;return{...g,mutate:y,mutateAsync:g.mutate}}function He(){return typeof globalThis.crypto<"u"&&typeof globalThis.crypto.randomUUID=="function"?globalThis.crypto.randomUUID():Math.random().toString(36).slice(2,10)}function ss(){return{_key:He(),id:"",label:""}}const Fe={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"},custom:{}};function lt(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(a=>({...a,_key:He()})),authMode:s.authMode??"apiKey"}:{id:"",label:"",baseUrl:"",apiKey:"",type:"custom",defaultModel:"",models:[],authMode:"apiKey"}}function as(s){return{_key:He(),id:s.id,label:s.label}}function rs({open:s,mode:a,provider:c,existingProviderIds:m,onClose:g,onSubmit:y}){const{t:o}=Pe(),[h,N]=f.useState(()=>lt(c)),[p,R]=f.useState({}),[F,T]=f.useState(!1),[z,B]=f.useState(null),k=f.useRef(null),M=f.useRef(null),O=f.useRef(null),[A,je]=f.useState(a==="edit");f.useEffect(()=>{s&&(N(lt(c)),R({}),B(null),T(!1),je(a==="edit"))},[s,c,a]),f.useEffect(()=>{if(!s)return;const u=b=>{b.key==="Escape"&&g()};return window.addEventListener("keydown",u),()=>window.removeEventListener("keydown",u)},[s,g]),f.useEffect(()=>{if(s){if(a==="create"&&O.current){O.current.focus();return}M.current&&M.current.focus()}},[s,a]);const ye=f.useMemo(()=>h.models.filter(u=>u.id.trim().length>0),[h.models]),xe=u=>b=>{N(w=>({...w,[u]:b}))},ke=u=>{N(b=>{const v=!A||b.label.trim().length===0||b.label===b.id?u:b.label;return{...b,id:u,label:v}})},ne=u=>{N(b=>{var Me;const v=Fe[u??"custom"]??Fe.custom,C=Object.values(Fe).map(te=>te.baseUrl).filter(te=>!!te),H=!b.baseUrl||C.includes(b.baseUrl),L=a==="create"&&(b.models.length===0||b.models.every(te=>te.id.trim().length===0)),G={...b,type:u,authMode:b.authMode??"apiKey"};return v!=null&&v.baseUrl&&H&&(G.baseUrl=v.baseUrl),v!=null&&v.models&&L&&(G.models=v.models.map(as),G.defaultModel=v.defaultModel??((Me=v.models[0])==null?void 0:Me.id)??""),G})},I=(u,b)=>{N(w=>{const v=[...w.models];return v[u]={...v[u],...b},{...w,models:v}})},Oe=(u,b)=>{N(w=>{const v=[...w.models],C=v[u];if(!C)return w;const H=!A||!C.label||C.label===C.id,L={...C,id:b,label:H?b:C.label};v[u]=L;const G=w.defaultModel===C.id?b:w.defaultModel;return{...w,models:v,defaultModel:G}})},V=u=>{N(b=>{if(u<0||u>=b.models.length)return b;const w=b.models.filter((C,H)=>H!==u);let v=b.defaultModel;return w.some(C=>C.id===v)||(v=""),{...b,models:w,defaultModel:v}})},Te=()=>{N(u=>({...u,models:[...u.models,ss()]}))},oe=u=>{N(b=>({...b,authMode:u}))},Ne=()=>{const u={},b=h.id.trim(),w=h.baseUrl.trim();if(a==="create"&&(b.length===0?u.id=o("providers.drawer.errors.idRequired"):m.includes(b)&&(u.id=o("providers.drawer.errors.idDuplicate"))),a==="edit"&&b.length===0&&(u.id=o("providers.drawer.errors.idRequired")),w.length===0)u.baseUrl=o("providers.drawer.errors.baseUrlInvalid");else try{new URL(w)}catch{u.baseUrl=o("providers.drawer.errors.baseUrlInvalid")}if(h.models.length>0){const v=new Set;h.models.some(H=>{const L=H.id.trim();return L.length===0||v.has(L)?!0:(v.add(L),!1)})&&(u.models=o("providers.drawer.errors.modelInvalid"))}return h.defaultModel&&!h.models.some(v=>v.id===h.defaultModel)&&(u.models=o("providers.drawer.errors.defaultInvalid")),R(u),Object.keys(u).length===0},ge=()=>{const u=h.models.map(v=>{var C;return{id:v.id.trim(),label:(C=v.label)!=null&&C.trim()?v.label.trim():void 0}}).filter(v=>v.id.length>0),b=c!=null&&c.extraHeaders&&Object.keys(c.extraHeaders).length>0?c.extraHeaders:void 0,w=h.authMode!=="apiKey"?h.authMode:void 0;return{id:h.id.trim(),label:h.label.trim()||h.id.trim(),baseUrl:h.baseUrl.trim(),apiKey:h.apiKey.trim()||void 0,type:h.type??"custom",defaultModel:h.defaultModel||void 0,models:u.length>0?u:void 0,extraHeaders:b,authMode:w}},we=async()=>{if(B(null),!!Ne()){T(!0);try{const u=ge();await y(u)}catch(u){B(o("providers.drawer.toast.saveFailure",{message:u instanceof Error?u.message:"unknown"})),T(!1);return}T(!1),g()}},fe=a==="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:g,"aria-hidden":"true"}),e.jsxs("aside",{ref:k,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:o(fe?"providers.drawer.createTitle":"providers.drawer.editTitle")}),e.jsx("p",{id:"provider-drawer-desc",className:"text-xs text-slate-500 dark:text-slate-400",children:o("providers.drawer.description")})]}),e.jsx("button",{type:"button",ref:M,onClick:g,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:o("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:o("providers.drawer.description")}),e.jsx("div",{className:"flex items-center justify-end",children:e.jsx("button",{type:"button",onClick:()=>je(u=>!u),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:o(A?"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:o("providers.drawer.fields.id")}),e.jsx("input",{value:h.id,ref:O,onChange:u=>ke(u.target.value),disabled:!fe,placeholder:o("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":!!p.id}),p.id?e.jsx("span",{className:"text-xs text-red-500",children:p.id}):null]}),A?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:o("providers.drawer.fields.label")}),e.jsx("input",{value:h.label,onChange:u=>xe("label")(u.target.value),placeholder:o("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:o("providers.drawer.fields.baseUrl")}),e.jsx("input",{value:h.baseUrl,onChange:u=>xe("baseUrl")(u.target.value),placeholder:o("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":!!p.baseUrl}),p.baseUrl?e.jsx("span",{className:"text-xs text-red-500",children:p.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:o("providers.drawer.fields.type")}),e.jsxs("select",{value:h.type??"custom",onChange:u=>ne(u.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:o("providers.drawer.fields.apiKey")}),e.jsx("input",{value:h.apiKey,onChange:u=>xe("apiKey")(u.target.value),placeholder:o("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("fieldset",{className:"grid gap-2 rounded-lg border border-slate-200 p-3 text-xs dark:border-slate-700",children:[e.jsx("legend",{className:"px-1 text-slate-500 dark:text-slate-400",children:o("providers.drawer.fields.authMode")}),e.jsx("p",{className:"text-[11px] text-slate-500 dark:text-slate-400",children:o("providers.drawer.fields.authModeHint")}),e.jsxs("label",{className:"flex cursor-pointer items-center gap-2 rounded-md px-2 py-1 transition hover:bg-slate-100 dark:hover:bg-slate-800",children:[e.jsx("input",{type:"radio",name:"provider-auth-mode",value:"apiKey",checked:h.authMode==="apiKey",onChange:()=>oe("apiKey")}),e.jsx("span",{children:o("providers.drawer.fields.authModeApiKey")})]}),e.jsxs("label",{className:"flex cursor-pointer items-center gap-2 rounded-md px-2 py-1 transition hover:bg-slate-100 dark:hover:bg-slate-800",children:[e.jsx("input",{type:"radio",name:"provider-auth-mode",value:"authToken",checked:h.authMode==="authToken",onChange:()=>oe("authToken")}),e.jsx("span",{children:o("providers.drawer.fields.authModeAuthToken")})]}),e.jsxs("label",{className:"flex cursor-pointer items-center gap-2 rounded-md px-2 py-1 transition hover:bg-slate-100 dark:hover:bg-slate-800",children:[e.jsx("input",{type:"radio",name:"provider-auth-mode",value:"xAuthToken",checked:h.authMode==="xAuthToken",onChange:()=>oe("xAuthToken")}),e.jsx("span",{children:o("providers.drawer.fields.authModeXAuthToken")})]})]})]}),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:o("providers.drawer.fields.models")}),e.jsx("p",{className:"text-xs text-slate-500 dark:text-slate-400",children:o("providers.drawer.modelsDescription")})]}),e.jsx("button",{type:"button",onClick:Te,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:o("providers.drawer.fields.addModel")})]}),p.models?e.jsx("p",{className:"text-xs text-red-500",children:p.models}):null,e.jsxs("div",{className:"space-y-4",children:[h.models.map((u,b)=>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:o("providers.drawer.fields.modelId")}),e.jsx("input",{value:u.id,onChange:w=>Oe(b,w.target.value),placeholder:o("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"})]}),A?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:o("providers.drawer.fields.modelLabel")}),e.jsx("input",{value:u.label??"",onChange:w=>I(b,{label:w.target.value}),placeholder:o("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:u.id,checked:h.defaultModel===u.id,onChange:()=>N(w=>({...w,defaultModel:u.id})),disabled:u.id.trim().length===0}),o("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:()=>V(b),disabled:h.models.length===0,children:o("providers.drawer.fields.removeModel")})]})]},u._key)),h.models.length===0?e.jsx("div",{className:"rounded-xl border-2 border-amber-300 bg-gradient-to-br from-amber-50 to-yellow-50 p-5 shadow-md dark:border-amber-600/60 dark:from-amber-900/20 dark:to-yellow-900/20",children:e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx("div",{className:"flex-shrink-0 text-2xl",children:"💡"}),e.jsxs("div",{className:"flex-1 space-y-2",children:[e.jsx("p",{className:"text-sm font-semibold text-amber-900 dark:text-amber-200",children:o("providers.drawer.noModelsTitle")}),e.jsx("p",{className:"text-xs leading-relaxed text-amber-800 dark:text-amber-300",children:o("providers.drawer.noModelsHint",{providerId:h.id||"provider-id"})}),e.jsxs("div",{className:"rounded-md bg-amber-100/80 p-2.5 dark:bg-amber-800/40",children:[e.jsx("p",{className:"mb-1.5 text-xs font-medium text-amber-900 dark:text-amber-200",children:o("providers.drawer.routeExample")}),e.jsxs("code",{className:"block rounded bg-white px-2.5 py-1.5 font-mono text-xs text-amber-900 shadow-sm dark:bg-slate-900 dark:text-amber-100",children:['"claude-*": "',(h.id||"provider-id").trim()||"provider-id",':*"']})]})]})]})}):null]}),ye.length>1?e.jsx("div",{className:"text-xs text-slate-500 dark:text-slate-400",children:o("providers.drawer.defaultHint",{model:h.defaultModel||o("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:z?e.jsx("span",{children:z}):null}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx("button",{type:"button",onClick:g,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:F,children:o("common.actions.cancel")}),e.jsx("button",{type:"button",onClick:we,className:"rounded-md bg-blue-600 px-4 py-2 text-white transition hover:bg-blue-700 disabled:opacity-60",disabled:F,children:o(F?"common.actions.saving":"common.actions.save")})]})]})]})]}):null}const ls=["claude-sonnet-4-5-20250929","claude-sonnet-4-5-20250929-thinking","claude-sonnet-4-20250514","claude-opus-4-1-20250805","claude-opus-4-1-20250805-thinking","claude-haiku-4-5-20251001","claude-haiku-4-5-20251001-thinking","claude-3-5-haiku-20241022"],ns=["gpt-4o-mini","gpt-4o","o4-mini","o4-large","gpt-5-codex"];function qe(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():Math.random().toString(36).slice(2,10)}function Y(s){return s?Object.entries(s).map(([a,c])=>({id:qe(),source:a,target:c})):[]}function ze(s,a){var g,y,o;if(!s)return{};const c={},m=s.endpointRouting??{};c.anthropic=Y(((g=m.anthropic)==null?void 0:g.modelRoutes)??s.modelRoutes??{}),c.openai=Y(((y=m.openai)==null?void 0:y.modelRoutes)??{});for(const h of a)(o=h.routing)!=null&&o.modelRoutes?c[h.id]=Y(h.routing.modelRoutes):c[h.id]=[];return c}function os(s,a){if(s==="anthropic")return!0;const c=a.find(m=>m.id===s);return c?c.paths&&c.paths.length>0?c.paths.some(m=>m.protocol==="anthropic"):c.protocol==="anthropic":!1}function is(s,a,c){var g,y,o;if(!a)return;if(s==="anthropic"||s==="openai")return(y=(g=a.endpointRouting)==null?void 0:g[s])==null?void 0:y.validation;const m=c.find(h=>h.id===s);return(o=m==null?void 0:m.routing)==null?void 0:o.validation}function ws(){const{t:s}=Pe(),{pushToast:a}=ct(),c=dt(),m=qt(["config","full"],{url:"/api/config",method:"GET"}),{data:g}=Ht({queryKey:["custom-endpoints"],queryFn:ve.list,refetchInterval:1e4}),y=(g==null?void 0:g.endpoints)??[],o=f.useMemo(()=>{const t=[{key:"providers",label:s("modelManagement.tabs.providers"),description:s("modelManagement.tabs.providersDesc"),isSystem:!0,canDelete:!1},{key:"anthropic",label:s("modelManagement.tabs.anthropic"),description:s("modelManagement.tabs.anthropicDesc"),isSystem:!0,canDelete:!1,protocols:["anthropic"]},{key:"openai",label:s("modelManagement.tabs.openai"),description:s("modelManagement.tabs.openaiDesc"),isSystem:!0,canDelete:!1,protocols:["openai-auto","openai-chat","openai-responses"]}],n=y.map(r=>{let l,i=[];if(r.paths&&r.paths.length>0){const d=r.paths.map(x=>`${x.path} (${x.protocol})`).join(", ");l=`${s("modelManagement.tabs.customEndpoint")}: ${d}`,i=[...new Set(r.paths.map(x=>x.protocol))]}else if(r.path){const d=r.protocol||"anthropic";l=`${s("modelManagement.tabs.customEndpoint")}: ${r.path} (${d})`,i=[d]}else l=s("modelManagement.tabs.customEndpoint");return{key:r.id,label:r.label,description:l,isSystem:!1,canDelete:r.deletable!==!1,protocols:i}});return[...t,...n]},[s,y]),[h,N]=f.useState("providers"),[p,R]=f.useState(null),[F,T]=f.useState(!1),[z,B]=f.useState("create"),[k,M]=f.useState(void 0),[O,A]=f.useState(null),[je,ye]=f.useState(!1),[xe,ke]=f.useState(void 0),[ne,I]=f.useState({}),[Oe,V]=f.useState({}),[Te,oe]=f.useState(null),[Ne,ge]=f.useState({}),[we,fe]=f.useState({}),[u,b]=f.useState({}),[w,v]=f.useState(null),[C,H]=f.useState(null),[L,G]=f.useState(null),[Me,te]=f.useState(!1),[Ue,Qe]=f.useState(null),[Ee,Ae]=f.useState(!0),[Ge,Xe]=f.useState({}),[gt,Ye]=f.useState(!1),_=(p==null?void 0:p.providers)??[],ft=_.length,be=f.useMemo(()=>[{key:"anthropic-beta",value:"claude-code-20250219,interleaved-thinking-2025-05-14,fine-grained-tool-streaming-2025-05-14",label:s("providers.testDialog.options.beta.label"),description:s("providers.testDialog.options.beta.description")}],[s]);f.useEffect(()=>{var t,n;if(m.data){const r=m.data;R(r),I(ze(r,y)),V({});const l={anthropic:((t=r.routingPresets)==null?void 0:t.anthropic)??[],openai:((n=r.routingPresets)==null?void 0:n.openai)??[]};for(const i of y)l[i.id]=i.routingPresets??[];ge(l)}},[m.data,y]),f.useEffect(()=>{m.isError&&m.error&&a({title:s("providers.toast.loadFailure",{message:m.error.message}),variant:"error"})},[m.isError,m.error,a,s]);const bt=f.useMemo(()=>{const t=new Map;for(const n of _){if(!n.defaultModel||!n.models)continue;const r=n.models.find(l=>l.id===n.defaultModel);r&&t.set(n.id,nt(r))}return t},[_]),Je=f.useMemo(()=>{const t=[],n=new Set;for(const l of _){const i=l.label||l.id,d=l.models??[];if(d.length>0)for(const j of d){const S=`${l.id}:${j.id}`;n.has(S)||(n.add(S),t.push({value:S,label:`${i} · ${j.label??j.id}`}))}else if(l.defaultModel){const j=`${l.id}:${l.defaultModel}`;n.has(j)||(n.add(j),t.push({value:j,label:`${i} · ${l.defaultModel}`}))}const x=`${l.id}:*`;n.has(x)||(n.add(x),t.push({value:x,label:s("settings.routing.providerPassthroughOption",{provider:i})}))}const r=[...ne.anthropic||[],...ne.openai||[]];for(const l of r){const i=l.target.trim();i&&!n.has(i)&&(n.add(i),t.push({value:i,label:i}))}return t},[_,ne,s]),We=(t,n)=>{ge(r=>({...r,[t]:n})),R(r=>{if(!r)return r;if(t==="anthropic"||t==="openai")return{...r,routingPresets:{...r.routingPresets,[t]:n}};const l=r.customEndpoints??[],i=l.findIndex(x=>x.id===t);if(i===-1)return r;const d=[...l];return d[i]={...d[i],routingPresets:n},{...r,customEndpoints:d}})},se=()=>p?!0:(a({title:s("settings.toast.missingConfig"),variant:"error"}),m.refetch(),!1),vt=(t,n)=>{fe(r=>({...r,[t]:n})),n.trim()&&b(r=>({...r,[t]:null}))},jt=async t=>{if(!se())return;const n=we[t].trim();if(!n){b(r=>({...r,[t]:s("modelManagement.validation.presetName")}));return}if(Ne[t].some(r=>r.name.toLowerCase()===n.toLowerCase())){b(r=>({...r,[t]:s("modelManagement.validation.presetDuplicate",{name:n})}));return}v(t);try{const l=(await X.post(`/api/routing-presets/${t}`,{name:n})).data.presets??[];We(t,l),fe(i=>({...i,[t]:""})),b(i=>({...i,[t]:null})),a({title:s("modelManagement.toast.presetSaved",{name:n}),variant:"success"})}catch(r){a({title:s("modelManagement.toast.presetSaveFailure",{message:r instanceof Error?r.message:"unknown"}),variant:"error"})}finally{v(null),m.refetch()}},yt=async(t,n)=>{var r,l,i;if(se()){H({endpoint:t,name:n.name});try{const x=(await X.post(`/api/routing-presets/${t}/apply`,{name:n.name})).data.config;if(x){R(x),I(ze(x,y));const j={anthropic:((r=x.routingPresets)==null?void 0:r.anthropic)??[],openai:((l=x.routingPresets)==null?void 0:l.openai)??[]};for(const S of y){const U=(i=x.customEndpoints)==null?void 0:i.find($=>$.id===S.id);j[S.id]=(U==null?void 0:U.routingPresets)??[]}ge(j)}else I(j=>({...j,[t]:Y(n.modelRoutes)}));a({title:s("modelManagement.toast.presetApplySuccess",{name:n.name}),variant:"success"})}catch(d){a({title:s("modelManagement.toast.presetApplyFailure",{message:d instanceof Error?d.message:"unknown"}),variant:"error"})}finally{H(null),m.refetch()}}},kt=async(t,n)=>{if(!(!se()||!window.confirm(s("modelManagement.confirm.deletePreset",{name:n.name})))){G({endpoint:t,name:n.name});try{const i=(await X.delete(`/api/routing-presets/${t}/${encodeURIComponent(n.name)}`)).data.presets??[];We(t,i),a({title:s("modelManagement.toast.presetDeleteSuccess",{name:n.name}),variant:"success"})}catch(l){a({title:s("modelManagement.toast.presetDeleteFailure",{message:l instanceof Error?l.message:"unknown"}),variant:"error"})}finally{G(null),m.refetch()}}},Nt=()=>{se()&&(B("create"),M(void 0),T(!0))},wt=t=>{se()&&(B("edit"),M(t),T(!0))},Mt=async t=>{if(!p)throw new Error(s("settings.toast.missingConfig"));const n=z==="create"?[..._,t]:_.map(i=>k&&i.id===k.id?{...t,id:k.id}:i),r={...p,providers:n};await X.put("/api/config",r),R(r),I(ze(r,y)),m.refetch();const l=z==="create"?s("providers.toast.createSuccess",{name:t.label||t.id}):s("providers.toast.updateSuccess",{name:t.label||t.id});a({title:l,variant:"success"})},Et=async t=>{const n=y.find(r=>r.id===t);if(n&&n.deletable!==!1&&confirm(s("modelManagement.deleteEndpointConfirm",{label:n.label})))try{await ve.delete(t),c.invalidateQueries({queryKey:["custom-endpoints"]}),a({title:s("modelManagement.deleteEndpointSuccess"),variant:"success"}),h===t&&N("providers")}catch(r){const l=Re(r);a({title:s("modelManagement.deleteEndpointError",{error:l.message}),variant:"error"})}},Ze=async(t,n)=>{A(t.id);try{const r=n&&(n.headers||n.query)?{headers:n.headers&&Object.keys(n.headers).length>0?n.headers:void 0,query:n.query&&n.query.trim().length>0?n.query.trim():void 0}:void 0,l=await X.post(`/api/providers/${t.id}/test`,r);l.data.ok?a({title:s("providers.toast.testSuccess"),description:s("providers.toast.testSuccessDesc",{status:l.data.status,duration:l.data.durationMs?`${l.data.durationMs} ms`:"—"}),variant:"success"}):a({title:s("providers.toast.testFailure",{message:`${l.data.status} ${l.data.statusText}`}),variant:"error"})}catch(r){a({title:s("providers.toast.testFailure",{message:r instanceof Error?r.message:"unknown"}),variant:"error"})}finally{A(null)}},Ct=t=>{if(t.type==="anthropic"){const n=t.extraHeaders??{},r=new Map(be.map(d=>[d.key.toLowerCase(),d])),l={};let i=!0;for(const d of be){const x=Object.entries(n).find(([j])=>j.toLowerCase()===d.key.toLowerCase());if(x){const[j,S]=x;String(S??"")===d.value||(i=!1,l[j]=String(S??""))}}for(const[d,x]of Object.entries(n))r.has(d.toLowerCase())||(l[d]=String(x??""));Xe(l),Ae(i),Qe(t),te(!0);return}Ze(t)},et=()=>{te(!1),Qe(null),Ae(!0),Xe({})},St=async()=>{if(!Ue)return;const t={};if(Ee)for(const l of be)t[l.key]=l.value;const n=new Map(be.map(l=>[l.key.toLowerCase(),l]));for(const[l,i]of Object.entries(Ge)){const d=l.toLowerCase();n.get(d)&&Ee||(t[l]=i)}const r=Ue;et(),await Ze(r,{headers:Object.keys(t).length>0?t:void 0,query:Ee?"beta=true":void 0})},Rt=async t=>{var S,U,$,ae;if(!se()||!window.confirm(s("providers.confirm.delete",{name:t.label||t.id})))return;const r=_.filter(q=>q.id!==t.id),l=q=>{const ie={};if(!q)return ie;for(const[D,de]of Object.entries(q)){if(!de)continue;const[re]=de.split(":");re&&re===t.id||de===t.id||(ie[D]=de)}return ie},i=(p==null?void 0:p.endpointRouting)??{},d=l(((S=i.anthropic)==null?void 0:S.modelRoutes)??(p==null?void 0:p.modelRoutes)??{}),x=l(((U=i.openai)==null?void 0:U.modelRoutes)??{}),j={...p,providers:r,modelRoutes:d,endpointRouting:{anthropic:{defaults:(($=i.anthropic)==null?void 0:$.defaults)??p.defaults,modelRoutes:d},openai:{defaults:((ae=i.openai)==null?void 0:ae.defaults)??p.defaults,modelRoutes:x}}};try{await X.put("/api/config",j),R(j),I({anthropic:Y(d),openai:Y(x)}),a({title:s("providers.toast.deleteSuccess",{name:t.label||t.id}),variant:"success"}),m.refetch()}catch(q){a({title:s("providers.toast.deleteFailure",{message:q instanceof Error?q.message:"unknown"}),variant:"error"})}},Dt=t=>{I(n=>({...n,[t]:[...n[t]||[],{id:qe(),source:"",target:""}]})),V(n=>({...n,[t]:null}))},Pt=async(t,n)=>{if(se()){Ye(!0);try{if(t==="anthropic"||t==="openai"){const r=p.endpointRouting?{...p.endpointRouting}:{},l=r[t]??{defaults:p.defaults,modelRoutes:(t==="anthropic"?p.modelRoutes:{})??{}},i={defaults:l.defaults??p.defaults,modelRoutes:l.modelRoutes??{}};let d=l.validation;n?(d={...d??{},mode:"claude-code"},d.allowExperimentalBlocks===void 0&&(d.allowExperimentalBlocks=!0)):d=void 0;const x=d?{...i,validation:d}:{...i},j={...r,[t]:x},S={...p,endpointRouting:j};await X.put("/api/config",S),R(S)}else{const r=p.customEndpoints??[],l=r.findIndex(ae=>ae.id===t);if(l===-1)throw new Error(s("modelManagement.toast.endpointNotFound"));const i=r[l],d=i.routing??{defaults:p.defaults,modelRoutes:{}};let x=d.validation;n?(x={...x??{},mode:"claude-code"},x.allowExperimentalBlocks===void 0&&(x.allowExperimentalBlocks=!0)):x=void 0;const j=x?{...d,validation:x}:{...d},S={...i,routing:j},U=[...r];U[l]=S;const $={...p,customEndpoints:U};await X.put("/api/config",$),R($)}a({title:s(n?"modelManagement.toast.claudeValidationEnabled":"modelManagement.toast.claudeValidationDisabled"),variant:"success"}),m.refetch()}catch(r){const l=Re(r);a({title:s("modelManagement.toast.claudeValidationFailure",{message:l.message}),variant:"error"})}finally{Ye(!1)}}},Ot=(t,n)=>{I(r=>{const l=r[t]||[];return l.some(i=>i.source.trim()===n.trim())?r:{...r,[t]:[...l,{id:qe(),source:n,target:""}]}}),V(r=>({...r,[t]:null}))},Ce=(t,n,r,l)=>{I(i=>({...i,[t]:(i[t]||[]).map(d=>d.id===n?{...d,[r]:l}:d)})),V(i=>({...i,[t]:null}))},Tt=(t,n)=>{I(r=>({...r,[t]:(r[t]||[]).filter(l=>l.id!==n)})),V(r=>({...r,[t]:null}))},Ut=t=>{var r,l;if(!p)return;const n=y.find(i=>i.id===t);if(n){const i=((r=n.routing)==null?void 0:r.modelRoutes)??{};I(d=>({...d,[t]:Y(i)}))}else{const i=p.endpointRouting??{},d=t,x=d==="anthropic"?p.modelRoutes??{}:{},j=((l=i[d])==null?void 0:l.modelRoutes)??x;I(S=>({...S,[t]:Y(j)}))}V(i=>({...i,[t]:null}))},At=async t=>{var l;if(!se())return;const n=ne[t]||[],r={};for(const i of n){const d=i.source.trim(),x=i.target.trim();if(!(!d&&!x)){if(!d||!x){V(j=>({...j,[t]:s("settings.validation.routePair")}));return}if(r[d]){V(j=>({...j,[t]:s("settings.validation.routeDuplicate",{model:d})}));return}r[d]=x}}V(i=>({...i,[t]:null})),oe(t);try{const i=y.find(d=>d.id===t);if(i){const d={...i.routing||{},modelRoutes:r,defaults:((l=i.routing)==null?void 0:l.defaults)||p.defaults};await ve.update(t,{routing:d}),c.invalidateQueries({queryKey:["custom-endpoints"]}),a({title:s("modelManagement.toast.routesSaved"),variant:"success"})}else{const d=p.endpointRouting?{...p.endpointRouting}:{},x=t,j=d[x]??{defaults:p.defaults,modelRoutes:x==="anthropic"?p.modelRoutes??{}:{}},S={...j,defaults:j.defaults??p.defaults,modelRoutes:r},U={...d,[x]:S},$={...p,endpointRouting:U,modelRoutes:x==="anthropic"?r:p.modelRoutes??{}};await X.put("/api/config",$),R($),a({title:s("modelManagement.toast.routesSaved"),variant:"success"}),m.refetch()}I(d=>({...d,[t]:Y(r)}))}catch(i){a({title:s("modelManagement.toast.routesSaveFailure",{message:i instanceof Error?i.message:"unknown"}),variant:"error"})}finally{oe(null)}},It=()=>e.jsx(Ke,{children:e.jsxs($e,{className:"pt-6 space-y-6",children:[e.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-4",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-lg font-semibold",children:s("providers.title")}),e.jsx("p",{className:"mt-1 text-sm text-muted-foreground",children:s("providers.description")})]}),e.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[e.jsx(he,{variant:"secondary",children:s("providers.count",{count:ft})}),e.jsxs(P,{variant:"outline",size:"sm",onClick:()=>m.refetch(),disabled:m.isFetching,children:[e.jsx(es,{className:Le("mr-2 h-4 w-4",m.isFetching&&"animate-spin")}),m.isFetching?s("common.actions.refreshing"):s("providers.actions.refresh")]}),e.jsxs(P,{size:"sm",onClick:Nt,children:[e.jsx(Ve,{className:"mr-2 h-4 w-4"}),s("providers.actions.add")]})]})]}),m.isPending||!p&&m.isFetching?e.jsx("div",{className:"flex min-h-[200px] items-center justify-center rounded-lg border bg-muted/50 text-sm text-muted-foreground",children:s("common.loading")}):_.length===0?e.jsxs("div",{className:"rounded-lg border border-dashed p-12 text-center text-sm text-muted-foreground",children:[e.jsx("p",{className:"font-medium",children:s("providers.emptyState")}),e.jsx("p",{className:"mt-2 text-xs",children:s("providers.emptyStateSub",{default:"点击上方按钮添加您的第一个提供商"})})]}):e.jsx("div",{className:"grid gap-4 md:grid-cols-2 xl:grid-cols-3",children:_.map(t=>e.jsx(Ke,{className:"flex flex-col",children:e.jsxs($e,{className:"flex flex-1 flex-col gap-4 pt-6",children:[e.jsxs("div",{className:"flex items-start justify-between gap-4",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("h3",{className:"font-semibold",children:t.label||t.id}),t.type&&e.jsx(cs,{type:t.type})]}),e.jsxs("p",{className:"text-xs text-muted-foreground",children:["ID: ",t.id]}),e.jsx("p",{className:"text-xs text-muted-foreground break-all",children:t.baseUrl})]}),t.defaultModel?e.jsx(he,{variant:"default",className:"text-xs",children:bt.get(t.id)??t.defaultModel}):e.jsx(he,{variant:"secondary",className:"text-xs",children:s("providers.card.noDefault")})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(Z,{className:"text-xs",children:s("providers.card.modelsTitle")}),t.models&&t.models.length>0?e.jsx("div",{className:"flex flex-wrap gap-1",children:t.models.map(n=>e.jsx(he,{variant:"outline",className:"text-xs",children:nt(n)},n.id))}):e.jsx("p",{className:"text-xs text-muted-foreground",children:s("providers.card.noModels")})]}),e.jsxs("div",{className:"mt-auto flex flex-wrap gap-2 pt-4 border-t",children:[e.jsx(P,{variant:"outline",size:"sm",onClick:()=>wt(t),children:s("providers.actions.edit")}),e.jsx(P,{variant:"outline",size:"sm",onClick:()=>Ct(t),disabled:O===t.id,children:O===t.id?s("common.actions.testingConnection"):s("providers.actions.test")}),e.jsx(P,{variant:"destructive",size:"sm",onClick:()=>Rt(t),children:s("providers.actions.delete")})]})]})},t.id))})]})}),Lt=t=>{const n=Ne[t]??[],r=we[t]??"",l=u[t],i=w===t;return e.jsxs("div",{className:"rounded-lg border border-dashed bg-muted/30 p-6 space-y-4",children:[e.jsxs("div",{className:"flex flex-col gap-4 md:flex-row md:items-center md:justify-between",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"font-medium",children:s("modelManagement.presets.title")}),e.jsx("p",{className:"mt-1 text-sm text-muted-foreground",children:s("modelManagement.presets.description")})]}),e.jsxs("div",{className:"flex flex-col gap-3 md:flex-row md:items-center",children:[e.jsx(pe,{value:r,onChange:d=>vt(t,d.target.value),placeholder:s("modelManagement.presets.namePlaceholder"),disabled:i,className:"w-full md:w-48"}),e.jsx(P,{onClick:()=>void jt(t),disabled:i,children:s(i?"modelManagement.presets.saving":"modelManagement.presets.save")})]})]}),l&&e.jsx("p",{className:"text-sm text-destructive",children:l}),n.length===0?e.jsx("p",{className:"text-sm text-muted-foreground text-center py-4",children:s("modelManagement.presets.empty")}):e.jsx("div",{className:"grid gap-2 sm:grid-cols-2 lg:grid-cols-3",children:n.map(d=>{const x=(C==null?void 0:C.endpoint)===t&&(C==null?void 0:C.name)===d.name,j=(L==null?void 0:L.endpoint)===t&&(L==null?void 0:L.name)===d.name;return e.jsxs("div",{className:"flex items-center justify-between gap-3 rounded-lg border bg-card px-4 py-3",children:[e.jsx("span",{className:"truncate text-sm font-medium",children:d.name}),e.jsxs("div",{className:"flex items-center gap-2 flex-shrink-0",children:[e.jsx(P,{size:"sm",onClick:()=>void yt(t,d),disabled:x||j,children:s(x?"modelManagement.presets.applying":"modelManagement.presets.apply")}),e.jsx(P,{variant:"destructive",size:"sm",onClick:()=>void kt(t,d),disabled:j||x,children:s(j?"modelManagement.presets.deleting":"modelManagement.presets.delete")})]})]},d.name)})})]})},Kt=t=>{var ie;const n=ne[t]||[],r=Oe[t],l=o.find(D=>D.key===t),d=((ie=l==null?void 0:l.protocols)==null?void 0:ie.includes("anthropic"))??t==="anthropic"?ls:ns,x=Te===t,j=(l==null?void 0:l.label)??s(`modelManagement.tabs.${t}`),S=(l==null?void 0:l.isSystem)===!1?l.description:s(`settings.routing.descriptionByEndpoint.${t}`),U=`route-source-${t}`,$=os(t,y),ae=is(t,p,y),q=$&&(ae==null?void 0:ae.mode)==="claude-code";return e.jsx(Ke,{children:e.jsxs($e,{className:"pt-6 space-y-6",children:[e.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-4",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsx("h2",{className:"text-lg font-semibold",children:s("settings.routing.titleByEndpoint",{endpoint:j})}),e.jsx("p",{className:"max-w-3xl text-sm text-muted-foreground",children:S}),e.jsx("p",{className:"max-w-3xl text-xs text-muted-foreground",children:s("settings.routing.wildcardHint")})]}),e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsx(P,{variant:"outline",size:"sm",onClick:()=>Dt(t),disabled:x,children:s("settings.routing.add")}),e.jsx(P,{variant:"outline",size:"sm",onClick:()=>Ut(t),disabled:x,children:s("common.actions.reset")}),e.jsx(P,{size:"sm",onClick:()=>void At(t),disabled:x,children:s(x?"common.actions.saving":"modelManagement.actions.saveRoutes")})]})]}),$&&e.jsx("div",{className:"rounded-lg border border-blue-200 bg-blue-50 p-4 dark:border-blue-800 dark:bg-blue-950",children:e.jsxs("div",{className:"flex items-center justify-between gap-4",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsx("p",{className:"text-sm font-medium text-blue-800 dark:text-blue-200",children:s("modelManagement.claudeValidation.title")}),e.jsx("p",{className:"text-xs text-blue-700 dark:text-blue-300",children:s("modelManagement.claudeValidation.description")})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(ut,{checked:q,onCheckedChange:D=>void Pt(t,D),disabled:gt}),e.jsx("span",{className:Le("text-xs font-medium",q?"text-emerald-600 dark:text-emerald-400":"text-muted-foreground"),children:s(q?"modelManagement.claudeValidation.statusEnabled":"modelManagement.claudeValidation.statusDisabled")})]})]})}),Lt(t),r&&e.jsx("p",{className:"text-sm text-destructive",children:r}),n.length===0?e.jsxs("div",{className:"rounded-lg border border-dashed p-12 text-center text-sm text-muted-foreground",children:[e.jsx("p",{className:"font-medium",children:s("settings.routing.empty")}),e.jsx("p",{className:"mt-2 text-xs",children:s("settings.routing.emptySub",{default:"点击上方按钮添加路由规则"})})]}):e.jsx("div",{className:"space-y-3",children:n.map((D,de)=>e.jsxs("div",{className:"rounded-lg border bg-card p-4",children:[e.jsxs("div",{className:"flex items-center gap-3 mb-3",children:[e.jsx(he,{variant:"secondary",children:de+1}),e.jsx("span",{className:"text-sm font-medium",children:"路由规则"})]}),e.jsxs("div",{className:"grid gap-4 md:grid-cols-[minmax(0,1fr)_minmax(0,1fr)_auto]",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(Z,{children:s("settings.routing.source")}),e.jsx(pe,{value:D.source,onChange:re=>Ce(t,D.id,"source",re.target.value),placeholder:"claude-3.5-sonnet",list:U,disabled:x})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(Z,{children:s("settings.routing.target")}),(()=>{const re=D.target.trim(),tt=Je.some(Q=>Q.value===re)?re:"__custom";return e.jsxs(e.Fragment,{children:[e.jsxs(mt,{value:tt,onValueChange:Q=>{Q==="__custom"?Ce(t,D.id,"target",re):Ce(t,D.id,"target",Q)},disabled:x,children:[e.jsx(ht,{children:e.jsx(pt,{})}),e.jsxs(xt,{children:[e.jsx(De,{value:"__custom",children:s("settings.routing.customTargetOption")}),Je.map(Q=>e.jsx(De,{value:Q.value,children:Q.label},Q.value))]})]}),tt==="__custom"&&e.jsx(pe,{value:D.target,onChange:Q=>Ce(t,D.id,"target",Q.target.value),placeholder:"providerId:modelId",disabled:x})]})})()]}),e.jsx("div",{className:"flex items-end",children:e.jsx(P,{variant:"destructive",size:"sm",onClick:()=>Tt(t,D.id),disabled:x,children:s("settings.routing.remove")})})]})]},D.id))}),e.jsxs("div",{className:"rounded-lg border bg-muted/50 p-4 space-y-3",children:[e.jsx(Z,{children:s("settings.routing.suggested")}),e.jsx("div",{className:"flex flex-wrap gap-2",children:d.map(D=>e.jsx(P,{variant:"outline",size:"sm",onClick:()=>Ot(t,D),disabled:x,children:D},`${t}-${D}`))})]}),e.jsx("datalist",{id:U,children:d.map(D=>e.jsx("option",{value:D},`${U}-${D}`))})]})})};return e.jsxs("div",{className:"flex flex-col gap-6",children:[e.jsx(Qt,{icon:e.jsx(_t,{className:"h-5 w-5","aria-hidden":"true"}),title:s("modelManagement.title"),description:s("modelManagement.description"),actions:e.jsxs(P,{onClick:()=>{ke(void 0),ye(!0)},children:[e.jsx(Ve,{className:"mr-2 h-4 w-4"}),s("modelManagement.addEndpoint")]})}),e.jsx("div",{className:"flex flex-wrap gap-3",children:o.map(t=>{const n=h===t.key;return e.jsxs("div",{className:"relative",children:[e.jsxs("button",{type:"button",onClick:()=>N(t.key),className:Le("flex min-w-[200px] flex-col gap-1 rounded-lg border px-4 py-3 text-left transition-all",n?"border-primary bg-primary/5 text-primary":"border-border bg-card hover:bg-accent"),children:[e.jsx("span",{className:"font-medium",children:t.label}),e.jsx("span",{className:"text-xs text-muted-foreground",children:t.description})]}),t.canDelete&&e.jsx("button",{onClick:r=>{r.stopPropagation(),Et(t.key)},className:"absolute -top-2 -right-2 flex h-5 w-5 items-center justify-center rounded-full bg-destructive text-destructive-foreground text-xs hover:bg-destructive/90",title:s("common.delete"),children:e.jsx(Be,{className:"h-3 w-3"})})]},t.key)})}),h==="providers"?It():Kt(h),e.jsx(rs,{open:F,mode:z,provider:z==="edit"?k:void 0,existingProviderIds:_.map(t=>t.id).filter(t=>z==="edit"&&k?t!==k.id:!0),onClose:()=>{T(!1),M(void 0),B("create")},onSubmit:Mt}),e.jsx(us,{open:je,endpoint:xe,onClose:()=>{ye(!1),ke(void 0)},onSuccess:()=>{c.invalidateQueries({queryKey:["custom-endpoints"]})}}),e.jsx(ds,{open:Me,provider:Ue,options:be,preservedExtras:Ge,usePreset:Ee,onPresetChange:Ae,onConfirm:St,onClose:et})]})}function ds({open:s,provider:a,options:c,usePreset:m,preservedExtras:g,onPresetChange:y,onConfirm:o,onClose:h}){const{t:N}=Pe();return a?e.jsx(Gt,{open:s,onOpenChange:p=>!p&&h(),children:e.jsxs(Xt,{children:[e.jsxs(Yt,{children:[e.jsx(Jt,{children:N("providers.testDialog.title")}),e.jsx(Wt,{children:N("providers.testDialog.subtitle",{name:a.label||a.id})})]}),e.jsx("p",{className:"text-sm text-muted-foreground",children:N("providers.testDialog.description")}),e.jsxs("div",{className:"flex items-start gap-3 rounded-lg border p-4",children:[e.jsx("input",{type:"checkbox",className:"mt-1 h-4 w-4 rounded border",checked:m,onChange:p=>y(p.target.checked)}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(Z,{children:N("providers.testDialog.presetLabel")}),e.jsx("p",{className:"text-xs text-muted-foreground",children:N("providers.testDialog.presetDescription")}),e.jsxs("details",{className:"rounded-md bg-muted p-2 text-xs",children:[e.jsx("summary",{className:"cursor-pointer text-primary hover:underline",children:N("providers.testDialog.presetPreviewSummary")}),e.jsx("div",{className:"mt-2 space-y-1",children:c.map(p=>e.jsxs("code",{className:"block rounded bg-background px-2 py-1 text-xs",children:[p.key,": ",p.value]},p.key))})]})]})]}),Object.keys(g).length>0&&e.jsxs("div",{className:"rounded-lg border bg-muted p-4 text-xs space-y-2",children:[e.jsx("p",{className:"font-medium",children:N("providers.testDialog.preservedInfo")}),Object.entries(g).map(([p,R])=>e.jsxs("code",{className:"block rounded bg-background px-2 py-1",children:[p,": ",R]},p))]}),e.jsxs(Zt,{children:[e.jsx(P,{variant:"outline",onClick:h,children:N("providers.testDialog.cancel")}),e.jsx(P,{onClick:()=>void o(),children:N("providers.testDialog.primary")})]})]})}):null}function nt(s){return s.label&&s.label.trim().length>0?`${s.label} (${s.id})`:s.id}function cs({type:s}){const a={openai:{label:"OpenAI",variant:"success"},deepseek:{label:"DeepSeek",variant:"info"},huawei:{label:"华为云",variant:"warning"},kimi:{label:"Kimi",variant:"purple"},anthropic:{label:"Anthropic",variant:"pink"},custom:{label:"Custom",variant:"secondary"}},{label:c,variant:m}=a[s]||a.custom;return e.jsx(he,{variant:m,className:"text-xs",children:c})}function us({open:s,endpoint:a,onClose:c,onSuccess:m}){const{t:g}=Pe(),{pushToast:y}=ct(),[o,h]=f.useState({id:"",label:"",paths:[{path:"",protocol:"openai-auto"}],enabled:!0});f.useEffect(()=>{if(a){let k;a.paths&&a.paths.length>0?k=a.paths:a.path&&a.protocol?k=[{path:a.path,protocol:a.protocol}]:k=[{path:"",protocol:"openai-auto"}],h({id:a.id,label:a.label,paths:k,enabled:a.enabled!==!1})}else h({id:"",label:"",paths:[{path:"",protocol:"openai-auto"}],enabled:!0})},[a,s]);const N=rt({mutationFn:ve.create,onSuccess:()=>{y({title:g("modelManagement.createEndpointSuccess"),variant:"success"}),m(),c()},onError:k=>{const M=Re(k);y({title:g("modelManagement.createEndpointError",{error:M.message}),variant:"error"})}}),p=rt({mutationFn:k=>ve.update(k.id,k.updates),onSuccess:()=>{y({title:g("modelManagement.updateEndpointSuccess"),variant:"success"}),m(),c()},onError:k=>{const M=Re(k);y({title:g("modelManagement.updateEndpointError",{error:M.message}),variant:"error"})}}),R=()=>{h({...o,paths:[...o.paths,{path:"",protocol:"anthropic"}]})},F=k=>{if(o.paths.length===1){y({title:g("modelManagement.atLeastOnePath"),variant:"error"});return}const M=o.paths.filter((O,A)=>A!==k);h({...o,paths:M})},T=(k,M,O)=>{const A=[...o.paths];A[k]={...A[k],[M]:O},h({...o,paths:A})},z=k=>{if(k.preventDefault(),!o.id.trim()||!o.label.trim()){y({title:g("modelManagement.endpointValidationError"),variant:"error"});return}for(const O of o.paths)if(!O.path.trim()){y({title:g("modelManagement.pathValidationError"),variant:"error"});return}const M=o.paths.map(O=>({path:O.path.trim(),protocol:O.protocol}));a?p.mutate({id:a.id,updates:{label:o.label.trim(),paths:M,enabled:o.enabled}}):N.mutate({id:o.id.trim(),label:o.label.trim(),paths:M,enabled:o.enabled})},B=N.isPending||p.isPending;return s?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"fixed inset-0 bg-background/80 backdrop-blur-sm z-40",onClick:c}),e.jsx("div",{className:"fixed inset-y-0 right-0 w-full max-w-md bg-card border-l shadow-xl z-50 overflow-y-auto",children:e.jsxs("div",{className:"flex flex-col h-full",children:[e.jsxs("div",{className:"flex items-center justify-between p-6 border-b",children:[e.jsx("h2",{className:"text-lg font-semibold",children:g(a?"modelManagement.editEndpoint":"modelManagement.createEndpoint")}),e.jsx(P,{variant:"ghost",size:"sm",onClick:c,children:e.jsx(Be,{className:"h-4 w-4"})})]}),e.jsxs("form",{onSubmit:z,className:"flex-1 p-6 space-y-6",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsxs(Z,{children:[g("modelManagement.endpointId")," ",e.jsx("span",{className:"text-destructive",children:"*"})]}),e.jsx(pe,{value:o.id,onChange:k=>h({...o,id:k.target.value}),placeholder:g("modelManagement.endpointIdPlaceholder"),disabled:!!a,required:!0}),e.jsx("p",{className:"text-xs text-muted-foreground",children:g("modelManagement.endpointIdHint")})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs(Z,{children:[g("modelManagement.endpointLabel")," ",e.jsx("span",{className:"text-destructive",children:"*"})]}),e.jsx(pe,{value:o.label,onChange:k=>h({...o,label:k.target.value}),placeholder:g("modelManagement.endpointLabelPlaceholder"),required:!0})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs(Z,{children:[g("modelManagement.endpointPaths")," ",e.jsx("span",{className:"text-destructive",children:"*"})]}),e.jsxs(P,{type:"button",variant:"ghost",size:"sm",onClick:R,children:[e.jsx(Ve,{className:"mr-1 h-3 w-3"}),g("modelManagement.addPath")]})]}),e.jsx("div",{className:"space-y-3",children:o.paths.map((k,M)=>e.jsxs("div",{className:"rounded-lg border p-3 space-y-2",children:[e.jsxs("div",{className:"flex items-start justify-between gap-2",children:[e.jsxs("div",{className:"flex-1 space-y-2",children:[e.jsx(pe,{value:k.path,onChange:O=>T(M,"path",O.target.value),placeholder:g("modelManagement.endpointPathPlaceholder"),required:!0}),e.jsxs(mt,{value:k.protocol,onValueChange:O=>T(M,"protocol",O),children:[e.jsx(ht,{children:e.jsx(pt,{})}),e.jsxs(xt,{children:[e.jsx(De,{value:"anthropic",children:g("modelManagement.protocolAnthropic")}),e.jsx(De,{value:"openai-auto",children:g("modelManagement.protocolOpenAI")})]})]})]}),o.paths.length>1&&e.jsx(P,{type:"button",variant:"ghost",size:"sm",onClick:()=>F(M),className:"text-destructive",children:e.jsx(Be,{className:"h-4 w-4"})})]}),M===0&&e.jsx("p",{className:"text-xs text-muted-foreground",children:g("modelManagement.endpointPathHint")})]},M))})]}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(ut,{id:"enabled",checked:o.enabled,onCheckedChange:k=>h({...o,enabled:k})}),e.jsx(Z,{htmlFor:"enabled",children:g("modelManagement.endpointEnabled")})]}),!a&&e.jsx("div",{className:"rounded-lg border border-blue-200 bg-blue-50 p-4 dark:border-blue-800 dark:bg-blue-950",children:e.jsx("p",{className:"text-sm text-blue-800 dark:text-blue-200",children:g("modelManagement.endpointRoutingHint")})})]}),e.jsxs("div",{className:"flex gap-3 p-6 border-t",children:[e.jsx(P,{variant:"outline",className:"flex-1",onClick:c,disabled:B,children:g("common.cancel")}),e.jsx(P,{className:"flex-1",onClick:z,disabled:B,children:g(B?"common.saving":a?"common.save":"common.create")})]})]})})]}):null}export{ws as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as r,a as s,ah as n}from"./index-
|
|
1
|
+
import{j as r,a as s,ah as n}from"./index-D-F4C6n_.js";const l=n("inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-all duration-200 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 shadow-sm",{variants:{variant:{default:"border-primary/20 bg-primary/10 text-primary hover:bg-primary/15 dark:border-primary/30 dark:bg-primary/20 dark:text-primary-foreground",secondary:"border-slate-200 bg-slate-100 text-slate-700 hover:bg-slate-200 dark:border-slate-700 dark:bg-slate-800 dark:text-slate-300",destructive:"border-red-200 bg-gradient-to-r from-red-50 to-red-100 text-red-700 hover:from-red-100 hover:to-red-150 dark:border-red-800 dark:from-red-950 dark:to-red-900 dark:text-red-300",outline:"border-slate-300 bg-transparent text-slate-600 hover:bg-slate-50 dark:border-slate-600 dark:text-slate-400 dark:hover:bg-slate-800",success:"border-emerald-200 bg-gradient-to-r from-emerald-50 to-emerald-100 text-emerald-700 hover:from-emerald-100 hover:to-emerald-150 dark:border-emerald-800 dark:from-emerald-950 dark:to-emerald-900 dark:text-emerald-300",warning:"border-amber-200 bg-gradient-to-r from-amber-50 to-amber-100 text-amber-700 hover:from-amber-100 hover:to-amber-150 dark:border-amber-800 dark:from-amber-950 dark:to-amber-900 dark:text-amber-300",info:"border-cyan-200 bg-gradient-to-r from-cyan-50 to-cyan-100 text-cyan-700 hover:from-cyan-100 hover:to-cyan-150 dark:border-cyan-800 dark:from-cyan-950 dark:to-cyan-900 dark:text-cyan-300",purple:"border-violet-200 bg-gradient-to-r from-violet-50 to-violet-100 text-violet-700 hover:from-violet-100 hover:to-violet-150 dark:border-violet-800 dark:from-violet-950 dark:to-violet-900 dark:text-violet-300",pink:"border-pink-200 bg-gradient-to-r from-pink-50 to-pink-100 text-pink-700 hover:from-pink-100 hover:to-pink-150 dark:border-pink-800 dark:from-pink-950 dark:to-pink-900 dark:text-pink-300"}},defaultVariants:{variant:"default"}});function m({className:e,variant:t,...a}){return r.jsx("div",{className:s(l({variant:t}),e),...a})}function f({icon:e,title:t,description:a,badge:o,actions:d,className:i}){return r.jsxs("div",{className:s("flex flex-col gap-4 sm:flex-row sm:items-start sm:justify-between",i),children:[r.jsxs("div",{className:"flex flex-1 flex-wrap items-start gap-4",children:[e&&r.jsx("div",{className:"flex h-12 w-12 items-center justify-center rounded-lg bg-primary/10 text-primary",children:e}),r.jsxs("div",{className:"space-y-1",children:[r.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[r.jsx("h1",{className:"text-2xl font-semibold tracking-tight",children:t}),o&&r.jsx(m,{variant:"secondary",children:o})]}),a&&r.jsx("p",{className:"max-w-2xl text-sm text-muted-foreground",children:a})]})]}),d&&r.jsx("div",{className:"flex shrink-0 flex-wrap items-center gap-2",children:d})]})}export{m as B,f as P};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as s,a as d}from"./index-
|
|
1
|
+
import{j as s,a as d}from"./index-D-F4C6n_.js";import{C as m,b as l,c as i,d as j,a as f}from"./card-DQb2ediN.js";function p({title:a,description:e,actions:r,className:n,contentClassName:x,children:c}){const t=a||e||r;return s.jsxs(m,{className:n,children:[t&&s.jsxs(l,{className:"flex flex-row items-start justify-between space-y-0",children:[s.jsxs("div",{className:"space-y-1.5",children:[typeof a=="string"?s.jsx(i,{className:"text-base",children:a}):a,e&&(typeof e=="string"?s.jsx(j,{children:e}):s.jsx("div",{className:"text-sm text-muted-foreground",children:e}))]}),r&&s.jsx("div",{className:"flex shrink-0 items-center gap-2",children:r})]}),s.jsx(f,{className:d(!t&&"pt-6",x),children:c})]})}export{p as P};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{c as te,u as xe,b as be,r as u,j as e,e as S,U as fe,L as Z,d as K}from"./index-
|
|
1
|
+
import{c as te,u as xe,b as be,r as u,j as e,e as S,U as fe,L as Z,d as K}from"./index-D-F4C6n_.js";import{u as ee}from"./useApiQuery-CkT-JtpV.js";import{P as je}from"./PageHeader-BatC8G-O.js";import{c as ye}from"./clipboard-CALi6bTW.js";import{I as f}from"./input-x0jTfvyD.js";import{L as l}from"./label-t5tthgxG.js";import{C as F,a as H}from"./card-DQb2ediN.js";import{S as L}from"./switch-BrV6LX33.js";import{S as ve,a as Ne,b as Pe,c as ke,d as we}from"./select-fri8gRof.js";import{C as Ce}from"./copy-8Dwvprhw.js";/**
|
|
2
2
|
* @license lucide-react v0.344.0 - ISC
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the ISC license.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as s,j as t,a as d,ah as n}from"./index-
|
|
1
|
+
import{r as s,j as t,a as d,ah as n}from"./index-D-F4C6n_.js";const i=n("rounded-xl border bg-card text-card-foreground transition-all duration-200",{variants:{variant:{default:"shadow-sm hover:shadow-md",elevated:"shadow-md hover:shadow-lg",outline:"shadow-none border-2",ghost:"border-transparent shadow-none bg-transparent",interactive:"shadow-sm hover:shadow-lg hover:-translate-y-0.5 cursor-pointer"}},defaultVariants:{variant:"default"}}),l=s.forwardRef(({className:a,variant:e,...r},o)=>t.jsx("div",{ref:o,className:d(i({variant:e}),a),...r}));l.displayName="Card";const c=s.forwardRef(({className:a,...e},r)=>t.jsx("div",{ref:r,className:d("flex flex-col space-y-1.5 p-5",a),...e}));c.displayName="CardHeader";const m=s.forwardRef(({className:a,...e},r)=>t.jsx("div",{ref:r,className:d("text-lg font-semibold leading-none tracking-tight",a),...e}));m.displayName="CardTitle";const f=s.forwardRef(({className:a,...e},r)=>t.jsx("div",{ref:r,className:d("text-sm text-muted-foreground",a),...e}));f.displayName="CardDescription";const p=s.forwardRef(({className:a,...e},r)=>t.jsx("div",{ref:r,className:d("p-5 pt-0",a),...e}));p.displayName="CardContent";const x=s.forwardRef(({className:a,...e},r)=>t.jsx("div",{ref:r,className:d("flex items-center p-5 pt-0",a),...e}));x.displayName="CardFooter";export{l as C,p as a,c as b,m as c,f as d,x as e};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{c as J,r as i,y as K,j as n,z as Q,A as N,P as h,D as U,E as x,G as m,H as C,I as X,J as Y,M as Z,N as ee,O as te,Q as oe,T as ae,a as p,X as ne}from"./index-
|
|
1
|
+
import{c as J,r as i,y as K,j as n,z as Q,A as N,P as h,D as U,E as x,G as m,H as C,I as X,J as Y,M as Z,N as ee,O as te,Q as oe,T as ae,a as p,X as ne}from"./index-D-F4C6n_.js";/**
|
|
2
2
|
* @license lucide-react v0.344.0 - ISC
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the ISC license.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{_ as k,w as NL,x as BL,R as VL,r as zL}from"./index-CwxoiOJ7.js";var GL=function(){function r(){this.firefox=!1,this.ie=!1,this.edge=!1,this.newEdge=!1,this.weChat=!1}return r}(),FL=function(){function r(){this.browser=new GL,this.node=!1,this.wxa=!1,this.worker=!1,this.svgSupported=!1,this.touchEventsSupported=!1,this.pointerEventsSupported=!1,this.domSupported=!1,this.transformSupported=!1,this.transform3dSupported=!1,this.hasGlobalWindow=typeof window<"u"}return r}(),yt=new FL;typeof wx=="object"&&typeof wx.getSystemInfoSync=="function"?(yt.wxa=!0,yt.touchEventsSupported=!0):typeof document>"u"&&typeof self<"u"?yt.worker=!0:!yt.hasGlobalWindow||"Deno"in window?(yt.node=!0,yt.svgSupported=!0):HL(navigator.userAgent,yt);function HL(r,e){var t=e.browser,a=r.match(/Firefox\/([\d.]+)/),n=r.match(/MSIE\s([\d.]+)/)||r.match(/Trident\/.+?rv:(([\d.]+))/),i=r.match(/Edge?\/([\d.]+)/),o=/micromessenger/i.test(r);a&&(t.firefox=!0,t.version=a[1]),n&&(t.ie=!0,t.version=n[1]),i&&(t.edge=!0,t.version=i[1],t.newEdge=+i[1].split(".")[0]>18),o&&(t.weChat=!0),e.svgSupported=typeof SVGRect<"u",e.touchEventsSupported="ontouchstart"in window&&!t.ie&&!t.edge,e.pointerEventsSupported="onpointerdown"in window&&(t.edge||t.ie&&+t.version>=11),e.domSupported=typeof document<"u";var s=document.documentElement.style;e.transform3dSupported=(t.ie&&"transition"in s||t.edge||"WebKitCSSMatrix"in window&&"m11"in new WebKitCSSMatrix||"MozPerspective"in s)&&!("OTransition"in s),e.transformSupported=e.transform3dSupported||t.ie&&+t.version>=9}var xg=12,Ww="sans-serif",Ja=xg+"px "+Ww,WL=20,UL=100,YL="007LLmW'55;N0500LLLLLLLLLL00NNNLzWW\\\\WQb\\0FWLg\\bWb\\WQ\\WrWWQ000CL5LLFLL0LL**F*gLLLL5F0LF\\FFF5.5N";function $L(r){var e={};if(typeof JSON>"u")return e;for(var t=0;t<r.length;t++){var a=String.fromCharCode(t+32),n=(r.charCodeAt(t)-WL)/UL;e[a]=n}return e}var XL=$L(YL),Mr={createCanvas:function(){return typeof document<"u"&&document.createElement("canvas")},measureText:function(){var r,e;return function(t,a){if(!r){var n=Mr.createCanvas();r=n&&n.getContext("2d")}if(r)return e!==a&&(e=r.font=a||Ja),r.measureText(t);t=t||"",a=a||Ja;var i=/((?:\d+)?\.?\d*)px/.exec(a),o=i&&+i[1]||xg,s=0;if(a.indexOf("mono")>=0)s=o*t.length;else for(var l=0;l<t.length;l++){var u=XL[t[l]];s+=u==null?o:u*o}return{width:s}}}(),loadImage:function(r,e,t){var a=new Image;return a.onload=e,a.onerror=t,a.src=r,a}};function Uw(r){for(var e in Mr)r[e]&&(Mr[e]=r[e])}var Yw=ur(["Function","RegExp","Date","Error","CanvasGradient","CanvasPattern","Image","Canvas"],function(r,e){return r["[object "+e+"]"]=!0,r},{}),$w=ur(["Int8","Uint8","Uint8Clamped","Int16","Uint16","Int32","Uint32","Float32","Float64"],function(r,e){return r["[object "+e+"Array]"]=!0,r},{}),Ao=Object.prototype.toString,ph=Array.prototype,ZL=ph.forEach,qL=ph.filter,bg=ph.slice,KL=ph.map,Um=(function(){}).constructor,Zl=Um?Um.prototype:null,wg="__proto__",jL=2311;function Tg(){return jL++}function dh(){for(var r=[],e=0;e<arguments.length;e++)r[e]=arguments[e];typeof console<"u"&&console.error.apply(console,r)}function rt(r){if(r==null||typeof r!="object")return r;var e=r,t=Ao.call(r);if(t==="[object Array]"){if(!ao(r)){e=[];for(var a=0,n=r.length;a<n;a++)e[a]=rt(r[a])}}else if($w[t]){if(!ao(r)){var i=r.constructor;if(i.from)e=i.from(r);else{e=new i(r.length);for(var a=0,n=r.length;a<n;a++)e[a]=r[a]}}}else if(!Yw[t]&&!ao(r)&&!si(r)){e={};for(var o in r)r.hasOwnProperty(o)&&o!==wg&&(e[o]=rt(r[o]))}return e}function ut(r,e,t){if(!tt(e)||!tt(r))return t?rt(e):r;for(var a in e)if(e.hasOwnProperty(a)&&a!==wg){var n=r[a],i=e[a];tt(i)&&tt(n)&&!z(i)&&!z(n)&&!si(i)&&!si(n)&&!Pp(i)&&!Pp(n)&&!ao(i)&&!ao(n)?ut(n,i,t):(t||!(a in r))&&(r[a]=rt(e[a]))}return r}function gh(r,e){for(var t=r[0],a=1,n=r.length;a<n;a++)t=ut(t,r[a],e);return t}function V(r,e){if(Object.assign)Object.assign(r,e);else for(var t in e)e.hasOwnProperty(t)&&t!==wg&&(r[t]=e[t]);return r}function J(r,e,t){for(var a=_t(e),n=0,i=a.length;n<i;n++){var o=a[n];(t?e[o]!=null:r[o]==null)&&(r[o]=e[o])}return r}var JL=Mr.createCanvas;function vt(r,e){if(r){if(r.indexOf)return r.indexOf(e);for(var t=0,a=r.length;t<a;t++)if(r[t]===e)return t}return-1}function Ag(r,e){var t=r.prototype;function a(){}a.prototype=e.prototype,r.prototype=new a;for(var n in t)t.hasOwnProperty(n)&&(r.prototype[n]=t[n]);r.prototype.constructor=r,r.superClass=e}function $t(r,e,t){if(r="prototype"in r?r.prototype:r,e="prototype"in e?e.prototype:e,Object.getOwnPropertyNames)for(var a=Object.getOwnPropertyNames(e),n=0;n<a.length;n++){var i=a[n];i!=="constructor"&&(t?e[i]!=null:r[i]==null)&&(r[i]=e[i])}else J(r,e,t)}function he(r){return!r||typeof r=="string"?!1:typeof r.length=="number"}function D(r,e,t){if(r&&e)if(r.forEach&&r.forEach===ZL)r.forEach(e,t);else if(r.length===+r.length)for(var a=0,n=r.length;a<n;a++)e.call(t,r[a],a,r);else for(var i in r)r.hasOwnProperty(i)&&e.call(t,r[i],i,r)}function G(r,e,t){if(!r)return[];if(!e)return yh(r);if(r.map&&r.map===KL)return r.map(e,t);for(var a=[],n=0,i=r.length;n<i;n++)a.push(e.call(t,r[n],n,r));return a}function ur(r,e,t,a){if(r&&e){for(var n=0,i=r.length;n<i;n++)t=e.call(a,t,r[n],n,r);return t}}function At(r,e,t){if(!r)return[];if(!e)return yh(r);if(r.filter&&r.filter===qL)return r.filter(e,t);for(var a=[],n=0,i=r.length;n<i;n++)e.call(t,r[n],n,r)&&a.push(r[n]);return a}function Xw(r,e,t){if(r&&e){for(var a=0,n=r.length;a<n;a++)if(e.call(t,r[a],a,r))return r[a]}}function _t(r){if(!r)return[];if(Object.keys)return Object.keys(r);var e=[];for(var t in r)r.hasOwnProperty(t)&&e.push(t);return e}function QL(r,e){for(var t=[],a=2;a<arguments.length;a++)t[a-2]=arguments[a];return function(){return r.apply(e,t.concat(bg.call(arguments)))}}var $=Zl&&K(Zl.bind)?Zl.call.bind(Zl.bind):QL;function lt(r){for(var e=[],t=1;t<arguments.length;t++)e[t-1]=arguments[t];return function(){return r.apply(this,e.concat(bg.call(arguments)))}}function z(r){return Array.isArray?Array.isArray(r):Ao.call(r)==="[object Array]"}function K(r){return typeof r=="function"}function Y(r){return typeof r=="string"}function gf(r){return Ao.call(r)==="[object String]"}function wt(r){return typeof r=="number"}function tt(r){var e=typeof r;return e==="function"||!!r&&e==="object"}function Pp(r){return!!Yw[Ao.call(r)]}function Re(r){return!!$w[Ao.call(r)]}function si(r){return typeof r=="object"&&typeof r.nodeType=="number"&&typeof r.ownerDocument=="object"}function Al(r){return r.colorStops!=null}function Zw(r){return r.image!=null}function qw(r){return Ao.call(r)==="[object RegExp]"}function vo(r){return r!==r}function re(){for(var r=[],e=0;e<arguments.length;e++)r[e]=arguments[e];for(var t=0,a=r.length;t<a;t++)if(r[t]!=null)return r[t]}function st(r,e){return r??e}function Tr(r,e,t){return r??e??t}function yh(r){for(var e=[],t=1;t<arguments.length;t++)e[t-1]=arguments[t];return bg.apply(r,e)}function mh(r){if(typeof r=="number")return[r,r,r,r];var e=r.length;return e===2?[r[0],r[1],r[0],r[1]]:e===3?[r[0],r[1],r[2],r[1]]:r}function xe(r,e){if(!r)throw new Error(e)}function sr(r){return r==null?null:typeof r.trim=="function"?r.trim():r.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}var Kw="__ec_primitive__";function qs(r){r[Kw]=!0}function ao(r){return r[Kw]}var t2=function(){function r(){this.data={}}return r.prototype.delete=function(e){var t=this.has(e);return t&&delete this.data[e],t},r.prototype.has=function(e){return this.data.hasOwnProperty(e)},r.prototype.get=function(e){return this.data[e]},r.prototype.set=function(e,t){return this.data[e]=t,this},r.prototype.keys=function(){return _t(this.data)},r.prototype.forEach=function(e){var t=this.data;for(var a in t)t.hasOwnProperty(a)&&e(t[a],a)},r}(),jw=typeof Map=="function";function e2(){return jw?new Map:new t2}var Jw=function(){function r(e){var t=z(e);this.data=e2();var a=this;e instanceof r?e.each(n):e&&D(e,n);function n(i,o){t?a.set(i,o):a.set(o,i)}}return r.prototype.hasKey=function(e){return this.data.has(e)},r.prototype.get=function(e){return this.data.get(e)},r.prototype.set=function(e,t){return this.data.set(e,t),t},r.prototype.each=function(e,t){this.data.forEach(function(a,n){e.call(t,a,n)})},r.prototype.keys=function(){var e=this.data.keys();return jw?Array.from(e):e},r.prototype.removeKey=function(e){this.data.delete(e)},r}();function Z(r){return new Jw(r)}function co(r,e){for(var t=new r.constructor(r.length+e.length),a=0;a<r.length;a++)t[a]=r[a];for(var n=r.length,a=0;a<e.length;a++)t[a+n]=e[a];return t}function Cl(r,e){var t;if(Object.create)t=Object.create(r);else{var a=function(){};a.prototype=r,t=new a}return e&&V(t,e),t}function Cg(r){var e=r.style;e.webkitUserSelect="none",e.userSelect="none",e.webkitTapHighlightColor="rgba(0,0,0,0)",e["-webkit-touch-callout"]="none"}function X(r,e){return r.hasOwnProperty(e)}function Yt(){}var Rs=180/Math.PI;const r2=Object.freeze(Object.defineProperty({__proto__:null,HashMap:Jw,RADIAN_TO_DEGREE:Rs,assert:xe,bind:$,clone:rt,concatArray:co,createCanvas:JL,createHashMap:Z,createObject:Cl,curry:lt,defaults:J,disableUserSelect:Cg,each:D,eqNaN:vo,extend:V,filter:At,find:Xw,guid:Tg,hasOwn:X,indexOf:vt,inherits:Ag,isArray:z,isArrayLike:he,isBuiltInObject:Pp,isDom:si,isFunction:K,isGradientObject:Al,isImagePatternObject:Zw,isNumber:wt,isObject:tt,isPrimitive:ao,isRegExp:qw,isString:Y,isStringSafe:gf,isTypedArray:Re,keys:_t,logError:dh,map:G,merge:ut,mergeAll:gh,mixin:$t,noop:Yt,normalizeCssArray:mh,reduce:ur,retrieve:re,retrieve2:st,retrieve3:Tr,setAsPrimitive:qs,slice:yh,trim:sr},Symbol.toStringTag,{value:"Module"}));function nn(r,e){return r==null&&(r=0),e==null&&(e=0),[r,e]}function ye(r,e){return r[0]=e[0],r[1]=e[1],r}function $r(r){return[r[0],r[1]]}function Qw(r,e,t){return r[0]=e,r[1]=t,r}function Rp(r,e,t){return r[0]=e[0]+t[0],r[1]=e[1]+t[1],r}function yf(r,e,t,a){return r[0]=e[0]+t[0]*a,r[1]=e[1]+t[1]*a,r}function Ba(r,e,t){return r[0]=e[0]-t[0],r[1]=e[1]-t[1],r}function Ks(r){return Math.sqrt(Dg(r))}var a2=Ks;function Dg(r){return r[0]*r[0]+r[1]*r[1]}var n2=Dg;function i2(r,e,t){return r[0]=e[0]*t[0],r[1]=e[1]*t[1],r}function o2(r,e,t){return r[0]=e[0]/t[0],r[1]=e[1]/t[1],r}function s2(r,e){return r[0]*e[0]+r[1]*e[1]}function Es(r,e,t){return r[0]=e[0]*t,r[1]=e[1]*t,r}function gi(r,e){var t=Ks(e);return t===0?(r[0]=0,r[1]=0):(r[0]=e[0]/t,r[1]=e[1]/t),r}function mf(r,e){return Math.sqrt((r[0]-e[0])*(r[0]-e[0])+(r[1]-e[1])*(r[1]-e[1]))}var la=mf;function tT(r,e){return(r[0]-e[0])*(r[0]-e[0])+(r[1]-e[1])*(r[1]-e[1])}var Ua=tT;function l2(r,e){return r[0]=-e[0],r[1]=-e[1],r}function ks(r,e,t,a){return r[0]=e[0]+a*(t[0]-e[0]),r[1]=e[1]+a*(t[1]-e[1]),r}function ue(r,e,t){var a=e[0],n=e[1];return r[0]=t[0]*a+t[2]*n+t[4],r[1]=t[1]*a+t[3]*n+t[5],r}function ua(r,e,t){return r[0]=Math.min(e[0],t[0]),r[1]=Math.min(e[1],t[1]),r}function fa(r,e,t){return r[0]=Math.max(e[0],t[0]),r[1]=Math.max(e[1],t[1]),r}const u2=Object.freeze(Object.defineProperty({__proto__:null,add:Rp,applyTransform:ue,clone:$r,copy:ye,create:nn,dist:la,distSquare:Ua,distance:mf,distanceSquare:tT,div:o2,dot:s2,len:Ks,lenSquare:Dg,length:a2,lengthSquare:n2,lerp:ks,max:fa,min:ua,mul:i2,negate:l2,normalize:gi,scale:Es,scaleAndAdd:yf,set:Qw,sub:Ba},Symbol.toStringTag,{value:"Module"}));var Ai=function(){function r(e,t){this.target=e,this.topTarget=t&&t.topTarget}return r}(),f2=function(){function r(e){this.handler=e,e.on("mousedown",this._dragStart,this),e.on("mousemove",this._drag,this),e.on("mouseup",this._dragEnd,this)}return r.prototype._dragStart=function(e){for(var t=e.target;t&&!t.draggable;)t=t.parent||t.__hostTarget;t&&(this._draggingTarget=t,t.dragging=!0,this._x=e.offsetX,this._y=e.offsetY,this.handler.dispatchToElement(new Ai(t,e),"dragstart",e.event))},r.prototype._drag=function(e){var t=this._draggingTarget;if(t){var a=e.offsetX,n=e.offsetY,i=a-this._x,o=n-this._y;this._x=a,this._y=n,t.drift(i,o,e),this.handler.dispatchToElement(new Ai(t,e),"drag",e.event);var s=this.handler.findHover(a,n,t).target,l=this._dropTarget;this._dropTarget=s,t!==s&&(l&&s!==l&&this.handler.dispatchToElement(new Ai(l,e),"dragleave",e.event),s&&s!==l&&this.handler.dispatchToElement(new Ai(s,e),"dragenter",e.event))}},r.prototype._dragEnd=function(e){var t=this._draggingTarget;t&&(t.dragging=!1),this.handler.dispatchToElement(new Ai(t,e),"dragend",e.event),this._dropTarget&&this.handler.dispatchToElement(new Ai(this._dropTarget,e),"drop",e.event),this._draggingTarget=null,this._dropTarget=null},r}(),hr=function(){function r(e){e&&(this._$eventProcessor=e)}return r.prototype.on=function(e,t,a,n){this._$handlers||(this._$handlers={});var i=this._$handlers;if(typeof t=="function"&&(n=a,a=t,t=null),!a||!e)return this;var o=this._$eventProcessor;t!=null&&o&&o.normalizeQuery&&(t=o.normalizeQuery(t)),i[e]||(i[e]=[]);for(var s=0;s<i[e].length;s++)if(i[e][s].h===a)return this;var l={h:a,query:t,ctx:n||this,callAtLast:a.zrEventfulCallAtLast},u=i[e].length-1,f=i[e][u];return f&&f.callAtLast?i[e].splice(u,0,l):i[e].push(l),this},r.prototype.isSilent=function(e){var t=this._$handlers;return!t||!t[e]||!t[e].length},r.prototype.off=function(e,t){var a=this._$handlers;if(!a)return this;if(!e)return this._$handlers={},this;if(t){if(a[e]){for(var n=[],i=0,o=a[e].length;i<o;i++)a[e][i].h!==t&&n.push(a[e][i]);a[e]=n}a[e]&&a[e].length===0&&delete a[e]}else delete a[e];return this},r.prototype.trigger=function(e){for(var t=[],a=1;a<arguments.length;a++)t[a-1]=arguments[a];if(!this._$handlers)return this;var n=this._$handlers[e],i=this._$eventProcessor;if(n)for(var o=t.length,s=n.length,l=0;l<s;l++){var u=n[l];if(!(i&&i.filter&&u.query!=null&&!i.filter(e,u.query)))switch(o){case 0:u.h.call(u.ctx);break;case 1:u.h.call(u.ctx,t[0]);break;case 2:u.h.call(u.ctx,t[0],t[1]);break;default:u.h.apply(u.ctx,t);break}}return i&&i.afterTrigger&&i.afterTrigger(e),this},r.prototype.triggerWithContext=function(e){for(var t=[],a=1;a<arguments.length;a++)t[a-1]=arguments[a];if(!this._$handlers)return this;var n=this._$handlers[e],i=this._$eventProcessor;if(n)for(var o=t.length,s=t[o-1],l=n.length,u=0;u<l;u++){var f=n[u];if(!(i&&i.filter&&f.query!=null&&!i.filter(e,f.query)))switch(o){case 0:f.h.call(s);break;case 1:f.h.call(s,t[0]);break;case 2:f.h.call(s,t[0],t[1]);break;default:f.h.apply(s,t.slice(1,o-1));break}}return i&&i.afterTrigger&&i.afterTrigger(e),this},r}(),h2=Math.log(2);function Ep(r,e,t,a,n,i){var o=a+"-"+n,s=r.length;if(i.hasOwnProperty(o))return i[o];if(e===1){var l=Math.round(Math.log((1<<s)-1&~n)/h2);return r[t][l]}for(var u=a|1<<t,f=t+1;a&1<<f;)f++;for(var h=0,v=0,c=0;v<s;v++){var p=1<<v;p&n||(h+=(c%2?-1:1)*r[t][v]*Ep(r,e-1,f,u,n|p,i),c++)}return i[o]=h,h}function Ym(r,e){var t=[[r[0],r[1],1,0,0,0,-e[0]*r[0],-e[0]*r[1]],[0,0,0,r[0],r[1],1,-e[1]*r[0],-e[1]*r[1]],[r[2],r[3],1,0,0,0,-e[2]*r[2],-e[2]*r[3]],[0,0,0,r[2],r[3],1,-e[3]*r[2],-e[3]*r[3]],[r[4],r[5],1,0,0,0,-e[4]*r[4],-e[4]*r[5]],[0,0,0,r[4],r[5],1,-e[5]*r[4],-e[5]*r[5]],[r[6],r[7],1,0,0,0,-e[6]*r[6],-e[6]*r[7]],[0,0,0,r[6],r[7],1,-e[7]*r[6],-e[7]*r[7]]],a={},n=Ep(t,8,0,0,0,a);if(n!==0){for(var i=[],o=0;o<8;o++)for(var s=0;s<8;s++)i[s]==null&&(i[s]=0),i[s]+=((o+s)%2?-1:1)*Ep(t,7,o===0?1:0,1<<o,1<<s,a)/n*e[o];return function(l,u,f){var h=u*i[6]+f*i[7]+1;l[0]=(u*i[0]+f*i[1]+i[2])/h,l[1]=(u*i[3]+f*i[4]+i[5])/h}}}var $m="___zrEVENTSAVED",lv=[];function v2(r,e,t,a,n){return kp(lv,e,a,n,!0)&&kp(r,t,lv[0],lv[1])}function kp(r,e,t,a,n){if(e.getBoundingClientRect&&yt.domSupported&&!eT(e)){var i=e[$m]||(e[$m]={}),o=c2(e,i),s=p2(o,i,n);if(s)return s(r,t,a),!0}return!1}function c2(r,e){var t=e.markers;if(t)return t;t=e.markers=[];for(var a=["left","right"],n=["top","bottom"],i=0;i<4;i++){var o=document.createElement("div"),s=o.style,l=i%2,u=(i>>1)%2;s.cssText=["position: absolute","visibility: hidden","padding: 0","margin: 0","border-width: 0","user-select: none","width:0","height:0",a[l]+":0",n[u]+":0",a[1-l]+":auto",n[1-u]+":auto",""].join("!important;"),r.appendChild(o),t.push(o)}return t}function p2(r,e,t){for(var a=t?"invTrans":"trans",n=e[a],i=e.srcCoords,o=[],s=[],l=!0,u=0;u<4;u++){var f=r[u].getBoundingClientRect(),h=2*u,v=f.left,c=f.top;o.push(v,c),l=l&&i&&v===i[h]&&c===i[h+1],s.push(r[u].offsetLeft,r[u].offsetTop)}return l&&n?n:(e.srcCoords=o,e[a]=t?Ym(s,o):Ym(o,s))}function eT(r){return r.nodeName.toUpperCase()==="CANVAS"}var d2=/([&<>"'])/g,g2={"&":"&","<":"<",">":">",'"':""","'":"'"};function _e(r){return r==null?"":(r+"").replace(d2,function(e,t){return g2[t]})}var y2=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,uv=[],m2=yt.browser.firefox&&+yt.browser.version.split(".")[0]<39;function Op(r,e,t,a){return t=t||{},a?Xm(r,e,t):m2&&e.layerX!=null&&e.layerX!==e.offsetX?(t.zrX=e.layerX,t.zrY=e.layerY):e.offsetX!=null?(t.zrX=e.offsetX,t.zrY=e.offsetY):Xm(r,e,t),t}function Xm(r,e,t){if(yt.domSupported&&r.getBoundingClientRect){var a=e.clientX,n=e.clientY;if(eT(r)){var i=r.getBoundingClientRect();t.zrX=a-i.left,t.zrY=n-i.top;return}else if(kp(uv,r,a,n)){t.zrX=uv[0],t.zrY=uv[1];return}}t.zrX=t.zrY=0}function Mg(r){return r||window.event}function tr(r,e,t){if(e=Mg(e),e.zrX!=null)return e;var a=e.type,n=a&&a.indexOf("touch")>=0;if(n){var o=a!=="touchend"?e.targetTouches[0]:e.changedTouches[0];o&&Op(r,o,e,t)}else{Op(r,e,e,t);var i=_2(e);e.zrDelta=i?i/120:-(e.detail||0)/3}var s=e.button;return e.which==null&&s!==void 0&&y2.test(e.type)&&(e.which=s&1?1:s&2?3:s&4?2:0),e}function _2(r){var e=r.wheelDelta;if(e)return e;var t=r.deltaX,a=r.deltaY;if(t==null||a==null)return e;var n=Math.abs(a!==0?a:t),i=a>0?-1:a<0?1:t>0?-1:1;return 3*n*i}function Np(r,e,t,a){r.addEventListener(e,t,a)}function S2(r,e,t,a){r.removeEventListener(e,t,a)}var da=function(r){r.preventDefault(),r.stopPropagation(),r.cancelBubble=!0};function Zm(r){return r.which===2||r.which===3}var x2=function(){function r(){this._track=[]}return r.prototype.recognize=function(e,t,a){return this._doTrack(e,t,a),this._recognize(e)},r.prototype.clear=function(){return this._track.length=0,this},r.prototype._doTrack=function(e,t,a){var n=e.touches;if(n){for(var i={points:[],touches:[],target:t,event:e},o=0,s=n.length;o<s;o++){var l=n[o],u=Op(a,l,{});i.points.push([u.zrX,u.zrY]),i.touches.push(l)}this._track.push(i)}},r.prototype._recognize=function(e){for(var t in fv)if(fv.hasOwnProperty(t)){var a=fv[t](this._track,e);if(a)return a}},r}();function qm(r){var e=r[1][0]-r[0][0],t=r[1][1]-r[0][1];return Math.sqrt(e*e+t*t)}function b2(r){return[(r[0][0]+r[1][0])/2,(r[0][1]+r[1][1])/2]}var fv={pinch:function(r,e){var t=r.length;if(t){var a=(r[t-1]||{}).points,n=(r[t-2]||{}).points||a;if(n&&n.length>1&&a&&a.length>1){var i=qm(a)/qm(n);!isFinite(i)&&(i=1),e.pinchScale=i;var o=b2(a);return e.pinchX=o[0],e.pinchY=o[1],{type:"pinch",target:r[0].target,event:e}}}}};function Ge(){return[1,0,0,1,0,0]}function Dl(r){return r[0]=1,r[1]=0,r[2]=0,r[3]=1,r[4]=0,r[5]=0,r}function _h(r,e){return r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r}function Xr(r,e,t){var a=e[0]*t[0]+e[2]*t[1],n=e[1]*t[0]+e[3]*t[1],i=e[0]*t[2]+e[2]*t[3],o=e[1]*t[2]+e[3]*t[3],s=e[0]*t[4]+e[2]*t[5]+e[4],l=e[1]*t[4]+e[3]*t[5]+e[5];return r[0]=a,r[1]=n,r[2]=i,r[3]=o,r[4]=s,r[5]=l,r}function Ir(r,e,t){return r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4]+t[0],r[5]=e[5]+t[1],r}function on(r,e,t,a){a===void 0&&(a=[0,0]);var n=e[0],i=e[2],o=e[4],s=e[1],l=e[3],u=e[5],f=Math.sin(t),h=Math.cos(t);return r[0]=n*h+s*f,r[1]=-n*f+s*h,r[2]=i*h+l*f,r[3]=-i*f+h*l,r[4]=h*(o-a[0])+f*(u-a[1])+a[0],r[5]=h*(u-a[1])-f*(o-a[0])+a[1],r}function Sh(r,e,t){var a=t[0],n=t[1];return r[0]=e[0]*a,r[1]=e[1]*n,r[2]=e[2]*a,r[3]=e[3]*n,r[4]=e[4]*a,r[5]=e[5]*n,r}function yi(r,e){var t=e[0],a=e[2],n=e[4],i=e[1],o=e[3],s=e[5],l=t*o-i*a;return l?(l=1/l,r[0]=o*l,r[1]=-i*l,r[2]=-a*l,r[3]=t*l,r[4]=(a*s-o*n)*l,r[5]=(i*n-t*s)*l,r):null}function rT(r){var e=Ge();return _h(e,r),e}const w2=Object.freeze(Object.defineProperty({__proto__:null,clone:rT,copy:_h,create:Ge,identity:Dl,invert:yi,mul:Xr,rotate:on,scale:Sh,translate:Ir},Symbol.toStringTag,{value:"Module"}));var ft=function(){function r(e,t){this.x=e||0,this.y=t||0}return r.prototype.copy=function(e){return this.x=e.x,this.y=e.y,this},r.prototype.clone=function(){return new r(this.x,this.y)},r.prototype.set=function(e,t){return this.x=e,this.y=t,this},r.prototype.equal=function(e){return e.x===this.x&&e.y===this.y},r.prototype.add=function(e){return this.x+=e.x,this.y+=e.y,this},r.prototype.scale=function(e){this.x*=e,this.y*=e},r.prototype.scaleAndAdd=function(e,t){this.x+=e.x*t,this.y+=e.y*t},r.prototype.sub=function(e){return this.x-=e.x,this.y-=e.y,this},r.prototype.dot=function(e){return this.x*e.x+this.y*e.y},r.prototype.len=function(){return Math.sqrt(this.x*this.x+this.y*this.y)},r.prototype.lenSquare=function(){return this.x*this.x+this.y*this.y},r.prototype.normalize=function(){var e=this.len();return this.x/=e,this.y/=e,this},r.prototype.distance=function(e){var t=this.x-e.x,a=this.y-e.y;return Math.sqrt(t*t+a*a)},r.prototype.distanceSquare=function(e){var t=this.x-e.x,a=this.y-e.y;return t*t+a*a},r.prototype.negate=function(){return this.x=-this.x,this.y=-this.y,this},r.prototype.transform=function(e){if(e){var t=this.x,a=this.y;return this.x=e[0]*t+e[2]*a+e[4],this.y=e[1]*t+e[3]*a+e[5],this}},r.prototype.toArray=function(e){return e[0]=this.x,e[1]=this.y,e},r.prototype.fromArray=function(e){this.x=e[0],this.y=e[1]},r.set=function(e,t,a){e.x=t,e.y=a},r.copy=function(e,t){e.x=t.x,e.y=t.y},r.len=function(e){return Math.sqrt(e.x*e.x+e.y*e.y)},r.lenSquare=function(e){return e.x*e.x+e.y*e.y},r.dot=function(e,t){return e.x*t.x+e.y*t.y},r.add=function(e,t,a){e.x=t.x+a.x,e.y=t.y+a.y},r.sub=function(e,t,a){e.x=t.x-a.x,e.y=t.y-a.y},r.scale=function(e,t,a){e.x=t.x*a,e.y=t.y*a},r.scaleAndAdd=function(e,t,a,n){e.x=t.x+a.x*n,e.y=t.y+a.y*n},r.lerp=function(e,t,a,n){var i=1-n;e.x=i*t.x+n*a.x,e.y=i*t.y+n*a.y},r}(),ql=Math.min,Kl=Math.max,hn=new ft,vn=new ft,cn=new ft,pn=new ft,Yo=new ft,$o=new ft,ht=function(){function r(e,t,a,n){a<0&&(e=e+a,a=-a),n<0&&(t=t+n,n=-n),this.x=e,this.y=t,this.width=a,this.height=n}return r.prototype.union=function(e){var t=ql(e.x,this.x),a=ql(e.y,this.y);isFinite(this.x)&&isFinite(this.width)?this.width=Kl(e.x+e.width,this.x+this.width)-t:this.width=e.width,isFinite(this.y)&&isFinite(this.height)?this.height=Kl(e.y+e.height,this.y+this.height)-a:this.height=e.height,this.x=t,this.y=a},r.prototype.applyTransform=function(e){r.applyTransform(this,this,e)},r.prototype.calculateTransform=function(e){var t=this,a=e.width/t.width,n=e.height/t.height,i=Ge();return Ir(i,i,[-t.x,-t.y]),Sh(i,i,[a,n]),Ir(i,i,[e.x,e.y]),i},r.prototype.intersect=function(e,t){if(!e)return!1;e instanceof r||(e=r.create(e));var a=this,n=a.x,i=a.x+a.width,o=a.y,s=a.y+a.height,l=e.x,u=e.x+e.width,f=e.y,h=e.y+e.height,v=!(i<l||u<n||s<f||h<o);if(t){var c=1/0,p=0,d=Math.abs(i-l),g=Math.abs(u-n),y=Math.abs(s-f),m=Math.abs(h-o),_=Math.min(d,g),S=Math.min(y,m);i<l||u<n?_>p&&(p=_,d<g?ft.set($o,-d,0):ft.set($o,g,0)):_<c&&(c=_,d<g?ft.set(Yo,d,0):ft.set(Yo,-g,0)),s<f||h<o?S>p&&(p=S,y<m?ft.set($o,0,-y):ft.set($o,0,m)):_<c&&(c=_,y<m?ft.set(Yo,0,y):ft.set(Yo,0,-m))}return t&&ft.copy(t,v?Yo:$o),v},r.prototype.contain=function(e,t){var a=this;return e>=a.x&&e<=a.x+a.width&&t>=a.y&&t<=a.y+a.height},r.prototype.clone=function(){return new r(this.x,this.y,this.width,this.height)},r.prototype.copy=function(e){r.copy(this,e)},r.prototype.plain=function(){return{x:this.x,y:this.y,width:this.width,height:this.height}},r.prototype.isFinite=function(){return isFinite(this.x)&&isFinite(this.y)&&isFinite(this.width)&&isFinite(this.height)},r.prototype.isZero=function(){return this.width===0||this.height===0},r.create=function(e){return new r(e.x,e.y,e.width,e.height)},r.copy=function(e,t){e.x=t.x,e.y=t.y,e.width=t.width,e.height=t.height},r.applyTransform=function(e,t,a){if(!a){e!==t&&r.copy(e,t);return}if(a[1]<1e-5&&a[1]>-1e-5&&a[2]<1e-5&&a[2]>-1e-5){var n=a[0],i=a[3],o=a[4],s=a[5];e.x=t.x*n+o,e.y=t.y*i+s,e.width=t.width*n,e.height=t.height*i,e.width<0&&(e.x+=e.width,e.width=-e.width),e.height<0&&(e.y+=e.height,e.height=-e.height);return}hn.x=cn.x=t.x,hn.y=pn.y=t.y,vn.x=pn.x=t.x+t.width,vn.y=cn.y=t.y+t.height,hn.transform(a),pn.transform(a),vn.transform(a),cn.transform(a),e.x=ql(hn.x,vn.x,cn.x,pn.x),e.y=ql(hn.y,vn.y,cn.y,pn.y);var l=Kl(hn.x,vn.x,cn.x,pn.x),u=Kl(hn.y,vn.y,cn.y,pn.y);e.width=l-e.x,e.height=u-e.y},r}(),aT="silent";function T2(r,e,t){return{type:r,event:t,target:e.target,topTarget:e.topTarget,cancelBubble:!1,offsetX:t.zrX,offsetY:t.zrY,gestureEvent:t.gestureEvent,pinchX:t.pinchX,pinchY:t.pinchY,pinchScale:t.pinchScale,wheelDelta:t.zrDelta,zrByTouch:t.zrByTouch,which:t.which,stop:A2}}function A2(){da(this.event)}var C2=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.handler=null,t}return e.prototype.dispose=function(){},e.prototype.setCursor=function(){},e}(hr),Xo=function(){function r(e,t){this.x=e,this.y=t}return r}(),D2=["click","dblclick","mousewheel","mouseout","mouseup","mousedown","mousemove","contextmenu"],hv=new ht(0,0,0,0),nT=function(r){k(e,r);function e(t,a,n,i,o){var s=r.call(this)||this;return s._hovered=new Xo(0,0),s.storage=t,s.painter=a,s.painterRoot=i,s._pointerSize=o,n=n||new C2,s.proxy=null,s.setHandlerProxy(n),s._draggingMgr=new f2(s),s}return e.prototype.setHandlerProxy=function(t){this.proxy&&this.proxy.dispose(),t&&(D(D2,function(a){t.on&&t.on(a,this[a],this)},this),t.handler=this),this.proxy=t},e.prototype.mousemove=function(t){var a=t.zrX,n=t.zrY,i=iT(this,a,n),o=this._hovered,s=o.target;s&&!s.__zr&&(o=this.findHover(o.x,o.y),s=o.target);var l=this._hovered=i?new Xo(a,n):this.findHover(a,n),u=l.target,f=this.proxy;f.setCursor&&f.setCursor(u?u.cursor:"default"),s&&u!==s&&this.dispatchToElement(o,"mouseout",t),this.dispatchToElement(l,"mousemove",t),u&&u!==s&&this.dispatchToElement(l,"mouseover",t)},e.prototype.mouseout=function(t){var a=t.zrEventControl;a!=="only_globalout"&&this.dispatchToElement(this._hovered,"mouseout",t),a!=="no_globalout"&&this.trigger("globalout",{type:"globalout",event:t})},e.prototype.resize=function(){this._hovered=new Xo(0,0)},e.prototype.dispatch=function(t,a){var n=this[t];n&&n.call(this,a)},e.prototype.dispose=function(){this.proxy.dispose(),this.storage=null,this.proxy=null,this.painter=null},e.prototype.setCursorStyle=function(t){var a=this.proxy;a.setCursor&&a.setCursor(t)},e.prototype.dispatchToElement=function(t,a,n){t=t||{};var i=t.target;if(!(i&&i.silent)){for(var o="on"+a,s=T2(a,t,n);i&&(i[o]&&(s.cancelBubble=!!i[o].call(i,s)),i.trigger(a,s),i=i.__hostTarget?i.__hostTarget:i.parent,!s.cancelBubble););s.cancelBubble||(this.trigger(a,s),this.painter&&this.painter.eachOtherLayer&&this.painter.eachOtherLayer(function(l){typeof l[o]=="function"&&l[o].call(l,s),l.trigger&&l.trigger(a,s)}))}},e.prototype.findHover=function(t,a,n){var i=this.storage.getDisplayList(),o=new Xo(t,a);if(Km(i,o,t,a,n),this._pointerSize&&!o.target){for(var s=[],l=this._pointerSize,u=l/2,f=new ht(t-u,a-u,l,l),h=i.length-1;h>=0;h--){var v=i[h];v!==n&&!v.ignore&&!v.ignoreCoarsePointer&&(!v.parent||!v.parent.ignoreCoarsePointer)&&(hv.copy(v.getBoundingRect()),v.transform&&hv.applyTransform(v.transform),hv.intersect(f)&&s.push(v))}if(s.length)for(var c=4,p=Math.PI/12,d=Math.PI*2,g=0;g<u;g+=c)for(var y=0;y<d;y+=p){var m=t+g*Math.cos(y),_=a+g*Math.sin(y);if(Km(s,o,m,_,n),o.target)return o}}return o},e.prototype.processGesture=function(t,a){this._gestureMgr||(this._gestureMgr=new x2);var n=this._gestureMgr;a==="start"&&n.clear();var i=n.recognize(t,this.findHover(t.zrX,t.zrY,null).target,this.proxy.dom);if(a==="end"&&n.clear(),i){var o=i.type;t.gestureEvent=o;var s=new Xo;s.target=i.target,this.dispatchToElement(s,o,i.event)}},e}(hr);D(["click","mousedown","mouseup","mousewheel","dblclick","contextmenu"],function(r){nT.prototype[r]=function(e){var t=e.zrX,a=e.zrY,n=iT(this,t,a),i,o;if((r!=="mouseup"||!n)&&(i=this.findHover(t,a),o=i.target),r==="mousedown")this._downEl=o,this._downPoint=[e.zrX,e.zrY],this._upEl=o;else if(r==="mouseup")this._upEl=o;else if(r==="click"){if(this._downEl!==this._upEl||!this._downPoint||la(this._downPoint,[e.zrX,e.zrY])>4)return;this._downPoint=null}this.dispatchToElement(i,r,e)}});function M2(r,e,t){if(r[r.rectHover?"rectContain":"contain"](e,t)){for(var a=r,n=void 0,i=!1;a;){if(a.ignoreClip&&(i=!0),!i){var o=a.getClipPath();if(o&&!o.contain(e,t))return!1}a.silent&&(n=!0);var s=a.__hostTarget;a=s||a.parent}return n?aT:!0}return!1}function Km(r,e,t,a,n){for(var i=r.length-1;i>=0;i--){var o=r[i],s=void 0;if(o!==n&&!o.ignore&&(s=M2(o,t,a))&&(!e.topTarget&&(e.topTarget=o),s!==aT)){e.target=o;break}}}function iT(r,e,t){var a=r.painter;return e<0||e>a.getWidth()||t<0||t>a.getHeight()}var oT=32,Zo=7;function I2(r){for(var e=0;r>=oT;)e|=r&1,r>>=1;return r+e}function jm(r,e,t,a){var n=e+1;if(n===t)return 1;if(a(r[n++],r[e])<0){for(;n<t&&a(r[n],r[n-1])<0;)n++;L2(r,e,n)}else for(;n<t&&a(r[n],r[n-1])>=0;)n++;return n-e}function L2(r,e,t){for(t--;e<t;){var a=r[e];r[e++]=r[t],r[t--]=a}}function Jm(r,e,t,a,n){for(a===e&&a++;a<t;a++){for(var i=r[a],o=e,s=a,l;o<s;)l=o+s>>>1,n(i,r[l])<0?s=l:o=l+1;var u=a-o;switch(u){case 3:r[o+3]=r[o+2];case 2:r[o+2]=r[o+1];case 1:r[o+1]=r[o];break;default:for(;u>0;)r[o+u]=r[o+u-1],u--}r[o]=i}}function vv(r,e,t,a,n,i){var o=0,s=0,l=1;if(i(r,e[t+n])>0){for(s=a-n;l<s&&i(r,e[t+n+l])>0;)o=l,l=(l<<1)+1,l<=0&&(l=s);l>s&&(l=s),o+=n,l+=n}else{for(s=n+1;l<s&&i(r,e[t+n-l])<=0;)o=l,l=(l<<1)+1,l<=0&&(l=s);l>s&&(l=s);var u=o;o=n-l,l=n-u}for(o++;o<l;){var f=o+(l-o>>>1);i(r,e[t+f])>0?o=f+1:l=f}return l}function cv(r,e,t,a,n,i){var o=0,s=0,l=1;if(i(r,e[t+n])<0){for(s=n+1;l<s&&i(r,e[t+n-l])<0;)o=l,l=(l<<1)+1,l<=0&&(l=s);l>s&&(l=s);var u=o;o=n-l,l=n-u}else{for(s=a-n;l<s&&i(r,e[t+n+l])>=0;)o=l,l=(l<<1)+1,l<=0&&(l=s);l>s&&(l=s),o+=n,l+=n}for(o++;o<l;){var f=o+(l-o>>>1);i(r,e[t+f])<0?l=f:o=f+1}return l}function P2(r,e){var t=Zo,a,n,i=0,o=[];a=[],n=[];function s(c,p){a[i]=c,n[i]=p,i+=1}function l(){for(;i>1;){var c=i-2;if(c>=1&&n[c-1]<=n[c]+n[c+1]||c>=2&&n[c-2]<=n[c]+n[c-1])n[c-1]<n[c+1]&&c--;else if(n[c]>n[c+1])break;f(c)}}function u(){for(;i>1;){var c=i-2;c>0&&n[c-1]<n[c+1]&&c--,f(c)}}function f(c){var p=a[c],d=n[c],g=a[c+1],y=n[c+1];n[c]=d+y,c===i-3&&(a[c+1]=a[c+2],n[c+1]=n[c+2]),i--;var m=cv(r[g],r,p,d,0,e);p+=m,d-=m,d!==0&&(y=vv(r[p+d-1],r,g,y,y-1,e),y!==0&&(d<=y?h(p,d,g,y):v(p,d,g,y)))}function h(c,p,d,g){var y=0;for(y=0;y<p;y++)o[y]=r[c+y];var m=0,_=d,S=c;if(r[S++]=r[_++],--g===0){for(y=0;y<p;y++)r[S+y]=o[m+y];return}if(p===1){for(y=0;y<g;y++)r[S+y]=r[_+y];r[S+g]=o[m];return}for(var b=t,x,w,T;;){x=0,w=0,T=!1;do if(e(r[_],o[m])<0){if(r[S++]=r[_++],w++,x=0,--g===0){T=!0;break}}else if(r[S++]=o[m++],x++,w=0,--p===1){T=!0;break}while((x|w)<b);if(T)break;do{if(x=cv(r[_],o,m,p,0,e),x!==0){for(y=0;y<x;y++)r[S+y]=o[m+y];if(S+=x,m+=x,p-=x,p<=1){T=!0;break}}if(r[S++]=r[_++],--g===0){T=!0;break}if(w=vv(o[m],r,_,g,0,e),w!==0){for(y=0;y<w;y++)r[S+y]=r[_+y];if(S+=w,_+=w,g-=w,g===0){T=!0;break}}if(r[S++]=o[m++],--p===1){T=!0;break}b--}while(x>=Zo||w>=Zo);if(T)break;b<0&&(b=0),b+=2}if(t=b,t<1&&(t=1),p===1){for(y=0;y<g;y++)r[S+y]=r[_+y];r[S+g]=o[m]}else{if(p===0)throw new Error;for(y=0;y<p;y++)r[S+y]=o[m+y]}}function v(c,p,d,g){var y=0;for(y=0;y<g;y++)o[y]=r[d+y];var m=c+p-1,_=g-1,S=d+g-1,b=0,x=0;if(r[S--]=r[m--],--p===0){for(b=S-(g-1),y=0;y<g;y++)r[b+y]=o[y];return}if(g===1){for(S-=p,m-=p,x=S+1,b=m+1,y=p-1;y>=0;y--)r[x+y]=r[b+y];r[S]=o[_];return}for(var w=t;;){var T=0,A=0,C=!1;do if(e(o[_],r[m])<0){if(r[S--]=r[m--],T++,A=0,--p===0){C=!0;break}}else if(r[S--]=o[_--],A++,T=0,--g===1){C=!0;break}while((T|A)<w);if(C)break;do{if(T=p-cv(o[_],r,c,p,p-1,e),T!==0){for(S-=T,m-=T,p-=T,x=S+1,b=m+1,y=T-1;y>=0;y--)r[x+y]=r[b+y];if(p===0){C=!0;break}}if(r[S--]=o[_--],--g===1){C=!0;break}if(A=g-vv(r[m],o,0,g,g-1,e),A!==0){for(S-=A,_-=A,g-=A,x=S+1,b=_+1,y=0;y<A;y++)r[x+y]=o[b+y];if(g<=1){C=!0;break}}if(r[S--]=r[m--],--p===0){C=!0;break}w--}while(T>=Zo||A>=Zo);if(C)break;w<0&&(w=0),w+=2}if(t=w,t<1&&(t=1),g===1){for(S-=p,m-=p,x=S+1,b=m+1,y=p-1;y>=0;y--)r[x+y]=r[b+y];r[S]=o[_]}else{if(g===0)throw new Error;for(b=S-(g-1),y=0;y<g;y++)r[b+y]=o[y]}}return{mergeRuns:l,forceMergeRuns:u,pushRun:s}}function Ku(r,e,t,a){t||(t=0),a||(a=r.length);var n=a-t;if(!(n<2)){var i=0;if(n<oT){i=jm(r,t,a,e),Jm(r,t,a,t+i,e);return}var o=P2(r,e),s=I2(n);do{if(i=jm(r,t,a,e),i<s){var l=n;l>s&&(l=s),Jm(r,t,t+l,t+i,e),i=l}o.pushRun(t,i),o.mergeRuns(),n-=i,t+=i}while(n!==0);o.forceMergeRuns()}}var We=1,Ss=2,Zi=4,Qm=!1;function pv(){Qm||(Qm=!0,console.warn("z / z2 / zlevel of displayable is invalid, which may cause unexpected errors"))}function t0(r,e){return r.zlevel===e.zlevel?r.z===e.z?r.z2-e.z2:r.z-e.z:r.zlevel-e.zlevel}var R2=function(){function r(){this._roots=[],this._displayList=[],this._displayListLen=0,this.displayableSortFunc=t0}return r.prototype.traverse=function(e,t){for(var a=0;a<this._roots.length;a++)this._roots[a].traverse(e,t)},r.prototype.getDisplayList=function(e,t){t=t||!1;var a=this._displayList;return(e||!a.length)&&this.updateDisplayList(t),a},r.prototype.updateDisplayList=function(e){this._displayListLen=0;for(var t=this._roots,a=this._displayList,n=0,i=t.length;n<i;n++)this._updateAndAddDisplayable(t[n],null,e);a.length=this._displayListLen,Ku(a,t0)},r.prototype._updateAndAddDisplayable=function(e,t,a){if(!(e.ignore&&!a)){e.beforeUpdate(),e.update(),e.afterUpdate();var n=e.getClipPath();if(e.ignoreClip)t=null;else if(n){t?t=t.slice():t=[];for(var i=n,o=e;i;)i.parent=o,i.updateTransform(),t.push(i),o=i,i=i.getClipPath()}if(e.childrenRef){for(var s=e.childrenRef(),l=0;l<s.length;l++){var u=s[l];e.__dirty&&(u.__dirty|=We),this._updateAndAddDisplayable(u,t,a)}e.__dirty=0}else{var f=e;t&&t.length?f.__clipPaths=t:f.__clipPaths&&f.__clipPaths.length>0&&(f.__clipPaths=[]),isNaN(f.z)&&(pv(),f.z=0),isNaN(f.z2)&&(pv(),f.z2=0),isNaN(f.zlevel)&&(pv(),f.zlevel=0),this._displayList[this._displayListLen++]=f}var h=e.getDecalElement&&e.getDecalElement();h&&this._updateAndAddDisplayable(h,t,a);var v=e.getTextGuideLine();v&&this._updateAndAddDisplayable(v,t,a);var c=e.getTextContent();c&&this._updateAndAddDisplayable(c,t,a)}},r.prototype.addRoot=function(e){e.__zr&&e.__zr.storage===this||this._roots.push(e)},r.prototype.delRoot=function(e){if(e instanceof Array){for(var t=0,a=e.length;t<a;t++)this.delRoot(e[t]);return}var n=vt(this._roots,e);n>=0&&this._roots.splice(n,1)},r.prototype.delAllRoots=function(){this._roots=[],this._displayList=[],this._displayListLen=0},r.prototype.getRoots=function(){return this._roots},r.prototype.dispose=function(){this._displayList=null,this._roots=null},r}(),_f;_f=yt.hasGlobalWindow&&(window.requestAnimationFrame&&window.requestAnimationFrame.bind(window)||window.msRequestAnimationFrame&&window.msRequestAnimationFrame.bind(window)||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame)||function(r){return setTimeout(r,16)};var Os={linear:function(r){return r},quadraticIn:function(r){return r*r},quadraticOut:function(r){return r*(2-r)},quadraticInOut:function(r){return(r*=2)<1?.5*r*r:-.5*(--r*(r-2)-1)},cubicIn:function(r){return r*r*r},cubicOut:function(r){return--r*r*r+1},cubicInOut:function(r){return(r*=2)<1?.5*r*r*r:.5*((r-=2)*r*r+2)},quarticIn:function(r){return r*r*r*r},quarticOut:function(r){return 1- --r*r*r*r},quarticInOut:function(r){return(r*=2)<1?.5*r*r*r*r:-.5*((r-=2)*r*r*r-2)},quinticIn:function(r){return r*r*r*r*r},quinticOut:function(r){return--r*r*r*r*r+1},quinticInOut:function(r){return(r*=2)<1?.5*r*r*r*r*r:.5*((r-=2)*r*r*r*r+2)},sinusoidalIn:function(r){return 1-Math.cos(r*Math.PI/2)},sinusoidalOut:function(r){return Math.sin(r*Math.PI/2)},sinusoidalInOut:function(r){return .5*(1-Math.cos(Math.PI*r))},exponentialIn:function(r){return r===0?0:Math.pow(1024,r-1)},exponentialOut:function(r){return r===1?1:1-Math.pow(2,-10*r)},exponentialInOut:function(r){return r===0?0:r===1?1:(r*=2)<1?.5*Math.pow(1024,r-1):.5*(-Math.pow(2,-10*(r-1))+2)},circularIn:function(r){return 1-Math.sqrt(1-r*r)},circularOut:function(r){return Math.sqrt(1- --r*r)},circularInOut:function(r){return(r*=2)<1?-.5*(Math.sqrt(1-r*r)-1):.5*(Math.sqrt(1-(r-=2)*r)+1)},elasticIn:function(r){var e,t=.1,a=.4;return r===0?0:r===1?1:(!t||t<1?(t=1,e=a/4):e=a*Math.asin(1/t)/(2*Math.PI),-(t*Math.pow(2,10*(r-=1))*Math.sin((r-e)*(2*Math.PI)/a)))},elasticOut:function(r){var e,t=.1,a=.4;return r===0?0:r===1?1:(!t||t<1?(t=1,e=a/4):e=a*Math.asin(1/t)/(2*Math.PI),t*Math.pow(2,-10*r)*Math.sin((r-e)*(2*Math.PI)/a)+1)},elasticInOut:function(r){var e,t=.1,a=.4;return r===0?0:r===1?1:(!t||t<1?(t=1,e=a/4):e=a*Math.asin(1/t)/(2*Math.PI),(r*=2)<1?-.5*(t*Math.pow(2,10*(r-=1))*Math.sin((r-e)*(2*Math.PI)/a)):t*Math.pow(2,-10*(r-=1))*Math.sin((r-e)*(2*Math.PI)/a)*.5+1)},backIn:function(r){var e=1.70158;return r*r*((e+1)*r-e)},backOut:function(r){var e=1.70158;return--r*r*((e+1)*r+e)+1},backInOut:function(r){var e=2.5949095;return(r*=2)<1?.5*(r*r*((e+1)*r-e)):.5*((r-=2)*r*((e+1)*r+e)+2)},bounceIn:function(r){return 1-Os.bounceOut(1-r)},bounceOut:function(r){return r<1/2.75?7.5625*r*r:r<2/2.75?7.5625*(r-=1.5/2.75)*r+.75:r<2.5/2.75?7.5625*(r-=2.25/2.75)*r+.9375:7.5625*(r-=2.625/2.75)*r+.984375},bounceInOut:function(r){return r<.5?Os.bounceIn(r*2)*.5:Os.bounceOut(r*2-1)*.5+.5}},jl=Math.pow,Ya=Math.sqrt,Sf=1e-8,sT=1e-4,e0=Ya(3),Jl=1/3,Fr=nn(),nr=nn(),no=nn();function Va(r){return r>-Sf&&r<Sf}function lT(r){return r>Sf||r<-Sf}function ee(r,e,t,a,n){var i=1-n;return i*i*(i*r+3*n*e)+n*n*(n*a+3*i*t)}function r0(r,e,t,a,n){var i=1-n;return 3*(((e-r)*i+2*(t-e)*n)*i+(a-t)*n*n)}function xf(r,e,t,a,n,i){var o=a+3*(e-t)-r,s=3*(t-e*2+r),l=3*(e-r),u=r-n,f=s*s-3*o*l,h=s*l-9*o*u,v=l*l-3*s*u,c=0;if(Va(f)&&Va(h))if(Va(s))i[0]=0;else{var p=-l/s;p>=0&&p<=1&&(i[c++]=p)}else{var d=h*h-4*f*v;if(Va(d)){var g=h/f,p=-s/o+g,y=-g/2;p>=0&&p<=1&&(i[c++]=p),y>=0&&y<=1&&(i[c++]=y)}else if(d>0){var m=Ya(d),_=f*s+1.5*o*(-h+m),S=f*s+1.5*o*(-h-m);_<0?_=-jl(-_,Jl):_=jl(_,Jl),S<0?S=-jl(-S,Jl):S=jl(S,Jl);var p=(-s-(_+S))/(3*o);p>=0&&p<=1&&(i[c++]=p)}else{var b=(2*f*s-3*o*h)/(2*Ya(f*f*f)),x=Math.acos(b)/3,w=Ya(f),T=Math.cos(x),p=(-s-2*w*T)/(3*o),y=(-s+w*(T+e0*Math.sin(x)))/(3*o),A=(-s+w*(T-e0*Math.sin(x)))/(3*o);p>=0&&p<=1&&(i[c++]=p),y>=0&&y<=1&&(i[c++]=y),A>=0&&A<=1&&(i[c++]=A)}}return c}function uT(r,e,t,a,n){var i=6*t-12*e+6*r,o=9*e+3*a-3*r-9*t,s=3*e-3*r,l=0;if(Va(o)){if(lT(i)){var u=-s/i;u>=0&&u<=1&&(n[l++]=u)}}else{var f=i*i-4*o*s;if(Va(f))n[0]=-i/(2*o);else if(f>0){var h=Ya(f),u=(-i+h)/(2*o),v=(-i-h)/(2*o);u>=0&&u<=1&&(n[l++]=u),v>=0&&v<=1&&(n[l++]=v)}}return l}function Qa(r,e,t,a,n,i){var o=(e-r)*n+r,s=(t-e)*n+e,l=(a-t)*n+t,u=(s-o)*n+o,f=(l-s)*n+s,h=(f-u)*n+u;i[0]=r,i[1]=o,i[2]=u,i[3]=h,i[4]=h,i[5]=f,i[6]=l,i[7]=a}function fT(r,e,t,a,n,i,o,s,l,u,f){var h,v=.005,c=1/0,p,d,g,y;Fr[0]=l,Fr[1]=u;for(var m=0;m<1;m+=.05)nr[0]=ee(r,t,n,o,m),nr[1]=ee(e,a,i,s,m),g=Ua(Fr,nr),g<c&&(h=m,c=g);c=1/0;for(var _=0;_<32&&!(v<sT);_++)p=h-v,d=h+v,nr[0]=ee(r,t,n,o,p),nr[1]=ee(e,a,i,s,p),g=Ua(nr,Fr),p>=0&&g<c?(h=p,c=g):(no[0]=ee(r,t,n,o,d),no[1]=ee(e,a,i,s,d),y=Ua(no,Fr),d<=1&&y<c?(h=d,c=y):v*=.5);return f&&(f[0]=ee(r,t,n,o,h),f[1]=ee(e,a,i,s,h)),Ya(c)}function E2(r,e,t,a,n,i,o,s,l){for(var u=r,f=e,h=0,v=1/l,c=1;c<=l;c++){var p=c*v,d=ee(r,t,n,o,p),g=ee(e,a,i,s,p),y=d-u,m=g-f;h+=Math.sqrt(y*y+m*m),u=d,f=g}return h}function le(r,e,t,a){var n=1-a;return n*(n*r+2*a*e)+a*a*t}function Bp(r,e,t,a){return 2*((1-a)*(e-r)+a*(t-e))}function k2(r,e,t,a,n){var i=r-2*e+t,o=2*(e-r),s=r-a,l=0;if(Va(i)){if(lT(o)){var u=-s/o;u>=0&&u<=1&&(n[l++]=u)}}else{var f=o*o-4*i*s;if(Va(f)){var u=-o/(2*i);u>=0&&u<=1&&(n[l++]=u)}else if(f>0){var h=Ya(f),u=(-o+h)/(2*i),v=(-o-h)/(2*i);u>=0&&u<=1&&(n[l++]=u),v>=0&&v<=1&&(n[l++]=v)}}return l}function hT(r,e,t){var a=r+t-2*e;return a===0?.5:(r-e)/a}function js(r,e,t,a,n){var i=(e-r)*a+r,o=(t-e)*a+e,s=(o-i)*a+i;n[0]=r,n[1]=i,n[2]=s,n[3]=s,n[4]=o,n[5]=t}function vT(r,e,t,a,n,i,o,s,l){var u,f=.005,h=1/0;Fr[0]=o,Fr[1]=s;for(var v=0;v<1;v+=.05){nr[0]=le(r,t,n,v),nr[1]=le(e,a,i,v);var c=Ua(Fr,nr);c<h&&(u=v,h=c)}h=1/0;for(var p=0;p<32&&!(f<sT);p++){var d=u-f,g=u+f;nr[0]=le(r,t,n,d),nr[1]=le(e,a,i,d);var c=Ua(nr,Fr);if(d>=0&&c<h)u=d,h=c;else{no[0]=le(r,t,n,g),no[1]=le(e,a,i,g);var y=Ua(no,Fr);g<=1&&y<h?(u=g,h=y):f*=.5}}return l&&(l[0]=le(r,t,n,u),l[1]=le(e,a,i,u)),Ya(h)}function O2(r,e,t,a,n,i,o){for(var s=r,l=e,u=0,f=1/o,h=1;h<=o;h++){var v=h*f,c=le(r,t,n,v),p=le(e,a,i,v),d=c-s,g=p-l;u+=Math.sqrt(d*d+g*g),s=c,l=p}return u}var N2=/cubic-bezier\(([0-9,\.e ]+)\)/;function Ig(r){var e=r&&N2.exec(r);if(e){var t=e[1].split(","),a=+sr(t[0]),n=+sr(t[1]),i=+sr(t[2]),o=+sr(t[3]);if(isNaN(a+n+i+o))return;var s=[];return function(l){return l<=0?0:l>=1?1:xf(0,a,i,1,l,s)&&ee(0,n,o,1,s[0])}}}var B2=function(){function r(e){this._inited=!1,this._startTime=0,this._pausedTime=0,this._paused=!1,this._life=e.life||1e3,this._delay=e.delay||0,this.loop=e.loop||!1,this.onframe=e.onframe||Yt,this.ondestroy=e.ondestroy||Yt,this.onrestart=e.onrestart||Yt,e.easing&&this.setEasing(e.easing)}return r.prototype.step=function(e,t){if(this._inited||(this._startTime=e+this._delay,this._inited=!0),this._paused){this._pausedTime+=t;return}var a=this._life,n=e-this._startTime-this._pausedTime,i=n/a;i<0&&(i=0),i=Math.min(i,1);var o=this.easingFunc,s=o?o(i):i;if(this.onframe(s),i===1)if(this.loop){var l=n%a;this._startTime=e-l,this._pausedTime=0,this.onrestart()}else return!0;return!1},r.prototype.pause=function(){this._paused=!0},r.prototype.resume=function(){this._paused=!1},r.prototype.setEasing=function(e){this.easing=e,this.easingFunc=K(e)?e:Os[e]||Ig(e)},r}(),cT=function(){function r(e){this.value=e}return r}(),V2=function(){function r(){this._len=0}return r.prototype.insert=function(e){var t=new cT(e);return this.insertEntry(t),t},r.prototype.insertEntry=function(e){this.head?(this.tail.next=e,e.prev=this.tail,e.next=null,this.tail=e):this.head=this.tail=e,this._len++},r.prototype.remove=function(e){var t=e.prev,a=e.next;t?t.next=a:this.head=a,a?a.prev=t:this.tail=t,e.next=e.prev=null,this._len--},r.prototype.len=function(){return this._len},r.prototype.clear=function(){this.head=this.tail=null,this._len=0},r}(),Ml=function(){function r(e){this._list=new V2,this._maxSize=10,this._map={},this._maxSize=e}return r.prototype.put=function(e,t){var a=this._list,n=this._map,i=null;if(n[e]==null){var o=a.len(),s=this._lastRemovedEntry;if(o>=this._maxSize&&o>0){var l=a.head;a.remove(l),delete n[l.key],i=l.value,this._lastRemovedEntry=l}s?s.value=t:s=new cT(t),s.key=e,a.insertEntry(s),n[e]=s}return i},r.prototype.get=function(e){var t=this._map[e],a=this._list;if(t!=null)return t!==a.tail&&(a.remove(t),a.insertEntry(t)),t.value},r.prototype.clear=function(){this._list.clear(),this._map={}},r.prototype.len=function(){return this._list.len()},r}(),a0={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};function Ar(r){return r=Math.round(r),r<0?0:r>255?255:r}function z2(r){return r=Math.round(r),r<0?0:r>360?360:r}function Js(r){return r<0?0:r>1?1:r}function dv(r){var e=r;return e.length&&e.charAt(e.length-1)==="%"?Ar(parseFloat(e)/100*255):Ar(parseInt(e,10))}function Qn(r){var e=r;return e.length&&e.charAt(e.length-1)==="%"?Js(parseFloat(e)/100):Js(parseFloat(e))}function gv(r,e,t){return t<0?t+=1:t>1&&(t-=1),t*6<1?r+(e-r)*t*6:t*2<1?e:t*3<2?r+(e-r)*(2/3-t)*6:r}function za(r,e,t){return r+(e-r)*t}function Qe(r,e,t,a,n){return r[0]=e,r[1]=t,r[2]=a,r[3]=n,r}function Vp(r,e){return r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r}var pT=new Ml(20),Ql=null;function Ci(r,e){Ql&&Vp(Ql,e),Ql=pT.put(r,Ql||e.slice())}function Le(r,e){if(r){e=e||[];var t=pT.get(r);if(t)return Vp(e,t);r=r+"";var a=r.replace(/ /g,"").toLowerCase();if(a in a0)return Vp(e,a0[a]),Ci(r,e),e;var n=a.length;if(a.charAt(0)==="#"){if(n===4||n===5){var i=parseInt(a.slice(1,4),16);if(!(i>=0&&i<=4095)){Qe(e,0,0,0,1);return}return Qe(e,(i&3840)>>4|(i&3840)>>8,i&240|(i&240)>>4,i&15|(i&15)<<4,n===5?parseInt(a.slice(4),16)/15:1),Ci(r,e),e}else if(n===7||n===9){var i=parseInt(a.slice(1,7),16);if(!(i>=0&&i<=16777215)){Qe(e,0,0,0,1);return}return Qe(e,(i&16711680)>>16,(i&65280)>>8,i&255,n===9?parseInt(a.slice(7),16)/255:1),Ci(r,e),e}return}var o=a.indexOf("("),s=a.indexOf(")");if(o!==-1&&s+1===n){var l=a.substr(0,o),u=a.substr(o+1,s-(o+1)).split(","),f=1;switch(l){case"rgba":if(u.length!==4)return u.length===3?Qe(e,+u[0],+u[1],+u[2],1):Qe(e,0,0,0,1);f=Qn(u.pop());case"rgb":if(u.length>=3)return Qe(e,dv(u[0]),dv(u[1]),dv(u[2]),u.length===3?f:Qn(u[3])),Ci(r,e),e;Qe(e,0,0,0,1);return;case"hsla":if(u.length!==4){Qe(e,0,0,0,1);return}return u[3]=Qn(u[3]),zp(u,e),Ci(r,e),e;case"hsl":if(u.length!==3){Qe(e,0,0,0,1);return}return zp(u,e),Ci(r,e),e;default:return}}Qe(e,0,0,0,1)}}function zp(r,e){var t=(parseFloat(r[0])%360+360)%360/360,a=Qn(r[1]),n=Qn(r[2]),i=n<=.5?n*(a+1):n+a-n*a,o=n*2-i;return e=e||[],Qe(e,Ar(gv(o,i,t+1/3)*255),Ar(gv(o,i,t)*255),Ar(gv(o,i,t-1/3)*255),1),r.length===4&&(e[3]=r[3]),e}function G2(r){if(r){var e=r[0]/255,t=r[1]/255,a=r[2]/255,n=Math.min(e,t,a),i=Math.max(e,t,a),o=i-n,s=(i+n)/2,l,u;if(o===0)l=0,u=0;else{s<.5?u=o/(i+n):u=o/(2-i-n);var f=((i-e)/6+o/2)/o,h=((i-t)/6+o/2)/o,v=((i-a)/6+o/2)/o;e===i?l=v-h:t===i?l=1/3+f-v:a===i&&(l=2/3+h-f),l<0&&(l+=1),l>1&&(l-=1)}var c=[l*360,u,s];return r[3]!=null&&c.push(r[3]),c}}function bf(r,e){var t=Le(r);if(t){for(var a=0;a<3;a++)e<0?t[a]=t[a]*(1-e)|0:t[a]=(255-t[a])*e+t[a]|0,t[a]>255?t[a]=255:t[a]<0&&(t[a]=0);return Cr(t,t.length===4?"rgba":"rgb")}}function F2(r){var e=Le(r);if(e)return((1<<24)+(e[0]<<16)+(e[1]<<8)+ +e[2]).toString(16).slice(1)}function Ns(r,e,t){if(!(!(e&&e.length)||!(r>=0&&r<=1))){t=t||[];var a=r*(e.length-1),n=Math.floor(a),i=Math.ceil(a),o=e[n],s=e[i],l=a-n;return t[0]=Ar(za(o[0],s[0],l)),t[1]=Ar(za(o[1],s[1],l)),t[2]=Ar(za(o[2],s[2],l)),t[3]=Js(za(o[3],s[3],l)),t}}var H2=Ns;function Lg(r,e,t){if(!(!(e&&e.length)||!(r>=0&&r<=1))){var a=r*(e.length-1),n=Math.floor(a),i=Math.ceil(a),o=Le(e[n]),s=Le(e[i]),l=a-n,u=Cr([Ar(za(o[0],s[0],l)),Ar(za(o[1],s[1],l)),Ar(za(o[2],s[2],l)),Js(za(o[3],s[3],l))],"rgba");return t?{color:u,leftIndex:n,rightIndex:i,value:a}:u}}var W2=Lg;function io(r,e,t,a){var n=Le(r);if(r)return n=G2(n),e!=null&&(n[0]=z2(e)),t!=null&&(n[1]=Qn(t)),a!=null&&(n[2]=Qn(a)),Cr(zp(n),"rgba")}function Qs(r,e){var t=Le(r);if(t&&e!=null)return t[3]=Js(e),Cr(t,"rgba")}function Cr(r,e){if(!(!r||!r.length)){var t=r[0]+","+r[1]+","+r[2];return(e==="rgba"||e==="hsva"||e==="hsla")&&(t+=","+r[3]),e+"("+t+")"}}function tl(r,e){var t=Le(r);return t?(.299*t[0]+.587*t[1]+.114*t[2])*t[3]/255+(1-t[3])*e:0}function U2(){return Cr([Math.round(Math.random()*255),Math.round(Math.random()*255),Math.round(Math.random()*255)],"rgb")}var n0=new Ml(100);function wf(r){if(Y(r)){var e=n0.get(r);return e||(e=bf(r,-.1),n0.put(r,e)),e}else if(Al(r)){var t=V({},r);return t.colorStops=G(r.colorStops,function(a){return{offset:a.offset,color:bf(a.color,-.1)}}),t}return r}const Y2=Object.freeze(Object.defineProperty({__proto__:null,fastLerp:Ns,fastMapToColor:H2,lerp:Lg,lift:bf,liftColor:wf,lum:tl,mapToColor:W2,modifyAlpha:Qs,modifyHSL:io,parse:Le,random:U2,stringify:Cr,toHex:F2},Symbol.toStringTag,{value:"Module"}));var Tf=Math.round;function el(r){var e;if(!r||r==="transparent")r="none";else if(typeof r=="string"&&r.indexOf("rgba")>-1){var t=Le(r);t&&(r="rgb("+t[0]+","+t[1]+","+t[2]+")",e=t[3])}return{color:r,opacity:e??1}}var i0=1e-4;function Ga(r){return r<i0&&r>-i0}function tu(r){return Tf(r*1e3)/1e3}function Gp(r){return Tf(r*1e4)/1e4}function $2(r){return"matrix("+tu(r[0])+","+tu(r[1])+","+tu(r[2])+","+tu(r[3])+","+Gp(r[4])+","+Gp(r[5])+")"}var X2={left:"start",right:"end",center:"middle",middle:"middle"};function Z2(r,e,t){return t==="top"?r+=e/2:t==="bottom"&&(r-=e/2),r}function q2(r){return r&&(r.shadowBlur||r.shadowOffsetX||r.shadowOffsetY)}function K2(r){var e=r.style,t=r.getGlobalScale();return[e.shadowColor,(e.shadowBlur||0).toFixed(2),(e.shadowOffsetX||0).toFixed(2),(e.shadowOffsetY||0).toFixed(2),t[0],t[1]].join(",")}function dT(r){return r&&!!r.image}function j2(r){return r&&!!r.svgElement}function Pg(r){return dT(r)||j2(r)}function gT(r){return r.type==="linear"}function yT(r){return r.type==="radial"}function mT(r){return r&&(r.type==="linear"||r.type==="radial")}function xh(r){return"url(#"+r+")"}function _T(r){var e=r.getGlobalScale(),t=Math.max(e[0],e[1]);return Math.max(Math.ceil(Math.log(t)/Math.log(10)),1)}function ST(r){var e=r.x||0,t=r.y||0,a=(r.rotation||0)*Rs,n=st(r.scaleX,1),i=st(r.scaleY,1),o=r.skewX||0,s=r.skewY||0,l=[];return(e||t)&&l.push("translate("+e+"px,"+t+"px)"),a&&l.push("rotate("+a+")"),(n!==1||i!==1)&&l.push("scale("+n+","+i+")"),(o||s)&&l.push("skew("+Tf(o*Rs)+"deg, "+Tf(s*Rs)+"deg)"),l.join(" ")}var J2=function(){return yt.hasGlobalWindow&&K(window.btoa)?function(r){return window.btoa(unescape(encodeURIComponent(r)))}:typeof Buffer<"u"?function(r){return Buffer.from(r).toString("base64")}:function(r){return null}}(),Fp=Array.prototype.slice;function oa(r,e,t){return(e-r)*t+r}function yv(r,e,t,a){for(var n=e.length,i=0;i<n;i++)r[i]=oa(e[i],t[i],a);return r}function Q2(r,e,t,a){for(var n=e.length,i=n&&e[0].length,o=0;o<n;o++){r[o]||(r[o]=[]);for(var s=0;s<i;s++)r[o][s]=oa(e[o][s],t[o][s],a)}return r}function eu(r,e,t,a){for(var n=e.length,i=0;i<n;i++)r[i]=e[i]+t[i]*a;return r}function o0(r,e,t,a){for(var n=e.length,i=n&&e[0].length,o=0;o<n;o++){r[o]||(r[o]=[]);for(var s=0;s<i;s++)r[o][s]=e[o][s]+t[o][s]*a}return r}function tP(r,e){for(var t=r.length,a=e.length,n=t>a?e:r,i=Math.min(t,a),o=n[i-1]||{color:[0,0,0,0],offset:0},s=i;s<Math.max(t,a);s++)n.push({offset:o.offset,color:o.color.slice()})}function eP(r,e,t){var a=r,n=e;if(!(!a.push||!n.push)){var i=a.length,o=n.length;if(i!==o){var s=i>o;if(s)a.length=o;else for(var l=i;l<o;l++)a.push(t===1?n[l]:Fp.call(n[l]))}for(var u=a[0]&&a[0].length,l=0;l<a.length;l++)if(t===1)isNaN(a[l])&&(a[l]=n[l]);else for(var f=0;f<u;f++)isNaN(a[l][f])&&(a[l][f]=n[l][f])}}function Bs(r){if(he(r)){var e=r.length;if(he(r[0])){for(var t=[],a=0;a<e;a++)t.push(Fp.call(r[a]));return t}return Fp.call(r)}return r}function ju(r){return r[0]=Math.floor(r[0])||0,r[1]=Math.floor(r[1])||0,r[2]=Math.floor(r[2])||0,r[3]=r[3]==null?1:r[3],"rgba("+r.join(",")+")"}function rP(r){return he(r&&r[0])?2:1}var ru=0,Ju=1,xT=2,xs=3,Hp=4,Wp=5,s0=6;function l0(r){return r===Hp||r===Wp}function au(r){return r===Ju||r===xT}var qo=[0,0,0,0],aP=function(){function r(e){this.keyframes=[],this.discrete=!1,this._invalid=!1,this._needsSort=!1,this._lastFr=0,this._lastFrP=0,this.propName=e}return r.prototype.isFinished=function(){return this._finished},r.prototype.setFinished=function(){this._finished=!0,this._additiveTrack&&this._additiveTrack.setFinished()},r.prototype.needsAnimate=function(){return this.keyframes.length>=1},r.prototype.getAdditiveTrack=function(){return this._additiveTrack},r.prototype.addKeyframe=function(e,t,a){this._needsSort=!0;var n=this.keyframes,i=n.length,o=!1,s=s0,l=t;if(he(t)){var u=rP(t);s=u,(u===1&&!wt(t[0])||u===2&&!wt(t[0][0]))&&(o=!0)}else if(wt(t)&&!vo(t))s=ru;else if(Y(t))if(!isNaN(+t))s=ru;else{var f=Le(t);f&&(l=f,s=xs)}else if(Al(t)){var h=V({},l);h.colorStops=G(t.colorStops,function(c){return{offset:c.offset,color:Le(c.color)}}),gT(t)?s=Hp:yT(t)&&(s=Wp),l=h}i===0?this.valType=s:(s!==this.valType||s===s0)&&(o=!0),this.discrete=this.discrete||o;var v={time:e,value:l,rawValue:t,percent:0};return a&&(v.easing=a,v.easingFunc=K(a)?a:Os[a]||Ig(a)),n.push(v),v},r.prototype.prepare=function(e,t){var a=this.keyframes;this._needsSort&&a.sort(function(d,g){return d.time-g.time});for(var n=this.valType,i=a.length,o=a[i-1],s=this.discrete,l=au(n),u=l0(n),f=0;f<i;f++){var h=a[f],v=h.value,c=o.value;h.percent=h.time/e,s||(l&&f!==i-1?eP(v,c,n):u&&tP(v.colorStops,c.colorStops))}if(!s&&n!==Wp&&t&&this.needsAnimate()&&t.needsAnimate()&&n===t.valType&&!t._finished){this._additiveTrack=t;for(var p=a[0].value,f=0;f<i;f++)n===ru?a[f].additiveValue=a[f].value-p:n===xs?a[f].additiveValue=eu([],a[f].value,p,-1):au(n)&&(a[f].additiveValue=n===Ju?eu([],a[f].value,p,-1):o0([],a[f].value,p,-1))}},r.prototype.step=function(e,t){if(!this._finished){this._additiveTrack&&this._additiveTrack._finished&&(this._additiveTrack=null);var a=this._additiveTrack!=null,n=a?"additiveValue":"value",i=this.valType,o=this.keyframes,s=o.length,l=this.propName,u=i===xs,f,h=this._lastFr,v=Math.min,c,p;if(s===1)c=p=o[0];else{if(t<0)f=0;else if(t<this._lastFrP){var d=v(h+1,s-1);for(f=d;f>=0&&!(o[f].percent<=t);f--);f=v(f,s-2)}else{for(f=h;f<s&&!(o[f].percent>t);f++);f=v(f-1,s-2)}p=o[f+1],c=o[f]}if(c&&p){this._lastFr=f,this._lastFrP=t;var g=p.percent-c.percent,y=g===0?1:v((t-c.percent)/g,1);p.easingFunc&&(y=p.easingFunc(y));var m=a?this._additiveValue:u?qo:e[l];if((au(i)||u)&&!m&&(m=this._additiveValue=[]),this.discrete)e[l]=y<1?c.rawValue:p.rawValue;else if(au(i))i===Ju?yv(m,c[n],p[n],y):Q2(m,c[n],p[n],y);else if(l0(i)){var _=c[n],S=p[n],b=i===Hp;e[l]={type:b?"linear":"radial",x:oa(_.x,S.x,y),y:oa(_.y,S.y,y),colorStops:G(_.colorStops,function(w,T){var A=S.colorStops[T];return{offset:oa(w.offset,A.offset,y),color:ju(yv([],w.color,A.color,y))}}),global:S.global},b?(e[l].x2=oa(_.x2,S.x2,y),e[l].y2=oa(_.y2,S.y2,y)):e[l].r=oa(_.r,S.r,y)}else if(u)yv(m,c[n],p[n],y),a||(e[l]=ju(m));else{var x=oa(c[n],p[n],y);a?this._additiveValue=x:e[l]=x}a&&this._addToTarget(e)}}},r.prototype._addToTarget=function(e){var t=this.valType,a=this.propName,n=this._additiveValue;t===ru?e[a]=e[a]+n:t===xs?(Le(e[a],qo),eu(qo,qo,n,1),e[a]=ju(qo)):t===Ju?eu(e[a],e[a],n,1):t===xT&&o0(e[a],e[a],n,1)},r}(),Rg=function(){function r(e,t,a,n){if(this._tracks={},this._trackKeys=[],this._maxTime=0,this._started=0,this._clip=null,this._target=e,this._loop=t,t&&n){dh("Can' use additive animation on looped animation.");return}this._additiveAnimators=n,this._allowDiscrete=a}return r.prototype.getMaxTime=function(){return this._maxTime},r.prototype.getDelay=function(){return this._delay},r.prototype.getLoop=function(){return this._loop},r.prototype.getTarget=function(){return this._target},r.prototype.changeTarget=function(e){this._target=e},r.prototype.when=function(e,t,a){return this.whenWithKeys(e,t,_t(t),a)},r.prototype.whenWithKeys=function(e,t,a,n){for(var i=this._tracks,o=0;o<a.length;o++){var s=a[o],l=i[s];if(!l){l=i[s]=new aP(s);var u=void 0,f=this._getAdditiveTrack(s);if(f){var h=f.keyframes,v=h[h.length-1];u=v&&v.value,f.valType===xs&&u&&(u=ju(u))}else u=this._target[s];if(u==null)continue;e>0&&l.addKeyframe(0,Bs(u),n),this._trackKeys.push(s)}l.addKeyframe(e,Bs(t[s]),n)}return this._maxTime=Math.max(this._maxTime,e),this},r.prototype.pause=function(){this._clip.pause(),this._paused=!0},r.prototype.resume=function(){this._clip.resume(),this._paused=!1},r.prototype.isPaused=function(){return!!this._paused},r.prototype.duration=function(e){return this._maxTime=e,this._force=!0,this},r.prototype._doneCallback=function(){this._setTracksFinished(),this._clip=null;var e=this._doneCbs;if(e)for(var t=e.length,a=0;a<t;a++)e[a].call(this)},r.prototype._abortedCallback=function(){this._setTracksFinished();var e=this.animation,t=this._abortedCbs;if(e&&e.removeClip(this._clip),this._clip=null,t)for(var a=0;a<t.length;a++)t[a].call(this)},r.prototype._setTracksFinished=function(){for(var e=this._tracks,t=this._trackKeys,a=0;a<t.length;a++)e[t[a]].setFinished()},r.prototype._getAdditiveTrack=function(e){var t,a=this._additiveAnimators;if(a)for(var n=0;n<a.length;n++){var i=a[n].getTrack(e);i&&(t=i)}return t},r.prototype.start=function(e){if(!(this._started>0)){this._started=1;for(var t=this,a=[],n=this._maxTime||0,i=0;i<this._trackKeys.length;i++){var o=this._trackKeys[i],s=this._tracks[o],l=this._getAdditiveTrack(o),u=s.keyframes,f=u.length;if(s.prepare(n,l),s.needsAnimate())if(!this._allowDiscrete&&s.discrete){var h=u[f-1];h&&(t._target[s.propName]=h.rawValue),s.setFinished()}else a.push(s)}if(a.length||this._force){var v=new B2({life:n,loop:this._loop,delay:this._delay||0,onframe:function(c){t._started=2;var p=t._additiveAnimators;if(p){for(var d=!1,g=0;g<p.length;g++)if(p[g]._clip){d=!0;break}d||(t._additiveAnimators=null)}for(var g=0;g<a.length;g++)a[g].step(t._target,c);var y=t._onframeCbs;if(y)for(var g=0;g<y.length;g++)y[g](t._target,c)},ondestroy:function(){t._doneCallback()}});this._clip=v,this.animation&&this.animation.addClip(v),e&&v.setEasing(e)}else this._doneCallback();return this}},r.prototype.stop=function(e){if(this._clip){var t=this._clip;e&&t.onframe(1),this._abortedCallback()}},r.prototype.delay=function(e){return this._delay=e,this},r.prototype.during=function(e){return e&&(this._onframeCbs||(this._onframeCbs=[]),this._onframeCbs.push(e)),this},r.prototype.done=function(e){return e&&(this._doneCbs||(this._doneCbs=[]),this._doneCbs.push(e)),this},r.prototype.aborted=function(e){return e&&(this._abortedCbs||(this._abortedCbs=[]),this._abortedCbs.push(e)),this},r.prototype.getClip=function(){return this._clip},r.prototype.getTrack=function(e){return this._tracks[e]},r.prototype.getTracks=function(){var e=this;return G(this._trackKeys,function(t){return e._tracks[t]})},r.prototype.stopTracks=function(e,t){if(!e.length||!this._clip)return!0;for(var a=this._tracks,n=this._trackKeys,i=0;i<e.length;i++){var o=a[e[i]];o&&!o.isFinished()&&(t?o.step(this._target,1):this._started===1&&o.step(this._target,0),o.setFinished())}for(var s=!0,i=0;i<n.length;i++)if(!a[n[i]].isFinished()){s=!1;break}return s&&this._abortedCallback(),s},r.prototype.saveTo=function(e,t,a){if(e){t=t||this._trackKeys;for(var n=0;n<t.length;n++){var i=t[n],o=this._tracks[i];if(!(!o||o.isFinished())){var s=o.keyframes,l=s[a?0:s.length-1];l&&(e[i]=Bs(l.rawValue))}}}},r.prototype.__changeFinalValue=function(e,t){t=t||_t(e);for(var a=0;a<t.length;a++){var n=t[a],i=this._tracks[n];if(i){var o=i.keyframes;if(o.length>1){var s=o.pop();i.addKeyframe(s.time,e[n]),i.prepare(this._maxTime,i.getAdditiveTrack())}}}},r}();function Qi(){return new Date().getTime()}var nP=function(r){k(e,r);function e(t){var a=r.call(this)||this;return a._running=!1,a._time=0,a._pausedTime=0,a._pauseStart=0,a._paused=!1,t=t||{},a.stage=t.stage||{},a}return e.prototype.addClip=function(t){t.animation&&this.removeClip(t),this._head?(this._tail.next=t,t.prev=this._tail,t.next=null,this._tail=t):this._head=this._tail=t,t.animation=this},e.prototype.addAnimator=function(t){t.animation=this;var a=t.getClip();a&&this.addClip(a)},e.prototype.removeClip=function(t){if(t.animation){var a=t.prev,n=t.next;a?a.next=n:this._head=n,n?n.prev=a:this._tail=a,t.next=t.prev=t.animation=null}},e.prototype.removeAnimator=function(t){var a=t.getClip();a&&this.removeClip(a),t.animation=null},e.prototype.update=function(t){for(var a=Qi()-this._pausedTime,n=a-this._time,i=this._head;i;){var o=i.next,s=i.step(a,n);s&&(i.ondestroy(),this.removeClip(i)),i=o}this._time=a,t||(this.trigger("frame",n),this.stage.update&&this.stage.update())},e.prototype._startLoop=function(){var t=this;this._running=!0;function a(){t._running&&(_f(a),!t._paused&&t.update())}_f(a)},e.prototype.start=function(){this._running||(this._time=Qi(),this._pausedTime=0,this._startLoop())},e.prototype.stop=function(){this._running=!1},e.prototype.pause=function(){this._paused||(this._pauseStart=Qi(),this._paused=!0)},e.prototype.resume=function(){this._paused&&(this._pausedTime+=Qi()-this._pauseStart,this._paused=!1)},e.prototype.clear=function(){for(var t=this._head;t;){var a=t.next;t.prev=t.next=t.animation=null,t=a}this._head=this._tail=null},e.prototype.isFinished=function(){return this._head==null},e.prototype.animate=function(t,a){a=a||{},this.start();var n=new Rg(t,a.loop);return this.addAnimator(n),n},e}(hr),iP=300,mv=yt.domSupported,_v=function(){var r=["click","dblclick","mousewheel","wheel","mouseout","mouseup","mousedown","mousemove","contextmenu"],e=["touchstart","touchend","touchmove"],t={pointerdown:1,pointerup:1,pointermove:1,pointerout:1},a=G(r,function(n){var i=n.replace("mouse","pointer");return t.hasOwnProperty(i)?i:n});return{mouse:r,touch:e,pointer:a}}(),u0={mouse:["mousemove","mouseup"],pointer:["pointermove","pointerup"]},f0=!1;function Up(r){var e=r.pointerType;return e==="pen"||e==="touch"}function oP(r){r.touching=!0,r.touchTimer!=null&&(clearTimeout(r.touchTimer),r.touchTimer=null),r.touchTimer=setTimeout(function(){r.touching=!1,r.touchTimer=null},700)}function Sv(r){r&&(r.zrByTouch=!0)}function sP(r,e){return tr(r.dom,new lP(r,e),!0)}function bT(r,e){for(var t=e,a=!1;t&&t.nodeType!==9&&!(a=t.domBelongToZr||t!==e&&t===r.painterRoot);)t=t.parentNode;return a}var lP=function(){function r(e,t){this.stopPropagation=Yt,this.stopImmediatePropagation=Yt,this.preventDefault=Yt,this.type=t.type,this.target=this.currentTarget=e.dom,this.pointerType=t.pointerType,this.clientX=t.clientX,this.clientY=t.clientY}return r}(),_r={mousedown:function(r){r=tr(this.dom,r),this.__mayPointerCapture=[r.zrX,r.zrY],this.trigger("mousedown",r)},mousemove:function(r){r=tr(this.dom,r);var e=this.__mayPointerCapture;e&&(r.zrX!==e[0]||r.zrY!==e[1])&&this.__togglePointerCapture(!0),this.trigger("mousemove",r)},mouseup:function(r){r=tr(this.dom,r),this.__togglePointerCapture(!1),this.trigger("mouseup",r)},mouseout:function(r){r=tr(this.dom,r);var e=r.toElement||r.relatedTarget;bT(this,e)||(this.__pointerCapturing&&(r.zrEventControl="no_globalout"),this.trigger("mouseout",r))},wheel:function(r){f0=!0,r=tr(this.dom,r),this.trigger("mousewheel",r)},mousewheel:function(r){f0||(r=tr(this.dom,r),this.trigger("mousewheel",r))},touchstart:function(r){r=tr(this.dom,r),Sv(r),this.__lastTouchMoment=new Date,this.handler.processGesture(r,"start"),_r.mousemove.call(this,r),_r.mousedown.call(this,r)},touchmove:function(r){r=tr(this.dom,r),Sv(r),this.handler.processGesture(r,"change"),_r.mousemove.call(this,r)},touchend:function(r){r=tr(this.dom,r),Sv(r),this.handler.processGesture(r,"end"),_r.mouseup.call(this,r),+new Date-+this.__lastTouchMoment<iP&&_r.click.call(this,r)},pointerdown:function(r){_r.mousedown.call(this,r)},pointermove:function(r){Up(r)||_r.mousemove.call(this,r)},pointerup:function(r){_r.mouseup.call(this,r)},pointerout:function(r){Up(r)||_r.mouseout.call(this,r)}};D(["click","dblclick","contextmenu"],function(r){_r[r]=function(e){e=tr(this.dom,e),this.trigger(r,e)}});var Yp={pointermove:function(r){Up(r)||Yp.mousemove.call(this,r)},pointerup:function(r){Yp.mouseup.call(this,r)},mousemove:function(r){this.trigger("mousemove",r)},mouseup:function(r){var e=this.__pointerCapturing;this.__togglePointerCapture(!1),this.trigger("mouseup",r),e&&(r.zrEventControl="only_globalout",this.trigger("mouseout",r))}};function uP(r,e){var t=e.domHandlers;yt.pointerEventsSupported?D(_v.pointer,function(a){Qu(e,a,function(n){t[a].call(r,n)})}):(yt.touchEventsSupported&&D(_v.touch,function(a){Qu(e,a,function(n){t[a].call(r,n),oP(e)})}),D(_v.mouse,function(a){Qu(e,a,function(n){n=Mg(n),e.touching||t[a].call(r,n)})}))}function fP(r,e){yt.pointerEventsSupported?D(u0.pointer,t):yt.touchEventsSupported||D(u0.mouse,t);function t(a){function n(i){i=Mg(i),bT(r,i.target)||(i=sP(r,i),e.domHandlers[a].call(r,i))}Qu(e,a,n,{capture:!0})}}function Qu(r,e,t,a){r.mounted[e]=t,r.listenerOpts[e]=a,Np(r.domTarget,e,t,a)}function xv(r){var e=r.mounted;for(var t in e)e.hasOwnProperty(t)&&S2(r.domTarget,t,e[t],r.listenerOpts[t]);r.mounted={}}var h0=function(){function r(e,t){this.mounted={},this.listenerOpts={},this.touching=!1,this.domTarget=e,this.domHandlers=t}return r}(),hP=function(r){k(e,r);function e(t,a){var n=r.call(this)||this;return n.__pointerCapturing=!1,n.dom=t,n.painterRoot=a,n._localHandlerScope=new h0(t,_r),mv&&(n._globalHandlerScope=new h0(document,Yp)),uP(n,n._localHandlerScope),n}return e.prototype.dispose=function(){xv(this._localHandlerScope),mv&&xv(this._globalHandlerScope)},e.prototype.setCursor=function(t){this.dom.style&&(this.dom.style.cursor=t||"default")},e.prototype.__togglePointerCapture=function(t){if(this.__mayPointerCapture=null,mv&&+this.__pointerCapturing^+t){this.__pointerCapturing=t;var a=this._globalHandlerScope;t?fP(this,a):xv(a)}},e}(hr),wT=1;yt.hasGlobalWindow&&(wT=Math.max(window.devicePixelRatio||window.screen&&window.screen.deviceXDPI/window.screen.logicalXDPI||1,1));var Af=wT,$p=.4,Xp="#333",Zp="#ccc",vP="#eee",v0=Dl,c0=5e-5;function dn(r){return r>c0||r<-c0}var gn=[],Di=[],bv=Ge(),wv=Math.abs,ha=function(){function r(){}return r.prototype.getLocalTransform=function(e){return r.getLocalTransform(this,e)},r.prototype.setPosition=function(e){this.x=e[0],this.y=e[1]},r.prototype.setScale=function(e){this.scaleX=e[0],this.scaleY=e[1]},r.prototype.setSkew=function(e){this.skewX=e[0],this.skewY=e[1]},r.prototype.setOrigin=function(e){this.originX=e[0],this.originY=e[1]},r.prototype.needLocalTransform=function(){return dn(this.rotation)||dn(this.x)||dn(this.y)||dn(this.scaleX-1)||dn(this.scaleY-1)||dn(this.skewX)||dn(this.skewY)},r.prototype.updateTransform=function(){var e=this.parent&&this.parent.transform,t=this.needLocalTransform(),a=this.transform;if(!(t||e)){a&&(v0(a),this.invTransform=null);return}a=a||Ge(),t?this.getLocalTransform(a):v0(a),e&&(t?Xr(a,e,a):_h(a,e)),this.transform=a,this._resolveGlobalScaleRatio(a)},r.prototype._resolveGlobalScaleRatio=function(e){var t=this.globalScaleRatio;if(t!=null&&t!==1){this.getGlobalScale(gn);var a=gn[0]<0?-1:1,n=gn[1]<0?-1:1,i=((gn[0]-a)*t+a)/gn[0]||0,o=((gn[1]-n)*t+n)/gn[1]||0;e[0]*=i,e[1]*=i,e[2]*=o,e[3]*=o}this.invTransform=this.invTransform||Ge(),yi(this.invTransform,e)},r.prototype.getComputedTransform=function(){for(var e=this,t=[];e;)t.push(e),e=e.parent;for(;e=t.pop();)e.updateTransform();return this.transform},r.prototype.setLocalTransform=function(e){if(e){var t=e[0]*e[0]+e[1]*e[1],a=e[2]*e[2]+e[3]*e[3],n=Math.atan2(e[1],e[0]),i=Math.PI/2+n-Math.atan2(e[3],e[2]);a=Math.sqrt(a)*Math.cos(i),t=Math.sqrt(t),this.skewX=i,this.skewY=0,this.rotation=-n,this.x=+e[4],this.y=+e[5],this.scaleX=t,this.scaleY=a,this.originX=0,this.originY=0}},r.prototype.decomposeTransform=function(){if(this.transform){var e=this.parent,t=this.transform;e&&e.transform&&(e.invTransform=e.invTransform||Ge(),Xr(Di,e.invTransform,t),t=Di);var a=this.originX,n=this.originY;(a||n)&&(bv[4]=a,bv[5]=n,Xr(Di,t,bv),Di[4]-=a,Di[5]-=n,t=Di),this.setLocalTransform(t)}},r.prototype.getGlobalScale=function(e){var t=this.transform;return e=e||[],t?(e[0]=Math.sqrt(t[0]*t[0]+t[1]*t[1]),e[1]=Math.sqrt(t[2]*t[2]+t[3]*t[3]),t[0]<0&&(e[0]=-e[0]),t[3]<0&&(e[1]=-e[1]),e):(e[0]=1,e[1]=1,e)},r.prototype.transformCoordToLocal=function(e,t){var a=[e,t],n=this.invTransform;return n&&ue(a,a,n),a},r.prototype.transformCoordToGlobal=function(e,t){var a=[e,t],n=this.transform;return n&&ue(a,a,n),a},r.prototype.getLineScale=function(){var e=this.transform;return e&&wv(e[0]-1)>1e-10&&wv(e[3]-1)>1e-10?Math.sqrt(wv(e[0]*e[3]-e[2]*e[1])):1},r.prototype.copyTransform=function(e){TT(this,e)},r.getLocalTransform=function(e,t){t=t||[];var a=e.originX||0,n=e.originY||0,i=e.scaleX,o=e.scaleY,s=e.anchorX,l=e.anchorY,u=e.rotation||0,f=e.x,h=e.y,v=e.skewX?Math.tan(e.skewX):0,c=e.skewY?Math.tan(-e.skewY):0;if(a||n||s||l){var p=a+s,d=n+l;t[4]=-p*i-v*d*o,t[5]=-d*o-c*p*i}else t[4]=t[5]=0;return t[0]=i,t[3]=o,t[1]=c*i,t[2]=v*o,u&&on(t,t,u),t[4]+=a+f,t[5]+=n+h,t},r.initDefaultProps=function(){var e=r.prototype;e.scaleX=e.scaleY=e.globalScaleRatio=1,e.x=e.y=e.originX=e.originY=e.skewX=e.skewY=e.rotation=e.anchorX=e.anchorY=0}(),r}(),Kr=["x","y","originX","originY","anchorX","anchorY","rotation","scaleX","scaleY","skewX","skewY"];function TT(r,e){for(var t=0;t<Kr.length;t++){var a=Kr[t];r[a]=e[a]}}var p0={};function Xe(r,e){e=e||Ja;var t=p0[e];t||(t=p0[e]=new Ml(500));var a=t.get(r);return a==null&&(a=Mr.measureText(r,e).width,t.put(r,a)),a}function d0(r,e,t,a){var n=Xe(r,e),i=bh(e),o=bs(0,n,t),s=qi(0,i,a),l=new ht(o,s,n,i);return l}function Il(r,e,t,a){var n=((r||"")+"").split(`
|
|
1
|
+
import{_ as k,w as NL,x as BL,R as VL,r as zL}from"./index-D-F4C6n_.js";var GL=function(){function r(){this.firefox=!1,this.ie=!1,this.edge=!1,this.newEdge=!1,this.weChat=!1}return r}(),FL=function(){function r(){this.browser=new GL,this.node=!1,this.wxa=!1,this.worker=!1,this.svgSupported=!1,this.touchEventsSupported=!1,this.pointerEventsSupported=!1,this.domSupported=!1,this.transformSupported=!1,this.transform3dSupported=!1,this.hasGlobalWindow=typeof window<"u"}return r}(),yt=new FL;typeof wx=="object"&&typeof wx.getSystemInfoSync=="function"?(yt.wxa=!0,yt.touchEventsSupported=!0):typeof document>"u"&&typeof self<"u"?yt.worker=!0:!yt.hasGlobalWindow||"Deno"in window?(yt.node=!0,yt.svgSupported=!0):HL(navigator.userAgent,yt);function HL(r,e){var t=e.browser,a=r.match(/Firefox\/([\d.]+)/),n=r.match(/MSIE\s([\d.]+)/)||r.match(/Trident\/.+?rv:(([\d.]+))/),i=r.match(/Edge?\/([\d.]+)/),o=/micromessenger/i.test(r);a&&(t.firefox=!0,t.version=a[1]),n&&(t.ie=!0,t.version=n[1]),i&&(t.edge=!0,t.version=i[1],t.newEdge=+i[1].split(".")[0]>18),o&&(t.weChat=!0),e.svgSupported=typeof SVGRect<"u",e.touchEventsSupported="ontouchstart"in window&&!t.ie&&!t.edge,e.pointerEventsSupported="onpointerdown"in window&&(t.edge||t.ie&&+t.version>=11),e.domSupported=typeof document<"u";var s=document.documentElement.style;e.transform3dSupported=(t.ie&&"transition"in s||t.edge||"WebKitCSSMatrix"in window&&"m11"in new WebKitCSSMatrix||"MozPerspective"in s)&&!("OTransition"in s),e.transformSupported=e.transform3dSupported||t.ie&&+t.version>=9}var xg=12,Ww="sans-serif",Ja=xg+"px "+Ww,WL=20,UL=100,YL="007LLmW'55;N0500LLLLLLLLLL00NNNLzWW\\\\WQb\\0FWLg\\bWb\\WQ\\WrWWQ000CL5LLFLL0LL**F*gLLLL5F0LF\\FFF5.5N";function $L(r){var e={};if(typeof JSON>"u")return e;for(var t=0;t<r.length;t++){var a=String.fromCharCode(t+32),n=(r.charCodeAt(t)-WL)/UL;e[a]=n}return e}var XL=$L(YL),Mr={createCanvas:function(){return typeof document<"u"&&document.createElement("canvas")},measureText:function(){var r,e;return function(t,a){if(!r){var n=Mr.createCanvas();r=n&&n.getContext("2d")}if(r)return e!==a&&(e=r.font=a||Ja),r.measureText(t);t=t||"",a=a||Ja;var i=/((?:\d+)?\.?\d*)px/.exec(a),o=i&&+i[1]||xg,s=0;if(a.indexOf("mono")>=0)s=o*t.length;else for(var l=0;l<t.length;l++){var u=XL[t[l]];s+=u==null?o:u*o}return{width:s}}}(),loadImage:function(r,e,t){var a=new Image;return a.onload=e,a.onerror=t,a.src=r,a}};function Uw(r){for(var e in Mr)r[e]&&(Mr[e]=r[e])}var Yw=ur(["Function","RegExp","Date","Error","CanvasGradient","CanvasPattern","Image","Canvas"],function(r,e){return r["[object "+e+"]"]=!0,r},{}),$w=ur(["Int8","Uint8","Uint8Clamped","Int16","Uint16","Int32","Uint32","Float32","Float64"],function(r,e){return r["[object "+e+"Array]"]=!0,r},{}),Ao=Object.prototype.toString,ph=Array.prototype,ZL=ph.forEach,qL=ph.filter,bg=ph.slice,KL=ph.map,Um=(function(){}).constructor,Zl=Um?Um.prototype:null,wg="__proto__",jL=2311;function Tg(){return jL++}function dh(){for(var r=[],e=0;e<arguments.length;e++)r[e]=arguments[e];typeof console<"u"&&console.error.apply(console,r)}function rt(r){if(r==null||typeof r!="object")return r;var e=r,t=Ao.call(r);if(t==="[object Array]"){if(!ao(r)){e=[];for(var a=0,n=r.length;a<n;a++)e[a]=rt(r[a])}}else if($w[t]){if(!ao(r)){var i=r.constructor;if(i.from)e=i.from(r);else{e=new i(r.length);for(var a=0,n=r.length;a<n;a++)e[a]=r[a]}}}else if(!Yw[t]&&!ao(r)&&!si(r)){e={};for(var o in r)r.hasOwnProperty(o)&&o!==wg&&(e[o]=rt(r[o]))}return e}function ut(r,e,t){if(!tt(e)||!tt(r))return t?rt(e):r;for(var a in e)if(e.hasOwnProperty(a)&&a!==wg){var n=r[a],i=e[a];tt(i)&&tt(n)&&!z(i)&&!z(n)&&!si(i)&&!si(n)&&!Pp(i)&&!Pp(n)&&!ao(i)&&!ao(n)?ut(n,i,t):(t||!(a in r))&&(r[a]=rt(e[a]))}return r}function gh(r,e){for(var t=r[0],a=1,n=r.length;a<n;a++)t=ut(t,r[a],e);return t}function V(r,e){if(Object.assign)Object.assign(r,e);else for(var t in e)e.hasOwnProperty(t)&&t!==wg&&(r[t]=e[t]);return r}function J(r,e,t){for(var a=_t(e),n=0,i=a.length;n<i;n++){var o=a[n];(t?e[o]!=null:r[o]==null)&&(r[o]=e[o])}return r}var JL=Mr.createCanvas;function vt(r,e){if(r){if(r.indexOf)return r.indexOf(e);for(var t=0,a=r.length;t<a;t++)if(r[t]===e)return t}return-1}function Ag(r,e){var t=r.prototype;function a(){}a.prototype=e.prototype,r.prototype=new a;for(var n in t)t.hasOwnProperty(n)&&(r.prototype[n]=t[n]);r.prototype.constructor=r,r.superClass=e}function $t(r,e,t){if(r="prototype"in r?r.prototype:r,e="prototype"in e?e.prototype:e,Object.getOwnPropertyNames)for(var a=Object.getOwnPropertyNames(e),n=0;n<a.length;n++){var i=a[n];i!=="constructor"&&(t?e[i]!=null:r[i]==null)&&(r[i]=e[i])}else J(r,e,t)}function he(r){return!r||typeof r=="string"?!1:typeof r.length=="number"}function D(r,e,t){if(r&&e)if(r.forEach&&r.forEach===ZL)r.forEach(e,t);else if(r.length===+r.length)for(var a=0,n=r.length;a<n;a++)e.call(t,r[a],a,r);else for(var i in r)r.hasOwnProperty(i)&&e.call(t,r[i],i,r)}function G(r,e,t){if(!r)return[];if(!e)return yh(r);if(r.map&&r.map===KL)return r.map(e,t);for(var a=[],n=0,i=r.length;n<i;n++)a.push(e.call(t,r[n],n,r));return a}function ur(r,e,t,a){if(r&&e){for(var n=0,i=r.length;n<i;n++)t=e.call(a,t,r[n],n,r);return t}}function At(r,e,t){if(!r)return[];if(!e)return yh(r);if(r.filter&&r.filter===qL)return r.filter(e,t);for(var a=[],n=0,i=r.length;n<i;n++)e.call(t,r[n],n,r)&&a.push(r[n]);return a}function Xw(r,e,t){if(r&&e){for(var a=0,n=r.length;a<n;a++)if(e.call(t,r[a],a,r))return r[a]}}function _t(r){if(!r)return[];if(Object.keys)return Object.keys(r);var e=[];for(var t in r)r.hasOwnProperty(t)&&e.push(t);return e}function QL(r,e){for(var t=[],a=2;a<arguments.length;a++)t[a-2]=arguments[a];return function(){return r.apply(e,t.concat(bg.call(arguments)))}}var $=Zl&&K(Zl.bind)?Zl.call.bind(Zl.bind):QL;function lt(r){for(var e=[],t=1;t<arguments.length;t++)e[t-1]=arguments[t];return function(){return r.apply(this,e.concat(bg.call(arguments)))}}function z(r){return Array.isArray?Array.isArray(r):Ao.call(r)==="[object Array]"}function K(r){return typeof r=="function"}function Y(r){return typeof r=="string"}function gf(r){return Ao.call(r)==="[object String]"}function wt(r){return typeof r=="number"}function tt(r){var e=typeof r;return e==="function"||!!r&&e==="object"}function Pp(r){return!!Yw[Ao.call(r)]}function Re(r){return!!$w[Ao.call(r)]}function si(r){return typeof r=="object"&&typeof r.nodeType=="number"&&typeof r.ownerDocument=="object"}function Al(r){return r.colorStops!=null}function Zw(r){return r.image!=null}function qw(r){return Ao.call(r)==="[object RegExp]"}function vo(r){return r!==r}function re(){for(var r=[],e=0;e<arguments.length;e++)r[e]=arguments[e];for(var t=0,a=r.length;t<a;t++)if(r[t]!=null)return r[t]}function st(r,e){return r??e}function Tr(r,e,t){return r??e??t}function yh(r){for(var e=[],t=1;t<arguments.length;t++)e[t-1]=arguments[t];return bg.apply(r,e)}function mh(r){if(typeof r=="number")return[r,r,r,r];var e=r.length;return e===2?[r[0],r[1],r[0],r[1]]:e===3?[r[0],r[1],r[2],r[1]]:r}function xe(r,e){if(!r)throw new Error(e)}function sr(r){return r==null?null:typeof r.trim=="function"?r.trim():r.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}var Kw="__ec_primitive__";function qs(r){r[Kw]=!0}function ao(r){return r[Kw]}var t2=function(){function r(){this.data={}}return r.prototype.delete=function(e){var t=this.has(e);return t&&delete this.data[e],t},r.prototype.has=function(e){return this.data.hasOwnProperty(e)},r.prototype.get=function(e){return this.data[e]},r.prototype.set=function(e,t){return this.data[e]=t,this},r.prototype.keys=function(){return _t(this.data)},r.prototype.forEach=function(e){var t=this.data;for(var a in t)t.hasOwnProperty(a)&&e(t[a],a)},r}(),jw=typeof Map=="function";function e2(){return jw?new Map:new t2}var Jw=function(){function r(e){var t=z(e);this.data=e2();var a=this;e instanceof r?e.each(n):e&&D(e,n);function n(i,o){t?a.set(i,o):a.set(o,i)}}return r.prototype.hasKey=function(e){return this.data.has(e)},r.prototype.get=function(e){return this.data.get(e)},r.prototype.set=function(e,t){return this.data.set(e,t),t},r.prototype.each=function(e,t){this.data.forEach(function(a,n){e.call(t,a,n)})},r.prototype.keys=function(){var e=this.data.keys();return jw?Array.from(e):e},r.prototype.removeKey=function(e){this.data.delete(e)},r}();function Z(r){return new Jw(r)}function co(r,e){for(var t=new r.constructor(r.length+e.length),a=0;a<r.length;a++)t[a]=r[a];for(var n=r.length,a=0;a<e.length;a++)t[a+n]=e[a];return t}function Cl(r,e){var t;if(Object.create)t=Object.create(r);else{var a=function(){};a.prototype=r,t=new a}return e&&V(t,e),t}function Cg(r){var e=r.style;e.webkitUserSelect="none",e.userSelect="none",e.webkitTapHighlightColor="rgba(0,0,0,0)",e["-webkit-touch-callout"]="none"}function X(r,e){return r.hasOwnProperty(e)}function Yt(){}var Rs=180/Math.PI;const r2=Object.freeze(Object.defineProperty({__proto__:null,HashMap:Jw,RADIAN_TO_DEGREE:Rs,assert:xe,bind:$,clone:rt,concatArray:co,createCanvas:JL,createHashMap:Z,createObject:Cl,curry:lt,defaults:J,disableUserSelect:Cg,each:D,eqNaN:vo,extend:V,filter:At,find:Xw,guid:Tg,hasOwn:X,indexOf:vt,inherits:Ag,isArray:z,isArrayLike:he,isBuiltInObject:Pp,isDom:si,isFunction:K,isGradientObject:Al,isImagePatternObject:Zw,isNumber:wt,isObject:tt,isPrimitive:ao,isRegExp:qw,isString:Y,isStringSafe:gf,isTypedArray:Re,keys:_t,logError:dh,map:G,merge:ut,mergeAll:gh,mixin:$t,noop:Yt,normalizeCssArray:mh,reduce:ur,retrieve:re,retrieve2:st,retrieve3:Tr,setAsPrimitive:qs,slice:yh,trim:sr},Symbol.toStringTag,{value:"Module"}));function nn(r,e){return r==null&&(r=0),e==null&&(e=0),[r,e]}function ye(r,e){return r[0]=e[0],r[1]=e[1],r}function $r(r){return[r[0],r[1]]}function Qw(r,e,t){return r[0]=e,r[1]=t,r}function Rp(r,e,t){return r[0]=e[0]+t[0],r[1]=e[1]+t[1],r}function yf(r,e,t,a){return r[0]=e[0]+t[0]*a,r[1]=e[1]+t[1]*a,r}function Ba(r,e,t){return r[0]=e[0]-t[0],r[1]=e[1]-t[1],r}function Ks(r){return Math.sqrt(Dg(r))}var a2=Ks;function Dg(r){return r[0]*r[0]+r[1]*r[1]}var n2=Dg;function i2(r,e,t){return r[0]=e[0]*t[0],r[1]=e[1]*t[1],r}function o2(r,e,t){return r[0]=e[0]/t[0],r[1]=e[1]/t[1],r}function s2(r,e){return r[0]*e[0]+r[1]*e[1]}function Es(r,e,t){return r[0]=e[0]*t,r[1]=e[1]*t,r}function gi(r,e){var t=Ks(e);return t===0?(r[0]=0,r[1]=0):(r[0]=e[0]/t,r[1]=e[1]/t),r}function mf(r,e){return Math.sqrt((r[0]-e[0])*(r[0]-e[0])+(r[1]-e[1])*(r[1]-e[1]))}var la=mf;function tT(r,e){return(r[0]-e[0])*(r[0]-e[0])+(r[1]-e[1])*(r[1]-e[1])}var Ua=tT;function l2(r,e){return r[0]=-e[0],r[1]=-e[1],r}function ks(r,e,t,a){return r[0]=e[0]+a*(t[0]-e[0]),r[1]=e[1]+a*(t[1]-e[1]),r}function ue(r,e,t){var a=e[0],n=e[1];return r[0]=t[0]*a+t[2]*n+t[4],r[1]=t[1]*a+t[3]*n+t[5],r}function ua(r,e,t){return r[0]=Math.min(e[0],t[0]),r[1]=Math.min(e[1],t[1]),r}function fa(r,e,t){return r[0]=Math.max(e[0],t[0]),r[1]=Math.max(e[1],t[1]),r}const u2=Object.freeze(Object.defineProperty({__proto__:null,add:Rp,applyTransform:ue,clone:$r,copy:ye,create:nn,dist:la,distSquare:Ua,distance:mf,distanceSquare:tT,div:o2,dot:s2,len:Ks,lenSquare:Dg,length:a2,lengthSquare:n2,lerp:ks,max:fa,min:ua,mul:i2,negate:l2,normalize:gi,scale:Es,scaleAndAdd:yf,set:Qw,sub:Ba},Symbol.toStringTag,{value:"Module"}));var Ai=function(){function r(e,t){this.target=e,this.topTarget=t&&t.topTarget}return r}(),f2=function(){function r(e){this.handler=e,e.on("mousedown",this._dragStart,this),e.on("mousemove",this._drag,this),e.on("mouseup",this._dragEnd,this)}return r.prototype._dragStart=function(e){for(var t=e.target;t&&!t.draggable;)t=t.parent||t.__hostTarget;t&&(this._draggingTarget=t,t.dragging=!0,this._x=e.offsetX,this._y=e.offsetY,this.handler.dispatchToElement(new Ai(t,e),"dragstart",e.event))},r.prototype._drag=function(e){var t=this._draggingTarget;if(t){var a=e.offsetX,n=e.offsetY,i=a-this._x,o=n-this._y;this._x=a,this._y=n,t.drift(i,o,e),this.handler.dispatchToElement(new Ai(t,e),"drag",e.event);var s=this.handler.findHover(a,n,t).target,l=this._dropTarget;this._dropTarget=s,t!==s&&(l&&s!==l&&this.handler.dispatchToElement(new Ai(l,e),"dragleave",e.event),s&&s!==l&&this.handler.dispatchToElement(new Ai(s,e),"dragenter",e.event))}},r.prototype._dragEnd=function(e){var t=this._draggingTarget;t&&(t.dragging=!1),this.handler.dispatchToElement(new Ai(t,e),"dragend",e.event),this._dropTarget&&this.handler.dispatchToElement(new Ai(this._dropTarget,e),"drop",e.event),this._draggingTarget=null,this._dropTarget=null},r}(),hr=function(){function r(e){e&&(this._$eventProcessor=e)}return r.prototype.on=function(e,t,a,n){this._$handlers||(this._$handlers={});var i=this._$handlers;if(typeof t=="function"&&(n=a,a=t,t=null),!a||!e)return this;var o=this._$eventProcessor;t!=null&&o&&o.normalizeQuery&&(t=o.normalizeQuery(t)),i[e]||(i[e]=[]);for(var s=0;s<i[e].length;s++)if(i[e][s].h===a)return this;var l={h:a,query:t,ctx:n||this,callAtLast:a.zrEventfulCallAtLast},u=i[e].length-1,f=i[e][u];return f&&f.callAtLast?i[e].splice(u,0,l):i[e].push(l),this},r.prototype.isSilent=function(e){var t=this._$handlers;return!t||!t[e]||!t[e].length},r.prototype.off=function(e,t){var a=this._$handlers;if(!a)return this;if(!e)return this._$handlers={},this;if(t){if(a[e]){for(var n=[],i=0,o=a[e].length;i<o;i++)a[e][i].h!==t&&n.push(a[e][i]);a[e]=n}a[e]&&a[e].length===0&&delete a[e]}else delete a[e];return this},r.prototype.trigger=function(e){for(var t=[],a=1;a<arguments.length;a++)t[a-1]=arguments[a];if(!this._$handlers)return this;var n=this._$handlers[e],i=this._$eventProcessor;if(n)for(var o=t.length,s=n.length,l=0;l<s;l++){var u=n[l];if(!(i&&i.filter&&u.query!=null&&!i.filter(e,u.query)))switch(o){case 0:u.h.call(u.ctx);break;case 1:u.h.call(u.ctx,t[0]);break;case 2:u.h.call(u.ctx,t[0],t[1]);break;default:u.h.apply(u.ctx,t);break}}return i&&i.afterTrigger&&i.afterTrigger(e),this},r.prototype.triggerWithContext=function(e){for(var t=[],a=1;a<arguments.length;a++)t[a-1]=arguments[a];if(!this._$handlers)return this;var n=this._$handlers[e],i=this._$eventProcessor;if(n)for(var o=t.length,s=t[o-1],l=n.length,u=0;u<l;u++){var f=n[u];if(!(i&&i.filter&&f.query!=null&&!i.filter(e,f.query)))switch(o){case 0:f.h.call(s);break;case 1:f.h.call(s,t[0]);break;case 2:f.h.call(s,t[0],t[1]);break;default:f.h.apply(s,t.slice(1,o-1));break}}return i&&i.afterTrigger&&i.afterTrigger(e),this},r}(),h2=Math.log(2);function Ep(r,e,t,a,n,i){var o=a+"-"+n,s=r.length;if(i.hasOwnProperty(o))return i[o];if(e===1){var l=Math.round(Math.log((1<<s)-1&~n)/h2);return r[t][l]}for(var u=a|1<<t,f=t+1;a&1<<f;)f++;for(var h=0,v=0,c=0;v<s;v++){var p=1<<v;p&n||(h+=(c%2?-1:1)*r[t][v]*Ep(r,e-1,f,u,n|p,i),c++)}return i[o]=h,h}function Ym(r,e){var t=[[r[0],r[1],1,0,0,0,-e[0]*r[0],-e[0]*r[1]],[0,0,0,r[0],r[1],1,-e[1]*r[0],-e[1]*r[1]],[r[2],r[3],1,0,0,0,-e[2]*r[2],-e[2]*r[3]],[0,0,0,r[2],r[3],1,-e[3]*r[2],-e[3]*r[3]],[r[4],r[5],1,0,0,0,-e[4]*r[4],-e[4]*r[5]],[0,0,0,r[4],r[5],1,-e[5]*r[4],-e[5]*r[5]],[r[6],r[7],1,0,0,0,-e[6]*r[6],-e[6]*r[7]],[0,0,0,r[6],r[7],1,-e[7]*r[6],-e[7]*r[7]]],a={},n=Ep(t,8,0,0,0,a);if(n!==0){for(var i=[],o=0;o<8;o++)for(var s=0;s<8;s++)i[s]==null&&(i[s]=0),i[s]+=((o+s)%2?-1:1)*Ep(t,7,o===0?1:0,1<<o,1<<s,a)/n*e[o];return function(l,u,f){var h=u*i[6]+f*i[7]+1;l[0]=(u*i[0]+f*i[1]+i[2])/h,l[1]=(u*i[3]+f*i[4]+i[5])/h}}}var $m="___zrEVENTSAVED",lv=[];function v2(r,e,t,a,n){return kp(lv,e,a,n,!0)&&kp(r,t,lv[0],lv[1])}function kp(r,e,t,a,n){if(e.getBoundingClientRect&&yt.domSupported&&!eT(e)){var i=e[$m]||(e[$m]={}),o=c2(e,i),s=p2(o,i,n);if(s)return s(r,t,a),!0}return!1}function c2(r,e){var t=e.markers;if(t)return t;t=e.markers=[];for(var a=["left","right"],n=["top","bottom"],i=0;i<4;i++){var o=document.createElement("div"),s=o.style,l=i%2,u=(i>>1)%2;s.cssText=["position: absolute","visibility: hidden","padding: 0","margin: 0","border-width: 0","user-select: none","width:0","height:0",a[l]+":0",n[u]+":0",a[1-l]+":auto",n[1-u]+":auto",""].join("!important;"),r.appendChild(o),t.push(o)}return t}function p2(r,e,t){for(var a=t?"invTrans":"trans",n=e[a],i=e.srcCoords,o=[],s=[],l=!0,u=0;u<4;u++){var f=r[u].getBoundingClientRect(),h=2*u,v=f.left,c=f.top;o.push(v,c),l=l&&i&&v===i[h]&&c===i[h+1],s.push(r[u].offsetLeft,r[u].offsetTop)}return l&&n?n:(e.srcCoords=o,e[a]=t?Ym(s,o):Ym(o,s))}function eT(r){return r.nodeName.toUpperCase()==="CANVAS"}var d2=/([&<>"'])/g,g2={"&":"&","<":"<",">":">",'"':""","'":"'"};function _e(r){return r==null?"":(r+"").replace(d2,function(e,t){return g2[t]})}var y2=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,uv=[],m2=yt.browser.firefox&&+yt.browser.version.split(".")[0]<39;function Op(r,e,t,a){return t=t||{},a?Xm(r,e,t):m2&&e.layerX!=null&&e.layerX!==e.offsetX?(t.zrX=e.layerX,t.zrY=e.layerY):e.offsetX!=null?(t.zrX=e.offsetX,t.zrY=e.offsetY):Xm(r,e,t),t}function Xm(r,e,t){if(yt.domSupported&&r.getBoundingClientRect){var a=e.clientX,n=e.clientY;if(eT(r)){var i=r.getBoundingClientRect();t.zrX=a-i.left,t.zrY=n-i.top;return}else if(kp(uv,r,a,n)){t.zrX=uv[0],t.zrY=uv[1];return}}t.zrX=t.zrY=0}function Mg(r){return r||window.event}function tr(r,e,t){if(e=Mg(e),e.zrX!=null)return e;var a=e.type,n=a&&a.indexOf("touch")>=0;if(n){var o=a!=="touchend"?e.targetTouches[0]:e.changedTouches[0];o&&Op(r,o,e,t)}else{Op(r,e,e,t);var i=_2(e);e.zrDelta=i?i/120:-(e.detail||0)/3}var s=e.button;return e.which==null&&s!==void 0&&y2.test(e.type)&&(e.which=s&1?1:s&2?3:s&4?2:0),e}function _2(r){var e=r.wheelDelta;if(e)return e;var t=r.deltaX,a=r.deltaY;if(t==null||a==null)return e;var n=Math.abs(a!==0?a:t),i=a>0?-1:a<0?1:t>0?-1:1;return 3*n*i}function Np(r,e,t,a){r.addEventListener(e,t,a)}function S2(r,e,t,a){r.removeEventListener(e,t,a)}var da=function(r){r.preventDefault(),r.stopPropagation(),r.cancelBubble=!0};function Zm(r){return r.which===2||r.which===3}var x2=function(){function r(){this._track=[]}return r.prototype.recognize=function(e,t,a){return this._doTrack(e,t,a),this._recognize(e)},r.prototype.clear=function(){return this._track.length=0,this},r.prototype._doTrack=function(e,t,a){var n=e.touches;if(n){for(var i={points:[],touches:[],target:t,event:e},o=0,s=n.length;o<s;o++){var l=n[o],u=Op(a,l,{});i.points.push([u.zrX,u.zrY]),i.touches.push(l)}this._track.push(i)}},r.prototype._recognize=function(e){for(var t in fv)if(fv.hasOwnProperty(t)){var a=fv[t](this._track,e);if(a)return a}},r}();function qm(r){var e=r[1][0]-r[0][0],t=r[1][1]-r[0][1];return Math.sqrt(e*e+t*t)}function b2(r){return[(r[0][0]+r[1][0])/2,(r[0][1]+r[1][1])/2]}var fv={pinch:function(r,e){var t=r.length;if(t){var a=(r[t-1]||{}).points,n=(r[t-2]||{}).points||a;if(n&&n.length>1&&a&&a.length>1){var i=qm(a)/qm(n);!isFinite(i)&&(i=1),e.pinchScale=i;var o=b2(a);return e.pinchX=o[0],e.pinchY=o[1],{type:"pinch",target:r[0].target,event:e}}}}};function Ge(){return[1,0,0,1,0,0]}function Dl(r){return r[0]=1,r[1]=0,r[2]=0,r[3]=1,r[4]=0,r[5]=0,r}function _h(r,e){return r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4],r[5]=e[5],r}function Xr(r,e,t){var a=e[0]*t[0]+e[2]*t[1],n=e[1]*t[0]+e[3]*t[1],i=e[0]*t[2]+e[2]*t[3],o=e[1]*t[2]+e[3]*t[3],s=e[0]*t[4]+e[2]*t[5]+e[4],l=e[1]*t[4]+e[3]*t[5]+e[5];return r[0]=a,r[1]=n,r[2]=i,r[3]=o,r[4]=s,r[5]=l,r}function Ir(r,e,t){return r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r[4]=e[4]+t[0],r[5]=e[5]+t[1],r}function on(r,e,t,a){a===void 0&&(a=[0,0]);var n=e[0],i=e[2],o=e[4],s=e[1],l=e[3],u=e[5],f=Math.sin(t),h=Math.cos(t);return r[0]=n*h+s*f,r[1]=-n*f+s*h,r[2]=i*h+l*f,r[3]=-i*f+h*l,r[4]=h*(o-a[0])+f*(u-a[1])+a[0],r[5]=h*(u-a[1])-f*(o-a[0])+a[1],r}function Sh(r,e,t){var a=t[0],n=t[1];return r[0]=e[0]*a,r[1]=e[1]*n,r[2]=e[2]*a,r[3]=e[3]*n,r[4]=e[4]*a,r[5]=e[5]*n,r}function yi(r,e){var t=e[0],a=e[2],n=e[4],i=e[1],o=e[3],s=e[5],l=t*o-i*a;return l?(l=1/l,r[0]=o*l,r[1]=-i*l,r[2]=-a*l,r[3]=t*l,r[4]=(a*s-o*n)*l,r[5]=(i*n-t*s)*l,r):null}function rT(r){var e=Ge();return _h(e,r),e}const w2=Object.freeze(Object.defineProperty({__proto__:null,clone:rT,copy:_h,create:Ge,identity:Dl,invert:yi,mul:Xr,rotate:on,scale:Sh,translate:Ir},Symbol.toStringTag,{value:"Module"}));var ft=function(){function r(e,t){this.x=e||0,this.y=t||0}return r.prototype.copy=function(e){return this.x=e.x,this.y=e.y,this},r.prototype.clone=function(){return new r(this.x,this.y)},r.prototype.set=function(e,t){return this.x=e,this.y=t,this},r.prototype.equal=function(e){return e.x===this.x&&e.y===this.y},r.prototype.add=function(e){return this.x+=e.x,this.y+=e.y,this},r.prototype.scale=function(e){this.x*=e,this.y*=e},r.prototype.scaleAndAdd=function(e,t){this.x+=e.x*t,this.y+=e.y*t},r.prototype.sub=function(e){return this.x-=e.x,this.y-=e.y,this},r.prototype.dot=function(e){return this.x*e.x+this.y*e.y},r.prototype.len=function(){return Math.sqrt(this.x*this.x+this.y*this.y)},r.prototype.lenSquare=function(){return this.x*this.x+this.y*this.y},r.prototype.normalize=function(){var e=this.len();return this.x/=e,this.y/=e,this},r.prototype.distance=function(e){var t=this.x-e.x,a=this.y-e.y;return Math.sqrt(t*t+a*a)},r.prototype.distanceSquare=function(e){var t=this.x-e.x,a=this.y-e.y;return t*t+a*a},r.prototype.negate=function(){return this.x=-this.x,this.y=-this.y,this},r.prototype.transform=function(e){if(e){var t=this.x,a=this.y;return this.x=e[0]*t+e[2]*a+e[4],this.y=e[1]*t+e[3]*a+e[5],this}},r.prototype.toArray=function(e){return e[0]=this.x,e[1]=this.y,e},r.prototype.fromArray=function(e){this.x=e[0],this.y=e[1]},r.set=function(e,t,a){e.x=t,e.y=a},r.copy=function(e,t){e.x=t.x,e.y=t.y},r.len=function(e){return Math.sqrt(e.x*e.x+e.y*e.y)},r.lenSquare=function(e){return e.x*e.x+e.y*e.y},r.dot=function(e,t){return e.x*t.x+e.y*t.y},r.add=function(e,t,a){e.x=t.x+a.x,e.y=t.y+a.y},r.sub=function(e,t,a){e.x=t.x-a.x,e.y=t.y-a.y},r.scale=function(e,t,a){e.x=t.x*a,e.y=t.y*a},r.scaleAndAdd=function(e,t,a,n){e.x=t.x+a.x*n,e.y=t.y+a.y*n},r.lerp=function(e,t,a,n){var i=1-n;e.x=i*t.x+n*a.x,e.y=i*t.y+n*a.y},r}(),ql=Math.min,Kl=Math.max,hn=new ft,vn=new ft,cn=new ft,pn=new ft,Yo=new ft,$o=new ft,ht=function(){function r(e,t,a,n){a<0&&(e=e+a,a=-a),n<0&&(t=t+n,n=-n),this.x=e,this.y=t,this.width=a,this.height=n}return r.prototype.union=function(e){var t=ql(e.x,this.x),a=ql(e.y,this.y);isFinite(this.x)&&isFinite(this.width)?this.width=Kl(e.x+e.width,this.x+this.width)-t:this.width=e.width,isFinite(this.y)&&isFinite(this.height)?this.height=Kl(e.y+e.height,this.y+this.height)-a:this.height=e.height,this.x=t,this.y=a},r.prototype.applyTransform=function(e){r.applyTransform(this,this,e)},r.prototype.calculateTransform=function(e){var t=this,a=e.width/t.width,n=e.height/t.height,i=Ge();return Ir(i,i,[-t.x,-t.y]),Sh(i,i,[a,n]),Ir(i,i,[e.x,e.y]),i},r.prototype.intersect=function(e,t){if(!e)return!1;e instanceof r||(e=r.create(e));var a=this,n=a.x,i=a.x+a.width,o=a.y,s=a.y+a.height,l=e.x,u=e.x+e.width,f=e.y,h=e.y+e.height,v=!(i<l||u<n||s<f||h<o);if(t){var c=1/0,p=0,d=Math.abs(i-l),g=Math.abs(u-n),y=Math.abs(s-f),m=Math.abs(h-o),_=Math.min(d,g),S=Math.min(y,m);i<l||u<n?_>p&&(p=_,d<g?ft.set($o,-d,0):ft.set($o,g,0)):_<c&&(c=_,d<g?ft.set(Yo,d,0):ft.set(Yo,-g,0)),s<f||h<o?S>p&&(p=S,y<m?ft.set($o,0,-y):ft.set($o,0,m)):_<c&&(c=_,y<m?ft.set(Yo,0,y):ft.set(Yo,0,-m))}return t&&ft.copy(t,v?Yo:$o),v},r.prototype.contain=function(e,t){var a=this;return e>=a.x&&e<=a.x+a.width&&t>=a.y&&t<=a.y+a.height},r.prototype.clone=function(){return new r(this.x,this.y,this.width,this.height)},r.prototype.copy=function(e){r.copy(this,e)},r.prototype.plain=function(){return{x:this.x,y:this.y,width:this.width,height:this.height}},r.prototype.isFinite=function(){return isFinite(this.x)&&isFinite(this.y)&&isFinite(this.width)&&isFinite(this.height)},r.prototype.isZero=function(){return this.width===0||this.height===0},r.create=function(e){return new r(e.x,e.y,e.width,e.height)},r.copy=function(e,t){e.x=t.x,e.y=t.y,e.width=t.width,e.height=t.height},r.applyTransform=function(e,t,a){if(!a){e!==t&&r.copy(e,t);return}if(a[1]<1e-5&&a[1]>-1e-5&&a[2]<1e-5&&a[2]>-1e-5){var n=a[0],i=a[3],o=a[4],s=a[5];e.x=t.x*n+o,e.y=t.y*i+s,e.width=t.width*n,e.height=t.height*i,e.width<0&&(e.x+=e.width,e.width=-e.width),e.height<0&&(e.y+=e.height,e.height=-e.height);return}hn.x=cn.x=t.x,hn.y=pn.y=t.y,vn.x=pn.x=t.x+t.width,vn.y=cn.y=t.y+t.height,hn.transform(a),pn.transform(a),vn.transform(a),cn.transform(a),e.x=ql(hn.x,vn.x,cn.x,pn.x),e.y=ql(hn.y,vn.y,cn.y,pn.y);var l=Kl(hn.x,vn.x,cn.x,pn.x),u=Kl(hn.y,vn.y,cn.y,pn.y);e.width=l-e.x,e.height=u-e.y},r}(),aT="silent";function T2(r,e,t){return{type:r,event:t,target:e.target,topTarget:e.topTarget,cancelBubble:!1,offsetX:t.zrX,offsetY:t.zrY,gestureEvent:t.gestureEvent,pinchX:t.pinchX,pinchY:t.pinchY,pinchScale:t.pinchScale,wheelDelta:t.zrDelta,zrByTouch:t.zrByTouch,which:t.which,stop:A2}}function A2(){da(this.event)}var C2=function(r){k(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.handler=null,t}return e.prototype.dispose=function(){},e.prototype.setCursor=function(){},e}(hr),Xo=function(){function r(e,t){this.x=e,this.y=t}return r}(),D2=["click","dblclick","mousewheel","mouseout","mouseup","mousedown","mousemove","contextmenu"],hv=new ht(0,0,0,0),nT=function(r){k(e,r);function e(t,a,n,i,o){var s=r.call(this)||this;return s._hovered=new Xo(0,0),s.storage=t,s.painter=a,s.painterRoot=i,s._pointerSize=o,n=n||new C2,s.proxy=null,s.setHandlerProxy(n),s._draggingMgr=new f2(s),s}return e.prototype.setHandlerProxy=function(t){this.proxy&&this.proxy.dispose(),t&&(D(D2,function(a){t.on&&t.on(a,this[a],this)},this),t.handler=this),this.proxy=t},e.prototype.mousemove=function(t){var a=t.zrX,n=t.zrY,i=iT(this,a,n),o=this._hovered,s=o.target;s&&!s.__zr&&(o=this.findHover(o.x,o.y),s=o.target);var l=this._hovered=i?new Xo(a,n):this.findHover(a,n),u=l.target,f=this.proxy;f.setCursor&&f.setCursor(u?u.cursor:"default"),s&&u!==s&&this.dispatchToElement(o,"mouseout",t),this.dispatchToElement(l,"mousemove",t),u&&u!==s&&this.dispatchToElement(l,"mouseover",t)},e.prototype.mouseout=function(t){var a=t.zrEventControl;a!=="only_globalout"&&this.dispatchToElement(this._hovered,"mouseout",t),a!=="no_globalout"&&this.trigger("globalout",{type:"globalout",event:t})},e.prototype.resize=function(){this._hovered=new Xo(0,0)},e.prototype.dispatch=function(t,a){var n=this[t];n&&n.call(this,a)},e.prototype.dispose=function(){this.proxy.dispose(),this.storage=null,this.proxy=null,this.painter=null},e.prototype.setCursorStyle=function(t){var a=this.proxy;a.setCursor&&a.setCursor(t)},e.prototype.dispatchToElement=function(t,a,n){t=t||{};var i=t.target;if(!(i&&i.silent)){for(var o="on"+a,s=T2(a,t,n);i&&(i[o]&&(s.cancelBubble=!!i[o].call(i,s)),i.trigger(a,s),i=i.__hostTarget?i.__hostTarget:i.parent,!s.cancelBubble););s.cancelBubble||(this.trigger(a,s),this.painter&&this.painter.eachOtherLayer&&this.painter.eachOtherLayer(function(l){typeof l[o]=="function"&&l[o].call(l,s),l.trigger&&l.trigger(a,s)}))}},e.prototype.findHover=function(t,a,n){var i=this.storage.getDisplayList(),o=new Xo(t,a);if(Km(i,o,t,a,n),this._pointerSize&&!o.target){for(var s=[],l=this._pointerSize,u=l/2,f=new ht(t-u,a-u,l,l),h=i.length-1;h>=0;h--){var v=i[h];v!==n&&!v.ignore&&!v.ignoreCoarsePointer&&(!v.parent||!v.parent.ignoreCoarsePointer)&&(hv.copy(v.getBoundingRect()),v.transform&&hv.applyTransform(v.transform),hv.intersect(f)&&s.push(v))}if(s.length)for(var c=4,p=Math.PI/12,d=Math.PI*2,g=0;g<u;g+=c)for(var y=0;y<d;y+=p){var m=t+g*Math.cos(y),_=a+g*Math.sin(y);if(Km(s,o,m,_,n),o.target)return o}}return o},e.prototype.processGesture=function(t,a){this._gestureMgr||(this._gestureMgr=new x2);var n=this._gestureMgr;a==="start"&&n.clear();var i=n.recognize(t,this.findHover(t.zrX,t.zrY,null).target,this.proxy.dom);if(a==="end"&&n.clear(),i){var o=i.type;t.gestureEvent=o;var s=new Xo;s.target=i.target,this.dispatchToElement(s,o,i.event)}},e}(hr);D(["click","mousedown","mouseup","mousewheel","dblclick","contextmenu"],function(r){nT.prototype[r]=function(e){var t=e.zrX,a=e.zrY,n=iT(this,t,a),i,o;if((r!=="mouseup"||!n)&&(i=this.findHover(t,a),o=i.target),r==="mousedown")this._downEl=o,this._downPoint=[e.zrX,e.zrY],this._upEl=o;else if(r==="mouseup")this._upEl=o;else if(r==="click"){if(this._downEl!==this._upEl||!this._downPoint||la(this._downPoint,[e.zrX,e.zrY])>4)return;this._downPoint=null}this.dispatchToElement(i,r,e)}});function M2(r,e,t){if(r[r.rectHover?"rectContain":"contain"](e,t)){for(var a=r,n=void 0,i=!1;a;){if(a.ignoreClip&&(i=!0),!i){var o=a.getClipPath();if(o&&!o.contain(e,t))return!1}a.silent&&(n=!0);var s=a.__hostTarget;a=s||a.parent}return n?aT:!0}return!1}function Km(r,e,t,a,n){for(var i=r.length-1;i>=0;i--){var o=r[i],s=void 0;if(o!==n&&!o.ignore&&(s=M2(o,t,a))&&(!e.topTarget&&(e.topTarget=o),s!==aT)){e.target=o;break}}}function iT(r,e,t){var a=r.painter;return e<0||e>a.getWidth()||t<0||t>a.getHeight()}var oT=32,Zo=7;function I2(r){for(var e=0;r>=oT;)e|=r&1,r>>=1;return r+e}function jm(r,e,t,a){var n=e+1;if(n===t)return 1;if(a(r[n++],r[e])<0){for(;n<t&&a(r[n],r[n-1])<0;)n++;L2(r,e,n)}else for(;n<t&&a(r[n],r[n-1])>=0;)n++;return n-e}function L2(r,e,t){for(t--;e<t;){var a=r[e];r[e++]=r[t],r[t--]=a}}function Jm(r,e,t,a,n){for(a===e&&a++;a<t;a++){for(var i=r[a],o=e,s=a,l;o<s;)l=o+s>>>1,n(i,r[l])<0?s=l:o=l+1;var u=a-o;switch(u){case 3:r[o+3]=r[o+2];case 2:r[o+2]=r[o+1];case 1:r[o+1]=r[o];break;default:for(;u>0;)r[o+u]=r[o+u-1],u--}r[o]=i}}function vv(r,e,t,a,n,i){var o=0,s=0,l=1;if(i(r,e[t+n])>0){for(s=a-n;l<s&&i(r,e[t+n+l])>0;)o=l,l=(l<<1)+1,l<=0&&(l=s);l>s&&(l=s),o+=n,l+=n}else{for(s=n+1;l<s&&i(r,e[t+n-l])<=0;)o=l,l=(l<<1)+1,l<=0&&(l=s);l>s&&(l=s);var u=o;o=n-l,l=n-u}for(o++;o<l;){var f=o+(l-o>>>1);i(r,e[t+f])>0?o=f+1:l=f}return l}function cv(r,e,t,a,n,i){var o=0,s=0,l=1;if(i(r,e[t+n])<0){for(s=n+1;l<s&&i(r,e[t+n-l])<0;)o=l,l=(l<<1)+1,l<=0&&(l=s);l>s&&(l=s);var u=o;o=n-l,l=n-u}else{for(s=a-n;l<s&&i(r,e[t+n+l])>=0;)o=l,l=(l<<1)+1,l<=0&&(l=s);l>s&&(l=s),o+=n,l+=n}for(o++;o<l;){var f=o+(l-o>>>1);i(r,e[t+f])<0?l=f:o=f+1}return l}function P2(r,e){var t=Zo,a,n,i=0,o=[];a=[],n=[];function s(c,p){a[i]=c,n[i]=p,i+=1}function l(){for(;i>1;){var c=i-2;if(c>=1&&n[c-1]<=n[c]+n[c+1]||c>=2&&n[c-2]<=n[c]+n[c-1])n[c-1]<n[c+1]&&c--;else if(n[c]>n[c+1])break;f(c)}}function u(){for(;i>1;){var c=i-2;c>0&&n[c-1]<n[c+1]&&c--,f(c)}}function f(c){var p=a[c],d=n[c],g=a[c+1],y=n[c+1];n[c]=d+y,c===i-3&&(a[c+1]=a[c+2],n[c+1]=n[c+2]),i--;var m=cv(r[g],r,p,d,0,e);p+=m,d-=m,d!==0&&(y=vv(r[p+d-1],r,g,y,y-1,e),y!==0&&(d<=y?h(p,d,g,y):v(p,d,g,y)))}function h(c,p,d,g){var y=0;for(y=0;y<p;y++)o[y]=r[c+y];var m=0,_=d,S=c;if(r[S++]=r[_++],--g===0){for(y=0;y<p;y++)r[S+y]=o[m+y];return}if(p===1){for(y=0;y<g;y++)r[S+y]=r[_+y];r[S+g]=o[m];return}for(var b=t,x,w,T;;){x=0,w=0,T=!1;do if(e(r[_],o[m])<0){if(r[S++]=r[_++],w++,x=0,--g===0){T=!0;break}}else if(r[S++]=o[m++],x++,w=0,--p===1){T=!0;break}while((x|w)<b);if(T)break;do{if(x=cv(r[_],o,m,p,0,e),x!==0){for(y=0;y<x;y++)r[S+y]=o[m+y];if(S+=x,m+=x,p-=x,p<=1){T=!0;break}}if(r[S++]=r[_++],--g===0){T=!0;break}if(w=vv(o[m],r,_,g,0,e),w!==0){for(y=0;y<w;y++)r[S+y]=r[_+y];if(S+=w,_+=w,g-=w,g===0){T=!0;break}}if(r[S++]=o[m++],--p===1){T=!0;break}b--}while(x>=Zo||w>=Zo);if(T)break;b<0&&(b=0),b+=2}if(t=b,t<1&&(t=1),p===1){for(y=0;y<g;y++)r[S+y]=r[_+y];r[S+g]=o[m]}else{if(p===0)throw new Error;for(y=0;y<p;y++)r[S+y]=o[m+y]}}function v(c,p,d,g){var y=0;for(y=0;y<g;y++)o[y]=r[d+y];var m=c+p-1,_=g-1,S=d+g-1,b=0,x=0;if(r[S--]=r[m--],--p===0){for(b=S-(g-1),y=0;y<g;y++)r[b+y]=o[y];return}if(g===1){for(S-=p,m-=p,x=S+1,b=m+1,y=p-1;y>=0;y--)r[x+y]=r[b+y];r[S]=o[_];return}for(var w=t;;){var T=0,A=0,C=!1;do if(e(o[_],r[m])<0){if(r[S--]=r[m--],T++,A=0,--p===0){C=!0;break}}else if(r[S--]=o[_--],A++,T=0,--g===1){C=!0;break}while((T|A)<w);if(C)break;do{if(T=p-cv(o[_],r,c,p,p-1,e),T!==0){for(S-=T,m-=T,p-=T,x=S+1,b=m+1,y=T-1;y>=0;y--)r[x+y]=r[b+y];if(p===0){C=!0;break}}if(r[S--]=o[_--],--g===1){C=!0;break}if(A=g-vv(r[m],o,0,g,g-1,e),A!==0){for(S-=A,_-=A,g-=A,x=S+1,b=_+1,y=0;y<A;y++)r[x+y]=o[b+y];if(g<=1){C=!0;break}}if(r[S--]=r[m--],--p===0){C=!0;break}w--}while(T>=Zo||A>=Zo);if(C)break;w<0&&(w=0),w+=2}if(t=w,t<1&&(t=1),g===1){for(S-=p,m-=p,x=S+1,b=m+1,y=p-1;y>=0;y--)r[x+y]=r[b+y];r[S]=o[_]}else{if(g===0)throw new Error;for(b=S-(g-1),y=0;y<g;y++)r[b+y]=o[y]}}return{mergeRuns:l,forceMergeRuns:u,pushRun:s}}function Ku(r,e,t,a){t||(t=0),a||(a=r.length);var n=a-t;if(!(n<2)){var i=0;if(n<oT){i=jm(r,t,a,e),Jm(r,t,a,t+i,e);return}var o=P2(r,e),s=I2(n);do{if(i=jm(r,t,a,e),i<s){var l=n;l>s&&(l=s),Jm(r,t,t+l,t+i,e),i=l}o.pushRun(t,i),o.mergeRuns(),n-=i,t+=i}while(n!==0);o.forceMergeRuns()}}var We=1,Ss=2,Zi=4,Qm=!1;function pv(){Qm||(Qm=!0,console.warn("z / z2 / zlevel of displayable is invalid, which may cause unexpected errors"))}function t0(r,e){return r.zlevel===e.zlevel?r.z===e.z?r.z2-e.z2:r.z-e.z:r.zlevel-e.zlevel}var R2=function(){function r(){this._roots=[],this._displayList=[],this._displayListLen=0,this.displayableSortFunc=t0}return r.prototype.traverse=function(e,t){for(var a=0;a<this._roots.length;a++)this._roots[a].traverse(e,t)},r.prototype.getDisplayList=function(e,t){t=t||!1;var a=this._displayList;return(e||!a.length)&&this.updateDisplayList(t),a},r.prototype.updateDisplayList=function(e){this._displayListLen=0;for(var t=this._roots,a=this._displayList,n=0,i=t.length;n<i;n++)this._updateAndAddDisplayable(t[n],null,e);a.length=this._displayListLen,Ku(a,t0)},r.prototype._updateAndAddDisplayable=function(e,t,a){if(!(e.ignore&&!a)){e.beforeUpdate(),e.update(),e.afterUpdate();var n=e.getClipPath();if(e.ignoreClip)t=null;else if(n){t?t=t.slice():t=[];for(var i=n,o=e;i;)i.parent=o,i.updateTransform(),t.push(i),o=i,i=i.getClipPath()}if(e.childrenRef){for(var s=e.childrenRef(),l=0;l<s.length;l++){var u=s[l];e.__dirty&&(u.__dirty|=We),this._updateAndAddDisplayable(u,t,a)}e.__dirty=0}else{var f=e;t&&t.length?f.__clipPaths=t:f.__clipPaths&&f.__clipPaths.length>0&&(f.__clipPaths=[]),isNaN(f.z)&&(pv(),f.z=0),isNaN(f.z2)&&(pv(),f.z2=0),isNaN(f.zlevel)&&(pv(),f.zlevel=0),this._displayList[this._displayListLen++]=f}var h=e.getDecalElement&&e.getDecalElement();h&&this._updateAndAddDisplayable(h,t,a);var v=e.getTextGuideLine();v&&this._updateAndAddDisplayable(v,t,a);var c=e.getTextContent();c&&this._updateAndAddDisplayable(c,t,a)}},r.prototype.addRoot=function(e){e.__zr&&e.__zr.storage===this||this._roots.push(e)},r.prototype.delRoot=function(e){if(e instanceof Array){for(var t=0,a=e.length;t<a;t++)this.delRoot(e[t]);return}var n=vt(this._roots,e);n>=0&&this._roots.splice(n,1)},r.prototype.delAllRoots=function(){this._roots=[],this._displayList=[],this._displayListLen=0},r.prototype.getRoots=function(){return this._roots},r.prototype.dispose=function(){this._displayList=null,this._roots=null},r}(),_f;_f=yt.hasGlobalWindow&&(window.requestAnimationFrame&&window.requestAnimationFrame.bind(window)||window.msRequestAnimationFrame&&window.msRequestAnimationFrame.bind(window)||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame)||function(r){return setTimeout(r,16)};var Os={linear:function(r){return r},quadraticIn:function(r){return r*r},quadraticOut:function(r){return r*(2-r)},quadraticInOut:function(r){return(r*=2)<1?.5*r*r:-.5*(--r*(r-2)-1)},cubicIn:function(r){return r*r*r},cubicOut:function(r){return--r*r*r+1},cubicInOut:function(r){return(r*=2)<1?.5*r*r*r:.5*((r-=2)*r*r+2)},quarticIn:function(r){return r*r*r*r},quarticOut:function(r){return 1- --r*r*r*r},quarticInOut:function(r){return(r*=2)<1?.5*r*r*r*r:-.5*((r-=2)*r*r*r-2)},quinticIn:function(r){return r*r*r*r*r},quinticOut:function(r){return--r*r*r*r*r+1},quinticInOut:function(r){return(r*=2)<1?.5*r*r*r*r*r:.5*((r-=2)*r*r*r*r+2)},sinusoidalIn:function(r){return 1-Math.cos(r*Math.PI/2)},sinusoidalOut:function(r){return Math.sin(r*Math.PI/2)},sinusoidalInOut:function(r){return .5*(1-Math.cos(Math.PI*r))},exponentialIn:function(r){return r===0?0:Math.pow(1024,r-1)},exponentialOut:function(r){return r===1?1:1-Math.pow(2,-10*r)},exponentialInOut:function(r){return r===0?0:r===1?1:(r*=2)<1?.5*Math.pow(1024,r-1):.5*(-Math.pow(2,-10*(r-1))+2)},circularIn:function(r){return 1-Math.sqrt(1-r*r)},circularOut:function(r){return Math.sqrt(1- --r*r)},circularInOut:function(r){return(r*=2)<1?-.5*(Math.sqrt(1-r*r)-1):.5*(Math.sqrt(1-(r-=2)*r)+1)},elasticIn:function(r){var e,t=.1,a=.4;return r===0?0:r===1?1:(!t||t<1?(t=1,e=a/4):e=a*Math.asin(1/t)/(2*Math.PI),-(t*Math.pow(2,10*(r-=1))*Math.sin((r-e)*(2*Math.PI)/a)))},elasticOut:function(r){var e,t=.1,a=.4;return r===0?0:r===1?1:(!t||t<1?(t=1,e=a/4):e=a*Math.asin(1/t)/(2*Math.PI),t*Math.pow(2,-10*r)*Math.sin((r-e)*(2*Math.PI)/a)+1)},elasticInOut:function(r){var e,t=.1,a=.4;return r===0?0:r===1?1:(!t||t<1?(t=1,e=a/4):e=a*Math.asin(1/t)/(2*Math.PI),(r*=2)<1?-.5*(t*Math.pow(2,10*(r-=1))*Math.sin((r-e)*(2*Math.PI)/a)):t*Math.pow(2,-10*(r-=1))*Math.sin((r-e)*(2*Math.PI)/a)*.5+1)},backIn:function(r){var e=1.70158;return r*r*((e+1)*r-e)},backOut:function(r){var e=1.70158;return--r*r*((e+1)*r+e)+1},backInOut:function(r){var e=2.5949095;return(r*=2)<1?.5*(r*r*((e+1)*r-e)):.5*((r-=2)*r*((e+1)*r+e)+2)},bounceIn:function(r){return 1-Os.bounceOut(1-r)},bounceOut:function(r){return r<1/2.75?7.5625*r*r:r<2/2.75?7.5625*(r-=1.5/2.75)*r+.75:r<2.5/2.75?7.5625*(r-=2.25/2.75)*r+.9375:7.5625*(r-=2.625/2.75)*r+.984375},bounceInOut:function(r){return r<.5?Os.bounceIn(r*2)*.5:Os.bounceOut(r*2-1)*.5+.5}},jl=Math.pow,Ya=Math.sqrt,Sf=1e-8,sT=1e-4,e0=Ya(3),Jl=1/3,Fr=nn(),nr=nn(),no=nn();function Va(r){return r>-Sf&&r<Sf}function lT(r){return r>Sf||r<-Sf}function ee(r,e,t,a,n){var i=1-n;return i*i*(i*r+3*n*e)+n*n*(n*a+3*i*t)}function r0(r,e,t,a,n){var i=1-n;return 3*(((e-r)*i+2*(t-e)*n)*i+(a-t)*n*n)}function xf(r,e,t,a,n,i){var o=a+3*(e-t)-r,s=3*(t-e*2+r),l=3*(e-r),u=r-n,f=s*s-3*o*l,h=s*l-9*o*u,v=l*l-3*s*u,c=0;if(Va(f)&&Va(h))if(Va(s))i[0]=0;else{var p=-l/s;p>=0&&p<=1&&(i[c++]=p)}else{var d=h*h-4*f*v;if(Va(d)){var g=h/f,p=-s/o+g,y=-g/2;p>=0&&p<=1&&(i[c++]=p),y>=0&&y<=1&&(i[c++]=y)}else if(d>0){var m=Ya(d),_=f*s+1.5*o*(-h+m),S=f*s+1.5*o*(-h-m);_<0?_=-jl(-_,Jl):_=jl(_,Jl),S<0?S=-jl(-S,Jl):S=jl(S,Jl);var p=(-s-(_+S))/(3*o);p>=0&&p<=1&&(i[c++]=p)}else{var b=(2*f*s-3*o*h)/(2*Ya(f*f*f)),x=Math.acos(b)/3,w=Ya(f),T=Math.cos(x),p=(-s-2*w*T)/(3*o),y=(-s+w*(T+e0*Math.sin(x)))/(3*o),A=(-s+w*(T-e0*Math.sin(x)))/(3*o);p>=0&&p<=1&&(i[c++]=p),y>=0&&y<=1&&(i[c++]=y),A>=0&&A<=1&&(i[c++]=A)}}return c}function uT(r,e,t,a,n){var i=6*t-12*e+6*r,o=9*e+3*a-3*r-9*t,s=3*e-3*r,l=0;if(Va(o)){if(lT(i)){var u=-s/i;u>=0&&u<=1&&(n[l++]=u)}}else{var f=i*i-4*o*s;if(Va(f))n[0]=-i/(2*o);else if(f>0){var h=Ya(f),u=(-i+h)/(2*o),v=(-i-h)/(2*o);u>=0&&u<=1&&(n[l++]=u),v>=0&&v<=1&&(n[l++]=v)}}return l}function Qa(r,e,t,a,n,i){var o=(e-r)*n+r,s=(t-e)*n+e,l=(a-t)*n+t,u=(s-o)*n+o,f=(l-s)*n+s,h=(f-u)*n+u;i[0]=r,i[1]=o,i[2]=u,i[3]=h,i[4]=h,i[5]=f,i[6]=l,i[7]=a}function fT(r,e,t,a,n,i,o,s,l,u,f){var h,v=.005,c=1/0,p,d,g,y;Fr[0]=l,Fr[1]=u;for(var m=0;m<1;m+=.05)nr[0]=ee(r,t,n,o,m),nr[1]=ee(e,a,i,s,m),g=Ua(Fr,nr),g<c&&(h=m,c=g);c=1/0;for(var _=0;_<32&&!(v<sT);_++)p=h-v,d=h+v,nr[0]=ee(r,t,n,o,p),nr[1]=ee(e,a,i,s,p),g=Ua(nr,Fr),p>=0&&g<c?(h=p,c=g):(no[0]=ee(r,t,n,o,d),no[1]=ee(e,a,i,s,d),y=Ua(no,Fr),d<=1&&y<c?(h=d,c=y):v*=.5);return f&&(f[0]=ee(r,t,n,o,h),f[1]=ee(e,a,i,s,h)),Ya(c)}function E2(r,e,t,a,n,i,o,s,l){for(var u=r,f=e,h=0,v=1/l,c=1;c<=l;c++){var p=c*v,d=ee(r,t,n,o,p),g=ee(e,a,i,s,p),y=d-u,m=g-f;h+=Math.sqrt(y*y+m*m),u=d,f=g}return h}function le(r,e,t,a){var n=1-a;return n*(n*r+2*a*e)+a*a*t}function Bp(r,e,t,a){return 2*((1-a)*(e-r)+a*(t-e))}function k2(r,e,t,a,n){var i=r-2*e+t,o=2*(e-r),s=r-a,l=0;if(Va(i)){if(lT(o)){var u=-s/o;u>=0&&u<=1&&(n[l++]=u)}}else{var f=o*o-4*i*s;if(Va(f)){var u=-o/(2*i);u>=0&&u<=1&&(n[l++]=u)}else if(f>0){var h=Ya(f),u=(-o+h)/(2*i),v=(-o-h)/(2*i);u>=0&&u<=1&&(n[l++]=u),v>=0&&v<=1&&(n[l++]=v)}}return l}function hT(r,e,t){var a=r+t-2*e;return a===0?.5:(r-e)/a}function js(r,e,t,a,n){var i=(e-r)*a+r,o=(t-e)*a+e,s=(o-i)*a+i;n[0]=r,n[1]=i,n[2]=s,n[3]=s,n[4]=o,n[5]=t}function vT(r,e,t,a,n,i,o,s,l){var u,f=.005,h=1/0;Fr[0]=o,Fr[1]=s;for(var v=0;v<1;v+=.05){nr[0]=le(r,t,n,v),nr[1]=le(e,a,i,v);var c=Ua(Fr,nr);c<h&&(u=v,h=c)}h=1/0;for(var p=0;p<32&&!(f<sT);p++){var d=u-f,g=u+f;nr[0]=le(r,t,n,d),nr[1]=le(e,a,i,d);var c=Ua(nr,Fr);if(d>=0&&c<h)u=d,h=c;else{no[0]=le(r,t,n,g),no[1]=le(e,a,i,g);var y=Ua(no,Fr);g<=1&&y<h?(u=g,h=y):f*=.5}}return l&&(l[0]=le(r,t,n,u),l[1]=le(e,a,i,u)),Ya(h)}function O2(r,e,t,a,n,i,o){for(var s=r,l=e,u=0,f=1/o,h=1;h<=o;h++){var v=h*f,c=le(r,t,n,v),p=le(e,a,i,v),d=c-s,g=p-l;u+=Math.sqrt(d*d+g*g),s=c,l=p}return u}var N2=/cubic-bezier\(([0-9,\.e ]+)\)/;function Ig(r){var e=r&&N2.exec(r);if(e){var t=e[1].split(","),a=+sr(t[0]),n=+sr(t[1]),i=+sr(t[2]),o=+sr(t[3]);if(isNaN(a+n+i+o))return;var s=[];return function(l){return l<=0?0:l>=1?1:xf(0,a,i,1,l,s)&&ee(0,n,o,1,s[0])}}}var B2=function(){function r(e){this._inited=!1,this._startTime=0,this._pausedTime=0,this._paused=!1,this._life=e.life||1e3,this._delay=e.delay||0,this.loop=e.loop||!1,this.onframe=e.onframe||Yt,this.ondestroy=e.ondestroy||Yt,this.onrestart=e.onrestart||Yt,e.easing&&this.setEasing(e.easing)}return r.prototype.step=function(e,t){if(this._inited||(this._startTime=e+this._delay,this._inited=!0),this._paused){this._pausedTime+=t;return}var a=this._life,n=e-this._startTime-this._pausedTime,i=n/a;i<0&&(i=0),i=Math.min(i,1);var o=this.easingFunc,s=o?o(i):i;if(this.onframe(s),i===1)if(this.loop){var l=n%a;this._startTime=e-l,this._pausedTime=0,this.onrestart()}else return!0;return!1},r.prototype.pause=function(){this._paused=!0},r.prototype.resume=function(){this._paused=!1},r.prototype.setEasing=function(e){this.easing=e,this.easingFunc=K(e)?e:Os[e]||Ig(e)},r}(),cT=function(){function r(e){this.value=e}return r}(),V2=function(){function r(){this._len=0}return r.prototype.insert=function(e){var t=new cT(e);return this.insertEntry(t),t},r.prototype.insertEntry=function(e){this.head?(this.tail.next=e,e.prev=this.tail,e.next=null,this.tail=e):this.head=this.tail=e,this._len++},r.prototype.remove=function(e){var t=e.prev,a=e.next;t?t.next=a:this.head=a,a?a.prev=t:this.tail=t,e.next=e.prev=null,this._len--},r.prototype.len=function(){return this._len},r.prototype.clear=function(){this.head=this.tail=null,this._len=0},r}(),Ml=function(){function r(e){this._list=new V2,this._maxSize=10,this._map={},this._maxSize=e}return r.prototype.put=function(e,t){var a=this._list,n=this._map,i=null;if(n[e]==null){var o=a.len(),s=this._lastRemovedEntry;if(o>=this._maxSize&&o>0){var l=a.head;a.remove(l),delete n[l.key],i=l.value,this._lastRemovedEntry=l}s?s.value=t:s=new cT(t),s.key=e,a.insertEntry(s),n[e]=s}return i},r.prototype.get=function(e){var t=this._map[e],a=this._list;if(t!=null)return t!==a.tail&&(a.remove(t),a.insertEntry(t)),t.value},r.prototype.clear=function(){this._list.clear(),this._map={}},r.prototype.len=function(){return this._list.len()},r}(),a0={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};function Ar(r){return r=Math.round(r),r<0?0:r>255?255:r}function z2(r){return r=Math.round(r),r<0?0:r>360?360:r}function Js(r){return r<0?0:r>1?1:r}function dv(r){var e=r;return e.length&&e.charAt(e.length-1)==="%"?Ar(parseFloat(e)/100*255):Ar(parseInt(e,10))}function Qn(r){var e=r;return e.length&&e.charAt(e.length-1)==="%"?Js(parseFloat(e)/100):Js(parseFloat(e))}function gv(r,e,t){return t<0?t+=1:t>1&&(t-=1),t*6<1?r+(e-r)*t*6:t*2<1?e:t*3<2?r+(e-r)*(2/3-t)*6:r}function za(r,e,t){return r+(e-r)*t}function Qe(r,e,t,a,n){return r[0]=e,r[1]=t,r[2]=a,r[3]=n,r}function Vp(r,e){return r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],r}var pT=new Ml(20),Ql=null;function Ci(r,e){Ql&&Vp(Ql,e),Ql=pT.put(r,Ql||e.slice())}function Le(r,e){if(r){e=e||[];var t=pT.get(r);if(t)return Vp(e,t);r=r+"";var a=r.replace(/ /g,"").toLowerCase();if(a in a0)return Vp(e,a0[a]),Ci(r,e),e;var n=a.length;if(a.charAt(0)==="#"){if(n===4||n===5){var i=parseInt(a.slice(1,4),16);if(!(i>=0&&i<=4095)){Qe(e,0,0,0,1);return}return Qe(e,(i&3840)>>4|(i&3840)>>8,i&240|(i&240)>>4,i&15|(i&15)<<4,n===5?parseInt(a.slice(4),16)/15:1),Ci(r,e),e}else if(n===7||n===9){var i=parseInt(a.slice(1,7),16);if(!(i>=0&&i<=16777215)){Qe(e,0,0,0,1);return}return Qe(e,(i&16711680)>>16,(i&65280)>>8,i&255,n===9?parseInt(a.slice(7),16)/255:1),Ci(r,e),e}return}var o=a.indexOf("("),s=a.indexOf(")");if(o!==-1&&s+1===n){var l=a.substr(0,o),u=a.substr(o+1,s-(o+1)).split(","),f=1;switch(l){case"rgba":if(u.length!==4)return u.length===3?Qe(e,+u[0],+u[1],+u[2],1):Qe(e,0,0,0,1);f=Qn(u.pop());case"rgb":if(u.length>=3)return Qe(e,dv(u[0]),dv(u[1]),dv(u[2]),u.length===3?f:Qn(u[3])),Ci(r,e),e;Qe(e,0,0,0,1);return;case"hsla":if(u.length!==4){Qe(e,0,0,0,1);return}return u[3]=Qn(u[3]),zp(u,e),Ci(r,e),e;case"hsl":if(u.length!==3){Qe(e,0,0,0,1);return}return zp(u,e),Ci(r,e),e;default:return}}Qe(e,0,0,0,1)}}function zp(r,e){var t=(parseFloat(r[0])%360+360)%360/360,a=Qn(r[1]),n=Qn(r[2]),i=n<=.5?n*(a+1):n+a-n*a,o=n*2-i;return e=e||[],Qe(e,Ar(gv(o,i,t+1/3)*255),Ar(gv(o,i,t)*255),Ar(gv(o,i,t-1/3)*255),1),r.length===4&&(e[3]=r[3]),e}function G2(r){if(r){var e=r[0]/255,t=r[1]/255,a=r[2]/255,n=Math.min(e,t,a),i=Math.max(e,t,a),o=i-n,s=(i+n)/2,l,u;if(o===0)l=0,u=0;else{s<.5?u=o/(i+n):u=o/(2-i-n);var f=((i-e)/6+o/2)/o,h=((i-t)/6+o/2)/o,v=((i-a)/6+o/2)/o;e===i?l=v-h:t===i?l=1/3+f-v:a===i&&(l=2/3+h-f),l<0&&(l+=1),l>1&&(l-=1)}var c=[l*360,u,s];return r[3]!=null&&c.push(r[3]),c}}function bf(r,e){var t=Le(r);if(t){for(var a=0;a<3;a++)e<0?t[a]=t[a]*(1-e)|0:t[a]=(255-t[a])*e+t[a]|0,t[a]>255?t[a]=255:t[a]<0&&(t[a]=0);return Cr(t,t.length===4?"rgba":"rgb")}}function F2(r){var e=Le(r);if(e)return((1<<24)+(e[0]<<16)+(e[1]<<8)+ +e[2]).toString(16).slice(1)}function Ns(r,e,t){if(!(!(e&&e.length)||!(r>=0&&r<=1))){t=t||[];var a=r*(e.length-1),n=Math.floor(a),i=Math.ceil(a),o=e[n],s=e[i],l=a-n;return t[0]=Ar(za(o[0],s[0],l)),t[1]=Ar(za(o[1],s[1],l)),t[2]=Ar(za(o[2],s[2],l)),t[3]=Js(za(o[3],s[3],l)),t}}var H2=Ns;function Lg(r,e,t){if(!(!(e&&e.length)||!(r>=0&&r<=1))){var a=r*(e.length-1),n=Math.floor(a),i=Math.ceil(a),o=Le(e[n]),s=Le(e[i]),l=a-n,u=Cr([Ar(za(o[0],s[0],l)),Ar(za(o[1],s[1],l)),Ar(za(o[2],s[2],l)),Js(za(o[3],s[3],l))],"rgba");return t?{color:u,leftIndex:n,rightIndex:i,value:a}:u}}var W2=Lg;function io(r,e,t,a){var n=Le(r);if(r)return n=G2(n),e!=null&&(n[0]=z2(e)),t!=null&&(n[1]=Qn(t)),a!=null&&(n[2]=Qn(a)),Cr(zp(n),"rgba")}function Qs(r,e){var t=Le(r);if(t&&e!=null)return t[3]=Js(e),Cr(t,"rgba")}function Cr(r,e){if(!(!r||!r.length)){var t=r[0]+","+r[1]+","+r[2];return(e==="rgba"||e==="hsva"||e==="hsla")&&(t+=","+r[3]),e+"("+t+")"}}function tl(r,e){var t=Le(r);return t?(.299*t[0]+.587*t[1]+.114*t[2])*t[3]/255+(1-t[3])*e:0}function U2(){return Cr([Math.round(Math.random()*255),Math.round(Math.random()*255),Math.round(Math.random()*255)],"rgb")}var n0=new Ml(100);function wf(r){if(Y(r)){var e=n0.get(r);return e||(e=bf(r,-.1),n0.put(r,e)),e}else if(Al(r)){var t=V({},r);return t.colorStops=G(r.colorStops,function(a){return{offset:a.offset,color:bf(a.color,-.1)}}),t}return r}const Y2=Object.freeze(Object.defineProperty({__proto__:null,fastLerp:Ns,fastMapToColor:H2,lerp:Lg,lift:bf,liftColor:wf,lum:tl,mapToColor:W2,modifyAlpha:Qs,modifyHSL:io,parse:Le,random:U2,stringify:Cr,toHex:F2},Symbol.toStringTag,{value:"Module"}));var Tf=Math.round;function el(r){var e;if(!r||r==="transparent")r="none";else if(typeof r=="string"&&r.indexOf("rgba")>-1){var t=Le(r);t&&(r="rgb("+t[0]+","+t[1]+","+t[2]+")",e=t[3])}return{color:r,opacity:e??1}}var i0=1e-4;function Ga(r){return r<i0&&r>-i0}function tu(r){return Tf(r*1e3)/1e3}function Gp(r){return Tf(r*1e4)/1e4}function $2(r){return"matrix("+tu(r[0])+","+tu(r[1])+","+tu(r[2])+","+tu(r[3])+","+Gp(r[4])+","+Gp(r[5])+")"}var X2={left:"start",right:"end",center:"middle",middle:"middle"};function Z2(r,e,t){return t==="top"?r+=e/2:t==="bottom"&&(r-=e/2),r}function q2(r){return r&&(r.shadowBlur||r.shadowOffsetX||r.shadowOffsetY)}function K2(r){var e=r.style,t=r.getGlobalScale();return[e.shadowColor,(e.shadowBlur||0).toFixed(2),(e.shadowOffsetX||0).toFixed(2),(e.shadowOffsetY||0).toFixed(2),t[0],t[1]].join(",")}function dT(r){return r&&!!r.image}function j2(r){return r&&!!r.svgElement}function Pg(r){return dT(r)||j2(r)}function gT(r){return r.type==="linear"}function yT(r){return r.type==="radial"}function mT(r){return r&&(r.type==="linear"||r.type==="radial")}function xh(r){return"url(#"+r+")"}function _T(r){var e=r.getGlobalScale(),t=Math.max(e[0],e[1]);return Math.max(Math.ceil(Math.log(t)/Math.log(10)),1)}function ST(r){var e=r.x||0,t=r.y||0,a=(r.rotation||0)*Rs,n=st(r.scaleX,1),i=st(r.scaleY,1),o=r.skewX||0,s=r.skewY||0,l=[];return(e||t)&&l.push("translate("+e+"px,"+t+"px)"),a&&l.push("rotate("+a+")"),(n!==1||i!==1)&&l.push("scale("+n+","+i+")"),(o||s)&&l.push("skew("+Tf(o*Rs)+"deg, "+Tf(s*Rs)+"deg)"),l.join(" ")}var J2=function(){return yt.hasGlobalWindow&&K(window.btoa)?function(r){return window.btoa(unescape(encodeURIComponent(r)))}:typeof Buffer<"u"?function(r){return Buffer.from(r).toString("base64")}:function(r){return null}}(),Fp=Array.prototype.slice;function oa(r,e,t){return(e-r)*t+r}function yv(r,e,t,a){for(var n=e.length,i=0;i<n;i++)r[i]=oa(e[i],t[i],a);return r}function Q2(r,e,t,a){for(var n=e.length,i=n&&e[0].length,o=0;o<n;o++){r[o]||(r[o]=[]);for(var s=0;s<i;s++)r[o][s]=oa(e[o][s],t[o][s],a)}return r}function eu(r,e,t,a){for(var n=e.length,i=0;i<n;i++)r[i]=e[i]+t[i]*a;return r}function o0(r,e,t,a){for(var n=e.length,i=n&&e[0].length,o=0;o<n;o++){r[o]||(r[o]=[]);for(var s=0;s<i;s++)r[o][s]=e[o][s]+t[o][s]*a}return r}function tP(r,e){for(var t=r.length,a=e.length,n=t>a?e:r,i=Math.min(t,a),o=n[i-1]||{color:[0,0,0,0],offset:0},s=i;s<Math.max(t,a);s++)n.push({offset:o.offset,color:o.color.slice()})}function eP(r,e,t){var a=r,n=e;if(!(!a.push||!n.push)){var i=a.length,o=n.length;if(i!==o){var s=i>o;if(s)a.length=o;else for(var l=i;l<o;l++)a.push(t===1?n[l]:Fp.call(n[l]))}for(var u=a[0]&&a[0].length,l=0;l<a.length;l++)if(t===1)isNaN(a[l])&&(a[l]=n[l]);else for(var f=0;f<u;f++)isNaN(a[l][f])&&(a[l][f]=n[l][f])}}function Bs(r){if(he(r)){var e=r.length;if(he(r[0])){for(var t=[],a=0;a<e;a++)t.push(Fp.call(r[a]));return t}return Fp.call(r)}return r}function ju(r){return r[0]=Math.floor(r[0])||0,r[1]=Math.floor(r[1])||0,r[2]=Math.floor(r[2])||0,r[3]=r[3]==null?1:r[3],"rgba("+r.join(",")+")"}function rP(r){return he(r&&r[0])?2:1}var ru=0,Ju=1,xT=2,xs=3,Hp=4,Wp=5,s0=6;function l0(r){return r===Hp||r===Wp}function au(r){return r===Ju||r===xT}var qo=[0,0,0,0],aP=function(){function r(e){this.keyframes=[],this.discrete=!1,this._invalid=!1,this._needsSort=!1,this._lastFr=0,this._lastFrP=0,this.propName=e}return r.prototype.isFinished=function(){return this._finished},r.prototype.setFinished=function(){this._finished=!0,this._additiveTrack&&this._additiveTrack.setFinished()},r.prototype.needsAnimate=function(){return this.keyframes.length>=1},r.prototype.getAdditiveTrack=function(){return this._additiveTrack},r.prototype.addKeyframe=function(e,t,a){this._needsSort=!0;var n=this.keyframes,i=n.length,o=!1,s=s0,l=t;if(he(t)){var u=rP(t);s=u,(u===1&&!wt(t[0])||u===2&&!wt(t[0][0]))&&(o=!0)}else if(wt(t)&&!vo(t))s=ru;else if(Y(t))if(!isNaN(+t))s=ru;else{var f=Le(t);f&&(l=f,s=xs)}else if(Al(t)){var h=V({},l);h.colorStops=G(t.colorStops,function(c){return{offset:c.offset,color:Le(c.color)}}),gT(t)?s=Hp:yT(t)&&(s=Wp),l=h}i===0?this.valType=s:(s!==this.valType||s===s0)&&(o=!0),this.discrete=this.discrete||o;var v={time:e,value:l,rawValue:t,percent:0};return a&&(v.easing=a,v.easingFunc=K(a)?a:Os[a]||Ig(a)),n.push(v),v},r.prototype.prepare=function(e,t){var a=this.keyframes;this._needsSort&&a.sort(function(d,g){return d.time-g.time});for(var n=this.valType,i=a.length,o=a[i-1],s=this.discrete,l=au(n),u=l0(n),f=0;f<i;f++){var h=a[f],v=h.value,c=o.value;h.percent=h.time/e,s||(l&&f!==i-1?eP(v,c,n):u&&tP(v.colorStops,c.colorStops))}if(!s&&n!==Wp&&t&&this.needsAnimate()&&t.needsAnimate()&&n===t.valType&&!t._finished){this._additiveTrack=t;for(var p=a[0].value,f=0;f<i;f++)n===ru?a[f].additiveValue=a[f].value-p:n===xs?a[f].additiveValue=eu([],a[f].value,p,-1):au(n)&&(a[f].additiveValue=n===Ju?eu([],a[f].value,p,-1):o0([],a[f].value,p,-1))}},r.prototype.step=function(e,t){if(!this._finished){this._additiveTrack&&this._additiveTrack._finished&&(this._additiveTrack=null);var a=this._additiveTrack!=null,n=a?"additiveValue":"value",i=this.valType,o=this.keyframes,s=o.length,l=this.propName,u=i===xs,f,h=this._lastFr,v=Math.min,c,p;if(s===1)c=p=o[0];else{if(t<0)f=0;else if(t<this._lastFrP){var d=v(h+1,s-1);for(f=d;f>=0&&!(o[f].percent<=t);f--);f=v(f,s-2)}else{for(f=h;f<s&&!(o[f].percent>t);f++);f=v(f-1,s-2)}p=o[f+1],c=o[f]}if(c&&p){this._lastFr=f,this._lastFrP=t;var g=p.percent-c.percent,y=g===0?1:v((t-c.percent)/g,1);p.easingFunc&&(y=p.easingFunc(y));var m=a?this._additiveValue:u?qo:e[l];if((au(i)||u)&&!m&&(m=this._additiveValue=[]),this.discrete)e[l]=y<1?c.rawValue:p.rawValue;else if(au(i))i===Ju?yv(m,c[n],p[n],y):Q2(m,c[n],p[n],y);else if(l0(i)){var _=c[n],S=p[n],b=i===Hp;e[l]={type:b?"linear":"radial",x:oa(_.x,S.x,y),y:oa(_.y,S.y,y),colorStops:G(_.colorStops,function(w,T){var A=S.colorStops[T];return{offset:oa(w.offset,A.offset,y),color:ju(yv([],w.color,A.color,y))}}),global:S.global},b?(e[l].x2=oa(_.x2,S.x2,y),e[l].y2=oa(_.y2,S.y2,y)):e[l].r=oa(_.r,S.r,y)}else if(u)yv(m,c[n],p[n],y),a||(e[l]=ju(m));else{var x=oa(c[n],p[n],y);a?this._additiveValue=x:e[l]=x}a&&this._addToTarget(e)}}},r.prototype._addToTarget=function(e){var t=this.valType,a=this.propName,n=this._additiveValue;t===ru?e[a]=e[a]+n:t===xs?(Le(e[a],qo),eu(qo,qo,n,1),e[a]=ju(qo)):t===Ju?eu(e[a],e[a],n,1):t===xT&&o0(e[a],e[a],n,1)},r}(),Rg=function(){function r(e,t,a,n){if(this._tracks={},this._trackKeys=[],this._maxTime=0,this._started=0,this._clip=null,this._target=e,this._loop=t,t&&n){dh("Can' use additive animation on looped animation.");return}this._additiveAnimators=n,this._allowDiscrete=a}return r.prototype.getMaxTime=function(){return this._maxTime},r.prototype.getDelay=function(){return this._delay},r.prototype.getLoop=function(){return this._loop},r.prototype.getTarget=function(){return this._target},r.prototype.changeTarget=function(e){this._target=e},r.prototype.when=function(e,t,a){return this.whenWithKeys(e,t,_t(t),a)},r.prototype.whenWithKeys=function(e,t,a,n){for(var i=this._tracks,o=0;o<a.length;o++){var s=a[o],l=i[s];if(!l){l=i[s]=new aP(s);var u=void 0,f=this._getAdditiveTrack(s);if(f){var h=f.keyframes,v=h[h.length-1];u=v&&v.value,f.valType===xs&&u&&(u=ju(u))}else u=this._target[s];if(u==null)continue;e>0&&l.addKeyframe(0,Bs(u),n),this._trackKeys.push(s)}l.addKeyframe(e,Bs(t[s]),n)}return this._maxTime=Math.max(this._maxTime,e),this},r.prototype.pause=function(){this._clip.pause(),this._paused=!0},r.prototype.resume=function(){this._clip.resume(),this._paused=!1},r.prototype.isPaused=function(){return!!this._paused},r.prototype.duration=function(e){return this._maxTime=e,this._force=!0,this},r.prototype._doneCallback=function(){this._setTracksFinished(),this._clip=null;var e=this._doneCbs;if(e)for(var t=e.length,a=0;a<t;a++)e[a].call(this)},r.prototype._abortedCallback=function(){this._setTracksFinished();var e=this.animation,t=this._abortedCbs;if(e&&e.removeClip(this._clip),this._clip=null,t)for(var a=0;a<t.length;a++)t[a].call(this)},r.prototype._setTracksFinished=function(){for(var e=this._tracks,t=this._trackKeys,a=0;a<t.length;a++)e[t[a]].setFinished()},r.prototype._getAdditiveTrack=function(e){var t,a=this._additiveAnimators;if(a)for(var n=0;n<a.length;n++){var i=a[n].getTrack(e);i&&(t=i)}return t},r.prototype.start=function(e){if(!(this._started>0)){this._started=1;for(var t=this,a=[],n=this._maxTime||0,i=0;i<this._trackKeys.length;i++){var o=this._trackKeys[i],s=this._tracks[o],l=this._getAdditiveTrack(o),u=s.keyframes,f=u.length;if(s.prepare(n,l),s.needsAnimate())if(!this._allowDiscrete&&s.discrete){var h=u[f-1];h&&(t._target[s.propName]=h.rawValue),s.setFinished()}else a.push(s)}if(a.length||this._force){var v=new B2({life:n,loop:this._loop,delay:this._delay||0,onframe:function(c){t._started=2;var p=t._additiveAnimators;if(p){for(var d=!1,g=0;g<p.length;g++)if(p[g]._clip){d=!0;break}d||(t._additiveAnimators=null)}for(var g=0;g<a.length;g++)a[g].step(t._target,c);var y=t._onframeCbs;if(y)for(var g=0;g<y.length;g++)y[g](t._target,c)},ondestroy:function(){t._doneCallback()}});this._clip=v,this.animation&&this.animation.addClip(v),e&&v.setEasing(e)}else this._doneCallback();return this}},r.prototype.stop=function(e){if(this._clip){var t=this._clip;e&&t.onframe(1),this._abortedCallback()}},r.prototype.delay=function(e){return this._delay=e,this},r.prototype.during=function(e){return e&&(this._onframeCbs||(this._onframeCbs=[]),this._onframeCbs.push(e)),this},r.prototype.done=function(e){return e&&(this._doneCbs||(this._doneCbs=[]),this._doneCbs.push(e)),this},r.prototype.aborted=function(e){return e&&(this._abortedCbs||(this._abortedCbs=[]),this._abortedCbs.push(e)),this},r.prototype.getClip=function(){return this._clip},r.prototype.getTrack=function(e){return this._tracks[e]},r.prototype.getTracks=function(){var e=this;return G(this._trackKeys,function(t){return e._tracks[t]})},r.prototype.stopTracks=function(e,t){if(!e.length||!this._clip)return!0;for(var a=this._tracks,n=this._trackKeys,i=0;i<e.length;i++){var o=a[e[i]];o&&!o.isFinished()&&(t?o.step(this._target,1):this._started===1&&o.step(this._target,0),o.setFinished())}for(var s=!0,i=0;i<n.length;i++)if(!a[n[i]].isFinished()){s=!1;break}return s&&this._abortedCallback(),s},r.prototype.saveTo=function(e,t,a){if(e){t=t||this._trackKeys;for(var n=0;n<t.length;n++){var i=t[n],o=this._tracks[i];if(!(!o||o.isFinished())){var s=o.keyframes,l=s[a?0:s.length-1];l&&(e[i]=Bs(l.rawValue))}}}},r.prototype.__changeFinalValue=function(e,t){t=t||_t(e);for(var a=0;a<t.length;a++){var n=t[a],i=this._tracks[n];if(i){var o=i.keyframes;if(o.length>1){var s=o.pop();i.addKeyframe(s.time,e[n]),i.prepare(this._maxTime,i.getAdditiveTrack())}}}},r}();function Qi(){return new Date().getTime()}var nP=function(r){k(e,r);function e(t){var a=r.call(this)||this;return a._running=!1,a._time=0,a._pausedTime=0,a._pauseStart=0,a._paused=!1,t=t||{},a.stage=t.stage||{},a}return e.prototype.addClip=function(t){t.animation&&this.removeClip(t),this._head?(this._tail.next=t,t.prev=this._tail,t.next=null,this._tail=t):this._head=this._tail=t,t.animation=this},e.prototype.addAnimator=function(t){t.animation=this;var a=t.getClip();a&&this.addClip(a)},e.prototype.removeClip=function(t){if(t.animation){var a=t.prev,n=t.next;a?a.next=n:this._head=n,n?n.prev=a:this._tail=a,t.next=t.prev=t.animation=null}},e.prototype.removeAnimator=function(t){var a=t.getClip();a&&this.removeClip(a),t.animation=null},e.prototype.update=function(t){for(var a=Qi()-this._pausedTime,n=a-this._time,i=this._head;i;){var o=i.next,s=i.step(a,n);s&&(i.ondestroy(),this.removeClip(i)),i=o}this._time=a,t||(this.trigger("frame",n),this.stage.update&&this.stage.update())},e.prototype._startLoop=function(){var t=this;this._running=!0;function a(){t._running&&(_f(a),!t._paused&&t.update())}_f(a)},e.prototype.start=function(){this._running||(this._time=Qi(),this._pausedTime=0,this._startLoop())},e.prototype.stop=function(){this._running=!1},e.prototype.pause=function(){this._paused||(this._pauseStart=Qi(),this._paused=!0)},e.prototype.resume=function(){this._paused&&(this._pausedTime+=Qi()-this._pauseStart,this._paused=!1)},e.prototype.clear=function(){for(var t=this._head;t;){var a=t.next;t.prev=t.next=t.animation=null,t=a}this._head=this._tail=null},e.prototype.isFinished=function(){return this._head==null},e.prototype.animate=function(t,a){a=a||{},this.start();var n=new Rg(t,a.loop);return this.addAnimator(n),n},e}(hr),iP=300,mv=yt.domSupported,_v=function(){var r=["click","dblclick","mousewheel","wheel","mouseout","mouseup","mousedown","mousemove","contextmenu"],e=["touchstart","touchend","touchmove"],t={pointerdown:1,pointerup:1,pointermove:1,pointerout:1},a=G(r,function(n){var i=n.replace("mouse","pointer");return t.hasOwnProperty(i)?i:n});return{mouse:r,touch:e,pointer:a}}(),u0={mouse:["mousemove","mouseup"],pointer:["pointermove","pointerup"]},f0=!1;function Up(r){var e=r.pointerType;return e==="pen"||e==="touch"}function oP(r){r.touching=!0,r.touchTimer!=null&&(clearTimeout(r.touchTimer),r.touchTimer=null),r.touchTimer=setTimeout(function(){r.touching=!1,r.touchTimer=null},700)}function Sv(r){r&&(r.zrByTouch=!0)}function sP(r,e){return tr(r.dom,new lP(r,e),!0)}function bT(r,e){for(var t=e,a=!1;t&&t.nodeType!==9&&!(a=t.domBelongToZr||t!==e&&t===r.painterRoot);)t=t.parentNode;return a}var lP=function(){function r(e,t){this.stopPropagation=Yt,this.stopImmediatePropagation=Yt,this.preventDefault=Yt,this.type=t.type,this.target=this.currentTarget=e.dom,this.pointerType=t.pointerType,this.clientX=t.clientX,this.clientY=t.clientY}return r}(),_r={mousedown:function(r){r=tr(this.dom,r),this.__mayPointerCapture=[r.zrX,r.zrY],this.trigger("mousedown",r)},mousemove:function(r){r=tr(this.dom,r);var e=this.__mayPointerCapture;e&&(r.zrX!==e[0]||r.zrY!==e[1])&&this.__togglePointerCapture(!0),this.trigger("mousemove",r)},mouseup:function(r){r=tr(this.dom,r),this.__togglePointerCapture(!1),this.trigger("mouseup",r)},mouseout:function(r){r=tr(this.dom,r);var e=r.toElement||r.relatedTarget;bT(this,e)||(this.__pointerCapturing&&(r.zrEventControl="no_globalout"),this.trigger("mouseout",r))},wheel:function(r){f0=!0,r=tr(this.dom,r),this.trigger("mousewheel",r)},mousewheel:function(r){f0||(r=tr(this.dom,r),this.trigger("mousewheel",r))},touchstart:function(r){r=tr(this.dom,r),Sv(r),this.__lastTouchMoment=new Date,this.handler.processGesture(r,"start"),_r.mousemove.call(this,r),_r.mousedown.call(this,r)},touchmove:function(r){r=tr(this.dom,r),Sv(r),this.handler.processGesture(r,"change"),_r.mousemove.call(this,r)},touchend:function(r){r=tr(this.dom,r),Sv(r),this.handler.processGesture(r,"end"),_r.mouseup.call(this,r),+new Date-+this.__lastTouchMoment<iP&&_r.click.call(this,r)},pointerdown:function(r){_r.mousedown.call(this,r)},pointermove:function(r){Up(r)||_r.mousemove.call(this,r)},pointerup:function(r){_r.mouseup.call(this,r)},pointerout:function(r){Up(r)||_r.mouseout.call(this,r)}};D(["click","dblclick","contextmenu"],function(r){_r[r]=function(e){e=tr(this.dom,e),this.trigger(r,e)}});var Yp={pointermove:function(r){Up(r)||Yp.mousemove.call(this,r)},pointerup:function(r){Yp.mouseup.call(this,r)},mousemove:function(r){this.trigger("mousemove",r)},mouseup:function(r){var e=this.__pointerCapturing;this.__togglePointerCapture(!1),this.trigger("mouseup",r),e&&(r.zrEventControl="only_globalout",this.trigger("mouseout",r))}};function uP(r,e){var t=e.domHandlers;yt.pointerEventsSupported?D(_v.pointer,function(a){Qu(e,a,function(n){t[a].call(r,n)})}):(yt.touchEventsSupported&&D(_v.touch,function(a){Qu(e,a,function(n){t[a].call(r,n),oP(e)})}),D(_v.mouse,function(a){Qu(e,a,function(n){n=Mg(n),e.touching||t[a].call(r,n)})}))}function fP(r,e){yt.pointerEventsSupported?D(u0.pointer,t):yt.touchEventsSupported||D(u0.mouse,t);function t(a){function n(i){i=Mg(i),bT(r,i.target)||(i=sP(r,i),e.domHandlers[a].call(r,i))}Qu(e,a,n,{capture:!0})}}function Qu(r,e,t,a){r.mounted[e]=t,r.listenerOpts[e]=a,Np(r.domTarget,e,t,a)}function xv(r){var e=r.mounted;for(var t in e)e.hasOwnProperty(t)&&S2(r.domTarget,t,e[t],r.listenerOpts[t]);r.mounted={}}var h0=function(){function r(e,t){this.mounted={},this.listenerOpts={},this.touching=!1,this.domTarget=e,this.domHandlers=t}return r}(),hP=function(r){k(e,r);function e(t,a){var n=r.call(this)||this;return n.__pointerCapturing=!1,n.dom=t,n.painterRoot=a,n._localHandlerScope=new h0(t,_r),mv&&(n._globalHandlerScope=new h0(document,Yp)),uP(n,n._localHandlerScope),n}return e.prototype.dispose=function(){xv(this._localHandlerScope),mv&&xv(this._globalHandlerScope)},e.prototype.setCursor=function(t){this.dom.style&&(this.dom.style.cursor=t||"default")},e.prototype.__togglePointerCapture=function(t){if(this.__mayPointerCapture=null,mv&&+this.__pointerCapturing^+t){this.__pointerCapturing=t;var a=this._globalHandlerScope;t?fP(this,a):xv(a)}},e}(hr),wT=1;yt.hasGlobalWindow&&(wT=Math.max(window.devicePixelRatio||window.screen&&window.screen.deviceXDPI/window.screen.logicalXDPI||1,1));var Af=wT,$p=.4,Xp="#333",Zp="#ccc",vP="#eee",v0=Dl,c0=5e-5;function dn(r){return r>c0||r<-c0}var gn=[],Di=[],bv=Ge(),wv=Math.abs,ha=function(){function r(){}return r.prototype.getLocalTransform=function(e){return r.getLocalTransform(this,e)},r.prototype.setPosition=function(e){this.x=e[0],this.y=e[1]},r.prototype.setScale=function(e){this.scaleX=e[0],this.scaleY=e[1]},r.prototype.setSkew=function(e){this.skewX=e[0],this.skewY=e[1]},r.prototype.setOrigin=function(e){this.originX=e[0],this.originY=e[1]},r.prototype.needLocalTransform=function(){return dn(this.rotation)||dn(this.x)||dn(this.y)||dn(this.scaleX-1)||dn(this.scaleY-1)||dn(this.skewX)||dn(this.skewY)},r.prototype.updateTransform=function(){var e=this.parent&&this.parent.transform,t=this.needLocalTransform(),a=this.transform;if(!(t||e)){a&&(v0(a),this.invTransform=null);return}a=a||Ge(),t?this.getLocalTransform(a):v0(a),e&&(t?Xr(a,e,a):_h(a,e)),this.transform=a,this._resolveGlobalScaleRatio(a)},r.prototype._resolveGlobalScaleRatio=function(e){var t=this.globalScaleRatio;if(t!=null&&t!==1){this.getGlobalScale(gn);var a=gn[0]<0?-1:1,n=gn[1]<0?-1:1,i=((gn[0]-a)*t+a)/gn[0]||0,o=((gn[1]-n)*t+n)/gn[1]||0;e[0]*=i,e[1]*=i,e[2]*=o,e[3]*=o}this.invTransform=this.invTransform||Ge(),yi(this.invTransform,e)},r.prototype.getComputedTransform=function(){for(var e=this,t=[];e;)t.push(e),e=e.parent;for(;e=t.pop();)e.updateTransform();return this.transform},r.prototype.setLocalTransform=function(e){if(e){var t=e[0]*e[0]+e[1]*e[1],a=e[2]*e[2]+e[3]*e[3],n=Math.atan2(e[1],e[0]),i=Math.PI/2+n-Math.atan2(e[3],e[2]);a=Math.sqrt(a)*Math.cos(i),t=Math.sqrt(t),this.skewX=i,this.skewY=0,this.rotation=-n,this.x=+e[4],this.y=+e[5],this.scaleX=t,this.scaleY=a,this.originX=0,this.originY=0}},r.prototype.decomposeTransform=function(){if(this.transform){var e=this.parent,t=this.transform;e&&e.transform&&(e.invTransform=e.invTransform||Ge(),Xr(Di,e.invTransform,t),t=Di);var a=this.originX,n=this.originY;(a||n)&&(bv[4]=a,bv[5]=n,Xr(Di,t,bv),Di[4]-=a,Di[5]-=n,t=Di),this.setLocalTransform(t)}},r.prototype.getGlobalScale=function(e){var t=this.transform;return e=e||[],t?(e[0]=Math.sqrt(t[0]*t[0]+t[1]*t[1]),e[1]=Math.sqrt(t[2]*t[2]+t[3]*t[3]),t[0]<0&&(e[0]=-e[0]),t[3]<0&&(e[1]=-e[1]),e):(e[0]=1,e[1]=1,e)},r.prototype.transformCoordToLocal=function(e,t){var a=[e,t],n=this.invTransform;return n&&ue(a,a,n),a},r.prototype.transformCoordToGlobal=function(e,t){var a=[e,t],n=this.transform;return n&&ue(a,a,n),a},r.prototype.getLineScale=function(){var e=this.transform;return e&&wv(e[0]-1)>1e-10&&wv(e[3]-1)>1e-10?Math.sqrt(wv(e[0]*e[3]-e[2]*e[1])):1},r.prototype.copyTransform=function(e){TT(this,e)},r.getLocalTransform=function(e,t){t=t||[];var a=e.originX||0,n=e.originY||0,i=e.scaleX,o=e.scaleY,s=e.anchorX,l=e.anchorY,u=e.rotation||0,f=e.x,h=e.y,v=e.skewX?Math.tan(e.skewX):0,c=e.skewY?Math.tan(-e.skewY):0;if(a||n||s||l){var p=a+s,d=n+l;t[4]=-p*i-v*d*o,t[5]=-d*o-c*p*i}else t[4]=t[5]=0;return t[0]=i,t[3]=o,t[1]=c*i,t[2]=v*o,u&&on(t,t,u),t[4]+=a+f,t[5]+=n+h,t},r.initDefaultProps=function(){var e=r.prototype;e.scaleX=e.scaleY=e.globalScaleRatio=1,e.x=e.y=e.originX=e.originY=e.skewX=e.skewY=e.rotation=e.anchorX=e.anchorY=0}(),r}(),Kr=["x","y","originX","originY","anchorX","anchorY","rotation","scaleX","scaleY","skewX","skewY"];function TT(r,e){for(var t=0;t<Kr.length;t++){var a=Kr[t];r[a]=e[a]}}var p0={};function Xe(r,e){e=e||Ja;var t=p0[e];t||(t=p0[e]=new Ml(500));var a=t.get(r);return a==null&&(a=Mr.measureText(r,e).width,t.put(r,a)),a}function d0(r,e,t,a){var n=Xe(r,e),i=bh(e),o=bs(0,n,t),s=qi(0,i,a),l=new ht(o,s,n,i);return l}function Il(r,e,t,a){var n=((r||"")+"").split(`
|
|
2
2
|
`),i=n.length;if(i===1)return d0(n[0],e,t,a);for(var o=new ht(0,0,0,0),s=0;s<n.length;s++){var l=d0(n[s],e,t,a);s===0?o.copy(l):o.union(l)}return o}function bs(r,e,t){return t==="right"?r-=e:t==="center"&&(r-=e/2),r}function qi(r,e,t){return t==="middle"?r-=e/2:t==="bottom"&&(r-=e),r}function bh(r){return Xe("国",r)}function Lr(r,e){return typeof r=="string"?r.lastIndexOf("%")>=0?parseFloat(r)/100*e:parseFloat(r):r}function Cf(r,e,t){var a=e.position||"inside",n=e.distance!=null?e.distance:5,i=t.height,o=t.width,s=i/2,l=t.x,u=t.y,f="left",h="top";if(a instanceof Array)l+=Lr(a[0],t.width),u+=Lr(a[1],t.height),f=null,h=null;else switch(a){case"left":l-=n,u+=s,f="right",h="middle";break;case"right":l+=n+o,u+=s,h="middle";break;case"top":l+=o/2,u-=n,f="center",h="bottom";break;case"bottom":l+=o/2,u+=i+n,f="center";break;case"inside":l+=o/2,u+=s,f="center",h="middle";break;case"insideLeft":l+=n,u+=s,h="middle";break;case"insideRight":l+=o-n,u+=s,f="right",h="middle";break;case"insideTop":l+=o/2,u+=n,f="center";break;case"insideBottom":l+=o/2,u+=i-n,f="center",h="bottom";break;case"insideTopLeft":l+=n,u+=n;break;case"insideTopRight":l+=o-n,u+=n,f="right";break;case"insideBottomLeft":l+=n,u+=i-n,h="bottom";break;case"insideBottomRight":l+=o-n,u+=i-n,f="right",h="bottom";break}return r=r||{},r.x=l,r.y=u,r.align=f,r.verticalAlign=h,r}var Tv="__zr_normal__",Av=Kr.concat(["ignore"]),cP=ur(Kr,function(r,e){return r[e]=!0,r},{ignore:!1}),Mi={},pP=new ht(0,0,0,0),wh=function(){function r(e){this.id=Tg(),this.animators=[],this.currentStates=[],this.states={},this._init(e)}return r.prototype._init=function(e){this.attr(e)},r.prototype.drift=function(e,t,a){switch(this.draggable){case"horizontal":t=0;break;case"vertical":e=0;break}var n=this.transform;n||(n=this.transform=[1,0,0,1,0,0]),n[4]+=e,n[5]+=t,this.decomposeTransform(),this.markRedraw()},r.prototype.beforeUpdate=function(){},r.prototype.afterUpdate=function(){},r.prototype.update=function(){this.updateTransform(),this.__dirty&&this.updateInnerText()},r.prototype.updateInnerText=function(e){var t=this._textContent;if(t&&(!t.ignore||e)){this.textConfig||(this.textConfig={});var a=this.textConfig,n=a.local,i=t.innerTransformable,o=void 0,s=void 0,l=!1;i.parent=n?this:null;var u=!1;if(i.copyTransform(t),a.position!=null){var f=pP;a.layoutRect?f.copy(a.layoutRect):f.copy(this.getBoundingRect()),n||f.applyTransform(this.transform),this.calculateTextPosition?this.calculateTextPosition(Mi,a,f):Cf(Mi,a,f),i.x=Mi.x,i.y=Mi.y,o=Mi.align,s=Mi.verticalAlign;var h=a.origin;if(h&&a.rotation!=null){var v=void 0,c=void 0;h==="center"?(v=f.width*.5,c=f.height*.5):(v=Lr(h[0],f.width),c=Lr(h[1],f.height)),u=!0,i.originX=-i.x+v+(n?0:f.x),i.originY=-i.y+c+(n?0:f.y)}}a.rotation!=null&&(i.rotation=a.rotation);var p=a.offset;p&&(i.x+=p[0],i.y+=p[1],u||(i.originX=-p[0],i.originY=-p[1]));var d=a.inside==null?typeof a.position=="string"&&a.position.indexOf("inside")>=0:a.inside,g=this._innerTextDefaultStyle||(this._innerTextDefaultStyle={}),y=void 0,m=void 0,_=void 0;d&&this.canBeInsideText()?(y=a.insideFill,m=a.insideStroke,(y==null||y==="auto")&&(y=this.getInsideTextFill()),(m==null||m==="auto")&&(m=this.getInsideTextStroke(y),_=!0)):(y=a.outsideFill,m=a.outsideStroke,(y==null||y==="auto")&&(y=this.getOutsideFill()),(m==null||m==="auto")&&(m=this.getOutsideStroke(y),_=!0)),y=y||"#000",(y!==g.fill||m!==g.stroke||_!==g.autoStroke||o!==g.align||s!==g.verticalAlign)&&(l=!0,g.fill=y,g.stroke=m,g.autoStroke=_,g.align=o,g.verticalAlign=s,t.setDefaultTextStyle(g)),t.__dirty|=We,l&&t.dirtyStyle(!0)}},r.prototype.canBeInsideText=function(){return!0},r.prototype.getInsideTextFill=function(){return"#fff"},r.prototype.getInsideTextStroke=function(e){return"#000"},r.prototype.getOutsideFill=function(){return this.__zr&&this.__zr.isDarkMode()?Zp:Xp},r.prototype.getOutsideStroke=function(e){var t=this.__zr&&this.__zr.getBackgroundColor(),a=typeof t=="string"&&Le(t);a||(a=[255,255,255,1]);for(var n=a[3],i=this.__zr.isDarkMode(),o=0;o<3;o++)a[o]=a[o]*n+(i?0:255)*(1-n);return a[3]=1,Cr(a,"rgba")},r.prototype.traverse=function(e,t){},r.prototype.attrKV=function(e,t){e==="textConfig"?this.setTextConfig(t):e==="textContent"?this.setTextContent(t):e==="clipPath"?this.setClipPath(t):e==="extra"?(this.extra=this.extra||{},V(this.extra,t)):this[e]=t},r.prototype.hide=function(){this.ignore=!0,this.markRedraw()},r.prototype.show=function(){this.ignore=!1,this.markRedraw()},r.prototype.attr=function(e,t){if(typeof e=="string")this.attrKV(e,t);else if(tt(e))for(var a=e,n=_t(a),i=0;i<n.length;i++){var o=n[i];this.attrKV(o,e[o])}return this.markRedraw(),this},r.prototype.saveCurrentToNormalState=function(e){this._innerSaveToNormal(e);for(var t=this._normalState,a=0;a<this.animators.length;a++){var n=this.animators[a],i=n.__fromStateTransition;if(!(n.getLoop()||i&&i!==Tv)){var o=n.targetName,s=o?t[o]:t;n.saveTo(s)}}},r.prototype._innerSaveToNormal=function(e){var t=this._normalState;t||(t=this._normalState={}),e.textConfig&&!t.textConfig&&(t.textConfig=this.textConfig),this._savePrimaryToNormal(e,t,Av)},r.prototype._savePrimaryToNormal=function(e,t,a){for(var n=0;n<a.length;n++){var i=a[n];e[i]!=null&&!(i in t)&&(t[i]=this[i])}},r.prototype.hasState=function(){return this.currentStates.length>0},r.prototype.getState=function(e){return this.states[e]},r.prototype.ensureState=function(e){var t=this.states;return t[e]||(t[e]={}),t[e]},r.prototype.clearStates=function(e){this.useState(Tv,!1,e)},r.prototype.useState=function(e,t,a,n){var i=e===Tv,o=this.hasState();if(!(!o&&i)){var s=this.currentStates,l=this.stateTransition;if(!(vt(s,e)>=0&&(t||s.length===1))){var u;if(this.stateProxy&&!i&&(u=this.stateProxy(e)),u||(u=this.states&&this.states[e]),!u&&!i){dh("State "+e+" not exists.");return}i||this.saveCurrentToNormalState(u);var f=!!(u&&u.hoverLayer||n);f&&this._toggleHoverLayerFlag(!0),this._applyStateObj(e,u,this._normalState,t,!a&&!this.__inHover&&l&&l.duration>0,l);var h=this._textContent,v=this._textGuide;return h&&h.useState(e,t,a,f),v&&v.useState(e,t,a,f),i?(this.currentStates=[],this._normalState={}):t?this.currentStates.push(e):this.currentStates=[e],this._updateAnimationTargets(),this.markRedraw(),!f&&this.__inHover&&(this._toggleHoverLayerFlag(!1),this.__dirty&=~We),u}}},r.prototype.useStates=function(e,t,a){if(!e.length)this.clearStates();else{var n=[],i=this.currentStates,o=e.length,s=o===i.length;if(s){for(var l=0;l<o;l++)if(e[l]!==i[l]){s=!1;break}}if(s)return;for(var l=0;l<o;l++){var u=e[l],f=void 0;this.stateProxy&&(f=this.stateProxy(u,e)),f||(f=this.states[u]),f&&n.push(f)}var h=n[o-1],v=!!(h&&h.hoverLayer||a);v&&this._toggleHoverLayerFlag(!0);var c=this._mergeStates(n),p=this.stateTransition;this.saveCurrentToNormalState(c),this._applyStateObj(e.join(","),c,this._normalState,!1,!t&&!this.__inHover&&p&&p.duration>0,p);var d=this._textContent,g=this._textGuide;d&&d.useStates(e,t,v),g&&g.useStates(e,t,v),this._updateAnimationTargets(),this.currentStates=e.slice(),this.markRedraw(),!v&&this.__inHover&&(this._toggleHoverLayerFlag(!1),this.__dirty&=~We)}},r.prototype.isSilent=function(){for(var e=this.silent,t=this.parent;!e&&t;){if(t.silent){e=!0;break}t=t.parent}return e},r.prototype._updateAnimationTargets=function(){for(var e=0;e<this.animators.length;e++){var t=this.animators[e];t.targetName&&t.changeTarget(this[t.targetName])}},r.prototype.removeState=function(e){var t=vt(this.currentStates,e);if(t>=0){var a=this.currentStates.slice();a.splice(t,1),this.useStates(a)}},r.prototype.replaceState=function(e,t,a){var n=this.currentStates.slice(),i=vt(n,e),o=vt(n,t)>=0;i>=0?o?n.splice(i,1):n[i]=t:a&&!o&&n.push(t),this.useStates(n)},r.prototype.toggleState=function(e,t){t?this.useState(e,!0):this.removeState(e)},r.prototype._mergeStates=function(e){for(var t={},a,n=0;n<e.length;n++){var i=e[n];V(t,i),i.textConfig&&(a=a||{},V(a,i.textConfig))}return a&&(t.textConfig=a),t},r.prototype._applyStateObj=function(e,t,a,n,i,o){var s=!(t&&n);t&&t.textConfig?(this.textConfig=V({},n?this.textConfig:a.textConfig),V(this.textConfig,t.textConfig)):s&&a.textConfig&&(this.textConfig=a.textConfig);for(var l={},u=!1,f=0;f<Av.length;f++){var h=Av[f],v=i&&cP[h];t&&t[h]!=null?v?(u=!0,l[h]=t[h]):this[h]=t[h]:s&&a[h]!=null&&(v?(u=!0,l[h]=a[h]):this[h]=a[h])}if(!i)for(var f=0;f<this.animators.length;f++){var c=this.animators[f],p=c.targetName;c.getLoop()||c.__changeFinalValue(p?(t||a)[p]:t||a)}u&&this._transitionState(e,l,o)},r.prototype._attachComponent=function(e){if(!(e.__zr&&!e.__hostTarget)&&e!==this){var t=this.__zr;t&&e.addSelfToZr(t),e.__zr=t,e.__hostTarget=this}},r.prototype._detachComponent=function(e){e.__zr&&e.removeSelfFromZr(e.__zr),e.__zr=null,e.__hostTarget=null},r.prototype.getClipPath=function(){return this._clipPath},r.prototype.setClipPath=function(e){this._clipPath&&this._clipPath!==e&&this.removeClipPath(),this._attachComponent(e),this._clipPath=e,this.markRedraw()},r.prototype.removeClipPath=function(){var e=this._clipPath;e&&(this._detachComponent(e),this._clipPath=null,this.markRedraw())},r.prototype.getTextContent=function(){return this._textContent},r.prototype.setTextContent=function(e){var t=this._textContent;t!==e&&(t&&t!==e&&this.removeTextContent(),e.innerTransformable=new ha,this._attachComponent(e),this._textContent=e,this.markRedraw())},r.prototype.setTextConfig=function(e){this.textConfig||(this.textConfig={}),V(this.textConfig,e),this.markRedraw()},r.prototype.removeTextConfig=function(){this.textConfig=null,this.markRedraw()},r.prototype.removeTextContent=function(){var e=this._textContent;e&&(e.innerTransformable=null,this._detachComponent(e),this._textContent=null,this._innerTextDefaultStyle=null,this.markRedraw())},r.prototype.getTextGuideLine=function(){return this._textGuide},r.prototype.setTextGuideLine=function(e){this._textGuide&&this._textGuide!==e&&this.removeTextGuideLine(),this._attachComponent(e),this._textGuide=e,this.markRedraw()},r.prototype.removeTextGuideLine=function(){var e=this._textGuide;e&&(this._detachComponent(e),this._textGuide=null,this.markRedraw())},r.prototype.markRedraw=function(){this.__dirty|=We;var e=this.__zr;e&&(this.__inHover?e.refreshHover():e.refresh()),this.__hostTarget&&this.__hostTarget.markRedraw()},r.prototype.dirty=function(){this.markRedraw()},r.prototype._toggleHoverLayerFlag=function(e){this.__inHover=e;var t=this._textContent,a=this._textGuide;t&&(t.__inHover=e),a&&(a.__inHover=e)},r.prototype.addSelfToZr=function(e){if(this.__zr!==e){this.__zr=e;var t=this.animators;if(t)for(var a=0;a<t.length;a++)e.animation.addAnimator(t[a]);this._clipPath&&this._clipPath.addSelfToZr(e),this._textContent&&this._textContent.addSelfToZr(e),this._textGuide&&this._textGuide.addSelfToZr(e)}},r.prototype.removeSelfFromZr=function(e){if(this.__zr){this.__zr=null;var t=this.animators;if(t)for(var a=0;a<t.length;a++)e.animation.removeAnimator(t[a]);this._clipPath&&this._clipPath.removeSelfFromZr(e),this._textContent&&this._textContent.removeSelfFromZr(e),this._textGuide&&this._textGuide.removeSelfFromZr(e)}},r.prototype.animate=function(e,t,a){var n=e?this[e]:this,i=new Rg(n,t,a);return e&&(i.targetName=e),this.addAnimator(i,e),i},r.prototype.addAnimator=function(e,t){var a=this.__zr,n=this;e.during(function(){n.updateDuringAnimation(t)}).done(function(){var i=n.animators,o=vt(i,e);o>=0&&i.splice(o,1)}),this.animators.push(e),a&&a.animation.addAnimator(e),a&&a.wakeUp()},r.prototype.updateDuringAnimation=function(e){this.markRedraw()},r.prototype.stopAnimation=function(e,t){for(var a=this.animators,n=a.length,i=[],o=0;o<n;o++){var s=a[o];!e||e===s.scope?s.stop(t):i.push(s)}return this.animators=i,this},r.prototype.animateTo=function(e,t,a){Cv(this,e,t,a)},r.prototype.animateFrom=function(e,t,a){Cv(this,e,t,a,!0)},r.prototype._transitionState=function(e,t,a,n){for(var i=Cv(this,t,a,n),o=0;o<i.length;o++)i[o].__fromStateTransition=e},r.prototype.getBoundingRect=function(){return null},r.prototype.getPaintRect=function(){return null},r.initDefaultProps=function(){var e=r.prototype;e.type="element",e.name="",e.ignore=e.silent=e.isGroup=e.draggable=e.dragging=e.ignoreClip=e.__inHover=!1,e.__dirty=We;function t(a,n,i,o){Object.defineProperty(e,a,{get:function(){if(!this[n]){var l=this[n]=[];s(this,l)}return this[n]},set:function(l){this[i]=l[0],this[o]=l[1],this[n]=l,s(this,l)}});function s(l,u){Object.defineProperty(u,0,{get:function(){return l[i]},set:function(f){l[i]=f}}),Object.defineProperty(u,1,{get:function(){return l[o]},set:function(f){l[o]=f}})}}Object.defineProperty&&(t("position","_legacyPos","x","y"),t("scale","_legacyScale","scaleX","scaleY"),t("origin","_legacyOrigin","originX","originY"))}(),r}();$t(wh,hr);$t(wh,ha);function Cv(r,e,t,a,n){t=t||{};var i=[];AT(r,"",r,e,t,a,i,n);var o=i.length,s=!1,l=t.done,u=t.aborted,f=function(){s=!0,o--,o<=0&&(s?l&&l():u&&u())},h=function(){o--,o<=0&&(s?l&&l():u&&u())};o||l&&l(),i.length>0&&t.during&&i[0].during(function(p,d){t.during(d)});for(var v=0;v<i.length;v++){var c=i[v];f&&c.done(f),h&&c.aborted(h),t.force&&c.duration(t.duration),c.start(t.easing)}return i}function Dv(r,e,t){for(var a=0;a<t;a++)r[a]=e[a]}function dP(r){return he(r[0])}function gP(r,e,t){if(he(e[t]))if(he(r[t])||(r[t]=[]),Re(e[t])){var a=e[t].length;r[t].length!==a&&(r[t]=new e[t].constructor(a),Dv(r[t],e[t],a))}else{var n=e[t],i=r[t],o=n.length;if(dP(n))for(var s=n[0].length,l=0;l<o;l++)i[l]?Dv(i[l],n[l],s):i[l]=Array.prototype.slice.call(n[l]);else Dv(i,n,o);i.length=n.length}else r[t]=e[t]}function yP(r,e){return r===e||he(r)&&he(e)&&mP(r,e)}function mP(r,e){var t=r.length;if(t!==e.length)return!1;for(var a=0;a<t;a++)if(r[a]!==e[a])return!1;return!0}function AT(r,e,t,a,n,i,o,s){for(var l=_t(a),u=n.duration,f=n.delay,h=n.additive,v=n.setToFinal,c=!tt(i),p=r.animators,d=[],g=0;g<l.length;g++){var y=l[g],m=a[y];if(m!=null&&t[y]!=null&&(c||i[y]))if(tt(m)&&!he(m)&&!Al(m)){if(e){s||(t[y]=m,r.updateDuringAnimation(e));continue}AT(r,y,t[y],m,n,i&&i[y],o,s)}else d.push(y);else s||(t[y]=m,r.updateDuringAnimation(e),d.push(y))}var _=d.length;if(!h&&_)for(var S=0;S<p.length;S++){var b=p[S];if(b.targetName===e){var x=b.stopTracks(d);if(x){var w=vt(p,b);p.splice(w,1)}}}if(n.force||(d=At(d,function(M){return!yP(a[M],t[M])}),_=d.length),_>0||n.force&&!o.length){var T=void 0,A=void 0,C=void 0;if(s){A={},v&&(T={});for(var S=0;S<_;S++){var y=d[S];A[y]=t[y],v?T[y]=a[y]:t[y]=a[y]}}else if(v){C={};for(var S=0;S<_;S++){var y=d[S];C[y]=Bs(t[y]),gP(t,a,y)}}var b=new Rg(t,!1,!1,h?At(p,function(I){return I.targetName===e}):null);b.targetName=e,n.scope&&(b.scope=n.scope),v&&T&&b.whenWithKeys(0,T,d),C&&b.whenWithKeys(0,C,d),b.whenWithKeys(u??500,s?A:a,d).delay(f||0),r.addAnimator(b,e),o.push(b)}}var at=function(r){k(e,r);function e(t){var a=r.call(this)||this;return a.isGroup=!0,a._children=[],a.attr(t),a}return e.prototype.childrenRef=function(){return this._children},e.prototype.children=function(){return this._children.slice()},e.prototype.childAt=function(t){return this._children[t]},e.prototype.childOfName=function(t){for(var a=this._children,n=0;n<a.length;n++)if(a[n].name===t)return a[n]},e.prototype.childCount=function(){return this._children.length},e.prototype.add=function(t){return t&&t!==this&&t.parent!==this&&(this._children.push(t),this._doAdd(t)),this},e.prototype.addBefore=function(t,a){if(t&&t!==this&&t.parent!==this&&a&&a.parent===this){var n=this._children,i=n.indexOf(a);i>=0&&(n.splice(i,0,t),this._doAdd(t))}return this},e.prototype.replace=function(t,a){var n=vt(this._children,t);return n>=0&&this.replaceAt(a,n),this},e.prototype.replaceAt=function(t,a){var n=this._children,i=n[a];if(t&&t!==this&&t.parent!==this&&t!==i){n[a]=t,i.parent=null;var o=this.__zr;o&&i.removeSelfFromZr(o),this._doAdd(t)}return this},e.prototype._doAdd=function(t){t.parent&&t.parent.remove(t),t.parent=this;var a=this.__zr;a&&a!==t.__zr&&t.addSelfToZr(a),a&&a.refresh()},e.prototype.remove=function(t){var a=this.__zr,n=this._children,i=vt(n,t);return i<0?this:(n.splice(i,1),t.parent=null,a&&t.removeSelfFromZr(a),a&&a.refresh(),this)},e.prototype.removeAll=function(){for(var t=this._children,a=this.__zr,n=0;n<t.length;n++){var i=t[n];a&&i.removeSelfFromZr(a),i.parent=null}return t.length=0,this},e.prototype.eachChild=function(t,a){for(var n=this._children,i=0;i<n.length;i++){var o=n[i];t.call(a,o,i)}return this},e.prototype.traverse=function(t,a){for(var n=0;n<this._children.length;n++){var i=this._children[n],o=t.call(a,i);i.isGroup&&!o&&i.traverse(t,a)}return this},e.prototype.addSelfToZr=function(t){r.prototype.addSelfToZr.call(this,t);for(var a=0;a<this._children.length;a++){var n=this._children[a];n.addSelfToZr(t)}},e.prototype.removeSelfFromZr=function(t){r.prototype.removeSelfFromZr.call(this,t);for(var a=0;a<this._children.length;a++){var n=this._children[a];n.removeSelfFromZr(t)}},e.prototype.getBoundingRect=function(t){for(var a=new ht(0,0,0,0),n=t||this._children,i=[],o=null,s=0;s<n.length;s++){var l=n[s];if(!(l.ignore||l.invisible)){var u=l.getBoundingRect(),f=l.getLocalTransform(i);f?(ht.applyTransform(a,u,f),o=o||a.clone(),o.union(a)):(o=o||u.clone(),o.union(u))}}return o||a},e}(wh);at.prototype.type="group";/*!
|
|
3
3
|
* ZRender, a high performance 2d drawing library.
|
|
4
4
|
*
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/Dashboard-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/Dashboard-BuFP7xgE.js","assets/index-CprjNJ8x.js","assets/PageHeader-BatC8G-O.js","assets/PageSection-HTrZH-H0.js","assets/card-DQb2ediN.js","assets/useApiQuery-CkT-JtpV.js","assets/select-fri8gRof.js","assets/Logs-A1_44nYh.js","assets/clipboard-CALi6bTW.js","assets/input-x0jTfvyD.js","assets/label-t5tthgxG.js","assets/refresh-cw-DHAoO4El.js","assets/Events-BY6QDHf6.js","assets/ModelManagement-CZsts9T9.js","assets/switch-BrV6LX33.js","assets/dialog-B9ZBo_5P.js","assets/ApiKeys-kkOS5njK.js","assets/copy-8Dwvprhw.js","assets/Settings-DDaFQ7RV.js","assets/About-T8buLoTf.js","assets/info-BSxQbQAp.js","assets/Help-CXlj66Zk.js","assets/Login-C227e592.js"])))=>i.map(i=>d[i]);
|
|
2
2
|
var m0=Object.defineProperty;var Wd=e=>{throw TypeError(e)};var g0=(e,t,n)=>t in e?m0(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var qd=(e,t,n)=>g0(e,typeof t!="symbol"?t+"":t,n),hl=(e,t,n)=>t.has(e)||Wd("Cannot "+n);var A=(e,t,n)=>(hl(e,t,"read from private field"),n?n.call(e):t.get(e)),J=(e,t,n)=>t.has(e)?Wd("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),B=(e,t,n,r)=>(hl(e,t,"write to private field"),r?r.call(e,n):t.set(e,n),n),Ie=(e,t,n)=>(hl(e,t,"access private method"),n);var Xs=(e,t,n,r)=>({set _(o){B(e,t,o,n)},get _(){return A(e,t,r)}});function y0(e,t){for(var n=0;n<t.length;n++){const r=t[n];if(typeof r!="string"&&!Array.isArray(r)){for(const o in r)if(o!=="default"&&!(o in e)){const s=Object.getOwnPropertyDescriptor(r,o);s&&Object.defineProperty(e,o,s.get?s:{enumerable:!0,get:()=>r[o]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))r(o);new MutationObserver(o=>{for(const s of o)if(s.type==="childList")for(const i of s.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&r(i)}).observe(document,{childList:!0,subtree:!0});function n(o){const s={};return o.integrity&&(s.integrity=o.integrity),o.referrerPolicy&&(s.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?s.credentials="include":o.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function r(o){if(o.ep)return;o.ep=!0;const s=n(o);fetch(o.href,s)}})();function Hh(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Vh={exports:{}},Na={},Kh={exports:{}},Y={};/**
|
|
3
3
|
* @license React
|
|
4
4
|
* react.production.min.js
|
|
@@ -277,4 +277,4 @@ env_key = "cc_gw_key"
|
|
|
277
277
|
"protocol": "anthropic"
|
|
278
278
|
}
|
|
279
279
|
\`\`\`
|
|
280
|
-
After configuration, clients access via \`http://127.0.0.1:4100/claude/v1/messages\` (path auto-expansion).`,'Enable "Store request/response bodies" to copy raw payloads from the log drawer when troubleshooting.',"Turn off request or response logs individually to keep the console quiet while preserving metrics and database records.","Use **routing presets** to save common routing configurations and quickly switch between different provider setups.","If you edit ~/.cc-gw/config.json manually, refresh the Settings page or restart cc-gw so the UI reflects the latest configuration."]}},faq:{title:"Frequently asked questions",items:[{q:"How can I change the default model for each endpoint?",a:'Go to "Model Management → Routing" and choose defaults for /anthropic and /openai. Saving applies the change right away.'},{q:"How do I use custom endpoints?",a:'Create a custom endpoint in the "Model Management" page by configuring a base path (e.g., `/my-endpoint`) and protocol type. The system automatically registers full API paths based on the protocol. For example, after configuring `/claude` + `anthropic` protocol, clients access via `http://127.0.0.1:4100/claude/v1/messages`.\n\nIf you encounter 404 errors, check:\n1) Is the endpoint enabled?\n2) Are clients using the complete path (including protocol subpath)?\n3) Check server logs to confirm route registration'},{q:"Why are cached token numbers missing?",a:"Upstream providers must return cached_tokens or input_tokens_details.cached_tokens. Enable cache metrics on the provider if supported."},{q:"How can I use different models for different clients?",a:'Create separate API keys for each client and configure different routing rules in "Model Management → Routing". You can also create dedicated custom endpoints for different clients.'}]}},apiKeys:{title:"API Keys Management",description:"Create and manage API keys for gateway access",createNew:"Create New Key",createAction:"Create",createDescription:"Create a new API key for authentication and optionally add a description.",descriptionLabel:"Key description (optional)",keyDescriptionPlaceholder:"e.g. Internal staging access only",keyNamePlaceholder:"Enter key name",keyCreated:"API Key Created",saveKeyWarning:"Keep this key secure. You can also reveal the full key anytime from the key list.",wildcard:"Any Key",wildcardHint:"When enabled, any custom key — including an empty key — is accepted. Disable this key to enforce strict authentication.",status:{enabled:"Enabled",disabled:"Disabled"},actions:{enable:"Enable",disable:"Disable",delete:"Delete",reveal:"Reveal key",hide:"Hide key"},created:"Created",lastUsed:"Last Used",requestCount:"Requests",totalTokens:"Total Tokens",confirmDelete:"Are you sure you want to delete this API key? This action cannot be undone.",errors:{nameRequired:"Key name is required"},analytics:{title:"Key Usage Analytics",description:"Highlights for the past {{days}} days of API key activity",range:{today:"Today",week:"Last 7 days",month:"Last 30 days"},cards:{total:"Total keys",enabled:"Enabled keys",active:"Active keys ({{days}} days)"},charts:{requests:"Top 10 keys by request count",tokens:"Top 10 keys by token usage"},tokens:{input:"Input tokens",output:"Output tokens"},requestsSeries:"Requests",empty:"No activity for the selected range.",unknownKey:"Unknown key"},list:{title:"Key Inventory",empty:"No API keys found. Use the button above to create one."},toast:{keyCreated:"API key created successfully",keyUpdated:"API key updated successfully",keyDeleted:"API key deleted successfully",keyCopied:"Key copied to clipboard",createFailure:"Failed to create: {{message}}",updateFailure:"Failed to update: {{message}}",deleteFailure:"Failed to delete: {{message}}",revealFailure:"Failed to reveal key",copyFailure:"Failed to copy"}},about:{title:"About",description:"Review cc-gw version details, build metadata, and current runtime status.",app:{title:"Application",subtitle:"Gateway build metadata at a glance.",labels:{name:"Name",version:"Version",buildTime:"Build time",node:"Node version"},hint:{buildTime:"Timestamps are recorded in UTC so you can trace deployments easily."}},status:{title:"Runtime status",subtitle:"Live metrics reported by the running gateway.",loading:"Fetching status...",empty:"Unable to retrieve status information.",labels:{host:"Listen host",port:"Listen port",providers:"Providers configured",active:"Active requests"},hint:{active:"Active request totals refresh roughly every minute."}},support:{title:"Operational notes",subtitle:"Maintenance guidance",description:"Manage providers, routing, and logs in the Web UI; advanced settings live in ~/.cc-gw/config.json.",tip:"Consider keeping ~/.cc-gw/config.json under version control or managing it via automation scripts.",actions:{checkUpdates:"Check for updates"}},toast:{statusError:{title:"Failed to load status"},updatesPlanned:"Update checks will arrive in a future release."}},endpoints:{title:"Custom Endpoints",description:"Manage custom API endpoints with multiple protocol support.",createButton:"Add Endpoint",createTitle:"Create Endpoint",editTitle:"Edit Endpoint",emptyTitle:"No custom endpoints",emptyDescription:'Click "Add Endpoint" to create your first custom endpoint.',loadError:"Failed to load endpoints",id:"ID",path:"Path",disabled:"Disabled",hasRouting:"Routing configured",protocols:{anthropic:"Anthropic Protocol","openai-chat":"OpenAI Chat","openai-responses":"OpenAI Responses"},protocolHints:{anthropic:"Anthropic Messages API protocol (/v1/messages)","openai-chat":"OpenAI Chat Completions API protocol (/v1/chat/completions)","openai-responses":"OpenAI Responses API protocol (/v1/responses)"},form:{id:"Endpoint ID",idPlaceholder:"e.g. custom-api",idHint:"ID cannot be changed after creation, used for internal identification.",label:"Display Name",labelPlaceholder:"e.g. My Custom API",path:"Access Path",pathPlaceholder:"e.g. /custom/api",pathHint:"Path must start with /. Changes take effect immediately.",protocol:"Protocol Type",enabled:"Enable this endpoint"},routing:{title:"Routing Configuration (Optional)",modelRoutes:"Model Routing Rules",addRoute:"Add Rule",noRoutes:"No routing rules",sourceModelPlaceholder:"Source model (e.g. claude-3-5-sonnet-20241022)",targetPlaceholder:"Target (e.g. anthropic:claude-3-5-sonnet-20241022)",modelRoutesHint:"Format: source model → provider:model, wildcards supported (e.g. gpt-* → openai:*)",defaults:"Default Model Configuration",defaultCompletion:"Default for completion tasks",defaultReasoning:"Default for reasoning tasks",defaultBackground:"Default for background tasks",longContextThreshold:"Long context threshold (tokens)",defaultPlaceholder:"e.g. anthropic:claude-3-5-sonnet-20241022"},createSuccess:"Endpoint created successfully",createError:"Failed to create: {{error}}",updateSuccess:"Endpoint updated successfully",updateError:"Failed to update: {{error}}",deleteSuccess:"Endpoint deleted successfully",deleteError:"Failed to delete: {{error}}",deleteConfirm:'Are you sure you want to delete endpoint "{{label}}"? This action cannot be undone.',validationError:"Please fill in all required fields"}}}};Ee.isInitialized||Ee.use(cC).init({resources:bO,lng:"zh",fallbackLng:"en",interpolation:{escapeValue:!1}});const l0=p.createContext(void 0);function kO(){return`toast_${Math.random().toString(36).slice(2)}`}function EO({children:e}){const[t,n]=p.useState([]),r=p.useCallback(i=>{n(a=>a.filter(l=>l.id!==i))},[]),o=p.useCallback(i=>{const a=i.id??kO();n(u=>[...u,{...i,id:a}]);const l=i.durationMs??3e3;l>0&&setTimeout(()=>r(a),l)},[r]),s=p.useMemo(()=>({toasts:t,pushToast:o,dismissToast:r}),[t,r,o]);return C.jsxs(l0.Provider,{value:s,children:[e,C.jsx("div",{className:"fixed right-6 top-6 z-50 flex w-80 flex-col gap-3",children:t.map(i=>C.jsx("div",{className:`rounded-md border border-slate-200 bg-white p-4 shadow-lg dark:border-slate-700 dark:bg-slate-800 ${i.variant==="error"?"border-red-200 bg-red-50 text-red-900 dark:border-red-700 dark:bg-red-900/40 dark:text-red-200":i.variant==="success"?"border-emerald-200 bg-emerald-50 text-emerald-900 dark:border-emerald-700 dark:bg-emerald-900/40 dark:text-emerald-200":""}`,children:C.jsxs("div",{className:"flex items-start justify-between gap-4",children:[C.jsxs("div",{children:[C.jsx("p",{className:"text-sm font-semibold",children:i.title}),i.description?C.jsx("p",{className:"mt-1 text-sm opacity-75",children:i.description}):null]}),C.jsx("button",{type:"button",className:"text-sm text-slate-500 hover:text-slate-900 dark:text-slate-400 dark:hover:text-slate-100",onClick:()=>r(i.id),children:"×"})]})},i.id))})]})}function d2(){const e=p.useContext(l0);if(!e)throw new Error("useToast must be used within ToastProvider");return e}function PO({children:e}){const[t]=p.useState(()=>new JA);return C.jsx(ZA,{client:t,children:C.jsx(hC,{i18n:Ee,children:C.jsx(IC,{children:C.jsx(EO,{children:C.jsx(kA,{children:e})})})})})}function u0(){const{t:e}=kr();return C.jsx("div",{className:"flex h-full items-center justify-center p-12",role:"status","aria-live":"polite",children:C.jsxs("div",{className:"flex flex-col items-center gap-4",children:[C.jsx("div",{className:"h-12 w-12 animate-spin rounded-full border-4 border-primary border-t-transparent"}),C.jsx("p",{className:"text-sm text-slate-500 dark:text-slate-400",children:e("common.loading")})]})})}function f2(){const{t:e}=kr();return C.jsxs("div",{className:"flex items-center gap-3 text-sm text-slate-500 dark:text-slate-400",children:[C.jsx("div",{className:"h-4 w-4 animate-spin rounded-full border-2 border-slate-300 border-t-transparent dark:border-slate-600"}),C.jsx("span",{children:e("common.loading")})]})}const RO=p.lazy(()=>fn(()=>import("./Dashboard-Yk4Gcz4p.js"),__vite__mapDeps([0,1,2,3,4,5,6]))),TO=p.lazy(()=>fn(()=>import("./Logs-8o1cRVE6.js"),__vite__mapDeps([7,5,2,8,9,10,4,6,11]))),AO=p.lazy(()=>fn(()=>import("./Events-B5zZ5_PB.js"),__vite__mapDeps([12,2,9,4,6,11]))),Lh=p.lazy(()=>fn(()=>import("./ModelManagement-C9OoP4WI.js"),__vite__mapDeps([13,5,2,9,10,4,14,6,15,11]))),OO=p.lazy(()=>fn(()=>import("./ApiKeys-BJZYNk8v.js"),__vite__mapDeps([16,1,5,2,3,4,8,9,10,15,17]))),NO=p.lazy(()=>fn(()=>import("./Settings-D7724_w1.js"),__vite__mapDeps([18,5,2,8,9,10,4,14,6,17]))),IO=p.lazy(()=>fn(()=>import("./About-B0Jdm3Q_.js"),__vite__mapDeps([19,5,2,3,4,20,11]))),LO=p.lazy(()=>fn(()=>import("./Help-75v5moMf.js"),__vite__mapDeps([21,2,3,4,8,20]))),MO=p.lazy(()=>fn(()=>import("./Login-DwQ6YKZt.js"),__vite__mapDeps([22,9,10,4])));function _O({children:e}){const{authEnabled:t,isAuthenticated:n,loading:r}=Xw(),o=Yn();return r?C.jsx(u0,{}):!t||n?e:C.jsx(py,{to:"/login",replace:!0,state:{from:o}})}function DO(){return C.jsx(PO,{children:C.jsx(KS,{basename:typeof window<"u"&&window.location.pathname.startsWith("/ui")?"/ui":"/",children:C.jsx(p.Suspense,{fallback:C.jsx(u0,{}),children:C.jsxs(FS,{children:[C.jsxs(et,{path:"/",element:C.jsx(_O,{children:C.jsx(PA,{})}),children:[C.jsx(et,{index:!0,element:C.jsx(RO,{})}),C.jsx(et,{path:"logs",element:C.jsx(TO,{})}),C.jsx(et,{path:"events",element:C.jsx(AO,{})}),C.jsx(et,{path:"models",element:C.jsx(Lh,{})}),C.jsx(et,{path:"providers",element:C.jsx(Lh,{})}),C.jsx(et,{path:"api-keys",element:C.jsx(OO,{})}),C.jsx(et,{path:"settings",element:C.jsx(NO,{})}),C.jsx(et,{path:"about",element:C.jsx(IO,{})}),C.jsx(et,{path:"help",element:C.jsx(LO,{})})]}),C.jsx(et,{path:"/login",element:C.jsx(MO,{})}),C.jsx(et,{path:"*",element:C.jsx(py,{to:"/",replace:!0})})]})})})})}const c0=document.getElementById("root");if(!c0)throw new Error("Root element #root not found");iu.createRoot(c0).render(C.jsx(Yt.StrictMode,{children:C.jsx(DO,{})}));export{zy as $,ac as A,vC as B,xC as C,mv as D,Ve as E,bC as F,Z as G,Ze as H,YE as I,Ov as J,kC as K,u0 as L,va as M,Jb as N,Ky as O,Bs as P,Hy as Q,Yt as R,dl as S,jO as T,OC as U,xE as V,iv as W,mp as X,$y as Y,RE as Z,UO as _,at as a,Vn as a0,TE as a1,ln as a2,AE as a3,OE as a4,RC as a5,zA as a6,LA as a7,Sc as a8,fl as a9,NA as aa,IA as ab,xc as ac,t0 as ad,WA as ae,DA as af,l2 as ag,HC as ah,uy as ai,Yn as aj,Xw as ak,d2 as b,Oe as c,Et as d,Zr as e,Qa as f,f2 as g,i2 as h,Ts as i,C as j,GA as k,c2 as l,xt as m,ze as n,u2 as o,PC as p,s2 as q,p as r,a2 as s,ru as t,kr as u,wC as v,Hh as w,zt as x,jy as y,zs as z};
|
|
280
|
+
After configuration, clients access via \`http://127.0.0.1:4100/claude/v1/messages\` (path auto-expansion).`,'Enable "Store request/response bodies" to copy raw payloads from the log drawer when troubleshooting.',"Turn off request or response logs individually to keep the console quiet while preserving metrics and database records.","Use **routing presets** to save common routing configurations and quickly switch between different provider setups.","If you edit ~/.cc-gw/config.json manually, refresh the Settings page or restart cc-gw so the UI reflects the latest configuration."]}},faq:{title:"Frequently asked questions",items:[{q:"How can I change the default model for each endpoint?",a:'Go to "Model Management → Routing" and choose defaults for /anthropic and /openai. Saving applies the change right away.'},{q:"How do I use custom endpoints?",a:'Create a custom endpoint in the "Model Management" page by configuring a base path (e.g., `/my-endpoint`) and protocol type. The system automatically registers full API paths based on the protocol. For example, after configuring `/claude` + `anthropic` protocol, clients access via `http://127.0.0.1:4100/claude/v1/messages`.\n\nIf you encounter 404 errors, check:\n1) Is the endpoint enabled?\n2) Are clients using the complete path (including protocol subpath)?\n3) Check server logs to confirm route registration'},{q:"Why are cached token numbers missing?",a:"Upstream providers must return cached_tokens or input_tokens_details.cached_tokens. Enable cache metrics on the provider if supported."},{q:"How can I use different models for different clients?",a:'Create separate API keys for each client and configure different routing rules in "Model Management → Routing". You can also create dedicated custom endpoints for different clients.'}]}},apiKeys:{title:"API Keys Management",description:"Create and manage API keys for gateway access",createNew:"Create New Key",createAction:"Create",createDescription:"Create a new API key for authentication and optionally add a description.",descriptionLabel:"Key description (optional)",keyDescriptionPlaceholder:"e.g. Internal staging access only",keyNamePlaceholder:"Enter key name",keyCreated:"API Key Created",saveKeyWarning:"Keep this key secure. You can also reveal the full key anytime from the key list.",wildcard:"Any Key",wildcardHint:"When enabled, any custom key — including an empty key — is accepted. Disable this key to enforce strict authentication.",status:{enabled:"Enabled",disabled:"Disabled"},actions:{enable:"Enable",disable:"Disable",delete:"Delete",reveal:"Reveal key",hide:"Hide key"},created:"Created",lastUsed:"Last Used",requestCount:"Requests",totalTokens:"Total Tokens",confirmDelete:"Are you sure you want to delete this API key? This action cannot be undone.",errors:{nameRequired:"Key name is required"},analytics:{title:"Key Usage Analytics",description:"Highlights for the past {{days}} days of API key activity",range:{today:"Today",week:"Last 7 days",month:"Last 30 days"},cards:{total:"Total keys",enabled:"Enabled keys",active:"Active keys ({{days}} days)"},charts:{requests:"Top 10 keys by request count",tokens:"Top 10 keys by token usage"},tokens:{input:"Input tokens",output:"Output tokens"},requestsSeries:"Requests",empty:"No activity for the selected range.",unknownKey:"Unknown key"},list:{title:"Key Inventory",empty:"No API keys found. Use the button above to create one."},toast:{keyCreated:"API key created successfully",keyUpdated:"API key updated successfully",keyDeleted:"API key deleted successfully",keyCopied:"Key copied to clipboard",createFailure:"Failed to create: {{message}}",updateFailure:"Failed to update: {{message}}",deleteFailure:"Failed to delete: {{message}}",revealFailure:"Failed to reveal key",copyFailure:"Failed to copy"}},about:{title:"About",description:"Review cc-gw version details, build metadata, and current runtime status.",app:{title:"Application",subtitle:"Gateway build metadata at a glance.",labels:{name:"Name",version:"Version",buildTime:"Build time",node:"Node version"},hint:{buildTime:"Timestamps are recorded in UTC so you can trace deployments easily."}},status:{title:"Runtime status",subtitle:"Live metrics reported by the running gateway.",loading:"Fetching status...",empty:"Unable to retrieve status information.",labels:{host:"Listen host",port:"Listen port",providers:"Providers configured",active:"Active requests"},hint:{active:"Active request totals refresh roughly every minute."}},support:{title:"Operational notes",subtitle:"Maintenance guidance",description:"Manage providers, routing, and logs in the Web UI; advanced settings live in ~/.cc-gw/config.json.",tip:"Consider keeping ~/.cc-gw/config.json under version control or managing it via automation scripts.",actions:{checkUpdates:"Check for updates"}},toast:{statusError:{title:"Failed to load status"},updatesPlanned:"Update checks will arrive in a future release."}},endpoints:{title:"Custom Endpoints",description:"Manage custom API endpoints with multiple protocol support.",createButton:"Add Endpoint",createTitle:"Create Endpoint",editTitle:"Edit Endpoint",emptyTitle:"No custom endpoints",emptyDescription:'Click "Add Endpoint" to create your first custom endpoint.',loadError:"Failed to load endpoints",id:"ID",path:"Path",disabled:"Disabled",hasRouting:"Routing configured",protocols:{anthropic:"Anthropic Protocol","openai-chat":"OpenAI Chat","openai-responses":"OpenAI Responses"},protocolHints:{anthropic:"Anthropic Messages API protocol (/v1/messages)","openai-chat":"OpenAI Chat Completions API protocol (/v1/chat/completions)","openai-responses":"OpenAI Responses API protocol (/v1/responses)"},form:{id:"Endpoint ID",idPlaceholder:"e.g. custom-api",idHint:"ID cannot be changed after creation, used for internal identification.",label:"Display Name",labelPlaceholder:"e.g. My Custom API",path:"Access Path",pathPlaceholder:"e.g. /custom/api",pathHint:"Path must start with /. Changes take effect immediately.",protocol:"Protocol Type",enabled:"Enable this endpoint"},routing:{title:"Routing Configuration (Optional)",modelRoutes:"Model Routing Rules",addRoute:"Add Rule",noRoutes:"No routing rules",sourceModelPlaceholder:"Source model (e.g. claude-3-5-sonnet-20241022)",targetPlaceholder:"Target (e.g. anthropic:claude-3-5-sonnet-20241022)",modelRoutesHint:"Format: source model → provider:model, wildcards supported (e.g. gpt-* → openai:*)",defaults:"Default Model Configuration",defaultCompletion:"Default for completion tasks",defaultReasoning:"Default for reasoning tasks",defaultBackground:"Default for background tasks",longContextThreshold:"Long context threshold (tokens)",defaultPlaceholder:"e.g. anthropic:claude-3-5-sonnet-20241022"},createSuccess:"Endpoint created successfully",createError:"Failed to create: {{error}}",updateSuccess:"Endpoint updated successfully",updateError:"Failed to update: {{error}}",deleteSuccess:"Endpoint deleted successfully",deleteError:"Failed to delete: {{error}}",deleteConfirm:'Are you sure you want to delete endpoint "{{label}}"? This action cannot be undone.',validationError:"Please fill in all required fields"}}}};Ee.isInitialized||Ee.use(cC).init({resources:bO,lng:"zh",fallbackLng:"en",interpolation:{escapeValue:!1}});const l0=p.createContext(void 0);function kO(){return`toast_${Math.random().toString(36).slice(2)}`}function EO({children:e}){const[t,n]=p.useState([]),r=p.useCallback(i=>{n(a=>a.filter(l=>l.id!==i))},[]),o=p.useCallback(i=>{const a=i.id??kO();n(u=>[...u,{...i,id:a}]);const l=i.durationMs??3e3;l>0&&setTimeout(()=>r(a),l)},[r]),s=p.useMemo(()=>({toasts:t,pushToast:o,dismissToast:r}),[t,r,o]);return C.jsxs(l0.Provider,{value:s,children:[e,C.jsx("div",{className:"fixed right-6 top-6 z-50 flex w-80 flex-col gap-3",children:t.map(i=>C.jsx("div",{className:`rounded-md border border-slate-200 bg-white p-4 shadow-lg dark:border-slate-700 dark:bg-slate-800 ${i.variant==="error"?"border-red-200 bg-red-50 text-red-900 dark:border-red-700 dark:bg-red-900/40 dark:text-red-200":i.variant==="success"?"border-emerald-200 bg-emerald-50 text-emerald-900 dark:border-emerald-700 dark:bg-emerald-900/40 dark:text-emerald-200":""}`,children:C.jsxs("div",{className:"flex items-start justify-between gap-4",children:[C.jsxs("div",{children:[C.jsx("p",{className:"text-sm font-semibold",children:i.title}),i.description?C.jsx("p",{className:"mt-1 text-sm opacity-75",children:i.description}):null]}),C.jsx("button",{type:"button",className:"text-sm text-slate-500 hover:text-slate-900 dark:text-slate-400 dark:hover:text-slate-100",onClick:()=>r(i.id),children:"×"})]})},i.id))})]})}function d2(){const e=p.useContext(l0);if(!e)throw new Error("useToast must be used within ToastProvider");return e}function PO({children:e}){const[t]=p.useState(()=>new JA);return C.jsx(ZA,{client:t,children:C.jsx(hC,{i18n:Ee,children:C.jsx(IC,{children:C.jsx(EO,{children:C.jsx(kA,{children:e})})})})})}function u0(){const{t:e}=kr();return C.jsx("div",{className:"flex h-full items-center justify-center p-12",role:"status","aria-live":"polite",children:C.jsxs("div",{className:"flex flex-col items-center gap-4",children:[C.jsx("div",{className:"h-12 w-12 animate-spin rounded-full border-4 border-primary border-t-transparent"}),C.jsx("p",{className:"text-sm text-slate-500 dark:text-slate-400",children:e("common.loading")})]})})}function f2(){const{t:e}=kr();return C.jsxs("div",{className:"flex items-center gap-3 text-sm text-slate-500 dark:text-slate-400",children:[C.jsx("div",{className:"h-4 w-4 animate-spin rounded-full border-2 border-slate-300 border-t-transparent dark:border-slate-600"}),C.jsx("span",{children:e("common.loading")})]})}const RO=p.lazy(()=>fn(()=>import("./Dashboard-BuFP7xgE.js"),__vite__mapDeps([0,1,2,3,4,5,6]))),TO=p.lazy(()=>fn(()=>import("./Logs-A1_44nYh.js"),__vite__mapDeps([7,5,2,8,9,10,4,6,11]))),AO=p.lazy(()=>fn(()=>import("./Events-BY6QDHf6.js"),__vite__mapDeps([12,2,9,4,6,11]))),Lh=p.lazy(()=>fn(()=>import("./ModelManagement-CZsts9T9.js"),__vite__mapDeps([13,5,2,9,10,4,14,6,15,11]))),OO=p.lazy(()=>fn(()=>import("./ApiKeys-kkOS5njK.js"),__vite__mapDeps([16,1,5,2,3,4,8,9,10,15,17]))),NO=p.lazy(()=>fn(()=>import("./Settings-DDaFQ7RV.js"),__vite__mapDeps([18,5,2,8,9,10,4,14,6,17]))),IO=p.lazy(()=>fn(()=>import("./About-T8buLoTf.js"),__vite__mapDeps([19,5,2,3,4,20,11]))),LO=p.lazy(()=>fn(()=>import("./Help-CXlj66Zk.js"),__vite__mapDeps([21,2,3,4,8,20]))),MO=p.lazy(()=>fn(()=>import("./Login-C227e592.js"),__vite__mapDeps([22,9,10,4])));function _O({children:e}){const{authEnabled:t,isAuthenticated:n,loading:r}=Xw(),o=Yn();return r?C.jsx(u0,{}):!t||n?e:C.jsx(py,{to:"/login",replace:!0,state:{from:o}})}function DO(){return C.jsx(PO,{children:C.jsx(KS,{basename:typeof window<"u"&&window.location.pathname.startsWith("/ui")?"/ui":"/",children:C.jsx(p.Suspense,{fallback:C.jsx(u0,{}),children:C.jsxs(FS,{children:[C.jsxs(et,{path:"/",element:C.jsx(_O,{children:C.jsx(PA,{})}),children:[C.jsx(et,{index:!0,element:C.jsx(RO,{})}),C.jsx(et,{path:"logs",element:C.jsx(TO,{})}),C.jsx(et,{path:"events",element:C.jsx(AO,{})}),C.jsx(et,{path:"models",element:C.jsx(Lh,{})}),C.jsx(et,{path:"providers",element:C.jsx(Lh,{})}),C.jsx(et,{path:"api-keys",element:C.jsx(OO,{})}),C.jsx(et,{path:"settings",element:C.jsx(NO,{})}),C.jsx(et,{path:"about",element:C.jsx(IO,{})}),C.jsx(et,{path:"help",element:C.jsx(LO,{})})]}),C.jsx(et,{path:"/login",element:C.jsx(MO,{})}),C.jsx(et,{path:"*",element:C.jsx(py,{to:"/",replace:!0})})]})})})})}const c0=document.getElementById("root");if(!c0)throw new Error("Root element #root not found");iu.createRoot(c0).render(C.jsx(Yt.StrictMode,{children:C.jsx(DO,{})}));export{zy as $,ac as A,vC as B,xC as C,mv as D,Ve as E,bC as F,Z as G,Ze as H,YE as I,Ov as J,kC as K,u0 as L,va as M,Jb as N,Ky as O,Bs as P,Hy as Q,Yt as R,dl as S,jO as T,OC as U,xE as V,iv as W,mp as X,$y as Y,RE as Z,UO as _,at as a,Vn as a0,TE as a1,ln as a2,AE as a3,OE as a4,RC as a5,zA as a6,LA as a7,Sc as a8,fl as a9,NA as aa,IA as ab,xc as ac,t0 as ad,WA as ae,DA as af,l2 as ag,HC as ah,uy as ai,Yn as aj,Xw as ak,d2 as b,Oe as c,Et as d,Zr as e,Qa as f,f2 as g,i2 as h,Ts as i,C as j,GA as k,c2 as l,xt as m,ze as n,u2 as o,PC as p,s2 as q,p as r,a2 as s,ru as t,kr as u,wC as v,Hh as w,zt as x,jy as y,zs as z};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as s,j as i,a as n}from"./index-
|
|
1
|
+
import{r as s,j as i,a as n}from"./index-D-F4C6n_.js";const a=s.forwardRef(({className:e,type:r,...o},t)=>i.jsx("input",{type:r,className:n("flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),ref:t,...o}));a.displayName="Input";export{a as I};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as o,j as r,a as t}from"./index-
|
|
1
|
+
import{r as o,j as r,a as t}from"./index-D-F4C6n_.js";const l=o.forwardRef(({className:e,...a},s)=>r.jsx("label",{ref:s,className:t("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",e),...a}));l.displayName="Label";export{l as L};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{c as Pe,r as n,j as r,E as _,W as Re,Y as ht,y as be,Z as vt,z as gt,A as Ie,$ as St,H as k,a0 as $,a1 as xt,G as P,D as wt,f as Ee,a2 as yt,I as Ct,N as It,J as Tt,M as bt,O as Nt,Q as Pt,a3 as Rt,a4 as Et,a as G,v as _t}from"./index-
|
|
1
|
+
import{c as Pe,r as n,j as r,E as _,W as Re,Y as ht,y as be,Z as vt,z as gt,A as Ie,$ as St,H as k,a0 as $,a1 as xt,G as P,D as wt,f as Ee,a2 as yt,I as Ct,N as It,J as Tt,M as bt,O as Nt,Q as Pt,a3 as Rt,a4 as Et,a as G,v as _t}from"./index-D-F4C6n_.js";/**
|
|
2
2
|
* @license lucide-react v0.344.0 - ISC
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the ISC license.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as s,H as C,y as I,j as a,z as H,E as y,G as M,V as z,a as x}from"./index-
|
|
1
|
+
import{r as s,H as C,y as I,j as a,z as H,E as y,G as M,V as z,a as x}from"./index-D-F4C6n_.js";import{u as A}from"./select-fri8gRof.js";var b="Switch",[U]=H(b),[q,L]=U(b),E=s.forwardRef((t,o)=>{const{__scopeSwitch:e,name:n,checked:r,defaultChecked:m,required:d,disabled:c,value:u="on",onCheckedChange:v,form:i,...w}=t,[l,p]=s.useState(null),S=C(o,h=>p(h)),k=s.useRef(!1),g=l?i||!!l.closest("form"):!0,[f,B]=I({prop:r,defaultProp:m??!1,onChange:v,caller:b});return a.jsxs(q,{scope:e,checked:f,disabled:c,children:[a.jsx(y.button,{type:"button",role:"switch","aria-checked":f,"aria-required":d,"data-state":j(f),"data-disabled":c?"":void 0,disabled:c,value:u,...w,ref:S,onClick:M(t.onClick,h=>{B(T=>!T),g&&(k.current=h.isPropagationStopped(),k.current||h.stopPropagation())})}),g&&a.jsx(N,{control:l,bubbles:!k.current,name:n,value:u,checked:f,required:d,disabled:c,form:i,style:{transform:"translateX(-100%)"}})]})});E.displayName=b;var P="SwitchThumb",R=s.forwardRef((t,o)=>{const{__scopeSwitch:e,...n}=t,r=L(P,e);return a.jsx(y.span,{"data-state":j(r.checked),"data-disabled":r.disabled?"":void 0,...n,ref:o})});R.displayName=P;var O="SwitchBubbleInput",N=s.forwardRef(({__scopeSwitch:t,control:o,checked:e,bubbles:n=!0,...r},m)=>{const d=s.useRef(null),c=C(d,m),u=A(e),v=z(o);return s.useEffect(()=>{const i=d.current;if(!i)return;const w=window.HTMLInputElement.prototype,p=Object.getOwnPropertyDescriptor(w,"checked").set;if(u!==e&&p){const S=new Event("click",{bubbles:n});p.call(i,e),i.dispatchEvent(S)}},[u,e,n]),a.jsx("input",{type:"checkbox","aria-hidden":!0,defaultChecked:e,...r,tabIndex:-1,ref:c,style:{...r.style,...v,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});N.displayName=O;function j(t){return t?"checked":"unchecked"}var _=E,D=R;const F=s.forwardRef(({className:t,...o},e)=>a.jsx(_,{className:x("peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",t),...o,ref:e,children:a.jsx(D,{className:x("pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0")})}));F.displayName=_.displayName;export{F as S};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var ft=e=>{throw TypeError(e)};var Y=(e,t,s)=>t.has(e)||ft("Cannot "+s);var i=(e,t,s)=>(Y(e,t,"read from private field"),s?s.call(e):t.get(e)),b=(e,t,s)=>t.has(e)?ft("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,s),u=(e,t,s,r)=>(Y(e,t,"write to private field"),r?r.call(e,s):t.set(e,s),s),d=(e,t,s)=>(Y(e,t,"access private method"),s);import{S as It,a6 as pt,a7 as S,s as Z,a8 as H,m as $,a9 as tt,aa as bt,ab as Ot,ac as q,ad as Tt,ae as wt,af as yt,n as St,r as I,o as Qt,l as Mt,ag as xt,d as _t,t as Ut}from"./index-CwxoiOJ7.js";var g,a,j,y,Q,U,E,O,z,F,D,M,x,T,P,n,B,et,st,it,rt,at,nt,ht,Ct,vt,Ft=(vt=class extends It{constructor(t,s){super();b(this,n);b(this,g);b(this,a);b(this,j);b(this,y);b(this,Q);b(this,U);b(this,E);b(this,O);b(this,z);b(this,F);b(this,D);b(this,M);b(this,x);b(this,T);b(this,P,new Set);this.options=s,u(this,g,t),u(this,O,null),u(this,E,pt()),this.bindMethods(),this.setOptions(s)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(i(this,a).addObserver(this),gt(i(this,a),this.options)?d(this,n,B).call(this):this.updateResult(),d(this,n,rt).call(this))}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return ot(i(this,a),this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return ot(i(this,a),this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,d(this,n,at).call(this),d(this,n,nt).call(this),i(this,a).removeObserver(this)}setOptions(t){const s=this.options,r=i(this,a);if(this.options=i(this,g).defaultQueryOptions(t),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof S(this.options.enabled,i(this,a))!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");d(this,n,ht).call(this),i(this,a).setOptions(this.options),s._defaulted&&!Z(this.options,s)&&i(this,g).getQueryCache().notify({type:"observerOptionsUpdated",query:i(this,a),observer:this});const h=this.hasListeners();h&&mt(i(this,a),r,this.options,s)&&d(this,n,B).call(this),this.updateResult(),h&&(i(this,a)!==r||S(this.options.enabled,i(this,a))!==S(s.enabled,i(this,a))||H(this.options.staleTime,i(this,a))!==H(s.staleTime,i(this,a)))&&d(this,n,et).call(this);const o=d(this,n,st).call(this);h&&(i(this,a)!==r||S(this.options.enabled,i(this,a))!==S(s.enabled,i(this,a))||o!==i(this,T))&&d(this,n,it).call(this,o)}getOptimisticResult(t){const s=i(this,g).getQueryCache().build(i(this,g),t),r=this.createResult(s,t);return Pt(this,r)&&(u(this,y,r),u(this,U,this.options),u(this,Q,i(this,a).state)),r}getCurrentResult(){return i(this,y)}trackResult(t,s){return new Proxy(t,{get:(r,h)=>(this.trackProp(h),s==null||s(h),h==="promise"&&!this.options.experimental_prefetchInRender&&i(this,E).status==="pending"&&i(this,E).reject(new Error("experimental_prefetchInRender feature flag is not enabled")),Reflect.get(r,h))})}trackProp(t){i(this,P).add(t)}getCurrentQuery(){return i(this,a)}refetch({...t}={}){return this.fetch({...t})}fetchOptimistic(t){const s=i(this,g).defaultQueryOptions(t),r=i(this,g).getQueryCache().build(i(this,g),s);return r.fetch().then(()=>this.createResult(r,s))}fetch(t){return d(this,n,B).call(this,{...t,cancelRefetch:t.cancelRefetch??!0}).then(()=>(this.updateResult(),i(this,y)))}createResult(t,s){var dt;const r=i(this,a),h=this.options,o=i(this,y),c=i(this,Q),w=i(this,U),v=t!==r?t.state:i(this,j),{state:L}=t;let l={...L},N=!1,f;if(s._optimisticResults){const R=this.hasListeners(),W=!R&>(t,s),_=R&&mt(t,r,s,h);(W||_)&&(l={...l,...wt(L.data,t.options)}),s._optimisticResults==="isRestoring"&&(l.fetchStatus="idle")}let{error:A,errorUpdatedAt:k,status:m}=l;f=l.data;let V=!1;if(s.placeholderData!==void 0&&f===void 0&&m==="pending"){let R;o!=null&&o.isPlaceholderData&&s.placeholderData===(w==null?void 0:w.placeholderData)?(R=o.data,V=!0):R=typeof s.placeholderData=="function"?s.placeholderData((dt=i(this,D))==null?void 0:dt.state.data,i(this,D)):s.placeholderData,R!==void 0&&(m="success",f=yt(o==null?void 0:o.data,R,s),N=!0)}if(s.select&&f!==void 0&&!V)if(o&&f===(c==null?void 0:c.data)&&s.select===i(this,z))f=i(this,F);else try{u(this,z,s.select),f=s.select(f),f=yt(o==null?void 0:o.data,f,s),u(this,F,f),u(this,O,null)}catch(R){u(this,O,R)}i(this,O)&&(A=i(this,O),f=i(this,F),k=Date.now(),m="error");const G=l.fetchStatus==="fetching",J=m==="pending",X=m==="error",ut=J&&G,lt=f!==void 0,C={status:m,fetchStatus:l.fetchStatus,isPending:J,isSuccess:m==="success",isError:X,isInitialLoading:ut,isLoading:ut,data:f,dataUpdatedAt:l.dataUpdatedAt,error:A,errorUpdatedAt:k,failureCount:l.fetchFailureCount,failureReason:l.fetchFailureReason,errorUpdateCount:l.errorUpdateCount,isFetched:l.dataUpdateCount>0||l.errorUpdateCount>0,isFetchedAfterMount:l.dataUpdateCount>v.dataUpdateCount||l.errorUpdateCount>v.errorUpdateCount,isFetching:G,isRefetching:G&&!J,isLoadingError:X&&!lt,isPaused:l.fetchStatus==="paused",isPlaceholderData:N,isRefetchError:X&<,isStale:ct(t,s),refetch:this.refetch,promise:i(this,E),isEnabled:S(s.enabled,t)!==!1};if(this.options.experimental_prefetchInRender){const R=K=>{C.status==="error"?K.reject(C.error):C.data!==void 0&&K.resolve(C.data)},W=()=>{const K=u(this,E,C.promise=pt());R(K)},_=i(this,E);switch(_.status){case"pending":t.queryHash===r.queryHash&&R(_);break;case"fulfilled":(C.status==="error"||C.data!==_.value)&&W();break;case"rejected":(C.status!=="error"||C.error!==_.reason)&&W();break}}return C}updateResult(){const t=i(this,y),s=this.createResult(i(this,a),this.options);if(u(this,Q,i(this,a).state),u(this,U,this.options),i(this,Q).data!==void 0&&u(this,D,i(this,a)),Z(s,t))return;u(this,y,s);const r=()=>{if(!t)return!0;const{notifyOnChangeProps:h}=this.options,o=typeof h=="function"?h():h;if(o==="all"||!o&&!i(this,P).size)return!0;const c=new Set(o??i(this,P));return this.options.throwOnError&&c.add("error"),Object.keys(i(this,y)).some(w=>{const p=w;return i(this,y)[p]!==t[p]&&c.has(p)})};d(this,n,Ct).call(this,{listeners:r()})}onQueryUpdate(){this.updateResult(),this.hasListeners()&&d(this,n,rt).call(this)}},g=new WeakMap,a=new WeakMap,j=new WeakMap,y=new WeakMap,Q=new WeakMap,U=new WeakMap,E=new WeakMap,O=new WeakMap,z=new WeakMap,F=new WeakMap,D=new WeakMap,M=new WeakMap,x=new WeakMap,T=new WeakMap,P=new WeakMap,n=new WeakSet,B=function(t){d(this,n,ht).call(this);let s=i(this,a).fetch(this.options,t);return t!=null&&t.throwOnError||(s=s.catch($)),s},et=function(){d(this,n,at).call(this);const t=H(this.options.staleTime,i(this,a));if(tt||i(this,y).isStale||!bt(t))return;const r=Ot(i(this,y).dataUpdatedAt,t)+1;u(this,M,q.setTimeout(()=>{i(this,y).isStale||this.updateResult()},r))},st=function(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(i(this,a)):this.options.refetchInterval)??!1},it=function(t){d(this,n,nt).call(this),u(this,T,t),!(tt||S(this.options.enabled,i(this,a))===!1||!bt(i(this,T))||i(this,T)===0)&&u(this,x,q.setInterval(()=>{(this.options.refetchIntervalInBackground||Tt.isFocused())&&d(this,n,B).call(this)},i(this,T)))},rt=function(){d(this,n,et).call(this),d(this,n,it).call(this,d(this,n,st).call(this))},at=function(){i(this,M)&&(q.clearTimeout(i(this,M)),u(this,M,void 0))},nt=function(){i(this,x)&&(q.clearInterval(i(this,x)),u(this,x,void 0))},ht=function(){const t=i(this,g).getQueryCache().build(i(this,g),this.options);if(t===i(this,a))return;const s=i(this,a);u(this,a,t),u(this,j,t.state),this.hasListeners()&&(s==null||s.removeObserver(this),t.addObserver(this))},Ct=function(t){St.batch(()=>{t.listeners&&this.listeners.forEach(s=>{s(i(this,y))}),i(this,g).getQueryCache().notify({query:i(this,a),type:"observerResultsUpdated"})})},vt);function Dt(e,t){return S(t.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status==="error"&&t.retryOnMount===!1)}function gt(e,t){return Dt(e,t)||e.state.data!==void 0&&ot(e,t,t.refetchOnMount)}function ot(e,t,s){if(S(t.enabled,e)!==!1&&H(t.staleTime,e)!=="static"){const r=typeof s=="function"?s(e):s;return r==="always"||r!==!1&&ct(e,t)}return!1}function mt(e,t,s,r){return(e!==t||S(r.enabled,e)===!1)&&(!s.suspense||e.state.status!=="error")&&ct(e,s)}function ct(e,t){return S(t.enabled,e)!==!1&&e.isStaleByTime(H(t.staleTime,e))}function Pt(e,t){return!Z(e.getCurrentResult(),t)}var Et=I.createContext(!1),Lt=()=>I.useContext(Et);Et.Provider;function Nt(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var At=I.createContext(Nt()),kt=()=>I.useContext(At),Bt=(e,t)=>{(e.suspense||e.throwOnError||e.experimental_prefetchInRender)&&(t.isReset()||(e.retryOnMount=!1))},Ht=e=>{I.useEffect(()=>{e.clearReset()},[e])},jt=({result:e,errorResetBoundary:t,throwOnError:s,query:r,suspense:h})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&(h&&e.data===void 0||Qt(s,[e.error,r])),zt=e=>{if(e.suspense){const s=h=>h==="static"?h:Math.max(h??1e3,1e3),r=e.staleTime;e.staleTime=typeof r=="function"?(...h)=>s(r(...h)):s(r),typeof e.gcTime=="number"&&(e.gcTime=Math.max(e.gcTime,1e3))}},Vt=(e,t)=>e.isLoading&&e.isFetching&&!t,Wt=(e,t)=>(e==null?void 0:e.suspense)&&t.isPending,Rt=(e,t,s)=>t.fetchOptimistic(e).catch(()=>{s.clearReset()});function Kt(e,t,s){var l,N,f,A,k;const r=Lt(),h=kt(),o=Mt(),c=o.defaultQueryOptions(e);(N=(l=o.getDefaultOptions().queries)==null?void 0:l._experimental_beforeQuery)==null||N.call(l,c),c._optimisticResults=r?"isRestoring":"optimistic",zt(c),Bt(c,h),Ht(h);const w=!o.getQueryCache().get(c.queryHash),[p]=I.useState(()=>new t(o,c)),v=p.getOptimisticResult(c),L=!r&&e.subscribed!==!1;if(I.useSyncExternalStore(I.useCallback(m=>{const V=L?p.subscribe(St.batchCalls(m)):$;return p.updateResult(),V},[p,L]),()=>p.getCurrentResult(),()=>p.getCurrentResult()),I.useEffect(()=>{p.setOptions(c)},[c,p]),Wt(c,v))throw Rt(c,p,h);if(jt({result:v,errorResetBoundary:h,throwOnError:c.throwOnError,query:o.getQueryCache().get(c.queryHash),suspense:c.suspense}))throw v.error;if((A=(f=o.getDefaultOptions().queries)==null?void 0:f._experimental_afterQuery)==null||A.call(f,c,v),c.experimental_prefetchInRender&&!tt&&Vt(v,r)){const m=w?Rt(c,p,h):(k=o.getQueryCache().get(c.queryHash))==null?void 0:k.promise;m==null||m.catch($).finally(()=>{p.updateResult()})}return c.notifyOnChangeProps?v:p.trackResult(v)}function qt(e,t){return Kt(e,Ft)}function Yt(e,t,s){return qt({queryKey:e,placeholderData:xt,...s,queryFn:async()=>{try{return(await _t.request(t)).data}catch(r){throw Ut(r)}}})}export{qt as a,Yt as u};
|
|
1
|
+
var ft=e=>{throw TypeError(e)};var Y=(e,t,s)=>t.has(e)||ft("Cannot "+s);var i=(e,t,s)=>(Y(e,t,"read from private field"),s?s.call(e):t.get(e)),b=(e,t,s)=>t.has(e)?ft("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,s),u=(e,t,s,r)=>(Y(e,t,"write to private field"),r?r.call(e,s):t.set(e,s),s),d=(e,t,s)=>(Y(e,t,"access private method"),s);import{S as It,a6 as pt,a7 as S,s as Z,a8 as H,m as $,a9 as tt,aa as bt,ab as Ot,ac as q,ad as Tt,ae as wt,af as yt,n as St,r as I,o as Qt,l as Mt,ag as xt,d as _t,t as Ut}from"./index-D-F4C6n_.js";var g,a,j,y,Q,U,E,O,z,F,D,M,x,T,P,n,B,et,st,it,rt,at,nt,ht,Ct,vt,Ft=(vt=class extends It{constructor(t,s){super();b(this,n);b(this,g);b(this,a);b(this,j);b(this,y);b(this,Q);b(this,U);b(this,E);b(this,O);b(this,z);b(this,F);b(this,D);b(this,M);b(this,x);b(this,T);b(this,P,new Set);this.options=s,u(this,g,t),u(this,O,null),u(this,E,pt()),this.bindMethods(),this.setOptions(s)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(i(this,a).addObserver(this),gt(i(this,a),this.options)?d(this,n,B).call(this):this.updateResult(),d(this,n,rt).call(this))}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return ot(i(this,a),this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return ot(i(this,a),this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,d(this,n,at).call(this),d(this,n,nt).call(this),i(this,a).removeObserver(this)}setOptions(t){const s=this.options,r=i(this,a);if(this.options=i(this,g).defaultQueryOptions(t),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof S(this.options.enabled,i(this,a))!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");d(this,n,ht).call(this),i(this,a).setOptions(this.options),s._defaulted&&!Z(this.options,s)&&i(this,g).getQueryCache().notify({type:"observerOptionsUpdated",query:i(this,a),observer:this});const h=this.hasListeners();h&&mt(i(this,a),r,this.options,s)&&d(this,n,B).call(this),this.updateResult(),h&&(i(this,a)!==r||S(this.options.enabled,i(this,a))!==S(s.enabled,i(this,a))||H(this.options.staleTime,i(this,a))!==H(s.staleTime,i(this,a)))&&d(this,n,et).call(this);const o=d(this,n,st).call(this);h&&(i(this,a)!==r||S(this.options.enabled,i(this,a))!==S(s.enabled,i(this,a))||o!==i(this,T))&&d(this,n,it).call(this,o)}getOptimisticResult(t){const s=i(this,g).getQueryCache().build(i(this,g),t),r=this.createResult(s,t);return Pt(this,r)&&(u(this,y,r),u(this,U,this.options),u(this,Q,i(this,a).state)),r}getCurrentResult(){return i(this,y)}trackResult(t,s){return new Proxy(t,{get:(r,h)=>(this.trackProp(h),s==null||s(h),h==="promise"&&!this.options.experimental_prefetchInRender&&i(this,E).status==="pending"&&i(this,E).reject(new Error("experimental_prefetchInRender feature flag is not enabled")),Reflect.get(r,h))})}trackProp(t){i(this,P).add(t)}getCurrentQuery(){return i(this,a)}refetch({...t}={}){return this.fetch({...t})}fetchOptimistic(t){const s=i(this,g).defaultQueryOptions(t),r=i(this,g).getQueryCache().build(i(this,g),s);return r.fetch().then(()=>this.createResult(r,s))}fetch(t){return d(this,n,B).call(this,{...t,cancelRefetch:t.cancelRefetch??!0}).then(()=>(this.updateResult(),i(this,y)))}createResult(t,s){var dt;const r=i(this,a),h=this.options,o=i(this,y),c=i(this,Q),w=i(this,U),v=t!==r?t.state:i(this,j),{state:L}=t;let l={...L},N=!1,f;if(s._optimisticResults){const R=this.hasListeners(),W=!R&>(t,s),_=R&&mt(t,r,s,h);(W||_)&&(l={...l,...wt(L.data,t.options)}),s._optimisticResults==="isRestoring"&&(l.fetchStatus="idle")}let{error:A,errorUpdatedAt:k,status:m}=l;f=l.data;let V=!1;if(s.placeholderData!==void 0&&f===void 0&&m==="pending"){let R;o!=null&&o.isPlaceholderData&&s.placeholderData===(w==null?void 0:w.placeholderData)?(R=o.data,V=!0):R=typeof s.placeholderData=="function"?s.placeholderData((dt=i(this,D))==null?void 0:dt.state.data,i(this,D)):s.placeholderData,R!==void 0&&(m="success",f=yt(o==null?void 0:o.data,R,s),N=!0)}if(s.select&&f!==void 0&&!V)if(o&&f===(c==null?void 0:c.data)&&s.select===i(this,z))f=i(this,F);else try{u(this,z,s.select),f=s.select(f),f=yt(o==null?void 0:o.data,f,s),u(this,F,f),u(this,O,null)}catch(R){u(this,O,R)}i(this,O)&&(A=i(this,O),f=i(this,F),k=Date.now(),m="error");const G=l.fetchStatus==="fetching",J=m==="pending",X=m==="error",ut=J&&G,lt=f!==void 0,C={status:m,fetchStatus:l.fetchStatus,isPending:J,isSuccess:m==="success",isError:X,isInitialLoading:ut,isLoading:ut,data:f,dataUpdatedAt:l.dataUpdatedAt,error:A,errorUpdatedAt:k,failureCount:l.fetchFailureCount,failureReason:l.fetchFailureReason,errorUpdateCount:l.errorUpdateCount,isFetched:l.dataUpdateCount>0||l.errorUpdateCount>0,isFetchedAfterMount:l.dataUpdateCount>v.dataUpdateCount||l.errorUpdateCount>v.errorUpdateCount,isFetching:G,isRefetching:G&&!J,isLoadingError:X&&!lt,isPaused:l.fetchStatus==="paused",isPlaceholderData:N,isRefetchError:X&<,isStale:ct(t,s),refetch:this.refetch,promise:i(this,E),isEnabled:S(s.enabled,t)!==!1};if(this.options.experimental_prefetchInRender){const R=K=>{C.status==="error"?K.reject(C.error):C.data!==void 0&&K.resolve(C.data)},W=()=>{const K=u(this,E,C.promise=pt());R(K)},_=i(this,E);switch(_.status){case"pending":t.queryHash===r.queryHash&&R(_);break;case"fulfilled":(C.status==="error"||C.data!==_.value)&&W();break;case"rejected":(C.status!=="error"||C.error!==_.reason)&&W();break}}return C}updateResult(){const t=i(this,y),s=this.createResult(i(this,a),this.options);if(u(this,Q,i(this,a).state),u(this,U,this.options),i(this,Q).data!==void 0&&u(this,D,i(this,a)),Z(s,t))return;u(this,y,s);const r=()=>{if(!t)return!0;const{notifyOnChangeProps:h}=this.options,o=typeof h=="function"?h():h;if(o==="all"||!o&&!i(this,P).size)return!0;const c=new Set(o??i(this,P));return this.options.throwOnError&&c.add("error"),Object.keys(i(this,y)).some(w=>{const p=w;return i(this,y)[p]!==t[p]&&c.has(p)})};d(this,n,Ct).call(this,{listeners:r()})}onQueryUpdate(){this.updateResult(),this.hasListeners()&&d(this,n,rt).call(this)}},g=new WeakMap,a=new WeakMap,j=new WeakMap,y=new WeakMap,Q=new WeakMap,U=new WeakMap,E=new WeakMap,O=new WeakMap,z=new WeakMap,F=new WeakMap,D=new WeakMap,M=new WeakMap,x=new WeakMap,T=new WeakMap,P=new WeakMap,n=new WeakSet,B=function(t){d(this,n,ht).call(this);let s=i(this,a).fetch(this.options,t);return t!=null&&t.throwOnError||(s=s.catch($)),s},et=function(){d(this,n,at).call(this);const t=H(this.options.staleTime,i(this,a));if(tt||i(this,y).isStale||!bt(t))return;const r=Ot(i(this,y).dataUpdatedAt,t)+1;u(this,M,q.setTimeout(()=>{i(this,y).isStale||this.updateResult()},r))},st=function(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(i(this,a)):this.options.refetchInterval)??!1},it=function(t){d(this,n,nt).call(this),u(this,T,t),!(tt||S(this.options.enabled,i(this,a))===!1||!bt(i(this,T))||i(this,T)===0)&&u(this,x,q.setInterval(()=>{(this.options.refetchIntervalInBackground||Tt.isFocused())&&d(this,n,B).call(this)},i(this,T)))},rt=function(){d(this,n,et).call(this),d(this,n,it).call(this,d(this,n,st).call(this))},at=function(){i(this,M)&&(q.clearTimeout(i(this,M)),u(this,M,void 0))},nt=function(){i(this,x)&&(q.clearInterval(i(this,x)),u(this,x,void 0))},ht=function(){const t=i(this,g).getQueryCache().build(i(this,g),this.options);if(t===i(this,a))return;const s=i(this,a);u(this,a,t),u(this,j,t.state),this.hasListeners()&&(s==null||s.removeObserver(this),t.addObserver(this))},Ct=function(t){St.batch(()=>{t.listeners&&this.listeners.forEach(s=>{s(i(this,y))}),i(this,g).getQueryCache().notify({query:i(this,a),type:"observerResultsUpdated"})})},vt);function Dt(e,t){return S(t.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status==="error"&&t.retryOnMount===!1)}function gt(e,t){return Dt(e,t)||e.state.data!==void 0&&ot(e,t,t.refetchOnMount)}function ot(e,t,s){if(S(t.enabled,e)!==!1&&H(t.staleTime,e)!=="static"){const r=typeof s=="function"?s(e):s;return r==="always"||r!==!1&&ct(e,t)}return!1}function mt(e,t,s,r){return(e!==t||S(r.enabled,e)===!1)&&(!s.suspense||e.state.status!=="error")&&ct(e,s)}function ct(e,t){return S(t.enabled,e)!==!1&&e.isStaleByTime(H(t.staleTime,e))}function Pt(e,t){return!Z(e.getCurrentResult(),t)}var Et=I.createContext(!1),Lt=()=>I.useContext(Et);Et.Provider;function Nt(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var At=I.createContext(Nt()),kt=()=>I.useContext(At),Bt=(e,t)=>{(e.suspense||e.throwOnError||e.experimental_prefetchInRender)&&(t.isReset()||(e.retryOnMount=!1))},Ht=e=>{I.useEffect(()=>{e.clearReset()},[e])},jt=({result:e,errorResetBoundary:t,throwOnError:s,query:r,suspense:h})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&(h&&e.data===void 0||Qt(s,[e.error,r])),zt=e=>{if(e.suspense){const s=h=>h==="static"?h:Math.max(h??1e3,1e3),r=e.staleTime;e.staleTime=typeof r=="function"?(...h)=>s(r(...h)):s(r),typeof e.gcTime=="number"&&(e.gcTime=Math.max(e.gcTime,1e3))}},Vt=(e,t)=>e.isLoading&&e.isFetching&&!t,Wt=(e,t)=>(e==null?void 0:e.suspense)&&t.isPending,Rt=(e,t,s)=>t.fetchOptimistic(e).catch(()=>{s.clearReset()});function Kt(e,t,s){var l,N,f,A,k;const r=Lt(),h=kt(),o=Mt(),c=o.defaultQueryOptions(e);(N=(l=o.getDefaultOptions().queries)==null?void 0:l._experimental_beforeQuery)==null||N.call(l,c),c._optimisticResults=r?"isRestoring":"optimistic",zt(c),Bt(c,h),Ht(h);const w=!o.getQueryCache().get(c.queryHash),[p]=I.useState(()=>new t(o,c)),v=p.getOptimisticResult(c),L=!r&&e.subscribed!==!1;if(I.useSyncExternalStore(I.useCallback(m=>{const V=L?p.subscribe(St.batchCalls(m)):$;return p.updateResult(),V},[p,L]),()=>p.getCurrentResult(),()=>p.getCurrentResult()),I.useEffect(()=>{p.setOptions(c)},[c,p]),Wt(c,v))throw Rt(c,p,h);if(jt({result:v,errorResetBoundary:h,throwOnError:c.throwOnError,query:o.getQueryCache().get(c.queryHash),suspense:c.suspense}))throw v.error;if((A=(f=o.getDefaultOptions().queries)==null?void 0:f._experimental_afterQuery)==null||A.call(f,c,v),c.experimental_prefetchInRender&&!tt&&Vt(v,r)){const m=w?Rt(c,p,h):(k=o.getQueryCache().get(c.queryHash))==null?void 0:k.promise;m==null||m.catch($).finally(()=>{p.updateResult()})}return c.notifyOnChangeProps?v:p.trackResult(v)}function qt(e,t){return Kt(e,Ft)}function Yt(e,t,s){return qt({queryKey:e,placeholderData:xt,...s,queryFn:async()=>{try{return(await _t.request(t)).data}catch(r){throw Ut(r)}}})}export{qt as a,Yt as u};
|
package/src/web/dist/index.html
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no" />
|
|
6
6
|
<meta name="format-detection" content="telephone=no" />
|
|
7
7
|
<title>cc-gw 控制台</title>
|
|
8
|
-
<script type="module" crossorigin src="/assets/index-
|
|
8
|
+
<script type="module" crossorigin src="/assets/index-D-F4C6n_.js"></script>
|
|
9
9
|
<link rel="stylesheet" crossorigin href="/assets/index-CsJ3GRy4.css">
|
|
10
10
|
</head>
|
|
11
11
|
<body class="bg-slate-50 text-slate-900 dark:bg-slate-900 dark:text-slate-50">
|