nodestatus-server 1.2.5-beta.2 → 1.2.5-beta.3
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/build/app.js +36 -29
- package/build/dist/classic-theme/assets/index.51bd7b98.js +4 -0
- package/build/dist/classic-theme/index.html +1 -2
- package/build/dist/hotaru-admin/assets/LayoutHandler.e580c2f7.js +83 -0
- package/build/dist/hotaru-admin/assets/Login.1c686e8b.js +1 -0
- package/build/dist/hotaru-admin/assets/UserOutlined.eafc439b.js +14 -0
- package/build/dist/hotaru-admin/assets/index.049d35a9.css +1 -0
- package/build/dist/hotaru-admin/assets/index.e1591a63.js +146 -0
- package/build/dist/hotaru-admin/index.html +2 -3
- package/build/dist/hotaru-theme/assets/index.2fa0cbad.js +4 -0
- package/build/dist/hotaru-theme/assets/index.99adeccb.css +1 -0
- package/build/dist/hotaru-theme/index.html +2 -3
- package/package.json +5 -6
- package/build/dist/classic-theme/assets/index.787b5fe9.js +0 -4
- package/build/dist/classic-theme/assets/vendor.1ca96e14.js +0 -1
- package/build/dist/hotaru-admin/assets/LayoutHandler.b81d0b98.js +0 -61
- package/build/dist/hotaru-admin/assets/Login.4dc1fc45.js +0 -1
- package/build/dist/hotaru-admin/assets/UserOutlined.4d9e5b4c.js +0 -1
- package/build/dist/hotaru-admin/assets/index.e9fc299b.js +0 -1
- package/build/dist/hotaru-admin/assets/index.ef1d1aa7.css +0 -1
- package/build/dist/hotaru-admin/assets/vendor.62e15ed6.js +0 -163
- package/build/dist/hotaru-theme/assets/index.090d3c23.css +0 -1
- package/build/dist/hotaru-theme/assets/index.461c67c7.js +0 -4
- package/build/dist/hotaru-theme/assets/vendor.42741a4c.js +0 -1
package/build/app.js
CHANGED
|
@@ -31320,6 +31320,7 @@ exports.InvalidOptionArgumentError = InvalidArgumentError; // Deprecated
|
|
|
31320
31320
|
exports.Option = Option;
|
|
31321
31321
|
}(commander, commander.exports));
|
|
31322
31322
|
|
|
31323
|
+
var _a, _b;
|
|
31323
31324
|
if (process.env.NODE_ENV !== "TEST") {
|
|
31324
31325
|
dotenv__default["default"].config({ path: require$$1$3.resolve(require$$1$4.homedir(), ".nodestatus/.env.local") });
|
|
31325
31326
|
}
|
|
@@ -31342,10 +31343,10 @@ const config = {
|
|
|
31342
31343
|
usePush: process.env.USE_PUSH !== "false",
|
|
31343
31344
|
webUsername: process.env.WEB_USERNAME || "admin",
|
|
31344
31345
|
webPassword: process.env.WEB_PASSWORD || "",
|
|
31345
|
-
webSecret: process.env.WEB_SECRET ||
|
|
31346
|
+
webSecret: process.env.WEB_SECRET || "secret",
|
|
31346
31347
|
ipcAddress: process.env.IPC_ADDRESS || (require$$1$4.platform() !== "win32" ? "/tmp/status_unix.sock" : "\\\\.\\pipe\\status_ipc"),
|
|
31347
|
-
pushTimeOut: Number(process.env.PUSH_TIMEOUT)
|
|
31348
|
-
pushDelay: Number(process.env.PUSH_DELAY)
|
|
31348
|
+
pushTimeOut: Number((_a = process.env.PUSH_TIMEOUT) != null ? _a : 120),
|
|
31349
|
+
pushDelay: Number((_b = process.env.PUSH_DELAY) != null ? _b : 15),
|
|
31349
31350
|
telegram: {
|
|
31350
31351
|
proxy: process.env.TGBOT_PROXY,
|
|
31351
31352
|
bot_token: process.env.TGBOT_TOKEN || "",
|
|
@@ -54801,7 +54802,7 @@ const queryOrder = async () => {
|
|
|
54801
54802
|
}
|
|
54802
54803
|
});
|
|
54803
54804
|
isInitial = false;
|
|
54804
|
-
return updateCacheOrder(order
|
|
54805
|
+
return updateCacheOrder((order == null ? void 0 : order.value) || "");
|
|
54805
54806
|
};
|
|
54806
54807
|
async function updateOrder(order, Prisma = prisma) {
|
|
54807
54808
|
const shouldEmit = Prisma === prisma;
|
|
@@ -54826,7 +54827,7 @@ async function readServerPassword(username) {
|
|
|
54826
54827
|
username
|
|
54827
54828
|
}
|
|
54828
54829
|
});
|
|
54829
|
-
return item
|
|
54830
|
+
return (item == null ? void 0 : item.password) || null;
|
|
54830
54831
|
}
|
|
54831
54832
|
async function readServersList() {
|
|
54832
54833
|
const queries = [prisma.server.findMany()];
|
|
@@ -61977,21 +61978,13 @@ function callHook(instance, hook, ...args) {
|
|
|
61977
61978
|
}
|
|
61978
61979
|
}
|
|
61979
61980
|
class NodeStatus {
|
|
61980
|
-
options;
|
|
61981
|
-
server;
|
|
61982
|
-
ioPub = new ws.Server({ noServer: true });
|
|
61983
|
-
ioConn = new ws.Server({ noServer: true });
|
|
61984
|
-
userMap = /* @__PURE__ */ new Map();
|
|
61985
|
-
isBanned = /* @__PURE__ */ new Map();
|
|
61986
|
-
servers = {};
|
|
61987
|
-
serversPub = [];
|
|
61988
|
-
onServerConnect;
|
|
61989
|
-
onServerBanned;
|
|
61990
|
-
onServerConnected;
|
|
61991
|
-
onServerDisconnected;
|
|
61992
|
-
_serverConnectedPush;
|
|
61993
|
-
_serverDisconnectedPush;
|
|
61994
61981
|
constructor(server, options) {
|
|
61982
|
+
this.ioPub = new ws.Server({ noServer: true });
|
|
61983
|
+
this.ioConn = new ws.Server({ noServer: true });
|
|
61984
|
+
this.userMap = /* @__PURE__ */ new Map();
|
|
61985
|
+
this.isBanned = /* @__PURE__ */ new Map();
|
|
61986
|
+
this.servers = {};
|
|
61987
|
+
this.serversPub = [];
|
|
61995
61988
|
this.server = server;
|
|
61996
61989
|
this.options = options;
|
|
61997
61990
|
emitter.on("update", this.updateStatus.bind(this));
|
|
@@ -62013,7 +62006,8 @@ class NodeStatus {
|
|
|
62013
62006
|
const pathname = request.url;
|
|
62014
62007
|
if (pathname === "/connect") {
|
|
62015
62008
|
this.ioConn.handleUpgrade(request, socket, head, (ws2) => {
|
|
62016
|
-
|
|
62009
|
+
var _a, _b, _c;
|
|
62010
|
+
ws2.ipAddress = ((_c = (_b = (_a = request.headers["x-forwarded-for"]) == null ? void 0 : _a.split(",")) == null ? void 0 : _b[0]) == null ? void 0 : _c.trim()) || request.socket.remoteAddress;
|
|
62017
62011
|
this.ioConn.emit("connection", ws2);
|
|
62018
62012
|
});
|
|
62019
62013
|
} else if (pathname === "/public") {
|
|
@@ -62033,6 +62027,7 @@ class NodeStatus {
|
|
|
62033
62027
|
socket.send("Authentication required");
|
|
62034
62028
|
loggerConnecting.debug(`Address: ${address}`);
|
|
62035
62029
|
socket.once("message", async (buf) => {
|
|
62030
|
+
var _a;
|
|
62036
62031
|
if (this.isBanned.get(address)) {
|
|
62037
62032
|
socket.send("You are banned. Please try connecting after 60 / 120 seconds");
|
|
62038
62033
|
return socket.close();
|
|
@@ -62046,7 +62041,7 @@ class NodeStatus {
|
|
|
62046
62041
|
socket.send("Wrong username and/or password.");
|
|
62047
62042
|
return this.setBan(socket, address, 120, "Wrong username and/or password.");
|
|
62048
62043
|
}
|
|
62049
|
-
if (Object.keys(this.servers[username]
|
|
62044
|
+
if (Object.keys(((_a = this.servers[username]) == null ? void 0 : _a.status) || {}).length) {
|
|
62050
62045
|
const preSocket = this.userMap.get(username);
|
|
62051
62046
|
if (preSocket) {
|
|
62052
62047
|
if (preSocket.ipAddress === address) {
|
|
@@ -62107,13 +62102,14 @@ class NodeStatus {
|
|
|
62107
62102
|
return this.updateStatus();
|
|
62108
62103
|
}
|
|
62109
62104
|
async updateStatus(username, shouldDisconnect = false) {
|
|
62105
|
+
var _a, _b, _c;
|
|
62110
62106
|
if (username) {
|
|
62111
62107
|
const server = (await getServer(username)).data;
|
|
62112
62108
|
if (!server)
|
|
62113
62109
|
delete this.servers[username];
|
|
62114
62110
|
else
|
|
62115
|
-
this.servers[username] = Object.assign(server, { status: this.servers
|
|
62116
|
-
shouldDisconnect && this.userMap.get(username)
|
|
62111
|
+
this.servers[username] = Object.assign(server, { status: ((_b = (_a = this.servers) == null ? void 0 : _a[username]) == null ? void 0 : _b.status) || {} });
|
|
62112
|
+
shouldDisconnect && ((_c = this.userMap.get(username)) == null ? void 0 : _c.terminate()) && this.userMap.delete(username);
|
|
62117
62113
|
} else {
|
|
62118
62114
|
const box = (await getListServers()).data;
|
|
62119
62115
|
if (!box)
|
|
@@ -149747,7 +149743,7 @@ function createPush(options) {
|
|
|
149747
149743
|
const parseEntities = (msg) => {
|
|
149748
149744
|
let str;
|
|
149749
149745
|
if (typeof msg !== "string")
|
|
149750
|
-
str = msg
|
|
149746
|
+
str = (msg == null ? void 0 : msg.toString()) || "";
|
|
149751
149747
|
else
|
|
149752
149748
|
str = msg;
|
|
149753
149749
|
let newStr = "";
|
|
@@ -149801,7 +149797,7 @@ function createPush(options) {
|
|
|
149801
149797
|
${str}`;
|
|
149802
149798
|
};
|
|
149803
149799
|
const tgConfig = options.telegram;
|
|
149804
|
-
if (tgConfig
|
|
149800
|
+
if (tgConfig == null ? void 0 : tgConfig.bot_token) {
|
|
149805
149801
|
const bot = new lib$2.Telegraf(tgConfig.bot_token, {
|
|
149806
149802
|
...tgConfig.proxy && {
|
|
149807
149803
|
telegram: {
|
|
@@ -149872,13 +149868,16 @@ Please check your settings\\.`, { parse_mode: "MarkdownV2" });
|
|
|
149872
149868
|
this._serverDisconnectedPush = (socket, username, cb) => {
|
|
149873
149869
|
const now = new Date();
|
|
149874
149870
|
const timer = setTimeout(() => {
|
|
149875
|
-
Promise.all(pushList.map((fn) =>
|
|
149871
|
+
Promise.all(pushList.map((fn) => {
|
|
149872
|
+
var _a;
|
|
149873
|
+
return fn(`\u{1F34A}*NodeStatus*
|
|
149876
149874
|
\u{1F630} One server has disconnected\\!
|
|
149877
149875
|
|
|
149878
149876
|
*\u7528\u6237\u540D*: ${parseEntities(username)}
|
|
149879
|
-
*\u8282\u70B9\u540D*: ${parseEntities(this.servers[username]
|
|
149880
|
-
*\u65F6\u95F4*: ${parseEntities(now)}`)
|
|
149881
|
-
|
|
149877
|
+
*\u8282\u70B9\u540D*: ${parseEntities((_a = this.servers[username]) == null ? void 0 : _a.name)}
|
|
149878
|
+
*\u65F6\u95F4*: ${parseEntities(now)}`);
|
|
149879
|
+
})).then();
|
|
149880
|
+
cb == null ? void 0 : cb(now);
|
|
149882
149881
|
timerMap.delete(username);
|
|
149883
149882
|
}, options.pushTimeOut * 1e3);
|
|
149884
149883
|
timerMap.set(username, timer);
|
|
@@ -149919,6 +149918,14 @@ async function createStatus(app) {
|
|
|
149919
149918
|
return [server, ipc];
|
|
149920
149919
|
}
|
|
149921
149920
|
|
|
149921
|
+
if (!config.port) {
|
|
149922
|
+
logger.fatal("No port specified");
|
|
149923
|
+
process.exit(1);
|
|
149924
|
+
}
|
|
149925
|
+
if (config.useWeb && !config.webPassword) {
|
|
149926
|
+
logger.fatal("No web password specified");
|
|
149927
|
+
process.exit(1);
|
|
149928
|
+
}
|
|
149922
149929
|
(async () => {
|
|
149923
149930
|
const app = new mod();
|
|
149924
149931
|
app.use(_default({
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
const Mr=function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))s(r);new MutationObserver(r=>{for(const o of r)if(o.type==="childList")for(const i of o.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&s(i)}).observe(document,{childList:!0,subtree:!0});function n(r){const o={};return r.integrity&&(o.integrity=r.integrity),r.referrerpolicy&&(o.referrerPolicy=r.referrerpolicy),r.crossorigin==="use-credentials"?o.credentials="include":r.crossorigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function s(r){if(r.ep)return;r.ep=!0;const o=n(r);fetch(r.href,o)}};Mr();function Mn(e,t){const n=Object.create(null),s=e.split(",");for(let r=0;r<s.length;r++)n[s[r]]=!0;return t?r=>!!n[r.toLowerCase()]:r=>!!n[r]}const $r="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",Or=Mn($r);function Ts(e){return!!e||e===""}function Ve(e){if(P(e)){const t={};for(let n=0;n<e.length;n++){const s=e[n],r=Y(s)?Sr(s):Ve(s);if(r)for(const o in r)t[o]=r[o]}return t}else{if(Y(e))return e;if(X(e))return e}}const Pr=/;(?![^(]*\))/g,Ir=/:(.+)/;function Sr(e){const t={};return e.split(Pr).forEach(n=>{if(n){const s=n.split(Ir);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function Me(e){let t="";if(Y(e))t=e;else if(P(e))for(let n=0;n<e.length;n++){const s=Me(e[n]);s&&(t+=s+" ")}else if(X(e))for(const n in e)e[n]&&(t+=n+" ");return t.trim()}const te=e=>Y(e)?e:e==null?"":P(e)||X(e)&&(e.toString===Os||!I(e.toString))?JSON.stringify(e,As,2):String(e),As=(e,t)=>t&&t.__v_isRef?As(e,t.value):lt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r])=>(n[`${s} =>`]=r,n),{})}:Ms(t)?{[`Set(${t.size})`]:[...t.values()]}:X(t)&&!P(t)&&!Ps(t)?String(t):t,j={},it=[],xe=()=>{},Nr=()=>!1,Rr=/^on[^a-z]/,jt=e=>Rr.test(e),$n=e=>e.startsWith("onUpdate:"),ee=Object.assign,On=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Br=Object.prototype.hasOwnProperty,R=(e,t)=>Br.call(e,t),P=Array.isArray,lt=e=>Kt(e)==="[object Map]",Ms=e=>Kt(e)==="[object Set]",I=e=>typeof e=="function",Y=e=>typeof e=="string",Pn=e=>typeof e=="symbol",X=e=>e!==null&&typeof e=="object",$s=e=>X(e)&&I(e.then)&&I(e.catch),Os=Object.prototype.toString,Kt=e=>Os.call(e),Dr=e=>Kt(e).slice(8,-1),Ps=e=>Kt(e)==="[object Object]",In=e=>Y(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,St=Mn(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),kt=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Lr=/-(\w)/g,ut=kt(e=>e.replace(Lr,(t,n)=>n?n.toUpperCase():"")),Hr=/\B([A-Z])/g,at=kt(e=>e.replace(Hr,"-$1").toLowerCase()),Is=kt(e=>e.charAt(0).toUpperCase()+e.slice(1)),nn=kt(e=>e?`on${Is(e)}`:""),Ct=(e,t)=>!Object.is(e,t),sn=(e,t)=>{for(let n=0;n<e.length;n++)e[n](t)},Rt=(e,t,n)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},Ur=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let es;const jr=()=>es||(es=typeof globalThis!="undefined"?globalThis:typeof self!="undefined"?self:typeof window!="undefined"?window:typeof global!="undefined"?global:{});let Ee;class Kr{constructor(t=!1){this.active=!0,this.effects=[],this.cleanups=[],!t&&Ee&&(this.parent=Ee,this.index=(Ee.scopes||(Ee.scopes=[])).push(this)-1)}run(t){if(this.active){const n=Ee;try{return Ee=this,t()}finally{Ee=n}}}on(){Ee=this}off(){Ee=this.parent}stop(t){if(this.active){let n,s;for(n=0,s=this.effects.length;n<s;n++)this.effects[n].stop();for(n=0,s=this.cleanups.length;n<s;n++)this.cleanups[n]();if(this.scopes)for(n=0,s=this.scopes.length;n<s;n++)this.scopes[n].stop(!0);if(this.parent&&!t){const r=this.parent.scopes.pop();r&&r!==this&&(this.parent.scopes[this.index]=r,r.index=this.index)}this.active=!1}}}function kr(e,t=Ee){t&&t.active&&t.effects.push(e)}const Sn=e=>{const t=new Set(e);return t.w=0,t.n=0,t},Ss=e=>(e.w&Ue)>0,Ns=e=>(e.n&Ue)>0,Wr=({deps:e})=>{if(e.length)for(let t=0;t<e.length;t++)e[t].w|=Ue},zr=e=>{const{deps:t}=e;if(t.length){let n=0;for(let s=0;s<t.length;s++){const r=t[s];Ss(r)&&!Ns(r)?r.delete(e):t[n++]=r,r.w&=~Ue,r.n&=~Ue}t.length=n}},an=new WeakMap;let mt=0,Ue=1;const dn=30;let ye;const Xe=Symbol(""),hn=Symbol("");class Nn{constructor(t,n=null,s){this.fn=t,this.scheduler=n,this.active=!0,this.deps=[],this.parent=void 0,kr(this,s)}run(){if(!this.active)return this.fn();let t=ye,n=Le;for(;t;){if(t===this)return;t=t.parent}try{return this.parent=ye,ye=this,Le=!0,Ue=1<<++mt,mt<=dn?Wr(this):ts(this),this.fn()}finally{mt<=dn&&zr(this),Ue=1<<--mt,ye=this.parent,Le=n,this.parent=void 0,this.deferStop&&this.stop()}}stop(){ye===this?this.deferStop=!0:this.active&&(ts(this),this.onStop&&this.onStop(),this.active=!1)}}function ts(e){const{deps:t}=e;if(t.length){for(let n=0;n<t.length;n++)t[n].delete(e);t.length=0}}let Le=!0;const Rs=[];function dt(){Rs.push(Le),Le=!1}function ht(){const e=Rs.pop();Le=e===void 0?!0:e}function de(e,t,n){if(Le&&ye){let s=an.get(e);s||an.set(e,s=new Map);let r=s.get(n);r||s.set(n,r=Sn()),Bs(r)}}function Bs(e,t){let n=!1;mt<=dn?Ns(e)||(e.n|=Ue,n=!Ss(e)):n=!e.has(ye),n&&(e.add(ye),ye.deps.push(e))}function Ie(e,t,n,s,r,o){const i=an.get(e);if(!i)return;let c=[];if(t==="clear")c=[...i.values()];else if(n==="length"&&P(e))i.forEach((f,a)=>{(a==="length"||a>=s)&&c.push(f)});else switch(n!==void 0&&c.push(i.get(n)),t){case"add":P(e)?In(n)&&c.push(i.get("length")):(c.push(i.get(Xe)),lt(e)&&c.push(i.get(hn)));break;case"delete":P(e)||(c.push(i.get(Xe)),lt(e)&&c.push(i.get(hn)));break;case"set":lt(e)&&c.push(i.get(Xe));break}if(c.length===1)c[0]&&pn(c[0]);else{const f=[];for(const a of c)a&&f.push(...a);pn(Sn(f))}}function pn(e,t){for(const n of P(e)?e:[...e])(n!==ye||n.allowRecurse)&&(n.scheduler?n.scheduler():n.run())}const qr=Mn("__proto__,__v_isRef,__isVue"),Ds=new Set(Object.getOwnPropertyNames(Symbol).map(e=>Symbol[e]).filter(Pn)),Jr=Rn(),Vr=Rn(!1,!0),Yr=Rn(!0),ns=Xr();function Xr(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const s=D(this);for(let o=0,i=this.length;o<i;o++)de(s,"get",o+"");const r=s[t](...n);return r===-1||r===!1?s[t](...n.map(D)):r}}),["push","pop","shift","unshift","splice"].forEach(t=>{e[t]=function(...n){dt();const s=D(this)[t].apply(this,n);return ht(),s}}),e}function Rn(e=!1,t=!1){return function(s,r,o){if(r==="__v_isReactive")return!e;if(r==="__v_isReadonly")return e;if(r==="__v_isShallow")return t;if(r==="__v_raw"&&o===(e?t?ho:Ks:t?js:Us).get(s))return s;const i=P(s);if(!e&&i&&R(ns,r))return Reflect.get(ns,r,o);const c=Reflect.get(s,r,o);return(Pn(r)?Ds.has(r):qr(r))||(e||de(s,"get",r),t)?c:V(c)?!i||!In(r)?c.value:c:X(c)?e?ks(c):Ln(c):c}}const Zr=Ls(),Qr=Ls(!0);function Ls(e=!1){return function(n,s,r,o){let i=n[s];if(wt(i)&&V(i)&&!V(r))return!1;if(!e&&!wt(r)&&(Ws(r)||(r=D(r),i=D(i)),!P(n)&&V(i)&&!V(r)))return i.value=r,!0;const c=P(n)&&In(s)?Number(s)<n.length:R(n,s),f=Reflect.set(n,s,r,o);return n===D(o)&&(c?Ct(r,i)&&Ie(n,"set",s,r):Ie(n,"add",s,r)),f}}function Gr(e,t){const n=R(e,t);e[t];const s=Reflect.deleteProperty(e,t);return s&&n&&Ie(e,"delete",t,void 0),s}function eo(e,t){const n=Reflect.has(e,t);return(!Pn(t)||!Ds.has(t))&&de(e,"has",t),n}function to(e){return de(e,"iterate",P(e)?"length":Xe),Reflect.ownKeys(e)}const Hs={get:Jr,set:Zr,deleteProperty:Gr,has:eo,ownKeys:to},no={get:Yr,set(e,t){return!0},deleteProperty(e,t){return!0}},so=ee({},Hs,{get:Vr,set:Qr}),Bn=e=>e,Wt=e=>Reflect.getPrototypeOf(e);function Mt(e,t,n=!1,s=!1){e=e.__v_raw;const r=D(e),o=D(t);t!==o&&!n&&de(r,"get",t),!n&&de(r,"get",o);const{has:i}=Wt(r),c=s?Bn:n?Un:Et;if(i.call(r,t))return c(e.get(t));if(i.call(r,o))return c(e.get(o));e!==r&&e.get(t)}function $t(e,t=!1){const n=this.__v_raw,s=D(n),r=D(e);return e!==r&&!t&&de(s,"has",e),!t&&de(s,"has",r),e===r?n.has(e):n.has(e)||n.has(r)}function Ot(e,t=!1){return e=e.__v_raw,!t&&de(D(e),"iterate",Xe),Reflect.get(e,"size",e)}function ss(e){e=D(e);const t=D(this);return Wt(t).has.call(t,e)||(t.add(e),Ie(t,"add",e,e)),this}function rs(e,t){t=D(t);const n=D(this),{has:s,get:r}=Wt(n);let o=s.call(n,e);o||(e=D(e),o=s.call(n,e));const i=r.call(n,e);return n.set(e,t),o?Ct(t,i)&&Ie(n,"set",e,t):Ie(n,"add",e,t),this}function os(e){const t=D(this),{has:n,get:s}=Wt(t);let r=n.call(t,e);r||(e=D(e),r=n.call(t,e)),s&&s.call(t,e);const o=t.delete(e);return r&&Ie(t,"delete",e,void 0),o}function is(){const e=D(this),t=e.size!==0,n=e.clear();return t&&Ie(e,"clear",void 0,void 0),n}function Pt(e,t){return function(s,r){const o=this,i=o.__v_raw,c=D(i),f=t?Bn:e?Un:Et;return!e&&de(c,"iterate",Xe),i.forEach((a,_)=>s.call(r,f(a),f(_),o))}}function It(e,t,n){return function(...s){const r=this.__v_raw,o=D(r),i=lt(o),c=e==="entries"||e===Symbol.iterator&&i,f=e==="keys"&&i,a=r[e](...s),_=n?Bn:t?Un:Et;return!t&&de(o,"iterate",f?hn:Xe),{next(){const{value:v,done:p}=a.next();return p?{value:v,done:p}:{value:c?[_(v[0]),_(v[1])]:_(v),done:p}},[Symbol.iterator](){return this}}}}function Re(e){return function(...t){return e==="delete"?!1:this}}function ro(){const e={get(o){return Mt(this,o)},get size(){return Ot(this)},has:$t,add:ss,set:rs,delete:os,clear:is,forEach:Pt(!1,!1)},t={get(o){return Mt(this,o,!1,!0)},get size(){return Ot(this)},has:$t,add:ss,set:rs,delete:os,clear:is,forEach:Pt(!1,!0)},n={get(o){return Mt(this,o,!0)},get size(){return Ot(this,!0)},has(o){return $t.call(this,o,!0)},add:Re("add"),set:Re("set"),delete:Re("delete"),clear:Re("clear"),forEach:Pt(!0,!1)},s={get(o){return Mt(this,o,!0,!0)},get size(){return Ot(this,!0)},has(o){return $t.call(this,o,!0)},add:Re("add"),set:Re("set"),delete:Re("delete"),clear:Re("clear"),forEach:Pt(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(o=>{e[o]=It(o,!1,!1),n[o]=It(o,!0,!1),t[o]=It(o,!1,!0),s[o]=It(o,!0,!0)}),[e,n,t,s]}const[oo,io,lo,co]=ro();function Dn(e,t){const n=t?e?co:lo:e?io:oo;return(s,r,o)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?s:Reflect.get(R(n,r)&&r in s?n:s,r,o)}const uo={get:Dn(!1,!1)},fo={get:Dn(!1,!0)},ao={get:Dn(!0,!1)},Us=new WeakMap,js=new WeakMap,Ks=new WeakMap,ho=new WeakMap;function po(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function go(e){return e.__v_skip||!Object.isExtensible(e)?0:po(Dr(e))}function Ln(e){return wt(e)?e:Hn(e,!1,Hs,uo,Us)}function _o(e){return Hn(e,!1,so,fo,js)}function ks(e){return Hn(e,!0,no,ao,Ks)}function Hn(e,t,n,s,r){if(!X(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const o=r.get(e);if(o)return o;const i=go(e);if(i===0)return e;const c=new Proxy(e,i===2?s:n);return r.set(e,c),c}function ct(e){return wt(e)?ct(e.__v_raw):!!(e&&e.__v_isReactive)}function wt(e){return!!(e&&e.__v_isReadonly)}function Ws(e){return!!(e&&e.__v_isShallow)}function zs(e){return ct(e)||wt(e)}function D(e){const t=e&&e.__v_raw;return t?D(t):e}function qs(e){return Rt(e,"__v_skip",!0),e}const Et=e=>X(e)?Ln(e):e,Un=e=>X(e)?ks(e):e;function Js(e){Le&&ye&&(e=D(e),Bs(e.dep||(e.dep=Sn())))}function Vs(e,t){e=D(e),e.dep&&pn(e.dep)}function V(e){return!!(e&&e.__v_isRef===!0)}function gn(e){return mo(e,!1)}function mo(e,t){return V(e)?e:new bo(e,t)}class bo{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:D(t),this._value=n?t:Et(t)}get value(){return Js(this),this._value}set value(t){t=this.__v_isShallow?t:D(t),Ct(t,this._rawValue)&&(this._rawValue=t,this._value=this.__v_isShallow?t:Et(t),Vs(this))}}function S(e){return V(e)?e.value:e}const yo={get:(e,t,n)=>S(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return V(r)&&!V(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function Ys(e){return ct(e)?e:new Proxy(e,yo)}function vo(e){const t=P(e)?new Array(e.length):{};for(const n in e)t[n]=Co(e,n);return t}class xo{constructor(t,n,s){this._object=t,this._key=n,this._defaultValue=s,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}}function Co(e,t,n){const s=e[t];return V(s)?s:new xo(e,t,n)}class wo{constructor(t,n,s,r){this._setter=n,this.dep=void 0,this.__v_isRef=!0,this._dirty=!0,this.effect=new Nn(t,()=>{this._dirty||(this._dirty=!0,Vs(this))}),this.effect.computed=this,this.effect.active=this._cacheable=!r,this.__v_isReadonly=s}get value(){const t=D(this);return Js(t),(t._dirty||!t._cacheable)&&(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}function Eo(e,t,n=!1){let s,r;const o=I(e);return o?(s=e,r=xe):(s=e.get,r=e.set),new wo(s,r,o||!r,n)}function He(e,t,n,s){let r;try{r=s?e(...s):e()}catch(o){zt(o,t,n)}return r}function ge(e,t,n,s){if(I(e)){const o=He(e,t,n,s);return o&&$s(o)&&o.catch(i=>{zt(i,t,n)}),o}const r=[];for(let o=0;o<e.length;o++)r.push(ge(e[o],t,n,s));return r}function zt(e,t,n,s=!0){const r=t?t.vnode:null;if(t){let o=t.parent;const i=t.proxy,c=n;for(;o;){const a=o.ec;if(a){for(let _=0;_<a.length;_++)if(a[_](e,i,c)===!1)return}o=o.parent}const f=t.appContext.config.errorHandler;if(f){He(f,null,10,[e,i,c]);return}}Fo(e,n,r,s)}function Fo(e,t,n,s=!0){console.error(e)}let Bt=!1,_n=!1;const fe=[];let $e=0;const yt=[];let bt=null,rt=0;const vt=[];let Be=null,ot=0;const Xs=Promise.resolve();let jn=null,mn=null;function To(e){const t=jn||Xs;return e?t.then(this?e.bind(this):e):t}function Ao(e){let t=$e+1,n=fe.length;for(;t<n;){const s=t+n>>>1;Ft(fe[s])<e?t=s+1:n=s}return t}function Zs(e){(!fe.length||!fe.includes(e,Bt&&e.allowRecurse?$e+1:$e))&&e!==mn&&(e.id==null?fe.push(e):fe.splice(Ao(e.id),0,e),Qs())}function Qs(){!Bt&&!_n&&(_n=!0,jn=Xs.then(tr))}function Mo(e){const t=fe.indexOf(e);t>$e&&fe.splice(t,1)}function Gs(e,t,n,s){P(e)?n.push(...e):(!t||!t.includes(e,e.allowRecurse?s+1:s))&&n.push(e),Qs()}function $o(e){Gs(e,bt,yt,rt)}function Oo(e){Gs(e,Be,vt,ot)}function Kn(e,t=null){if(yt.length){for(mn=t,bt=[...new Set(yt)],yt.length=0,rt=0;rt<bt.length;rt++)bt[rt]();bt=null,rt=0,mn=null,Kn(e,t)}}function er(e){if(vt.length){const t=[...new Set(vt)];if(vt.length=0,Be){Be.push(...t);return}for(Be=t,Be.sort((n,s)=>Ft(n)-Ft(s)),ot=0;ot<Be.length;ot++)Be[ot]();Be=null,ot=0}}const Ft=e=>e.id==null?1/0:e.id;function tr(e){_n=!1,Bt=!0,Kn(e),fe.sort((n,s)=>Ft(n)-Ft(s));const t=xe;try{for($e=0;$e<fe.length;$e++){const n=fe[$e];n&&n.active!==!1&&He(n,null,14)}}finally{$e=0,fe.length=0,er(),Bt=!1,jn=null,(fe.length||yt.length||vt.length)&&tr(e)}}function Po(e,t,...n){if(e.isUnmounted)return;const s=e.vnode.props||j;let r=n;const o=t.startsWith("update:"),i=o&&t.slice(7);if(i&&i in s){const _=`${i==="modelValue"?"model":i}Modifiers`,{number:v,trim:p}=s[_]||j;p?r=n.map(F=>F.trim()):v&&(r=n.map(Ur))}let c,f=s[c=nn(t)]||s[c=nn(ut(t))];!f&&o&&(f=s[c=nn(at(t))]),f&&ge(f,e,6,r);const a=s[c+"Once"];if(a){if(!e.emitted)e.emitted={};else if(e.emitted[c])return;e.emitted[c]=!0,ge(a,e,6,r)}}function nr(e,t,n=!1){const s=t.emitsCache,r=s.get(e);if(r!==void 0)return r;const o=e.emits;let i={},c=!1;if(!I(e)){const f=a=>{const _=nr(a,t,!0);_&&(c=!0,ee(i,_))};!n&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}return!o&&!c?(s.set(e,null),null):(P(o)?o.forEach(f=>i[f]=null):ee(i,o),s.set(e,i),i)}function qt(e,t){return!e||!jt(t)?!1:(t=t.slice(2).replace(/Once$/,""),R(e,t[0].toLowerCase()+t.slice(1))||R(e,at(t))||R(e,t))}let ve=null,sr=null;function Dt(e){const t=ve;return ve=e,sr=e&&e.type.__scopeId||null,t}function Io(e,t=ve,n){if(!t||e._n)return e;const s=(...r)=>{s._d&&_s(-1);const o=Dt(t),i=e(...r);return Dt(o),s._d&&_s(1),i};return s._n=!0,s._c=!0,s._d=!0,s}function rn(e){const{type:t,vnode:n,proxy:s,withProxy:r,props:o,propsOptions:[i],slots:c,attrs:f,emit:a,render:_,renderCache:v,data:p,setupState:F,ctx:N,inheritAttrs:$}=e;let O,L;const he=Dt(e);try{if(n.shapeFlag&4){const q=r||s;O=Fe(_.call(q,q,v,o,F,p,N)),L=f}else{const q=t;O=Fe(q.length>1?q(o,{attrs:f,slots:c,emit:a}):q(o,null)),L=t.props?f:So(f)}}catch(q){xt.length=0,zt(q,e,1),O=ae(Oe)}let Z=O;if(L&&$!==!1){const q=Object.keys(L),{shapeFlag:oe}=Z;q.length&&oe&7&&(i&&q.some($n)&&(L=No(L,i)),Z=Ge(Z,L))}return n.dirs&&(Z.dirs=Z.dirs?Z.dirs.concat(n.dirs):n.dirs),n.transition&&(Z.transition=n.transition),O=Z,Dt(he),O}const So=e=>{let t;for(const n in e)(n==="class"||n==="style"||jt(n))&&((t||(t={}))[n]=e[n]);return t},No=(e,t)=>{const n={};for(const s in e)(!$n(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function Ro(e,t,n){const{props:s,children:r,component:o}=e,{props:i,children:c,patchFlag:f}=t,a=o.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&f>=0){if(f&1024)return!0;if(f&16)return s?ls(s,i,a):!!i;if(f&8){const _=t.dynamicProps;for(let v=0;v<_.length;v++){const p=_[v];if(i[p]!==s[p]&&!qt(a,p))return!0}}}else return(r||c)&&(!c||!c.$stable)?!0:s===i?!1:s?i?ls(s,i,a):!0:!!i;return!1}function ls(e,t,n){const s=Object.keys(t);if(s.length!==Object.keys(e).length)return!0;for(let r=0;r<s.length;r++){const o=s[r];if(t[o]!==e[o]&&!qt(n,o))return!0}return!1}function Bo({vnode:e,parent:t},n){for(;t&&t.subTree===e;)(e=t.vnode).el=n,t=t.parent}const Do=e=>e.__isSuspense;function Lo(e,t){t&&t.pendingBranch?P(e)?t.effects.push(...e):t.effects.push(e):Oo(e)}function Ho(e,t){if(G){let n=G.provides;const s=G.parent&&G.parent.provides;s===n&&(n=G.provides=Object.create(s)),n[e]=t}}function on(e,t,n=!1){const s=G||ve;if(s){const r=s.parent==null?s.vnode.appContext&&s.vnode.appContext.provides:s.parent.provides;if(r&&e in r)return r[e];if(arguments.length>1)return n&&I(t)?t.call(s.proxy):t}}const cs={};function ln(e,t,n){return rr(e,t,n)}function rr(e,t,{immediate:n,deep:s,flush:r,onTrack:o,onTrigger:i}=j){const c=G;let f,a=!1,_=!1;if(V(e)?(f=()=>e.value,a=Ws(e)):ct(e)?(f=()=>e,s=!0):P(e)?(_=!0,a=e.some(ct),f=()=>e.map(L=>{if(V(L))return L.value;if(ct(L))return Ye(L);if(I(L))return He(L,c,2)})):I(e)?t?f=()=>He(e,c,2):f=()=>{if(!(c&&c.isUnmounted))return v&&v(),ge(e,c,3,[p])}:f=xe,t&&s){const L=f;f=()=>Ye(L())}let v,p=L=>{v=O.onStop=()=>{He(L,c,4)}};if(Tt)return p=xe,t?n&&ge(t,c,3,[f(),_?[]:void 0,p]):f(),xe;let F=_?[]:cs;const N=()=>{if(!!O.active)if(t){const L=O.run();(s||a||(_?L.some((he,Z)=>Ct(he,F[Z])):Ct(L,F)))&&(v&&v(),ge(t,c,3,[L,F===cs?void 0:F,p]),F=L)}else O.run()};N.allowRecurse=!!t;let $;r==="sync"?$=N:r==="post"?$=()=>re(N,c&&c.suspense):$=()=>{!c||c.isMounted?$o(N):N()};const O=new Nn(f,$);return t?n?N():F=O.run():r==="post"?re(O.run.bind(O),c&&c.suspense):O.run(),()=>{O.stop(),c&&c.scope&&On(c.scope.effects,O)}}function Uo(e,t,n){const s=this.proxy,r=Y(e)?e.includes(".")?or(s,e):()=>s[e]:e.bind(s,s);let o;I(t)?o=t:(o=t.handler,n=t);const i=G;ft(this);const c=rr(r,o.bind(s),n);return i?ft(i):Qe(),c}function or(e,t){const n=t.split(".");return()=>{let s=e;for(let r=0;r<n.length&&s;r++)s=s[n[r]];return s}}function Ye(e,t){if(!X(e)||e.__v_skip||(t=t||new Set,t.has(e)))return e;if(t.add(e),V(e))Ye(e.value,t);else if(P(e))for(let n=0;n<e.length;n++)Ye(e[n],t);else if(Ms(e)||lt(e))e.forEach(n=>{Ye(n,t)});else if(Ps(e))for(const n in e)Ye(e[n],t);return e}function jo(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return ur(()=>{e.isMounted=!0}),kn(()=>{e.isUnmounting=!0}),e}const pe=[Function,Array],Ko={name:"BaseTransition",props:{mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:pe,onEnter:pe,onAfterEnter:pe,onEnterCancelled:pe,onBeforeLeave:pe,onLeave:pe,onAfterLeave:pe,onLeaveCancelled:pe,onBeforeAppear:pe,onAppear:pe,onAfterAppear:pe,onAppearCancelled:pe},setup(e,{slots:t}){const n=$i(),s=jo();let r;return()=>{const o=t.default&&lr(t.default(),!0);if(!o||!o.length)return;let i=o[0];if(o.length>1){for(const $ of o)if($.type!==Oe){i=$;break}}const c=D(e),{mode:f}=c;if(s.isLeaving)return cn(i);const a=us(i);if(!a)return cn(i);const _=bn(a,c,s,n);yn(a,_);const v=n.subTree,p=v&&us(v);let F=!1;const{getTransitionKey:N}=a.type;if(N){const $=N();r===void 0?r=$:$!==r&&(r=$,F=!0)}if(p&&p.type!==Oe&&(!qe(a,p)||F)){const $=bn(p,c,s,n);if(yn(p,$),f==="out-in")return s.isLeaving=!0,$.afterLeave=()=>{s.isLeaving=!1,n.update()},cn(i);f==="in-out"&&a.type!==Oe&&($.delayLeave=(O,L,he)=>{const Z=ir(s,p);Z[String(p.key)]=p,O._leaveCb=()=>{L(),O._leaveCb=void 0,delete _.delayedLeave},_.delayedLeave=he})}return i}}},ko=Ko;function ir(e,t){const{leavingVNodes:n}=e;let s=n.get(t.type);return s||(s=Object.create(null),n.set(t.type,s)),s}function bn(e,t,n,s){const{appear:r,mode:o,persisted:i=!1,onBeforeEnter:c,onEnter:f,onAfterEnter:a,onEnterCancelled:_,onBeforeLeave:v,onLeave:p,onAfterLeave:F,onLeaveCancelled:N,onBeforeAppear:$,onAppear:O,onAfterAppear:L,onAppearCancelled:he}=t,Z=String(e.key),q=ir(n,e),oe=(H,Q)=>{H&&ge(H,s,9,Q)},Ke={mode:o,persisted:i,beforeEnter(H){let Q=c;if(!n.isMounted)if(r)Q=$||c;else return;H._leaveCb&&H._leaveCb(!0);const J=q[Z];J&&qe(e,J)&&J.el._leaveCb&&J.el._leaveCb(),oe(Q,[H])},enter(H){let Q=f,J=a,_e=_;if(!n.isMounted)if(r)Q=O||f,J=L||a,_e=he||_;else return;let ie=!1;const me=H._enterCb=et=>{ie||(ie=!0,et?oe(_e,[H]):oe(J,[H]),Ke.delayedLeave&&Ke.delayedLeave(),H._enterCb=void 0)};Q?(Q(H,me),Q.length<=1&&me()):me()},leave(H,Q){const J=String(e.key);if(H._enterCb&&H._enterCb(!0),n.isUnmounting)return Q();oe(v,[H]);let _e=!1;const ie=H._leaveCb=me=>{_e||(_e=!0,Q(),me?oe(N,[H]):oe(F,[H]),H._leaveCb=void 0,q[J]===e&&delete q[J])};q[J]=e,p?(p(H,ie),p.length<=1&&ie()):ie()},clone(H){return bn(H,t,n,s)}};return Ke}function cn(e){if(Vt(e))return e=Ge(e),e.children=null,e}function us(e){return Vt(e)?e.children?e.children[0]:void 0:e}function yn(e,t){e.shapeFlag&6&&e.component?yn(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function lr(e,t=!1,n){let s=[],r=0;for(let o=0;o<e.length;o++){let i=e[o];const c=n==null?i.key:String(n)+String(i.key!=null?i.key:o);i.type===ue?(i.patchFlag&128&&r++,s=s.concat(lr(i.children,t,c))):(t||i.type!==Oe)&&s.push(c!=null?Ge(i,{key:c}):i)}if(r>1)for(let o=0;o<s.length;o++)s[o].patchFlag=-2;return s}function Jt(e){return I(e)?{setup:e,name:e.name}:e}const vn=e=>!!e.type.__asyncLoader,Vt=e=>e.type.__isKeepAlive;function Wo(e,t){cr(e,"a",t)}function zo(e,t){cr(e,"da",t)}function cr(e,t,n=G){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(Yt(t,s,n),n){let r=n.parent;for(;r&&r.parent;)Vt(r.parent.vnode)&&qo(s,t,n,r),r=r.parent}}function qo(e,t,n,s){const r=Yt(t,e,s,!0);fr(()=>{On(s[t],r)},n)}function Yt(e,t,n=G,s=!1){if(n){const r=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...i)=>{if(n.isUnmounted)return;dt(),ft(n);const c=ge(t,n,e,i);return Qe(),ht(),c});return s?r.unshift(o):r.push(o),o}}const Se=e=>(t,n=G)=>(!Tt||e==="sp")&&Yt(e,t,n),Jo=Se("bm"),ur=Se("m"),Vo=Se("bu"),Yo=Se("u"),kn=Se("bum"),fr=Se("um"),Xo=Se("sp"),Zo=Se("rtg"),Qo=Se("rtc");function Go(e,t=G){Yt("ec",e,t)}let xn=!0;function ei(e){const t=dr(e),n=e.proxy,s=e.ctx;xn=!1,t.beforeCreate&&fs(t.beforeCreate,e,"bc");const{data:r,computed:o,methods:i,watch:c,provide:f,inject:a,created:_,beforeMount:v,mounted:p,beforeUpdate:F,updated:N,activated:$,deactivated:O,beforeDestroy:L,beforeUnmount:he,destroyed:Z,unmounted:q,render:oe,renderTracked:Ke,renderTriggered:H,errorCaptured:Q,serverPrefetch:J,expose:_e,inheritAttrs:ie,components:me,directives:et,filters:Vn}=t;if(a&&ti(a,s,null,e.appContext.config.unwrapInjectedRef),i)for(const z in i){const K=i[z];I(K)&&(s[z]=K.bind(n))}if(r){const z=r.call(n,n);X(z)&&(e.data=Ln(z))}if(xn=!0,o)for(const z in o){const K=o[z],Te=I(K)?K.bind(n,n):I(K.get)?K.get.bind(n,n):xe,Gt=!I(K)&&I(K.set)?K.set.bind(n):xe,pt=ce({get:Te,set:Gt});Object.defineProperty(s,z,{enumerable:!0,configurable:!0,get:()=>pt.value,set:tt=>pt.value=tt})}if(c)for(const z in c)ar(c[z],s,n,z);if(f){const z=I(f)?f.call(n):f;Reflect.ownKeys(z).forEach(K=>{Ho(K,z[K])})}_&&fs(_,e,"c");function se(z,K){P(K)?K.forEach(Te=>z(Te.bind(n))):K&&z(K.bind(n))}if(se(Jo,v),se(ur,p),se(Vo,F),se(Yo,N),se(Wo,$),se(zo,O),se(Go,Q),se(Qo,Ke),se(Zo,H),se(kn,he),se(fr,q),se(Xo,J),P(_e))if(_e.length){const z=e.exposed||(e.exposed={});_e.forEach(K=>{Object.defineProperty(z,K,{get:()=>n[K],set:Te=>n[K]=Te})})}else e.exposed||(e.exposed={});oe&&e.render===xe&&(e.render=oe),ie!=null&&(e.inheritAttrs=ie),me&&(e.components=me),et&&(e.directives=et)}function ti(e,t,n=xe,s=!1){P(e)&&(e=Cn(e));for(const r in e){const o=e[r];let i;X(o)?"default"in o?i=on(o.from||r,o.default,!0):i=on(o.from||r):i=on(o),V(i)&&s?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>i.value,set:c=>i.value=c}):t[r]=i}}function fs(e,t,n){ge(P(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function ar(e,t,n,s){const r=s.includes(".")?or(n,s):()=>n[s];if(Y(e)){const o=t[e];I(o)&&ln(r,o)}else if(I(e))ln(r,e.bind(n));else if(X(e))if(P(e))e.forEach(o=>ar(o,t,n,s));else{const o=I(e.handler)?e.handler.bind(n):t[e.handler];I(o)&&ln(r,o,e)}}function dr(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:r,optionsCache:o,config:{optionMergeStrategies:i}}=e.appContext,c=o.get(t);let f;return c?f=c:!r.length&&!n&&!s?f=t:(f={},r.length&&r.forEach(a=>Lt(f,a,i,!0)),Lt(f,t,i)),o.set(t,f),f}function Lt(e,t,n,s=!1){const{mixins:r,extends:o}=t;o&&Lt(e,o,n,!0),r&&r.forEach(i=>Lt(e,i,n,!0));for(const i in t)if(!(s&&i==="expose")){const c=ni[i]||n&&n[i];e[i]=c?c(e[i],t[i]):t[i]}return e}const ni={data:as,props:ze,emits:ze,methods:ze,computed:ze,beforeCreate:ne,created:ne,beforeMount:ne,mounted:ne,beforeUpdate:ne,updated:ne,beforeDestroy:ne,beforeUnmount:ne,destroyed:ne,unmounted:ne,activated:ne,deactivated:ne,errorCaptured:ne,serverPrefetch:ne,components:ze,directives:ze,watch:ri,provide:as,inject:si};function as(e,t){return t?e?function(){return ee(I(e)?e.call(this,this):e,I(t)?t.call(this,this):t)}:t:e}function si(e,t){return ze(Cn(e),Cn(t))}function Cn(e){if(P(e)){const t={};for(let n=0;n<e.length;n++)t[e[n]]=e[n];return t}return e}function ne(e,t){return e?[...new Set([].concat(e,t))]:t}function ze(e,t){return e?ee(ee(Object.create(null),e),t):t}function ri(e,t){if(!e)return t;if(!t)return e;const n=ee(Object.create(null),e);for(const s in t)n[s]=ne(e[s],t[s]);return n}function oi(e,t,n,s=!1){const r={},o={};Rt(o,Xt,1),e.propsDefaults=Object.create(null),hr(e,t,r,o);for(const i in e.propsOptions[0])i in r||(r[i]=void 0);n?e.props=s?r:_o(r):e.type.props?e.props=r:e.props=o,e.attrs=o}function ii(e,t,n,s){const{props:r,attrs:o,vnode:{patchFlag:i}}=e,c=D(r),[f]=e.propsOptions;let a=!1;if((s||i>0)&&!(i&16)){if(i&8){const _=e.vnode.dynamicProps;for(let v=0;v<_.length;v++){let p=_[v];if(qt(e.emitsOptions,p))continue;const F=t[p];if(f)if(R(o,p))F!==o[p]&&(o[p]=F,a=!0);else{const N=ut(p);r[N]=wn(f,c,N,F,e,!1)}else F!==o[p]&&(o[p]=F,a=!0)}}}else{hr(e,t,r,o)&&(a=!0);let _;for(const v in c)(!t||!R(t,v)&&((_=at(v))===v||!R(t,_)))&&(f?n&&(n[v]!==void 0||n[_]!==void 0)&&(r[v]=wn(f,c,v,void 0,e,!0)):delete r[v]);if(o!==c)for(const v in o)(!t||!R(t,v)&&!0)&&(delete o[v],a=!0)}a&&Ie(e,"set","$attrs")}function hr(e,t,n,s){const[r,o]=e.propsOptions;let i=!1,c;if(t)for(let f in t){if(St(f))continue;const a=t[f];let _;r&&R(r,_=ut(f))?!o||!o.includes(_)?n[_]=a:(c||(c={}))[_]=a:qt(e.emitsOptions,f)||(!(f in s)||a!==s[f])&&(s[f]=a,i=!0)}if(o){const f=D(n),a=c||j;for(let _=0;_<o.length;_++){const v=o[_];n[v]=wn(r,f,v,a[v],e,!R(a,v))}}return i}function wn(e,t,n,s,r,o){const i=e[n];if(i!=null){const c=R(i,"default");if(c&&s===void 0){const f=i.default;if(i.type!==Function&&I(f)){const{propsDefaults:a}=r;n in a?s=a[n]:(ft(r),s=a[n]=f.call(null,t),Qe())}else s=f}i[0]&&(o&&!c?s=!1:i[1]&&(s===""||s===at(n))&&(s=!0))}return s}function pr(e,t,n=!1){const s=t.propsCache,r=s.get(e);if(r)return r;const o=e.props,i={},c=[];let f=!1;if(!I(e)){const _=v=>{f=!0;const[p,F]=pr(v,t,!0);ee(i,p),F&&c.push(...F)};!n&&t.mixins.length&&t.mixins.forEach(_),e.extends&&_(e.extends),e.mixins&&e.mixins.forEach(_)}if(!o&&!f)return s.set(e,it),it;if(P(o))for(let _=0;_<o.length;_++){const v=ut(o[_]);ds(v)&&(i[v]=j)}else if(o)for(const _ in o){const v=ut(_);if(ds(v)){const p=o[_],F=i[v]=P(p)||I(p)?{type:p}:p;if(F){const N=gs(Boolean,F.type),$=gs(String,F.type);F[0]=N>-1,F[1]=$<0||N<$,(N>-1||R(F,"default"))&&c.push(v)}}}const a=[i,c];return s.set(e,a),a}function ds(e){return e[0]!=="$"}function hs(e){const t=e&&e.toString().match(/^\s*function (\w+)/);return t?t[1]:e===null?"null":""}function ps(e,t){return hs(e)===hs(t)}function gs(e,t){return P(t)?t.findIndex(n=>ps(n,e)):I(t)&&ps(t,e)?0:-1}const gr=e=>e[0]==="_"||e==="$stable",Wn=e=>P(e)?e.map(Fe):[Fe(e)],li=(e,t,n)=>{const s=Io((...r)=>Wn(t(...r)),n);return s._c=!1,s},_r=(e,t,n)=>{const s=e._ctx;for(const r in e){if(gr(r))continue;const o=e[r];if(I(o))t[r]=li(r,o,s);else if(o!=null){const i=Wn(o);t[r]=()=>i}}},mr=(e,t)=>{const n=Wn(t);e.slots.default=()=>n},ci=(e,t)=>{if(e.vnode.shapeFlag&32){const n=t._;n?(e.slots=D(t),Rt(t,"_",n)):_r(t,e.slots={})}else e.slots={},t&&mr(e,t);Rt(e.slots,Xt,1)},ui=(e,t,n)=>{const{vnode:s,slots:r}=e;let o=!0,i=j;if(s.shapeFlag&32){const c=t._;c?n&&c===1?o=!1:(ee(r,t),!n&&c===1&&delete r._):(o=!t.$stable,_r(t,r)),i=t}else t&&(mr(e,t),i={default:1});if(o)for(const c in r)!gr(c)&&!(c in i)&&delete r[c]};function fi(e,t){const n=ve;if(n===null)return e;const s=Zt(n)||n.proxy,r=e.dirs||(e.dirs=[]);for(let o=0;o<t.length;o++){let[i,c,f,a=j]=t[o];I(i)&&(i={mounted:i,updated:i}),i.deep&&Ye(c),r.push({dir:i,instance:s,value:c,oldValue:void 0,arg:f,modifiers:a})}return e}function ke(e,t,n,s){const r=e.dirs,o=t&&t.dirs;for(let i=0;i<r.length;i++){const c=r[i];o&&(c.oldValue=o[i].value);let f=c.dir[s];f&&(dt(),ge(f,n,8,[e.el,c,e,t]),ht())}}function br(){return{app:null,config:{isNativeTag:Nr,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let ai=0;function di(e,t){return function(s,r=null){I(s)||(s=Object.assign({},s)),r!=null&&!X(r)&&(r=null);const o=br(),i=new Set;let c=!1;const f=o.app={_uid:ai++,_component:s,_props:r,_container:null,_context:o,_instance:null,version:Ri,get config(){return o.config},set config(a){},use(a,..._){return i.has(a)||(a&&I(a.install)?(i.add(a),a.install(f,..._)):I(a)&&(i.add(a),a(f,..._))),f},mixin(a){return o.mixins.includes(a)||o.mixins.push(a),f},component(a,_){return _?(o.components[a]=_,f):o.components[a]},directive(a,_){return _?(o.directives[a]=_,f):o.directives[a]},mount(a,_,v){if(!c){const p=ae(s,r);return p.appContext=o,_&&t?t(p,a):e(p,a,v),c=!0,f._container=a,a.__vue_app__=f,Zt(p.component)||p.component.proxy}},unmount(){c&&(e(null,f._container),delete f._container.__vue_app__)},provide(a,_){return o.provides[a]=_,f}};return f}}function En(e,t,n,s,r=!1){if(P(e)){e.forEach((p,F)=>En(p,t&&(P(t)?t[F]:t),n,s,r));return}if(vn(s)&&!r)return;const o=s.shapeFlag&4?Zt(s.component)||s.component.proxy:s.el,i=r?null:o,{i:c,r:f}=e,a=t&&t.r,_=c.refs===j?c.refs={}:c.refs,v=c.setupState;if(a!=null&&a!==f&&(Y(a)?(_[a]=null,R(v,a)&&(v[a]=null)):V(a)&&(a.value=null)),I(f))He(f,c,12,[i,_]);else{const p=Y(f),F=V(f);if(p||F){const N=()=>{if(e.f){const $=p?_[f]:f.value;r?P($)&&On($,o):P($)?$.includes(o)||$.push(o):p?(_[f]=[o],R(v,f)&&(v[f]=_[f])):(f.value=[o],e.k&&(_[e.k]=f.value))}else p?(_[f]=i,R(v,f)&&(v[f]=i)):V(f)&&(f.value=i,e.k&&(_[e.k]=i))};i?(N.id=-1,re(N,n)):N()}}}const re=Lo;function hi(e){return pi(e)}function pi(e,t){const n=jr();n.__VUE__=!0;const{insert:s,remove:r,patchProp:o,createElement:i,createText:c,createComment:f,setText:a,setElementText:_,parentNode:v,nextSibling:p,setScopeId:F=xe,cloneNode:N,insertStaticContent:$}=e,O=(l,u,d,g=null,h=null,y=null,C=!1,b=null,x=!!u.dynamicChildren)=>{if(l===u)return;l&&!qe(l,u)&&(g=At(l),Ne(l,h,y,!0),l=null),u.patchFlag===-2&&(x=!1,u.dynamicChildren=null);const{type:m,ref:T,shapeFlag:w}=u;switch(m){case zn:L(l,u,d,g);break;case Oe:he(l,u,d,g);break;case un:l==null&&Z(u,d,g,C);break;case ue:et(l,u,d,g,h,y,C,b,x);break;default:w&1?Ke(l,u,d,g,h,y,C,b,x):w&6?Vn(l,u,d,g,h,y,C,b,x):(w&64||w&128)&&m.process(l,u,d,g,h,y,C,b,x,nt)}T!=null&&h&&En(T,l&&l.ref,y,u||l,!u)},L=(l,u,d,g)=>{if(l==null)s(u.el=c(u.children),d,g);else{const h=u.el=l.el;u.children!==l.children&&a(h,u.children)}},he=(l,u,d,g)=>{l==null?s(u.el=f(u.children||""),d,g):u.el=l.el},Z=(l,u,d,g)=>{[l.el,l.anchor]=$(l.children,u,d,g,l.el,l.anchor)},q=({el:l,anchor:u},d,g)=>{let h;for(;l&&l!==u;)h=p(l),s(l,d,g),l=h;s(u,d,g)},oe=({el:l,anchor:u})=>{let d;for(;l&&l!==u;)d=p(l),r(l),l=d;r(u)},Ke=(l,u,d,g,h,y,C,b,x)=>{C=C||u.type==="svg",l==null?H(u,d,g,h,y,C,b,x):_e(l,u,h,y,C,b,x)},H=(l,u,d,g,h,y,C,b)=>{let x,m;const{type:T,props:w,shapeFlag:A,transition:M,patchFlag:B,dirs:W}=l;if(l.el&&N!==void 0&&B===-1)x=l.el=N(l.el);else{if(x=l.el=i(l.type,y,w&&w.is,w),A&8?_(x,l.children):A&16&&J(l.children,x,null,g,h,y&&T!=="foreignObject",C,b),W&&ke(l,null,g,"created"),w){for(const k in w)k!=="value"&&!St(k)&&o(x,k,null,w[k],y,l.children,g,h,Ae);"value"in w&&o(x,"value",null,w.value),(m=w.onVnodeBeforeMount)&&we(m,g,l)}Q(x,l,l.scopeId,C,g)}W&&ke(l,null,g,"beforeMount");const U=(!h||h&&!h.pendingBranch)&&M&&!M.persisted;U&&M.beforeEnter(x),s(x,u,d),((m=w&&w.onVnodeMounted)||U||W)&&re(()=>{m&&we(m,g,l),U&&M.enter(x),W&&ke(l,null,g,"mounted")},h)},Q=(l,u,d,g,h)=>{if(d&&F(l,d),g)for(let y=0;y<g.length;y++)F(l,g[y]);if(h){let y=h.subTree;if(u===y){const C=h.vnode;Q(l,C,C.scopeId,C.slotScopeIds,h.parent)}}},J=(l,u,d,g,h,y,C,b,x=0)=>{for(let m=x;m<l.length;m++){const T=l[m]=b?De(l[m]):Fe(l[m]);O(null,T,u,d,g,h,y,C,b)}},_e=(l,u,d,g,h,y,C)=>{const b=u.el=l.el;let{patchFlag:x,dynamicChildren:m,dirs:T}=u;x|=l.patchFlag&16;const w=l.props||j,A=u.props||j;let M;d&&We(d,!1),(M=A.onVnodeBeforeUpdate)&&we(M,d,u,l),T&&ke(u,l,d,"beforeUpdate"),d&&We(d,!0);const B=h&&u.type!=="foreignObject";if(m?ie(l.dynamicChildren,m,b,d,g,B,y):C||Te(l,u,b,null,d,g,B,y,!1),x>0){if(x&16)me(b,u,w,A,d,g,h);else if(x&2&&w.class!==A.class&&o(b,"class",null,A.class,h),x&4&&o(b,"style",w.style,A.style,h),x&8){const W=u.dynamicProps;for(let U=0;U<W.length;U++){const k=W[U],be=w[k],st=A[k];(st!==be||k==="value")&&o(b,k,be,st,h,l.children,d,g,Ae)}}x&1&&l.children!==u.children&&_(b,u.children)}else!C&&m==null&&me(b,u,w,A,d,g,h);((M=A.onVnodeUpdated)||T)&&re(()=>{M&&we(M,d,u,l),T&&ke(u,l,d,"updated")},g)},ie=(l,u,d,g,h,y,C)=>{for(let b=0;b<u.length;b++){const x=l[b],m=u[b],T=x.el&&(x.type===ue||!qe(x,m)||x.shapeFlag&70)?v(x.el):d;O(x,m,T,null,g,h,y,C,!0)}},me=(l,u,d,g,h,y,C)=>{if(d!==g){for(const b in g){if(St(b))continue;const x=g[b],m=d[b];x!==m&&b!=="value"&&o(l,b,m,x,C,u.children,h,y,Ae)}if(d!==j)for(const b in d)!St(b)&&!(b in g)&&o(l,b,d[b],null,C,u.children,h,y,Ae);"value"in g&&o(l,"value",d.value,g.value)}},et=(l,u,d,g,h,y,C,b,x)=>{const m=u.el=l?l.el:c(""),T=u.anchor=l?l.anchor:c("");let{patchFlag:w,dynamicChildren:A,slotScopeIds:M}=u;M&&(b=b?b.concat(M):M),l==null?(s(m,d,g),s(T,d,g),J(u.children,d,T,h,y,C,b,x)):w>0&&w&64&&A&&l.dynamicChildren?(ie(l.dynamicChildren,A,d,h,y,C,b),(u.key!=null||h&&u===h.subTree)&&yr(l,u,!0)):Te(l,u,d,T,h,y,C,b,x)},Vn=(l,u,d,g,h,y,C,b,x)=>{u.slotScopeIds=b,l==null?u.shapeFlag&512?h.ctx.activate(u,d,g,C,x):Qt(u,d,g,h,y,C,x):se(l,u,x)},Qt=(l,u,d,g,h,y,C)=>{const b=l.component=Mi(l,g,h);if(Vt(l)&&(b.ctx.renderer=nt),Oi(b),b.asyncDep){if(h&&h.registerDep(b,z),!l.el){const x=b.subTree=ae(Oe);he(null,x,u,d)}return}z(b,l,u,d,h,y,C)},se=(l,u,d)=>{const g=u.component=l.component;if(Ro(l,u,d))if(g.asyncDep&&!g.asyncResolved){K(g,u,d);return}else g.next=u,Mo(g.update),g.update();else u.component=l.component,u.el=l.el,g.vnode=u},z=(l,u,d,g,h,y,C)=>{const b=()=>{if(l.isMounted){let{next:T,bu:w,u:A,parent:M,vnode:B}=l,W=T,U;We(l,!1),T?(T.el=B.el,K(l,T,C)):T=B,w&&sn(w),(U=T.props&&T.props.onVnodeBeforeUpdate)&&we(U,M,T,B),We(l,!0);const k=rn(l),be=l.subTree;l.subTree=k,O(be,k,v(be.el),At(be),l,h,y),T.el=k.el,W===null&&Bo(l,k.el),A&&re(A,h),(U=T.props&&T.props.onVnodeUpdated)&&re(()=>we(U,M,T,B),h)}else{let T;const{el:w,props:A}=u,{bm:M,m:B,parent:W}=l,U=vn(u);if(We(l,!1),M&&sn(M),!U&&(T=A&&A.onVnodeBeforeMount)&&we(T,W,u),We(l,!0),w&&tn){const k=()=>{l.subTree=rn(l),tn(w,l.subTree,l,h,null)};U?u.type.__asyncLoader().then(()=>!l.isUnmounted&&k()):k()}else{const k=l.subTree=rn(l);O(null,k,d,g,l,h,y),u.el=k.el}if(B&&re(B,h),!U&&(T=A&&A.onVnodeMounted)){const k=u;re(()=>we(T,W,k),h)}u.shapeFlag&256&&l.a&&re(l.a,h),l.isMounted=!0,u=d=g=null}},x=l.effect=new Nn(b,()=>Zs(l.update),l.scope),m=l.update=x.run.bind(x);m.id=l.uid,We(l,!0),m()},K=(l,u,d)=>{u.component=l;const g=l.vnode.props;l.vnode=u,l.next=null,ii(l,u.props,g,d),ui(l,u.children,d),dt(),Kn(void 0,l.update),ht()},Te=(l,u,d,g,h,y,C,b,x=!1)=>{const m=l&&l.children,T=l?l.shapeFlag:0,w=u.children,{patchFlag:A,shapeFlag:M}=u;if(A>0){if(A&128){pt(m,w,d,g,h,y,C,b,x);return}else if(A&256){Gt(m,w,d,g,h,y,C,b,x);return}}M&8?(T&16&&Ae(m,h,y),w!==m&&_(d,w)):T&16?M&16?pt(m,w,d,g,h,y,C,b,x):Ae(m,h,y,!0):(T&8&&_(d,""),M&16&&J(w,d,g,h,y,C,b,x))},Gt=(l,u,d,g,h,y,C,b,x)=>{l=l||it,u=u||it;const m=l.length,T=u.length,w=Math.min(m,T);let A;for(A=0;A<w;A++){const M=u[A]=x?De(u[A]):Fe(u[A]);O(l[A],M,d,null,h,y,C,b,x)}m>T?Ae(l,h,y,!0,!1,w):J(u,d,g,h,y,C,b,x,w)},pt=(l,u,d,g,h,y,C,b,x)=>{let m=0;const T=u.length;let w=l.length-1,A=T-1;for(;m<=w&&m<=A;){const M=l[m],B=u[m]=x?De(u[m]):Fe(u[m]);if(qe(M,B))O(M,B,d,null,h,y,C,b,x);else break;m++}for(;m<=w&&m<=A;){const M=l[w],B=u[A]=x?De(u[A]):Fe(u[A]);if(qe(M,B))O(M,B,d,null,h,y,C,b,x);else break;w--,A--}if(m>w){if(m<=A){const M=A+1,B=M<T?u[M].el:g;for(;m<=A;)O(null,u[m]=x?De(u[m]):Fe(u[m]),d,B,h,y,C,b,x),m++}}else if(m>A)for(;m<=w;)Ne(l[m],h,y,!0),m++;else{const M=m,B=m,W=new Map;for(m=B;m<=A;m++){const le=u[m]=x?De(u[m]):Fe(u[m]);le.key!=null&&W.set(le.key,m)}let U,k=0;const be=A-B+1;let st=!1,Zn=0;const gt=new Array(be);for(m=0;m<be;m++)gt[m]=0;for(m=M;m<=w;m++){const le=l[m];if(k>=be){Ne(le,h,y,!0);continue}let Ce;if(le.key!=null)Ce=W.get(le.key);else for(U=B;U<=A;U++)if(gt[U-B]===0&&qe(le,u[U])){Ce=U;break}Ce===void 0?Ne(le,h,y,!0):(gt[Ce-B]=m+1,Ce>=Zn?Zn=Ce:st=!0,O(le,u[Ce],d,null,h,y,C,b,x),k++)}const Qn=st?gi(gt):it;for(U=Qn.length-1,m=be-1;m>=0;m--){const le=B+m,Ce=u[le],Gn=le+1<T?u[le+1].el:g;gt[m]===0?O(null,Ce,d,Gn,h,y,C,b,x):st&&(U<0||m!==Qn[U]?tt(Ce,d,Gn,2):U--)}}},tt=(l,u,d,g,h=null)=>{const{el:y,type:C,transition:b,children:x,shapeFlag:m}=l;if(m&6){tt(l.component.subTree,u,d,g);return}if(m&128){l.suspense.move(u,d,g);return}if(m&64){C.move(l,u,d,nt);return}if(C===ue){s(y,u,d);for(let w=0;w<x.length;w++)tt(x[w],u,d,g);s(l.anchor,u,d);return}if(C===un){q(l,u,d);return}if(g!==2&&m&1&&b)if(g===0)b.beforeEnter(y),s(y,u,d),re(()=>b.enter(y),h);else{const{leave:w,delayLeave:A,afterLeave:M}=b,B=()=>s(y,u,d),W=()=>{w(y,()=>{B(),M&&M()})};A?A(y,B,W):W()}else s(y,u,d)},Ne=(l,u,d,g=!1,h=!1)=>{const{type:y,props:C,ref:b,children:x,dynamicChildren:m,shapeFlag:T,patchFlag:w,dirs:A}=l;if(b!=null&&En(b,null,d,l,!0),T&256){u.ctx.deactivate(l);return}const M=T&1&&A,B=!vn(l);let W;if(B&&(W=C&&C.onVnodeBeforeUnmount)&&we(W,u,l),T&6)Ar(l.component,d,g);else{if(T&128){l.suspense.unmount(d,g);return}M&&ke(l,null,u,"beforeUnmount"),T&64?l.type.remove(l,u,d,h,nt,g):m&&(y!==ue||w>0&&w&64)?Ae(m,u,d,!1,!0):(y===ue&&w&384||!h&&T&16)&&Ae(x,u,d),g&&Yn(l)}(B&&(W=C&&C.onVnodeUnmounted)||M)&&re(()=>{W&&we(W,u,l),M&&ke(l,null,u,"unmounted")},d)},Yn=l=>{const{type:u,el:d,anchor:g,transition:h}=l;if(u===ue){Tr(d,g);return}if(u===un){oe(l);return}const y=()=>{r(d),h&&!h.persisted&&h.afterLeave&&h.afterLeave()};if(l.shapeFlag&1&&h&&!h.persisted){const{leave:C,delayLeave:b}=h,x=()=>C(d,y);b?b(l.el,y,x):x()}else y()},Tr=(l,u)=>{let d;for(;l!==u;)d=p(l),r(l),l=d;r(u)},Ar=(l,u,d)=>{const{bum:g,scope:h,update:y,subTree:C,um:b}=l;g&&sn(g),h.stop(),y&&(y.active=!1,Ne(C,l,u,d)),b&&re(b,u),re(()=>{l.isUnmounted=!0},u),u&&u.pendingBranch&&!u.isUnmounted&&l.asyncDep&&!l.asyncResolved&&l.suspenseId===u.pendingId&&(u.deps--,u.deps===0&&u.resolve())},Ae=(l,u,d,g=!1,h=!1,y=0)=>{for(let C=y;C<l.length;C++)Ne(l[C],u,d,g,h)},At=l=>l.shapeFlag&6?At(l.component.subTree):l.shapeFlag&128?l.suspense.next():p(l.anchor||l.el),Xn=(l,u,d)=>{l==null?u._vnode&&Ne(u._vnode,null,null,!0):O(u._vnode||null,l,u,null,null,null,d),er(),u._vnode=l},nt={p:O,um:Ne,m:tt,r:Yn,mt:Qt,mc:J,pc:Te,pbc:ie,n:At,o:e};let en,tn;return t&&([en,tn]=t(nt)),{render:Xn,hydrate:en,createApp:di(Xn,en)}}function We({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function yr(e,t,n=!1){const s=e.children,r=t.children;if(P(s)&&P(r))for(let o=0;o<s.length;o++){const i=s[o];let c=r[o];c.shapeFlag&1&&!c.dynamicChildren&&((c.patchFlag<=0||c.patchFlag===32)&&(c=r[o]=De(r[o]),c.el=i.el),n||yr(i,c))}}function gi(e){const t=e.slice(),n=[0];let s,r,o,i,c;const f=e.length;for(s=0;s<f;s++){const a=e[s];if(a!==0){if(r=n[n.length-1],e[r]<a){t[s]=r,n.push(s);continue}for(o=0,i=n.length-1;o<i;)c=o+i>>1,e[n[c]]<a?o=c+1:i=c;a<e[n[o]]&&(o>0&&(t[s]=n[o-1]),n[o]=s)}}for(o=n.length,i=n[o-1];o-- >0;)n[o]=i,i=t[i];return n}const _i=e=>e.__isTeleport,mi=Symbol(),ue=Symbol(void 0),zn=Symbol(void 0),Oe=Symbol(void 0),un=Symbol(void 0),xt=[];let Ze=null;function Pe(e=!1){xt.push(Ze=e?null:[])}function bi(){xt.pop(),Ze=xt[xt.length-1]||null}let Ht=1;function _s(e){Ht+=e}function vr(e){return e.dynamicChildren=Ht>0?Ze||it:null,bi(),Ht>0&&Ze&&Ze.push(e),e}function je(e,t,n,s,r,o){return vr(E(e,t,n,s,r,o,!0))}function yi(e,t,n,s,r){return vr(ae(e,t,n,s,r,!0))}function vi(e){return e?e.__v_isVNode===!0:!1}function qe(e,t){return e.type===t.type&&e.key===t.key}const Xt="__vInternal",xr=({key:e})=>e!=null?e:null,Nt=({ref:e,ref_key:t,ref_for:n})=>e!=null?Y(e)||V(e)||I(e)?{i:ve,r:e,k:t,f:!!n}:e:null;function E(e,t=null,n=null,s=0,r=null,o=e===ue?0:1,i=!1,c=!1){const f={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&xr(t),ref:t&&Nt(t),scopeId:sr,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null};return c?(qn(f,n),o&128&&e.normalize(f)):n&&(f.shapeFlag|=Y(n)?8:16),Ht>0&&!i&&Ze&&(f.patchFlag>0||o&6)&&f.patchFlag!==32&&Ze.push(f),f}const ae=xi;function xi(e,t=null,n=null,s=0,r=null,o=!1){if((!e||e===mi)&&(e=Oe),vi(e)){const c=Ge(e,t,!0);return n&&qn(c,n),c}if(Ni(e)&&(e=e.__vccOpts),t){t=Ci(t);let{class:c,style:f}=t;c&&!Y(c)&&(t.class=Me(c)),X(f)&&(zs(f)&&!P(f)&&(f=ee({},f)),t.style=Ve(f))}const i=Y(e)?1:Do(e)?128:_i(e)?64:X(e)?4:I(e)?2:0;return E(e,t,n,s,r,i,o,!0)}function Ci(e){return e?zs(e)||Xt in e?ee({},e):e:null}function Ge(e,t,n=!1){const{props:s,ref:r,patchFlag:o,children:i}=e,c=t?wi(s||{},t):s;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&xr(c),ref:t&&t.ref?n&&r?P(r)?r.concat(Nt(t)):[r,Nt(t)]:Nt(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==ue?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Ge(e.ssContent),ssFallback:e.ssFallback&&Ge(e.ssFallback),el:e.el,anchor:e.anchor}}function Cr(e=" ",t=0){return ae(zn,null,e,t)}function Fe(e){return e==null||typeof e=="boolean"?ae(Oe):P(e)?ae(ue,null,e.slice()):typeof e=="object"?De(e):ae(zn,null,String(e))}function De(e){return e.el===null||e.memo?e:Ge(e)}function qn(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(P(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),qn(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!(Xt in t)?t._ctx=ve:r===3&&ve&&(ve.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else I(t)?(t={default:t,_ctx:ve},n=32):(t=String(t),s&64?(n=16,t=[Cr(t)]):n=8);e.children=t,e.shapeFlag|=n}function wi(...e){const t={};for(let n=0;n<e.length;n++){const s=e[n];for(const r in s)if(r==="class")t.class!==s.class&&(t.class=Me([t.class,s.class]));else if(r==="style")t.style=Ve([t.style,s.style]);else if(jt(r)){const o=t[r],i=s[r];i&&o!==i&&!(P(o)&&o.includes(i))&&(t[r]=o?[].concat(o,i):i)}else r!==""&&(t[r]=s[r])}return t}function we(e,t,n,s=null){ge(e,t,7,[n,s])}function Ei(e,t,n,s){let r;const o=n&&n[s];if(P(e)||Y(e)){r=new Array(e.length);for(let i=0,c=e.length;i<c;i++)r[i]=t(e[i],i,void 0,o&&o[i])}else if(typeof e=="number"){r=new Array(e);for(let i=0;i<e;i++)r[i]=t(i+1,i,void 0,o&&o[i])}else if(X(e))if(e[Symbol.iterator])r=Array.from(e,(i,c)=>t(i,c,void 0,o&&o[c]));else{const i=Object.keys(e);r=new Array(i.length);for(let c=0,f=i.length;c<f;c++){const a=i[c];r[c]=t(e[a],a,c,o&&o[c])}}else r=[];return n&&(n[s]=r),r}const Fn=e=>e?wr(e)?Zt(e)||e.proxy:Fn(e.parent):null,Ut=ee(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=>Fn(e.parent),$root:e=>Fn(e.root),$emit:e=>e.emit,$options:e=>dr(e),$forceUpdate:e=>()=>Zs(e.update),$nextTick:e=>To.bind(e.proxy),$watch:e=>Uo.bind(e)}),Fi={get({_:e},t){const{ctx:n,setupState:s,data:r,props:o,accessCache:i,type:c,appContext:f}=e;let a;if(t[0]!=="$"){const F=i[t];if(F!==void 0)switch(F){case 1:return s[t];case 2:return r[t];case 4:return n[t];case 3:return o[t]}else{if(s!==j&&R(s,t))return i[t]=1,s[t];if(r!==j&&R(r,t))return i[t]=2,r[t];if((a=e.propsOptions[0])&&R(a,t))return i[t]=3,o[t];if(n!==j&&R(n,t))return i[t]=4,n[t];xn&&(i[t]=0)}}const _=Ut[t];let v,p;if(_)return t==="$attrs"&&de(e,"get",t),_(e);if((v=c.__cssModules)&&(v=v[t]))return v;if(n!==j&&R(n,t))return i[t]=4,n[t];if(p=f.config.globalProperties,R(p,t))return p[t]},set({_:e},t,n){const{data:s,setupState:r,ctx:o}=e;return r!==j&&R(r,t)?(r[t]=n,!0):s!==j&&R(s,t)?(s[t]=n,!0):R(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:r,propsOptions:o}},i){let c;return!!n[i]||e!==j&&R(e,i)||t!==j&&R(t,i)||(c=o[0])&&R(c,i)||R(s,i)||R(Ut,i)||R(r.config.globalProperties,i)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:R(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}},Ti=br();let Ai=0;function Mi(e,t,n){const s=e.type,r=(t?t.appContext:e.appContext)||Ti,o={uid:Ai++,vnode:e,type:s,parent:t,appContext:r,root:null,next:null,subTree:null,effect:null,update:null,scope:new Kr(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(r.provides),accessCache:null,renderCache:[],components:null,directives:null,propsOptions:pr(s,r),emitsOptions:nr(s,r),emit:null,emitted:null,propsDefaults:j,inheritAttrs:s.inheritAttrs,ctx:j,data:j,props:j,attrs:j,slots:j,refs:j,setupState:j,setupContext:null,suspense:n,suspenseId:n?n.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return o.ctx={_:o},o.root=t?t.root:o,o.emit=Po.bind(null,o),e.ce&&e.ce(o),o}let G=null;const $i=()=>G||ve,ft=e=>{G=e,e.scope.on()},Qe=()=>{G&&G.scope.off(),G=null};function wr(e){return e.vnode.shapeFlag&4}let Tt=!1;function Oi(e,t=!1){Tt=t;const{props:n,children:s}=e.vnode,r=wr(e);oi(e,n,r,t),ci(e,s);const o=r?Pi(e,t):void 0;return Tt=!1,o}function Pi(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=qs(new Proxy(e.ctx,Fi));const{setup:s}=n;if(s){const r=e.setupContext=s.length>1?Si(e):null;ft(e),dt();const o=He(s,e,0,[e.props,r]);if(ht(),Qe(),$s(o)){if(o.then(Qe,Qe),t)return o.then(i=>{ms(e,i,t)}).catch(i=>{zt(i,e,0)});e.asyncDep=o}else ms(e,o,t)}else Er(e,t)}function ms(e,t,n){I(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:X(t)&&(e.setupState=Ys(t)),Er(e,n)}let bs;function Er(e,t,n){const s=e.type;if(!e.render){if(!t&&bs&&!s.render){const r=s.template;if(r){const{isCustomElement:o,compilerOptions:i}=e.appContext.config,{delimiters:c,compilerOptions:f}=s,a=ee(ee({isCustomElement:o,delimiters:c},i),f);s.render=bs(r,a)}}e.render=s.render||xe}ft(e),dt(),ei(e),ht(),Qe()}function Ii(e){return new Proxy(e.attrs,{get(t,n){return de(e,"get","$attrs"),t[n]}})}function Si(e){const t=s=>{e.exposed=s||{}};let n;return{get attrs(){return n||(n=Ii(e))},slots:e.slots,emit:e.emit,expose:t}}function Zt(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(Ys(qs(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Ut)return Ut[n](e)}}))}function Ni(e){return I(e)&&"__vccOpts"in e}const ce=(e,t)=>Eo(e,t,Tt),Ri="3.2.33",Bi="http://www.w3.org/2000/svg",Je=typeof document!="undefined"?document:null,ys=Je&&Je.createElement("template"),Di={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const r=t?Je.createElementNS(Bi,e):Je.createElement(e,n?{is:n}:void 0);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>Je.createTextNode(e),createComment:e=>Je.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Je.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},cloneNode(e){const t=e.cloneNode(!0);return"_value"in e&&(t._value=e._value),t},insertStaticContent(e,t,n,s,r,o){const i=n?n.previousSibling:t.lastChild;if(r&&(r===o||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===o||!(r=r.nextSibling)););else{ys.innerHTML=s?`<svg>${e}</svg>`:e;const c=ys.content;if(s){const f=c.firstChild;for(;f.firstChild;)c.appendChild(f.firstChild);c.removeChild(f)}t.insertBefore(c,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}};function Li(e,t,n){const s=e._vtc;s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}function Hi(e,t,n){const s=e.style,r=Y(n);if(n&&!r){for(const o in n)Tn(s,o,n[o]);if(t&&!Y(t))for(const o in t)n[o]==null&&Tn(s,o,"")}else{const o=s.display;r?t!==n&&(s.cssText=n):t&&e.removeAttribute("style"),"_vod"in e&&(s.display=o)}}const vs=/\s*!important$/;function Tn(e,t,n){if(P(n))n.forEach(s=>Tn(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=Ui(e,t);vs.test(n)?e.setProperty(at(s),n.replace(vs,""),"important"):e[s]=n}}const xs=["Webkit","Moz","ms"],fn={};function Ui(e,t){const n=fn[t];if(n)return n;let s=ut(t);if(s!=="filter"&&s in e)return fn[t]=s;s=Is(s);for(let r=0;r<xs.length;r++){const o=xs[r]+s;if(o in e)return fn[t]=o}return t}const Cs="http://www.w3.org/1999/xlink";function ji(e,t,n,s,r){if(s&&t.startsWith("xlink:"))n==null?e.removeAttributeNS(Cs,t.slice(6,t.length)):e.setAttributeNS(Cs,t,n);else{const o=Or(t);n==null||o&&!Ts(n)?e.removeAttribute(t):e.setAttribute(t,o?"":n)}}function Ki(e,t,n,s,r,o,i){if(t==="innerHTML"||t==="textContent"){s&&i(s,r,o),e[t]=n==null?"":n;return}if(t==="value"&&e.tagName!=="PROGRESS"&&!e.tagName.includes("-")){e._value=n;const f=n==null?"":n;(e.value!==f||e.tagName==="OPTION")&&(e.value=f),n==null&&e.removeAttribute(t);return}let c=!1;if(n===""||n==null){const f=typeof e[t];f==="boolean"?n=Ts(n):n==null&&f==="string"?(n="",c=!0):f==="number"&&(n=0,c=!0)}try{e[t]=n}catch{}c&&e.removeAttribute(t)}const[Fr,ki]=(()=>{let e=Date.now,t=!1;if(typeof window!="undefined"){Date.now()>document.createEvent("Event").timeStamp&&(e=()=>performance.now());const n=navigator.userAgent.match(/firefox\/(\d+)/i);t=!!(n&&Number(n[1])<=53)}return[e,t]})();let An=0;const Wi=Promise.resolve(),zi=()=>{An=0},qi=()=>An||(Wi.then(zi),An=Fr());function Ji(e,t,n,s){e.addEventListener(t,n,s)}function Vi(e,t,n,s){e.removeEventListener(t,n,s)}function Yi(e,t,n,s,r=null){const o=e._vei||(e._vei={}),i=o[t];if(s&&i)i.value=s;else{const[c,f]=Xi(t);if(s){const a=o[t]=Zi(s,r);Ji(e,c,a,f)}else i&&(Vi(e,c,i,f),o[t]=void 0)}}const ws=/(?:Once|Passive|Capture)$/;function Xi(e){let t;if(ws.test(e)){t={};let n;for(;n=e.match(ws);)e=e.slice(0,e.length-n[0].length),t[n[0].toLowerCase()]=!0}return[at(e.slice(2)),t]}function Zi(e,t){const n=s=>{const r=s.timeStamp||Fr();(ki||r>=n.attached-1)&&ge(Qi(s,n.value),t,5,[s])};return n.value=e,n.attached=qi(),n}function Qi(e,t){if(P(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(s=>r=>!r._stopped&&s&&s(r))}else return t}const Es=/^on[a-z]/,Gi=(e,t,n,s,r=!1,o,i,c,f)=>{t==="class"?Li(e,s,r):t==="style"?Hi(e,n,s):jt(t)?$n(t)||Yi(e,t,n,s,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):el(e,t,s,r))?Ki(e,t,s,o,i,c,f):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),ji(e,t,s,r))};function el(e,t,n,s){return s?!!(t==="innerHTML"||t==="textContent"||t in e&&Es.test(t)&&I(n)):t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA"||Es.test(t)&&Y(n)?!1:t in e}const tl={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String};ko.props;const nl={beforeMount(e,{value:t},{transition:n}){e._vod=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):_t(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:s}){!t!=!n&&(s?t?(s.beforeEnter(e),_t(e,!0),s.enter(e)):s.leave(e,()=>{_t(e,!1)}):_t(e,t))},beforeUnmount(e,{value:t}){_t(e,t)}};function _t(e,t){e.style.display=t?e._vod:"none"}const sl=ee({patchProp:Gi},Di);let Fs;function rl(){return Fs||(Fs=hi(sl))}const ol=(...e)=>{const t=rl().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=il(s);if(!r)return;const o=t._component;!I(o)&&!o.render&&!o.template&&(o.template=r.innerHTML),r.innerHTML="";const i=n(r,!1,r instanceof SVGElement);return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),i},t};function il(e){return Y(e)?document.querySelector(e):e}var Jn=(e,t)=>{const n=e.__vccOpts||e;for(const[s,r]of t)n[s]=r;return n};const ll={},cl={class:"error"};function ul(e,t){return Pe(),je("p",cl," \u82E5\u9577\u6642\u9593\u51FA\u73FE\u6B64\u6D88\u606F\uFF0C\u8ACB\u78BA\u4FDD\u60A8\u7684\u96F2\u76E3\u63A7\u4E3B\u670D\u52D9\uFF08\u670D\u52D9\u7AEF\uFF09\u5DF2\u555F\u52D5\u3002 ")}var fl=Jn(ll,[["render",ul]]);const al=e=>{const t=Number(e.toFixed(2));return t%1?t:Math.round(t)},dl=e=>{if(!e)return"\u4ECE\u672A";const t=Date.now()/1e3,n=Math.floor(t-e);let s=Math.floor(n/31536e3);return s>1?`${s} \u5E74\u524D.`:(s=Math.floor(n/2592e3),s>1?`${s} \u6708\u524D`:(s=Math.floor(n/86400),s>1?`${s} \u65E5\u524D`:(s=Math.floor(n/3600),s>1?`${s} \u5C0F\u65F6\u524D`:(s=Math.floor(n/60),s>1?`${s} \u5206\u949F\u524D`:"\u51E0\u79D2\u524D"))))};const hl={class:"updated"},pl=Jt({props:{updated:Number},setup(e){const t=e,n=ce(()=>dl(t.updated));return(s,r)=>(Pe(),je("div",hl,"\u6700\u540E\u66F4\u65B0\uFF1A"+te(S(n)),1))}});const gl={},_l={role:"navigation",class:"navbar navbar-inverse navbar-fixed-top"},ml=E("div",{class:"navbar-inner"},[E("div",{class:"container"},[E("div",{class:"navbar-header"},[E("a",{href:"#",class:"navbar-brand"},"NodeStatus")])])],-1),bl=[ml];function yl(e,t){return Pe(),je("div",_l,bl)}var vl=Jn(gl,[["render",yl]]);const xl={},Cl={class:"container"},wl=E("p",{class:"footer"},[Cr(" Powered by "),E("a",{href:"https://github.com/cokemine/nodestatus"},"NodeStatus")],-1),El=[wl];function Fl(e,t){return Pe(),je("div",Cl,El)}var Tl=Jn(xl,[["render",Fl]]);const Al=e=>{const{server:t}=vo(e),n=ce(()=>t.value.status.online4||t.value.status.online6),s=ce(()=>al(t.value.status.load)),r=ce(()=>t.value.status.cpu===void 0?100:Math.round(t.value.status.cpu)),o=ce(()=>t.value.status.online4&&t.value.status.online6?"\u53CC\u6808":t.value.status.online4?"IPv4":t.value.status.online6?"IPv6":"\u7EF4\u62A4\u4E2D"),i=ce(()=>t.value.status.memory_total===void 0?100:Math.round(t.value.status.memory_used/t.value.status.memory_total*100)),c=ce(()=>t.value.status.hdd_total===void 0?100:Math.round(t.value.status.hdd_used/t.value.status.hdd_total*100)),f=ce(()=>p=>p>90?"error":p>70?"warning":"success"),a=ce(()=>{let p="-";if(n.value){const{uptime:F}=t.value.status;if(F>=86400)p=`${Math.floor(F/86400)} \u5929`;else{let N=Math.floor(F/3600),$=Math.floor(F/60%60),O=Math.floor(F%60);N<10&&(N=`0${N}`),$<10&&($=`0${$}`),O<10&&(O=`0${O}`),p=`${N}:${$}:${O}`}}return p}),_=ce(()=>p=>p<1024?`${p.toFixed(0)}B`:p<1024*1024?`${(p/1024).toFixed(0)}K`:p<1024*1024*1024?`${(p/1024/1024).toFixed(1)}M`:p<1024*1024*1024*1024?`${(p/1024/1024/1024).toFixed(2)}G`:`${(p/1024/1024/1024/1024).toFixed(2)}T`),v=ce(()=>p=>p<1024?`${p.toFixed(0)} B`:p<1024*1024?`${(p/1024).toFixed(2)} KiB`:p<1024*1024*1024?`${(p/1024/1024).toFixed(2)} MiB`:p<1024*1024*1024*1024?`${(p/1024/1024/1024).toFixed(2)} GiB`:`${(p/1024/1024/1024/1024).toFixed(2)} TiB`);return{getStatus:n,getNetworkProtocol:o,getLoad:s,getCpuStatus:r,getRAMStatus:i,getHDDStatus:c,getProcessBarStatus:f,getUpTime:a,formatNetwork:_,formatByte:v}};const Ml={class:"online_status"},$l={class:"progress"},Ol={class:"name"},Pl={class:"type"},Il={class:"location"},Sl={class:"uptime"},Nl={class:"load"},Rl={class:"network"},Bl={class:"traffic"},Dl={class:"cpu"},Ll={class:"progress"},Hl={class:"memory"},Ul={class:"progress"},jl={class:"hdd"},Kl={class:"progress"},kl={class:"expandRow"},Wl={colspan:"12"},zl=Jt({props:{server:{type:Object,default:()=>({status:{}})},order:{type:Number,required:!0}},setup(e){const t=e,{getStatus:n,getLoad:s,getNetworkProtocol:r,getCpuStatus:o,getRAMStatus:i,getHDDStatus:c,getProcessBarStatus:f,getUpTime:a,formatNetwork:_,formatByte:v}=Al(t),p=ce(()=>N=>{const $=f.value(N);return $==="error"?"danger":$}),F=gn(!0);return(N,$)=>(Pe(),je(ue,null,[E("tr",{class:Me(`tableRow ${(e.order+1)%2?"odd":"even"}`),onClick:$[0]||($[0]=O=>F.value=!F.value)},[E("td",Ml,[E("div",$l,[E("div",{style:{width:"100%"},class:Me(`progress-bar progress-bar-${S(n)?"success":"danger"}`)},[E("small",null,te(S(n)?S(r):"\u7EF4\u62A4\u4E2D"),1)],2)])]),E("td",Ol,te(e.server.name),1),E("td",Pl,te(e.server.type),1),E("td",Il,te(e.server.location),1),E("td",Sl,te(S(a)),1),E("td",Nl,te(S(n)?S(s):"-"),1),E("td",Rl,te(S(n)?`${S(_)(e.server.status.network_rx)} | ${S(_)(e.server.status.network_tx)}`:"\u2013"),1),E("td",Bl,te(S(n)?`${S(_)(e.server.status.network_in)} | ${S(_)(e.server.status.network_out)}`:"\u2013"),1),E("td",Dl,[E("div",Ll,[E("div",{class:Me(`progress-bar progress-bar-${S(p)(S(o))}`),style:Ve({width:`${S(o).toString()}%`})},[E("small",null,te(S(n)?`${S(o).toString()}%`:"\u7EF4\u62A4\u4E2D"),1)],6)])]),E("td",Hl,[E("div",Ul,[E("div",{class:Me(`progress-bar progress-bar-${S(p)(S(i))}`),style:Ve({width:`${S(i).toString()}%`})},[E("small",null,te(S(n)?`${S(i).toString()}%`:"\u7EF4\u62A4\u4E2D"),1)],6)])]),E("td",jl,[E("div",Kl,[E("div",{class:Me(`progress-bar progress-bar-${S(p)(S(c))}`),style:Ve({width:`${S(c).toString()}%`})},[E("small",null,te(S(n)?`${S(c).toString()}%`:"\u7EF4\u62A4\u4E2D"),1)],6)])])],2),E("tr",kl,[E("td",Wl,[E("div",{class:Me({collapsed:F.value}),style:Ve({"max-height":S(n)?"":"0"})},[E("div",null,"\u5185\u5B58\u4FE1\u606F: "+te(S(n)?`${S(v)(e.server.status.memory_used*1024)}
|
|
2
|
+
/ ${S(v)(e.server.status.memory_total*1024)}`:"\u2013"),1),E("div",null,"\u4EA4\u6362\u5206\u533A: "+te(S(n)?`${S(v)(e.server.status.swap_used*1024)}
|
|
3
|
+
/ ${S(v)(e.server.status.swap_total*1024)}`:"\u2013"),1),E("div",null,"\u786C\u76D8\u4FE1\u606F: "+te(S(n)?`${S(v)(e.server.status.hdd_used*1024*1024)}
|
|
4
|
+
/ ${S(v)(e.server.status.hdd_total*1024*1024)}`:"\u2013"),1)],6)])])],64))}});const ql={class:"table table-striped table-condensed table-hover"},Jl=E("thead",null,[E("tr",null,[E("th",{id:"online_status",style:{"text-align":"center"}},"\u534F\u8BAE"),E("th",{id:"name"},"\u8282\u70B9\u540D"),E("th",{id:"type"},"\u865A\u62DF\u5316"),E("th",{id:"location"},"\u4F4D\u7F6E"),E("th",{id:"uptime"},"\u5728\u7EBF\u65F6\u95F4"),E("th",{id:"load"},"\u8D1F\u8F7D"),E("th",{id:"network"},"\u7F51\u7EDC \u2193|\u2191"),E("th",{id:"traffic"},"\u6D41\u91CF \u2193|\u2191"),E("th",{id:"cpu"},"CPU"),E("th",{id:"ram"},"\u5185\u5B58"),E("th",{id:"hdd"},"\u786C\u76D8"),E("th",{id:"ping",style:{display:"none"}},"\u4E22\u5305\u7387(CU|CT|CM)")])],-1),Vl={id:"servers"},Yl=Jt({props:{servers:{type:Array,default:()=>[]}},setup(e){return(t,n)=>(Pe(),je("table",ql,[Jl,E("tbody",Vl,[(Pe(!0),je(ue,null,Ei(e.servers,(s,r)=>(Pe(),yi(zl,{key:s.id,server:s,order:r},null,8,["server","order"]))),128))])]))}});const Xl={class:"main container content"},Zl=Jt({setup(e){const t=gn(),n=gn(),s=new WebSocket(`${document.location.protocol.replace("http","ws")}${window.location.host}/public`);return s.onopen=()=>console.info("Connect to backend successfully!"),s.onclose=()=>console.warn("WebSocket disconnected!"),s.onerror=()=>console.error("An error occurred while connecting to the backend"),s.onmessage=r=>{const o=JSON.parse(r.data);t.value=o.servers,n.value=o.updated},kn(s.close),(r,o)=>(Pe(),je(ue,null,[ae(vl),E("div",Xl,[fi(ae(fl,null,null,512),[[nl,!t.value]]),ae(Yl,{servers:t.value},null,8,["servers"]),ae(pl,{updated:n.value,style:{padding:"10px"}},null,8,["updated"])]),ae(Tl)],64))}});ol(Zl).mount("#app");
|
|
@@ -7,8 +7,7 @@
|
|
|
7
7
|
<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/bootstrap@3.4.1/dist/css/bootstrap.min.css">
|
|
8
8
|
<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/bootstrap@3.4.1/dist/css/bootstrap-theme.min.css">
|
|
9
9
|
<title>NodeStatus</title>
|
|
10
|
-
<script type="module" crossorigin src="/assets/index.
|
|
11
|
-
<link rel="modulepreload" href="/assets/vendor.1ca96e14.js">
|
|
10
|
+
<script type="module" crossorigin src="/assets/index.51bd7b98.js"></script>
|
|
12
11
|
<link rel="stylesheet" href="/assets/index.60fde134.css">
|
|
13
12
|
</head>
|
|
14
13
|
<body>
|