mamba-layout 0.18.0 → 0.19.0

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/dist/index.js CHANGED
@@ -1,8 +1,8 @@
1
- import { ref as N, readonly as pt, computed as S, unref as f, onActivated as mt, onMounted as Re, onUnmounted as Ke, watch as re, defineComponent as M, openBlock as l, createElementBlock as y, normalizeClass as K, resolveComponent as L, Fragment as U, createBlock as k, resolveDynamicComponent as Ae, mergeProps as Je, withCtx as C, createCommentVNode as I, createElementVNode as d, toDisplayString as E, renderList as J, withDirectives as ht, vShow as gt, createVNode as _, renderSlot as z, watchEffect as Oe, Transition as Ee } from "vue";
2
- import { Fold as Fe, ArrowDown as _e, Moon as ft, Sunny as vt, Expand as yt, User as bt, ArrowLeft as At, ArrowRight as he, Clock as _t } from "@element-plus/icons-vue";
3
- import { useRoute as ie, useRouter as He } from "vue-router";
4
- import { createI18n as Ct } from "vue-i18n";
5
- const St = 3600 * 24 * 7, Ce = "UTC", Qe = "timezone", wt = [
1
+ import { ref as R, readonly as lt, computed as S, unref as g, onActivated as it, onMounted as Je, onUnmounted as Oe, watch as ue, defineComponent as D, openBlock as l, createElementBlock as v, normalizeClass as F, resolveComponent as L, Fragment as K, createBlock as k, resolveDynamicComponent as Se, mergeProps as Fe, withCtx as _, createCommentVNode as I, createElementVNode as d, toDisplayString as E, renderList as H, withDirectives as ct, vShow as ut, createVNode as A, renderSlot as q, watchEffect as He, Transition as De } from "vue";
2
+ import { Fold as Qe, ArrowDown as we, Moon as dt, Sunny as pt, Expand as mt, User as ht, ArrowLeft as gt, ArrowRight as _e, Clock as ft } from "@element-plus/icons-vue";
3
+ import { useRoute as ie, useRouter as ze } from "vue-router";
4
+ import { createI18n as vt } from "vue-i18n";
5
+ const yt = 3600 * 24 * 7, Pe = "UTC", Ze = "timezone", bt = [
6
6
  "UTC",
7
7
  "Asia/Shanghai",
8
8
  "Asia/Hong_Kong",
@@ -12,101 +12,101 @@ const St = 3600 * 24 * 7, Ce = "UTC", Qe = "timezone", wt = [
12
12
  "Europe/Berlin",
13
13
  "America/New_York",
14
14
  "America/Los_Angeles"
15
- ], Me = /* @__PURE__ */ new Map(), me = () => {
15
+ ], Ne = /* @__PURE__ */ new Map(), ve = () => {
16
16
  try {
17
17
  return globalThis.localStorage;
18
18
  } catch {
19
19
  return;
20
20
  }
21
- }, W = {
22
- get(n, e = null) {
23
- const t = me(), a = t == null ? void 0 : t.getItem(n.toUpperCase());
24
- if (!a) return e;
21
+ }, $ = {
22
+ get(a, e = null) {
23
+ const t = ve(), n = t == null ? void 0 : t.getItem(a.toUpperCase());
24
+ if (!n) return e;
25
25
  try {
26
- const o = JSON.parse(a);
27
- if (o.expire === null || o.expire >= Date.now())
28
- return o.value;
29
- t == null || t.removeItem(n.toUpperCase());
26
+ const s = JSON.parse(n);
27
+ if (s.expire === null || s.expire >= Date.now())
28
+ return s.value;
29
+ t == null || t.removeItem(a.toUpperCase());
30
30
  } catch {
31
31
  return e;
32
32
  }
33
33
  return e;
34
34
  },
35
- set(n, e, t = St) {
36
- const a = me(), o = {
35
+ set(a, e, t = yt) {
36
+ const n = ve(), s = {
37
37
  value: e,
38
38
  expire: t === null ? null : Date.now() + t * 1e3
39
39
  };
40
- a == null || a.setItem(n.toUpperCase(), JSON.stringify(o));
40
+ n == null || n.setItem(a.toUpperCase(), JSON.stringify(s));
41
41
  },
42
42
  clear() {
43
- var n;
44
- (n = me()) == null || n.clear();
43
+ var a;
44
+ (a = ve()) == null || a.clear();
45
45
  }
46
- }, Pt = (n) => typeof n == "object" && n !== null, De = (n) => {
47
- if (!Pt(n) || Object.prototype.toString.call(n) !== "[object Object]") return !1;
48
- const e = Object.getPrototypeOf(n);
46
+ }, At = (a) => typeof a == "object" && a !== null, Be = (a) => {
47
+ if (!At(a) || Object.prototype.toString.call(a) !== "[object Object]") return !1;
48
+ const e = Object.getPrototypeOf(a);
49
49
  return e === null || e === Object.prototype;
50
50
  };
51
- function ze(n, e) {
52
- if (!De(n)) return e;
53
- if (!De(e)) return n;
54
- const t = n;
55
- return Object.keys(e).concat(Object.getOwnPropertySymbols(e)).forEach((a) => {
56
- t[a] = ze(
57
- t[a],
58
- e[a]
51
+ function je(a, e) {
52
+ if (!Be(a)) return e;
53
+ if (!Be(e)) return a;
54
+ const t = a;
55
+ return Object.keys(e).concat(Object.getOwnPropertySymbols(e)).forEach((n) => {
56
+ t[n] = je(
57
+ t[n],
58
+ e[n]
59
59
  );
60
60
  }), t;
61
61
  }
62
- function Ze() {
63
- const n = typeof navigator > "u" ? "en-US" : navigator.language;
64
- return String(W.get("locale", n)).includes("zh") ? "zh-CN" : "en-US";
62
+ function qe() {
63
+ const a = typeof navigator > "u" ? "en-US" : navigator.language;
64
+ return String($.get("locale", a)).includes("zh") ? "zh-CN" : "en-US";
65
65
  }
66
- const Ne = (n, e, t) => {
67
- var a;
68
- return ((a = e == null ? void 0 : e[t]) == null ? void 0 : a[n]) || "";
69
- }, $ = (n, e, t = "") => {
70
- const a = n;
71
- return Ne(e, a, Ze()) || t || Ne(e, a, "en-US");
72
- }, le = (n = "") => n.replace(/【.*】/, ""), je = (n, e, t) => {
73
- var a, o, s, r, c;
74
- for (const g of e) {
75
- const i = ((a = g.path) == null ? void 0 : a.replace(/\/:(\w+)/g, "/([^/]+)")) || "", h = new RegExp(`^${i}$`);
76
- if (((o = g.path) == null ? void 0 : o.toLowerCase()) === n || h.test(n))
77
- return ((s = g.meta) == null ? void 0 : s.visible) === "0" && (t == null ? void 0 : t.path) || "";
78
- if ((r = g.children) != null && r.length) {
79
- const v = je(
80
- n,
81
- g.children,
82
- ((c = g.meta) == null ? void 0 : c.visible) === "1" ? g : t
66
+ const Ue = (a, e, t) => {
67
+ var n;
68
+ return ((n = e == null ? void 0 : e[t]) == null ? void 0 : n[a]) || "";
69
+ }, se = (a, e, t = "") => {
70
+ const n = a;
71
+ return Ue(e, n, qe()) || t || Ue(e, n, "en-US");
72
+ }, de = (a = "") => a.replace(/【.*】/, ""), Ye = (a, e, t) => {
73
+ var n, s, r, o, c;
74
+ for (const p of e) {
75
+ const i = ((n = p.path) == null ? void 0 : n.replace(/\/:(\w+)/g, "/([^/]+)")) || "", m = new RegExp(`^${i}$`);
76
+ if (((s = p.path) == null ? void 0 : s.toLowerCase()) === a || m.test(a))
77
+ return ((r = p.meta) == null ? void 0 : r.visible) === "0" && (t == null ? void 0 : t.path) || "";
78
+ if ((o = p.children) != null && o.length) {
79
+ const f = Ye(
80
+ a,
81
+ p.children,
82
+ ((c = p.meta) == null ? void 0 : c.visible) === "1" ? p : t
83
83
  );
84
- if (v) return v;
84
+ if (f) return f;
85
85
  }
86
86
  }
87
87
  return "";
88
- }, Tt = (n, e) => {
89
- const t = n.resolve(e);
88
+ }, _t = (a, e) => {
89
+ const t = a.resolve(e);
90
90
  if (!(t != null && t.name)) return !1;
91
- const a = String(t.name).split("-").filter((s) => !!s && s !== "index"), o = t.path.split("-").join("/").split("/").filter(Boolean);
92
- return a.length === o.length && a.every((s, r) => s === o[r]);
93
- }, ne = (n) => typeof n == "string" && qe(n) ? n : "", qe = (n) => {
91
+ const n = String(t.name).split("-").filter((r) => !!r && r !== "index"), s = t.path.split("-").join("/").split("/").filter(Boolean);
92
+ return n.length === s.length && n.every((r, o) => r === s[o]);
93
+ }, re = (a) => typeof a == "string" && We(a) ? a : "", We = (a) => {
94
94
  try {
95
- return new Intl.DateTimeFormat("en-US", { timeZone: n }).format(/* @__PURE__ */ new Date()), !0;
95
+ return new Intl.DateTimeFormat("en-US", { timeZone: a }).format(/* @__PURE__ */ new Date()), !0;
96
96
  } catch {
97
97
  return !1;
98
98
  }
99
- }, Ye = () => ne(Intl.DateTimeFormat().resolvedOptions().timeZone) || Ce, Se = N(
100
- ne(W.get(Qe)) || Ye()
101
- ), kt = () => pt(Se);
102
- function It(n) {
103
- const e = ne(n);
104
- e && (Se.value = e, W.set(Qe, e, null));
99
+ }, Xe = () => re(Intl.DateTimeFormat().resolvedOptions().timeZone) || Pe, Te = R(
100
+ re($.get(Ze)) || Xe()
101
+ ), Ct = () => lt(Te);
102
+ function St(a) {
103
+ const e = re(a);
104
+ e && (Te.value = e, $.set(Ze, e, null));
105
105
  }
106
- const Lt = (n) => {
107
- const e = ne(n) || Ce, t = Me.get(e);
106
+ const wt = (a) => {
107
+ const e = re(a) || Pe, t = Ne.get(e);
108
108
  if (t) return t;
109
- const a = new Intl.DateTimeFormat("en-US", {
109
+ const n = new Intl.DateTimeFormat("en-US", {
110
110
  timeZone: e,
111
111
  year: "numeric",
112
112
  month: "2-digit",
@@ -116,117 +116,117 @@ const Lt = (n) => {
116
116
  second: "2-digit",
117
117
  hourCycle: "h23"
118
118
  });
119
- return Me.set(e, a), a;
120
- }, xt = (n, e) => Lt(e).formatToParts(n).reduce((a, o) => (o.type !== "literal" && (a[o.type] = Number(o.value)), a), {}), Et = (n, e = /* @__PURE__ */ new Date()) => {
121
- const t = ne(n) || Ce, a = xt(e, t), o = Date.UTC(
122
- a.year || 0,
123
- (a.month || 1) - 1,
124
- a.day || 1,
125
- a.hour || 0,
126
- a.minute || 0,
127
- a.second || 0,
119
+ return Ne.set(e, n), n;
120
+ }, Pt = (a, e) => wt(e).formatToParts(a).reduce((n, s) => (s.type !== "literal" && (n[s.type] = Number(s.value)), n), {}), Tt = (a, e = /* @__PURE__ */ new Date()) => {
121
+ const t = re(a) || Pe, n = Pt(e, t), s = Date.UTC(
122
+ n.year || 0,
123
+ (n.month || 1) - 1,
124
+ n.day || 1,
125
+ n.hour || 0,
126
+ n.minute || 0,
127
+ n.second || 0,
128
128
  e.getMilliseconds()
129
129
  );
130
- return Math.round((o - e.getTime()) / 6e4);
131
- }, We = (n, e = /* @__PURE__ */ new Date()) => {
132
- const t = Et(n, e), a = t >= 0 ? "+" : "-", o = Math.abs(t), s = Math.floor(o / 60), r = o % 60;
133
- return `UTC${a}${String(s).padStart(2, "0")}:${String(
134
- r
130
+ return Math.round((s - e.getTime()) / 6e4);
131
+ }, Ge = (a, e = /* @__PURE__ */ new Date()) => {
132
+ const t = Tt(a, e), n = t >= 0 ? "+" : "-", s = Math.abs(t), r = Math.floor(s / 60), o = s % 60;
133
+ return `UTC${n}${String(r).padStart(2, "0")}:${String(
134
+ o
135
135
  ).padStart(2, "0")}`;
136
- }, Mt = (n, e = /* @__PURE__ */ new Date()) => `${n} (${We(n, e)})`, Dt = (n = /* @__PURE__ */ new Date()) => {
136
+ }, kt = (a, e = /* @__PURE__ */ new Date()) => `${a} (${Ge(a, e)})`, It = (a = /* @__PURE__ */ new Date()) => {
137
137
  const e = new Set(
138
- [Ye(), ...wt, Se.value].filter(
139
- qe
138
+ [Xe(), ...bt, Te.value].filter(
139
+ We
140
140
  )
141
141
  );
142
142
  return Array.from(e).map((t) => {
143
- const a = We(t, n);
143
+ const n = Ge(t, a);
144
144
  return {
145
145
  value: t,
146
- label: `${t} (${a})`,
147
- offset: a
146
+ label: `${t} (${n})`,
147
+ offset: n
148
148
  };
149
149
  });
150
- }, G = N("light");
151
- function Xe() {
152
- const n = "theme", e = "(prefers-color-scheme: dark)", t = N(!1);
153
- let a = !1;
154
- const o = (p) => p === "dark" || p === "light" ? p : null, s = () => typeof window > "u" || typeof window.matchMedia != "function" ? "light" : window.matchMedia(e).matches ? "dark" : "light", r = (p) => {
155
- const b = o(W.get(n, null));
156
- return b ? (t.value = !0, b) : p || s();
157
- }, c = (p) => {
158
- typeof document > "u" || document.documentElement.classList.toggle("dark", p === "dark");
159
- }, g = (p) => {
160
- const b = r(p);
161
- return G.value = b, c(b), a = !0, b;
162
- }, i = (p, b) => {
163
- G.value = p, c(p), (b == null ? void 0 : b.persist) !== !1 && (W.set(n, p, null), t.value = !0);
164
- }, h = () => {
165
- i(G.value === "dark" ? "light" : "dark");
166
- }, m = (p) => {
167
- if (!a) {
168
- g(p);
150
+ }, te = R("light");
151
+ function Ve() {
152
+ const a = "theme", e = "(prefers-color-scheme: dark)", t = R(!1);
153
+ let n = !1;
154
+ const s = (y) => y === "dark" || y === "light" ? y : null, r = () => typeof window > "u" || typeof window.matchMedia != "function" ? "light" : window.matchMedia(e).matches ? "dark" : "light", o = (y) => {
155
+ const C = s($.get(a, null));
156
+ return C ? (t.value = !0, C) : y || r();
157
+ }, c = (y) => {
158
+ typeof document > "u" || document.documentElement.classList.toggle("dark", y === "dark");
159
+ }, p = (y) => {
160
+ const C = o(y);
161
+ return te.value = C, c(C), n = !0, C;
162
+ }, i = (y, C) => {
163
+ te.value = y, c(y), (C == null ? void 0 : C.persist) !== !1 && ($.set(a, y, null), t.value = !0);
164
+ }, m = () => {
165
+ i(te.value === "dark" ? "light" : "dark");
166
+ }, h = (y) => {
167
+ if (!n) {
168
+ p(y);
169
169
  return;
170
170
  }
171
- !t.value && p && i(p, { persist: !1 });
172
- }, v = S(() => G.value === "dark");
171
+ !t.value && y && i(y, { persist: !1 });
172
+ }, f = S(() => te.value === "dark");
173
173
  return {
174
- theme: G,
175
- isDark: v,
176
- initTheme: g,
174
+ theme: te,
175
+ isDark: f,
176
+ initTheme: p,
177
177
  setTheme: i,
178
- toggleTheme: h,
179
- syncThemeFromSetting: m
178
+ toggleTheme: m,
179
+ syncThemeFromSetting: h
180
180
  };
181
181
  }
182
- const Nt = () => typeof location > "u" ? "" : location.href, Ge = (n) => (n == null ? void 0 : n.loginPath) || `/login?redirect=${encodeURIComponent(Nt())}`, ce = (n) => {
183
- typeof location > "u" || (location.href = Ge(n));
184
- }, Bt = (n) => (n == null ? void 0 : n.userCenterPath) || "/usercenter/home", Ut = (n) => {
185
- var s;
186
- const e = n.themeColor, t = {};
182
+ const Lt = () => typeof location > "u" ? "" : location.href, $e = (a) => (a == null ? void 0 : a.loginPath) || `/login?redirect=${encodeURIComponent(Lt())}`, pe = (a) => {
183
+ typeof location > "u" || (location.href = $e(a));
184
+ }, xt = (a) => (a == null ? void 0 : a.userCenterPath) || "/usercenter/home", Et = (a) => {
185
+ var r;
186
+ const e = a.themeColor, t = {};
187
187
  if (e)
188
- for (const r in e) {
189
- if (!e[r]) continue;
190
- const c = "--layout-" + r.replace(/([A-Z])/g, "-$1").toLocaleLowerCase();
191
- t[c] = e[r], r == "colorPrimary" && Rt(e[r]);
188
+ for (const o in e) {
189
+ if (!e[o]) continue;
190
+ const c = "--layout-" + o.replace(/([A-Z])/g, "-$1").toLocaleLowerCase();
191
+ t[c] = e[o], o == "colorPrimary" && Mt(e[o]);
192
192
  }
193
- let a = document.getElementById("layout-style");
194
- a && ((s = a.parentNode) == null || s.removeChild(a)), a = document.createElement("style"), a.id = "layout-style", document.head.appendChild(a);
195
- const o = Object.keys(t).map((r) => r + ":" + t[r]).join(";");
196
- a.innerHTML = `html:root{${o}}`;
193
+ let n = document.getElementById("layout-style");
194
+ n && ((r = n.parentNode) == null || r.removeChild(n)), n = document.createElement("style"), n.id = "layout-style", document.head.appendChild(n);
195
+ const s = Object.keys(t).map((o) => o + ":" + t[o]).join(";");
196
+ n.innerHTML = `html:root{${s}}`;
197
197
  };
198
- function Rt(n) {
199
- var o;
198
+ function Mt(a) {
199
+ var s;
200
200
  let e = document.getElementById("primary-style");
201
- if (n == "theme-default" && e) {
202
- (o = e.parentNode) == null || o.removeChild(e);
201
+ if (a == "theme-default" && e) {
202
+ (s = e.parentNode) == null || s.removeChild(e);
203
203
  return;
204
204
  }
205
- const t = Kt(n);
205
+ const t = Dt(a);
206
206
  e || (e = document.createElement("style"), e.id = "primary-style", document.head.appendChild(e));
207
- const a = Object.keys(t).map((s) => s + ":" + t[s]).join(";");
208
- e.innerHTML = `html:root{${a}}`;
207
+ const n = Object.keys(t).map((r) => r + ":" + t[r]).join(";");
208
+ e.innerHTML = `html:root{${n}}`;
209
209
  }
210
- function Kt(n) {
211
- var g;
212
- const e = ((g = n.match(/\d+/g)) == null ? void 0 : g.map(Number)) || [], [t, a, o] = e, s = `rgb(${t}, ${a}, ${o})`, r = (i) => {
213
- const h = i / 100, m = Math.min(255, t + (255 - t) * h), v = Math.min(255, a + (255 - a) * h), p = Math.min(255, o + (255 - o) * h);
214
- return `rgb(${m.toFixed(1)}, ${v.toFixed(1)}, ${p.toFixed(1)})`;
210
+ function Dt(a) {
211
+ var p;
212
+ const e = ((p = a.match(/\d+/g)) == null ? void 0 : p.map(Number)) || [], [t, n, s] = e, r = `rgb(${t}, ${n}, ${s})`, o = (i) => {
213
+ const m = i / 100, h = Math.min(255, t + (255 - t) * m), f = Math.min(255, n + (255 - n) * m), y = Math.min(255, s + (255 - s) * m);
214
+ return `rgb(${h.toFixed(1)}, ${f.toFixed(1)}, ${y.toFixed(1)})`;
215
215
  }, c = (i) => {
216
- const h = 1 - i / 100;
217
- return `rgb(${Math.round(t * h)} ${Math.round(a * h)} ${Math.round(o * h)})`;
216
+ const m = 1 - i / 100;
217
+ return `rgb(${Math.round(t * m)} ${Math.round(n * m)} ${Math.round(s * m)})`;
218
218
  };
219
219
  return {
220
- "--el-color-primary": s,
221
- "--el-color-primary-light-3": r(30),
222
- "--el-color-primary-light-5": r(50),
223
- "--el-color-primary-light-7": r(70),
224
- "--el-color-primary-light-8": r(80),
225
- "--el-color-primary-light-9": r(90),
220
+ "--el-color-primary": r,
221
+ "--el-color-primary-light-3": o(30),
222
+ "--el-color-primary-light-5": o(50),
223
+ "--el-color-primary-light-7": o(70),
224
+ "--el-color-primary-light-8": o(80),
225
+ "--el-color-primary-light-9": o(90),
226
226
  "--el-color-primary-dark-2": c(20)
227
227
  };
228
228
  }
229
- const ge = N({
229
+ const Ce = R({
230
230
  menus: [],
231
231
  layout: "classic",
232
232
  title: "",
@@ -234,117 +234,118 @@ const ge = N({
234
234
  tabs: "tab",
235
235
  pageType: "common"
236
236
  });
237
- function O() {
238
- return ge;
237
+ function Q() {
238
+ return Ce;
239
239
  }
240
- const Jt = (n) => {
241
- const e = O(), t = n && f(n) || {};
240
+ const Nt = (a) => {
241
+ const e = Q(), t = a && g(a) || {};
242
242
  if (!(e != null && e.value)) return t;
243
- ge.value = ze(e.value, t);
244
- const { syncThemeFromSetting: a } = Xe();
245
- a(), Ut(ge.value);
246
- }, Ot = 1024, Ve = N(), ae = N([]), Y = N(), V = N(""), ee = N(""), fe = N(""), te = O(), ve = N(!0), ye = N(!1), Ft = N(), oe = () => {
247
- var n;
248
- return ((n = te.value.menus) == null ? void 0 : n.filter((e) => {
249
- var t;
250
- return ((t = e.meta) == null ? void 0 : t.appId) == ee.value;
251
- })) || [];
252
- }, $e = (n, e, t = 0, a) => {
253
- var i, h, m, v;
254
- const o = ie(), s = a ? [...a] : [], r = [], c = [];
255
- for (const p in n) {
256
- [...s], n[p];
257
- const b = ((i = o.meta) == null ? void 0 : i.parent) || o.path, T = ((h = n[p].path) == null ? void 0 : h.replace(/\/:(\w+)/g, "/([^/]+)")) || "", B = new RegExp(`^${T}$`);
258
- b == n[p].path ? r.push({ index: p, item: n[p] }) : B.test(b) && c.push({ index: p, item: n[p] });
259
- }
260
- const g = r.length > 0 ? r : c;
261
- if (g.length > 0) {
262
- const p = g[0], b = [...s];
263
- b[t] = p.item, Y.value = {
264
- ...p.item,
265
- paths: b.slice(0, t + 1)
266
- }, ee.value = ((m = p.item.meta) == null ? void 0 : m.appId) || "", Ve.value = e;
267
- }
268
- for (const p in n)
269
- if (n[p].children && ((v = n[p].children) != null && v.length)) {
270
- const b = n[p].children || [], T = [...s];
271
- T[t] = n[p], $e(b, n[p], t + 1, T);
243
+ Ce.value = je(e.value, t);
244
+ const { syncThemeFromSetting: n } = Ve();
245
+ n(), Et(Ce.value);
246
+ }, Bt = 1024, Re = R(), le = R([]), V = R(), ne = R(""), ae = R(""), ye = R(""), oe = Q(), be = R(!0), Ae = R(!1), Ut = R();
247
+ function z() {
248
+ const a = ie(), e = () => {
249
+ var o;
250
+ return ((o = oe.value.menus) == null ? void 0 : o.filter((c) => {
251
+ var p;
252
+ return ((p = c.meta) == null ? void 0 : p.appId) == ae.value;
253
+ })) || [];
254
+ }, t = (o, c, p = 0, i) => {
255
+ var T, N, U, Z;
256
+ const m = ie(), h = i ? [...i] : [], f = [], y = [];
257
+ for (const M in o) {
258
+ [...h], o[M];
259
+ const J = ((T = m.meta) == null ? void 0 : T.parent) || m.path, Y = ((N = o[M].path) == null ? void 0 : N.replace(/\/:(\w+)/g, "/([^/]+)")) || "", he = new RegExp(`^${Y}$`);
260
+ J == o[M].path ? f.push({ index: M, item: o[M] }) : he.test(J) && y.push({ index: M, item: o[M] });
272
261
  }
273
- fe.value = o.meta.parentPath || je(
274
- o.path.toLowerCase(),
275
- te.value.menus || []
276
- ) || o.path;
277
- }, et = () => {
278
- var a, o, s, r, c, g, i, h, m, v;
279
- $e(te.value.menus || []), ee.value || (ee.value = ((s = (o = (a = te.value.menus) == null ? void 0 : a.find((p) => {
280
- var b;
281
- return (b = p.path) == null ? void 0 : b.startsWith(V.value);
282
- })) == null ? void 0 : o.meta) == null ? void 0 : s.appId) || "");
283
- const n = ((r = Y.value) == null ? void 0 : r.paths) || [], e = le(
284
- $(((g = (c = Y.value) == null ? void 0 : c.meta) == null ? void 0 : g.translations) || {}, "name")
285
- ), t = ((i = Y.value) == null ? void 0 : i.path) == ((h = n[1]) == null ? void 0 : h.path) ? "" : le($(((v = (m = n[1]) == null ? void 0 : m.meta) == null ? void 0 : v.translations) || {}, "name"));
286
- document.title = e + (t ? ` - ${t}` : "");
287
- }, Be = () => {
288
- const n = ie();
289
- V.value = "/" + (n.path.split("/").filter(Boolean).shift() || ""), et(), ae.value = oe();
290
- }, be = () => {
291
- const n = window.innerWidth < Ot;
292
- ye.value = n, ve.value = !n;
293
- };
294
- be();
295
- function H() {
296
- const n = ie();
297
- return Be(), mt(() => {
298
- Be();
299
- }), Re(() => {
300
- window.addEventListener("resize", be);
301
- }), Ke(() => {
302
- window.removeEventListener("resize", be);
303
- }), re(
304
- () => V.value,
305
- () => void (ae.value = oe())
306
- ), re(
307
- () => [n.path, te.value.menus],
262
+ const C = f.length > 0 ? f : y;
263
+ if (C.length > 0) {
264
+ const M = C[0], J = [...h];
265
+ J[p] = M.item, V.value = {
266
+ ...M.item,
267
+ paths: J.slice(0, p + 1)
268
+ }, ae.value = ((U = M.item.meta) == null ? void 0 : U.appId) || "", Re.value = c;
269
+ }
270
+ for (const M in o)
271
+ if (o[M].children && ((Z = o[M].children) != null && Z.length)) {
272
+ const J = o[M].children || [], Y = [...h];
273
+ Y[p] = o[M], t(J, o[M], p + 1, Y);
274
+ }
275
+ ye.value = m.meta.parentPath || Ye(
276
+ m.path.toLowerCase(),
277
+ oe.value.menus || []
278
+ ) || m.path;
279
+ }, n = () => {
280
+ var i, m, h, f, y, C, T, N, U, Z;
281
+ t(oe.value.menus || []), ae.value || (ae.value = ((h = (m = (i = oe.value.menus) == null ? void 0 : i.find(
282
+ (M) => {
283
+ var J;
284
+ return (J = M.path) == null ? void 0 : J.startsWith(ne.value);
285
+ }
286
+ )) == null ? void 0 : m.meta) == null ? void 0 : h.appId) || "");
287
+ const o = ((f = V.value) == null ? void 0 : f.paths) || [], c = de(
288
+ se(((C = (y = V.value) == null ? void 0 : y.meta) == null ? void 0 : C.translations) || {}, "name")
289
+ ), p = ((T = V.value) == null ? void 0 : T.path) == ((N = o[1]) == null ? void 0 : N.path) ? "" : de(se(((Z = (U = o[1]) == null ? void 0 : U.meta) == null ? void 0 : Z.translations) || {}, "name"));
290
+ document.title = c + (p ? ` - ${p}` : "");
291
+ }, s = () => {
292
+ const o = ie();
293
+ ne.value = "/" + (o.path.split("/").filter(Boolean).shift() || ""), n(), le.value = e();
294
+ }, r = () => {
295
+ const o = window.innerWidth < Bt;
296
+ Ae.value = o, be.value = !o;
297
+ };
298
+ return r(), s(), it(() => {
299
+ s();
300
+ }), Je(() => {
301
+ window.addEventListener("resize", r);
302
+ }), Oe(() => {
303
+ window.removeEventListener("resize", r);
304
+ }), ue(
305
+ () => ne.value,
306
+ () => void (le.value = e())
307
+ ), ue(
308
+ () => [a.path, oe.value.menus],
308
309
  () => {
309
- fe.value = "", Y.value = void 0, V.value = "/" + (n.path.split("/").filter(Boolean).shift() || ""), et(), ae.value = oe(), ye.value && (ve.value = !1);
310
+ ye.value = "", V.value = void 0, ne.value = "/" + (a.path.split("/").filter(Boolean).shift() || ""), n(), le.value = e(), Ae.value && (be.value = !1);
310
311
  }
311
312
  ), {
312
- menus: ae,
313
- currentEndRoute: Y,
314
- currentTabPath: V,
315
- currentAppId: ee,
316
- defaultParentActive: fe,
317
- sideOpen: ve,
318
- isMobile: ye,
319
- getMenus: oe,
320
- currentEndParentRoute: Ve,
321
- leftScrollRef: Ft
313
+ menus: le,
314
+ currentEndRoute: V,
315
+ currentTabPath: ne,
316
+ currentAppId: ae,
317
+ defaultParentActive: ye,
318
+ sideOpen: be,
319
+ isMobile: Ae,
320
+ getMenus: e,
321
+ currentEndParentRoute: Re,
322
+ leftScrollRef: Ut
322
323
  };
323
324
  }
324
- const Ht = { class: "menu-item-icon" }, Qt = ["innerHTML"], zt = /* @__PURE__ */ M({
325
+ const Rt = { class: "menu-item-icon" }, Kt = ["innerHTML"], Jt = /* @__PURE__ */ D({
325
326
  __name: "MenuItemIcon",
326
327
  props: {
327
328
  icon: { default: "metisicon-yingyong" }
328
329
  },
329
- setup(n) {
330
- const e = n, t = S(() => e.icon || "metisicon-yingyong"), a = /^\s*<svg[\s>]/i, o = /\son[a-z]+\s*=\s*("[^"]*"|'[^']*'|[^\s>]+)/gi, s = /<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi, r = /\s(?:href|xlink:href)\s*=\s*("\s*javascript:[^"]*"|'\s*javascript:[^']*')/gi, c = (h) => !!h && a.test(h), g = (h) => !h || !c(h) ? "" : h.replace(s, "").replace(o, "").replace(r, ""), i = S(() => g(t.value));
331
- return (h, m) => (l(), y("div", Ht, [
332
- c(t.value) ? (l(), y("span", {
330
+ setup(a) {
331
+ const e = a, t = S(() => e.icon || "metisicon-yingyong"), n = /^\s*<svg[\s>]/i, s = /\son[a-z]+\s*=\s*("[^"]*"|'[^']*'|[^\s>]+)/gi, r = /<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi, o = /\s(?:href|xlink:href)\s*=\s*("\s*javascript:[^"]*"|'\s*javascript:[^']*')/gi, c = (m) => !!m && n.test(m), p = (m) => !m || !c(m) ? "" : m.replace(r, "").replace(s, "").replace(o, ""), i = S(() => p(t.value));
332
+ return (m, h) => (l(), v("div", Rt, [
333
+ c(t.value) ? (l(), v("span", {
333
334
  key: 0,
334
335
  class: "menu-item-icon__svg",
335
336
  innerHTML: i.value
336
- }, null, 8, Qt)) : (l(), y("i", {
337
+ }, null, 8, Kt)) : (l(), v("i", {
337
338
  key: 1,
338
- class: K(t.value)
339
+ class: F(t.value)
339
340
  }, null, 2))
340
341
  ]));
341
342
  }
342
- }), D = (n, e) => {
343
- const t = n.__vccOpts || n;
344
- for (const [a, o] of e)
345
- t[a] = o;
343
+ }), B = (a, e) => {
344
+ const t = a.__vccOpts || a;
345
+ for (const [n, s] of e)
346
+ t[n] = s;
346
347
  return t;
347
- }, tt = /* @__PURE__ */ D(zt, [["__scopeId", "data-v-ed060390"]]), Zt = { key: 0 }, jt = /* @__PURE__ */ M({
348
+ }, et = /* @__PURE__ */ B(Jt, [["__scopeId", "data-v-ed060390"]]), Ot = { key: 0 }, Ft = /* @__PURE__ */ D({
348
349
  __name: "AsideSubMenuItem",
349
350
  props: {
350
351
  menu: {
@@ -356,62 +357,62 @@ const Ht = { class: "menu-item-icon" }, Qt = ["innerHTML"], zt = /* @__PURE__ */
356
357
  default: 1
357
358
  }
358
359
  },
359
- setup(n) {
360
- const e = n, t = S(
360
+ setup(a) {
361
+ const e = a, t = S(
361
362
  () => {
362
363
  var i;
363
- return (i = e.menu.children) == null ? void 0 : i.filter((h) => {
364
- var m;
365
- return ((m = h.meta) == null ? void 0 : m.visible) != "0";
364
+ return (i = e.menu.children) == null ? void 0 : i.filter((m) => {
365
+ var h;
366
+ return ((h = m.meta) == null ? void 0 : h.visible) != "0";
366
367
  });
367
368
  }
368
- ), { defaultParentActive: a, currentTabPath: o } = H(), s = He(), r = S(() => {
369
+ ), { defaultParentActive: n, currentTabPath: s } = z(), r = ze(), o = S(() => {
369
370
  var i;
370
- return e.level == 1 && !Tt(s, e.menu.path || "") ? "div" : /^http/.test(e.menu.path || "") || !((i = e.menu.path) != null && i.startsWith(o.value)) ? "a" : "router-link";
371
+ return e.level == 1 && !_t(r, e.menu.path || "") ? "div" : /^http/.test(e.menu.path || "") || !((i = e.menu.path) != null && i.startsWith(s.value)) ? "a" : "router-link";
371
372
  }), c = S(() => {
372
373
  var i;
373
- return /^http/.test(e.menu.path || "") || !((i = e.menu.path) != null && i.startsWith(o.value)) ? {
374
+ return /^http/.test(e.menu.path || "") || !((i = e.menu.path) != null && i.startsWith(s.value)) ? {
374
375
  href: e.menu.path || ""
375
376
  } : {
376
377
  to: e.menu.path || ""
377
378
  };
378
- }), g = S(
379
+ }), p = S(
379
380
  () => {
380
381
  var i;
381
382
  return String(e.menu.icon || ((i = e.menu.meta) == null ? void 0 : i.icon) || "metisicon-yingyong");
382
383
  }
383
384
  );
384
- return (i, h) => {
385
- var v, p;
386
- const m = L("AsideSubMenuItem", !0);
387
- return l(), y(U, null, [
388
- (l(), k(Ae(r.value), Je({
385
+ return (i, m) => {
386
+ var f, y;
387
+ const h = L("AsideSubMenuItem", !0);
388
+ return l(), v(K, null, [
389
+ (l(), k(Se(o.value), Fe({
389
390
  class: ["pt-1 pb-1 pl-3 pr-3 flex items-center gap-2 rounded-md", [
390
- e.menu.path == f(a) ? "bg-[var(--ui-sidebar-active-bg,var(--el-fill-color))] text-[var(--ui-sidebar-active-fg)] font-medium" : "text-[var(--ui-sidebar-foreground)]",
391
- (v = t.value) != null && v.length ? " h-7" : " h-9.5 cursor-pointer hover:bg-[var(--ui-sidebar-hover-bg)]"
391
+ e.menu.path == g(n) ? "bg-[var(--ui-sidebar-active-bg,var(--el-fill-color))] text-[var(--ui-sidebar-active-fg)] font-medium" : "text-[var(--ui-sidebar-foreground)]",
392
+ (f = t.value) != null && f.length ? " h-7" : " h-9.5 cursor-pointer hover:bg-[var(--ui-sidebar-hover-bg)]"
392
393
  ]],
393
394
  style: { paddingLeft: "calc(var(--spacing) * 3)" }
394
395
  }, c.value), {
395
- default: C(() => {
396
- var b, T, B, F;
396
+ default: _(() => {
397
+ var C, T, N, U;
397
398
  return [
398
- (b = t.value) != null && b.length ? I("", !0) : (l(), k(tt, {
399
+ (C = t.value) != null && C.length ? I("", !0) : (l(), k(et, {
399
400
  key: 0,
400
- icon: g.value,
401
- class: K(["text-md", [
402
- e.menu.path == f(a) ? "opacity-100" : "opacity-60"
401
+ icon: p.value,
402
+ class: F(["text-md", [
403
+ e.menu.path == g(n) ? "opacity-100" : "opacity-60"
403
404
  ]])
404
405
  }, null, 8, ["icon", "class"])),
405
406
  d("div", {
406
- class: K(["truncate", (T = t.value) != null && T.length ? "text-xs text-gray-400" : ""])
407
- }, E(f(le)(f($)(((F = (B = e.menu) == null ? void 0 : B.meta) == null ? void 0 : F.translations) || {}, "name"))), 3)
407
+ class: F(["truncate", (T = t.value) != null && T.length ? "text-xs text-gray-400" : ""])
408
+ }, E(g(de)(g(se)(((U = (N = e.menu) == null ? void 0 : N.meta) == null ? void 0 : U.translations) || {}, "name"))), 3)
408
409
  ];
409
410
  }),
410
411
  _: 1
411
412
  }, 16, ["class"])),
412
- (p = t.value) != null && p.length ? (l(), y("div", Zt, [
413
- (l(!0), y(U, null, J(t.value, (b, T) => (l(), k(m, {
414
- menu: b,
413
+ (y = t.value) != null && y.length ? (l(), v("div", Ot, [
414
+ (l(!0), v(K, null, H(t.value, (C, T) => (l(), k(h, {
415
+ menu: C,
415
416
  key: T,
416
417
  level: e.level + 1
417
418
  }, null, 8, ["menu", "level"]))), 128))
@@ -419,10 +420,10 @@ const Ht = { class: "menu-item-icon" }, Qt = ["innerHTML"], zt = /* @__PURE__ */
419
420
  ], 64);
420
421
  };
421
422
  }
422
- }), qt = { class: "h-full" }, Yt = {
423
+ }), Ht = { class: "h-full" }, Qt = {
423
424
  key: 0,
424
425
  class: ""
425
- }, nt = /* @__PURE__ */ M({
426
+ }, tt = /* @__PURE__ */ D({
426
427
  __name: "AsideSubMenus",
427
428
  props: {
428
429
  menus: {
@@ -430,173 +431,173 @@ const Ht = { class: "menu-item-icon" }, Qt = ["innerHTML"], zt = /* @__PURE__ */
430
431
  default: () => []
431
432
  }
432
433
  },
433
- setup(n) {
434
- const e = n;
435
- return (t, a) => {
436
- var o;
437
- return ht((l(), y("div", qt, [
438
- (o = e.menus) != null && o.length ? (l(), y("div", Yt, [
439
- (l(!0), y(U, null, J(e.menus.filter((s) => {
440
- var r;
441
- return ((r = s.meta) == null ? void 0 : r.visible) != "0";
442
- }), (s, r) => (l(), k(jt, {
443
- key: r,
444
- menu: s
434
+ setup(a) {
435
+ const e = a;
436
+ return (t, n) => {
437
+ var s;
438
+ return ct((l(), v("div", Ht, [
439
+ (s = e.menus) != null && s.length ? (l(), v("div", Qt, [
440
+ (l(!0), v(K, null, H(e.menus.filter((r) => {
441
+ var o;
442
+ return ((o = r.meta) == null ? void 0 : o.visible) != "0";
443
+ }), (r, o) => (l(), k(Ft, {
444
+ key: o,
445
+ menu: r
445
446
  }, null, 8, ["menu"]))), 128))
446
447
  ])) : I("", !0)
447
448
  ], 512)), [
448
- [gt, e.menus.length]
449
+ [ut, e.menus.length]
449
450
  ]);
450
451
  };
451
452
  }
452
- }), Wt = {
453
+ }), zt = {
453
454
  key: 0,
454
455
  class: "aside-bar__mobile-head flex justify-between items-center pt-4 pb-4 px-4"
455
- }, Xt = { class: "p-3" }, Gt = /* @__PURE__ */ M({
456
+ }, Zt = { class: "p-3" }, jt = /* @__PURE__ */ D({
456
457
  __name: "AsideBar",
457
- setup(n) {
458
- const { menus: e, isMobile: t, sideOpen: a } = H(), o = () => void (a.value = !a.value);
459
- return (s, r) => {
460
- const c = L("el-icon"), g = L("el-scrollbar");
461
- return f(e).length && !s.$route.meta.hideSidebar ? (l(), y("div", {
458
+ setup(a) {
459
+ const { menus: e, isMobile: t, sideOpen: n } = z(), s = () => void (n.value = !n.value);
460
+ return (r, o) => {
461
+ const c = L("el-icon"), p = L("el-scrollbar");
462
+ return g(e).length && !r.$route.meta.hideSidebar ? (l(), v("div", {
462
463
  key: 0,
463
- class: K(["aside-bar flex flex-col h-full min-h-0 w-64 min-width-50", [
464
- f(t) ? "fixed top-0 left-0 z-200 transition-all" : "",
465
- f(a) ? "translate-x-[0px]" : "translate-x-[-100%]"
464
+ class: F(["aside-bar flex flex-col h-full min-h-0 w-64 min-width-50", [
465
+ g(t) ? "fixed top-0 left-0 z-200 transition-all" : "",
466
+ g(n) ? "translate-x-[0px]" : "translate-x-[-100%]"
466
467
  ]])
467
468
  }, [
468
- f(t) ? (l(), y("div", Wt, [
469
+ g(t) ? (l(), v("div", zt, [
469
470
  d("div", {
470
471
  class: "aside-bar__close text-lg cursor-pointer p-2 leading-4",
471
- onClick: o
472
+ onClick: s
472
473
  }, [
473
- _(c, null, {
474
- default: C(() => [
475
- _(f(Fe))
474
+ A(c, null, {
475
+ default: _(() => [
476
+ A(g(Qe))
476
477
  ]),
477
478
  _: 1
478
479
  })
479
480
  ])
480
481
  ])) : I("", !0),
481
- _(g, { ref: "leftScrollRef" }, {
482
- default: C(() => [
483
- d("div", Xt, [
484
- _(nt, { menus: f(e) }, null, 8, ["menus"])
482
+ A(p, { ref: "leftScrollRef" }, {
483
+ default: _(() => [
484
+ d("div", Zt, [
485
+ A(tt, { menus: g(e) }, null, 8, ["menus"])
485
486
  ])
486
487
  ]),
487
488
  _: 1
488
489
  }, 512),
489
- z(s.$slots, "sidebar-foot", {}, void 0, !0)
490
+ q(r.$slots, "sidebar-foot", {}, void 0, !0)
490
491
  ], 2)) : I("", !0);
491
492
  };
492
493
  }
493
- }), Vt = /* @__PURE__ */ D(Gt, [["__scopeId", "data-v-ff960d0f"]]);
494
- function at() {
495
- const n = O(), e = S(() => n.value.appList || []);
494
+ }), qt = /* @__PURE__ */ B(jt, [["__scopeId", "data-v-ff960d0f"]]);
495
+ function nt() {
496
+ const a = Q(), e = S(() => a.value.appList || []);
496
497
  return {
497
498
  appList: e,
498
- getAppPath: (o) => (o == null ? void 0 : o.path) || "",
499
- findAppById: (o) => {
500
- if (o)
501
- return ot(e.value, o);
499
+ getAppPath: (s) => (s == null ? void 0 : s.path) || "",
500
+ findAppById: (s) => {
501
+ if (s)
502
+ return at(e.value, s);
502
503
  }
503
504
  };
504
505
  }
505
- const ot = (n, e) => n.reduce(
506
- (t, a) => t || (a.appId === e ? a : ot(a.children || [], e)),
506
+ const at = (a, e) => a.reduce(
507
+ (t, n) => t || (n.appId === e ? n : at(n.children || [], e)),
507
508
  void 0
508
- ), $t = {
509
+ ), Yt = {
509
510
  key: 0,
510
511
  class: "app-select"
511
- }, en = ["href"], tn = {
512
+ }, Wt = ["href"], Xt = {
512
513
  key: 0,
513
514
  class: "app-select__dropdown"
514
- }, nn = ["href"], an = { class: "app-select__dropdown-icon text-xl" }, on = { class: "app-select__dropdown-desc" }, sn = /* @__PURE__ */ M({
515
+ }, Gt = ["href"], Vt = { class: "app-select__dropdown-icon text-xl" }, $t = { class: "app-select__dropdown-desc" }, en = /* @__PURE__ */ D({
515
516
  __name: "AppSelect",
516
- setup(n) {
517
- const { currentAppId: e } = H(), { appList: t, getAppPath: a } = at(), o = (s) => {
518
- var r;
519
- return e.value === s.appId || !!((r = s.children) != null && r.some((c) => c.appId === e.value));
517
+ setup(a) {
518
+ const { currentAppId: e } = z(), { appList: t, getAppPath: n } = nt(), s = (r) => {
519
+ var o;
520
+ return e.value === r.appId || !!((o = r.children) != null && o.some((c) => c.appId === e.value));
520
521
  };
521
- return (s, r) => {
522
- var g;
522
+ return (r, o) => {
523
+ var p;
523
524
  const c = L("el-icon");
524
- return (g = f(t)) != null && g.length ? (l(), y("div", $t, [
525
- (l(!0), y(U, null, J(f(t), (i) => {
526
- var h, m;
527
- return l(), y("div", {
525
+ return (p = g(t)) != null && p.length ? (l(), v("div", Yt, [
526
+ (l(!0), v(K, null, H(g(t), (i) => {
527
+ var m, h;
528
+ return l(), v("div", {
528
529
  key: i.appId,
529
530
  class: "app-select__group"
530
531
  }, [
531
532
  d("a", {
532
- class: K(["app-select__link", {
533
- "app-select__link--active": o(i)
533
+ class: F(["app-select__link", {
534
+ "app-select__link--active": s(i)
534
535
  }]),
535
- href: f(a)(i) || void 0
536
+ href: g(n)(i) || void 0
536
537
  }, [
537
538
  d("span", null, E(i.name), 1),
538
- (h = i.children) != null && h.length ? (l(), k(c, { key: 0 }, {
539
- default: C(() => [
540
- _(f(_e))
539
+ (m = i.children) != null && m.length ? (l(), k(c, { key: 0 }, {
540
+ default: _(() => [
541
+ A(g(we))
541
542
  ]),
542
543
  _: 1
543
544
  })) : I("", !0)
544
- ], 10, en),
545
- (m = i.children) != null && m.length ? (l(), y("div", tn, [
546
- (l(!0), y(U, null, J(i.children, (v) => (l(), y("a", {
547
- key: v.appId,
548
- class: K(["app-select__dropdown-item", {
549
- "app-select__dropdown-item--active": o(v)
545
+ ], 10, Wt),
546
+ (h = i.children) != null && h.length ? (l(), v("div", Xt, [
547
+ (l(!0), v(K, null, H(i.children, (f) => (l(), v("a", {
548
+ key: f.appId,
549
+ class: F(["app-select__dropdown-item", {
550
+ "app-select__dropdown-item--active": s(f)
550
551
  }]),
551
- href: f(a)(v) || void 0
552
+ href: g(n)(f) || void 0
552
553
  }, [
553
- d("span", an, [
554
+ d("span", Vt, [
554
555
  d("i", {
555
- class: K(v.icon || "metisicon-moxingku")
556
+ class: F(f.icon || "metisicon-moxingku")
556
557
  }, null, 2)
557
558
  ]),
558
559
  d("div", null, [
559
- d("div", null, E(v.name), 1),
560
- d("div", on, E(v.desc), 1)
560
+ d("div", null, E(f.name), 1),
561
+ d("div", $t, E(f.desc), 1)
561
562
  ])
562
- ], 10, nn))), 128))
563
+ ], 10, Gt))), 128))
563
564
  ])) : I("", !0)
564
565
  ]);
565
566
  }), 128))
566
567
  ])) : I("", !0);
567
568
  };
568
569
  }
569
- }), rn = /* @__PURE__ */ D(sn, [["__scopeId", "data-v-e2f5efb7"]]), ln = /* @__PURE__ */ M({
570
+ }), tn = /* @__PURE__ */ B(en, [["__scopeId", "data-v-e2f5efb7"]]), nn = /* @__PURE__ */ D({
570
571
  __name: "NavIconBtn",
571
572
  props: {
572
573
  tag: { default: "button" },
573
574
  type: { default: "button" },
574
575
  iconOnly: { type: Boolean, default: !0 }
575
576
  },
576
- setup(n) {
577
- return (e, t) => (l(), k(Ae(n.tag), {
578
- type: n.tag === "button" ? n.type : void 0,
579
- class: K(["nav-icon-btn", { "nav-icon-btn--icon-only": n.iconOnly }])
577
+ setup(a) {
578
+ return (e, t) => (l(), k(Se(a.tag), {
579
+ type: a.tag === "button" ? a.type : void 0,
580
+ class: F(["nav-icon-btn", { "nav-icon-btn--icon-only": a.iconOnly }])
580
581
  }, {
581
- default: C(() => [
582
- z(e.$slots, "default", {}, void 0, !0)
582
+ default: _(() => [
583
+ q(e.$slots, "default", {}, void 0, !0)
583
584
  ]),
584
585
  _: 3
585
586
  }, 8, ["type", "class"]));
586
587
  }
587
- }), X = /* @__PURE__ */ D(ln, [["__scopeId", "data-v-824bbddc"]]), cn = /* @__PURE__ */ M({
588
+ }), ee = /* @__PURE__ */ B(nn, [["__scopeId", "data-v-824bbddc"]]), an = /* @__PURE__ */ D({
588
589
  __name: "ThemeToggle",
589
- setup(n) {
590
- const e = O(), { theme: t, isDark: a, toggleTheme: o } = Xe();
591
- return Oe(() => {
590
+ setup(a) {
591
+ const e = Q(), { theme: t, isDark: n, toggleTheme: s } = Ve();
592
+ return He(() => {
592
593
  e.value.theme = t.value;
593
- }), (s, r) => {
594
+ }), (r, o) => {
594
595
  const c = L("el-icon");
595
- return l(), k(X, { onClick: f(o) }, {
596
- default: C(() => [
597
- _(c, null, {
598
- default: C(() => [
599
- f(a) ? (l(), k(f(vt), { key: 1 })) : (l(), k(f(ft), { key: 0 }))
596
+ return l(), k(ee, { onClick: g(s) }, {
597
+ default: _(() => [
598
+ A(c, null, {
599
+ default: _(() => [
600
+ g(n) ? (l(), k(g(pt), { key: 1 })) : (l(), k(g(dt), { key: 0 }))
600
601
  ]),
601
602
  _: 1
602
603
  })
@@ -605,7 +606,7 @@ const ot = (n, e) => n.reduce(
605
606
  }, 8, ["onClick"]);
606
607
  };
607
608
  }
608
- }), st = /* @__PURE__ */ D(cn, [["__scopeId", "data-v-e6ea60b7"]]), un = {
609
+ }), ot = /* @__PURE__ */ B(an, [["__scopeId", "data-v-e6ea60b7"]]), on = {
609
610
  label: {
610
611
  clickToChangeImage: "Click to change image"
611
612
  },
@@ -613,7 +614,7 @@ const ot = (n, e) => n.reduce(
613
614
  uploadIng: "Uploading...",
614
615
  agreementTip1: "Terms of Service and Privacy Policy"
615
616
  }
616
- }, dn = {
617
+ }, sn = {
617
618
  label: {
618
619
  agreement: "I agree to",
619
620
  and: "and",
@@ -818,7 +819,7 @@ const ot = (n, e) => n.reduce(
818
819
  loginHeroTitle: "Enterprise AI Platform for Model Services & Compute",
819
820
  loginHeroDesc: "Unified API access to multi-model routing, compute orchestration, and AI service operations, built for enterprise."
820
821
  }
821
- }, pn = {
822
+ }, rn = {
822
823
  btn: {
823
824
  agree: "Agree",
824
825
  disagree: "Disagree",
@@ -856,7 +857,7 @@ const ot = (n, e) => n.reduce(
856
857
  },
857
858
  pleaseSelect: "Please select {0}",
858
859
  seeMore: "See More"
859
- }, mn = {
860
+ }, ln = {
860
861
  notFound: {
861
862
  title: "Coming Soon!",
862
863
  description: "This page is under development. Please refresh the page or click the button below to return to the homepage.",
@@ -891,7 +892,7 @@ const ot = (n, e) => n.reduce(
891
892
  folder: "folder",
892
893
  file: "file"
893
894
  }
894
- }, hn = {
895
+ }, cn = {
895
896
  label: {
896
897
  languageModel: "Language Model"
897
898
  },
@@ -1040,7 +1041,7 @@ const ot = (n, e) => n.reduce(
1040
1041
  CNY: "Chinese Yuan",
1041
1042
  USD: "US Dollar"
1042
1043
  }
1043
- }, gn = {
1044
+ }, un = {
1044
1045
  label: {},
1045
1046
  btn: {
1046
1047
  search: "Search",
@@ -1049,7 +1050,7 @@ const ot = (n, e) => n.reduce(
1049
1050
  expand: "Expand"
1050
1051
  },
1051
1052
  msg: {}
1052
- }, fn = {
1053
+ }, dn = {
1053
1054
  label: {
1054
1055
  otherConfig: "Other Settings"
1055
1056
  },
@@ -1064,7 +1065,7 @@ const ot = (n, e) => n.reduce(
1064
1065
  StaticPrefixInput: {
1065
1066
  notEmpty: "Cannot be empty"
1066
1067
  }
1067
- }, vn = {
1068
+ }, pn = {
1068
1069
  label: {},
1069
1070
  btn: {},
1070
1071
  msg: {
@@ -1080,17 +1081,17 @@ const ot = (n, e) => n.reduce(
1080
1081
  charError: "Passwords must contain letters, numbers, and special symbols",
1081
1082
  charTypeError: "The password must contain at least three types: uppercase letters, lowercase letters, numbers, and special symbols"
1082
1083
  }
1083
- }, yn = {
1084
+ }, mn = {
1084
1085
  name: "English",
1085
- common: pn,
1086
- account: un,
1087
- admin: dn,
1088
- components: mn,
1089
- constant: hn,
1090
- filterBox: gn,
1091
- password: vn,
1092
- instanceForm: fn
1093
- }, bn = {
1086
+ common: rn,
1087
+ account: on,
1088
+ admin: sn,
1089
+ components: ln,
1090
+ constant: cn,
1091
+ filterBox: un,
1092
+ password: pn,
1093
+ instanceForm: dn
1094
+ }, hn = {
1094
1095
  label: {
1095
1096
  clickToChangeImage: "点击更换图像"
1096
1097
  },
@@ -1098,7 +1099,7 @@ const ot = (n, e) => n.reduce(
1098
1099
  uploadIng: "上传中...",
1099
1100
  agreementTip1: "服务协议及隐私保护"
1100
1101
  }
1101
- }, An = {
1102
+ }, gn = {
1102
1103
  label: {
1103
1104
  agreement: "我已同意",
1104
1105
  and: "和",
@@ -1301,7 +1302,7 @@ const ot = (n, e) => n.reduce(
1301
1302
  loginHeroTitle: "泛 AI 聚合与分发服务",
1302
1303
  loginHeroDesc: "通过 API 调度,实现模型调用、AI 应用构建、数据与工具服务的在线分发与使用。"
1303
1304
  }
1304
- }, _n = {
1305
+ }, fn = {
1305
1306
  btn: {
1306
1307
  agree: "同意",
1307
1308
  disagree: "不同意",
@@ -1339,7 +1340,7 @@ const ot = (n, e) => n.reduce(
1339
1340
  },
1340
1341
  pleaseSelect: "请选择{0}",
1341
1342
  seeMore: "查看更多"
1342
- }, Cn = {
1343
+ }, vn = {
1343
1344
  notFound: {
1344
1345
  title: "开发中,敬请期待!",
1345
1346
  description: "页面开发中,请刷新页面,或者点击下面的按钮返回主页.",
@@ -1374,7 +1375,7 @@ const ot = (n, e) => n.reduce(
1374
1375
  folder: "文件夹",
1375
1376
  file: "文件"
1376
1377
  }
1377
- }, Sn = {
1378
+ }, yn = {
1378
1379
  label: {
1379
1380
  languageModel: "语言模型"
1380
1381
  },
@@ -1523,7 +1524,7 @@ const ot = (n, e) => n.reduce(
1523
1524
  CNY: "人民币",
1524
1525
  USD: "美元"
1525
1526
  }
1526
- }, wn = {
1527
+ }, bn = {
1527
1528
  label: {},
1528
1529
  btn: {
1529
1530
  search: "搜索",
@@ -1532,7 +1533,7 @@ const ot = (n, e) => n.reduce(
1532
1533
  expand: "展开"
1533
1534
  },
1534
1535
  msg: {}
1535
- }, Pn = {
1536
+ }, An = {
1536
1537
  label: {
1537
1538
  otherConfig: "其他配置"
1538
1539
  },
@@ -1547,7 +1548,7 @@ const ot = (n, e) => n.reduce(
1547
1548
  StaticPrefixInput: {
1548
1549
  notEmpty: "不能为空"
1549
1550
  }
1550
- }, Tn = {
1551
+ }, _n = {
1551
1552
  label: {},
1552
1553
  btn: {},
1553
1554
  msg: {
@@ -1563,62 +1564,62 @@ const ot = (n, e) => n.reduce(
1563
1564
  charError: "密码必须包含字母、数字、特殊符号",
1564
1565
  charTypeError: "密码必须包含至少以下三种(大写字母、小写字母、数字、特殊符号)"
1565
1566
  }
1566
- }, kn = {
1567
+ }, Cn = {
1567
1568
  name: "中文简体",
1568
- common: _n,
1569
- account: bn,
1570
- admin: An,
1571
- components: Cn,
1572
- constant: Sn,
1573
- filterBox: wn,
1574
- password: Tn,
1575
- instanceForm: Pn
1576
- }, se = {
1577
- "en-US": yn,
1578
- "zh-CN": kn
1579
- }, ue = Ct({
1580
- locale: Ze(),
1569
+ common: fn,
1570
+ account: hn,
1571
+ admin: gn,
1572
+ components: vn,
1573
+ constant: yn,
1574
+ filterBox: bn,
1575
+ password: _n,
1576
+ instanceForm: An
1577
+ }, ce = {
1578
+ "en-US": mn,
1579
+ "zh-CN": Cn
1580
+ }, me = vt({
1581
+ locale: qe(),
1581
1582
  fallbackLocale: "en-US",
1582
- messages: se,
1583
+ messages: ce,
1583
1584
  legacy: !1
1584
- }), In = {
1585
+ }), Sn = {
1585
1586
  key: 0,
1586
1587
  class: "language-select__current"
1587
- }, Ln = { class: "language-select__panel" }, xn = ["onClick"], En = /* @__PURE__ */ M({
1588
+ }, wn = { class: "language-select__panel" }, Pn = ["onClick"], Tn = /* @__PURE__ */ D({
1588
1589
  __name: "LanguageSelect",
1589
1590
  props: {
1590
1591
  showLabel: { type: Boolean, default: !1 }
1591
1592
  },
1592
- setup(n) {
1593
- const { locale: e } = ue.global, t = S(
1594
- () => se[e.value].name
1595
- ), a = Object.keys(se).map((s) => ({
1596
- label: se[s].name,
1597
- value: s
1598
- })), o = (s) => {
1599
- W.set("locale", s), location.reload();
1593
+ setup(a) {
1594
+ const { locale: e } = me.global, t = S(
1595
+ () => ce[e.value].name
1596
+ ), n = Object.keys(ce).map((r) => ({
1597
+ label: ce[r].name,
1598
+ value: r
1599
+ })), s = (r) => {
1600
+ $.set("locale", r), location.reload();
1600
1601
  };
1601
- return (s, r) => {
1602
- const c = L("el-icon"), g = L("el-popover");
1603
- return l(), k(g, {
1602
+ return (r, o) => {
1603
+ const c = L("el-icon"), p = L("el-popover");
1604
+ return l(), k(p, {
1604
1605
  placement: "bottom",
1605
1606
  width: 180,
1606
1607
  trigger: "hover",
1607
1608
  "popper-class": "top-language-popover"
1608
1609
  }, {
1609
- reference: C(() => [
1610
- _(X, {
1610
+ reference: _(() => [
1611
+ A(ee, {
1611
1612
  "langselect-toggle": "",
1612
1613
  tag: "div",
1613
1614
  class: "language-select",
1614
- "icon-only": !n.showLabel,
1615
+ "icon-only": !a.showLabel,
1615
1616
  title: t.value,
1616
1617
  "aria-label": t.value
1617
1618
  }, {
1618
- default: C(() => [
1619
- z(s.$slots, "prefix", {}, void 0, !0),
1620
- _(c, null, {
1621
- default: C(() => [...r[0] || (r[0] = [
1619
+ default: _(() => [
1620
+ q(r.$slots, "prefix", {}, void 0, !0),
1621
+ A(c, null, {
1622
+ default: _(() => [...o[0] || (o[0] = [
1622
1623
  d("svg", {
1623
1624
  xmlns: "http://www.w3.org/2000/svg",
1624
1625
  width: "24",
@@ -1644,13 +1645,13 @@ const ot = (n, e) => n.reduce(
1644
1645
  ])]),
1645
1646
  _: 1
1646
1647
  }),
1647
- n.showLabel ? (l(), y("span", In, E(t.value), 1)) : I("", !0),
1648
- n.showLabel ? (l(), k(c, {
1648
+ a.showLabel ? (l(), v("span", Sn, E(t.value), 1)) : I("", !0),
1649
+ a.showLabel ? (l(), k(c, {
1649
1650
  key: 1,
1650
1651
  class: "language-select__caret"
1651
1652
  }, {
1652
- default: C(() => [
1653
- _(f(_e))
1653
+ default: _(() => [
1654
+ A(g(we))
1654
1655
  ]),
1655
1656
  _: 1
1656
1657
  })) : I("", !0)
@@ -1658,55 +1659,55 @@ const ot = (n, e) => n.reduce(
1658
1659
  _: 3
1659
1660
  }, 8, ["icon-only", "title", "aria-label"])
1660
1661
  ]),
1661
- default: C(() => [
1662
- d("div", Ln, [
1663
- (l(!0), y(U, null, J(f(a), (i) => (l(), y("div", {
1662
+ default: _(() => [
1663
+ d("div", wn, [
1664
+ (l(!0), v(K, null, H(g(n), (i) => (l(), v("div", {
1664
1665
  key: i.value,
1665
- class: K(["language-select__option", { "language-select__option--active": i.value === f(e) }]),
1666
- onClick: (h) => o(i.value)
1667
- }, E(i.label), 11, xn))), 128))
1666
+ class: F(["language-select__option", { "language-select__option--active": i.value === g(e) }]),
1667
+ onClick: (m) => s(i.value)
1668
+ }, E(i.label), 11, Pn))), 128))
1668
1669
  ])
1669
1670
  ]),
1670
1671
  _: 3
1671
1672
  });
1672
1673
  };
1673
1674
  }
1674
- }), rt = /* @__PURE__ */ D(En, [["__scopeId", "data-v-48306ad1"]]), Mn = { class: "mobile-user-popover" }, Dn = ["href"], Nn = /* @__PURE__ */ M({
1675
+ }), st = /* @__PURE__ */ B(Tn, [["__scopeId", "data-v-48306ad1"]]), kn = { class: "mobile-user-popover" }, In = ["href"], Ln = /* @__PURE__ */ D({
1675
1676
  __name: "AsideUserMobilePopover",
1676
- setup(n) {
1677
- const { t: e } = ue.global, t = O(), a = S(() => Bt(t.value)), o = () => {
1678
- var s, r;
1679
- Promise.resolve((r = (s = t.value).onLogout) == null ? void 0 : r.call(s)).finally(() => {
1680
- t.value.onLogout || ce(t.value);
1677
+ setup(a) {
1678
+ const { t: e } = me.global, t = Q(), n = S(() => xt(t.value)), s = () => {
1679
+ var r, o;
1680
+ Promise.resolve((o = (r = t.value).onLogout) == null ? void 0 : o.call(r)).finally(() => {
1681
+ t.value.onLogout || pe(t.value);
1681
1682
  });
1682
1683
  };
1683
- return (s, r) => {
1684
+ return (r, o) => {
1684
1685
  const c = L("el-popover");
1685
1686
  return l(), k(c, {
1686
1687
  width: 220,
1687
1688
  trigger: "click",
1688
1689
  "popper-class": "top-userinfo-popover"
1689
1690
  }, {
1690
- reference: C(() => [
1691
- z(s.$slots, "reference", {}, void 0, !0)
1691
+ reference: _(() => [
1692
+ q(r.$slots, "reference", {}, void 0, !0)
1692
1693
  ]),
1693
- default: C(() => [
1694
- d("div", Mn, [
1694
+ default: _(() => [
1695
+ d("div", kn, [
1695
1696
  d("a", {
1696
- href: a.value,
1697
+ href: n.value,
1697
1698
  class: "mobile-user-popover__item"
1698
1699
  }, [
1699
- r[0] || (r[0] = d("i", { class: "metisicon-yonghu1" }, null, -1)),
1700
- d("span", null, E(f(e)("admin.label.profile")), 1)
1701
- ], 8, Dn),
1702
- _(rt),
1703
- r[2] || (r[2] = d("div", { class: "mobile-user-popover__divider" }, null, -1)),
1700
+ o[0] || (o[0] = d("i", { class: "metisicon-yonghu1" }, null, -1)),
1701
+ d("span", null, E(g(e)("admin.label.profile")), 1)
1702
+ ], 8, In),
1703
+ A(st),
1704
+ o[2] || (o[2] = d("div", { class: "mobile-user-popover__divider" }, null, -1)),
1704
1705
  d("div", {
1705
1706
  class: "mobile-user-popover__item mobile-user-popover__item--danger",
1706
- onClick: o
1707
+ onClick: s
1707
1708
  }, [
1708
- r[1] || (r[1] = d("i", { class: "metisicon-exit-full" }, null, -1)),
1709
- d("span", null, E(f(e)("common.btn.logout")), 1)
1709
+ o[1] || (o[1] = d("i", { class: "metisicon-exit-full" }, null, -1)),
1710
+ d("span", null, E(g(e)("common.btn.logout")), 1)
1710
1711
  ])
1711
1712
  ])
1712
1713
  ]),
@@ -1714,115 +1715,115 @@ const ot = (n, e) => n.reduce(
1714
1715
  });
1715
1716
  };
1716
1717
  }
1717
- }), lt = /* @__PURE__ */ D(Nn, [["__scopeId", "data-v-87e082b1"]]), Bn = { class: "header-right-mobile" }, Un = /* @__PURE__ */ M({
1718
+ }), rt = /* @__PURE__ */ B(Ln, [["__scopeId", "data-v-87e082b1"]]), xn = { class: "header-right-mobile" }, En = /* @__PURE__ */ D({
1718
1719
  __name: "HeaderRightMobile",
1719
- setup(n) {
1720
- const e = O(), t = S(
1720
+ setup(a) {
1721
+ const e = Q(), t = S(
1721
1722
  () => {
1722
- var o, s;
1723
- return !!((o = e.value.user) != null && o.id || (s = e.value.user) != null && s.userId);
1723
+ var s, r;
1724
+ return !!((s = e.value.user) != null && s.id || (r = e.value.user) != null && r.userId);
1724
1725
  }
1725
- ), a = () => {
1726
- var o, s;
1727
- (s = (o = e.value).onLogin) != null && s.call(o) || ce(e.value);
1726
+ ), n = () => {
1727
+ var s, r;
1728
+ (r = (s = e.value).onLogin) != null && r.call(s) || pe(e.value);
1728
1729
  };
1729
- return (o, s) => (l(), y("div", Bn, [
1730
- _(st),
1731
- t.value ? (l(), k(lt, { key: 0 }, {
1732
- reference: C(() => [
1733
- _(X, { class: "header-right-mobile__action" }, {
1734
- default: C(() => [...s[0] || (s[0] = [
1730
+ return (s, r) => (l(), v("div", xn, [
1731
+ A(ot),
1732
+ t.value ? (l(), k(rt, { key: 0 }, {
1733
+ reference: _(() => [
1734
+ A(ee, { class: "header-right-mobile__action" }, {
1735
+ default: _(() => [...r[0] || (r[0] = [
1735
1736
  d("i", { class: "metisicon-yonghu1" }, null, -1)
1736
1737
  ])]),
1737
1738
  _: 1
1738
1739
  })
1739
1740
  ]),
1740
1741
  _: 1
1741
- })) : (l(), k(X, {
1742
+ })) : (l(), k(ee, {
1742
1743
  key: 1,
1743
1744
  class: "header-right-mobile__action",
1744
- onClick: a
1745
+ onClick: n
1745
1746
  }, {
1746
- default: C(() => [...s[1] || (s[1] = [
1747
+ default: _(() => [...r[1] || (r[1] = [
1747
1748
  d("i", { class: "metisicon-yonghu1" }, null, -1)
1748
1749
  ])]),
1749
1750
  _: 1
1750
1751
  }))
1751
1752
  ]));
1752
1753
  }
1753
- }), Rn = /* @__PURE__ */ D(Un, [["__scopeId", "data-v-48792b0a"]]), Kn = ["aria-label", "aria-expanded"], Jn = { class: "mobile-menu-toggle__icon" }, On = /* @__PURE__ */ M({
1754
+ }), Mn = /* @__PURE__ */ B(En, [["__scopeId", "data-v-48792b0a"]]), Dn = ["aria-label", "aria-expanded"], Nn = { class: "mobile-menu-toggle__icon" }, Bn = /* @__PURE__ */ D({
1754
1755
  __name: "MobileMenuToggle",
1755
- setup(n) {
1756
- const { sideOpen: e } = H(), t = () => {
1756
+ setup(a) {
1757
+ const { sideOpen: e } = z(), t = () => {
1757
1758
  e.value = !e.value;
1758
1759
  };
1759
- return (a, o) => {
1760
- const s = L("el-icon");
1761
- return l(), y("button", {
1760
+ return (n, s) => {
1761
+ const r = L("el-icon");
1762
+ return l(), v("button", {
1762
1763
  type: "button",
1763
1764
  class: "mobile-menu-toggle",
1764
- "aria-label": f(e) ? "Close menu" : "Open menu",
1765
- "aria-expanded": f(e),
1765
+ "aria-label": g(e) ? "Close menu" : "Open menu",
1766
+ "aria-expanded": g(e),
1766
1767
  onClick: t
1767
1768
  }, [
1768
- d("div", Jn, [
1769
- _(s, null, {
1770
- default: C(() => [
1771
- _(f(yt))
1769
+ d("div", Nn, [
1770
+ A(r, null, {
1771
+ default: _(() => [
1772
+ A(g(mt))
1772
1773
  ]),
1773
1774
  _: 1
1774
1775
  })
1775
1776
  ])
1776
- ], 8, Kn);
1777
+ ], 8, Dn);
1777
1778
  };
1778
1779
  }
1779
- }), Fn = /* @__PURE__ */ D(On, [["__scopeId", "data-v-b1a4f38a"]]), Hn = {
1780
+ }), Un = /* @__PURE__ */ B(Bn, [["__scopeId", "data-v-b1a4f38a"]]), Rn = {
1780
1781
  key: 0,
1781
1782
  class: "user-avatar__fallback"
1782
- }, Qn = /* @__PURE__ */ M({
1783
+ }, Kn = /* @__PURE__ */ D({
1783
1784
  __name: "UserAvatar",
1784
1785
  props: {
1785
1786
  src: { default: "" },
1786
1787
  name: { default: "" }
1787
1788
  },
1788
- setup(n) {
1789
- const e = n, t = N(!1), a = S(() => e.name.trim()), o = S(
1790
- () => a.value.charAt(0).toUpperCase() || "U"
1791
- ), s = S(() => a.value || "User avatar"), r = S(() => e.src.trim()), c = S(
1792
- () => !r.value || t.value
1793
- ), g = S(
1794
- () => c.value && !!a.value
1789
+ setup(a) {
1790
+ const e = a, t = R(!1), n = S(() => e.name.trim()), s = S(
1791
+ () => n.value.charAt(0).toUpperCase() || "U"
1792
+ ), r = S(() => n.value || "User avatar"), o = S(() => e.src.trim()), c = S(
1793
+ () => !o.value || t.value
1794
+ ), p = S(
1795
+ () => c.value && !!n.value
1795
1796
  ), i = S(
1796
- () => c.value && !a.value
1797
- ), h = S(
1798
- () => r.value && !t.value ? r.value : void 0
1797
+ () => c.value && !n.value
1798
+ ), m = S(
1799
+ () => o.value && !t.value ? o.value : void 0
1799
1800
  );
1800
- re(
1801
+ ue(
1801
1802
  () => e.src,
1802
1803
  () => {
1803
1804
  t.value = !1;
1804
1805
  }
1805
1806
  );
1806
- const m = () => {
1807
+ const h = () => {
1807
1808
  t.value = !0;
1808
1809
  };
1809
- return (v, p) => {
1810
- const b = L("el-icon"), T = L("el-avatar");
1811
- return l(), k(T, Je(v.$attrs, {
1812
- src: h.value,
1813
- "data-src": h.value,
1814
- alt: s.value,
1810
+ return (f, y) => {
1811
+ const C = L("el-icon"), T = L("el-avatar");
1812
+ return l(), k(T, Fe(f.$attrs, {
1813
+ src: m.value,
1814
+ "data-src": m.value,
1815
+ alt: r.value,
1815
1816
  class: ["user-avatar", { "user-avatar--fallback": c.value }],
1816
- onError: m
1817
+ onError: h
1817
1818
  }), {
1818
- default: C(() => [
1819
- g.value ? (l(), y("span", Hn, E(o.value), 1)) : i.value ? (l(), k(b, {
1819
+ default: _(() => [
1820
+ p.value ? (l(), v("span", Rn, E(s.value), 1)) : i.value ? (l(), k(C, {
1820
1821
  key: 1,
1821
1822
  class: "user-avatar__icon",
1822
1823
  "aria-hidden": "true"
1823
1824
  }, {
1824
- default: C(() => [
1825
- _(f(bt))
1825
+ default: _(() => [
1826
+ A(g(ht))
1826
1827
  ]),
1827
1828
  _: 1
1828
1829
  })) : I("", !0)
@@ -1831,17 +1832,17 @@ const ot = (n, e) => n.reduce(
1831
1832
  }, 16, ["src", "data-src", "alt", "class"]);
1832
1833
  };
1833
1834
  }
1834
- }), Ue = /* @__PURE__ */ D(Qn, [["__scopeId", "data-v-50be58a7"]]), zn = {
1835
+ }), Ke = /* @__PURE__ */ B(Kn, [["__scopeId", "data-v-50be58a7"]]), Jn = {
1835
1836
  key: 0,
1836
1837
  class: "layout-breadcrumb text-xs",
1837
1838
  "aria-label": "Breadcrumb"
1838
- }, Zn = ["aria-label", "title"], jn = {
1839
+ }, On = ["aria-label", "title"], Fn = {
1839
1840
  key: 1,
1840
1841
  class: "flex min-w-0 items-center gap-1"
1841
- }, qn = ["href"], Yn = ["onClick"], Wn = {
1842
+ }, Hn = ["href"], Qn = ["onClick"], zn = {
1842
1843
  key: 3,
1843
1844
  class: "layout-breadcrumb__current"
1844
- }, Xn = /* @__PURE__ */ M({
1845
+ }, Zn = /* @__PURE__ */ D({
1845
1846
  __name: "LayoutBreadcrumb",
1846
1847
  props: {
1847
1848
  items: { default: void 0 },
@@ -1853,136 +1854,136 @@ const ot = (n, e) => n.reduce(
1853
1854
  backTo: { default: void 0 },
1854
1855
  backLabel: { default: "返回" }
1855
1856
  },
1856
- setup(n) {
1857
- const e = n, t = ie(), a = He(), o = O(), s = H(), r = S(() => {
1858
- var Pe, Te, ke, Ie, Le, xe;
1859
- if ((Pe = e.items) != null && Pe.length)
1860
- return e.items.filter((q) => q.title);
1861
- const u = T(t.path), A = T(
1862
- ((Te = t.meta) == null ? void 0 : Te.parent) || ((ke = t.meta) == null ? void 0 : ke.parentPath) || t.path
1863
- ), w = c(), P = (Le = (Ie = s == null ? void 0 : s.currentEndRoute) == null ? void 0 : Ie.value) == null ? void 0 : Le.paths, x = g(P || []);
1864
- let R = x.length ? x : v(w, A);
1865
- const pe = T(
1866
- e.parentPath || ((xe = t.meta) == null ? void 0 : xe.parentPath) || ""
1857
+ setup(a) {
1858
+ const e = a, t = ie(), n = ze(), s = Q(), r = z(), o = S(() => {
1859
+ var ke, Ie, Le, xe, Ee, Me;
1860
+ if ((ke = e.items) != null && ke.length)
1861
+ return e.items.filter((G) => G.title);
1862
+ const u = T(t.path), b = T(
1863
+ ((Ie = t.meta) == null ? void 0 : Ie.parent) || ((Le = t.meta) == null ? void 0 : Le.parentPath) || t.path
1864
+ ), w = c(), P = (Ee = (xe = r == null ? void 0 : r.currentEndRoute) == null ? void 0 : xe.value) == null ? void 0 : Ee.paths, x = p(P || []);
1865
+ let O = x.length ? x : f(w, b);
1866
+ const fe = T(
1867
+ e.parentPath || ((Me = t.meta) == null ? void 0 : Me.parentPath) || ""
1867
1868
  );
1868
- if (!R.length && pe && (R = v(w, pe)), !R.length) {
1869
- const q = pe || p(u, w);
1870
- R = q ? v(w, q) : [];
1869
+ if (!O.length && fe && (O = f(w, fe)), !O.length) {
1870
+ const G = fe || y(u, w);
1871
+ O = G ? f(w, G) : [];
1871
1872
  }
1872
- const Z = R.map(i).filter((q) => q.title), Q = Z[Z.length - 1], j = m();
1873
- return e.showCurrent && j && B(Q == null ? void 0 : Q.path) !== B(u) ? Z.push({
1874
- title: j,
1873
+ const W = O.map(i).filter((G) => G.title), j = W[W.length - 1], X = h();
1874
+ return e.showCurrent && X && N(j == null ? void 0 : j.path) !== N(u) ? W.push({
1875
+ title: X,
1875
1876
  path: u,
1876
1877
  disabled: !0
1877
- }) : j && Q && B(Q.path) === B(u) && (Q.title = j, Q.disabled = !0), !Z.length && j && Z.push({
1878
- title: j,
1878
+ }) : X && j && N(j.path) === N(u) && (j.title = X, j.disabled = !0), !W.length && X && W.push({
1879
+ title: X,
1879
1880
  path: u,
1880
1881
  disabled: !0
1881
- }), Z;
1882
+ }), W;
1882
1883
  }), c = () => {
1883
- const u = [], A = /* @__PURE__ */ new Set();
1884
- return (o.value.menus || []).forEach((w) => {
1884
+ const u = [], b = /* @__PURE__ */ new Set();
1885
+ return (s.value.menus || []).forEach((w) => {
1885
1886
  var x;
1886
1887
  const P = w.path || w.name || JSON.stringify(((x = w.meta) == null ? void 0 : x.translations) || {});
1887
- !P || A.has(P) || (A.add(P), u.push(w));
1888
+ !P || b.has(P) || (b.add(P), u.push(w));
1888
1889
  }), u;
1889
- }, g = (u) => u.filter((A) => {
1890
+ }, p = (u) => u.filter((b) => {
1890
1891
  var w;
1891
- return A && ((w = A.meta) == null ? void 0 : w.visible) !== "0";
1892
+ return b && ((w = b.meta) == null ? void 0 : w.visible) !== "0";
1892
1893
  }), i = (u) => {
1893
- var A;
1894
+ var b;
1894
1895
  return {
1895
- title: h(u),
1896
+ title: m(u),
1896
1897
  path: u.path,
1897
- disabled: ((A = u.meta) == null ? void 0 : A.visible) === "0",
1898
+ disabled: ((b = u.meta) == null ? void 0 : b.visible) === "0",
1898
1899
  children: u.children
1899
1900
  };
1900
- }, h = (u) => {
1901
+ }, m = (u) => {
1901
1902
  var w;
1902
- return ((w = u == null ? void 0 : u.meta) != null && w.translations ? le($(u.meta.translations, "name", u.name)) : "") || (u == null ? void 0 : u.title) || (u == null ? void 0 : u.name) || "";
1903
- }, m = () => {
1903
+ return ((w = u == null ? void 0 : u.meta) != null && w.translations ? de(se(u.meta.translations, "name", u.name)) : "") || (u == null ? void 0 : u.title) || (u == null ? void 0 : u.name) || "";
1904
+ }, h = () => {
1904
1905
  var u;
1905
1906
  return e.currentTitle ? e.currentTitle : typeof ((u = t.meta) == null ? void 0 : u.title) == "string" ? t.meta.title : String(t.params.id || t.params.tenantId || "");
1906
- }, v = (u, A, w = []) => {
1907
- if (!A) return [];
1907
+ }, f = (u, b, w = []) => {
1908
+ if (!b) return [];
1908
1909
  for (const P of u) {
1909
1910
  const x = [...w, P];
1910
- if (b(P.path, A))
1911
- return g(x);
1912
- const R = v(P.children || [], A, x);
1913
- if (R.length) return R;
1911
+ if (C(P.path, b))
1912
+ return p(x);
1913
+ const O = f(P.children || [], b, x);
1914
+ if (O.length) return O;
1914
1915
  }
1915
1916
  return [];
1916
- }, p = (u, A) => {
1917
+ }, y = (u, b) => {
1917
1918
  const w = u.split("/").filter(Boolean);
1918
1919
  for (let P = w.length - 1; P > 0; P -= 1) {
1919
1920
  const x = `/${w.slice(0, P).join("/")}`;
1920
- if (v(A, x).length) return x;
1921
+ if (f(b, x).length) return x;
1921
1922
  }
1922
1923
  return "";
1923
- }, b = (u = "", A = "") => {
1924
- const w = B(u), P = B(A);
1924
+ }, C = (u = "", b = "") => {
1925
+ const w = N(u), P = N(b);
1925
1926
  if (!w || !P) return !1;
1926
1927
  if (w === P) return !0;
1927
1928
  const x = w.replace(/\/:(\w+)/g, "/([^/]+)");
1928
1929
  return new RegExp(`^${x}$`, "i").test(P);
1929
- }, T = (u = "") => u ? u.split("?")[0].split("#")[0] : "", B = (u = "") => (T(u).replace(/\/+$/, "") || "/").toLowerCase(), F = (u) => /^https?:\/\//.test(u.path || ""), it = (u) => {
1930
- var A;
1931
- return !!((A = u.children) != null && A.some((w) => !w.disabled));
1932
- }, we = (u, A) => u.disabled || A === r.value.length - 1 || !u.path ? !1 : F(u) || !it(u), ct = (u) => {
1933
- const A = u.to || de(u);
1934
- A && a.push(A);
1935
- }, ut = () => {
1936
- var A;
1930
+ }, T = (u = "") => u ? u.split("?")[0].split("#")[0] : "", N = (u = "") => (T(u).replace(/\/+$/, "") || "/").toLowerCase(), U = (u) => /^https?:\/\//.test(u.path || ""), Z = (u) => {
1931
+ var b;
1932
+ return !!((b = u.children) != null && b.some((w) => !w.disabled));
1933
+ }, M = (u, b) => u.disabled || b === o.value.length - 1 || !u.path ? !1 : U(u) || !Z(u), J = (u) => {
1934
+ const b = u.to || ge(u);
1935
+ b && n.push(b);
1936
+ }, Y = () => {
1937
+ var b;
1937
1938
  if (e.backTo) {
1938
- a.push(e.backTo);
1939
+ n.push(e.backTo);
1939
1940
  return;
1940
1941
  }
1941
- if ((A = a.options.history.state) != null && A.back && window.history.length > 1) {
1942
- a.back();
1942
+ if ((b = n.options.history.state) != null && b.back && window.history.length > 1) {
1943
+ n.back();
1943
1944
  return;
1944
1945
  }
1945
- const u = dt();
1946
- u && a.push(u);
1947
- }, dt = () => {
1946
+ const u = he();
1947
+ u && n.push(u);
1948
+ }, he = () => {
1948
1949
  var w, P;
1949
1950
  const u = e.parentPath || ((w = t.meta) == null ? void 0 : w.parentPath) || ((P = t.meta) == null ? void 0 : P.parent) || "";
1950
1951
  if (u)
1951
- return de({ path: u });
1952
- const A = r.value[r.value.length - 2];
1953
- if (A != null && A.to) return A.to;
1954
- if (A != null && A.path && !F(A))
1955
- return de(A);
1956
- }, de = (u) => {
1952
+ return ge({ path: u });
1953
+ const b = o.value[o.value.length - 2];
1954
+ if (b != null && b.to) return b.to;
1955
+ if (b != null && b.path && !U(b))
1956
+ return ge(b);
1957
+ }, ge = (u) => {
1957
1958
  if (!u.path) return;
1958
- const A = e.preserveQueryKeys.reduce((w, P) => {
1959
+ const b = e.preserveQueryKeys.reduce((w, P) => {
1959
1960
  const x = t.query[P];
1960
1961
  return typeof x == "string" && (w[P] = x), Array.isArray(x) && (w[P] = x.filter(
1961
- (R) => typeof R == "string"
1962
+ (O) => typeof O == "string"
1962
1963
  )), w;
1963
1964
  }, {});
1964
- return Object.keys(A).length ? { path: u.path, query: A } : { path: u.path };
1965
+ return Object.keys(b).length ? { path: u.path, query: b } : { path: u.path };
1965
1966
  };
1966
- return (u, A) => {
1967
+ return (u, b) => {
1967
1968
  const w = L("el-icon");
1968
- return e.showBack || r.value.length ? (l(), y("nav", zn, [
1969
- e.showBack ? (l(), y("button", {
1969
+ return e.showBack || o.value.length ? (l(), v("nav", Jn, [
1970
+ e.showBack ? (l(), v("button", {
1970
1971
  key: 0,
1971
1972
  class: "layout-breadcrumb__back",
1972
1973
  type: "button",
1973
1974
  "aria-label": e.backLabel,
1974
1975
  title: e.backLabel,
1975
- onClick: ut
1976
+ onClick: Y
1976
1977
  }, [
1977
- _(w, null, {
1978
- default: C(() => [
1979
- _(f(At))
1978
+ A(w, null, {
1979
+ default: _(() => [
1980
+ A(g(gt))
1980
1981
  ]),
1981
1982
  _: 1
1982
1983
  })
1983
- ], 8, Zn)) : I("", !0),
1984
- r.value.length ? (l(), y("ol", jn, [
1985
- (l(!0), y(U, null, J(r.value, (P, x) => (l(), y("li", {
1984
+ ], 8, On)) : I("", !0),
1985
+ o.value.length ? (l(), v("ol", Fn, [
1986
+ (l(!0), v(K, null, H(o.value, (P, x) => (l(), v("li", {
1986
1987
  key: `${P.path || P.title}-${x}`,
1987
1988
  class: "flex min-w-0 items-center gap-1"
1988
1989
  }, [
@@ -1990,70 +1991,70 @@ const ot = (n, e) => n.reduce(
1990
1991
  key: 0,
1991
1992
  class: "layout-breadcrumb__separator"
1992
1993
  }, {
1993
- default: C(() => [
1994
- _(f(he))
1994
+ default: _(() => [
1995
+ A(g(_e))
1995
1996
  ]),
1996
1997
  _: 1
1997
1998
  })) : I("", !0),
1998
- F(P) && we(P, x) ? (l(), y("a", {
1999
+ U(P) && M(P, x) ? (l(), v("a", {
1999
2000
  key: 1,
2000
2001
  class: "layout-breadcrumb__link",
2001
2002
  href: P.path
2002
- }, E(P.title), 9, qn)) : we(P, x) ? (l(), y("button", {
2003
+ }, E(P.title), 9, Hn)) : M(P, x) ? (l(), v("button", {
2003
2004
  key: 2,
2004
2005
  class: "layout-breadcrumb__link",
2005
2006
  type: "button",
2006
- onClick: (R) => ct(P)
2007
- }, E(P.title), 9, Yn)) : (l(), y("span", Wn, E(P.title), 1))
2007
+ onClick: (O) => J(P)
2008
+ }, E(P.title), 9, Qn)) : (l(), v("span", zn, E(P.title), 1))
2008
2009
  ]))), 128))
2009
2010
  ])) : I("", !0)
2010
2011
  ])) : I("", !0);
2011
2012
  };
2012
2013
  }
2013
- }), Wa = /* @__PURE__ */ D(Xn, [["__scopeId", "data-v-f7586477"]]), Gn = {
2014
+ }), za = /* @__PURE__ */ B(Zn, [["__scopeId", "data-v-f7586477"]]), jn = {
2014
2015
  key: 0,
2015
2016
  class: "timezone-select__current"
2016
- }, Vn = { class: "timezone-select__panel" }, $n = ["onClick"], ea = { class: "timezone-select__name" }, ta = { class: "timezone-select__offset" }, na = /* @__PURE__ */ M({
2017
+ }, qn = { class: "timezone-select__panel" }, Yn = ["onClick"], Wn = { class: "timezone-select__name" }, Xn = { class: "timezone-select__offset" }, Gn = /* @__PURE__ */ D({
2017
2018
  __name: "TimezoneSelect",
2018
2019
  props: {
2019
2020
  showLabel: { type: Boolean, default: !1 }
2020
2021
  },
2021
- setup(n) {
2022
- const e = kt(), t = N(!1), a = S(() => e.value), o = S(() => Dt()), s = S(() => Mt(a.value)), r = (c) => {
2023
- It(c), t.value = !1;
2022
+ setup(a) {
2023
+ const e = Ct(), t = R(!1), n = S(() => e.value), s = S(() => It()), r = S(() => kt(n.value)), o = (c) => {
2024
+ St(c), t.value = !1;
2024
2025
  };
2025
- return (c, g) => {
2026
- const i = L("el-icon"), h = L("el-popover");
2027
- return l(), k(h, {
2026
+ return (c, p) => {
2027
+ const i = L("el-icon"), m = L("el-popover");
2028
+ return l(), k(m, {
2028
2029
  visible: t.value,
2029
- "onUpdate:visible": g[0] || (g[0] = (m) => t.value = m),
2030
+ "onUpdate:visible": p[0] || (p[0] = (h) => t.value = h),
2030
2031
  placement: "bottom",
2031
2032
  width: 280,
2032
2033
  trigger: "hover",
2033
2034
  "popper-class": "top-timezone-popover"
2034
2035
  }, {
2035
- reference: C(() => [
2036
- _(X, {
2036
+ reference: _(() => [
2037
+ A(ee, {
2037
2038
  tag: "div",
2038
2039
  class: "timezone-select",
2039
- "icon-only": !n.showLabel,
2040
- title: s.value,
2041
- "aria-label": s.value
2040
+ "icon-only": !a.showLabel,
2041
+ title: r.value,
2042
+ "aria-label": r.value
2042
2043
  }, {
2043
- default: C(() => [
2044
- _(i, null, {
2045
- default: C(() => [
2046
- _(f(_t))
2044
+ default: _(() => [
2045
+ A(i, null, {
2046
+ default: _(() => [
2047
+ A(g(ft))
2047
2048
  ]),
2048
2049
  _: 1
2049
2050
  }),
2050
- n.showLabel ? (l(), y("span", Gn, E(a.value), 1)) : I("", !0),
2051
- n.showLabel ? (l(), k(i, {
2051
+ a.showLabel ? (l(), v("span", jn, E(n.value), 1)) : I("", !0),
2052
+ a.showLabel ? (l(), k(i, {
2052
2053
  key: 1,
2053
2054
  class: "timezone-select__caret"
2054
2055
  }, {
2055
- default: C(() => [
2056
- _(f(_e))
2056
+ default: _(() => [
2057
+ A(g(we))
2057
2058
  ]),
2058
2059
  _: 1
2059
2060
  })) : I("", !0)
@@ -2061,109 +2062,109 @@ const ot = (n, e) => n.reduce(
2061
2062
  _: 1
2062
2063
  }, 8, ["icon-only", "title", "aria-label"])
2063
2064
  ]),
2064
- default: C(() => [
2065
- d("div", Vn, [
2066
- (l(!0), y(U, null, J(o.value, (m) => (l(), y("button", {
2067
- key: m.value,
2065
+ default: _(() => [
2066
+ d("div", qn, [
2067
+ (l(!0), v(K, null, H(s.value, (h) => (l(), v("button", {
2068
+ key: h.value,
2068
2069
  type: "button",
2069
- class: K(["timezone-select__option", {
2070
- "timezone-select__option--active": m.value === a.value
2070
+ class: F(["timezone-select__option", {
2071
+ "timezone-select__option--active": h.value === n.value
2071
2072
  }]),
2072
- onClick: (v) => r(m.value)
2073
+ onClick: (f) => o(h.value)
2073
2074
  }, [
2074
- d("span", ea, E(m.value), 1),
2075
- d("span", ta, E(m.offset), 1)
2076
- ], 10, $n))), 128))
2075
+ d("span", Wn, E(h.value), 1),
2076
+ d("span", Xn, E(h.offset), 1)
2077
+ ], 10, Yn))), 128))
2077
2078
  ])
2078
2079
  ]),
2079
2080
  _: 1
2080
2081
  }, 8, ["visible"]);
2081
2082
  };
2082
2083
  }
2083
- }), Xa = /* @__PURE__ */ D(na, [["__scopeId", "data-v-e62f5f2d"]]), aa = { class: "user-info__panel" }, oa = { class: "user-info__profile" }, sa = { class: "user-info__profile-main" }, ra = ["title"], la = ["title"], ia = { class: "user-info__meta" }, ca = { class: "user-info__meta-label" }, ua = ["title"], da = ["href"], pa = /* @__PURE__ */ M({
2084
+ }), Za = /* @__PURE__ */ B(Gn, [["__scopeId", "data-v-e62f5f2d"]]), Vn = { class: "user-info__panel" }, $n = { class: "user-info__profile" }, ea = { class: "user-info__profile-main" }, ta = ["title"], na = ["title"], aa = { class: "user-info__meta" }, oa = { class: "user-info__meta-label" }, sa = ["title"], ra = ["href"], la = /* @__PURE__ */ D({
2084
2085
  __name: "UserInfo",
2085
- setup(n) {
2086
- const { t: e } = ue.global, t = O(), a = S(() => t.value.user || {}), o = S(() => t.value.accountMenu || []), s = S(
2086
+ setup(a) {
2087
+ const { t: e } = me.global, t = Q(), n = S(() => t.value.user || {}), s = S(() => t.value.accountMenu || []), r = S(
2087
2088
  () => {
2088
- var g, i, h, m;
2089
- return ((g = a.value) == null ? void 0 : g.name) || ((i = a.value) == null ? void 0 : i.username) || ((h = a.value) == null ? void 0 : h.email) || ((m = a.value) == null ? void 0 : m.userId) || "User";
2089
+ var p, i, m, h;
2090
+ return ((p = n.value) == null ? void 0 : p.name) || ((i = n.value) == null ? void 0 : i.username) || ((m = n.value) == null ? void 0 : m.email) || ((h = n.value) == null ? void 0 : h.userId) || "User";
2090
2091
  }
2091
- ), r = S(
2092
+ ), o = S(
2092
2093
  () => {
2093
- var g, i, h;
2094
+ var p, i, m;
2094
2095
  return [
2095
- { label: e("admin.label.userName"), value: (g = a.value) == null ? void 0 : g.username },
2096
- { label: e("admin.label.email"), value: (i = a.value) == null ? void 0 : i.email },
2097
- { label: e("admin.label.userId"), value: (h = a.value) == null ? void 0 : h.userId }
2098
- ].filter((m) => !!m.value);
2096
+ { label: e("admin.label.userName"), value: (p = n.value) == null ? void 0 : p.username },
2097
+ { label: e("admin.label.email"), value: (i = n.value) == null ? void 0 : i.email },
2098
+ { label: e("admin.label.userId"), value: (m = n.value) == null ? void 0 : m.userId }
2099
+ ].filter((h) => !!h.value);
2099
2100
  }
2100
2101
  ), c = () => {
2101
- var g, i;
2102
- Promise.resolve((i = (g = t.value).onLogout) == null ? void 0 : i.call(g)).finally(() => {
2103
- t.value.onLogout || ce(t.value);
2102
+ var p, i;
2103
+ Promise.resolve((i = (p = t.value).onLogout) == null ? void 0 : i.call(p)).finally(() => {
2104
+ t.value.onLogout || pe(t.value);
2104
2105
  });
2105
2106
  };
2106
- return (g, i) => {
2107
- const h = L("el-popover");
2108
- return l(), k(h, {
2107
+ return (p, i) => {
2108
+ const m = L("el-popover");
2109
+ return l(), k(m, {
2109
2110
  width: 280,
2110
2111
  trigger: "hover",
2111
2112
  "popper-class": "top-userinfo-popover"
2112
2113
  }, {
2113
- reference: C(() => [
2114
- _(f(Ue), {
2114
+ reference: _(() => [
2115
+ A(g(Ke), {
2115
2116
  class: "user-info__trigger ml-2",
2116
- src: a.value.avatar,
2117
- name: s.value
2117
+ src: n.value.avatar,
2118
+ name: r.value
2118
2119
  }, null, 8, ["src", "name"])
2119
2120
  ]),
2120
- default: C(() => {
2121
- var m;
2121
+ default: _(() => {
2122
+ var h;
2122
2123
  return [
2123
- d("div", aa, [
2124
- d("div", oa, [
2125
- _(f(Ue), {
2124
+ d("div", Vn, [
2125
+ d("div", $n, [
2126
+ A(g(Ke), {
2126
2127
  class: "user-info__profile-avatar",
2127
- src: a.value.avatar,
2128
- name: s.value
2128
+ src: n.value.avatar,
2129
+ name: r.value
2129
2130
  }, null, 8, ["src", "name"]),
2130
- d("div", sa, [
2131
+ d("div", ea, [
2131
2132
  d("div", {
2132
2133
  class: "user-info__display-name",
2133
- title: s.value
2134
- }, E(s.value), 9, ra),
2135
- (m = a.value) != null && m.username ? (l(), y("div", {
2134
+ title: r.value
2135
+ }, E(r.value), 9, ta),
2136
+ (h = n.value) != null && h.username ? (l(), v("div", {
2136
2137
  key: 0,
2137
2138
  class: "user-info__username",
2138
- title: a.value.username
2139
- }, " @" + E(a.value.username), 9, la)) : I("", !0)
2139
+ title: n.value.username
2140
+ }, " @" + E(n.value.username), 9, na)) : I("", !0)
2140
2141
  ])
2141
2142
  ]),
2142
- d("div", ia, [
2143
- (l(!0), y(U, null, J(r.value, (v) => (l(), y("div", {
2144
- key: v.label,
2143
+ d("div", aa, [
2144
+ (l(!0), v(K, null, H(o.value, (f) => (l(), v("div", {
2145
+ key: f.label,
2145
2146
  class: "user-info__meta-row"
2146
2147
  }, [
2147
- d("span", ca, E(v.label), 1),
2148
+ d("span", oa, E(f.label), 1),
2148
2149
  d("span", {
2149
2150
  class: "user-info__meta-value",
2150
- title: v.value
2151
- }, E(v.value), 9, ua)
2151
+ title: f.value
2152
+ }, E(f.value), 9, sa)
2152
2153
  ]))), 128))
2153
2154
  ]),
2154
2155
  i[1] || (i[1] = d("div", { class: "user-info__divider" }, null, -1)),
2155
- (l(!0), y(U, null, J(o.value, (v, p) => {
2156
- var b, T;
2157
- return l(), y("a", {
2158
- key: p,
2159
- href: v.path,
2156
+ (l(!0), v(K, null, H(s.value, (f, y) => {
2157
+ var C, T;
2158
+ return l(), v("a", {
2159
+ key: y,
2160
+ href: f.path,
2160
2161
  class: "user-info__item"
2161
2162
  }, [
2162
- _(tt, {
2163
- icon: v.icon || ((b = v.meta) == null ? void 0 : b.icon)
2163
+ A(et, {
2164
+ icon: f.icon || ((C = f.meta) == null ? void 0 : C.icon)
2164
2165
  }, null, 8, ["icon"]),
2165
- d("span", null, E(f($)(((T = v.meta) == null ? void 0 : T.translations) || {}, "name", v.name)), 1)
2166
- ], 8, da);
2166
+ d("span", null, E(g(se)(((T = f.meta) == null ? void 0 : T.translations) || {}, "name", f.name)), 1)
2167
+ ], 8, ra);
2167
2168
  }), 128)),
2168
2169
  i[2] || (i[2] = d("div", { class: "user-info__divider" }, null, -1)),
2169
2170
  d("div", {
@@ -2171,7 +2172,7 @@ const ot = (n, e) => n.reduce(
2171
2172
  onClick: c
2172
2173
  }, [
2173
2174
  i[0] || (i[0] = d("i", { class: "metisicon-exit-full" }, null, -1)),
2174
- d("span", null, E(f(e)("common.btn.logout")), 1)
2175
+ d("span", null, E(g(e)("common.btn.logout")), 1)
2175
2176
  ])
2176
2177
  ])
2177
2178
  ];
@@ -2180,28 +2181,28 @@ const ot = (n, e) => n.reduce(
2180
2181
  });
2181
2182
  };
2182
2183
  }
2183
- }), ma = /* @__PURE__ */ D(pa, [["__scopeId", "data-v-ac052463"]]), ha = { class: "header-right" }, ga = ["href"], fa = /* @__PURE__ */ M({
2184
+ }), ia = /* @__PURE__ */ B(la, [["__scopeId", "data-v-ac052463"]]), ca = { class: "header-right" }, ua = ["href"], da = /* @__PURE__ */ D({
2184
2185
  __name: "SHeaderRight",
2185
- setup(n) {
2186
- const { t: e } = ue.global, t = O(), a = S(() => t.value.hideDoc ?? !1), o = S(() => Ge(t.value)), s = S(() => t.value.user), r = S(() => {
2187
- var i, h;
2188
- return !!((i = s.value) != null && i.id || (h = s.value) != null && h.userId);
2186
+ setup(a) {
2187
+ const { t: e } = me.global, t = Q(), n = S(() => t.value.hideDoc ?? !1), s = S(() => $e(t.value)), r = S(() => t.value.user), o = S(() => {
2188
+ var i, m;
2189
+ return !!((i = r.value) != null && i.id || (m = r.value) != null && m.userId);
2189
2190
  }), c = (i) => {
2190
2191
  t.value.onLogin && (i.preventDefault(), t.value.onLogin());
2191
- }, g = S(() => t.value.docsPath || "");
2192
- return (i, h) => {
2193
- const m = L("el-icon");
2194
- return l(), y("div", ha, [
2195
- !a.value && g.value ? (l(), k(X, {
2192
+ }, p = S(() => t.value.docsPath || "");
2193
+ return (i, m) => {
2194
+ const h = L("el-icon");
2195
+ return l(), v("div", ca, [
2196
+ !n.value && p.value ? (l(), k(ee, {
2196
2197
  key: 0,
2197
2198
  tag: "a",
2198
2199
  class: "whitespace-nowrap",
2199
- href: g.value,
2200
+ href: p.value,
2200
2201
  target: "_blank"
2201
2202
  }, {
2202
- default: C(() => [
2203
- _(m, null, {
2204
- default: C(() => [...h[0] || (h[0] = [
2203
+ default: _(() => [
2204
+ A(h, null, {
2205
+ default: _(() => [...m[0] || (m[0] = [
2205
2206
  d("svg", {
2206
2207
  xmlns: "http://www.w3.org/2000/svg",
2207
2208
  width: "24",
@@ -2225,105 +2226,105 @@ const ot = (n, e) => n.reduce(
2225
2226
  ]),
2226
2227
  _: 1
2227
2228
  }, 8, ["href"])) : I("", !0),
2228
- _(rt),
2229
- _(st),
2230
- r.value ? (l(), k(ma, { key: 1 })) : (l(), y("a", {
2229
+ A(st),
2230
+ A(ot),
2231
+ o.value ? (l(), k(ia, { key: 1 })) : (l(), v("a", {
2231
2232
  key: 2,
2232
2233
  class: "header-right__login",
2233
- href: o.value,
2234
+ href: s.value,
2234
2235
  onClick: c
2235
- }, E(f(e)("common.btn.login")), 9, ga))
2236
+ }, E(g(e)("common.btn.login")), 9, ua))
2236
2237
  ]);
2237
2238
  };
2238
2239
  }
2239
- }), va = /* @__PURE__ */ D(fa, [["__scopeId", "data-v-3c5e16a6"]]), ya = {
2240
+ }), pa = /* @__PURE__ */ B(da, [["__scopeId", "data-v-3c5e16a6"]]), ma = {
2240
2241
  "header-bar": "",
2241
2242
  class: "header-bar sticky top-0 z-200"
2242
- }, ba = { class: "header-bar__left" }, Aa = { class: "header-bar__logo-wrap" }, _a = {
2243
+ }, ha = { class: "header-bar__left" }, ga = { class: "header-bar__logo-wrap" }, fa = {
2243
2244
  href: "/",
2244
2245
  target: "_self",
2245
2246
  rel: "noopener",
2246
2247
  class: "header-bar__logo-link"
2247
- }, Ca = {
2248
+ }, va = {
2248
2249
  key: 1,
2249
2250
  class: "header-bar__divider"
2250
- }, Sa = { class: "header-bar__right" }, wa = /* @__PURE__ */ M({
2251
+ }, ya = { class: "header-bar__right" }, ba = /* @__PURE__ */ D({
2251
2252
  __name: "HeaderBar",
2252
- setup(n) {
2253
- const e = O(), { isMobile: t } = H(), a = S(
2253
+ setup(a) {
2254
+ const e = Q(), { isMobile: t } = z(), n = S(
2254
2255
  () => {
2255
- var o, s;
2256
- return !!((o = e.value.user) != null && o.id || (s = e.value.user) != null && s.userId);
2256
+ var s, r;
2257
+ return !!((s = e.value.user) != null && s.id || (r = e.value.user) != null && r.userId);
2257
2258
  }
2258
2259
  );
2259
- return (o, s) => {
2260
- const r = L("el-image");
2261
- return l(), y("div", ya, [
2262
- d("div", ba, [
2263
- f(t) ? (l(), k(Fn, { key: 0 })) : I("", !0),
2264
- d("div", Aa, [
2265
- d("a", _a, [
2266
- _(r, {
2267
- src: f(e).logo,
2260
+ return (s, r) => {
2261
+ const o = L("el-image");
2262
+ return l(), v("div", ma, [
2263
+ d("div", ha, [
2264
+ g(t) ? (l(), k(Un, { key: 0 })) : I("", !0),
2265
+ d("div", ga, [
2266
+ d("a", fa, [
2267
+ A(o, {
2268
+ src: g(e).logo,
2268
2269
  class: "h-7"
2269
2270
  }, null, 8, ["src"])
2270
2271
  ])
2271
2272
  ]),
2272
- a.value && !f(t) ? (l(), y("div", Ca)) : I("", !0),
2273
- a.value && !f(t) ? (l(), k(rn, { key: 2 })) : I("", !0)
2273
+ n.value && !g(t) ? (l(), v("div", va)) : I("", !0),
2274
+ n.value && !g(t) ? (l(), k(tn, { key: 2 })) : I("", !0)
2274
2275
  ]),
2275
- d("div", Sa, [
2276
- z(o.$slots, "default", {}, void 0, !0),
2277
- f(t) ? I("", !0) : (l(), k(va, { key: 0 })),
2278
- f(t) ? (l(), k(Rn, { key: 1 })) : I("", !0)
2276
+ d("div", ya, [
2277
+ q(s.$slots, "default", {}, void 0, !0),
2278
+ g(t) ? I("", !0) : (l(), k(pa, { key: 0 })),
2279
+ g(t) ? (l(), k(Mn, { key: 1 })) : I("", !0)
2279
2280
  ])
2280
2281
  ]);
2281
2282
  };
2282
2283
  }
2283
- }), Pa = /* @__PURE__ */ D(wa, [["__scopeId", "data-v-0ce1ab70"]]), Ta = {
2284
+ }), Aa = /* @__PURE__ */ B(ba, [["__scopeId", "data-v-0ce1ab70"]]), _a = {
2284
2285
  key: 0,
2285
2286
  class: "min-w-0 flex-1"
2286
- }, ka = /* @__PURE__ */ M({
2287
+ }, Ca = /* @__PURE__ */ D({
2287
2288
  __name: "AppSelectMobile",
2288
- setup(n) {
2289
- const { currentAppId: e } = H(), { appList: t, getAppPath: a, findAppById: o } = at(), s = S(() => {
2290
- const c = o(e.value);
2291
- return c ? a(c) : "";
2292
- }), r = (c) => {
2289
+ setup(a) {
2290
+ const { currentAppId: e } = z(), { appList: t, getAppPath: n, findAppById: s } = nt(), r = S(() => {
2291
+ const c = s(e.value);
2292
+ return c ? n(c) : "";
2293
+ }), o = (c) => {
2293
2294
  c && (location.href = c);
2294
2295
  };
2295
- return (c, g) => {
2296
- var v;
2297
- const i = L("el-option"), h = L("el-option-group"), m = L("el-select");
2298
- return (v = f(t)) != null && v.length ? (l(), y("div", Ta, [
2299
- _(m, {
2300
- "model-value": s.value,
2296
+ return (c, p) => {
2297
+ var f;
2298
+ const i = L("el-option"), m = L("el-option-group"), h = L("el-select");
2299
+ return (f = g(t)) != null && f.length ? (l(), v("div", _a, [
2300
+ A(h, {
2301
+ "model-value": r.value,
2301
2302
  class: "w-full",
2302
- onChange: r
2303
+ onChange: o
2303
2304
  }, {
2304
- default: C(() => [
2305
- (l(!0), y(U, null, J(f(t), (p) => {
2306
- var b;
2307
- return l(), y(U, {
2308
- key: p.appId
2305
+ default: _(() => [
2306
+ (l(!0), v(K, null, H(g(t), (y) => {
2307
+ var C;
2308
+ return l(), v(K, {
2309
+ key: y.appId
2309
2310
  }, [
2310
- (b = p.children) != null && b.length ? (l(), k(h, {
2311
+ (C = y.children) != null && C.length ? (l(), k(m, {
2311
2312
  key: 0,
2312
- label: p.name
2313
+ label: y.name
2313
2314
  }, {
2314
- default: C(() => [
2315
- (l(!0), y(U, null, J(p.children, (T) => (l(), k(i, {
2315
+ default: _(() => [
2316
+ (l(!0), v(K, null, H(y.children, (T) => (l(), k(i, {
2316
2317
  key: T.appId,
2317
2318
  label: T.name,
2318
- value: f(a)(T),
2319
+ value: g(n)(T),
2319
2320
  style: { "padding-left": "30px" }
2320
2321
  }, null, 8, ["label", "value"]))), 128))
2321
2322
  ]),
2322
2323
  _: 2
2323
2324
  }, 1032, ["label"])) : (l(), k(i, {
2324
2325
  key: 1,
2325
- label: p.name,
2326
- value: f(a)(p)
2326
+ label: y.name,
2327
+ value: g(n)(y)
2327
2328
  }, null, 8, ["label", "value"]))
2328
2329
  ], 64);
2329
2330
  }), 128))
@@ -2333,26 +2334,26 @@ const ot = (n, e) => n.reduce(
2333
2334
  ])) : I("", !0);
2334
2335
  };
2335
2336
  }
2336
- }), Ia = { class: "aside-user-mobile" }, La = { class: "flex-1" }, xa = { class: "absolute right-4 top-1/2 -translate-y-1/2" }, Ea = { class: "absolute right-4 top-1/2 -translate-y-1/2" }, Ma = /* @__PURE__ */ M({
2337
+ }), Sa = { class: "aside-user-mobile" }, wa = { class: "flex-1" }, Pa = { class: "absolute right-4 top-1/2 -translate-y-1/2" }, Ta = { class: "absolute right-4 top-1/2 -translate-y-1/2" }, ka = /* @__PURE__ */ D({
2337
2338
  __name: "AsideUserMobile",
2338
- setup(n) {
2339
- const e = O(), t = S(() => e.value.user || {}), a = S(() => !!(t.value.id || t.value.userId)), o = S(() => t.value.name || t.value.username), s = () => {
2340
- var r, c;
2341
- (c = (r = e.value).onLogin) != null && c.call(r) || ce(e.value);
2339
+ setup(a) {
2340
+ const e = Q(), t = S(() => e.value.user || {}), n = S(() => !!(t.value.id || t.value.userId)), s = S(() => t.value.name || t.value.username), r = () => {
2341
+ var o, c;
2342
+ (c = (o = e.value).onLogin) != null && c.call(o) || pe(e.value);
2342
2343
  };
2343
- return (r, c) => {
2344
- const g = L("el-icon");
2345
- return a.value ? (l(), k(lt, { key: 0 }, {
2346
- reference: C(() => [
2347
- d("div", Ia, [
2344
+ return (o, c) => {
2345
+ const p = L("el-icon");
2346
+ return n.value ? (l(), k(rt, { key: 0 }, {
2347
+ reference: _(() => [
2348
+ d("div", Sa, [
2348
2349
  c[0] || (c[0] = d("div", { class: "aside-user-mobile__icon text-lg" }, [
2349
2350
  d("i", { class: "metisicon-yonghu1" })
2350
2351
  ], -1)),
2351
- d("div", La, E(o.value), 1),
2352
- d("div", xa, [
2353
- _(g, null, {
2354
- default: C(() => [
2355
- _(f(he))
2352
+ d("div", wa, E(s.value), 1),
2353
+ d("div", Pa, [
2354
+ A(p, null, {
2355
+ default: _(() => [
2356
+ A(g(_e))
2356
2357
  ]),
2357
2358
  _: 1
2358
2359
  })
@@ -2360,19 +2361,19 @@ const ot = (n, e) => n.reduce(
2360
2361
  ])
2361
2362
  ]),
2362
2363
  _: 1
2363
- })) : (l(), y("div", {
2364
+ })) : (l(), v("div", {
2364
2365
  key: 1,
2365
2366
  class: "aside-user-mobile",
2366
- onClick: s
2367
+ onClick: r
2367
2368
  }, [
2368
2369
  c[1] || (c[1] = d("div", { class: "aside-user-mobile__icon text-lg" }, [
2369
2370
  d("i", { class: "metisicon-yonghu1" })
2370
2371
  ], -1)),
2371
2372
  c[2] || (c[2] = d("div", { class: "flex-1" }, "登录/注册", -1)),
2372
- d("div", Ea, [
2373
- _(g, null, {
2374
- default: C(() => [
2375
- _(f(he))
2373
+ d("div", Ta, [
2374
+ A(p, null, {
2375
+ default: _(() => [
2376
+ A(g(_e))
2376
2377
  ]),
2377
2378
  _: 1
2378
2379
  })
@@ -2380,122 +2381,122 @@ const ot = (n, e) => n.reduce(
2380
2381
  ]));
2381
2382
  };
2382
2383
  }
2383
- }), Da = /* @__PURE__ */ D(Ma, [["__scopeId", "data-v-c56964a5"]]), Na = { class: "aside-bar-mobile__head flex items-center gap-3" }, Ba = { class: "p-3" }, Ua = /* @__PURE__ */ M({
2384
+ }), Ia = /* @__PURE__ */ B(ka, [["__scopeId", "data-v-c56964a5"]]), La = { class: "aside-bar-mobile__head flex items-center gap-3" }, xa = { class: "p-3" }, Ea = /* @__PURE__ */ D({
2384
2385
  __name: "AsideBarMobile",
2385
- setup(n) {
2386
- const { menus: e, sideOpen: t } = H(), a = () => void (t.value = !1);
2387
- return (o, s) => {
2388
- const r = L("el-icon"), c = L("el-scrollbar");
2389
- return f(e).length && !o.$route.meta.hideSidebar ? (l(), y("div", {
2386
+ setup(a) {
2387
+ const { menus: e, sideOpen: t } = z(), n = () => void (t.value = !1);
2388
+ return (s, r) => {
2389
+ const o = L("el-icon"), c = L("el-scrollbar");
2390
+ return g(e).length && !s.$route.meta.hideSidebar ? (l(), v("div", {
2390
2391
  key: 0,
2391
- class: K(["aside-bar-mobile fixed inset-y-0 left-0 z-200 flex min-h-0 flex-col transition-transform", [f(t) ? "translate-x-[0px]" : "translate-x-[-100%]"]])
2392
+ class: F(["aside-bar-mobile fixed inset-y-0 left-0 z-200 flex min-h-0 flex-col transition-transform", [g(t) ? "translate-x-[0px]" : "translate-x-[-100%]"]])
2392
2393
  }, [
2393
- d("div", Na, [
2394
+ d("div", La, [
2394
2395
  d("button", {
2395
2396
  type: "button",
2396
2397
  class: "aside-bar-mobile__close",
2397
2398
  "aria-label": "Close menu",
2398
- onClick: a
2399
+ onClick: n
2399
2400
  }, [
2400
- _(r, null, {
2401
- default: C(() => [
2402
- _(f(Fe))
2401
+ A(o, null, {
2402
+ default: _(() => [
2403
+ A(g(Qe))
2403
2404
  ]),
2404
2405
  _: 1
2405
2406
  })
2406
2407
  ]),
2407
- _(ka)
2408
+ A(Ca)
2408
2409
  ]),
2409
- _(c, { ref: "leftScrollRef" }, {
2410
- default: C(() => [
2411
- d("div", Ba, [
2412
- _(nt, { menus: f(e) }, null, 8, ["menus"])
2410
+ A(c, { ref: "leftScrollRef" }, {
2411
+ default: _(() => [
2412
+ d("div", xa, [
2413
+ A(tt, { menus: g(e) }, null, 8, ["menus"])
2413
2414
  ])
2414
2415
  ]),
2415
2416
  _: 1
2416
2417
  }, 512),
2417
- z(o.$slots, "sidebar-foot", {}, void 0, !0),
2418
- _(Da)
2418
+ q(s.$slots, "sidebar-foot", {}, void 0, !0),
2419
+ A(Ia)
2419
2420
  ], 2)) : I("", !0);
2420
2421
  };
2421
2422
  }
2422
- }), Ra = /* @__PURE__ */ D(Ua, [["__scopeId", "data-v-05675378"]]), Ka = "data:image/png;base64,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", Ja = { class: "layout-shell w-full flex flex-col" }, Oa = { class: "layout-shell__body flex flex-1 min-h-0 overflow-hidden" }, Fa = { class: "layout-shell__main flex flex-col flex-1 min-h-0 min-w-0 h-full" }, Ha = { class: "layout-shell__content flex-1 w-full min-h-0 flex flex-col overflow-hidden" }, Qa = /* @__PURE__ */ M({
2423
+ }), Ma = /* @__PURE__ */ B(Ea, [["__scopeId", "data-v-05675378"]]), Da = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQgAAABMCAYAAACRSCkxAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAABCKADAAQAAAABAAAATAAAAADXpTM6AAAqwklEQVR4Ae2dB5ScxZXvu3tGYRSREAoglEkSSkiASEYEIxBiwWLBgWXBNjZhD9hr1mvY52eLc+yzz/v8dtdmk9c2tvGaY+DAguGRbJAAWShhgQBFUA6ApFHWaKTp/t7v/3VXz5dDzwwM5311pqbSrXtv3aq6363wfZ3PfcLdrrVWn4NNh68t5PN/mctZI3P5XNdcLt+Us3Kr8gXrsVLuyBMnjuvb+AlvZsZ+JoGPRQL5j4VqOxHdvrJpxNGjuZ/mc/mLUA51TrT5fN4ifdCyrN/lS/n7hk7qvsZZnsUzCWQSiJfAJ1ZBbF5w6IRiQ+5hmnheYDMrLUNRHEZJPFHXtfCdE8d2XxsIm2VmEsgkECiBQmBuJ89curSxb0tD/juWlTuzVLJyUb5YLHVnuXHp0ebizevXW907edMy9jIJdCoJfOIUxNKfLO3Sr9TtC8WW0mwUQxe3csihLPAsLuxQcXyxZB1rFfPTrMaDJ3cq6WfMZBLo5BKo7+T8udibM8cq9Jxw4DwUwDesnNU/V2JL0uW07eBwraX5fM4aWipap1G63AGRRTMJZBKIkMAnSkFcf/m+0Xmr7ltFyxpmlaxC6/yPaKGKAGQjsxfqo38MZFacSSCTgEMCnxgFseC5zf1LxfyX2XCcli/kuhBWmxGoKKqZRGxQS8upT9ySqtrILJJJ4GOQwCdCQayfa3XfX3/gz7EarmNp0TdX9C4tbCMhWHz2aSdFtpKoao1g2Cw3k0AmAZcEOr2CsNh3WGbtPa+umP9KKZ8bxhRPNMurQCZStiJcjc8SmQQyCURLoNMriNcv2DuyLp//Yslig9HK1bcuLIIaZrRBuYydyYrlUE47ViVBlbO8TAKZBDwS6NQKYuncfQNyxeINxVLuEuZ6j9bZ7lYErW0KVh9SFHYJJkjmMglkEkgugU6rIJ55Zm230hFrBguK2RxRDuQ6A5ciTcOCFYEp9YZlBVGt7C3O0pkEMgmESKBT7upzQpHvV3/s1JJVutkq5U7lolNBpxbuS1Fp0lyYwgwploohYsiyMwlkEgiSQKe0IJa80Dg015L/QilvnYWt0K0tz/6y1SGLw3KaIEGyyPIyCWQS8EigUyqIppbiyIJVN4kTyt7OxUQqRWGAQaCo8HRKc8nTIVkyk0BnkkCnVBD5o3UNpXypQdsOtrDMZK9IzpP0yLNS6gOyuD7hVDeealkyk0AmAZ8EOqWCaIHNPLuSracWylDauNZEa8yUBSiBCpC5M2UgszCTQCaBaAl0SgWRQ0Ow/wDnzGyjAVzz3pWwW2jAfM1VgUGVHXP6xJNlZBKIkkCnVBDFsoaAb4ciCNUA7uYFgtkrFXBZgaVuBFkqk0AmgaoEOqWCaOE0Ul+Mqy4JyhcZqkx7I85p71AprWAgso2I8rqlNT+LZRLIJBApgU6pIMSxrixUJ35VU0S2pRXegBkEFa2ByjElWZhJIJNAAgl0SgVRZA8iz9dgfBM64fz2gVUyuFqVQCQZSCaBTAJGAp1SQXAeWT6SZGK7Jnt4wrSnGrpAK7mBy49qjSySSSCTgFcCnVJBtEhDaDY7ZrTZZ2xtgKOwNdMXq9yksHFl9oNPPFlGJoFICXROBWEvMXQ12s97UJ4fyp/DJ+eyBYZfLFlOJoFICXRKBSGO9TXq8m/fkHBqBQyHAL0R2UgVWmx0FvS568xlEsgkkFgCnVJB2JuUTGgpibJzaIU8v5NlWUd497srb3hGv17h0iT5XDHTD0agWZhJIJEEOqWC0D2I8ier3TO6/HN61rvYEKvQEpfwBnhPlw4IanIFAL1CabQ+Caqe5WUS+P9ZAh+ZguBpX88EZ3chiWvBenBPfVYZ6ANrL2uFfyQ2nFtU04XJrULCcdvYMv0QLqCsJJNAgAQ+kikj5QDtCyphABvuLC0xyr+OVfkojP2xmNxhPnv/0MHmLk8UrVITH5FJ/gEZ6rfgi0VMk8xlEsgkkFgCH4mCgJvT8d/Cu36BO5RL5rG+ANX6BSk+BlXKvcaWw8+37vn3HSUSKpOScCuK8uam9i68ni9T2XmhNLOCTAKZBHwS6HAFgdVwIlT/F36kj3pIhtYh5YnPEoJ1Bcrg3RJLi5adzSvmzJkj/WArCKME0CXAm7wIy0JAmcskkEkgsQQ6dA8C5dAHTr6BvxT/XlKuWtAQ2qS0X9jK5XewIfmzI4eLC+6YM/KwcLQwz8uazb8D4d65AFgZFTCUTeYyCWQSSCGBDlMQlf2GWfDyJXyypUWV8aJ9JMlJZxMbm88VW4pP3nHv6N2muIQC4TO2zH2fOjAggSWZfqiKJ4tkEkgkgQ5TEFA/E38vXlZEKqdNykKd9hWtBRxP/qL/iFHrnAi0xpBy4GDDmR0arxoRH/H3IOC/y86dO7sfPXq0W0tLS9c6nJiE/1KXLl2ONjU1Hdm+fXvzueeeK8soWWNCW5m8AL4kEvFSLB8dJ6/bVsgK7a7gsaB9JAgfMN3Il5F4+KPmT/w45FOCfoesS6Gh9oE+3yE75442lI1tNSyZ05io8tQhCgLmRsPL3fhTkvHkhmpBQ9Tl6teC5+lcc9PS669vZViQ2nvgspTrgqUbQ3BKtyk70qlTUAi9unbtOhilMHzHjh3afxmIXtCvivemvAu6AdatliNHjjQVCoW9xx9//I733nvvfco3kr9p8+bNjRdddJG2YdrdgV8TbxRe/SLFvY+89YRrGRSHCDvEQUMKqRf+BPxIZDAM/w75i6B71EsU2U1GgU4ifwcwejhswjcC26EdCK1e0B7DaZdk1BvfTHp7fX29lscfBPFKfmJXkcOxVBiHlyz0cw7bCFfihb9NyqiCvx+4xP8wvNqQdo4fAc8W6r0FPzvTVqZetAN5bzr/Swz+i4GsCb9l1e0utrQ8Ueha/+pfzRl3wEuRMwy+WYkF4Vth+DJcVf3wruKaE7S5sG/fvmP2798/lsE0BWthAsI9DX8CZX2QB78KluuCJ0sXOuxxXiQ8jFf79uDXEH9ryJAhb65YsWIZ8Y3jxo0LfMICm9qBrzuVroCXz8DDFOKasPvJf5u+epzwRfJ3pUYcUQGc6pB+yGMcNM4gLj8OOkOQ0/3El+F9CgKFegZ8au/qKDhWAf8m4RL8G+RtJ92miQQOnwP3IJTBbHBfij8NgJ7kHSW+BWW++PDhwy8uXbp04dSpU/f6KifIAJdkMYZ2fQ5ZcMnP0gSW20r8RfKeJHyz1rbBm8bXZPCL/3OIjyHsAc6Uy3t+cCKfl0J+nro/q2kCUznQgbAe7XsNBG6E0b4AEdVEjp64XmTFlvwadMuav/72iMDO0B6EvYHpwxvxgKEoLR9evoLSWAm9Dxw4oIF/CW2+kHAsdI5BDvXIwygDX9VKx/WkQH4Q6ZMJL2WgbCVcDK7nly1b9sqkSZM2gi+iYUAncxdCYw6g4yq0Ta2ToXUSeZoQD0Gr2RS0JRQ+6o9HOVwBzumkx5LW062OuOTSgJIIJIHsulBHT9pj8KfiLwN+HRP4VeTzB5TxK3369NkZWLmGTHD3hM+7oHkz1YdAvzpgyRtF+RkoiHOIP7ho0aLHzz777FoUaT/w3g3+zxFqbhg3Aryn0QdDadv/JnO1KUgawl8BnDPxd4DrbNKyDmWpJkXhgqPecDJOxzcH95ALPFViMshvocZgfAFmXRNE6STur+eM1BM13PH8kD5OvWTQZYh2crSzcOjQocF07FWgnI3XU7mf8vGpqVBHHcqn/nNang1DVpO6des2edWqVY+88847r7fFmgBvFwbP7eAdLzoe5jQZNRiuwb+GX+UpT5UU/oMHDw5kMs9iwF9N5XOQkSa7i27UWAA+R90qXXD2AH4cGaMpOxu5jGtubn6MpZysizZ3KrLRE/0r+OOqRCsRtQeaPWjPFPGBdbNn7ty5T7EMtE/UvPBhaWho4n6WcqdyELj6vT/hDGBeJ/4ebUq1xGQvaypLsnuodya8prUYxEOQkzK/qd0UBEwOR4i3weQZNNKHl/wgJmrK4yK2vcQoV47A6ynyJGuirUq0rw6zU0uImxnIn6FjpXHtJ2PNSCsVwa0BoxfRZOYOpcNPIvxPTMg/YN7Wuk8wEHwXC3cQf6JH/im0YzxhzQoCPAUm7ggG663gmQ2+kYSBAxZYisKdt5y0eG9A5pOIS4GeCq1fEZ9L3LdMCcfsLmGy12M93EGurRy8dAWtPPpBFqHk8xdYL5sJF6kIn8hR/wrqyyIKcmrbYJTPJEI9/RuDgILywNmLsXgP4VnQaNWqQcAp85DrCN9ETonDBheTmGBfkhBAKtOSQG12Ozbj3Bk1pkoMh3xVFDF95GCjPQx12lqgQ8Yy+O8lPgMvTeugUmOj/NWEUxuberr15WnZe8GCBY9z4tHkB43OgV/x2As8UYC9UXZ60tfkwJ2vKM1vguAq0rKmQuUSw4vL8vTAyjI9ljxZJ8fzYOqFhfV0rRbWlClT9EQ/m7Eb2m7Rl4eu1vl6ZWDt/PnzN51//vnaYEzkwD8sChDcdYypY1ASmj+JFQRK8lPUndHeyqHC64fVaRbFfFQZwirQSZfD4LXAHUdaT0BboM4wqgOi8AeVqS/NVevW69ghNyh5x7skTyXd126LU9tQhDqZ0AbaLNL9ldcWnFF1hRuvzcWp+Ft69OhxwSOPPBL4RI7Co8FH+wP7BfymrwrApMZt6DIGTqD+3+Jn4/vjA+mRb/eFwjDnhFHcwaMdJ0+4tQE3jbbdPnr06AuJ18Q7+yA9mJh9qO+j48xz8HoM+VeisC9AMcnySuSoUx/UFkOj0qYC4yvVnKTelfDfQ7jb08PXEfA93GYLgnW49h2+TEdph1ZvbCYSWFuAJIigh3aZcgh9ZUc+QOM54pSiPwPjTtorZdg7vkb7QECvO/4sZHvzmDFjtoB1RVrM1I+tUpZrLJgPQPzxJPsm4Wx8nKXiqx+UIV6ixhJ0KM7r2PZc4rehoPYRl9mfyoFDijFyUoLfVh4VxKI7Gv952qzl2HJ8rHCNbIUryjn3XqLgTBn4tDdikoEhvGpPI+nmcxFYWTBPUe+nbVIQKIehaK8vgkzHKom1KbBtcrZ+CMWgG5Yepwxe7GrLw55OqGePRWbtX9LmNMpBI1nLgr34JvDo8k03Qq1HddToY5c8n6NOA4NMR1hvLFy4cMu0adM0IRI5TP/IyZYISQQQ4+BGim+kTWpPEgeoZX3wwQeBsMhXMhJIYLnJpBywfAPhxYQfsjm6uWfPnonNfgceE7VDL11Nbk+eNnan46/BiviA5Y3usUQ6T/1AWPAF5kdlIqsBCerp2PxXwPmuDATgLrLM2da9e3cpv+01Kwgu9DSwuaNd2ZkQ1lrZbp0EkYDhAL6SZ9naWBfRYuTpLEY9AO/MSU6vAnkC4V/RvgFJaiIDbZytwy+A36Wkt+APaPCTJ5NQm2IT8ZfhdZQXaSJX5Ku19wysGD0pX8YndrbMEkMnB+TIUcek36BtMr3jKgpgJ/414OcPGjQo8KlG2SvgegQ4KeTBeNuF4Ac8r7smn+bpuwiYX5PWUzCxi5ONky647fEtmvjrqPtWkj0Q0VDdKCc6aS0I8NbF4aV8CxvHTzHpd0XRV5mUtvqFOvZJSk0KgjcqC7169fo0zH2BBp1IaJtoYjSO2TgGk5Tbq1csgrKCCBd6tYSIPXRjx284ddp4E6Xj6cQq2jBoZKBJ8Bh1dK9AtxT3IXRdeio9+uijueuuuy7/2muvdRk2bNjT5P0KU/WzwNwBbm2YRTnJeQr+AhT04hNPPDHxhqVzkIcRSALjrKtxQFqbkifR1ji5aMC9gf8JCm4u90e2MYYCj/M42l1x6qmnfhdl+iRyuZc658GbPcaI+5zKgBsGD7NYBi4EINVJTFy7VS4PDacnmT+FfI2L1fh3fIw5MgwOR5YvKvxpXRK84JTCPNjQ0HAwLf6aFMRdd901ls7QEd/pdOJHsu/gbJiewfaJhC1P/6w3YnaWyILg6xFONInjdMKxtPNLhNrFjnR08gbgfoJ8HjzuuOM+IB1GVJNDS47G1atXr0PDbwL2H0jHLV/05Jr6/vvvj6b+25HMOArB60i1T/RrX/vaeNp5Pfz4rB8PPd3OW4QMv88yYN7QoUMPo9xCGeI4V9bXB+D4/d69e1czzn5AXPs+pmuDGqCxfA5w9ikD9MLk7qrLpqArHZQwbdHTHbzVhyDxevJ0Qe7q5cuXb5swYcLuoPrKA6ZaLwzG0AkrD8pPUkcwLBuCqsfmpVYQaOjjKk+8iyAcO2EMB0kaYmDjQu1B2C9qhQ6xMgbXaEJILGzjUAeWM7CvoGBoYKEjkwGzk3b+gsn+QL9+/XaQjuGQdpRh9q9fv/63LNl05+FG8hxY/VFoHAfM8ZQkUhDsnYQOTtMvJvRTC8+Bhxuop+VlOBDGG3DvIMN/RSYv9e/fP3BZEYSAenphbz1K4m8pH0F8ahCc8igDPK/7HmehPH9P1gblJ3HUcYF505rccuD3eRSELnHdDMxC7qq8WlFuLnxKeHH6ACoZSRSWs67hzZnXnvFUCoJGduVlpNkwcAO+L2l1io8fCcMpTB9AGzPsq9a87h3s3PxUU4DHGsHBCLUu/DwDPE4F6yn5Arf8HsSU+zAEVWj2yJEj97CW/T71H9KElpMMzcBCeTjrHmXjcYszIy4eN5BMn8XhMeXA9969e/efka6K2JQ5Q9rQCOwTWA5PpFEOBgf11dHr9+zZo3snT+B1TyDQAas+mszR5XjCDYFAAZlJZKNqsiDk1C/Gl5P50Tyhb+cYejPptYLxOvj2ZvnSgjE0fIUhGeJdvES5JLTD6qdREHleTZ6G8G+AoWEwRhDNWBjRtua3IJS60HEZ1hEoLe1bpHQ8vXTXYVpcNWSxESXy/A9+8INNcbBh5eyGazLtCSs3+ffdd1+O9X/5sWYyY8K4QaLyOBgnCZSDbv0NialDsbWGQf9kmv0SJx0T79u378Jdu3Y9T1oPqEAHLQ3IUfiTdF/k+uuvT7TMiGmDLReN9TAPvQIKYiZ+AfsnP2P/ZL+XwSQT2VsnSbqj8BraiRUEZtsIKt2MMHXuHPc0Nfg7JKwuMVJglwKvRZ1xrXYCndA/ihQDp4RM3ubpPzftxPXiFS5vXnukk06CpLSQybnAxh1ta4+F5fnyt5LijYDThuxv8FfHjL++yHDkjBkztOGb6EZinGzAo6dhC4pO414boj5lQX4Pyr/OA3QB+JZ4+zEBDVsRoWRAldwJbxxulXPalBypAzKRgmDHXE9RbRJdS2i3QEIyTgyYdFBcZQivhFmc/hFuiDhCKQhtOeqvlQsHgDdqA/HTe7VNvcledAHpfbRvJUuLrQFldhZyKXCCEcgupxph1ZQvmWktV7PsdA8iiTN9mASW9pwOXPX9E/W714GvEb+0Pb5vAZ4iy4w3aMt2aEXtB2kdcDwwxxHGKgguWAWa9c72QPsgfiWTtwc4J+BJlpUE8aqyIDqM/L/hdf07ibvuRnTUk154E7jp8PX01q1bXetUZz3aW2QMbybviU2bNv3e3LOJVRBU7ALii2HkFiprB92Jt2p+uTI9CeqAxtoyduzYRCafp7ovaQtbqsExKN1c+arQicrzD2I/pC9npC/Hk0HbdrG8WE87A3tLx4FLliyZwJXg/sDk9ZTgSWN7oVq3bp2NUXlyWCImbdFpzeTvbGxsfP/NN988WOtkg0cbZ9S/hIMtp/aAbxi4dAsxFCVNlan9bihAygI28A6AczW0qwoiqF3A9Kc/dBEtkYtqgxBAQ18AWwR93ewaAf4+hAR+S4K8q7is9ey2bdt+y8eAqi/Xic8gXoVfeEwohZXG0c5q/Yh6AyiTj3QVXFfD9xyWSj/VUilSQdCgAtbDRAbpV4mfHIk9pJDGU9XSRz7+J76dFARCtQe8e9C3KonWmGFLFodHt5miyBDeqxd1wgCRj25Jbg8rnzVrVnfafh/+EpSDjsZsUA1MxaFRPYaS8nDky3JopryRAbqM7xD8llOkedwf2EV++MwMYEQ0ohz4oopdZbfddptudcqEV+e6ypwJyprYXHU9SZ3laeNc9DnKZueGBLz2YrCHbmZ66Ua1wQG7D7pPkj6D8GrCruLD68nvRh/+HfLRF9gX4+1+iqIRVeagHxhtS90ghODrTZvuQdbziC8LVRAU5tGCegHnJhBNx1Mv+SByEN8Hru+vXbv29WeeeabbMcccU+CiTB5zvMBgLxx77LE5Np9yaM4jSd+x1wQqs+LmpzUVPGi55OxgK3FUEyHSwY9unvk2pkwl2pdnB78rykBXrO0PyZgyyTRIriYP3FIu4mEE/hysCV2s+jl49N2A4IYa5JVQpyJGKXmKqknwBfJRBXBEoN8VK0evpEcqCCZpCz5ULg6UiaLIQnsBe8VrjOtCe9v1CF79cdJJJ61mHD8Mbr2LoU3awP0IykdRfvett956Bwpih+E1jm/RSOsQSeJ+S4Fbx+hj582btzxUQWD29kET6hrw52lYYmEbJiQMiFgMzqUogkUohjNRCjoa1Vt4eoOuO4qigc0T7QC38FR8m/yXVcfgCAtl1ZZlWQY1Yo2uqJsTNRkwoTIy/MFzkYkbur4zcG0JkY0m4xBo3YIXrR/hdWMzkdNAinLgDDWBvfXoL33ByL7iC0+uYmcanCX6uN3kwslJjidb0UnDRbySgK74K5tpQQCevCB83jzJR+3ZuHHjS+DWt0CG47V5TdBqSUgRKwM3Czk9C55fEpdu81D1J0VT9dM41fHymqZ+EKz4Bac9WQIHf+U11vNo1NcAPjYISVCeEYJhWmk2lWSFPIjvCS6ZfXozUU9SvfBioyHUbvfP0VjzyYgdUGUF4R6YQmQUhY004J+/RgCQP+uAP8udA/9dGTTawOpwBy29nHMt9F5HZnrjLpHWAzaSN5UnHZx8Yu8ICl1LH7kosXfB2ugFYa3d2+xQwtr7CHxblHwnfv36e7KdWWqZcetE4I0b/MOHD9+NkvhvyidC4yrCboRSCl7fnbK/Q6ktJtTDL3YiC0daZ/hKWy8CHpTWOnh5Z/r06X4tS2GejhhFeAtI9P1CW4AKjfciNzAM2pzMWe2ayxPXU+9U4McSDscPwKuDU1skTprq0PJ3INS5rV5XsJ1pV5zxY78m5USUII6gYnfCaY+son4J0LUXyBjonQUybZYlcsBX+y8srv5L4k455RR9bPdgGB6TTz91A2fs5lgSmoJhH0bftRhS7n/39w8MTYWUN0E3/g51hbCzblDcyx/fpdSn7h5Hoa7Da9ljK1cpWOOVh9c8upsPJfUVz0G4nXmCSevUZ0HycOZBQ1bXYfJCPeV6SO/Hvwfcv7Hkl5LwfxqO3cv+KIgbYfQKiNPe8v1zMe4UhOJyIHR5O7OD/0mOZfKup4aLql8XM3AiH3au6s7ERmciJK6vJw0NKcuxz0Kx/Zq3ZqDNmuRnZGjqmbxKPoHvqWRAddSsTeNB+N0mMypUPzmdN+0si4vD11GOwrT5KFM0yiaW9TAKvygOZ8JyKWK9IBUJTvkexm6ig39dba7IOxSnl54uYLF5/zz1tA8xgDkiJUjS11/q689yxXwhS+lEFxzSXrX28hbSiC3ALcaHXnNnOcT3lEraiH0V2T3HpT3bcnYtMdiU7MF+wUwQ3YLvbrQhCsPWjCCpmqHSUMDY/JgwhLl2zxZtaQi/EnCSai1VDDVW5dcJlSCut/TU0FaE/kpai56sL1zzgpZvU+7DDz8sDhw4cCEwOsNyrd0lOyM/tasyyBqwviZwAqDNIjvPKGoTgqcv/ZFop17WnPDEuSQwBgc8ryR+BaFrDJlyhZTJqprIdx8frfV41uADVwGldDLhcLzJ9oW0QY/h95FN4v2ZMHwmX3IxcUOQm6GNvBr9EOnRlF0JjJYUpv+cYQO8fJN+04mOqR7YH14aVeCIiBkzESAqehO4/wGPodYwvFlYDYf5BJ9+za4q4GrnwlxhzZo1Z4DsThozEHPOPqdXKMVgnBphT1CT8TGE0g96nTNaRVTbWOUw3cFgtdpyYjJXG6o5nggy0eA4BVnpqf66pzg3c+bMI4sXL/4p5froqr3zL9NQspUzoeLgyrNuPwkF8X+I6+Wj6uA08Yr8pWiint5CV3WqG+eSwBgc8P8nxgm33kvlSxumwB1q32niyJEjTyR7vbsoXWrLli3at5JCagjjU/nQ0wDXhZ9ElpW4UL0wnIbLoDGP0n+bd5Meo+444E5Wf+CdysEoAp1q6Dc+DLpQeqqfxiXhHZgj9FXjaaedtisNbsFWFQS3v4ZyyvB1BusUdp5z8iC18YkJCcjZwLSE2hNeL2vp8yo6l0jlajvm3ACNNfiJEbTUq6cgo0u5kr5q8ODB3vfurbPOOksmeazjrU79VN8laPQRyFtrblvukr2nH5qZpOW3umKxlidBHFiawQkv+u2OXYRRVozGlz4NcDnHgw9wTBhq4sbxhhV0Ovzpk3aRR6vg2QzMWi6lJd6DkIyjHPgCi+FHtzufo78mE9fpki5nEfiUhMaHjoUD8ZhMlTsfxiY/KozDqbpJYMJo2BqA9VQDv+j0VV6Imal7CuxQ2081oyDCKn9c+erQ8odopbhS+BoYprObofc7wuje5YO9wMziGO6cyq8cpaZGR9ahGE4j/CKVo05FtJexDtgdSYnYMpPcIrysmqRu1KhR+kWo+Rp8UR56QyifDd5zavngrvh59913B4Ln6/hh+FB6gFJcehtl8rbqJXVR/KtMNOWDHPNlN5P61/S93r9o1pwxnnQ1HkfDlAfRiMpTnxn+osIoHFFlOjbKs4n2Z1gPX+SKqP1rR2pYZ3bqqqBTDPVhqGfsh3VyXFuRkY619kTBAaN12CRo3IxJPSWtklA/sEE8mvq3EddSL8rtAGYZCj2xggA+dGKpzAyuKKLOMsaINrUepq6OO0NxA9OF8qnUvWXy5MkTibeuV50IQ+LcxxlEndvxV4FL4zWKlvpoKXDrQ9AFZgfhBEdVJipXOsyxCbkCpfAQfhPePtUwykGhvMHhxBsUD6MRlp8Er2BqdfWcaY/lqXcvCPSTY7Xi+UjrlcSmrcPSNrw2xcey621k8ywdrUtjUUh6ATOTju/BE/YBlgvzURZ74TaSUT1ZmQj6jsHt1P1zaHSNEGgRGovhaVHS34LABI5AVy7SINJATunmwe986lwSU68v5dr8rufrWb/k7c5FUV9fEi7dxWGyjYf3m0l+Dt8b73PiWw7edaKyHP+K2YH3AQdkJDnFCKjmyoK2lhq/g1/tRXyFtN4olbNlqlDO8Gon2umflEwSV/PbnFyZ1dpJnw5LPTqSMNYRMLZQYgeztzkaSMmE6eUZ+Rxlh/cnTOCLKRvsLXemGQT9gNcPmZyIRfYiJxs6NlrBANrJ/QG9FWgzIQujd+/eOonQjbxPgeNK/DR8Tyc+bxzYjdB4lrqBHybxwpt0koGUBMbgU8iewj6snh/Ck376oL+zzBmnDBD7o7ba7R/B/tar1HsYeSwj7XsqoRzGIJfPgGMGdafhI2UiWsDsIHieNryldBpH3VjwOBgtNTgB/AXtmYK/AIT2RUDiVQsiDoeY6KBjztj2hQHU0xFXwnji3fAwRB9lfgtTrMCWgM4x5LyqoMyLv9MTjINy1YD/WFrLGAQyI+9kwsdd9NL+gTauhiNbPV3f47sSW/jgzm524w8yiHUC0YtwMLj0wVedfmitXt00DmBBWYeA+T3+D1gmh0NgArOpE5jf1kzk8gqK8Fe05y5ohC4fKNPmoiysqYRjoLuVD/fqCDno9UX90pUeXLpoFCcTTUBd3NIxsn5hyz6/T9Mu6oaCR5V5K7F3t4aXyR6AH13FHoy3h2YliFymGFwG1qTjQh5augTlUrJenhmzDYy/ERzL9vUqIE7MbBImH33A1lbLrokTJ+pNVFv4w+OY6GzlsqrKhr67Y4MVRSv3EeOgFSgkNmDAAA28n7MBdioCv5yJHalU6SR9K0G/NKbboxPoeN1i08/J67hLa+l6vF7Eso8+KQuhXM3WJ+1eowN/g3m+vpqbIKIlBnVjIeEnFsYLoN8L5abgPzPQxlH2aXBEEqJcSkQ3x/qhWAJlCK8DkMdAwiTKQXshb4LzF1h5q738JUmbdpswqE4S+QFT5LX8p/n03DnEb8LL8iEo70FE4Tc0BZvGcR/jEO0HdXmfxIQaTybOeNXy9YeM2RbGT47Q9oKRU5pyk6c9pfVvvPHG41wTf1UdENsJNpZ2+EfjNQK1hpbaaibUR0klQT1F9r/88suJqBStUlPBKkhNBMKHiFjSiJ2FgQjJFO+4dxH2PyLYIWTpFl0IKRcWweiIy95XqLQ37XpUMlsJ3V+i3V8n7npiuKiFJMxgCCm2s8EbVRxaxpHippUrV/49A20QOCbQxtoQVShowCZx0KJZpQ3Q0xuu88I+GBuHK4ls1G9JHG/t7oWX/9CkBP5svH0xTnXjcKicegJN7FhqbqfeOLVBXrIzcUc4GJhBBqn62elFU7AKqa85Iiv3DKyOe/QU080/bSK1t9MLM/puwS6IbSPcCAEdjSlvP4zo7rfO8sWYRsRGXo1NNDKslvxm9rNbr6WFcO4ZpQeRyu4Q0ETZ8H0EnhdgRXyPcA7p0wk9ZBKhSgMk5aBju/tRDk/piZ2msoGFTxMNDZPAhFWmjxdQ/9v4OcDoFCZSLrQpDJU9WIPKnfxRrsfmFsbOv/FUfGT8+PHaDK7JOfGGIUgCY+qyx7KScf1PpP8TPvspX/U1CWNcEWsv0RwweMD/CvHLHGkTdYVO/hUP81SShaf7HFrm/Y0UxEKIzHBhqyEBHq2J9daeNs+W4VfiN+G3I6wDbIYeZhNHN7r00Y8Sm3YlbqLZR0Jill18SS9+FAuopWWJVVe/m9uUetM0fKRRKAeA8G4tlqyaTFAbSeUfsmriMtTzaG6ZYt8g/SnCjrLCjiKvP0H6h0yC55kEvmvcTt7C4nS0LDZNqKjHk446BFeT04nKggULXmSfZh+K7DsguRDvk4v6Wg652WHYP8EZWC8M+XpJSOPrfsbWo9CuWfGz9paM9eZn4MlRhQc9jBK/HUrbtC/wDHV+g9evscn8DG0PMHKS/w5OpyKP021Ixz94fwQZ3EXWQEd2bDRO/iCQ5XO+fm9Sv3Q0nYyoK7M+glRWT+/DbySuSyLaJNIE3Mqxqb7R2FT5NSmtncujgsL2cAfrWzZ1LxaeY4zdCr7AjhUdDCmbHMR300GLi3sP6EZkm51uSvLeylzW0LKGxMM1eGnddnEVeUm2LxK/H4tlCZPAezszMS3qb2eNKeU9JKKS3l2QQq/ZnXvuuU18FGgR6+J7UEqSi24+Bp5uaMLQtlBaKve6ily0NJ3PpNC+x6vm24le2KRpFP0uNlrfBX5sEM0KHt0Y3ZAUp+DgURvKPyJ6MfGxyovAr+Lt+Df5LGPafl4P3vuh8V3q2wqZuPCFurhyR8W6AheknqUz/4NKsaYNMPBiqQHLif+Y8CY66jqeGN/E/xc/KruA9+XX8U27nZpEwGhTzt/TDg5qic6bd1FLqbnln1gt/UlWW5jHYuAV7xI3Ia2X8A++sHxGWuGHsqfvDbJGW8Lk+zZAd9POuYQ1mf+GSEVWkpne5/gWsv061sp8dpTbxDcv4EjZ/Ix+1oaebeo6Q/r0AGndrVhqeKk15L2TZvYjlvHg+Q447wT3y3gtJ11mreiHOZV54UmL91X47yGfW5HNC21VDqKv69/g/DH47XclAujKUnwdejLl07r3qKCn+8YAvM42as3/Eu3SXZtU8wX4FhTcv1D/gYollJbHUHhwL6nn32F2Xr/LU18fU/0yDfGdOQOjdfCHYHqJ8icR1hIUwgf8hJr2GWIVSygHbSh4YfGFGy45e+GX84Wj/woPF4DKc8SGoC2LCZt/hnnxvRcXXbCiDeQCq1barn2VX7OD/gJAlyCbawmnUqYXrTw8BaKxM4HfB7yWE3r55/+yDNtS66ablwq4LS4o/Zglnu5cXE+5Xi4zToPzSZTDv2ClNJrMtoSV36PYzl2PR8H7CjK5DLqfoV1nE+oEI2qpY2+0MdhtFoA9TJ3VhI/A52OcEKyHz8TmfpJ2YIk8CJ+nAHsrtJxX3HV8+hJ0f8S7NFuS4HLCgIvq1jzyrmW+/APx8/FOi1cXRPaQ9zD0/5kHwTZn/aRxbnIKx70slzYgt6/C73DqRpsRAoiwNCjTVf7vVpHw3cQ+LDUuR0n8BXVPh0gfiOptve34ecQfp9JbrDF13CeFkUrTUacD3JzCmWfOHNir0Dyb1+g+D4FhGHJdMV4P88Nba9AQv7MKdU+89NoLmG/pfmgmLbPIR7Ks565DX+Q4kviZyE272HodeACTRN9GqCdPT3A9PvVREz3ZN1C+hEH6R5YBK7BI9mJmdoTllf/jH/94HBbjDOhew0AaDBvv049/YCA89dxzz21jkzj8sQ6jNbo8ikKmb1+8jojPo72Sy7O0+b+0LPHi5c3XG5CFfvNzFbDzqLOcJd3OK664Qg+kDhl3WL99oHM5/hpoDIduI/J5mfjjKOoNhDXLBlwFXoYceOjQoYvAfynpk2mzBf514H0aP+/pp59ubKv8wduDB4twXwbuc+nXQYT2C3+ELsuRMWCnFVLPGT8K7BvU/TX5r/8/j40HcI8c53QAAAAASUVORK5CYII=", Na = { class: "layout-shell w-full flex flex-col" }, Ba = { class: "layout-shell__body flex flex-1 min-h-0 overflow-hidden" }, Ua = { class: "layout-shell__main flex flex-col flex-1 min-h-0 min-w-0 h-full" }, Ra = { class: "layout-shell__content flex-1 w-full min-h-0 flex flex-col overflow-hidden" }, Ka = /* @__PURE__ */ D({
2423
2424
  __name: "BaseLayout",
2424
2425
  props: {
2425
2426
  setting: {}
2426
2427
  },
2427
- setup(n) {
2428
- const e = n, t = S(() => {
2429
- var m, v, p, b, T, B, F;
2428
+ setup(a) {
2429
+ const e = a, t = S(() => {
2430
+ var h, f, y, C, T, N, U;
2430
2431
  return {
2431
2432
  ...e.setting || {},
2432
- logo: ((m = e.setting) == null ? void 0 : m.logo) || Ka,
2433
- menus: ((v = e.setting) == null ? void 0 : v.menus) || [],
2434
- accountMenu: ((p = e.setting) == null ? void 0 : p.accountMenu) || [],
2435
- user: ((b = e.setting) == null ? void 0 : b.user) ?? null,
2433
+ logo: ((h = e.setting) == null ? void 0 : h.logo) || Da,
2434
+ menus: ((f = e.setting) == null ? void 0 : f.menus) || [],
2435
+ accountMenu: ((y = e.setting) == null ? void 0 : y.accountMenu) || [],
2436
+ user: ((C = e.setting) == null ? void 0 : C.user) ?? null,
2436
2437
  appList: ((T = e.setting) == null ? void 0 : T.appList) || [],
2437
- onLogin: (B = e.setting) == null ? void 0 : B.onLogin,
2438
- onLogout: (F = e.setting) == null ? void 0 : F.onLogout
2438
+ onLogin: (N = e.setting) == null ? void 0 : N.onLogin,
2439
+ onLogout: (U = e.setting) == null ? void 0 : U.onLogout
2439
2440
  };
2440
2441
  });
2441
- Oe(() => void Jt(t.value));
2442
- const { isMobile: a, sideOpen: o } = H();
2443
- let s = "", r = !1;
2444
- const c = () => void (o.value = !1), g = (m) => {
2445
- const v = m.matched[1];
2446
- if (!v) return m.path;
2447
- const p = i(v, m);
2448
- return [v.path, p].filter(Boolean).join("|");
2449
- }, i = (m, v) => Array.from(
2450
- m.path.matchAll(/:(\w+)/g),
2451
- ([, b]) => b
2452
- ).map((b) => {
2453
- const T = v.params[b];
2454
- return `${b}:${Array.isArray(T) ? T.join(",") : T || ""}`;
2455
- }).join("|"), h = (m) => {
2456
- m.key === "Escape" && a.value && o.value && c();
2442
+ He(() => void Nt(t.value));
2443
+ const { isMobile: n, sideOpen: s } = z();
2444
+ let r = "", o = !1;
2445
+ const c = () => void (s.value = !1), p = (h) => {
2446
+ const f = h.matched[1];
2447
+ if (!f) return h.path;
2448
+ const y = i(f, h);
2449
+ return [f.path, y].filter(Boolean).join("|");
2450
+ }, i = (h, f) => Array.from(
2451
+ h.path.matchAll(/:(\w+)/g),
2452
+ ([, C]) => C
2453
+ ).map((C) => {
2454
+ const T = f.params[C];
2455
+ return `${C}:${Array.isArray(T) ? T.join(",") : T || ""}`;
2456
+ }).join("|"), m = (h) => {
2457
+ h.key === "Escape" && n.value && s.value && c();
2457
2458
  };
2458
- return re(
2459
- () => a.value && o.value,
2460
- (m) => {
2459
+ return ue(
2460
+ () => n.value && s.value,
2461
+ (h) => {
2461
2462
  if (!(typeof document > "u")) {
2462
- if (m && !r) {
2463
- s = document.body.style.overflow, document.body.style.overflow = "hidden", r = !0;
2463
+ if (h && !o) {
2464
+ r = document.body.style.overflow, document.body.style.overflow = "hidden", o = !0;
2464
2465
  return;
2465
2466
  }
2466
- !m && r && (document.body.style.overflow = s, r = !1);
2467
+ !h && o && (document.body.style.overflow = r, o = !1);
2467
2468
  }
2468
2469
  },
2469
2470
  { immediate: !0 }
2470
- ), Re(() => {
2471
- window.addEventListener("keydown", h);
2472
- }), Ke(() => {
2473
- window.removeEventListener("keydown", h), typeof document < "u" && r && (document.body.style.overflow = s);
2474
- }), (m, v) => {
2475
- const p = L("router-view");
2476
- return l(), y("div", Ja, [
2477
- _(Pa, null, {
2478
- default: C(() => [
2479
- z(m.$slots, "header-right", {}, void 0, !0)
2471
+ ), Je(() => {
2472
+ window.addEventListener("keydown", m);
2473
+ }), Oe(() => {
2474
+ window.removeEventListener("keydown", m), typeof document < "u" && o && (document.body.style.overflow = r);
2475
+ }), (h, f) => {
2476
+ const y = L("router-view");
2477
+ return l(), v("div", Na, [
2478
+ A(Aa, null, {
2479
+ default: _(() => [
2480
+ q(h.$slots, "header-right", {}, void 0, !0)
2480
2481
  ]),
2481
2482
  _: 3
2482
2483
  }),
2483
- d("div", Oa, [
2484
- f(a) ? (l(), k(Ra, { key: 1 })) : (l(), k(Vt, { key: 0 })),
2485
- d("main", Fa, [
2486
- d("div", Ha, [
2487
- _(p, null, {
2488
- default: C(({ Component: b, route: T }) => [
2489
- _(Ee, {
2484
+ d("div", Ba, [
2485
+ g(n) ? (l(), k(Ma, { key: 1 })) : (l(), k(qt, { key: 0 })),
2486
+ d("main", Ua, [
2487
+ d("div", Ra, [
2488
+ A(y, null, {
2489
+ default: _(({ Component: C, route: T }) => [
2490
+ A(De, {
2490
2491
  name: String(T.meta.transition || "layout-page"),
2491
2492
  mode: "out-in"
2492
2493
  }, {
2493
- default: C(() => [
2494
- (l(), y("div", {
2495
- key: g(T),
2494
+ default: _(() => [
2495
+ (l(), v("div", {
2496
+ key: p(T),
2496
2497
  class: "layout-page-view"
2497
2498
  }, [
2498
- (l(), k(Ae(b)))
2499
+ (l(), k(Se(C)))
2499
2500
  ]))
2500
2501
  ]),
2501
2502
  _: 2
@@ -2506,9 +2507,9 @@ const ot = (n, e) => n.reduce(
2506
2507
  ])
2507
2508
  ])
2508
2509
  ]),
2509
- _(Ee, { name: "layout-overlay" }, {
2510
- default: C(() => [
2511
- f(a) && f(o) ? (l(), y("div", {
2510
+ A(De, { name: "layout-overlay" }, {
2511
+ default: _(() => [
2512
+ g(n) && g(s) ? (l(), v("div", {
2512
2513
  key: 0,
2513
2514
  class: "layout-shell__overlay",
2514
2515
  onClick: c
@@ -2519,19 +2520,19 @@ const ot = (n, e) => n.reduce(
2519
2520
  ]);
2520
2521
  };
2521
2522
  }
2522
- }), Ga = /* @__PURE__ */ D(Qa, [["__scopeId", "data-v-87720a5b"]]);
2523
+ }), ja = /* @__PURE__ */ B(Ka, [["__scopeId", "data-v-87720a5b"]]);
2523
2524
  export {
2524
- Ga as BaseLayout,
2525
- rt as LanguageSelect,
2526
- Wa as LayoutBreadcrumb,
2527
- st as ThemeToggle,
2528
- Xa as TimezoneSelect,
2529
- Ue as UserAvatar,
2530
- ma as UserInfo,
2531
- ue as i18n,
2532
- se as messages,
2533
- at as useApp,
2534
- H as useLayoutState,
2535
- O as useSetting,
2536
- Xe as useTheme
2525
+ ja as BaseLayout,
2526
+ st as LanguageSelect,
2527
+ za as LayoutBreadcrumb,
2528
+ ot as ThemeToggle,
2529
+ Za as TimezoneSelect,
2530
+ Ke as UserAvatar,
2531
+ ia as UserInfo,
2532
+ me as i18n,
2533
+ ce as messages,
2534
+ nt as useApp,
2535
+ z as useLayoutState,
2536
+ Q as useSetting,
2537
+ Ve as useTheme
2537
2538
  };