From 87fe6f2fd5334064746dc9ac8469c772410d12f1 Mon Sep 17 00:00:00 2001 From: Svring Date: Wed, 9 Oct 2024 20:15:40 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E5=A2=9E=E8=AE=BE=E5=89=8D=E7=AB=AF?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2=EF=BC=8C=E5=B9=B6=E6=94=B9=E8=BF=9Bapi=5Fv2?= =?UTF-8?q?=E4=BB=A5=E8=BF=9B=E8=A1=8C=E9=80=82=E9=85=8D=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api_v2.py | 81 ++++++++++++++++++++++++++++++++++ dist/assets/index-BXQvAA72.js | 17 +++++++ dist/assets/index-Dl43Gj3X.css | 1 + dist/index.html | 13 ++++++ dist/vite.svg | 1 + requirements.txt | 1 + 6 files changed, 114 insertions(+) create mode 100644 dist/assets/index-BXQvAA72.js create mode 100644 dist/assets/index-Dl43Gj3X.css create mode 100644 dist/index.html create mode 100644 dist/vite.svg diff --git a/api_v2.py b/api_v2.py index ea1d0c7f3..768d41626 100644 --- a/api_v2.py +++ b/api_v2.py @@ -110,9 +110,12 @@ import signal import numpy as np import soundfile as sf +import shutil from fastapi import FastAPI, Request, HTTPException, Response from fastapi.responses import StreamingResponse, JSONResponse from fastapi import FastAPI, UploadFile, File +from fastapi.middleware.cors import CORSMiddleware +from fastapi.staticfiles import StaticFiles import uvicorn from io import BytesIO from tools.i18n.i18n import I18nAuto @@ -139,6 +142,7 @@ config_path = "GPT-SoVITS/configs/tts_infer.yaml" tts_config = TTS_Config(config_path) +print("以下为TTS_CONFIG配置, 如需修改请查看/GPT_SoVITS/configs/tts_infer.yaml") print(tts_config) tts_pipeline = TTS(tts_config) @@ -447,7 +451,84 @@ async def set_sovits_weights(weights_path: str = None): return JSONResponse(status_code=400, content={"message": f"change sovits weight failed", "Exception": str(e)}) return JSONResponse(status_code=200, content={"message": "success"}) +APP.add_middleware( + CORSMiddleware, + allow_origins=["*"], # 允许所有域名的请求 + allow_credentials=True, + allow_methods=["*"], # 允许所有方法 + allow_headers=["*"], # 允许所有请求头 +) +@APP.get("/info") +async def get_info(): + try: + gpt_weights_dir_v2 = 'GPT_weights_v2' + sovits_weights_dir_v2 = 'SoVITS_weights_v2' + gpt_weights_dir = 'GPT_weights' + sovits_weights_dir = 'SoVITS_weights' + + gpt_filenames = [] + sovits_filenames = [] + + for dir in [gpt_weights_dir_v2, gpt_weights_dir]: + if os.path.exists(dir): + gpt_filenames.extend([f"{dir}/{f}" for f in os.listdir(dir) if os.path.isfile(os.path.join(dir, f))]) + + for dir in [sovits_weights_dir_v2, sovits_weights_dir]: + if os.path.exists(dir): + sovits_filenames.extend([f"{dir}/{f}" for f in os.listdir(dir) if os.path.isfile(os.path.join(dir, f))]) + + if not gpt_filenames: + return JSONResponse(status_code=404, content={"message": "No GPT weights files found"}) + if not sovits_filenames: + return JSONResponse(status_code=404, content={"message": "No SoVITS weights files found"}) + + return JSONResponse(status_code=200, content={ + "gpt_weights_files": gpt_filenames, + "sovits_weights_files": sovits_filenames, + "server_port": port + }) + except Exception as e: + return JSONResponse(status_code=500, content={"message": f"Error retrieving weights info", "error": str(e)}) + +@APP.post("/tts") +async def tts_post_endpoint(request: TTS_Request): + req = request.model_dump() + print("\nProcessed request (req):") + print(f"Type: {type(req)}") + print("Content:") + for key, value in req.items(): + print(f" {key}: {value}") + + return await tts_handle(req) + +@APP.post("/upload_file") +async def upload_file(file: UploadFile = File(...)): + try: + # Create a temporary directory if it doesn't exist + temp_dir = "temp_files" + os.makedirs(temp_dir, exist_ok=True) + + # Define the path to save the uploaded file + file_path = os.path.join(temp_dir, file.filename) + + # Save the uploaded file to the temporary directory + with open(file_path, "wb") as buffer: + shutil.copyfileobj(file.file, buffer) + + return JSONResponse(status_code=200, content={"message": "File uploaded successfully", "file_path": file_path}) + except Exception as e: + return JSONResponse(status_code=500, content={"message": "File upload failed", "error": str(e)}) + +APP.mount("/", StaticFiles(directory="dist", html=True), name="static") +print("--------------------------------") +print(f"前端界面已在 http://{host}:{port} 开启。") +print("目前的前端版本只适配默认端口9880, 更改api端口会导致前端页面无法工作, 但不影响后端api运行。") +print("在前端界面中上传的音频文件将会保存在 ./temp_files 目录下,如有需要请手动删除。") +print("请至少运行一遍webui.py, 放好模型, 再运行本API, 以确保存放模型的文件夹SoVITS_weights和GPT_weights存在。") +print("如遇配置错误,请检查命令行上方输出的配置详情,并修改文件/GPT_SoVITS/configs/tts_infer.yaml") +print("如果运行环境是mac, 请将tts_infer.yaml内custom条目下的device改为cpu, is_half改为false") +print("--------------------------------") if __name__ == "__main__": try: diff --git a/dist/assets/index-BXQvAA72.js b/dist/assets/index-BXQvAA72.js new file mode 100644 index 000000000..ee20715c1 --- /dev/null +++ b/dist/assets/index-BXQvAA72.js @@ -0,0 +1,17 @@ +(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))n(i);new MutationObserver(i=>{for(const r of i)if(r.type==="childList")for(const o of r.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&n(o)}).observe(document,{childList:!0,subtree:!0});function s(i){const r={};return i.integrity&&(r.integrity=i.integrity),i.referrerPolicy&&(r.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?r.credentials="include":i.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function n(i){if(i.ep)return;i.ep=!0;const r=s(i);fetch(i.href,r)}})();/** +* @vue/shared v3.5.10 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**//*! #__NO_SIDE_EFFECTS__ */function Bs(e){const t=Object.create(null);for(const s of e.split(","))t[s]=1;return s=>s in t}const U={},ft=[],Ae=()=>{},or=()=>!1,ns=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Us=e=>e.startsWith("onUpdate:"),Z=Object.assign,Vs=(e,t)=>{const s=e.indexOf(t);s>-1&&e.splice(s,1)},lr=Object.prototype.hasOwnProperty,D=(e,t)=>lr.call(e,t),I=Array.isArray,ut=e=>is(e)==="[object Map]",Xn=e=>is(e)==="[object Set]",F=e=>typeof e=="function",J=e=>typeof e=="string",ke=e=>typeof e=="symbol",G=e=>e!==null&&typeof e=="object",Zn=e=>(G(e)||F(e))&&F(e.then)&&F(e.catch),Qn=Object.prototype.toString,is=e=>Qn.call(e),cr=e=>is(e).slice(8,-1),ei=e=>is(e)==="[object Object]",Ks=e=>J(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Et=Bs(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),rs=e=>{const t=Object.create(null);return s=>t[s]||(t[s]=e(s))},fr=/-(\w)/g,Ke=rs(e=>e.replace(fr,(t,s)=>s?s.toUpperCase():"")),ur=/\B([A-Z])/g,it=rs(e=>e.replace(ur,"-$1").toLowerCase()),ti=rs(e=>e.charAt(0).toUpperCase()+e.slice(1)),_s=rs(e=>e?`on${ti(e)}`:""),We=(e,t)=>!Object.is(e,t),Jt=(e,...t)=>{for(let s=0;s{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:s})},Ps=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let gn;const ni=()=>gn||(gn=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Ws(e){if(I(e)){const t={};for(let s=0;s{if(s){const n=s.split(dr);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function Ge(e){let t="";if(J(e))t=e;else if(I(e))for(let s=0;s!!(e&&e.__v_isRef===!0),Me=e=>J(e)?e:e==null?"":I(e)||G(e)&&(e.toString===Qn||!F(e.toString))?ri(e)?Me(e.value):JSON.stringify(e,oi,2):String(e),oi=(e,t)=>ri(t)?oi(e,t.value):ut(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((s,[n,i],r)=>(s[ms(n,r)+" =>"]=i,s),{})}:Xn(t)?{[`Set(${t.size})`]:[...t.values()].map(s=>ms(s))}:ke(t)?ms(t):G(t)&&!I(t)&&!ei(t)?String(t):t,ms=(e,t="")=>{var s;return ke(e)?`Symbol(${(s=e.description)!=null?s:t})`:e};/** +* @vue/reactivity v3.5.10 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let pe;class mr{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=pe,!t&&pe&&(this.index=(pe.scopes||(pe.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,s;if(this.scopes)for(t=0,s=this.scopes.length;t0)return;let e;for(;ct;){let t=ct,s;for(;t;)t.flags&1||(t.flags&=-9),t=t.next;for(t=ct,ct=void 0;t;){if(s=t.next,t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(n){e||(e=n)}t=s}}if(e)throw e}function ui(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function ai(e){let t,s=e.depsTail,n=s;for(;n;){const i=n.prevDep;n.version===-1?(n===s&&(s=i),qs(n),yr(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=i}e.deps=t,e.depsTail=s}function Os(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(di(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function di(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Pt))return;e.globalVersion=Pt;const t=e.dep;if(e.flags|=2,t.version>0&&!e.isSSR&&e.deps&&!Os(e)){e.flags&=-3;return}const s=W,n=ve;W=e,ve=!0;try{ui(e);const i=e.fn(e._value);(t.version===0||We(i,e._value))&&(e._value=i,t.version++)}catch(i){throw t.version++,i}finally{W=s,ve=n,ai(e),e.flags&=-3}}function qs(e,t=!1){const{dep:s,prevSub:n,nextSub:i}=e;if(n&&(n.nextSub=i,e.prevSub=void 0),i&&(i.prevSub=n,e.nextSub=void 0),s.subs===e&&(s.subs=n),!s.subs&&s.computed){s.computed.flags&=-5;for(let r=s.computed.deps;r;r=r.nextDep)qs(r,!0)}!t&&!--s.sc&&s.map&&s.map.delete(s.key)}function yr(e){const{prevDep:t,nextDep:s}=e;t&&(t.nextDep=s,e.prevDep=void 0),s&&(s.prevDep=t,e.nextDep=void 0)}let ve=!0;const pi=[];function qe(){pi.push(ve),ve=!1}function ze(){const e=pi.pop();ve=e===void 0?!0:e}function _n(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const s=W;W=void 0;try{t()}finally{W=s}}}let Pt=0;class vr{constructor(t,s){this.sub=t,this.dep=s,this.version=s.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class zs{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.target=void 0,this.map=void 0,this.key=void 0,this.sc=0}track(t){if(!W||!ve||W===this.computed)return;let s=this.activeLink;if(s===void 0||s.sub!==W)s=this.activeLink=new vr(W,this),W.deps?(s.prevDep=W.depsTail,W.depsTail.nextDep=s,W.depsTail=s):W.deps=W.depsTail=s,hi(s);else if(s.version===-1&&(s.version=this.version,s.nextDep)){const n=s.nextDep;n.prevDep=s.prevDep,s.prevDep&&(s.prevDep.nextDep=n),s.prevDep=W.depsTail,s.nextDep=void 0,W.depsTail.nextDep=s,W.depsTail=s,W.deps===s&&(W.deps=n)}return s}trigger(t){this.version++,Pt++,this.notify(t)}notify(t){ks();try{for(let s=this.subs;s;s=s.prevSub)s.sub.notify()&&s.sub.dep.notify()}finally{Gs()}}}function hi(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let n=t.deps;n;n=n.nextDep)hi(n)}const s=e.dep.subs;s!==e&&(e.prevSub=s,s&&(s.nextSub=e)),e.dep.subs=e}}const Is=new WeakMap,tt=Symbol(""),Fs=Symbol(""),Ot=Symbol("");function ne(e,t,s){if(ve&&W){let n=Is.get(e);n||Is.set(e,n=new Map);let i=n.get(s);i||(n.set(s,i=new zs),i.target=e,i.map=n,i.key=s),i.track()}}function De(e,t,s,n,i,r){const o=Is.get(e);if(!o){Pt++;return}const l=f=>{f&&f.trigger()};if(ks(),t==="clear")o.forEach(l);else{const f=I(e),p=f&&Ks(s);if(f&&s==="length"){const a=Number(n);o.forEach((d,y)=>{(y==="length"||y===Ot||!ke(y)&&y>=a)&&l(d)})}else switch(s!==void 0&&l(o.get(s)),p&&l(o.get(Ot)),t){case"add":f?p&&l(o.get("length")):(l(o.get(tt)),ut(e)&&l(o.get(Fs)));break;case"delete":f||(l(o.get(tt)),ut(e)&&l(o.get(Fs)));break;case"set":ut(e)&&l(o.get(tt));break}}Gs()}function rt(e){const t=L(e);return t===e?t:(ne(t,"iterate",Ot),be(e)?t:t.map(ee))}function os(e){return ne(e=L(e),"iterate",Ot),e}const xr={__proto__:null,[Symbol.iterator](){return ys(this,Symbol.iterator,ee)},concat(...e){return rt(this).concat(...e.map(t=>I(t)?rt(t):t))},entries(){return ys(this,"entries",e=>(e[1]=ee(e[1]),e))},every(e,t){return Fe(this,"every",e,t,void 0,arguments)},filter(e,t){return Fe(this,"filter",e,t,s=>s.map(ee),arguments)},find(e,t){return Fe(this,"find",e,t,ee,arguments)},findIndex(e,t){return Fe(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Fe(this,"findLast",e,t,ee,arguments)},findLastIndex(e,t){return Fe(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Fe(this,"forEach",e,t,void 0,arguments)},includes(...e){return vs(this,"includes",e)},indexOf(...e){return vs(this,"indexOf",e)},join(e){return rt(this).join(e)},lastIndexOf(...e){return vs(this,"lastIndexOf",e)},map(e,t){return Fe(this,"map",e,t,void 0,arguments)},pop(){return vt(this,"pop")},push(...e){return vt(this,"push",e)},reduce(e,...t){return mn(this,"reduce",e,t)},reduceRight(e,...t){return mn(this,"reduceRight",e,t)},shift(){return vt(this,"shift")},some(e,t){return Fe(this,"some",e,t,void 0,arguments)},splice(...e){return vt(this,"splice",e)},toReversed(){return rt(this).toReversed()},toSorted(e){return rt(this).toSorted(e)},toSpliced(...e){return rt(this).toSpliced(...e)},unshift(...e){return vt(this,"unshift",e)},values(){return ys(this,"values",ee)}};function ys(e,t,s){const n=os(e),i=n[t]();return n!==e&&!be(e)&&(i._next=i.next,i.next=()=>{const r=i._next();return r.value&&(r.value=s(r.value)),r}),i}const Sr=Array.prototype;function Fe(e,t,s,n,i,r){const o=os(e),l=o!==e&&!be(e),f=o[t];if(f!==Sr[t]){const d=f.apply(e,r);return l?ee(d):d}let p=s;o!==e&&(l?p=function(d,y){return s.call(this,ee(d),y,e)}:s.length>2&&(p=function(d,y){return s.call(this,d,y,e)}));const a=f.call(o,p,n);return l&&i?i(a):a}function mn(e,t,s,n){const i=os(e);let r=s;return i!==e&&(be(e)?s.length>3&&(r=function(o,l,f){return s.call(this,o,l,f,e)}):r=function(o,l,f){return s.call(this,o,ee(l),f,e)}),i[t](r,...n)}function vs(e,t,s){const n=L(e);ne(n,"iterate",Ot);const i=n[t](...s);return(i===-1||i===!1)&&Zs(s[0])?(s[0]=L(s[0]),n[t](...s)):i}function vt(e,t,s=[]){qe(),ks();const n=L(e)[t].apply(e,s);return Gs(),ze(),n}const wr=Bs("__proto__,__v_isRef,__isVue"),gi=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(ke));function Er(e){ke(e)||(e=String(e));const t=L(this);return ne(t,"has",e),t.hasOwnProperty(e)}class _i{constructor(t=!1,s=!1){this._isReadonly=t,this._isShallow=s}get(t,s,n){const i=this._isReadonly,r=this._isShallow;if(s==="__v_isReactive")return!i;if(s==="__v_isReadonly")return i;if(s==="__v_isShallow")return r;if(s==="__v_raw")return n===(i?r?Hr:vi:r?yi:bi).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const o=I(t);if(!i){let f;if(o&&(f=xr[s]))return f;if(s==="hasOwnProperty")return Er}const l=Reflect.get(t,s,se(t)?t:n);return(ke(s)?gi.has(s):wr(s))||(i||ne(t,"get",s),r)?l:se(l)?o&&Ks(s)?l:l.value:G(l)?i?xi(l):It(l):l}}class mi extends _i{constructor(t=!1){super(!1,t)}set(t,s,n,i){let r=t[s];if(!this._isShallow){const f=st(r);if(!be(n)&&!st(n)&&(r=L(r),n=L(n)),!I(t)&&se(r)&&!se(n))return f?!1:(r.value=n,!0)}const o=I(t)&&Ks(s)?Number(s)e,ls=e=>Reflect.getPrototypeOf(e);function Kt(e,t,s=!1,n=!1){e=e.__v_raw;const i=L(e),r=L(t);s||(We(t,r)&&ne(i,"get",t),ne(i,"get",r));const{has:o}=ls(i),l=n?Js:s?Qs:ee;if(o.call(i,t))return l(e.get(t));if(o.call(i,r))return l(e.get(r));e!==i&&e.get(t)}function Wt(e,t=!1){const s=this.__v_raw,n=L(s),i=L(e);return t||(We(e,i)&&ne(n,"has",e),ne(n,"has",i)),e===i?s.has(e):s.has(e)||s.has(i)}function kt(e,t=!1){return e=e.__v_raw,!t&&ne(L(e),"iterate",tt),Reflect.get(e,"size",e)}function bn(e,t=!1){!t&&!be(e)&&!st(e)&&(e=L(e));const s=L(this);return ls(s).has.call(s,e)||(s.add(e),De(s,"add",e,e)),this}function yn(e,t,s=!1){!s&&!be(t)&&!st(t)&&(t=L(t));const n=L(this),{has:i,get:r}=ls(n);let o=i.call(n,e);o||(e=L(e),o=i.call(n,e));const l=r.call(n,e);return n.set(e,t),o?We(t,l)&&De(n,"set",e,t):De(n,"add",e,t),this}function vn(e){const t=L(this),{has:s,get:n}=ls(t);let i=s.call(t,e);i||(e=L(e),i=s.call(t,e)),n&&n.call(t,e);const r=t.delete(e);return i&&De(t,"delete",e,void 0),r}function xn(){const e=L(this),t=e.size!==0,s=e.clear();return t&&De(e,"clear",void 0,void 0),s}function Gt(e,t){return function(n,i){const r=this,o=r.__v_raw,l=L(o),f=t?Js:e?Qs:ee;return!e&&ne(l,"iterate",tt),o.forEach((p,a)=>n.call(i,f(p),f(a),r))}}function qt(e,t,s){return function(...n){const i=this.__v_raw,r=L(i),o=ut(r),l=e==="entries"||e===Symbol.iterator&&o,f=e==="keys"&&o,p=i[e](...n),a=s?Js:t?Qs:ee;return!t&&ne(r,"iterate",f?Fs:tt),{next(){const{value:d,done:y}=p.next();return y?{value:d,done:y}:{value:l?[a(d[0]),a(d[1])]:a(d),done:y}},[Symbol.iterator](){return this}}}}function Ne(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Or(){const e={get(r){return Kt(this,r)},get size(){return kt(this)},has:Wt,add:bn,set:yn,delete:vn,clear:xn,forEach:Gt(!1,!1)},t={get(r){return Kt(this,r,!1,!0)},get size(){return kt(this)},has:Wt,add(r){return bn.call(this,r,!0)},set(r,o){return yn.call(this,r,o,!0)},delete:vn,clear:xn,forEach:Gt(!1,!0)},s={get(r){return Kt(this,r,!0)},get size(){return kt(this,!0)},has(r){return Wt.call(this,r,!0)},add:Ne("add"),set:Ne("set"),delete:Ne("delete"),clear:Ne("clear"),forEach:Gt(!0,!1)},n={get(r){return Kt(this,r,!0,!0)},get size(){return kt(this,!0)},has(r){return Wt.call(this,r,!0)},add:Ne("add"),set:Ne("set"),delete:Ne("delete"),clear:Ne("clear"),forEach:Gt(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(r=>{e[r]=qt(r,!1,!1),s[r]=qt(r,!0,!1),t[r]=qt(r,!1,!0),n[r]=qt(r,!0,!0)}),[e,s,t,n]}const[Ir,Fr,Rr,$r]=Or();function Ys(e,t){const s=t?e?$r:Rr:e?Fr:Ir;return(n,i,r)=>i==="__v_isReactive"?!e:i==="__v_isReadonly"?e:i==="__v_raw"?n:Reflect.get(D(s,i)&&i in n?s:n,i,r)}const Mr={get:Ys(!1,!1)},Dr={get:Ys(!1,!0)},Lr={get:Ys(!0,!1)};const bi=new WeakMap,yi=new WeakMap,vi=new WeakMap,Hr=new WeakMap;function jr(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Nr(e){return e.__v_skip||!Object.isExtensible(e)?0:jr(cr(e))}function It(e){return st(e)?e:Xs(e,!1,Tr,Mr,bi)}function Br(e){return Xs(e,!1,Pr,Dr,yi)}function xi(e){return Xs(e,!0,Ar,Lr,vi)}function Xs(e,t,s,n,i){if(!G(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const r=i.get(e);if(r)return r;const o=Nr(e);if(o===0)return e;const l=new Proxy(e,o===2?n:s);return i.set(e,l),l}function at(e){return st(e)?at(e.__v_raw):!!(e&&e.__v_isReactive)}function st(e){return!!(e&&e.__v_isReadonly)}function be(e){return!!(e&&e.__v_isShallow)}function Zs(e){return e?!!e.__v_raw:!1}function L(e){const t=e&&e.__v_raw;return t?L(t):e}function Ur(e){return!D(e,"__v_skip")&&Object.isExtensible(e)&&si(e,"__v_skip",!0),e}const ee=e=>G(e)?It(e):e,Qs=e=>G(e)?xi(e):e;function se(e){return e?e.__v_isRef===!0:!1}function he(e){return Vr(e,!1)}function Vr(e,t){return se(e)?e:new Kr(e,t)}class Kr{constructor(t,s){this.dep=new zs,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=s?t:L(t),this._value=s?t:ee(t),this.__v_isShallow=s}get value(){return this.dep.track(),this._value}set value(t){const s=this._rawValue,n=this.__v_isShallow||be(t)||st(t);t=n?t:L(t),We(t,s)&&(this._rawValue=t,this._value=n?t:ee(t),this.dep.trigger())}}function Wr(e){return se(e)?e.value:e}const kr={get:(e,t,s)=>t==="__v_raw"?e:Wr(Reflect.get(e,t,s)),set:(e,t,s,n)=>{const i=e[t];return se(i)&&!se(s)?(i.value=s,!0):Reflect.set(e,t,s,n)}};function Si(e){return at(e)?e:new Proxy(e,kr)}class Gr{constructor(t,s,n){this.fn=t,this.setter=s,this._value=void 0,this.dep=new zs(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Pt-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!s,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&W!==this)return fi(this),!0}get value(){const t=this.dep.track();return di(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function qr(e,t,s=!1){let n,i;return F(e)?n=e:(n=e.get,i=e.set),new Gr(n,i,s)}const zt={},Zt=new WeakMap;let et;function zr(e,t=!1,s=et){if(s){let n=Zt.get(s);n||Zt.set(s,n=[]),n.push(e)}}function Jr(e,t,s=U){const{immediate:n,deep:i,once:r,scheduler:o,augmentJob:l,call:f}=s,p=P=>i?P:be(P)||i===!1||i===0?$e(P,1):$e(P);let a,d,y,C,E=!1,R=!1;if(se(e)?(d=()=>e.value,E=be(e)):at(e)?(d=()=>p(e),E=!0):I(e)?(R=!0,E=e.some(P=>at(P)||be(P)),d=()=>e.map(P=>{if(se(P))return P.value;if(at(P))return p(P);if(F(P))return f?f(P,2):P()})):F(e)?t?d=f?()=>f(e,2):e:d=()=>{if(y){qe();try{y()}finally{ze()}}const P=et;et=a;try{return f?f(e,3,[C]):e(C)}finally{et=P}}:d=Ae,t&&i){const P=d,Y=i===!0?1/0:i;d=()=>$e(P(),Y)}const X=br(),B=()=>{a.stop(),X&&Vs(X.effects,a)};if(r&&t){const P=t;t=(...Y)=>{P(...Y),B()}}let q=R?new Array(e.length).fill(zt):zt;const z=P=>{if(!(!(a.flags&1)||!a.dirty&&!P))if(t){const Y=a.run();if(i||E||(R?Y.some((He,xe)=>We(He,q[xe])):We(Y,q))){y&&y();const He=et;et=a;try{const xe=[Y,q===zt?void 0:R&&q[0]===zt?[]:q,C];f?f(t,3,xe):t(...xe),q=Y}finally{et=He}}}else a.run()};return l&&l(z),a=new li(d),a.scheduler=o?()=>o(z,!1):z,C=P=>zr(P,!1,a),y=a.onStop=()=>{const P=Zt.get(a);if(P){if(f)f(P,4);else for(const Y of P)Y();Zt.delete(a)}},t?n?z(!0):q=a.run():o?o(z.bind(null,!0),!0):a.run(),B.pause=a.pause.bind(a),B.resume=a.resume.bind(a),B.stop=B,B}function $e(e,t=1/0,s){if(t<=0||!G(e)||e.__v_skip||(s=s||new Set,s.has(e)))return e;if(s.add(e),t--,se(e))$e(e.value,t,s);else if(I(e))for(let n=0;n{$e(n,t,s)});else if(ei(e)){for(const n in e)$e(e[n],t,s);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&$e(e[n],t,s)}return e}/** +* @vue/runtime-core v3.5.10 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function Mt(e,t,s,n){try{return n?e(...n):e()}catch(i){cs(i,t,s)}}function Pe(e,t,s,n){if(F(e)){const i=Mt(e,t,s,n);return i&&Zn(i)&&i.catch(r=>{cs(r,t,s)}),i}if(I(e)){const i=[];for(let r=0;r>>1,i=oe[n],r=Rt(i);r=Rt(s)?oe.push(e):oe.splice(Zr(t),0,e),e.flags|=1,Ei()}}function Ei(){!Ft&&!Rs&&(Rs=!0,en=wi.then(Ti))}function Qr(e){I(e)?dt.push(...e):Be&&e.id===-1?Be.splice(ot+1,0,e):e.flags&1||(dt.push(e),e.flags|=1),Ei()}function Sn(e,t,s=Ft?Ce+1:0){for(;sRt(s)-Rt(n));if(dt.length=0,Be){Be.push(...t);return}for(Be=t,ot=0;ote.id==null?e.flags&2?-1:1/0:e.id;function Ti(e){Rs=!1,Ft=!0;try{for(Ce=0;Ce{n._d&&In(-1);const r=Qt(t);let o;try{o=e(...i)}finally{Qt(r),n._d&&In(1)}return o};return n._n=!0,n._c=!0,n._d=!0,n}function Pi(e,t){if(me===null)return e;const s=ps(me),n=e.dirs||(e.dirs=[]);for(let i=0;ie.__isTeleport;function sn(e,t){e.shapeFlag&6&&e.component?(e.transition=t,sn(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}/*! #__NO_SIDE_EFFECTS__ */function Oe(e,t){return F(e)?Z({name:e.name},t,{setup:e}):e}function Oi(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function $s(e,t,s,n,i=!1){if(I(e)){e.forEach((E,R)=>$s(E,t&&(I(t)?t[R]:t),s,n,i));return}if(Ct(n)&&!i)return;const r=n.shapeFlag&4?ps(n.component):n.el,o=i?null:r,{i:l,r:f}=e,p=t&&t.r,a=l.refs===U?l.refs={}:l.refs,d=l.setupState,y=L(d),C=d===U?()=>!1:E=>D(y,E);if(p!=null&&p!==f&&(J(p)?(a[p]=null,C(p)&&(d[p]=null)):se(p)&&(p.value=null)),F(f))Mt(f,l,12,[o,a]);else{const E=J(f),R=se(f);if(E||R){const X=()=>{if(e.f){const B=E?C(f)?d[f]:a[f]:f.value;i?I(B)&&Vs(B,r):I(B)?B.includes(r)||B.push(r):E?(a[f]=[r],C(f)&&(d[f]=a[f])):(f.value=[r],e.k&&(a[e.k]=f.value))}else E?(a[f]=o,C(f)&&(d[f]=o)):R&&(f.value=o,e.k&&(a[e.k]=o))};o?(X.id=-1,de(X,s)):X()}}}const Ct=e=>!!e.type.__asyncLoader,Ii=e=>e.type.__isKeepAlive;function no(e,t){Fi(e,"a",t)}function io(e,t){Fi(e,"da",t)}function Fi(e,t,s=ce){const n=e.__wdc||(e.__wdc=()=>{let i=s;for(;i;){if(i.isDeactivated)return;i=i.parent}return e()});if(fs(t,n,s),s){let i=s.parent;for(;i&&i.parent;)Ii(i.parent.vnode)&&ro(n,t,s,i),i=i.parent}}function ro(e,t,s,n){const i=fs(t,e,n,!0);$i(()=>{Vs(n[t],i)},s)}function fs(e,t,s=ce,n=!1){if(s){const i=s[e]||(s[e]=[]),r=t.__weh||(t.__weh=(...o)=>{qe();const l=Ht(s),f=Pe(t,s,e,o);return l(),ze(),f});return n?i.unshift(r):i.push(r),r}}const Le=e=>(t,s=ce)=>{(!ds||e==="sp")&&fs(e,(...n)=>t(...n),s)},oo=Le("bm"),Ri=Le("m"),lo=Le("bu"),co=Le("u"),fo=Le("bum"),$i=Le("um"),uo=Le("sp"),ao=Le("rtg"),po=Le("rtc");function ho(e,t=ce){fs("ec",e,t)}const go=Symbol.for("v-ndc");function Dt(e,t,s,n){let i;const r=s,o=I(e);if(o||J(e)){const l=o&&at(e);let f=!1;l&&(f=!be(e),e=os(e)),i=new Array(e.length);for(let p=0,a=e.length;pt(l,f,void 0,r));else{const l=Object.keys(e);i=new Array(l.length);for(let f=0,p=l.length;fe?er(e)?ps(e):Ms(e.parent):null,Tt=Z(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Ms(e.parent),$root:e=>Ms(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>nn(e),$forceUpdate:e=>e.f||(e.f=()=>{tn(e.update)}),$nextTick:e=>e.n||(e.n=Xr.bind(e.proxy)),$watch:e=>Lo.bind(e)}),xs=(e,t)=>e!==U&&!e.__isScriptSetup&&D(e,t),_o={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:s,setupState:n,data:i,props:r,accessCache:o,type:l,appContext:f}=e;let p;if(t[0]!=="$"){const C=o[t];if(C!==void 0)switch(C){case 1:return n[t];case 2:return i[t];case 4:return s[t];case 3:return r[t]}else{if(xs(n,t))return o[t]=1,n[t];if(i!==U&&D(i,t))return o[t]=2,i[t];if((p=e.propsOptions[0])&&D(p,t))return o[t]=3,r[t];if(s!==U&&D(s,t))return o[t]=4,s[t];Ds&&(o[t]=0)}}const a=Tt[t];let d,y;if(a)return t==="$attrs"&&ne(e.attrs,"get",""),a(e);if((d=l.__cssModules)&&(d=d[t]))return d;if(s!==U&&D(s,t))return o[t]=4,s[t];if(y=f.config.globalProperties,D(y,t))return y[t]},set({_:e},t,s){const{data:n,setupState:i,ctx:r}=e;return xs(i,t)?(i[t]=s,!0):n!==U&&D(n,t)?(n[t]=s,!0):D(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(r[t]=s,!0)},has({_:{data:e,setupState:t,accessCache:s,ctx:n,appContext:i,propsOptions:r}},o){let l;return!!s[o]||e!==U&&D(e,o)||xs(t,o)||(l=r[0])&&D(l,o)||D(n,o)||D(Tt,o)||D(i.config.globalProperties,o)},defineProperty(e,t,s){return s.get!=null?e._.accessCache[t]=0:D(s,"value")&&this.set(e,t,s.value,null),Reflect.defineProperty(e,t,s)}};function wn(e){return I(e)?e.reduce((t,s)=>(t[s]=null,t),{}):e}let Ds=!0;function mo(e){const t=nn(e),s=e.proxy,n=e.ctx;Ds=!1,t.beforeCreate&&En(t.beforeCreate,e,"bc");const{data:i,computed:r,methods:o,watch:l,provide:f,inject:p,created:a,beforeMount:d,mounted:y,beforeUpdate:C,updated:E,activated:R,deactivated:X,beforeDestroy:B,beforeUnmount:q,destroyed:z,unmounted:P,render:Y,renderTracked:He,renderTriggered:xe,errorCaptured:je,serverPrefetch:jt,expose:Je,inheritAttrs:_t,components:Nt,directives:Bt,filters:hs}=t;if(p&&bo(p,n,null),o)for(const k in o){const V=o[k];F(V)&&(n[k]=V.bind(s))}if(i){const k=i.call(s,s);G(k)&&(e.data=It(k))}if(Ds=!0,r)for(const k in r){const V=r[k],Ye=F(V)?V.bind(s,s):F(V.get)?V.get.bind(s,s):Ae,Ut=!F(V)&&F(V.set)?V.set.bind(s):Ae,Xe=ln({get:Ye,set:Ut});Object.defineProperty(n,k,{enumerable:!0,configurable:!0,get:()=>Xe.value,set:Se=>Xe.value=Se})}if(l)for(const k in l)Mi(l[k],n,s,k);if(f){const k=F(f)?f.call(s):f;Reflect.ownKeys(k).forEach(V=>{wt(V,k[V])})}a&&En(a,e,"c");function ie(k,V){I(V)?V.forEach(Ye=>k(Ye.bind(s))):V&&k(V.bind(s))}if(ie(oo,d),ie(Ri,y),ie(lo,C),ie(co,E),ie(no,R),ie(io,X),ie(ho,je),ie(po,He),ie(ao,xe),ie(fo,q),ie($i,P),ie(uo,jt),I(Je))if(Je.length){const k=e.exposed||(e.exposed={});Je.forEach(V=>{Object.defineProperty(k,V,{get:()=>s[V],set:Ye=>s[V]=Ye})})}else e.exposed||(e.exposed={});Y&&e.render===Ae&&(e.render=Y),_t!=null&&(e.inheritAttrs=_t),Nt&&(e.components=Nt),Bt&&(e.directives=Bt),jt&&Oi(e)}function bo(e,t,s=Ae){I(e)&&(e=Ls(e));for(const n in e){const i=e[n];let r;G(i)?"default"in i?r=_e(i.from||n,i.default,!0):r=_e(i.from||n):r=_e(i),se(r)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>r.value,set:o=>r.value=o}):t[n]=r}}function En(e,t,s){Pe(I(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,s)}function Mi(e,t,s,n){let i=n.includes(".")?zi(s,n):()=>s[n];if(J(e)){const r=t[e];F(r)&&Ve(i,r)}else if(F(e))Ve(i,e.bind(s));else if(G(e))if(I(e))e.forEach(r=>Mi(r,t,s,n));else{const r=F(e.handler)?e.handler.bind(s):t[e.handler];F(r)&&Ve(i,r,e)}}function nn(e){const t=e.type,{mixins:s,extends:n}=t,{mixins:i,optionsCache:r,config:{optionMergeStrategies:o}}=e.appContext,l=r.get(t);let f;return l?f=l:!i.length&&!s&&!n?f=t:(f={},i.length&&i.forEach(p=>es(f,p,o,!0)),es(f,t,o)),G(t)&&r.set(t,f),f}function es(e,t,s,n=!1){const{mixins:i,extends:r}=t;r&&es(e,r,s,!0),i&&i.forEach(o=>es(e,o,s,!0));for(const o in t)if(!(n&&o==="expose")){const l=yo[o]||s&&s[o];e[o]=l?l(e[o],t[o]):t[o]}return e}const yo={data:Cn,props:Tn,emits:Tn,methods:St,computed:St,beforeCreate:re,created:re,beforeMount:re,mounted:re,beforeUpdate:re,updated:re,beforeDestroy:re,beforeUnmount:re,destroyed:re,unmounted:re,activated:re,deactivated:re,errorCaptured:re,serverPrefetch:re,components:St,directives:St,watch:xo,provide:Cn,inject:vo};function Cn(e,t){return t?e?function(){return Z(F(e)?e.call(this,this):e,F(t)?t.call(this,this):t)}:t:e}function vo(e,t){return St(Ls(e),Ls(t))}function Ls(e){if(I(e)){const t={};for(let s=0;s1)return s&&F(t)?t.call(n&&n.proxy):t}}const Li={},Hi=()=>Object.create(Li),ji=e=>Object.getPrototypeOf(e)===Li;function Eo(e,t,s,n=!1){const i={},r=Hi();e.propsDefaults=Object.create(null),Ni(e,t,i,r);for(const o in e.propsOptions[0])o in i||(i[o]=void 0);s?e.props=n?i:Br(i):e.type.props?e.props=i:e.props=r,e.attrs=r}function Co(e,t,s,n){const{props:i,attrs:r,vnode:{patchFlag:o}}=e,l=L(i),[f]=e.propsOptions;let p=!1;if((n||o>0)&&!(o&16)){if(o&8){const a=e.vnode.dynamicProps;for(let d=0;d{f=!0;const[y,C]=Bi(d,t,!0);Z(o,y),C&&l.push(...C)};!s&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}if(!r&&!f)return G(e)&&n.set(e,ft),ft;if(I(r))for(let a=0;ae[0]==="_"||e==="$stable",rn=e=>I(e)?e.map(Te):[Te(e)],Ao=(e,t,s)=>{if(t._n)return t;const n=eo((...i)=>rn(t(...i)),s);return n._c=!1,n},Vi=(e,t,s)=>{const n=e._ctx;for(const i in e){if(Ui(i))continue;const r=e[i];if(F(r))t[i]=Ao(i,r,n);else if(r!=null){const o=rn(r);t[i]=()=>o}}},Ki=(e,t)=>{const s=rn(t);e.slots.default=()=>s},Wi=(e,t,s)=>{for(const n in t)(s||n!=="_")&&(e[n]=t[n])},Po=(e,t,s)=>{const n=e.slots=Hi();if(e.vnode.shapeFlag&32){const i=t._;i?(Wi(n,t,s),s&&si(n,"_",i,!0)):Vi(t,n)}else t&&Ki(e,t)},Oo=(e,t,s)=>{const{vnode:n,slots:i}=e;let r=!0,o=U;if(n.shapeFlag&32){const l=t._;l?s&&l===1?r=!1:Wi(i,t,s):(r=!t.$stable,Vi(t,i)),o=t}else t&&(Ki(e,t),o={default:1});if(r)for(const l in i)!Ui(l)&&o[l]==null&&delete i[l]},de=Ko;function Io(e){return Fo(e)}function Fo(e,t){const s=ni();s.__VUE__=!0;const{insert:n,remove:i,patchProp:r,createElement:o,createText:l,createComment:f,setText:p,setElementText:a,parentNode:d,nextSibling:y,setScopeId:C=Ae,insertStaticContent:E}=e,R=(c,u,h,m=null,g=null,_=null,S=void 0,x=null,v=!!u.dynamicChildren)=>{if(c===u)return;c&&!xt(c,u)&&(m=Vt(c),Se(c,g,_,!0),c=null),u.patchFlag===-2&&(v=!1,u.dynamicChildren=null);const{type:b,ref:A,shapeFlag:w}=u;switch(b){case as:X(c,u,h,m);break;case nt:B(c,u,h,m);break;case Es:c==null&&q(u,h,m,S);break;case le:Nt(c,u,h,m,g,_,S,x,v);break;default:w&1?Y(c,u,h,m,g,_,S,x,v):w&6?Bt(c,u,h,m,g,_,S,x,v):(w&64||w&128)&&b.process(c,u,h,m,g,_,S,x,v,bt)}A!=null&&g&&$s(A,c&&c.ref,_,u||c,!u)},X=(c,u,h,m)=>{if(c==null)n(u.el=l(u.children),h,m);else{const g=u.el=c.el;u.children!==c.children&&p(g,u.children)}},B=(c,u,h,m)=>{c==null?n(u.el=f(u.children||""),h,m):u.el=c.el},q=(c,u,h,m)=>{[c.el,c.anchor]=E(c.children,u,h,m,c.el,c.anchor)},z=({el:c,anchor:u},h,m)=>{let g;for(;c&&c!==u;)g=y(c),n(c,h,m),c=g;n(u,h,m)},P=({el:c,anchor:u})=>{let h;for(;c&&c!==u;)h=y(c),i(c),c=h;i(u)},Y=(c,u,h,m,g,_,S,x,v)=>{u.type==="svg"?S="svg":u.type==="math"&&(S="mathml"),c==null?He(u,h,m,g,_,S,x,v):jt(c,u,g,_,S,x,v)},He=(c,u,h,m,g,_,S,x)=>{let v,b;const{props:A,shapeFlag:w,transition:T,dirs:O}=c;if(v=c.el=o(c.type,_,A&&A.is,A),w&8?a(v,c.children):w&16&&je(c.children,v,null,m,g,Ss(c,_),S,x),O&&Ze(c,null,m,"created"),xe(v,c,c.scopeId,S,m),A){for(const K in A)K!=="value"&&!Et(K)&&r(v,K,null,A[K],_,m);"value"in A&&r(v,"value",null,A.value,_),(b=A.onVnodeBeforeMount)&&Ee(b,m,c)}O&&Ze(c,null,m,"beforeMount");const $=Ro(g,T);$&&T.beforeEnter(v),n(v,u,h),((b=A&&A.onVnodeMounted)||$||O)&&de(()=>{b&&Ee(b,m,c),$&&T.enter(v),O&&Ze(c,null,m,"mounted")},g)},xe=(c,u,h,m,g)=>{if(h&&C(c,h),m)for(let _=0;_{for(let b=v;b{const x=u.el=c.el;let{patchFlag:v,dynamicChildren:b,dirs:A}=u;v|=c.patchFlag&16;const w=c.props||U,T=u.props||U;let O;if(h&&Qe(h,!1),(O=T.onVnodeBeforeUpdate)&&Ee(O,h,u,c),A&&Ze(u,c,h,"beforeUpdate"),h&&Qe(h,!0),(w.innerHTML&&T.innerHTML==null||w.textContent&&T.textContent==null)&&a(x,""),b?Je(c.dynamicChildren,b,x,h,m,Ss(u,g),_):S||V(c,u,x,null,h,m,Ss(u,g),_,!1),v>0){if(v&16)_t(x,w,T,h,g);else if(v&2&&w.class!==T.class&&r(x,"class",null,T.class,g),v&4&&r(x,"style",w.style,T.style,g),v&8){const $=u.dynamicProps;for(let K=0;K<$.length;K++){const H=$[K],fe=w[H],Q=T[H];(Q!==fe||H==="value")&&r(x,H,fe,Q,g,h)}}v&1&&c.children!==u.children&&a(x,u.children)}else!S&&b==null&&_t(x,w,T,h,g);((O=T.onVnodeUpdated)||A)&&de(()=>{O&&Ee(O,h,u,c),A&&Ze(u,c,h,"updated")},m)},Je=(c,u,h,m,g,_,S)=>{for(let x=0;x{if(u!==h){if(u!==U)for(const _ in u)!Et(_)&&!(_ in h)&&r(c,_,u[_],null,g,m);for(const _ in h){if(Et(_))continue;const S=h[_],x=u[_];S!==x&&_!=="value"&&r(c,_,x,S,g,m)}"value"in h&&r(c,"value",u.value,h.value,g)}},Nt=(c,u,h,m,g,_,S,x,v)=>{const b=u.el=c?c.el:l(""),A=u.anchor=c?c.anchor:l("");let{patchFlag:w,dynamicChildren:T,slotScopeIds:O}=u;O&&(x=x?x.concat(O):O),c==null?(n(b,h,m),n(A,h,m),je(u.children||[],h,A,g,_,S,x,v)):w>0&&w&64&&T&&c.dynamicChildren?(Je(c.dynamicChildren,T,h,g,_,S,x),(u.key!=null||g&&u===g.subTree)&&ki(c,u,!0)):V(c,u,h,A,g,_,S,x,v)},Bt=(c,u,h,m,g,_,S,x,v)=>{u.slotScopeIds=x,c==null?u.shapeFlag&512?g.ctx.activate(u,h,m,S,v):hs(u,h,m,g,_,S,v):cn(c,u,v)},hs=(c,u,h,m,g,_,S)=>{const x=c.component=Xo(c,m,g);if(Ii(c)&&(x.ctx.renderer=bt),Zo(x,!1,S),x.asyncDep){if(g&&g.registerDep(x,ie,S),!c.el){const v=x.subTree=te(nt);B(null,v,u,h)}}else ie(x,c,u,h,g,_,S)},cn=(c,u,h)=>{const m=u.component=c.component;if(Uo(c,u,h))if(m.asyncDep&&!m.asyncResolved){k(m,u,h);return}else m.next=u,m.update();else u.el=c.el,m.vnode=u},ie=(c,u,h,m,g,_,S)=>{const x=()=>{if(c.isMounted){let{next:w,bu:T,u:O,parent:$,vnode:K}=c;{const ue=Gi(c);if(ue){w&&(w.el=K.el,k(c,w,S)),ue.asyncDep.then(()=>{c.isUnmounted||x()});return}}let H=w,fe;Qe(c,!1),w?(w.el=K.el,k(c,w,S)):w=K,T&&Jt(T),(fe=w.props&&w.props.onVnodeBeforeUpdate)&&Ee(fe,$,w,K),Qe(c,!0);const Q=ws(c),ye=c.subTree;c.subTree=Q,R(ye,Q,d(ye.el),Vt(ye),c,g,_),w.el=Q.el,H===null&&Vo(c,Q.el),O&&de(O,g),(fe=w.props&&w.props.onVnodeUpdated)&&de(()=>Ee(fe,$,w,K),g)}else{let w;const{el:T,props:O}=u,{bm:$,m:K,parent:H,root:fe,type:Q}=c,ye=Ct(u);if(Qe(c,!1),$&&Jt($),!ye&&(w=O&&O.onVnodeBeforeMount)&&Ee(w,H,u),Qe(c,!0),T&&dn){const ue=()=>{c.subTree=ws(c),dn(T,c.subTree,c,g,null)};ye&&Q.__asyncHydrate?Q.__asyncHydrate(T,c,ue):ue()}else{fe.ce&&fe.ce._injectChildStyle(Q);const ue=c.subTree=ws(c);R(null,ue,h,m,c,g,_),u.el=ue.el}if(K&&de(K,g),!ye&&(w=O&&O.onVnodeMounted)){const ue=u;de(()=>Ee(w,H,ue),g)}(u.shapeFlag&256||H&&Ct(H.vnode)&&H.vnode.shapeFlag&256)&&c.a&&de(c.a,g),c.isMounted=!0,u=h=m=null}};c.scope.on();const v=c.effect=new li(x);c.scope.off();const b=c.update=v.run.bind(v),A=c.job=v.runIfDirty.bind(v);A.i=c,A.id=c.uid,v.scheduler=()=>tn(A),Qe(c,!0),b()},k=(c,u,h)=>{u.component=c;const m=c.vnode.props;c.vnode=u,c.next=null,Co(c,u.props,m,h),Oo(c,u.children,h),qe(),Sn(c),ze()},V=(c,u,h,m,g,_,S,x,v=!1)=>{const b=c&&c.children,A=c?c.shapeFlag:0,w=u.children,{patchFlag:T,shapeFlag:O}=u;if(T>0){if(T&128){Ut(b,w,h,m,g,_,S,x,v);return}else if(T&256){Ye(b,w,h,m,g,_,S,x,v);return}}O&8?(A&16&&mt(b,g,_),w!==b&&a(h,w)):A&16?O&16?Ut(b,w,h,m,g,_,S,x,v):mt(b,g,_,!0):(A&8&&a(h,""),O&16&&je(w,h,m,g,_,S,x,v))},Ye=(c,u,h,m,g,_,S,x,v)=>{c=c||ft,u=u||ft;const b=c.length,A=u.length,w=Math.min(b,A);let T;for(T=0;TA?mt(c,g,_,!0,!1,w):je(u,h,m,g,_,S,x,v,w)},Ut=(c,u,h,m,g,_,S,x,v)=>{let b=0;const A=u.length;let w=c.length-1,T=A-1;for(;b<=w&&b<=T;){const O=c[b],$=u[b]=v?Ue(u[b]):Te(u[b]);if(xt(O,$))R(O,$,h,null,g,_,S,x,v);else break;b++}for(;b<=w&&b<=T;){const O=c[w],$=u[T]=v?Ue(u[T]):Te(u[T]);if(xt(O,$))R(O,$,h,null,g,_,S,x,v);else break;w--,T--}if(b>w){if(b<=T){const O=T+1,$=OT)for(;b<=w;)Se(c[b],g,_,!0),b++;else{const O=b,$=b,K=new Map;for(b=$;b<=T;b++){const ae=u[b]=v?Ue(u[b]):Te(u[b]);ae.key!=null&&K.set(ae.key,b)}let H,fe=0;const Q=T-$+1;let ye=!1,ue=0;const yt=new Array(Q);for(b=0;b=Q){Se(ae,g,_,!0);continue}let we;if(ae.key!=null)we=K.get(ae.key);else for(H=$;H<=T;H++)if(yt[H-$]===0&&xt(ae,u[H])){we=H;break}we===void 0?Se(ae,g,_,!0):(yt[we-$]=b+1,we>=ue?ue=we:ye=!0,R(ae,u[we],h,null,g,_,S,x,v),fe++)}const pn=ye?$o(yt):ft;for(H=pn.length-1,b=Q-1;b>=0;b--){const ae=$+b,we=u[ae],hn=ae+1{const{el:_,type:S,transition:x,children:v,shapeFlag:b}=c;if(b&6){Xe(c.component.subTree,u,h,m);return}if(b&128){c.suspense.move(u,h,m);return}if(b&64){S.move(c,u,h,bt);return}if(S===le){n(_,u,h);for(let w=0;wx.enter(_),g);else{const{leave:w,delayLeave:T,afterLeave:O}=x,$=()=>n(_,u,h),K=()=>{w(_,()=>{$(),O&&O()})};T?T(_,$,K):K()}else n(_,u,h)},Se=(c,u,h,m=!1,g=!1)=>{const{type:_,props:S,ref:x,children:v,dynamicChildren:b,shapeFlag:A,patchFlag:w,dirs:T,cacheIndex:O}=c;if(w===-2&&(g=!1),x!=null&&$s(x,null,h,c,!0),O!=null&&(u.renderCache[O]=void 0),A&256){u.ctx.deactivate(c);return}const $=A&1&&T,K=!Ct(c);let H;if(K&&(H=S&&S.onVnodeBeforeUnmount)&&Ee(H,u,c),A&6)rr(c.component,h,m);else{if(A&128){c.suspense.unmount(h,m);return}$&&Ze(c,null,u,"beforeUnmount"),A&64?c.type.remove(c,u,h,bt,m):b&&!b.hasOnce&&(_!==le||w>0&&w&64)?mt(b,u,h,!1,!0):(_===le&&w&384||!g&&A&16)&&mt(v,u,h),m&&fn(c)}(K&&(H=S&&S.onVnodeUnmounted)||$)&&de(()=>{H&&Ee(H,u,c),$&&Ze(c,null,u,"unmounted")},h)},fn=c=>{const{type:u,el:h,anchor:m,transition:g}=c;if(u===le){ir(h,m);return}if(u===Es){P(c);return}const _=()=>{i(h),g&&!g.persisted&&g.afterLeave&&g.afterLeave()};if(c.shapeFlag&1&&g&&!g.persisted){const{leave:S,delayLeave:x}=g,v=()=>S(h,_);x?x(c.el,_,v):v()}else _()},ir=(c,u)=>{let h;for(;c!==u;)h=y(c),i(c),c=h;i(u)},rr=(c,u,h)=>{const{bum:m,scope:g,job:_,subTree:S,um:x,m:v,a:b}=c;Pn(v),Pn(b),m&&Jt(m),g.stop(),_&&(_.flags|=8,Se(S,c,u,h)),x&&de(x,u),de(()=>{c.isUnmounted=!0},u),u&&u.pendingBranch&&!u.isUnmounted&&c.asyncDep&&!c.asyncResolved&&c.suspenseId===u.pendingId&&(u.deps--,u.deps===0&&u.resolve())},mt=(c,u,h,m=!1,g=!1,_=0)=>{for(let S=_;S{if(c.shapeFlag&6)return Vt(c.component.subTree);if(c.shapeFlag&128)return c.suspense.next();const u=y(c.anchor||c.el),h=u&&u[to];return h?y(h):u};let gs=!1;const un=(c,u,h)=>{c==null?u._vnode&&Se(u._vnode,null,null,!0):R(u._vnode||null,c,u,null,null,null,h),u._vnode=c,gs||(gs=!0,Sn(),Ci(),gs=!1)},bt={p:R,um:Se,m:Xe,r:fn,mt:hs,mc:je,pc:V,pbc:Je,n:Vt,o:e};let an,dn;return{render:un,hydrate:an,createApp:wo(un,an)}}function Ss({type:e,props:t},s){return s==="svg"&&e==="foreignObject"||s==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:s}function Qe({effect:e,job:t},s){s?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Ro(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function ki(e,t,s=!1){const n=e.children,i=t.children;if(I(n)&&I(i))for(let r=0;r>1,e[s[l]]0&&(t[n]=s[r-1]),s[r]=n)}}for(r=s.length,o=s[r-1];r-- >0;)s[r]=o,o=t[o];return s}function Gi(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Gi(t)}function Pn(e){if(e)for(let t=0;t_e(Mo);function Ve(e,t,s){return qi(e,t,s)}function qi(e,t,s=U){const{immediate:n,deep:i,flush:r,once:o}=s,l=Z({},s);let f;if(ds)if(r==="sync"){const y=Do();f=y.__watcherHandles||(y.__watcherHandles=[])}else if(!t||n)l.once=!0;else{const y=()=>{};return y.stop=Ae,y.resume=Ae,y.pause=Ae,y}const p=ce;l.call=(y,C,E)=>Pe(y,p,C,E);let a=!1;r==="post"?l.scheduler=y=>{de(y,p&&p.suspense)}:r!=="sync"&&(a=!0,l.scheduler=(y,C)=>{C?y():tn(y)}),l.augmentJob=y=>{t&&(y.flags|=4),a&&(y.flags|=2,p&&(y.id=p.uid,y.i=p))};const d=Jr(e,t,l);return f&&f.push(d),d}function Lo(e,t,s){const n=this.proxy,i=J(e)?e.includes(".")?zi(n,e):()=>n[e]:e.bind(n,n);let r;F(t)?r=t:(r=t.handler,s=t);const o=Ht(this),l=qi(i,r.bind(n),s);return o(),l}function zi(e,t){const s=t.split(".");return()=>{let n=e;for(let i=0;it==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Ke(t)}Modifiers`]||e[`${it(t)}Modifiers`];function jo(e,t,...s){if(e.isUnmounted)return;const n=e.vnode.props||U;let i=s;const r=t.startsWith("update:"),o=r&&Ho(n,t.slice(7));o&&(o.trim&&(i=s.map(a=>J(a)?a.trim():a)),o.number&&(i=s.map(Ps)));let l,f=n[l=_s(t)]||n[l=_s(Ke(t))];!f&&r&&(f=n[l=_s(it(t))]),f&&Pe(f,e,6,i);const p=n[l+"Once"];if(p){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,Pe(p,e,6,i)}}function Ji(e,t,s=!1){const n=t.emitsCache,i=n.get(e);if(i!==void 0)return i;const r=e.emits;let o={},l=!1;if(!F(e)){const f=p=>{const a=Ji(p,t,!0);a&&(l=!0,Z(o,a))};!s&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}return!r&&!l?(G(e)&&n.set(e,null),null):(I(r)?r.forEach(f=>o[f]=null):Z(o,r),G(e)&&n.set(e,o),o)}function us(e,t){return!e||!ns(t)?!1:(t=t.slice(2).replace(/Once$/,""),D(e,t[0].toLowerCase()+t.slice(1))||D(e,it(t))||D(e,t))}function ws(e){const{type:t,vnode:s,proxy:n,withProxy:i,propsOptions:[r],slots:o,attrs:l,emit:f,render:p,renderCache:a,props:d,data:y,setupState:C,ctx:E,inheritAttrs:R}=e,X=Qt(e);let B,q;try{if(s.shapeFlag&4){const P=i||n,Y=P;B=Te(p.call(Y,P,a,d,C,y,E)),q=l}else{const P=t;B=Te(P.length>1?P(d,{attrs:l,slots:o,emit:f}):P(d,null)),q=t.props?l:No(l)}}catch(P){At.length=0,cs(P,e,1),B=te(nt)}let z=B;if(q&&R!==!1){const P=Object.keys(q),{shapeFlag:Y}=z;P.length&&Y&7&&(r&&P.some(Us)&&(q=Bo(q,r)),z=gt(z,q,!1,!0))}return s.dirs&&(z=gt(z,null,!1,!0),z.dirs=z.dirs?z.dirs.concat(s.dirs):s.dirs),s.transition&&sn(z,s.transition),B=z,Qt(X),B}const No=e=>{let t;for(const s in e)(s==="class"||s==="style"||ns(s))&&((t||(t={}))[s]=e[s]);return t},Bo=(e,t)=>{const s={};for(const n in e)(!Us(n)||!(n.slice(9)in t))&&(s[n]=e[n]);return s};function Uo(e,t,s){const{props:n,children:i,component:r}=e,{props:o,children:l,patchFlag:f}=t,p=r.emitsOptions;if(t.dirs||t.transition)return!0;if(s&&f>=0){if(f&1024)return!0;if(f&16)return n?On(n,o,p):!!o;if(f&8){const a=t.dynamicProps;for(let d=0;de.__isSuspense;function Ko(e,t){t&&t.pendingBranch?I(e)?t.effects.push(...e):t.effects.push(e):Qr(e)}const le=Symbol.for("v-fgt"),as=Symbol.for("v-txt"),nt=Symbol.for("v-cmt"),Es=Symbol.for("v-stc"),At=[];let ge=null;function M(e=!1){At.push(ge=e?null:[])}function Wo(){At.pop(),ge=At[At.length-1]||null}let $t=1;function In(e){$t+=e,e<0&&ge&&(ge.hasOnce=!0)}function Xi(e){return e.dynamicChildren=$t>0?ge||ft:null,Wo(),$t>0&&ge&&ge.push(e),e}function N(e,t,s,n,i,r){return Xi(j(e,t,s,n,i,r,!0))}function ts(e,t,s,n,i){return Xi(te(e,t,s,n,i,!0))}function Zi(e){return e?e.__v_isVNode===!0:!1}function xt(e,t){return e.type===t.type&&e.key===t.key}const Qi=({key:e})=>e??null,Yt=({ref:e,ref_key:t,ref_for:s})=>(typeof e=="number"&&(e=""+e),e!=null?J(e)||se(e)||F(e)?{i:me,r:e,k:t,f:!!s}:e:null);function j(e,t=null,s=null,n=0,i=null,r=e===le?0:1,o=!1,l=!1){const f={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Qi(t),ref:t&&Yt(t),scopeId:Ai,slotScopeIds:null,children:s,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:r,patchFlag:n,dynamicProps:i,dynamicChildren:null,appContext:null,ctx:me};return l?(on(f,s),r&128&&e.normalize(f)):s&&(f.shapeFlag|=J(s)?8:16),$t>0&&!o&&ge&&(f.patchFlag>0||r&6)&&f.patchFlag!==32&&ge.push(f),f}const te=ko;function ko(e,t=null,s=null,n=0,i=null,r=!1){if((!e||e===go)&&(e=nt),Zi(e)){const l=gt(e,t,!0);return s&&on(l,s),$t>0&&!r&&ge&&(l.shapeFlag&6?ge[ge.indexOf(e)]=l:ge.push(l)),l.patchFlag=-2,l}if(sl(e)&&(e=e.__vccOpts),t){t=Go(t);let{class:l,style:f}=t;l&&!J(l)&&(t.class=Ge(l)),G(f)&&(Zs(f)&&!I(f)&&(f=Z({},f)),t.style=Ws(f))}const o=J(e)?1:Yi(e)?128:so(e)?64:G(e)?4:F(e)?2:0;return j(e,t,s,n,i,o,r,!0)}function Go(e){return e?Zs(e)||ji(e)?Z({},e):e:null}function gt(e,t,s=!1,n=!1){const{props:i,ref:r,patchFlag:o,children:l,transition:f}=e,p=t?zo(i||{},t):i,a={__v_isVNode:!0,__v_skip:!0,type:e.type,props:p,key:p&&Qi(p),ref:t&&t.ref?s&&r?I(r)?r.concat(Yt(t)):[r,Yt(t)]:Yt(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==le?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:f,component:e.component,suspense:e.suspense,ssContent:e.ssContent&>(e.ssContent),ssFallback:e.ssFallback&>(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return f&&n&&sn(a,f.clone(a)),a}function qo(e=" ",t=0){return te(as,null,e,t)}function Lt(e="",t=!1){return t?(M(),ts(nt,null,e)):te(nt,null,e)}function Te(e){return e==null||typeof e=="boolean"?te(nt):I(e)?te(le,null,e.slice()):Zi(e)?Ue(e):te(as,null,String(e))}function Ue(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:gt(e)}function on(e,t){let s=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(I(t))s=16;else if(typeof t=="object")if(n&65){const i=t.default;i&&(i._c&&(i._d=!1),on(e,i()),i._c&&(i._d=!0));return}else{s=32;const i=t._;!i&&!ji(t)?t._ctx=me:i===3&&me&&(me.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else F(t)?(t={default:t,_ctx:me},s=32):(t=String(t),n&64?(s=16,t=[qo(t)]):s=8);e.children=t,e.shapeFlag|=s}function zo(...e){const t={};for(let s=0;s{let i;return(i=e[s])||(i=e[s]=[]),i.push(n),r=>{i.length>1?i.forEach(o=>o(r)):i[0](r)}};ss=t("__VUE_INSTANCE_SETTERS__",s=>ce=s),js=t("__VUE_SSR_SETTERS__",s=>ds=s)}const Ht=e=>{const t=ce;return ss(e),e.scope.on(),()=>{e.scope.off(),ss(t)}},Fn=()=>{ce&&ce.scope.off(),ss(null)};function er(e){return e.vnode.shapeFlag&4}let ds=!1;function Zo(e,t=!1,s=!1){t&&js(t);const{props:n,children:i}=e.vnode,r=er(e);Eo(e,n,r,t),Po(e,i,s);const o=r?Qo(e,t):void 0;return t&&js(!1),o}function Qo(e,t){const s=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,_o);const{setup:n}=s;if(n){const i=e.setupContext=n.length>1?tl(e):null,r=Ht(e);qe();const o=Mt(n,e,0,[e.props,i]);if(ze(),r(),Zn(o)){if(Ct(e)||Oi(e),o.then(Fn,Fn),t)return o.then(l=>{Rn(e,l,t)}).catch(l=>{cs(l,e,0)});e.asyncDep=o}else Rn(e,o,t)}else tr(e,t)}function Rn(e,t,s){F(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:G(t)&&(e.setupState=Si(t)),tr(e,s)}let $n;function tr(e,t,s){const n=e.type;if(!e.render){if(!t&&$n&&!n.render){const i=n.template||nn(e).template;if(i){const{isCustomElement:r,compilerOptions:o}=e.appContext.config,{delimiters:l,compilerOptions:f}=n,p=Z(Z({isCustomElement:r,delimiters:l},o),f);n.render=$n(i,p)}}e.render=n.render||Ae}{const i=Ht(e);qe();try{mo(e)}finally{ze(),i()}}}const el={get(e,t){return ne(e,"get",""),e[t]}};function tl(e){const t=s=>{e.exposed=s||{}};return{attrs:new Proxy(e.attrs,el),slots:e.slots,emit:e.emit,expose:t}}function ps(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Si(Ur(e.exposed)),{get(t,s){if(s in t)return t[s];if(s in Tt)return Tt[s](e)},has(t,s){return s in t||s in Tt}})):e.proxy}function sl(e){return F(e)&&"__vccOpts"in e}const ln=(e,t)=>qr(e,t,ds),nl="3.5.10";/** +* @vue/runtime-dom v3.5.10 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let Ns;const Mn=typeof window<"u"&&window.trustedTypes;if(Mn)try{Ns=Mn.createPolicy("vue",{createHTML:e=>e})}catch{}const sr=Ns?e=>Ns.createHTML(e):e=>e,il="http://www.w3.org/2000/svg",rl="http://www.w3.org/1998/Math/MathML",Re=typeof document<"u"?document:null,Dn=Re&&Re.createElement("template"),ol={insert:(e,t,s)=>{t.insertBefore(e,s||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,s,n)=>{const i=t==="svg"?Re.createElementNS(il,e):t==="mathml"?Re.createElementNS(rl,e):s?Re.createElement(e,{is:s}):Re.createElement(e);return e==="select"&&n&&n.multiple!=null&&i.setAttribute("multiple",n.multiple),i},createText:e=>Re.createTextNode(e),createComment:e=>Re.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Re.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,s,n,i,r){const o=s?s.previousSibling:t.lastChild;if(i&&(i===r||i.nextSibling))for(;t.insertBefore(i.cloneNode(!0),s),!(i===r||!(i=i.nextSibling)););else{Dn.innerHTML=sr(n==="svg"?`${e}`:n==="mathml"?`${e}`:e);const l=Dn.content;if(n==="svg"||n==="mathml"){const f=l.firstChild;for(;f.firstChild;)l.appendChild(f.firstChild);l.removeChild(f)}t.insertBefore(l,s)}return[o?o.nextSibling:t.firstChild,s?s.previousSibling:t.lastChild]}},ll=Symbol("_vtc");function cl(e,t,s){const n=e[ll];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):s?e.setAttribute("class",t):e.className=t}const Ln=Symbol("_vod"),fl=Symbol("_vsh"),ul=Symbol(""),al=/(^|;)\s*display\s*:/;function dl(e,t,s){const n=e.style,i=J(s);let r=!1;if(s&&!i){if(t)if(J(t))for(const o of t.split(";")){const l=o.slice(0,o.indexOf(":")).trim();s[l]==null&&Xt(n,l,"")}else for(const o in t)s[o]==null&&Xt(n,o,"");for(const o in s)o==="display"&&(r=!0),Xt(n,o,s[o])}else if(i){if(t!==s){const o=n[ul];o&&(s+=";"+o),n.cssText=s,r=al.test(s)}}else t&&e.removeAttribute("style");Ln in e&&(e[Ln]=r?n.display:"",e[fl]&&(n.display="none"))}const Hn=/\s*!important$/;function Xt(e,t,s){if(I(s))s.forEach(n=>Xt(e,t,n));else if(s==null&&(s=""),t.startsWith("--"))e.setProperty(t,s);else{const n=pl(e,t);Hn.test(s)?e.setProperty(it(n),s.replace(Hn,""),"important"):e[n]=s}}const jn=["Webkit","Moz","ms"],Cs={};function pl(e,t){const s=Cs[t];if(s)return s;let n=Ke(t);if(n!=="filter"&&n in e)return Cs[t]=n;n=ti(n);for(let i=0;iTs||(ml.then(()=>Ts=0),Ts=Date.now());function yl(e,t){const s=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=s.attached)return;Pe(vl(n,s.value),t,5,[n])};return s.value=e,s.attached=bl(),s}function vl(e,t){if(I(t)){const s=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{s.call(e),e._stopped=!0},t.map(n=>i=>!i._stopped&&n&&n(i))}else return t}const Wn=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,xl=(e,t,s,n,i,r)=>{const o=i==="svg";t==="class"?cl(e,n,o):t==="style"?dl(e,s,n):ns(t)?Us(t)||gl(e,t,s,n,r):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Sl(e,t,n,o))?(Un(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Bn(e,t,n,o,r,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!J(n))?Un(e,Ke(t),n):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),Bn(e,t,n,o))};function Sl(e,t,s,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&Wn(t)&&F(s));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const i=e.tagName;if(i==="IMG"||i==="VIDEO"||i==="CANVAS"||i==="SOURCE")return!1}return Wn(t)&&J(s)?!1:t in e}const kn=e=>{const t=e.props["onUpdate:modelValue"]||!1;return I(t)?s=>Jt(t,s):t};function wl(e){e.target.composing=!0}function Gn(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const As=Symbol("_assign"),nr={created(e,{modifiers:{lazy:t,trim:s,number:n}},i){e[As]=kn(i);const r=n||i.props&&i.props.type==="number";lt(e,t?"change":"input",o=>{if(o.target.composing)return;let l=e.value;s&&(l=l.trim()),r&&(l=Ps(l)),e[As](l)}),s&<(e,"change",()=>{e.value=e.value.trim()}),t||(lt(e,"compositionstart",wl),lt(e,"compositionend",Gn),lt(e,"change",Gn))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:s,modifiers:{lazy:n,trim:i,number:r}},o){if(e[As]=kn(o),e.composing)return;const l=(r||e.type==="number")&&!/^0\d/.test(e.value)?Ps(e.value):e.value,f=t??"";l!==f&&(document.activeElement===e&&e.type!=="range"&&(n&&t===s||i&&e.value.trim()===f)||(e.value=f))}},El=["ctrl","shift","alt","meta"],Cl={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>El.some(s=>e[`${s}Key`]&&!t.includes(s))},ht=(e,t)=>{const s=e._withMods||(e._withMods={}),n=t.join(".");return s[n]||(s[n]=(i,...r)=>{for(let o=0;o{const t=Al().createApp(...e),{mount:s}=t;return t.mount=n=>{const i=Il(n);if(!i)return;const r=t._component;!F(r)&&!r.render&&!r.template&&(r.template=i.innerHTML),i.nodeType===1&&(i.textContent="");const o=s(i,!1,Ol(i));return i instanceof Element&&(i.removeAttribute("v-cloak"),i.setAttribute("data-v-app","")),o},t};function Ol(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Il(e){return J(e)?document.querySelector(e):e}const Ie=(e,t)=>{const s=e.__vccOpts||e;for(const[n,i]of t)s[n]=i;return s},Fl={class:"logo-container"},Rl={__name:"SideBarLogo",setup(e){return(t,s)=>(M(),N("div",Fl,s[0]||(s[0]=[j("h1",{class:"logo-text"},"GPT-Sovits",-1)])))}},$l=Ie(Rl,[["__scopeId","data-v-81125f96"]]),Ml={class:"field-content"},Dl={class:"field-name"},Ll={class:"field-value"},Hl={key:0,class:"expanded-list"},jl=["onClick"],Nl=Oe({__name:"SideBarField",props:{field:{type:String,required:!0},list:{type:Array,required:!0},isExpanded:{type:Boolean,required:!0},configField:{type:String,required:!0}},emits:["toggle-expand","update:modelValue"],setup(e,{emit:t}){const s=_e("synthesisConfig"),n=e,i=t,r=he(n.list[0]);Ve(r,f=>{s[n.configField]=f}),Ri(()=>{s[n.configField]=r.value});const o=()=>{i("toggle-expand",!n.isExpanded)},l=f=>{r.value=f,i("toggle-expand",!1)};return(f,p)=>(M(),N("div",{class:Ge(["sidebar-field",{expanded:e.isExpanded}]),onClick:o},[j("div",Ml,[j("p",Dl,Me(n.field),1),j("p",Ll,Me(r.value||"Unspecified"),1)]),e.isExpanded?(M(),N("div",Hl,[(M(!0),N(le,null,Dt(n.list,(a,d)=>(M(),N("div",{key:d,class:"list-item",onClick:ht(y=>l(a),["stop"])},Me(a),9,jl))),128))])):Lt("",!0)],2))}}),Bl=Ie(Nl,[["__scopeId","data-v-e19ef81b"]]),Ul=["disabled"],Vl={key:0},Kl={key:1},Wl="/tts",kl=Oe({__name:"SideBarButton",setup(e){const t=_e("synthesisConfig"),s=_e("API_BASE_URL"),n=_e("addAudioFile"),i=he(!1),r=()=>{const o=Object.entries(t).filter(([l,f])=>f===""||f===null||f===void 0).map(([l])=>l);if(o.length>0){alert(`以下字段不能为空:${o.join(", ")}`);return}i.value=!0,fetch(`${s}${Wl}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}).then(l=>{if(!l.ok)throw new Error(`HTTP 错误!状态码: ${l.status}`);return l.blob()}).then(l=>{const f=window.URL.createObjectURL(l);new Audio(f).play().catch(d=>console.error("音频播放失败:",d));const a=`合成音频_${new Date().toISOString()}.wav`;n(a,f)}).catch(l=>{console.error("错误:",l),alert(`合成失败: ${l.message}`)}).finally(()=>{i.value=!1})};return(o,l)=>(M(),N("button",{class:"sidebar-button",onClick:r,disabled:i.value},[i.value?(M(),N("span",Kl,"处理中...")):(M(),N("span",Vl,"合成"))],8,Ul))}}),Gl=Ie(kl,[["__scopeId","data-v-75f763e8"]]),ql={class:"field-content"},zl={class:"field-value"},Jl={key:0,class:"expanded-list"},Yl=["onClick"],zn="/set_gpt_weights?weights_path=",Xl=Oe({__name:"SideBarGPT",props:{list:{type:Array,required:!0},isExpanded:{type:Boolean,required:!0}},emits:["toggle-expand","update:modelValue"],setup(e,{emit:t}){const s=_e("API_BASE_URL"),n=e,i=he(n.list[0]),r=ln(()=>o(i.value)),o=a=>{let d=a;return d=d.replace(/\.ckpt$/,""),d=d.replace(/^GPT_weights\//,"v1/"),d=d.replace(/^GPT_weights_v2\//,"v2/"),d},l=t,f=()=>{l("toggle-expand",!n.isExpanded)},p=a=>{i.value=a,l("toggle-expand",!1),fetch(`${s}${zn}${a}`).then(d=>{console.log(a),console.log("Requesting to change GPT model"),console.log(`${s}${zn}${a}`),d.ok?console.log("Success"):console.log("Failed")}).catch(d=>{console.log(d)})};return(a,d)=>(M(),N("div",{class:Ge(["sidebar-field",{expanded:e.isExpanded}]),onClick:f},[j("div",ql,[d[0]||(d[0]=j("p",{class:"field-name"},"GPT模型",-1)),j("p",zl,Me(r.value||"Unspecified"),1)]),e.isExpanded?(M(),N("div",Jl,[(M(!0),N(le,null,Dt(n.list,(y,C)=>(M(),N("div",{key:C,class:"list-item",onClick:ht(E=>p(y),["stop"])},Me(o(y)),9,Yl))),128))])):Lt("",!0)],2))}}),Zl=Ie(Xl,[["__scopeId","data-v-401162d5"]]),Ql={class:"field-content"},ec={class:"field-value"},tc={key:0,class:"expanded-list"},sc=["onClick"],Jn="/set_sovits_weights?weights_path=",nc=Oe({__name:"SideBarVits",props:{list:{type:Array,required:!0},isExpanded:{type:Boolean,required:!0}},emits:["toggle-expand","update:modelValue"],setup(e,{emit:t}){const s=_e("API_BASE_URL"),n=e,i=he(n.list[0]),r=t,o=()=>{r("toggle-expand",!n.isExpanded)},l=a=>{i.value=a,r("toggle-expand",!1),fetch(`${s}${Jn}${a}`).then(d=>{console.log("Requesting to change SoVITS model"),console.log(`${s}${Jn}${a}`),d.ok?console.log("Success"):console.log("Failed")}).catch(d=>{console.log(d)})},f=ln(()=>p(i.value)),p=a=>{let d=a;return d=d.replace(/\.pth$/,""),d=d.replace(/^SoVITS_weights\//,"v1/"),d=d.replace(/^SoVITS_weights_v2\//,"v2/"),d};return(a,d)=>(M(),N("div",{class:Ge(["sidebar-field",{expanded:e.isExpanded}]),onClick:o},[j("div",Ql,[d[0]||(d[0]=j("p",{class:"field-name"},"SoVits模型",-1)),j("p",ec,Me(f.value||"Unspecified"),1)]),e.isExpanded?(M(),N("div",tc,[(M(!0),N(le,null,Dt(n.list,(y,C)=>(M(),N("div",{key:C,class:"list-item",onClick:ht(E=>l(y),["stop"])},Me(p(y)),9,sc))),128))])):Lt("",!0)],2))}}),ic=Ie(nc,[["__scopeId","data-v-b5cb8aae"]]),rc={key:0},oc={class:"audio-content"},lc=Oe({__name:"SideBarRef",setup(e){const t=_e("API_BASE_URL"),s=_e("synthesisConfig"),n=he(!1),i=he(""),r=he(null),o=he("");Ve([o,i],([C,E])=>{s.prompt_text=C,s.ref_audio_path=E});const l=()=>{n.value=!n.value},f=C=>{const E=C.target;E.files&&E.files.length>0&&a(E.files[0])},p=C=>{var R;const E=(R=C.dataTransfer)==null?void 0:R.files;E&&E.length>0&&a(E[0])},a=async C=>{if(C.type==="audio/wav")try{const E=new FormData;E.append("file",C);const R=await fetch(`${t}/upload_file`,{method:"POST",body:E});if(R.ok){const X=await R.json();i.value=X.file_path,console.log("File uploaded successfully:",i.value)}else throw new Error("File upload failed")}catch(E){console.error("Error uploading file:",E),alert("文件上传失败,请重试")}else alert("请上传WAV格式的文件")},d=()=>{var C;(C=r.value)==null||C.click()},y=()=>{n.value=!1};return(C,E)=>(M(),N(le,null,[j("div",{class:"audio-reference-button",onClick:l}," 参考音频配置 "),j("div",{class:Ge(["sidebar",{open:n.value}])},[E[5]||(E[5]=j("h3",null,"参考音频文件",-1)),j("div",{class:"drop-zone",onDragover:E[0]||(E[0]=ht(()=>{},["prevent"])),onDragenter:E[1]||(E[1]=ht(()=>{},["prevent"])),onDrop:ht(p,["prevent"]),onClick:d},[E[3]||(E[3]=j("p",null,"拖放WAV文件到这里或点击上传",-1)),j("input",{type:"file",ref_key:"fileInput",ref:r,onChange:f,accept:".wav",style:{display:"none"}},null,544)],32),i.value?(M(),N("p",rc,"已上传文件: "+Me(i.value),1)):Lt("",!0),j("div",oc,[E[4]||(E[4]=j("h4",null,"参考音频内容",-1)),Pi(j("textarea",{"onUpdate:modelValue":E[2]||(E[2]=R=>o.value=R),rows:"4"},null,512),[[nr,o.value]])]),j("button",{class:"confirm-button",onClick:y},"确认")],2)],64))}}),cc=Ie(lc,[["__scopeId","data-v-f3ff2472"]]),fc=Oe({__name:"Sidebar",props:{gpt_weights_files:{},sovits_weights_files:{},target_audio_lang_list:{},splitModes:{},topK:{},topP:{},temperature:{}},setup(e){const t=e,s=he(null),n=he(null),i=[{name:"合成音频语种",list:t.target_audio_lang_list,configField:"text_lang"},{name:"参考音频语种",list:t.target_audio_lang_list,configField:"prompt_lang"},{name:"切分模式",list:t.splitModes,configField:"text_split_method"},{name:"TOP-K",list:t.topK,configField:"top_k"},{name:"TOP-P",list:t.topP,configField:"top_p"},{name:"TEMPERATURE",list:t.temperature,configField:"temperature"}],r=(l,f)=>{s.value=f?l:null},o=()=>{s.value=null};return(l,f)=>(M(),N("div",{class:"sidebar",ref_key:"sidebarRef",ref:n,onMouseleave:o},[te($l),(M(),ts(Zl,{key:"GPT模型",list:t.gpt_weights_files,"is-expanded":s.value==="GPT模型",onToggleExpand:f[0]||(f[0]=p=>r("GPT模型",p))},null,8,["list","is-expanded"])),(M(),ts(ic,{key:"SoVits模型",list:t.sovits_weights_files,"is-expanded":s.value==="SoVits模型",onToggleExpand:f[1]||(f[1]=p=>r("SoVits模型",p))},null,8,["list","is-expanded"])),(M(),N(le,null,Dt(i,p=>te(Bl,{key:p.name,field:p.name,list:p.list,"config-field":p.configField,"is-expanded":s.value===p.name,onToggleExpand:a=>r(p.name,a)},null,8,["field","list","config-field","is-expanded","onToggleExpand"])),64)),te(cc),te(Gl)],544))}}),uc=Ie(fc,[["__scopeId","data-v-1f72dceb"]]),ac={class:"prompt-container"},dc=Oe({__name:"Prompt",setup(e){const t=_e("synthesisConfig"),s=he("");return Ve(s,n=>{t.text=n}),(n,i)=>(M(),N("div",ac,[Pi(j("textarea",{"onUpdate:modelValue":i[0]||(i[0]=r=>s.value=r),placeholder:"请输入提示词...",class:"prompt-textarea"}," ",512),[[nr,s.value]])]))}}),pc=Ie(dc,[["__scopeId","data-v-16012a7e"]]),hc={class:"history-container"},gc={key:0},_c={key:1,class:"expanded-content"},mc={class:"audio-list"},bc={class:"audio-controls"},yc=["src"],vc=Oe({__name:"History",props:{audioFiles:{}},setup(e){const t=e,s=he(!1),n=()=>{s.value=!s.value};return Ve(()=>t.audioFiles,i=>{i.length>0&&(s.value=!0)},{deep:!0}),(i,r)=>(M(),N("div",hc,[j("div",{class:Ge(["floating-button",{expanded:s.value}]),onClick:n},[s.value?(M(),N("div",_c,[r[0]||(r[0]=j("h2",null,"合成的音频文件",-1)),j("ul",mc,[(M(!0),N(le,null,Dt(t.audioFiles,o=>(M(),N("li",{key:o.url},[j("div",bc,[j("audio",{src:o.url,controls:""},null,8,yc)])]))),128))])])):(M(),N("span",gc,"+"))],2),s.value?(M(),N("div",{key:0,class:"close-button",onClick:n}," - ")):Lt("",!0)]))}}),xc=Ie(vc,[["__scopeId","data-v-e82dffbd"]]),Sc={text:"",text_lang:"",ref_audio_path:"",aux_ref_audio_paths:[],prompt_lang:"",top_k:5,top_p:1,temperature:1,text_split_method:"cut0",batch_size:1,batch_threshold:.75,split_bucket:!0,speed_factor:1,streaming_mode:!1,seed:-1,parallel_infer:!0,repetition_penalty:1.35},wc={class:"background"},Yn="http://127.0.0.1:9880",Ec=Oe({__name:"Background",setup(e){wt("API_BASE_URL",Yn);const t=It(Sc);wt("synthesisConfig",t);const s=It({gpt_weights_files:[],sovits_weights_files:[],target_audio_lang_list:["zh","en","ja","ko","yue","all_zh","all_ja","all_yue","all_ko","auto","auto_yue"],splitModes:["cut0","cut1","cut2","cut3","cut4","cut5"],topK:[5,10,30,50,70,100],topP:[1,.3,.5,.7,.9],temperature:[1,.3,.5,.7,.9]});(async()=>{try{const o=await(await fetch(`${Yn}/info`)).json();s.gpt_weights_files=o.gpt_weights_files,s.sovits_weights_files=o.sovits_weights_files}catch(r){console.error("Error fetching data:",r)}})();const n=he([]),i=(r,o)=>{n.value.push({name:r,url:o})};return wt("audioFiles",n),wt("addAudioFile",i),Ve(t,r=>{console.log("SynthesisConfig changed:"),console.log("Current values:",JSON.stringify(r,null,2))}),(r,o)=>(M(),N("div",wc,[te(uc,{gpt_weights_files:s.gpt_weights_files,sovits_weights_files:s.sovits_weights_files,target_audio_lang_list:s.target_audio_lang_list,splitModes:s.splitModes,topK:s.topK,topP:s.topP,temperature:s.temperature},null,8,["gpt_weights_files","sovits_weights_files","target_audio_lang_list","splitModes","topK","topP","temperature"]),te(pc),te(xc,{audioFiles:n.value},null,8,["audioFiles"])]))}}),Cc=Ie(Ec,[["__scopeId","data-v-7da5f954"]]),Tc=Oe({__name:"App",setup(e){return(t,s)=>(M(),ts(Cc))}});Pl(Tc).mount("#app"); diff --git a/dist/assets/index-Dl43Gj3X.css b/dist/assets/index-Dl43Gj3X.css new file mode 100644 index 000000000..72455e9b1 --- /dev/null +++ b/dist/assets/index-Dl43Gj3X.css @@ -0,0 +1 @@ +@import"https://fonts.googleapis.com/css2?family=Orbitron:wght@500&display=swap";:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;padding:0;display:flex;place-items:center;width:100vw;height:100vh;min-width:320px;min-height:100vh;overflow:hidden}#app{height:100%;width:100%;margin:0 auto;text-align:center;display:flex}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.logo-container[data-v-81125f96]{display:flex;justify-content:center;align-items:center;height:4rem;background-color:#242628;margin-bottom:1rem;cursor:pointer}.logo-text[data-v-81125f96]{position:relative;font-family:Orbitron,sans-serif;font-size:1.6rem;font-weight:500;color:#fff;letter-spacing:3px;transition:all .3s ease}.logo-text[data-v-81125f96]:hover{animation:glitch-81125f96 .5s linear infinite}.logo-text[data-v-81125f96]:before,.logo-text[data-v-81125f96]:after{content:"GPT-Sovits";position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;transition:opacity .3s ease}.logo-text[data-v-81125f96]:hover:before,.logo-text[data-v-81125f96]:hover:after{opacity:1}.logo-text[data-v-81125f96]:hover:before{left:2px;text-shadow:-2px 0 #ff00de;clip:rect(24px,550px,90px,0);animation:glitch-anim-81125f96 .3s linear infinite alternate-reverse}.logo-text[data-v-81125f96]:hover:after{left:-2px;text-shadow:-2px 0 #00ffff;clip:rect(85px,550px,140px,0);animation:glitch-anim-81125f96 .3s linear infinite alternate-reverse}@keyframes glitch-81125f96{0%,to{transform:translate(0)}20%{transform:translate(-2px,2px)}40%{transform:translate(-2px,-2px)}60%{transform:translate(2px,2px)}80%{transform:translate(2px,-2px)}}@keyframes glitch-anim-81125f96{0%{clip:rect(76px,9999px,90px,0)}20%{clip:rect(5px,9999px,69px,0)}40%{clip:rect(89px,9999px,32px,0)}60%{clip:rect(54px,9999px,26px,0)}80%{clip:rect(12px,9999px,86px,0)}to{clip:rect(95px,9999px,7px,0)}}.sidebar-field[data-v-e19ef81b]{position:relative;width:100%;border-radius:2rem;margin:.3rem;padding:.7rem 0rem;background-color:#242628;color:#e8e8e8;cursor:pointer;-webkit-user-select:none;user-select:none}.field-content[data-v-e19ef81b]{display:flex;flex-direction:column;align-items:center;justify-content:center}.field-name[data-v-e19ef81b]{font-size:.8rem;font-weight:400;color:#a4a3a3c9;margin:0}.field-value[data-v-e19ef81b]{font-size:1.2rem;font-weight:400;color:#e8e8e8;margin:0}.sidebar-field[data-v-e19ef81b]:hover{background-color:#2d2e30;color:#fff}.expanded-list[data-v-e19ef81b]{position:absolute;top:0;left:105%;background-color:#2d2e30;border-radius:1rem;overflow:hidden;width:100%;z-index:10}.list-item[data-v-e19ef81b]{padding:.5rem 1rem;transition:background-color .2s ease}.list-item[data-v-e19ef81b]:hover{background-color:#3a3b3d}.sidebar-button[data-v-75f763e8]{background-color:#242628;color:#fff;border:none;padding:10px 20px;margin-bottom:1rem;border-radius:5px;cursor:pointer;font-size:16px;transition:background-color .3s;width:100%;height:3rem;margin-top:auto;border:1px solid #ccc}.sidebar-button[data-v-75f763e8]:hover{background-color:#36393c}.sidebar-button[data-v-75f763e8]:active{background-color:#242628}.sidebar-button[data-v-75f763e8]:disabled{background-color:#4a4a4a;cursor:not-allowed}.sidebar-field[data-v-401162d5]{position:relative;width:100%;border-radius:2rem;margin:.3rem;padding:.7rem 0rem;background-color:#242628;color:#e8e8e8;cursor:pointer;-webkit-user-select:none;user-select:none}.field-content[data-v-401162d5]{display:flex;flex-direction:column;align-items:center;justify-content:center}.field-name[data-v-401162d5]{font-size:.8rem;font-weight:400;color:#a4a3a3c9;margin:0}.field-value[data-v-401162d5]{font-size:1.2rem;font-weight:400;color:#e8e8e8;margin:0;word-wrap:break-word;max-width:100%;text-align:center}.sidebar-field[data-v-401162d5]:hover{background-color:#2d2e30;color:#fff}.expanded-list[data-v-401162d5]{position:absolute;top:0;left:105%;background-color:#2d2e30;border-radius:1rem;overflow:hidden;width:100%;z-index:10}.list-item[data-v-401162d5]{padding:.5rem 1rem;transition:background-color .2s ease}.list-item[data-v-401162d5]:hover{background-color:#3a3b3d}.sidebar-field[data-v-b5cb8aae]{position:relative;width:100%;border-radius:2rem;margin:.3rem;padding:.7rem 0rem;background-color:#242628;color:#e8e8e8;cursor:pointer;-webkit-user-select:none;user-select:none}.field-content[data-v-b5cb8aae]{display:flex;flex-direction:column;align-items:center;justify-content:center}.field-name[data-v-b5cb8aae]{font-size:.8rem;font-weight:400;color:#a4a3a3c9;margin:0}.field-value[data-v-b5cb8aae]{font-size:1.2rem;font-weight:400;color:#e8e8e8;margin:0;word-wrap:break-word;max-width:100%;text-align:center}.sidebar-field[data-v-b5cb8aae]:hover{background-color:#2d2e30;color:#fff}.expanded-list[data-v-b5cb8aae]{position:absolute;top:0;left:105%;background-color:#2d2e30;border-radius:1rem;overflow:hidden;width:100%;z-index:10}.list-item[data-v-b5cb8aae]{padding:.5rem 1rem;transition:background-color .2s ease}.list-item[data-v-b5cb8aae]:hover{background-color:#3a3b3d}.audio-reference-button[data-v-f3ff2472]{cursor:pointer;width:100%;height:3rem;display:flex;align-items:center;justify-content:center;border:1px solid #ccc;border-radius:5px;margin-top:auto;font-size:1rem;color:#ccc;background-color:#242628;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.audio-reference-button[data-v-f3ff2472]:hover{background-color:#36393c}.sidebar[data-v-f3ff2472]{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:300px;height:auto;max-height:80vh;background-color:#242628;transition:opacity .3s ease-in-out,visibility .3s ease-in-out;padding:20px;box-sizing:border-box;border-radius:10px;box-shadow:0 0 10px #0000001a;opacity:0;visibility:hidden;overflow-y:auto}.sidebar.open[data-v-f3ff2472]{opacity:1;visibility:visible}.drop-zone[data-v-f3ff2472]{background-color:#131314;border:2px dashed #ccc;border-radius:.5rem;padding:20px;text-align:center;cursor:pointer}.drop-zone[data-v-f3ff2472]:hover{background-color:#202022}.audio-content[data-v-f3ff2472]{box-sizing:border-box}.audio-content h4[data-v-f3ff2472]{margin-bottom:10px}.audio-content textarea[data-v-f3ff2472]{width:100%;border:1px solid #ccc;border-radius:.5rem;resize:vertical}.confirm-button[data-v-f3ff2472]{width:100%;padding:10px;margin-top:40px;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:1rem;background-color:#242628;border:1px solid #ccc}.confirm-button[data-v-f3ff2472]:hover{background-color:#35383b}.sidebar[data-v-f3ff2472]{display:flex;flex-direction:column}.sidebar[data-v-1f72dceb]{width:18%;min-width:200px;height:98%;background-color:#242628;border-radius:30px;padding:10px;margin:10px;box-sizing:border-box;display:flex;flex-direction:column;align-items:center}.prompt-container[data-v-16012a7e]{display:flex;width:100%;height:98%;border:1px solid #ccc;padding:10px;margin:10px;border-radius:30px;box-sizing:border-box}.prompt-textarea[data-v-16012a7e]{width:100%;height:100%;border:none;padding:1rem;outline:none;resize:none;font-size:16px;background-color:#131314;color:#fff;box-sizing:border-box}.prompt-textarea[data-v-16012a7e]::placeholder{color:#666}.history-container[data-v-e82dffbd]{position:fixed;right:2rem;bottom:2rem;z-index:1000}.floating-button[data-v-e82dffbd]{width:50px;height:50px;border-radius:50%;background-color:#242628;color:#fff;display:flex;justify-content:center;align-items:center;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 10px #0003}.floating-button.expanded[data-v-e82dffbd]{width:20vw;height:90vh;border-radius:2rem;display:flex;flex-direction:column;justify-content:flex-start;align-items:center}.expanded-content[data-v-e82dffbd]{padding:20px;overflow-y:auto;max-height:100%;width:90%}.close-button[data-v-e82dffbd]{position:absolute;right:10px;bottom:10px;width:30px;height:30px;border-radius:50%;background-color:#242628;color:#fff;display:flex;justify-content:center;align-items:center;cursor:pointer;font-size:20px;box-shadow:0 2px 10px #0003}.audio-list[data-v-e82dffbd]{list-style-type:none;width:100%;padding:0}.audio-controls[data-v-e82dffbd]{width:100%}.audio-controls audio[data-v-e82dffbd]{width:100%}.background[data-v-7da5f954]{display:flex;flex-direction:row;width:100%;height:100%;background-color:#131314} diff --git a/dist/index.html b/dist/index.html new file mode 100644 index 000000000..690e58c30 --- /dev/null +++ b/dist/index.html @@ -0,0 +1,13 @@ + + + + + + Vite Project + + + + +
+ + diff --git a/dist/vite.svg b/dist/vite.svg new file mode 100644 index 000000000..e7b8dfb1b --- /dev/null +++ b/dist/vite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/requirements.txt b/requirements.txt index 280d9d992..477305771 100644 --- a/requirements.txt +++ b/requirements.txt @@ -34,3 +34,4 @@ opencc; sys_platform != 'linux' opencc==1.1.1; sys_platform == 'linux' python_mecab_ko; sys_platform != 'win32' fastapi<0.112.2 +shutil \ No newline at end of file From aad5afd5b0517ae5b3406894b859e91ce023e762 Mon Sep 17 00:00:00 2001 From: Monophotic <96677443+Svring@users.noreply.github.com> Date: Thu, 10 Oct 2024 11:01:27 +0800 Subject: [PATCH 2/3] =?UTF-8?q?Update=20requirements.txt=EF=BC=8C=E7=A7=BB?= =?UTF-8?q?=E9=99=A4shutil?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- requirements.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 477305771..280d9d992 100644 --- a/requirements.txt +++ b/requirements.txt @@ -34,4 +34,3 @@ opencc; sys_platform != 'linux' opencc==1.1.1; sys_platform == 'linux' python_mecab_ko; sys_platform != 'win32' fastapi<0.112.2 -shutil \ No newline at end of file From eed2095a42927ea0a9c6bd548eaf4926b6c99f8f Mon Sep 17 00:00:00 2001 From: Monophotic <96677443+Svring@users.noreply.github.com> Date: Thu, 10 Oct 2024 11:02:57 +0800 Subject: [PATCH 3/3] =?UTF-8?q?Delete=20dist/vite.svg=EF=BC=8C=E7=A7=BB?= =?UTF-8?q?=E9=99=A4=E6=97=A0=E7=94=A8=E7=9A=84=E5=9B=BE=E7=89=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dist/vite.svg | 1 - 1 file changed, 1 deletion(-) delete mode 100644 dist/vite.svg diff --git a/dist/vite.svg b/dist/vite.svg deleted file mode 100644 index e7b8dfb1b..000000000 --- a/dist/vite.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file