@elementspanel/epanel-plugin-console 1.0.1 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (23) hide show
  1. package/README.md +1 -5
  2. package/package.json +15 -15
  3. package/panel/backend/index.cjs +2 -2
  4. package/panel/frontend/assets/style-0-CardPanel-d8a708d7.css +32 -0
  5. package/panel/frontend/assets/style-1-PageToolbar-7ff3179d.css +1 -0
  6. package/panel/frontend/assets/style-10-_panel-plugin-build-entry_instance-52f9b814.css +1 -0
  7. package/panel/frontend/assets/style-3-DesktopDialog-e7e98936.css +1 -0
  8. package/panel/frontend/assets/style-4-useThemeSwitch-741b52d4.css +1 -0
  9. package/panel/frontend/assets/{style-5-_panel-plugin-build-entry_console-30b7e476.css → style-5-_panel-plugin-build-entry_console-31fc208c.css} +2 -2
  10. package/panel/frontend/assets/style-6-_panel-plugin-build-entry_terminal-0f737c0c.css +1 -0
  11. package/panel/frontend/assets/style-8-_panel-plugin-build-entry_user-16645e2c.css +1 -0
  12. package/panel/frontend/assets/style-9-_panel-plugin-build-entry_file-464953b6.css +1 -0
  13. package/panel/frontend/{panel-plugin-console-6752ebd0.js → panel-plugin-console-7a1ab09f.js} +1 -1
  14. package/panel/plugin.json +1 -3
  15. package/panel/frontend/assets/style-0-CardPanel-de371282.css +0 -32
  16. package/panel/frontend/assets/style-10-_panel-plugin-build-entry_instance-abf4140b.css +0 -1
  17. package/panel/frontend/assets/style-2-PageToolbar-b3d9d91d.css +0 -1
  18. package/panel/frontend/assets/style-3-DesktopDialog-984c47cb.css +0 -1
  19. package/panel/frontend/assets/style-4-useThemeSwitch-3fb16cd9.css +0 -1
  20. package/panel/frontend/assets/style-6-_panel-plugin-build-entry_terminal-abacbe83.css +0 -1
  21. package/panel/frontend/assets/style-8-_panel-plugin-build-entry_user-765b9514.css +0 -1
  22. package/panel/frontend/assets/style-9-_panel-plugin-build-entry_file-eb11377f.css +0 -1
  23. /package/panel/frontend/assets/{style-1-AppDialog-589b058c.css → style-2-AppDialog-589b058c.css} +0 -0
@@ -1 +1 @@
1
- import{f7 as Ie,bx as ze,N as Y,a1 as W,c9 as _e,aE as p,Q as D,$ as S,ba as C,P as N,T as he,R as I,F as X,aK as H,bM as ee,bJ as s,gE as z,O as x,bz as B,aL as We,gX as be,gN as je,aq as G,gQ as qe,hf as Ge,b5 as Te,dv as Je,gC as J,aO as Q,h8 as Ee,hg as $e,gT as Le,hh as Ze,aM as Qe,ay as Re,g_ as et,bT as tt,hi as nt,bt as ie,bC as ue,bA as te,b as st,bP as K,au as it,_ as re,gZ as ot,gY as at,gz as Oe,gS as rt,bN as lt,ab as ct}from"../../../assets/vue-2433bd89.js";import{createPinia as ut}from"../../../assets/_elements-sdk_pinia-fc8ba898.js";import{t as M,b as dt}from"../../../assets/i18n-fe0f1ee7.js";import{r as oe,R as me}from"../../../assets/router-0f7d4714.js";import{u as ne}from"../../../assets/useAppStateStore-a644582a.js";import{a as Se,c as pt}from"../../../assets/dom-ff483262.js";import{u as Pe}from"../../../assets/useScreen-e3715e1f.js";import{u as ye,g as mt}from"../../../assets/useAppConfigStore-289073ec.js";import{c as fe}from"../../../assets/context-b16af9cc.js";import{u as Ne}from"../../../assets/useAppRouters-5f58db32.js";import{_ as ae}from"../../../assets/_plugin-vue_export-helper-c27b6911.js";import{a as ht,d as ve}from"../../../assets/dayjs.min-25183c0a.js";import{c as ke,g as ft}from"../../../assets/htmlparser2-bcb8f9db.js";import{A as _t,u as ge}from"../../../assets/useThemeSwitch-6ff90248.js";import{u as vt}from"../../../assets/useAppToolsStore-3a911226.js";import{_ as gt}from"../../../assets/AppDialog.vue_vue_type_style_index_0_lang-8b56f871.js";import{c as bt,d as le,f as De,o as Tt,i as St}from"../../../assets/useDefineApi-ead2616e.js";import{S as Z}from"../../../assets/_elements-sdk_cordis-e3bebc89.js";import{remove as de}from"../../../assets/_elements-sdk_cosmokit-e4842f5c.js";import{l as yt}from"../../../assets/index-e3f35709.js";import"../../../assets/lodash-001e4f93.js";import"../../../assets/const-01673e6b.js";const Ye=Ie(()=>({uiState:ze({showPhoneMenu:!1})}));function Xe(){const{toPage:i}=Ne(),{uiState:e}=Ye(),{state:t,isAdmin:n,isLogged:a}=ne(),m=h=>{e.showPhoneMenu=!1,i({path:h})},o=Y(()=>(fe.routes.revision,oe.getRoutes().filter(h=>{var b;if(h.path==="/"||!h.name)return!1;const g=h.meta;return g.condition&&!g.condition()?!1:n.value?g.mainMenu===!0:g.mainMenu===!0&&a.value&&Number((b=t.userInfo)==null?void 0:b.permission)>=Number(g.permission)}).map(h=>({name:h.name,path:h.path,meta:h.meta,customClass:h.meta.customClass??[]})))),T=Y(()=>o.value.map(h=>({type:"route",path:h.path,name:h.name,icon:h.meta.icon,customClass:Array.isArray(h.customClass)?h.customClass:[]})));return{menus:o,sidebarItems:T,handleToPage:m}}const kt={class:"fab-container"},wt={key:0,class:"fab-menu-panel"},Ct=["onClick"],At={class:"fab-menu-icon-wrap"},Et=W({__name:"AppBottomNav",setup(i){const e=_e(),{menus:t,handleToPage:n}=Xe(),a=B(!1),m={"/instances":"mdi-view-grid","/users":"mdi-account-group-outline","/customer":"mdi-account-outline","/login":"mdi-login"},o=b=>b.meta.icon??m[b.path]??"mdi-menu",T=b=>e.path===b?!0:b==="/"?!1:e.path.startsWith(b+"/"),h=()=>{a.value=!a.value},g=b=>{n(b),a.value=!1};return(b,L)=>(p(),D(X,null,[S(he,{name:"fab-backdrop"},{default:C(()=>[a.value?(p(),D("div",{key:0,class:"fab-backdrop",onClick:L[0]||(L[0]=E=>a.value=!1)})):N("",!0)]),_:1}),I("div",kt,[S(he,{name:"fab-panel"},{default:C(()=>[a.value?(p(),D("div",wt,[(p(!0),D(X,null,H(s(t),E=>(p(),D("button",{key:E.path,class:ee(["fab-menu-item",{"fab-menu-item--active":T(E.path)}]),onClick:P=>g(E.path)},[I("span",At,[S(s(z),{icon:o(E),class:"fab-menu-icon"},null,8,["icon"])])],10,Ct))),128))])):N("",!0)]),_:1}),I("button",{"aria-label":"Toggle navigation menu",class:ee(["fab-ball",{"fab-ball--expanded":a.value}]),onClick:h},[S(he,{name:"fab-icon",mode:"out-in"},{default:C(()=>[a.value?(p(),x(s(z),{key:0,icon:"mdi-close",class:"fab-ball-icon"})):(p(),x(s(z),{key:1,icon:"mdi-menu",class:"fab-ball-icon"}))]),_:1})],2)])],64))}});const $t=ae(Et,[["__scopeId","data-v-336eb4d5"]]);var Ot={exports:{}};(function(i,e){(function(t,n){i.exports=n()})(ke,function(){return{name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(t){var n=["th","st","nd","rd"],a=t%100;return"["+t+(n[(a-20)%10]||n[a]||n[0])+"]"}}})})(Ot);var Dt={exports:{}};(function(i,e){(function(t,n){i.exports=n(ht)})(ke,function(t){function n(o){return o&&typeof o=="object"&&"default"in o?o:{default:o}}var a=n(t),m={name:"zh-cn",weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"周日_周一_周二_周三_周四_周五_周六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),ordinal:function(o,T){return T==="W"?o+"周":o+"日"},weekStart:1,yearStart:4,formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日Ah点mm分",LLLL:"YYYY年M月D日ddddAh点mm分",l:"YYYY/M/D",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日dddd HH:mm"},relativeTime:{future:"%s内",past:"%s前",s:"几秒",m:"1 分钟",mm:"%d 分钟",h:"1 小时",hh:"%d 小时",d:"1 天",dd:"%d 天",M:"1 个月",MM:"%d 个月",y:"1 年",yy:"%d 年"},meridiem:function(o,T){var h=100*o+T;return h<600?"凌晨":h<900?"早上":h<1100?"上午":h<1300?"中午":h<1800?"下午":"晚上"}};return a.default.locale(m,null,!0),m})})(Dt);var Ve={exports:{}};(function(i,e){(function(t,n){i.exports=n()})(ke,function(){var t,n,a=1e3,m=6e4,o=36e5,T=864e5,h=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,g=31536e6,b=2592e6,L=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/,E={years:g,months:b,days:T,hours:o,minutes:m,seconds:a,milliseconds:1,weeks:6048e5},P=function(w){return w instanceof V},f=function(w,d,r){return new V(w,r,d.$l)},k=function(w){return n.p(w)+"s"},_=function(w){return w<0},l=function(w){return _(w)?Math.ceil(w):Math.floor(w)},y=function(w){return Math.abs(w)},c=function(w,d){return w?_(w)?{negative:!0,format:""+y(w)+d}:{negative:!1,format:""+w+d}:{negative:!1,format:""}},V=function(){function w(r,A,R){var u=this;if(this.$d={},this.$l=R,r===void 0&&(this.$ms=0,this.parseFromMilliseconds()),A)return f(r*E[k(A)],this);if(typeof r=="number")return this.$ms=r,this.parseFromMilliseconds(),this;if(typeof r=="object")return Object.keys(r).forEach(function(U){u.$d[k(U)]=r[U]}),this.calMilliseconds(),this;if(typeof r=="string"){var $=r.match(L);if($){var v=$.slice(2).map(function(U){return U!=null?Number(U):0});return this.$d.years=v[0],this.$d.months=v[1],this.$d.weeks=v[2],this.$d.days=v[3],this.$d.hours=v[4],this.$d.minutes=v[5],this.$d.seconds=v[6],this.calMilliseconds(),this}}return this}var d=w.prototype;return d.calMilliseconds=function(){var r=this;this.$ms=Object.keys(this.$d).reduce(function(A,R){return A+(r.$d[R]||0)*E[R]},0)},d.parseFromMilliseconds=function(){var r=this.$ms;this.$d.years=l(r/g),r%=g,this.$d.months=l(r/b),r%=b,this.$d.days=l(r/T),r%=T,this.$d.hours=l(r/o),r%=o,this.$d.minutes=l(r/m),r%=m,this.$d.seconds=l(r/a),r%=a,this.$d.milliseconds=r},d.toISOString=function(){var r=c(this.$d.years,"Y"),A=c(this.$d.months,"M"),R=+this.$d.days||0;this.$d.weeks&&(R+=7*this.$d.weeks);var u=c(R,"D"),$=c(this.$d.hours,"H"),v=c(this.$d.minutes,"M"),U=this.$d.seconds||0;this.$d.milliseconds&&(U+=this.$d.milliseconds/1e3);var pe=c(U,"S"),O=r.negative||A.negative||u.negative||$.negative||v.negative||pe.negative,F=$.format||v.format||pe.format?"T":"",q=(O?"-":"")+"P"+r.format+A.format+u.format+F+$.format+v.format+pe.format;return q==="P"||q==="-P"?"P0D":q},d.toJSON=function(){return this.toISOString()},d.format=function(r){var A=r||"YYYY-MM-DDTHH:mm:ss",R={Y:this.$d.years,YY:n.s(this.$d.years,2,"0"),YYYY:n.s(this.$d.years,4,"0"),M:this.$d.months,MM:n.s(this.$d.months,2,"0"),D:this.$d.days,DD:n.s(this.$d.days,2,"0"),H:this.$d.hours,HH:n.s(this.$d.hours,2,"0"),m:this.$d.minutes,mm:n.s(this.$d.minutes,2,"0"),s:this.$d.seconds,ss:n.s(this.$d.seconds,2,"0"),SSS:n.s(this.$d.milliseconds,3,"0")};return A.replace(h,function(u,$){return $||String(R[u])})},d.as=function(r){return this.$ms/E[k(r)]},d.get=function(r){var A=this.$ms,R=k(r);return R==="milliseconds"?A%=1e3:A=R==="weeks"?l(A/E[R]):this.$d[R],A===0?0:A},d.add=function(r,A,R){var u;return u=A?r*E[k(A)]:P(r)?r.$ms:f(r,this).$ms,f(this.$ms+u*(R?-1:1),this)},d.subtract=function(r,A){return this.add(r,A,!0)},d.locale=function(r){var A=this.clone();return A.$l=r,A},d.clone=function(){return f(this.$ms,this)},d.humanize=function(r){return t().add(this.$ms,"ms").locale(this.$l).fromNow(!r)},d.valueOf=function(){return this.asMilliseconds()},d.milliseconds=function(){return this.get("milliseconds")},d.asMilliseconds=function(){return this.as("milliseconds")},d.seconds=function(){return this.get("seconds")},d.asSeconds=function(){return this.as("seconds")},d.minutes=function(){return this.get("minutes")},d.asMinutes=function(){return this.as("minutes")},d.hours=function(){return this.get("hours")},d.asHours=function(){return this.as("hours")},d.days=function(){return this.get("days")},d.asDays=function(){return this.as("days")},d.weeks=function(){return this.get("weeks")},d.asWeeks=function(){return this.as("weeks")},d.months=function(){return this.get("months")},d.asMonths=function(){return this.as("months")},d.years=function(){return this.get("years")},d.asYears=function(){return this.as("years")},w}(),j=function(w,d,r){return w.add(d.years()*r,"y").add(d.months()*r,"M").add(d.days()*r,"d").add(d.hours()*r,"h").add(d.minutes()*r,"m").add(d.seconds()*r,"s").add(d.milliseconds()*r,"ms")};return function(w,d,r){t=r,n=r().$utils(),r.duration=function(u,$){var v=r.locale();return f(u,{$l:v},$)},r.isDuration=P;var A=d.prototype.add,R=d.prototype.subtract;d.prototype.add=function(u,$){return P(u)?j(this,u,1):A.bind(this)(u,$)},d.prototype.subtract=function(u,$){return P(u)?j(this,u,-1):R.bind(this)(u,$)}}})})(Ve);var xt=Ve.exports;const Mt=ft(xt),It=W({__name:"AppConfigProvider",setup(i){ve.extend(Mt);const{getCurrentLanguage:e}=ye();return e().toLowerCase()==="zh_cn"?ve.locale("zh-cn"):ve.locale("en-us"),(t,n)=>We(t.$slots,"default")}}),Lt=W({__name:"AppSidebarMenu",props:{collapsed:{type:Boolean,default:!1}},setup(i){const e=_e(),{sidebarItems:t,handleToPage:n}=Xe(),a=Y(()=>{let f="",k="";for(const _ of t.value){const l=_.path;if(l!=="/"){if(e.path===l){f=l;break}e.path.startsWith(`${l}/`)&&l.length>k.length&&(k=l)}}return f||k}),m=f=>a.value===f,o={"/instances":"mdi-view-grid-outline","/users":"mdi-account-group-outline","/customer":"mdi-account-outline","/login":"mdi-login","/plugins/config":"mdi-cog-outline","/overview":"mdi-view-dashboard-outline","/node":"mdi-sitemap-outline","/market":"mdi-storefront-outline"},T={AppstoreAddOutlined:"mdi-view-grid-plus",AreaChartOutlined:"mdi-chart-areaspline",BgColorsOutlined:"mdi-palette-outline",BuildOutlined:"mdi-hammer-wrench",CloudDownloadOutlined:"mdi-cloud-download-outline",CloudUploadOutlined:"mdi-cloud-upload-outline",ClusterOutlined:"mdi-server-network-outline",CodeOutlined:"mdi-code-tags",CloseCircleOutlined:"mdi-close-circle-outline",DesktopOutlined:"mdi-monitor",DashboardOutlined:"mdi-view-dashboard-outline",FileExcelOutlined:"mdi-file-excel-outline",FileTextOutlined:"mdi-file-document-outline",FileZipOutlined:"mdi-folder-zip-outline",FolderOpenOutlined:"mdi-folder-open-outline",GithubFilled:"mdi-github",HomeOutlined:"mdi-home-outline",InteractionOutlined:"mdi-gesture-tap-button",LinkOutlined:"mdi-link-variant",LogoutOutlined:"mdi-logout",MenuOutlined:"mdi-menu",NodeIndexOutlined:"mdi-source-branch",RedoOutlined:"mdi-restore",SaveOutlined:"mdi-content-save-outline",ShopOutlined:"mdi-storefront-outline",ShoppingCartOutlined:"mdi-cart-outline",TeamOutlined:"mdi-account-group-outline",TransactionOutlined:"mdi-swap-horizontal",UserOutlined:"mdi-account-outline",UsergroupDeleteOutlined:"mdi-account-multiple-minus-outline",LoginOutlined:"mdi-login"},h=(f,k)=>{var y,c;if(typeof f=="string"&&f.startsWith("mdi-"))return f;const _=f,l=(_==null?void 0:_.name)??(_==null?void 0:_.displayName)??(_==null?void 0:_.__name)??((y=_==null?void 0:_.type)==null?void 0:y.name)??((c=_==null?void 0:_.type)==null?void 0:c.__name);return l&&T[l]||k||"mdi-menu"},g=f=>o[f.path]||h(f.icon),b={"mdi-cog-outline":"mdi-cog","mdi-view-grid-outline":"mdi-view-grid","mdi-view-grid-plus-outline":"mdi-view-grid-plus","mdi-account-group-outline":"mdi-account-group","mdi-account-outline":"mdi-account","mdi-sitemap-outline":"mdi-sitemap","mdi-server-network-outline":"mdi-server-network","mdi-storefront-outline":"mdi-storefront","mdi-view-dashboard-outline":"mdi-view-dashboard","mdi-puzzle-outline":"mdi-puzzle"},L=f=>f.endsWith("-outline")?f:Object.keys(b).find(_=>b[_]===f)??f,E=f=>{const k=L(f);return b[k]??k},P=f=>{const k=g(f);return m(f.path)?E(k):L(k)};return(f,k)=>(p(),x(s(Ge),{tag:"aside",class:ee(["left-sidebar",{"left-sidebar--collapsed":i.collapsed}]),elevation:"0",rounded:"0"},{default:C(()=>[S(s(qe),{class:"sidebar-menu",density:"comfortable",nav:""},{default:C(()=>[(p(!0),D(X,null,H(s(t),_=>(p(),x(s(be),{key:_.path,text:String(_.name??""),disabled:!i.collapsed,location:"end"},{activator:C(({props:l})=>[S(s(je),G({ref_for:!0},l,{class:["sidebar-item",_.customClass],active:m(_.path),color:"primary",rounded:"xl",title:String(_.name??""),"aria-label":String(_.name??""),"prepend-icon":P(_),onClick:y=>s(n)(_.path)}),null,16,["class","active","title","aria-label","prepend-icon","onClick"])]),_:2},1032,["text","disabled"]))),128))]),_:1})]),_:1},8,["class"]))}});const Ke=ae(Lt,[["__scopeId","data-v-b2d8abef"]]),Rt={class:"app-header-content"},Pt={href:".",class:"header-logo","aria-label":"ElementsPanel"},Nt=["src"],Yt={class:"btns header-actions"},Xt={class:"phone-toolbar-content"},Vt={class:"phone-toolbar-side phone-toolbar-side-start"},Kt={class:"phone-toolbar-side phone-toolbar-side-end"},Bt={key:0},Ft=W({__name:"AppHeader",setup(i){const{uiState:e}=Ye(),{isSidebarOpen:t,logoImage:n,toggleSidebar:a,useSidebarLayout:m}=ye(),{isPhone:o}=Pe(),T=Y(()=>fe.slots.entries("shell.header.leading",{mobile:o.value})),h=Y(()=>fe.slots.entries("shell.header.actions",{mobile:o.value})),g=Y(()=>h.value.flatMap(l=>l.action?[{id:l.id,action:l.action}]:[])),b=Y(()=>h.value.filter(l=>!l.action)),L=l=>typeof l.title=="function"?l.title():l.title,E=l=>typeof l.mdiIcon=="function"?l.mdiIcon():l.mdiIcon,P=l=>{const y=typeof l.badge=="function"?l.badge():l.badge;return y===!1||y==null?void 0:y},f=l=>{var y;return(y=l.expanded)==null?void 0:y.call(l)},k=l=>{var y;return(y=l.ripple)==null?void 0:y.call(l)},_=(l=!1)=>{e.showPhoneMenu=l};return Te(o,l=>{l||_(!1)}),Je("keydown",l=>{l.key==="Escape"&&e.showPhoneMenu&&_(!1)}),(l,y)=>(p(),D(X,null,[s(o)?N("",!0):(p(),x(s($e),{key:0,tag:"header",class:"app-header-wrapper",color:"transparent",flat:"",elevation:"0",height:"64"},{default:C(()=>[I("div",Rt,[I("div",{class:ee(["header-leading",{"header-leading--sidebar-open":s(t)}])},[s(m)?(p(),x(s(J),{key:0,class:"sidebar-toggle-button",icon:"",variant:"text","aria-label":"MENU","aria-controls":"app-sidebar","aria-expanded":s(t),onClick:s(a)},{default:C(()=>[S(s(z),{icon:s(t)?"mdi-menu-open":"mdi-menu"},null,8,["icon"])]),_:1},8,["aria-expanded","onClick"])):N("",!0),I("a",Pt,[I("img",{src:s(n),alt:"ElementsPanel"},null,8,Nt)]),(p(!0),D(X,null,H(T.value,c=>(p(),x(Q(c.component),G({key:c.id},{ref_for:!0},{...c.props,mobile:!1}),null,16))),128))],2),I("div",Yt,[(p(!0),D(X,null,H(g.value,c=>(p(),D("div",{key:c.id,class:"header-action"},[S(s(be),{text:L(c.action),location:"bottom"},{activator:C(({props:V})=>[S(s(Ee),{content:P(c.action),"model-value":P(c.action)!=null,max:99,"offset-x":14,"offset-y":14,color:"primary",floating:""},{default:C(()=>[S(s(J),G({ref_for:!0},V,{class:[c.action.customClass,"nav-button","right-nav-button"],"aria-label":L(c.action),"aria-controls":c.action.ariaControls,"aria-expanded":f(c.action),icon:"",variant:"text",onClick:j=>c.action.click()}),{default:C(()=>[S(s(z),{icon:E(c.action)},null,8,["icon"])]),_:2},1040,["class","aria-label","aria-controls","aria-expanded","onClick"])]),_:2},1032,["content","model-value"])]),_:2},1032,["text"]),S(_t,{trigger:k(c.action)},null,8,["trigger"])]))),128)),(p(!0),D(X,null,H(b.value,c=>(p(),x(Q(c.component),G({key:c.id},{ref_for:!0},{...c.props,mobile:!1}),null,16))),128))])])]),_:1})),s(o)?(p(),x(s($e),{key:1,tag:"header",class:"app-header-content-for-phone",color:"transparent",flat:"",elevation:"0",height:"60"},{default:C(()=>[I("div",Xt,[I("div",Vt,[S(s(J),{icon:"",variant:"text","aria-label":"MENU",title:"MENU","aria-controls":"app-phone-sidebar","aria-expanded":s(e).showPhoneMenu,onClick:y[0]||(y[0]=c=>_(!0))},{default:C(()=>[S(s(z),{icon:"mdi-menu"})]),_:1},8,["aria-expanded"]),(p(!0),D(X,null,H(T.value,c=>(p(),x(Q(c.component),G({key:c.id},{ref_for:!0},{...c.props,mobile:!0}),null,16))),128))]),I("div",Kt,[(p(!0),D(X,null,H(g.value,c=>(p(),D(X,{key:c.id},[c.action.onlyPC?N("",!0):(p(),D("div",Bt,[S(s(Ee),{content:P(c.action),"model-value":P(c.action)!=null,max:99,"offset-x":14,"offset-y":14,color:"primary",floating:""},{default:C(()=>[S(s(J),{class:"phone-nav-button","aria-label":L(c.action),"aria-controls":c.action.ariaControls,"aria-expanded":f(c.action),icon:"",variant:"text",onClick:V=>c.action.click()},{default:C(()=>[S(s(z),{icon:E(c.action)},null,8,["icon"])]),_:2},1032,["aria-label","aria-controls","aria-expanded","onClick"])]),_:2},1032,["content","model-value"])]))],64))),128)),(p(!0),D(X,null,H(b.value,c=>(p(),x(Q(c.component),G({key:c.id},{ref_for:!0},{...c.props,mobile:!0}),null,16))),128))])])]),_:1})):N("",!0),s(o)?(p(),x(s(Le),{key:2,id:"app-phone-sidebar",modelValue:s(e).showPhoneMenu,"onUpdate:modelValue":y[1]||(y[1]=c=>s(e).showPhoneMenu=c),class:"phone-menu-drawer",color:"surface",location:"left",width:"280",temporary:"",floating:"","retain-focus":"","capture-focus":""},{default:C(()=>[S(Ke)]),_:1},8,["modelValue"])):N("",!0)],64))}});const Ut=ae(Ft,[["__scopeId","data-v-7554aec9"]]),Ht={class:"breadcrumbs"},zt=W({__name:"Breadcrumbs",setup(i){const e=_e(),{getRouteParamsUrl:t}=Ne(),{state:n}=ne(),a=Y(()=>{var T;const m=[{title:M("TXT_CODE_f5b9d58f"),disabled:!1,href:"."}],o=t();return e.meta.breadcrumbs instanceof Array&&((T=e.meta.breadcrumbs)==null||T.forEach(g=>{var L;const b=o&&!g.mainMenu?`?${o}`:"";(((L=n.userInfo)==null?void 0:L.permission)||0)<g.permission||m.push({title:g.name,disabled:!1,href:`./#${g.path}${b}`})})),m.push({title:String(e.name),disabled:!0,href:`./#${e.fullPath}`}),m});return(m,o)=>(p(),D("div",Ht,[S(s(Ze),{class:"breadcrumbs-list",density:"comfortable",items:a.value,divider:">"},null,8,["items"])]))}});const Wt=ae(zt,[["__scopeId","data-v-690d6eb8"]]),jt={class:"dialog-input-container"},qt=W({__name:"InputDialogProvider",setup(i){const e=B(""),{state:t}=vt(),n=()=>{t.inputDialog.resolve(JSON.parse(JSON.stringify(e.value))),t.inputDialog.show=!1,e.value=""},a=()=>{t.inputDialog.reject(new Error("Dialog closed by user")),t.inputDialog.show=!1,e.value=""};return(m,o)=>{const T=Qe("VTextField");return p(),D("div",null,[S(gt,{visible:s(t).inputDialog.show,"onUpdate:visible":o[1]||(o[1]=h=>s(t).inputDialog.show=h),title:s(t).inputDialog.title,width:400,onOk:n,onCancel:a},{default:C(()=>[I("div",jt,[S(T,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=h=>e.value=h),placeholder:s(t).inputDialog.title,variant:"solo",density:"compact","hide-details":""},null,8,["modelValue","placeholder"])])]),_:1},8,["visible","title"])])}}});const Gt={class:"app-main-body"},Be=W({__name:"ConsoleApp",setup(i){const{hasBgImage:e,initAppTheme:t,isDarkTheme:n,isSidebarOpen:a,useSidebarLayout:m}=ye(),{isPhone:o}=Pe(),T=_e(),h=Y(()=>fe.slots.entries("shell.overlay",{})),g=Y(()=>T.path==="/login"),b=Y(()=>T.meta.immersive===!0),L=Y(()=>n.value?"dark":"light");return Te(n,E=>bt(E),{immediate:!0}),Re(async()=>{Se("Loading application settings..."),await t(),pt()}),(E,P)=>(p(),x(s(nt),{theme:L.value},{default:C(()=>[S(It,{"has-bg-image":s(e)},{default:C(()=>[S(s(et),{class:"global-app-container"},{default:C(()=>[!g.value&&!b.value?(p(),x(Ut,{key:0})):N("",!0),I("div",{class:ee(["app-shell-content",{"app-shell-content--sidebar":s(m)&&!g.value&&!b.value}])},[s(m)&&!g.value&&!b.value?(p(),D("div",{key:0,id:"app-sidebar",class:ee(["app-sidebar-shell",{"app-sidebar-shell--collapsed":!s(a)}])},[S(Ke,{collapsed:!s(a)},null,8,["collapsed"])],2)):N("",!0),I("main",{class:ee(["main-content",{"app-layout-sidebar-only":s(m)&&!g.value&&!b.value}])},[I("div",Gt,[!g.value&&!b.value?(p(),x(Wt,{key:0})):N("",!0),S(s(tt),null,{default:C(({Component:f,route:k})=>[S(he,{name:"page",mode:"out-in"},{default:C(()=>[(p(),x(Q(f),{key:k.fullPath}))]),_:2},1024)]),_:1})])],2)],2),(p(!0),D(X,null,H(h.value,f=>(p(),x(Q(f.component),G({key:f.id},{ref_for:!0},f.props),null,16))),128))]),_:1}),s(o)&&!s(m)&&!g.value&&!b.value?(p(),x($t,{key:0})):N("",!0),S(qt)]),_:1},8,["has-bg-image"])]),_:1},8,["theme"]))}});class Jt extends Z{constructor(e,t){super(e,"vue",!0),this.router=ie(oe),this.app=ie(t.app),this.pinia=ie(t.pinia)}}class Zt extends Z{constructor(e){super(e,"routes",!0),this.owners=new Map,this.generation=ue(0)}get revision(){return this.generation.value}isPluginRoute(e){return this.generation.value,this.owners.has(e)}ownerOf(e){return this.generation.value,this.owners.get(e)}add(e){const t=this.ctx.name;return this.ctx.effect(()=>{const n=new Set(oe.getRoutes()),a=oe.addRoute(e),m=oe.getRoutes().filter(o=>!n.has(o));for(const o of m)this.owners.set(o.path,t);return this.generation.value+=1,()=>{a();for(const o of m)this.owners.delete(o.path);this.generation.value+=1}})}}class Fe extends Z{constructor(e){super(e,"ui",!0),this.vueComponents={stacks:new Map,read:t=>this.app().component(t),write:(t,n)=>void this.app().component(t,n),clear:t=>void delete this.app()._context.components[t]}}get globalComponents(){return this.ctx.slots.entries("shell.overlay",{}).flatMap(e=>e.component?[e.component]:[])}component(e,t){return this.ctx.effect(()=>this.push(this.vueComponents,e,t))}globalComponent(e){return this.ctx.slots.register("shell.overlay",e)}push(e,t,n){let a=e.stacks.get(t);return a||(a={original:e.read(t),registrations:[]},e.stacks.set(t,a)),a.registrations.push(n),this.apply(e,t),()=>{e.stacks.has(t)&&(de(e.stacks.get(t).registrations,n),this.apply(e,t))}}apply(e,t){const n=e.stacks.get(t);if(!n)return;const a=n.registrations[n.registrations.length-1];if(a)return e.write(t,a);n.original?e.write(t,n.original):e.clear(t),e.stacks.delete(t)}app(){return this.ctx.vue.app}}Fe.inject=["vue","slots"];class Qt extends Z{constructor(e){super(e,"menus",!0),this.loginActions=te([])}login(e){return this.ctx.effect(()=>(this.loginActions.push(e),()=>de(this.loginActions,e)))}}class en extends Z{constructor(e){super(e,"actions",!0),this.instances=te([]),this.schedules=te([]),this.terminals=te([])}instance(e){if(!e.normalComponent&&!e.desktopComponent)throw new Error(`Instance action "${e.id}" needs a normal or desktop component.`);return this.claim(this.instances,"instance action",e,t=>t.id===e.id)}schedule(e){return this.claim(this.schedules,"schedule action",e,t=>t.type===e.type)}terminal(e){return this.claim(this.terminals,"terminal action",e,t=>t.id===e.id)}terminalButtons(e){return this.terminals.map(t=>({id:t.id,title:typeof t.title=="function"?t.title():t.title,icon:t.icon,mdiIcon:t.mdiIcon,type:t.type??"default",class:t.class,noConfirm:t.noConfirm??!0,props:t.props??{},click:()=>t.click(e),condition:()=>t.condition?t.condition(e):!0}))}claim(e,t,n,a){return this.ctx.effect(()=>{if(e.some(a))throw new Error(`Duplicate ${t} registration.`);return e.push(n),()=>de(e,n)})}}class tn extends Z{constructor(e){super(e,"desktop",!0),this.apps=te([]),this.views=te([]),this.shell=ue(),this.confirmationDialog=ue(),this.opener=ue()}get window(){return this.shell.value}provideWindow(e){return this.ctx.effect(()=>(this.shell.value=e,()=>{this.shell.value=void 0}))}get confirmation(){return this.confirmationDialog.value}provideConfirmation(e){return this.ctx.effect(()=>(this.confirmationDialog.value=ie(e),()=>{this.confirmationDialog.value=void 0}))}view(e){const t={...e,id:e.id.trim(),component:ie(e.component)};if(!t.id)throw new Error("A Desktop view needs an id.");return this.ctx.effect(()=>{if(this.views.some(n=>n.id===t.id))throw new Error(`Desktop view id is already registered: ${t.id}`);return this.views.push(t),()=>de(this.views,t)})}open(e){var t,n;return((n=(t=this.opener).value)==null?void 0:n.call(t,e))??!1}provideOpener(e){return this.ctx.effect(()=>(this.opener.value=e,()=>{this.opener.value===e&&(this.opener.value=void 0)}))}app(e){const t=e.id.trim();if(!t)throw new Error("A Desktop application needs an id.");if(!e.component&&!e.route&&!e.view)throw new Error(`Desktop application "${t}" needs a view, component or route.`);const n={...e,id:t};return this.ctx.effect(()=>{if(this.apps.some(a=>a.id===t))throw new Error(`Desktop application id is already registered: ${t}`);return this.apps.push(n),()=>de(this.apps,n)})}}function nn(i){return typeof i=="object"&&i!==null&&"title"in i&&"mdiIcon"in i&&"click"in i}class sn extends Z{constructor(e){super(e,"slots",!0),this.registrations=new Map,this.revision=ue(0),this.sequence=0}register(e,t,n={}){const a=this.ctx.name||"anonymous",m=(n.id||`${a}:${++this.sequence}`).trim();if(!m)throw new Error(`Slot registration in "${e}" needs an id.`);const o=nn(t)?t:void 0,T={id:m,owner:a,name:e,component:o?void 0:ie(t),action:o,order:Number.isFinite(n.order)?Number(n.order):0,props:{...n.props||{}},condition:n.condition};return this.ctx.effect(()=>{const h=this.registrations.get(e)||[];if(h.some(g=>g.id===m))throw new Error(`Duplicate slot registration "${e}:${m}".`);return h.push(T),this.registrations.set(e,h),this.revision.value+=1,()=>{const g=this.registrations.get(e);if(!g)return;const b=g.indexOf(T);b>=0&&g.splice(b,1),g.length||this.registrations.delete(e),this.revision.value+=1}})}entries(e,t){return this.revision.value,(this.registrations.get(e)||[]).filter(n=>{try{return!n.condition||n.condition(t)}catch(a){return this.ctx.logger("slots").warn(`Slot condition failed: ${e}:${n.id}`,a),!1}}).slice().sort((n,a)=>n.order-a.order||n.id.localeCompare(a.id))}}const xe=[500,1e3,2e3,4e3,8e3,1e4];function on(i){return i instanceof Error?i.message:String(i)}function an(i){var t;const e=(t=i==null?void 0:i.response)==null?void 0:t.status;return typeof e=="number"?e:void 0}class rn extends Z{constructor(e){super(e,"connection",!0),this.state=te({status:"connecting",networkAvailable:typeof navigator>"u"?!0:navigator.onLine,generation:0,retryAttempt:0,changedAt:Date.now()}),this.running=!1,this.onOnline=()=>{this.state.networkAvailable=!0,this.reconnect()},this.onOffline=()=>{this.state.networkAvailable=!1,this.cancelRetry(),this.transition("disconnected","Browser reports that the network is offline.")}}start(){this.running=!0,De(this),window.addEventListener("online",this.onOnline),window.addEventListener("offline",this.onOffline),this.state.networkAvailable?this.probe():this.transition("disconnected")}stop(){this.running=!1,De(void 0),window.removeEventListener("online",this.onOnline),window.removeEventListener("offline",this.onOffline),this.cancelRetry()}requestStarted(){this.state.networkAvailable&&(this.state.status==="disconnected"||this.state.status==="degraded")&&this.transition("connecting")}requestSucceeded(){this.connected()}requestFailed(e){const t=an(e);t!==void 0&&t<500||this.fail(t===void 0?"disconnected":"degraded",e)}reconnect(){!this.running||!this.state.networkAvailable||(this.state.retryAttempt=0,this.transition("connecting"),this.cancelRetry(),this.probe())}transition(e,t){this.state.status===e&&this.state.lastError===t||(this.state.status=e,this.state.lastError=t,this.state.changedAt=Date.now())}connected(e){const t=this.state.status!=="connected";this.clearRetryTimer(),this.probeController&&this.probeController!==e&&(this.probeController.abort(),this.probeController=void 0),this.state.retryAttempt=0,this.transition("connected"),t&&(this.state.generation+=1,le.clearCache())}fail(e,t){this.running&&(this.transition(e,on(t)),this.scheduleRetry())}scheduleRetry(){if(!this.running||!this.state.networkAvailable||this.retryTimer)return;const e=++this.state.retryAttempt,t=xe[Math.min(e-1,xe.length-1)],n=t/2+Math.random()*(t/2);this.retryTimer=setTimeout(()=>{this.retryTimer=void 0,this.probe()},n)}cancelRetry(){var e;this.clearRetryTimer(),(e=this.probeController)==null||e.abort(),this.probeController=void 0}clearRetryTimer(){this.retryTimer&&clearTimeout(this.retryTimer),this.retryTimer=void 0}async probe(){if(!this.running||!this.state.networkAvailable||this.probeController)return;const e=this.probeController=new AbortController;this.transition("connecting");try{const t=await fetch(new URL("api/auth/status",document.baseURI),{method:"GET",cache:"no-store",credentials:"same-origin",headers:{"X-Requested-With":"XMLHttpRequest"},signal:e.signal});if(t.status>=500){const n=new Error(`Panel health probe failed with HTTP ${t.status}`);throw n.response={status:t.status},n}this.connected(e)}catch(t){e.signal.aborted||this.requestFailed(t)}finally{this.probeController===e&&(this.probeController=void 0)}}}async function ln(i){const e=st(Be),t=ut();e.use(t),e.use(dt()),i.plugin(Jt,{app:e,pinia:t}),i.plugin(Zt),i.plugin(sn),i.plugin(rn),i.plugin(Fe),i.plugin(Qt),i.plugin(en),i.plugin(tn);const n=await new Promise(m=>{i.inject(["vue","routes","slots","connection","ui","menus","actions","desktop"],o=>m(o))});let a=!1;return i.on("plugins/loaded",async()=>{const m=i.get("user");m?await m.restoreSession():await ne().updateUserInfo(),Se("Rendering Application..."),e.use(oe),e.mount("#app-mount-point"),a=!0}),i.on("dispose",()=>{a&&e.unmount()}),{app:e,ctx:n}}async function cn(){try{const{value:i}=await mt().execute();document.title=(i==null?void 0:i.pageTitle)||M("TXT_CODE_47ae8ee6")}catch(i){console.error("init appearance error:",i)}}const un={class:"page-404"},dn={class:"mt-24"},pn=W({__name:"Page404",setup(i){return(e,t)=>(p(),D("main",un,[S(s(z),{icon:"mdi-alert-circle-outline",size:"70"}),I("h2",dn,K(s(M)("TXT_CODE_fd63a181")),1)]))}});const mn=ae(pn,[["__scopeId","data-v-5c70b13c"]]);function hn(i){let e,t=!1;const n=typeof document>"u"?"/socket.io":new URL("socket.io",document.baseURI).pathname,a=()=>{t||(e==null||e.disconnect(),i.onState("connecting"),e=yt({path:n,transports:["websocket"],reconnection:!0,reconnectionAttempts:1/0,auth:o=>{i.getTicket().then(T=>o(T?{ticket:T}:{})).catch(()=>o({}))}}),e.on("connect",()=>i.onState("connected")),e.on("disconnect",()=>i.onState("degraded")),e.on("connect_error",()=>i.onState("degraded")),e.on("tasks/update",o=>i.onUpdate(o)),e.on("tasks/availability",o=>i.onAvailability(!!(o!=null&&o.unavailable))))},m=()=>{const o=e;e=void 0,o&&(o.removeAllListeners(),o.disconnect())};return{connect:a,disconnect:m,dispose(){t=!0,m()}}}const Me=(i,e)=>+(e.state==="running")-+(i.state==="running")||e.startedAt-i.startedAt,ce=Ie(()=>{const{state:i,isLogged:e}=ne(),t=B(!1),n=B([]),a=B(!1),m=B(!1),o=B(!1),T=B("degraded"),h=B(0),g=Y(()=>n.value.filter(O=>O.state==="running").length);let b=new Set,L=!1,E=0,P=0,f,k=!1,_,l,y;const c=()=>{clearTimeout(l),l=void 0},V=()=>{clearTimeout(y),y=void 0},j=()=>{l||!e.value||(l=setTimeout(()=>{l=void 0,e.value&&u({silent:!0}).finally(j)},t.value?5e3:15e3))},w=()=>{V(),!(T.value!=="connected"||!g.value)&&(y=setTimeout(()=>{y=void 0,T.value==="connected"&&g.value>0&&j()},15e3))},d=O=>{L&&O.some(F=>!b.has(F.id))&&h.value++,b=new Set(O.map(F=>F.id)),L=!0},r=O=>{P++;const F=(O.tasks||[]).map(q=>({...q,daemonId:O.daemonId,nodeName:O.nodeName}));n.value=[...n.value.filter(q=>q.daemonId!==O.daemonId),...F].sort(Me),a.value=!!O.unavailable,o.value=!1,d(n.value),c(),w()},A=O=>{T.value=O,O==="connected"?(c(),w(),u({silent:!0})):(V(),j())},R=()=>{E++,P++,f==null||f.abort(),f=void 0,k=!1,t.value=!1,n.value=[],a.value=o.value=m.value=!1,b=new Set,L=!1,v()},u=async({silent:O=!1}={})=>{var Ce,Ae;if(!e.value)return;if(f){k=!0;return}const F=E,q=P,He=(Ce=i.userInfo)==null?void 0:Ce.uuid,we=new AbortController;f=we,m.value=!O;try{const se=await le.subscribe({url:"/api/tasks/",signal:we.signal,errorAlert:!1});if(E!==F||P!==q||((Ae=i.userInfo)==null?void 0:Ae.uuid)!==He)return;n.value=((se==null?void 0:se.tasks)||[]).sort(Me),a.value=!!(se!=null&&se.unavailable),o.value=!1,d(n.value),w()}catch{E===F&&(o.value=!0)}finally{E===F&&(m.value=!1,f=void 0),k&&(k=!1,u({silent:!0}))}};Tt(()=>{e.value&&u({silent:!0})});const $=()=>{!e.value||_||(_=hn({getTicket:async()=>{const O=await le.subscribe({url:"/api/tasks/stream-ticket",forceRequest:!0,errorAlert:!1});return O==null?void 0:O.ticket},onUpdate:r,onAvailability:O=>{a.value=O},onState:A}),_.connect())},v=()=>{_==null||_.dispose(),_=void 0,c(),V(),T.value="degraded"};return{open:t,tasks:n,unavailable:a,loading:m,error:o,streamState:T,rippleKey:h,activeCount:g,refresh:u,reset:R,connect:$,disconnect:v,cancel:async O=>{await le.subscribe({url:"/api/tasks/cancel",method:"POST",data:{daemonId:O.daemonId,id:O.id}})},clear:async()=>{await le.subscribe({url:"/api/tasks/",method:"DELETE"})}}}),fn={class:"task-toolbar"},_n={class:"task-list","aria-live":"polite","aria-relevant":"additions removals"},vn={key:1,class:"task-empty"},gn={class:"task-heading"},bn=["title"],Tn={class:"task-info text-caption"},Sn={key:0},yn={key:0,class:"task-error text-caption"},kn=W({__name:"BackgroundTasksSidebar",props:{desktop:{type:Boolean}},setup(i){const e=i,{state:t,isLogged:n}=ne(),{open:a,tasks:m,unavailable:o,loading:T,error:h,refresh:g,reset:b,connect:L,disconnect:E,cancel:P,clear:f}=ce(),k=Y(()=>e.desktop?{class:"background-tasks-desktop"}:{modelValue:a.value,"onUpdate:modelValue":u=>{a.value=u},class:"background-tasks-drawer",location:"right",width:480,temporary:!0,floating:!0,disableRouteWatcher:!0,disableResizeWatcher:!0,touchless:!0,retainFocus:!0,captureFocus:!0,tag:"aside","aria-label":M("TXT_CODE_TASKS_TITLE")}),_=B(new Set),l=B(!1),y=B(!1),c=Y(()=>[...m.value].filter(u=>y.value||u.state==="running").sort((u,$)=>+($.state==="running")-+(u.state==="running")||$.startedAt-u.startedAt)),V={download:"TXT_CODE_TASKS_DOWNLOAD",modDownload:"TXT_CODE_TASKS_MOD_DOWNLOAD",upload:"TXT_CODE_TASKS_UPLOAD",uploadExtract:"TXT_CODE_TASKS_UPLOAD_EXTRACT",compress:"TXT_CODE_TASKS_COMPRESS",extract:"TXT_CODE_TASKS_EXTRACT",copy:"TXT_CODE_TASKS_COPY",move:"TXT_CODE_TASKS_MOVE",delete:"TXT_CODE_TASKS_DELETE",permissions:"TXT_CODE_TASKS_PERMISSIONS",preview:"TXT_CODE_TASKS_PREVIEW",restore:"TXT_CODE_TASKS_RESTORE",javaInstall:"TXT_CODE_TASKS_JAVA_INSTALL",imagePull:"TXT_CODE_TASKS_IMAGE_BUILD",instanceTask:"TXT_CODE_TASKS_INSTANCE"},j={running:"TXT_CODE_TASKS_RUNNING",completed:"TXT_CODE_TASKS_COMPLETED",failed:"TXT_CODE_TASKS_FAILED",cancelled:"TXT_CODE_TASKS_CANCELLED"},w=u=>({running:"primary",completed:"success",failed:"error",cancelled:"secondary"})[u.state],d=u=>u.state==="completed"?100:u.total>0?Math.min(100,Math.floor(u.current/u.total*100)):0,r=u=>u<1024?`${u} B`:u<1024**2?`${(u/1024).toFixed(1)} KB`:u<1024**3?`${(u/1024**2).toFixed(1)} MB`:`${(u/1024**3).toFixed(1)} GB`,A=async u=>{_.value.add(u.id);try{await P(u)}catch{}finally{_.value.delete(u.id)}},R=async()=>{l.value=!0;try{await f()}catch{}finally{l.value=!1}};return e.desktop?Re(()=>{g({silent:!0})}):(Te(()=>{var u;return[n.value,(u=t.userInfo)==null?void 0:u.uuid]},()=>{b(),y.value=!1,n.value&&L()},{immediate:!0}),it(()=>{E(),b()})),(u,$)=>(p(),x(Q(i.desktop?"div":s(Le)),lt(ct(k.value)),{default:C(()=>[S(s(Oe),{id:i.desktop?"background-tasks-desktop":"background-tasks-sidebar",title:s(M)("TXT_CODE_TASKS_TITLE"),class:"background-tasks-card",rounded:"0"},{title:C(()=>[re(K(s(M)("TXT_CODE_TASKS_TITLE"))+" ",1),s(o)&&!s(h)?(p(),x(s(be),{key:0,text:s(M)("TXT_CODE_TASKS_UNAVAILABLE"),location:"bottom"},{activator:C(({props:v})=>[S(s(z),G(v,{icon:"mdi-alert-circle-outline",size:"small",color:"warning",class:"ms-2","aria-label":s(M)("TXT_CODE_TASKS_UNAVAILABLE")}),null,16,["aria-label"])]),_:1},8,["text"])):N("",!0)]),append:C(()=>[S(s(J),{icon:"mdi-refresh",size:"small",variant:"text",loading:s(T),title:s(M)("TXT_CODE_TASKS_REFRESH"),"aria-label":s(M)("TXT_CODE_TASKS_REFRESH"),onClick:$[0]||($[0]=v=>s(g)())},null,8,["loading","title","aria-label"]),i.desktop?N("",!0):(p(),x(s(J),{key:0,icon:"mdi-close",size:"small",variant:"text",title:s(M)("TXT_CODE_TASKS_CLOSE"),"aria-label":s(M)("TXT_CODE_TASKS_CLOSE"),onClick:$[1]||($[1]=v=>a.value=!1)},null,8,["title","aria-label"]))]),default:C(()=>[I("div",fn,[S(s(ot),{modelValue:y.value,"onUpdate:modelValue":$[2]||($[2]=v=>y.value=v),class:"task-history-toggle",label:s(M)("TXT_CODE_TASKS_SHOW_FINISHED"),color:"primary",density:"compact","hide-details":""},null,8,["modelValue","label"]),y.value?(p(),x(s(J),{key:0,class:"ml-auto",size:"small",variant:"text",loading:l.value,disabled:!s(m).some(v=>v.state!=="running"),onClick:R},{default:C(()=>[re(K(s(M)("TXT_CODE_TASKS_CLEAR")),1)]),_:1},8,["loading","disabled"])):N("",!0)]),I("div",_n,[s(h)?(p(),x(s(at),{key:0,type:"warning",variant:"tonal",density:"compact",class:"mb-3"},{default:C(()=>[re(K(s(M)("TXT_CODE_TASKS_LOAD_ERROR")),1)]),_:1})):N("",!0),!c.value.length&&!s(T)?(p(),D("div",vn,[S(s(z),{icon:"mdi-clipboard-check-outline",size:"48",class:"mb-3"}),I("div",null,K(s(M)("TXT_CODE_TASKS_EMPTY")),1)])):N("",!0),(p(!0),D(X,null,H(c.value,v=>(p(),x(s(Oe),{key:`${v.daemonId}:${v.id}`,tag:"article",class:"task-item",variant:"flat",rounded:"xl"},{default:C(()=>[I("div",gn,[I("div",{class:"task-name",title:v.name.split(/[\\/]/).pop()},K(v.name.split(/[\\/]/).pop()||s(M)(V[v.kind]||"TXT_CODE_TASKS_INSTANCE")),9,bn),v.cancellable?(p(),x(s(J),{key:0,icon:"mdi-stop",size:"x-small",variant:"text",color:"error",loading:_.value.has(v.id),title:s(M)("TXT_CODE_TASKS_CANCEL"),"aria-label":s(M)("TXT_CODE_TASKS_CANCEL"),onClick:U=>A(v)},null,8,["loading","title","aria-label","onClick"])):N("",!0)]),I("div",Tn,[I("span",null,K(s(M)(V[v.kind]||"TXT_CODE_TASKS_INSTANCE"))+" · "+K(s(M)(j[v.state])),1),v.total>0?(p(),D("span",Sn,[re(K(d(v))+"%",1),["javaInstall","restore"].includes(v.kind)?N("",!0):(p(),D(X,{key:0},[re(" · "+K(r(v.current))+" / "+K(r(v.total)),1)],64))])):N("",!0)]),v.error?(p(),D("div",yn,K(v.error),1)):N("",!0),S(s(rt),{"model-value":d(v),color:w(v),height:"5",rounded:"",indeterminate:v.state==="running"&&!v.total,class:"mt-3"},null,8,["model-value","color","indeterminate"])]),_:2},1024))),128))])]),_:1},8,["id","title"])]),_:1},16))}});const Ue=ae(kn,[["__scopeId","data-v-daf38ada"]]),wn=W({__name:"DesktopBackgroundTasks",setup(i){return(e,t)=>(p(),x(Ue,{desktop:""}))}}),Cn={render:()=>null},jn=["i18n","startup"];async function qn(i){const{app:e,ctx:t}=await ln(i);St(e),t.set("console",{root:Be}),t.desktop.view({id:"console:background-tasks",title:()=>M("TXT_CODE_TASKS_TITLE"),icon:"mdi-progress-clock",component:wn,initialWidth:540,initialHeight:600,condition:()=>ne().isLogged.value}),t.slots.register("shell.header.actions",{title:()=>M("TXT_CODE_TASKS_TITLE"),mdiIcon:"mdi-progress-clock",badge:()=>ce().activeCount.value||void 0,ripple:()=>ce().rippleKey.value,click:()=>{const{open:n,refresh:a}=ce();n.value=!n.value,n.value&&a({silent:!0})},desktopClick:()=>{ce().open.value=!1,t.desktop.open({id:"console:background-tasks",view:"console:background-tasks"})}},{id:"console:background-tasks-button",order:10,condition:()=>ne().isLogged.value}),t.slots.register("shell.overlay",Ue,{id:"console:background-tasks-sidebar"}),t.slots.register("shell.header.actions",{title:()=>ge().themeTitle.value,mdiIcon:()=>ge().themeIcon.value,taskbar:!1,click:()=>ge().cycleTheme()},{id:"console:theme-button",order:60}),t.routes.add({path:"/",name:"",component:Cn,meta:{mainMenu:!0,redirect:n=>(n==null?void 0:n.permission)===me.ADMIN?"/instances":n!=null&&n.permission&&n.permission>=me.USER?"/customer":"/login",permission:me.USER}}),t.routes.add({path:"/404",name:M("TXT_CODE_393c816c"),component:mn,meta:{permission:me.GUEST,mainMenu:!1}});try{Se("Initializing Appearance..."),await cn()}catch(n){console.error("Failed to initialize panel appearance:",n)}}export{qn as apply,jn as inject};
1
+ import{f7 as Ie,bx as ze,N as Y,a1 as W,c9 as _e,aE as p,Q as D,$ as S,ba as C,P as N,T as he,R as I,F as X,aK as H,bM as ee,bJ as s,gE as z,O as x,bz as B,aL as We,gX as be,gN as je,aq as G,gQ as qe,hg as Ge,b5 as Te,dv as Je,gC as J,aO as Q,h9 as Ee,hh as $e,gT as Le,hi as Ze,aM as Qe,ay as Re,g_ as et,bT as tt,hj as nt,bt as ie,bC as ue,bA as te,b as st,bP as K,au as it,_ as re,gZ as ot,gY as at,gz as Oe,gS as rt,bN as lt,ab as ct}from"../../../assets/vue-6b52a630.js";import{createPinia as ut}from"../../../assets/_elements-sdk_pinia-2c56d2c1.js";import{t as M,b as dt}from"../../../assets/i18n-e810b9fa.js";import{r as oe,R as me}from"../../../assets/router-eff205cc.js";import{u as ne}from"../../../assets/useAppStateStore-a438b9a6.js";import{a as Se,c as pt}from"../../../assets/dom-ff483262.js";import{u as Pe}from"../../../assets/useScreen-fad29b7c.js";import{u as ye,g as mt}from"../../../assets/useAppConfigStore-352fe033.js";import{c as fe}from"../../../assets/context-cc90576e.js";import{u as Ne}from"../../../assets/useAppRouters-747b627a.js";import{_ as ae}from"../../../assets/_plugin-vue_export-helper-c27b6911.js";import{a as ht,d as ve}from"../../../assets/dayjs.min-25183c0a.js";import{c as ke,g as ft}from"../../../assets/htmlparser2-bcb8f9db.js";import{A as _t,u as ge}from"../../../assets/useThemeSwitch-dc70883c.js";import{u as vt}from"../../../assets/useAppToolsStore-288c4fe8.js";import{_ as gt}from"../../../assets/AppDialog.vue_vue_type_style_index_0_lang-e6e38e8b.js";import{c as bt,d as le,f as De,o as Tt,i as St}from"../../../assets/useDefineApi-b726db1e.js";import{S as Z}from"../../../assets/_elements-sdk_cordis-e3bebc89.js";import{remove as de}from"../../../assets/_elements-sdk_cosmokit-e4842f5c.js";import{l as yt}from"../../../assets/index-e3f35709.js";import"../../../assets/lodash-001e4f93.js";import"../../../assets/const-ea30795c.js";const Ye=Ie(()=>({uiState:ze({showPhoneMenu:!1})}));function Xe(){const{toPage:i}=Ne(),{uiState:e}=Ye(),{state:t,isAdmin:n,isLogged:a}=ne(),m=h=>{e.showPhoneMenu=!1,i({path:h})},o=Y(()=>(fe.routes.revision,oe.getRoutes().filter(h=>{var b;if(h.path==="/"||!h.name)return!1;const g=h.meta;return g.condition&&!g.condition()?!1:n.value?g.mainMenu===!0:g.mainMenu===!0&&a.value&&Number((b=t.userInfo)==null?void 0:b.permission)>=Number(g.permission)}).map(h=>({name:h.name,path:h.path,meta:h.meta,customClass:h.meta.customClass??[]})))),T=Y(()=>o.value.map(h=>({type:"route",path:h.path,name:h.name,icon:h.meta.icon,customClass:Array.isArray(h.customClass)?h.customClass:[]})));return{menus:o,sidebarItems:T,handleToPage:m}}const kt={class:"fab-container"},wt={key:0,class:"fab-menu-panel"},Ct=["onClick"],At={class:"fab-menu-icon-wrap"},Et=W({__name:"AppBottomNav",setup(i){const e=_e(),{menus:t,handleToPage:n}=Xe(),a=B(!1),m={"/instances":"mdi-view-grid","/users":"mdi-account-group-outline","/customer":"mdi-account-outline","/login":"mdi-login"},o=b=>b.meta.icon??m[b.path]??"mdi-menu",T=b=>e.path===b?!0:b==="/"?!1:e.path.startsWith(b+"/"),h=()=>{a.value=!a.value},g=b=>{n(b),a.value=!1};return(b,L)=>(p(),D(X,null,[S(he,{name:"fab-backdrop"},{default:C(()=>[a.value?(p(),D("div",{key:0,class:"fab-backdrop",onClick:L[0]||(L[0]=E=>a.value=!1)})):N("",!0)]),_:1}),I("div",kt,[S(he,{name:"fab-panel"},{default:C(()=>[a.value?(p(),D("div",wt,[(p(!0),D(X,null,H(s(t),E=>(p(),D("button",{key:E.path,class:ee(["fab-menu-item",{"fab-menu-item--active":T(E.path)}]),onClick:P=>g(E.path)},[I("span",At,[S(s(z),{icon:o(E),class:"fab-menu-icon"},null,8,["icon"])])],10,Ct))),128))])):N("",!0)]),_:1}),I("button",{"aria-label":"Toggle navigation menu",class:ee(["fab-ball",{"fab-ball--expanded":a.value}]),onClick:h},[S(he,{name:"fab-icon",mode:"out-in"},{default:C(()=>[a.value?(p(),x(s(z),{key:0,icon:"mdi-close",class:"fab-ball-icon"})):(p(),x(s(z),{key:1,icon:"mdi-menu",class:"fab-ball-icon"}))]),_:1})],2)])],64))}});const $t=ae(Et,[["__scopeId","data-v-ef3c6ef2"]]);var Ot={exports:{}};(function(i,e){(function(t,n){i.exports=n()})(ke,function(){return{name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(t){var n=["th","st","nd","rd"],a=t%100;return"["+t+(n[(a-20)%10]||n[a]||n[0])+"]"}}})})(Ot);var Dt={exports:{}};(function(i,e){(function(t,n){i.exports=n(ht)})(ke,function(t){function n(o){return o&&typeof o=="object"&&"default"in o?o:{default:o}}var a=n(t),m={name:"zh-cn",weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"周日_周一_周二_周三_周四_周五_周六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),ordinal:function(o,T){return T==="W"?o+"周":o+"日"},weekStart:1,yearStart:4,formats:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日Ah点mm分",LLLL:"YYYY年M月D日ddddAh点mm分",l:"YYYY/M/D",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日dddd HH:mm"},relativeTime:{future:"%s内",past:"%s前",s:"几秒",m:"1 分钟",mm:"%d 分钟",h:"1 小时",hh:"%d 小时",d:"1 天",dd:"%d 天",M:"1 个月",MM:"%d 个月",y:"1 年",yy:"%d 年"},meridiem:function(o,T){var h=100*o+T;return h<600?"凌晨":h<900?"早上":h<1100?"上午":h<1300?"中午":h<1800?"下午":"晚上"}};return a.default.locale(m,null,!0),m})})(Dt);var Ve={exports:{}};(function(i,e){(function(t,n){i.exports=n()})(ke,function(){var t,n,a=1e3,m=6e4,o=36e5,T=864e5,h=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,g=31536e6,b=2592e6,L=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/,E={years:g,months:b,days:T,hours:o,minutes:m,seconds:a,milliseconds:1,weeks:6048e5},P=function(w){return w instanceof V},f=function(w,d,r){return new V(w,r,d.$l)},k=function(w){return n.p(w)+"s"},_=function(w){return w<0},l=function(w){return _(w)?Math.ceil(w):Math.floor(w)},y=function(w){return Math.abs(w)},c=function(w,d){return w?_(w)?{negative:!0,format:""+y(w)+d}:{negative:!1,format:""+w+d}:{negative:!1,format:""}},V=function(){function w(r,A,R){var u=this;if(this.$d={},this.$l=R,r===void 0&&(this.$ms=0,this.parseFromMilliseconds()),A)return f(r*E[k(A)],this);if(typeof r=="number")return this.$ms=r,this.parseFromMilliseconds(),this;if(typeof r=="object")return Object.keys(r).forEach(function(U){u.$d[k(U)]=r[U]}),this.calMilliseconds(),this;if(typeof r=="string"){var $=r.match(L);if($){var v=$.slice(2).map(function(U){return U!=null?Number(U):0});return this.$d.years=v[0],this.$d.months=v[1],this.$d.weeks=v[2],this.$d.days=v[3],this.$d.hours=v[4],this.$d.minutes=v[5],this.$d.seconds=v[6],this.calMilliseconds(),this}}return this}var d=w.prototype;return d.calMilliseconds=function(){var r=this;this.$ms=Object.keys(this.$d).reduce(function(A,R){return A+(r.$d[R]||0)*E[R]},0)},d.parseFromMilliseconds=function(){var r=this.$ms;this.$d.years=l(r/g),r%=g,this.$d.months=l(r/b),r%=b,this.$d.days=l(r/T),r%=T,this.$d.hours=l(r/o),r%=o,this.$d.minutes=l(r/m),r%=m,this.$d.seconds=l(r/a),r%=a,this.$d.milliseconds=r},d.toISOString=function(){var r=c(this.$d.years,"Y"),A=c(this.$d.months,"M"),R=+this.$d.days||0;this.$d.weeks&&(R+=7*this.$d.weeks);var u=c(R,"D"),$=c(this.$d.hours,"H"),v=c(this.$d.minutes,"M"),U=this.$d.seconds||0;this.$d.milliseconds&&(U+=this.$d.milliseconds/1e3);var pe=c(U,"S"),O=r.negative||A.negative||u.negative||$.negative||v.negative||pe.negative,F=$.format||v.format||pe.format?"T":"",q=(O?"-":"")+"P"+r.format+A.format+u.format+F+$.format+v.format+pe.format;return q==="P"||q==="-P"?"P0D":q},d.toJSON=function(){return this.toISOString()},d.format=function(r){var A=r||"YYYY-MM-DDTHH:mm:ss",R={Y:this.$d.years,YY:n.s(this.$d.years,2,"0"),YYYY:n.s(this.$d.years,4,"0"),M:this.$d.months,MM:n.s(this.$d.months,2,"0"),D:this.$d.days,DD:n.s(this.$d.days,2,"0"),H:this.$d.hours,HH:n.s(this.$d.hours,2,"0"),m:this.$d.minutes,mm:n.s(this.$d.minutes,2,"0"),s:this.$d.seconds,ss:n.s(this.$d.seconds,2,"0"),SSS:n.s(this.$d.milliseconds,3,"0")};return A.replace(h,function(u,$){return $||String(R[u])})},d.as=function(r){return this.$ms/E[k(r)]},d.get=function(r){var A=this.$ms,R=k(r);return R==="milliseconds"?A%=1e3:A=R==="weeks"?l(A/E[R]):this.$d[R],A===0?0:A},d.add=function(r,A,R){var u;return u=A?r*E[k(A)]:P(r)?r.$ms:f(r,this).$ms,f(this.$ms+u*(R?-1:1),this)},d.subtract=function(r,A){return this.add(r,A,!0)},d.locale=function(r){var A=this.clone();return A.$l=r,A},d.clone=function(){return f(this.$ms,this)},d.humanize=function(r){return t().add(this.$ms,"ms").locale(this.$l).fromNow(!r)},d.valueOf=function(){return this.asMilliseconds()},d.milliseconds=function(){return this.get("milliseconds")},d.asMilliseconds=function(){return this.as("milliseconds")},d.seconds=function(){return this.get("seconds")},d.asSeconds=function(){return this.as("seconds")},d.minutes=function(){return this.get("minutes")},d.asMinutes=function(){return this.as("minutes")},d.hours=function(){return this.get("hours")},d.asHours=function(){return this.as("hours")},d.days=function(){return this.get("days")},d.asDays=function(){return this.as("days")},d.weeks=function(){return this.get("weeks")},d.asWeeks=function(){return this.as("weeks")},d.months=function(){return this.get("months")},d.asMonths=function(){return this.as("months")},d.years=function(){return this.get("years")},d.asYears=function(){return this.as("years")},w}(),j=function(w,d,r){return w.add(d.years()*r,"y").add(d.months()*r,"M").add(d.days()*r,"d").add(d.hours()*r,"h").add(d.minutes()*r,"m").add(d.seconds()*r,"s").add(d.milliseconds()*r,"ms")};return function(w,d,r){t=r,n=r().$utils(),r.duration=function(u,$){var v=r.locale();return f(u,{$l:v},$)},r.isDuration=P;var A=d.prototype.add,R=d.prototype.subtract;d.prototype.add=function(u,$){return P(u)?j(this,u,1):A.bind(this)(u,$)},d.prototype.subtract=function(u,$){return P(u)?j(this,u,-1):R.bind(this)(u,$)}}})})(Ve);var xt=Ve.exports;const Mt=ft(xt),It=W({__name:"AppConfigProvider",setup(i){ve.extend(Mt);const{getCurrentLanguage:e}=ye();return e().toLowerCase()==="zh_cn"?ve.locale("zh-cn"):ve.locale("en-us"),(t,n)=>We(t.$slots,"default")}}),Lt=W({__name:"AppSidebarMenu",props:{collapsed:{type:Boolean,default:!1}},setup(i){const e=_e(),{sidebarItems:t,handleToPage:n}=Xe(),a=Y(()=>{let f="",k="";for(const _ of t.value){const l=_.path;if(l!=="/"){if(e.path===l){f=l;break}e.path.startsWith(`${l}/`)&&l.length>k.length&&(k=l)}}return f||k}),m=f=>a.value===f,o={"/instances":"mdi-view-grid-outline","/users":"mdi-account-group-outline","/customer":"mdi-account-outline","/login":"mdi-login","/plugins/config":"mdi-cog-outline","/overview":"mdi-view-dashboard-outline","/node":"mdi-sitemap-outline","/market":"mdi-storefront-outline"},T={AppstoreAddOutlined:"mdi-view-grid-plus",AreaChartOutlined:"mdi-chart-areaspline",BgColorsOutlined:"mdi-palette-outline",BuildOutlined:"mdi-hammer-wrench",CloudDownloadOutlined:"mdi-cloud-download-outline",CloudUploadOutlined:"mdi-cloud-upload-outline",ClusterOutlined:"mdi-server-network-outline",CodeOutlined:"mdi-code-tags",CloseCircleOutlined:"mdi-close-circle-outline",DesktopOutlined:"mdi-monitor",DashboardOutlined:"mdi-view-dashboard-outline",FileExcelOutlined:"mdi-file-excel-outline",FileTextOutlined:"mdi-file-document-outline",FileZipOutlined:"mdi-folder-zip-outline",FolderOpenOutlined:"mdi-folder-open-outline",GithubFilled:"mdi-github",HomeOutlined:"mdi-home-outline",InteractionOutlined:"mdi-gesture-tap-button",LinkOutlined:"mdi-link-variant",LogoutOutlined:"mdi-logout",MenuOutlined:"mdi-menu",NodeIndexOutlined:"mdi-source-branch",RedoOutlined:"mdi-restore",SaveOutlined:"mdi-content-save-outline",ShopOutlined:"mdi-storefront-outline",ShoppingCartOutlined:"mdi-cart-outline",TeamOutlined:"mdi-account-group-outline",TransactionOutlined:"mdi-swap-horizontal",UserOutlined:"mdi-account-outline",UsergroupDeleteOutlined:"mdi-account-multiple-minus-outline",LoginOutlined:"mdi-login"},h=(f,k)=>{var y,c;if(typeof f=="string"&&f.startsWith("mdi-"))return f;const _=f,l=(_==null?void 0:_.name)??(_==null?void 0:_.displayName)??(_==null?void 0:_.__name)??((y=_==null?void 0:_.type)==null?void 0:y.name)??((c=_==null?void 0:_.type)==null?void 0:c.__name);return l&&T[l]||k||"mdi-menu"},g=f=>o[f.path]||h(f.icon),b={"mdi-cog-outline":"mdi-cog","mdi-view-grid-outline":"mdi-view-grid","mdi-view-grid-plus-outline":"mdi-view-grid-plus","mdi-account-group-outline":"mdi-account-group","mdi-account-outline":"mdi-account","mdi-sitemap-outline":"mdi-sitemap","mdi-server-network-outline":"mdi-server-network","mdi-storefront-outline":"mdi-storefront","mdi-view-dashboard-outline":"mdi-view-dashboard","mdi-puzzle-outline":"mdi-puzzle"},L=f=>f.endsWith("-outline")?f:Object.keys(b).find(_=>b[_]===f)??f,E=f=>{const k=L(f);return b[k]??k},P=f=>{const k=g(f);return m(f.path)?E(k):L(k)};return(f,k)=>(p(),x(s(Ge),{tag:"aside",class:ee(["left-sidebar",{"left-sidebar--collapsed":i.collapsed}]),elevation:"0",rounded:"0"},{default:C(()=>[S(s(qe),{class:"sidebar-menu",density:"comfortable",nav:""},{default:C(()=>[(p(!0),D(X,null,H(s(t),_=>(p(),x(s(be),{key:_.path,text:String(_.name??""),disabled:!i.collapsed,location:"end"},{activator:C(({props:l})=>[S(s(je),G({ref_for:!0},l,{class:["sidebar-item",_.customClass],active:m(_.path),color:"primary",rounded:"xl",title:String(_.name??""),"aria-label":String(_.name??""),"prepend-icon":P(_),onClick:y=>s(n)(_.path)}),null,16,["class","active","title","aria-label","prepend-icon","onClick"])]),_:2},1032,["text","disabled"]))),128))]),_:1})]),_:1},8,["class"]))}});const Ke=ae(Lt,[["__scopeId","data-v-d0c10784"]]),Rt={class:"app-header-content"},Pt={href:".",class:"header-logo","aria-label":"ElementsPanel"},Nt=["src"],Yt={class:"btns header-actions"},Xt={class:"phone-toolbar-content"},Vt={class:"phone-toolbar-side phone-toolbar-side-start"},Kt={class:"phone-toolbar-side phone-toolbar-side-end"},Bt={key:0},Ft=W({__name:"AppHeader",setup(i){const{uiState:e}=Ye(),{isSidebarOpen:t,logoImage:n,toggleSidebar:a,useSidebarLayout:m}=ye(),{isPhone:o}=Pe(),T=Y(()=>fe.slots.entries("shell.header.leading",{mobile:o.value})),h=Y(()=>fe.slots.entries("shell.header.actions",{mobile:o.value})),g=Y(()=>h.value.flatMap(l=>l.action?[{id:l.id,action:l.action}]:[])),b=Y(()=>h.value.filter(l=>!l.action)),L=l=>typeof l.title=="function"?l.title():l.title,E=l=>typeof l.mdiIcon=="function"?l.mdiIcon():l.mdiIcon,P=l=>{const y=typeof l.badge=="function"?l.badge():l.badge;return y===!1||y==null?void 0:y},f=l=>{var y;return(y=l.expanded)==null?void 0:y.call(l)},k=l=>{var y;return(y=l.ripple)==null?void 0:y.call(l)},_=(l=!1)=>{e.showPhoneMenu=l};return Te(o,l=>{l||_(!1)}),Je("keydown",l=>{l.key==="Escape"&&e.showPhoneMenu&&_(!1)}),(l,y)=>(p(),D(X,null,[s(o)?N("",!0):(p(),x(s($e),{key:0,tag:"header",class:"app-header-wrapper",color:"transparent",flat:"",elevation:"0",height:"64"},{default:C(()=>[I("div",Rt,[I("div",{class:ee(["header-leading",{"header-leading--sidebar-open":s(t)}])},[s(m)?(p(),x(s(J),{key:0,class:"sidebar-toggle-button",icon:"",variant:"text","aria-label":"MENU","aria-controls":"app-sidebar","aria-expanded":s(t),onClick:s(a)},{default:C(()=>[S(s(z),{icon:s(t)?"mdi-menu-open":"mdi-menu"},null,8,["icon"])]),_:1},8,["aria-expanded","onClick"])):N("",!0),I("a",Pt,[I("img",{src:s(n),alt:"ElementsPanel"},null,8,Nt)]),(p(!0),D(X,null,H(T.value,c=>(p(),x(Q(c.component),G({key:c.id},{ref_for:!0},{...c.props,mobile:!1}),null,16))),128))],2),I("div",Yt,[(p(!0),D(X,null,H(g.value,c=>(p(),D("div",{key:c.id,class:"header-action"},[S(s(be),{text:L(c.action),location:"bottom"},{activator:C(({props:V})=>[S(s(Ee),{content:P(c.action),"model-value":P(c.action)!=null,max:99,"offset-x":14,"offset-y":14,color:"primary",floating:""},{default:C(()=>[S(s(J),G({ref_for:!0},V,{class:[c.action.customClass,"nav-button","right-nav-button"],"aria-label":L(c.action),"aria-controls":c.action.ariaControls,"aria-expanded":f(c.action),icon:"",variant:"text",onClick:j=>c.action.click()}),{default:C(()=>[S(s(z),{icon:E(c.action)},null,8,["icon"])]),_:2},1040,["class","aria-label","aria-controls","aria-expanded","onClick"])]),_:2},1032,["content","model-value"])]),_:2},1032,["text"]),S(_t,{trigger:k(c.action)},null,8,["trigger"])]))),128)),(p(!0),D(X,null,H(b.value,c=>(p(),x(Q(c.component),G({key:c.id},{ref_for:!0},{...c.props,mobile:!1}),null,16))),128))])])]),_:1})),s(o)?(p(),x(s($e),{key:1,tag:"header",class:"app-header-content-for-phone",color:"transparent",flat:"",elevation:"0",height:"60"},{default:C(()=>[I("div",Xt,[I("div",Vt,[S(s(J),{icon:"",variant:"text","aria-label":"MENU",title:"MENU","aria-controls":"app-phone-sidebar","aria-expanded":s(e).showPhoneMenu,onClick:y[0]||(y[0]=c=>_(!0))},{default:C(()=>[S(s(z),{icon:"mdi-menu"})]),_:1},8,["aria-expanded"]),(p(!0),D(X,null,H(T.value,c=>(p(),x(Q(c.component),G({key:c.id},{ref_for:!0},{...c.props,mobile:!0}),null,16))),128))]),I("div",Kt,[(p(!0),D(X,null,H(g.value,c=>(p(),D(X,{key:c.id},[c.action.onlyPC?N("",!0):(p(),D("div",Bt,[S(s(Ee),{content:P(c.action),"model-value":P(c.action)!=null,max:99,"offset-x":14,"offset-y":14,color:"primary",floating:""},{default:C(()=>[S(s(J),{class:"phone-nav-button","aria-label":L(c.action),"aria-controls":c.action.ariaControls,"aria-expanded":f(c.action),icon:"",variant:"text",onClick:V=>c.action.click()},{default:C(()=>[S(s(z),{icon:E(c.action)},null,8,["icon"])]),_:2},1032,["aria-label","aria-controls","aria-expanded","onClick"])]),_:2},1032,["content","model-value"])]))],64))),128)),(p(!0),D(X,null,H(b.value,c=>(p(),x(Q(c.component),G({key:c.id},{ref_for:!0},{...c.props,mobile:!0}),null,16))),128))])])]),_:1})):N("",!0),s(o)?(p(),x(s(Le),{key:2,id:"app-phone-sidebar",modelValue:s(e).showPhoneMenu,"onUpdate:modelValue":y[1]||(y[1]=c=>s(e).showPhoneMenu=c),class:"phone-menu-drawer",color:"surface",location:"left",width:"280",temporary:"",floating:"","retain-focus":"","capture-focus":""},{default:C(()=>[S(Ke)]),_:1},8,["modelValue"])):N("",!0)],64))}});const Ut=ae(Ft,[["__scopeId","data-v-f78909a9"]]),Ht={class:"breadcrumbs"},zt=W({__name:"Breadcrumbs",setup(i){const e=_e(),{getRouteParamsUrl:t}=Ne(),{state:n}=ne(),a=Y(()=>{var T;const m=[{title:M("TXT_CODE_f5b9d58f"),disabled:!1,href:"."}],o=t();return e.meta.breadcrumbs instanceof Array&&((T=e.meta.breadcrumbs)==null||T.forEach(g=>{var L;const b=o&&!g.mainMenu?`?${o}`:"";(((L=n.userInfo)==null?void 0:L.permission)||0)<g.permission||m.push({title:g.name,disabled:!1,href:`./#${g.path}${b}`})})),m.push({title:String(e.name),disabled:!0,href:`./#${e.fullPath}`}),m});return(m,o)=>(p(),D("div",Ht,[S(s(Ze),{class:"breadcrumbs-list",density:"comfortable",items:a.value,divider:">"},null,8,["items"])]))}});const Wt=ae(zt,[["__scopeId","data-v-ab80c275"]]),jt={class:"dialog-input-container"},qt=W({__name:"InputDialogProvider",setup(i){const e=B(""),{state:t}=vt(),n=()=>{t.inputDialog.resolve(JSON.parse(JSON.stringify(e.value))),t.inputDialog.show=!1,e.value=""},a=()=>{t.inputDialog.reject(new Error("Dialog closed by user")),t.inputDialog.show=!1,e.value=""};return(m,o)=>{const T=Qe("VTextField");return p(),D("div",null,[S(gt,{visible:s(t).inputDialog.show,"onUpdate:visible":o[1]||(o[1]=h=>s(t).inputDialog.show=h),title:s(t).inputDialog.title,width:400,onOk:n,onCancel:a},{default:C(()=>[I("div",jt,[S(T,{modelValue:e.value,"onUpdate:modelValue":o[0]||(o[0]=h=>e.value=h),placeholder:s(t).inputDialog.title,variant:"solo",density:"compact","hide-details":""},null,8,["modelValue","placeholder"])])]),_:1},8,["visible","title"])])}}});const Gt={class:"app-main-body"},Be=W({__name:"ConsoleApp",setup(i){const{hasBgImage:e,initAppTheme:t,isDarkTheme:n,isSidebarOpen:a,useSidebarLayout:m}=ye(),{isPhone:o}=Pe(),T=_e(),h=Y(()=>fe.slots.entries("shell.overlay",{})),g=Y(()=>T.path==="/login"),b=Y(()=>T.meta.immersive===!0),L=Y(()=>n.value?"dark":"light");return Te(n,E=>bt(E),{immediate:!0}),Re(async()=>{Se("Loading application settings..."),await t(),pt()}),(E,P)=>(p(),x(s(nt),{theme:L.value},{default:C(()=>[S(It,{"has-bg-image":s(e)},{default:C(()=>[S(s(et),{class:"global-app-container"},{default:C(()=>[!g.value&&!b.value?(p(),x(Ut,{key:0})):N("",!0),I("div",{class:ee(["app-shell-content",{"app-shell-content--sidebar":s(m)&&!g.value&&!b.value}])},[s(m)&&!g.value&&!b.value?(p(),D("div",{key:0,id:"app-sidebar",class:ee(["app-sidebar-shell",{"app-sidebar-shell--collapsed":!s(a)}])},[S(Ke,{collapsed:!s(a)},null,8,["collapsed"])],2)):N("",!0),I("main",{class:ee(["main-content",{"app-layout-sidebar-only":s(m)&&!g.value&&!b.value}])},[I("div",Gt,[!g.value&&!b.value?(p(),x(Wt,{key:0})):N("",!0),S(s(tt),null,{default:C(({Component:f,route:k})=>[S(he,{name:"page",mode:"out-in"},{default:C(()=>[(p(),x(Q(f),{key:k.fullPath}))]),_:2},1024)]),_:1})])],2)],2),(p(!0),D(X,null,H(h.value,f=>(p(),x(Q(f.component),G({key:f.id},{ref_for:!0},f.props),null,16))),128))]),_:1}),s(o)&&!s(m)&&!g.value&&!b.value?(p(),x($t,{key:0})):N("",!0),S(qt)]),_:1},8,["has-bg-image"])]),_:1},8,["theme"]))}});class Jt extends Z{constructor(e,t){super(e,"vue",!0),this.router=ie(oe),this.app=ie(t.app),this.pinia=ie(t.pinia)}}class Zt extends Z{constructor(e){super(e,"routes",!0),this.owners=new Map,this.generation=ue(0)}get revision(){return this.generation.value}isPluginRoute(e){return this.generation.value,this.owners.has(e)}ownerOf(e){return this.generation.value,this.owners.get(e)}add(e){const t=this.ctx.name;return this.ctx.effect(()=>{const n=new Set(oe.getRoutes()),a=oe.addRoute(e),m=oe.getRoutes().filter(o=>!n.has(o));for(const o of m)this.owners.set(o.path,t);return this.generation.value+=1,()=>{a();for(const o of m)this.owners.delete(o.path);this.generation.value+=1}})}}class Fe extends Z{constructor(e){super(e,"ui",!0),this.vueComponents={stacks:new Map,read:t=>this.app().component(t),write:(t,n)=>void this.app().component(t,n),clear:t=>void delete this.app()._context.components[t]}}get globalComponents(){return this.ctx.slots.entries("shell.overlay",{}).flatMap(e=>e.component?[e.component]:[])}component(e,t){return this.ctx.effect(()=>this.push(this.vueComponents,e,t))}globalComponent(e){return this.ctx.slots.register("shell.overlay",e)}push(e,t,n){let a=e.stacks.get(t);return a||(a={original:e.read(t),registrations:[]},e.stacks.set(t,a)),a.registrations.push(n),this.apply(e,t),()=>{e.stacks.has(t)&&(de(e.stacks.get(t).registrations,n),this.apply(e,t))}}apply(e,t){const n=e.stacks.get(t);if(!n)return;const a=n.registrations[n.registrations.length-1];if(a)return e.write(t,a);n.original?e.write(t,n.original):e.clear(t),e.stacks.delete(t)}app(){return this.ctx.vue.app}}Fe.inject=["vue","slots"];class Qt extends Z{constructor(e){super(e,"menus",!0),this.loginActions=te([])}login(e){return this.ctx.effect(()=>(this.loginActions.push(e),()=>de(this.loginActions,e)))}}class en extends Z{constructor(e){super(e,"actions",!0),this.instances=te([]),this.schedules=te([]),this.terminals=te([])}instance(e){if(!e.normalComponent&&!e.desktopComponent)throw new Error(`Instance action "${e.id}" needs a normal or desktop component.`);return this.claim(this.instances,"instance action",e,t=>t.id===e.id)}schedule(e){return this.claim(this.schedules,"schedule action",e,t=>t.type===e.type)}terminal(e){return this.claim(this.terminals,"terminal action",e,t=>t.id===e.id)}terminalButtons(e){return this.terminals.map(t=>({id:t.id,title:typeof t.title=="function"?t.title():t.title,icon:t.icon,mdiIcon:t.mdiIcon,type:t.type??"default",class:t.class,noConfirm:t.noConfirm??!0,props:t.props??{},click:()=>t.click(e),condition:()=>t.condition?t.condition(e):!0}))}claim(e,t,n,a){return this.ctx.effect(()=>{if(e.some(a))throw new Error(`Duplicate ${t} registration.`);return e.push(n),()=>de(e,n)})}}class tn extends Z{constructor(e){super(e,"desktop",!0),this.apps=te([]),this.views=te([]),this.shell=ue(),this.confirmationDialog=ue(),this.opener=ue()}get window(){return this.shell.value}provideWindow(e){return this.ctx.effect(()=>(this.shell.value=e,()=>{this.shell.value=void 0}))}get confirmation(){return this.confirmationDialog.value}provideConfirmation(e){return this.ctx.effect(()=>(this.confirmationDialog.value=ie(e),()=>{this.confirmationDialog.value=void 0}))}view(e){const t={...e,id:e.id.trim(),component:ie(e.component)};if(!t.id)throw new Error("A Desktop view needs an id.");return this.ctx.effect(()=>{if(this.views.some(n=>n.id===t.id))throw new Error(`Desktop view id is already registered: ${t.id}`);return this.views.push(t),()=>de(this.views,t)})}open(e){var t,n;return((n=(t=this.opener).value)==null?void 0:n.call(t,e))??!1}provideOpener(e){return this.ctx.effect(()=>(this.opener.value=e,()=>{this.opener.value===e&&(this.opener.value=void 0)}))}app(e){const t=e.id.trim();if(!t)throw new Error("A Desktop application needs an id.");if(!e.component&&!e.route&&!e.view)throw new Error(`Desktop application "${t}" needs a view, component or route.`);const n={...e,id:t};return this.ctx.effect(()=>{if(this.apps.some(a=>a.id===t))throw new Error(`Desktop application id is already registered: ${t}`);return this.apps.push(n),()=>de(this.apps,n)})}}function nn(i){return typeof i=="object"&&i!==null&&"title"in i&&"mdiIcon"in i&&"click"in i}class sn extends Z{constructor(e){super(e,"slots",!0),this.registrations=new Map,this.revision=ue(0),this.sequence=0}register(e,t,n={}){const a=this.ctx.name||"anonymous",m=(n.id||`${a}:${++this.sequence}`).trim();if(!m)throw new Error(`Slot registration in "${e}" needs an id.`);const o=nn(t)?t:void 0,T={id:m,owner:a,name:e,component:o?void 0:ie(t),action:o,order:Number.isFinite(n.order)?Number(n.order):0,props:{...n.props||{}},condition:n.condition};return this.ctx.effect(()=>{const h=this.registrations.get(e)||[];if(h.some(g=>g.id===m))throw new Error(`Duplicate slot registration "${e}:${m}".`);return h.push(T),this.registrations.set(e,h),this.revision.value+=1,()=>{const g=this.registrations.get(e);if(!g)return;const b=g.indexOf(T);b>=0&&g.splice(b,1),g.length||this.registrations.delete(e),this.revision.value+=1}})}entries(e,t){return this.revision.value,(this.registrations.get(e)||[]).filter(n=>{try{return!n.condition||n.condition(t)}catch(a){return this.ctx.logger("slots").warn(`Slot condition failed: ${e}:${n.id}`,a),!1}}).slice().sort((n,a)=>n.order-a.order||n.id.localeCompare(a.id))}}const xe=[500,1e3,2e3,4e3,8e3,1e4];function on(i){return i instanceof Error?i.message:String(i)}function an(i){var t;const e=(t=i==null?void 0:i.response)==null?void 0:t.status;return typeof e=="number"?e:void 0}class rn extends Z{constructor(e){super(e,"connection",!0),this.state=te({status:"connecting",networkAvailable:typeof navigator>"u"?!0:navigator.onLine,generation:0,retryAttempt:0,changedAt:Date.now()}),this.running=!1,this.onOnline=()=>{this.state.networkAvailable=!0,this.reconnect()},this.onOffline=()=>{this.state.networkAvailable=!1,this.cancelRetry(),this.transition("disconnected","Browser reports that the network is offline.")}}start(){this.running=!0,De(this),window.addEventListener("online",this.onOnline),window.addEventListener("offline",this.onOffline),this.state.networkAvailable?this.probe():this.transition("disconnected")}stop(){this.running=!1,De(void 0),window.removeEventListener("online",this.onOnline),window.removeEventListener("offline",this.onOffline),this.cancelRetry()}requestStarted(){this.state.networkAvailable&&(this.state.status==="disconnected"||this.state.status==="degraded")&&this.transition("connecting")}requestSucceeded(){this.connected()}requestFailed(e){const t=an(e);t!==void 0&&t<500||this.fail(t===void 0?"disconnected":"degraded",e)}reconnect(){!this.running||!this.state.networkAvailable||(this.state.retryAttempt=0,this.transition("connecting"),this.cancelRetry(),this.probe())}transition(e,t){this.state.status===e&&this.state.lastError===t||(this.state.status=e,this.state.lastError=t,this.state.changedAt=Date.now())}connected(e){const t=this.state.status!=="connected";this.clearRetryTimer(),this.probeController&&this.probeController!==e&&(this.probeController.abort(),this.probeController=void 0),this.state.retryAttempt=0,this.transition("connected"),t&&(this.state.generation+=1,le.clearCache())}fail(e,t){this.running&&(this.transition(e,on(t)),this.scheduleRetry())}scheduleRetry(){if(!this.running||!this.state.networkAvailable||this.retryTimer)return;const e=++this.state.retryAttempt,t=xe[Math.min(e-1,xe.length-1)],n=t/2+Math.random()*(t/2);this.retryTimer=setTimeout(()=>{this.retryTimer=void 0,this.probe()},n)}cancelRetry(){var e;this.clearRetryTimer(),(e=this.probeController)==null||e.abort(),this.probeController=void 0}clearRetryTimer(){this.retryTimer&&clearTimeout(this.retryTimer),this.retryTimer=void 0}async probe(){if(!this.running||!this.state.networkAvailable||this.probeController)return;const e=this.probeController=new AbortController;this.transition("connecting");try{const t=await fetch(new URL("api/auth/status",document.baseURI),{method:"GET",cache:"no-store",credentials:"same-origin",headers:{"X-Requested-With":"XMLHttpRequest"},signal:e.signal});if(t.status>=500){const n=new Error(`Panel health probe failed with HTTP ${t.status}`);throw n.response={status:t.status},n}this.connected(e)}catch(t){e.signal.aborted||this.requestFailed(t)}finally{this.probeController===e&&(this.probeController=void 0)}}}async function ln(i){const e=st(Be),t=ut();e.use(t),e.use(dt()),i.plugin(Jt,{app:e,pinia:t}),i.plugin(Zt),i.plugin(sn),i.plugin(rn),i.plugin(Fe),i.plugin(Qt),i.plugin(en),i.plugin(tn);const n=await new Promise(m=>{i.inject(["vue","routes","slots","connection","ui","menus","actions","desktop"],o=>m(o))});let a=!1;return i.on("plugins/loaded",async()=>{const m=i.get("user");m?await m.restoreSession():await ne().updateUserInfo(),Se("Rendering Application..."),e.use(oe),e.mount("#app-mount-point"),a=!0}),i.on("dispose",()=>{a&&e.unmount()}),{app:e,ctx:n}}async function cn(){try{const{value:i}=await mt().execute();document.title=(i==null?void 0:i.pageTitle)||M("TXT_CODE_47ae8ee6")}catch(i){console.error("init appearance error:",i)}}const un={class:"page-404"},dn={class:"mt-24"},pn=W({__name:"Page404",setup(i){return(e,t)=>(p(),D("main",un,[S(s(z),{icon:"mdi-alert-circle-outline",size:"70"}),I("h2",dn,K(s(M)("TXT_CODE_fd63a181")),1)]))}});const mn=ae(pn,[["__scopeId","data-v-a615e511"]]);function hn(i){let e,t=!1;const n=typeof document>"u"?"/socket.io":new URL("socket.io",document.baseURI).pathname,a=()=>{t||(e==null||e.disconnect(),i.onState("connecting"),e=yt({path:n,transports:["websocket"],reconnection:!0,reconnectionAttempts:1/0,auth:o=>{i.getTicket().then(T=>o(T?{ticket:T}:{})).catch(()=>o({}))}}),e.on("connect",()=>i.onState("connected")),e.on("disconnect",()=>i.onState("degraded")),e.on("connect_error",()=>i.onState("degraded")),e.on("tasks/update",o=>i.onUpdate(o)),e.on("tasks/availability",o=>i.onAvailability(!!(o!=null&&o.unavailable))))},m=()=>{const o=e;e=void 0,o&&(o.removeAllListeners(),o.disconnect())};return{connect:a,disconnect:m,dispose(){t=!0,m()}}}const Me=(i,e)=>+(e.state==="running")-+(i.state==="running")||e.startedAt-i.startedAt,ce=Ie(()=>{const{state:i,isLogged:e}=ne(),t=B(!1),n=B([]),a=B(!1),m=B(!1),o=B(!1),T=B("degraded"),h=B(0),g=Y(()=>n.value.filter(O=>O.state==="running").length);let b=new Set,L=!1,E=0,P=0,f,k=!1,_,l,y;const c=()=>{clearTimeout(l),l=void 0},V=()=>{clearTimeout(y),y=void 0},j=()=>{l||!e.value||(l=setTimeout(()=>{l=void 0,e.value&&u({silent:!0}).finally(j)},t.value?5e3:15e3))},w=()=>{V(),!(T.value!=="connected"||!g.value)&&(y=setTimeout(()=>{y=void 0,T.value==="connected"&&g.value>0&&j()},15e3))},d=O=>{L&&O.some(F=>!b.has(F.id))&&h.value++,b=new Set(O.map(F=>F.id)),L=!0},r=O=>{P++;const F=(O.tasks||[]).map(q=>({...q,daemonId:O.daemonId,nodeName:O.nodeName}));n.value=[...n.value.filter(q=>q.daemonId!==O.daemonId),...F].sort(Me),a.value=!!O.unavailable,o.value=!1,d(n.value),c(),w()},A=O=>{T.value=O,O==="connected"?(c(),w(),u({silent:!0})):(V(),j())},R=()=>{E++,P++,f==null||f.abort(),f=void 0,k=!1,t.value=!1,n.value=[],a.value=o.value=m.value=!1,b=new Set,L=!1,v()},u=async({silent:O=!1}={})=>{var Ce,Ae;if(!e.value)return;if(f){k=!0;return}const F=E,q=P,He=(Ce=i.userInfo)==null?void 0:Ce.uuid,we=new AbortController;f=we,m.value=!O;try{const se=await le.subscribe({url:"/api/tasks/",signal:we.signal,errorAlert:!1});if(E!==F||P!==q||((Ae=i.userInfo)==null?void 0:Ae.uuid)!==He)return;n.value=((se==null?void 0:se.tasks)||[]).sort(Me),a.value=!!(se!=null&&se.unavailable),o.value=!1,d(n.value),w()}catch{E===F&&(o.value=!0)}finally{E===F&&(m.value=!1,f=void 0),k&&(k=!1,u({silent:!0}))}};Tt(()=>{e.value&&u({silent:!0})});const $=()=>{!e.value||_||(_=hn({getTicket:async()=>{const O=await le.subscribe({url:"/api/tasks/stream-ticket",forceRequest:!0,errorAlert:!1});return O==null?void 0:O.ticket},onUpdate:r,onAvailability:O=>{a.value=O},onState:A}),_.connect())},v=()=>{_==null||_.dispose(),_=void 0,c(),V(),T.value="degraded"};return{open:t,tasks:n,unavailable:a,loading:m,error:o,streamState:T,rippleKey:h,activeCount:g,refresh:u,reset:R,connect:$,disconnect:v,cancel:async O=>{await le.subscribe({url:"/api/tasks/cancel",method:"POST",data:{daemonId:O.daemonId,id:O.id}})},clear:async()=>{await le.subscribe({url:"/api/tasks/",method:"DELETE"})}}}),fn={class:"task-toolbar"},_n={class:"task-list","aria-live":"polite","aria-relevant":"additions removals"},vn={key:1,class:"task-empty"},gn={class:"task-heading"},bn=["title"],Tn={class:"task-info text-caption"},Sn={key:0},yn={key:0,class:"task-error text-caption"},kn=W({__name:"BackgroundTasksSidebar",props:{desktop:{type:Boolean}},setup(i){const e=i,{state:t,isLogged:n}=ne(),{open:a,tasks:m,unavailable:o,loading:T,error:h,refresh:g,reset:b,connect:L,disconnect:E,cancel:P,clear:f}=ce(),k=Y(()=>e.desktop?{class:"background-tasks-desktop"}:{modelValue:a.value,"onUpdate:modelValue":u=>{a.value=u},class:"background-tasks-drawer",location:"right",width:480,temporary:!0,floating:!0,disableRouteWatcher:!0,disableResizeWatcher:!0,touchless:!0,retainFocus:!0,captureFocus:!0,tag:"aside","aria-label":M("TXT_CODE_TASKS_TITLE")}),_=B(new Set),l=B(!1),y=B(!1),c=Y(()=>[...m.value].filter(u=>y.value||u.state==="running").sort((u,$)=>+($.state==="running")-+(u.state==="running")||$.startedAt-u.startedAt)),V={download:"TXT_CODE_TASKS_DOWNLOAD",modDownload:"TXT_CODE_TASKS_MOD_DOWNLOAD",upload:"TXT_CODE_TASKS_UPLOAD",uploadExtract:"TXT_CODE_TASKS_UPLOAD_EXTRACT",compress:"TXT_CODE_TASKS_COMPRESS",extract:"TXT_CODE_TASKS_EXTRACT",copy:"TXT_CODE_TASKS_COPY",move:"TXT_CODE_TASKS_MOVE",delete:"TXT_CODE_TASKS_DELETE",permissions:"TXT_CODE_TASKS_PERMISSIONS",preview:"TXT_CODE_TASKS_PREVIEW",restore:"TXT_CODE_TASKS_RESTORE",javaInstall:"TXT_CODE_TASKS_JAVA_INSTALL",imagePull:"TXT_CODE_TASKS_IMAGE_BUILD",instanceTask:"TXT_CODE_TASKS_INSTANCE"},j={running:"TXT_CODE_TASKS_RUNNING",completed:"TXT_CODE_TASKS_COMPLETED",failed:"TXT_CODE_TASKS_FAILED",cancelled:"TXT_CODE_TASKS_CANCELLED"},w=u=>({running:"primary",completed:"success",failed:"error",cancelled:"secondary"})[u.state],d=u=>u.state==="completed"?100:u.total>0?Math.min(100,Math.floor(u.current/u.total*100)):0,r=u=>u<1024?`${u} B`:u<1024**2?`${(u/1024).toFixed(1)} KB`:u<1024**3?`${(u/1024**2).toFixed(1)} MB`:`${(u/1024**3).toFixed(1)} GB`,A=async u=>{_.value.add(u.id);try{await P(u)}catch{}finally{_.value.delete(u.id)}},R=async()=>{l.value=!0;try{await f()}catch{}finally{l.value=!1}};return e.desktop?Re(()=>{g({silent:!0})}):(Te(()=>{var u;return[n.value,(u=t.userInfo)==null?void 0:u.uuid]},()=>{b(),y.value=!1,n.value&&L()},{immediate:!0}),it(()=>{E(),b()})),(u,$)=>(p(),x(Q(i.desktop?"div":s(Le)),lt(ct(k.value)),{default:C(()=>[S(s(Oe),{id:i.desktop?"background-tasks-desktop":"background-tasks-sidebar",title:s(M)("TXT_CODE_TASKS_TITLE"),class:"background-tasks-card",rounded:"0"},{title:C(()=>[re(K(s(M)("TXT_CODE_TASKS_TITLE"))+" ",1),s(o)&&!s(h)?(p(),x(s(be),{key:0,text:s(M)("TXT_CODE_TASKS_UNAVAILABLE"),location:"bottom"},{activator:C(({props:v})=>[S(s(z),G(v,{icon:"mdi-alert-circle-outline",size:"small",color:"warning",class:"ms-2","aria-label":s(M)("TXT_CODE_TASKS_UNAVAILABLE")}),null,16,["aria-label"])]),_:1},8,["text"])):N("",!0)]),append:C(()=>[S(s(J),{icon:"mdi-refresh",size:"small",variant:"text",loading:s(T),title:s(M)("TXT_CODE_TASKS_REFRESH"),"aria-label":s(M)("TXT_CODE_TASKS_REFRESH"),onClick:$[0]||($[0]=v=>s(g)())},null,8,["loading","title","aria-label"]),i.desktop?N("",!0):(p(),x(s(J),{key:0,icon:"mdi-close",size:"small",variant:"text",title:s(M)("TXT_CODE_TASKS_CLOSE"),"aria-label":s(M)("TXT_CODE_TASKS_CLOSE"),onClick:$[1]||($[1]=v=>a.value=!1)},null,8,["title","aria-label"]))]),default:C(()=>[I("div",fn,[S(s(ot),{modelValue:y.value,"onUpdate:modelValue":$[2]||($[2]=v=>y.value=v),class:"task-history-toggle",label:s(M)("TXT_CODE_TASKS_SHOW_FINISHED"),color:"primary",density:"compact","hide-details":""},null,8,["modelValue","label"]),y.value?(p(),x(s(J),{key:0,class:"ml-auto",size:"small",variant:"text",loading:l.value,disabled:!s(m).some(v=>v.state!=="running"),onClick:R},{default:C(()=>[re(K(s(M)("TXT_CODE_TASKS_CLEAR")),1)]),_:1},8,["loading","disabled"])):N("",!0)]),I("div",_n,[s(h)?(p(),x(s(at),{key:0,type:"warning",variant:"tonal",density:"compact",class:"mb-3"},{default:C(()=>[re(K(s(M)("TXT_CODE_TASKS_LOAD_ERROR")),1)]),_:1})):N("",!0),!c.value.length&&!s(T)?(p(),D("div",vn,[S(s(z),{icon:"mdi-clipboard-check-outline",size:"48",class:"mb-3"}),I("div",null,K(s(M)("TXT_CODE_TASKS_EMPTY")),1)])):N("",!0),(p(!0),D(X,null,H(c.value,v=>(p(),x(s(Oe),{key:`${v.daemonId}:${v.id}`,tag:"article",class:"task-item",variant:"flat",rounded:"xl"},{default:C(()=>[I("div",gn,[I("div",{class:"task-name",title:v.name.split(/[\\/]/).pop()},K(v.name.split(/[\\/]/).pop()||s(M)(V[v.kind]||"TXT_CODE_TASKS_INSTANCE")),9,bn),v.cancellable?(p(),x(s(J),{key:0,icon:"mdi-stop",size:"x-small",variant:"text",color:"error",loading:_.value.has(v.id),title:s(M)("TXT_CODE_TASKS_CANCEL"),"aria-label":s(M)("TXT_CODE_TASKS_CANCEL"),onClick:U=>A(v)},null,8,["loading","title","aria-label","onClick"])):N("",!0)]),I("div",Tn,[I("span",null,K(s(M)(V[v.kind]||"TXT_CODE_TASKS_INSTANCE"))+" · "+K(s(M)(j[v.state])),1),v.total>0?(p(),D("span",Sn,[re(K(d(v))+"%",1),["javaInstall","restore"].includes(v.kind)?N("",!0):(p(),D(X,{key:0},[re(" · "+K(r(v.current))+" / "+K(r(v.total)),1)],64))])):N("",!0)]),v.error?(p(),D("div",yn,K(v.error),1)):N("",!0),S(s(rt),{"model-value":d(v),color:w(v),height:"5",rounded:"",indeterminate:v.state==="running"&&!v.total,class:"mt-3"},null,8,["model-value","color","indeterminate"])]),_:2},1024))),128))])]),_:1},8,["id","title"])]),_:1},16))}});const Ue=ae(kn,[["__scopeId","data-v-eafec3fe"]]),wn=W({__name:"DesktopBackgroundTasks",setup(i){return(e,t)=>(p(),x(Ue,{desktop:""}))}}),Cn={render:()=>null},jn=["i18n","startup"];async function qn(i){const{app:e,ctx:t}=await ln(i);St(e),t.set("console",{root:Be}),t.desktop.view({id:"console:background-tasks",title:()=>M("TXT_CODE_TASKS_TITLE"),icon:"mdi-progress-clock",component:wn,initialWidth:540,initialHeight:600,condition:()=>ne().isLogged.value}),t.slots.register("shell.header.actions",{title:()=>M("TXT_CODE_TASKS_TITLE"),mdiIcon:"mdi-progress-clock",badge:()=>ce().activeCount.value||void 0,ripple:()=>ce().rippleKey.value,click:()=>{const{open:n,refresh:a}=ce();n.value=!n.value,n.value&&a({silent:!0})},desktopClick:()=>{ce().open.value=!1,t.desktop.open({id:"console:background-tasks",view:"console:background-tasks"})}},{id:"console:background-tasks-button",order:10,condition:()=>ne().isLogged.value}),t.slots.register("shell.overlay",Ue,{id:"console:background-tasks-sidebar"}),t.slots.register("shell.header.actions",{title:()=>ge().themeTitle.value,mdiIcon:()=>ge().themeIcon.value,taskbar:!1,click:()=>ge().cycleTheme()},{id:"console:theme-button",order:60}),t.routes.add({path:"/",name:"",component:Cn,meta:{mainMenu:!0,redirect:n=>(n==null?void 0:n.permission)===me.ADMIN?"/instances":n!=null&&n.permission&&n.permission>=me.USER?"/customer":"/login",permission:me.USER}}),t.routes.add({path:"/404",name:M("TXT_CODE_393c816c"),component:mn,meta:{permission:me.GUEST,mainMenu:!1}});try{Se("Initializing Appearance..."),await cn()}catch(n){console.error("Failed to initialize panel appearance:",n)}}export{qn as apply,jn as inject};
package/panel/plugin.json CHANGED
@@ -1,6 +1,4 @@
1
1
  {
2
- "id": "console",
3
- "version": "1.0.1",
4
2
  "backend": "backend/index.cjs",
5
- "frontend": "frontend/panel-plugin-console-6752ebd0.js"
3
+ "frontend": "frontend/panel-plugin-console-7a1ab09f.js"
6
4
  }
@@ -1,32 +0,0 @@
1
- /**
2
- * Copyright (c) 2014 The xterm.js authors. All rights reserved.
3
- * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
4
- * https://github.com/chjj/term.js
5
- * @license MIT
6
- *
7
- * Permission is hereby granted, free of charge, to any person obtaining a copy
8
- * of this software and associated documentation files (the "Software"), to deal
9
- * in the Software without restriction, including without limitation the rights
10
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11
- * copies of the Software, and to permit persons to whom the Software is
12
- * furnished to do so, subject to the following conditions:
13
- *
14
- * The above copyright notice and this permission notice shall be included in
15
- * all copies or substantial portions of the Software.
16
- *
17
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
23
- * THE SOFTWARE.
24
- *
25
- * Originally forked from (with the author's permission):
26
- * Fabrice Bellard's javascript vt100 for jslinux:
27
- * http://bellard.org/jslinux/
28
- * Copyright (c) 2011 Fabrice Bellard
29
- * The original design remains. The terminal itself
30
- * has been extended to include xterm CSI codes, among
31
- * other features.
32
- */.xterm[data-v-ee021fae]{position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus[data-v-ee021fae],.xterm[data-v-ee021fae]:focus{outline:none}.xterm .xterm-helpers[data-v-ee021fae]{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea[data-v-ee021fae]{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view[data-v-ee021fae]{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active[data-v-ee021fae]{display:block}.xterm .xterm-viewport[data-v-ee021fae]{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;right:0;left:0;top:0;bottom:0}.xterm .xterm-screen[data-v-ee021fae]{position:relative}.xterm .xterm-screen canvas[data-v-ee021fae]{position:absolute;left:0;top:0}.xterm .xterm-scroll-area[data-v-ee021fae]{visibility:hidden}.xterm-char-measure-element[data-v-ee021fae]{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm[data-v-ee021fae]{cursor:text}.xterm.enable-mouse-events[data-v-ee021fae]{cursor:default}.xterm.xterm-cursor-pointer[data-v-ee021fae]{cursor:pointer}.xterm.column-select.focus[data-v-ee021fae]{cursor:crosshair}.xterm .xterm-accessibility[data-v-ee021fae],.xterm .xterm-message[data-v-ee021fae]{position:absolute;left:0;top:0;bottom:0;right:0;z-index:10;color:transparent}.xterm .live-region[data-v-ee021fae]{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim[data-v-ee021fae]{opacity:.5}.xterm-underline[data-v-ee021fae]{text-decoration:underline}html[data-v-ee021fae]{color-scheme:light dark}body[data-v-ee021fae],html[data-v-ee021fae]{min-height:100%;margin:0;padding:0;overflow:hidden;background-color:var(--background-color);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}#app-mount-point[data-v-ee021fae]{width:100vw!important;max-width:100vw!important;height:100svh;overflow-y:auto;overflow-x:hidden;box-sizing:border-box;scrollbar-gutter:auto}#app-mount-point[data-v-ee021fae],.main-content.app-layout-sidebar-only[data-v-ee021fae]{scrollbar-width:none;-ms-overflow-style:none;scrollbar-color:transparent transparent}#app-mount-point[data-v-ee021fae]::-webkit-scrollbar,.main-content.app-layout-sidebar-only[data-v-ee021fae]::-webkit-scrollbar{width:0!important;height:0!important;display:none;background:transparent!important;border:0!important;box-shadow:none!important}#app-mount-point[data-v-ee021fae]::-webkit-scrollbar-thumb,#app-mount-point[data-v-ee021fae]::-webkit-scrollbar-track,.main-content.app-layout-sidebar-only[data-v-ee021fae]::-webkit-scrollbar-thumb,.main-content.app-layout-sidebar-only[data-v-ee021fae]::-webkit-scrollbar-track{background:transparent!important;border:0!important;box-shadow:none!important}html[data-v-ee021fae],body[data-v-ee021fae]{scrollbar-width:none;-ms-overflow-style:none;scrollbar-color:transparent transparent}html[data-v-ee021fae]::-webkit-scrollbar,body[data-v-ee021fae]::-webkit-scrollbar,html[data-v-ee021fae]::-webkit-scrollbar-thumb,body[data-v-ee021fae]::-webkit-scrollbar-thumb,html[data-v-ee021fae]::-webkit-scrollbar-track,body[data-v-ee021fae]::-webkit-scrollbar-track{width:0!important;height:0!important;background:transparent!important;border:0!important;box-shadow:none!important}#app-mount-point[data-v-ee021fae]:has(.app-layout-sidebar-only){overflow-y:hidden;scrollbar-gutter:auto}.global-text-color[data-v-ee021fae]{color:var(--text-color)!important}.vuetify-toast[data-v-ee021fae]{position:fixed;top:0;right:0;bottom:0;left:0;padding:0;margin:16px;margin-inline-end:calc(16px + var(--v-scrollbar-offset, 0px))}.vuetify-toast .v-snackbar__content[data-v-ee021fae]{min-width:0;overflow-wrap:anywhere}.vuetify-toast .v-snackbar__actions[data-v-ee021fae]{display:none}.v-field[data-v-ee021fae]{background-color:rgb(var(--v-theme-field-surface));box-shadow:none!important}.v-field[data-v-ee021fae],.v-field__input[data-v-ee021fae],.v-field__input input[data-v-ee021fae],.v-field__input textarea[data-v-ee021fae],.v-field-label[data-v-ee021fae],.v-select__selection-text[data-v-ee021fae],.v-autocomplete__selection-text[data-v-ee021fae],.v-combobox__selection-text[data-v-ee021fae],.v-field__prepend-inner>.v-icon[data-v-ee021fae],.v-field__append-inner>.v-icon[data-v-ee021fae]{color:var(--text-color)!important}.v-field__input input[data-v-ee021fae]::placeholder,.v-field__input textarea[data-v-ee021fae]::placeholder{color:var(--text-color)!important;opacity:.55!important}.v-btn--variant-text[data-v-ee021fae]:not([class*=text-]):not([class*=bg-]),.v-btn--variant-plain[data-v-ee021fae]:not([class*=text-]):not([class*=bg-]),.v-btn--variant-tonal[data-v-ee021fae]:not([class*=text-]):not([class*=bg-]),.v-btn--variant-outlined[data-v-ee021fae]:not([class*=text-]):not([class*=bg-]){color:var(--text-color)!important}.v-field[data-v-ee021fae]:before,.v-field[data-v-ee021fae]:after,.v-field__outline[data-v-ee021fae]{display:none!important}.global-bg-color[data-v-ee021fae]{background-color:var(--background-color)!important}.global-card-container-shadow[data-v-ee021fae]{border-radius:var(--app-dialog-radius)}.v-table>.v-table__wrapper[data-v-ee021fae]{margin-inline:var(--app-list-inset)}.v-table>.v-divider[data-v-ee021fae]:not(.v-divider--vertical),.v-list .v-divider[data-v-ee021fae]:not(.v-divider--vertical){margin-inline:var(--app-list-inset);max-width:calc(100% - var(--app-list-inset) * 2)}.v-data-table:not(.v-table--density-compact) tbody>tr>td[data-v-ee021fae]{padding-block:10px}.global-action-float-enter-active[data-v-ee021fae],.global-action-float-leave-active[data-v-ee021fae]{transition:all .4s ease;opacity:1!important;transform:scale(1);position:absolute}.global-action-float-enter-from[data-v-ee021fae],.global-action-float-leave-to[data-v-ee021fae]{opacity:0!important;transform:scale(.96);position:absolute}.global-app-container[data-v-ee021fae]{display:flex;flex-direction:column;max-width:var(--app-max-width);height:100svh;margin:auto}.global-app-container[data-v-ee021fae]:has(.app-layout-sidebar-only){max-width:100%}.app-shell-content[data-v-ee021fae]{flex:1 1 auto;min-height:0}.app-shell-content--sidebar[data-v-ee021fae]{display:flex;min-width:0}.app-sidebar-shell[data-v-ee021fae]{flex:0 0 240px;width:240px;min-width:0;height:100%;overflow:hidden;transition:width .24s cubic-bezier(.4,0,.2,1),flex-basis .24s cubic-bezier(.4,0,.2,1)}.app-sidebar-shell--collapsed[data-v-ee021fae]{flex-basis:72px;width:72px}@media (prefers-reduced-motion: reduce){.app-sidebar-shell[data-v-ee021fae]{transition:none}}.app-layout-sidebar-only[data-v-ee021fae]{overflow-y:auto;overflow-x:hidden;scrollbar-gutter:auto}.app-layout-sidebar-only .breadcrumbs[data-v-ee021fae],.app-layout-sidebar-only .main-layout-container[data-v-ee021fae],.app-layout-sidebar-only .plugin-config-page[data-v-ee021fae]{margin:0 auto;width:calc(100% - 48px)!important;max-width:var(--app-max-width)!important}.app-layout-sidebar-only .main-layout-container[data-v-ee021fae]{box-sizing:border-box;padding-left:12px;padding-right:12px}.app-layout-sidebar-only .main-layout-container>.v-row[data-v-ee021fae]{width:100%;margin-left:0!important;margin-right:0!important}.main-content.app-layout-sidebar-only[data-v-ee021fae]{flex:1 1 auto;min-width:0;box-sizing:border-box;margin-left:auto;margin-right:auto;width:100%}@media (max-width: 1400px){.global-app-container[data-v-ee021fae]{margin:0 24px}.global-app-container[data-v-ee021fae]:has(.app-layout-sidebar-only){margin:0}}@media (max-width: 992px){.global-app-container[data-v-ee021fae]{margin:0 0 60px}.global-app-container[data-v-ee021fae]:has(>.app-header-content-for-phone){box-sizing:border-box;padding-top:60px}.app-shell-content[data-v-ee021fae]{margin:0 12px}}.global-markdown-html img[data-v-ee021fae]{border:0;border-radius:12px;width:100%;height:100%;object-fit:cover;aspect-ratio:16/9}.global-markdown-html ul[data-v-ee021fae],.global-markdown-html ol[data-v-ee021fae]{margin-left:0;padding-left:16px}.global-markdown-html .app-dark-theme img[data-v-ee021fae]{filter:brightness(.7)}.global-markdown-html blockquote[data-v-ee021fae],.global-markdown-html pre[data-v-ee021fae]{background-color:var(--color-gray-3);padding:8px}.global-markdown-html blockquote p[data-v-ee021fae],.global-markdown-html pre p[data-v-ee021fae]{margin:0}.global-markdown-html table[data-v-ee021fae]{width:100%;margin-bottom:10px}.global-markdown-html table tbody[data-v-ee021fae]{width:100%}.global-markdown-html table td[data-v-ee021fae],.global-markdown-html table th[data-v-ee021fae]{text-align:center;padding:8px;border:1px solid var(--color-gray-4)}.global-markdown-html table th[data-v-ee021fae]{background-color:var(--color-gray-2)}[data-v-ee021fae]:root{--app-dialog-radius: 24px;--app-list-inset: 16px}.v-dialog>.v-overlay__content[data-v-ee021fae]{border-radius:var(--app-dialog-radius)!important}.v-dialog:not(.v-dialog--fullscreen):not(.v-bottom-sheet)>.v-overlay__content>.v-card[data-v-ee021fae],.v-dialog:not(.v-dialog--fullscreen):not(.v-bottom-sheet)>.v-overlay__content>.v-sheet[data-v-ee021fae],.v-dialog:not(.v-dialog--fullscreen):not(.v-bottom-sheet)>.v-overlay__content>form>.v-card[data-v-ee021fae]{max-width:calc(100vw - 48px)}.v-bottom-sheet>.v-overlay__content>.v-card[data-v-ee021fae],.v-bottom-sheet>.v-overlay__content>form>.v-card[data-v-ee021fae],.v-overlay__content.v-bottom-sheet__content>.v-card[data-v-ee021fae],.v-overlay__content.v-bottom-sheet__content>form>.v-card[data-v-ee021fae]{border-radius:var(--app-dialog-radius) var(--app-dialog-radius) 0 0!important}.v-overlay__content>.v-card[data-v-ee021fae],.v-overlay__content>.v-sheet[data-v-ee021fae]{border-radius:inherit!important}.main-layout-container>.v-row[data-v-ee021fae]{width:100%;margin-left:0!important;margin-right:0!important}.main-layout-container[data-v-ee021fae]{min-width:0}.v-tooltip>.v-overlay__content[data-v-ee021fae]{background:#262626!important;color:#fff!important;border-radius:8px;box-shadow:0 4px 12px #00000047}#top-progress-bar[data-v-ee021fae]{pointer-events:none;position:fixed;z-index:9999;top:0;left:0;width:0%;height:3px;background:#2982ff;opacity:0;transition:width .3s ease,opacity .4s ease}#top-progress-bar.active[data-v-ee021fae]{opacity:1}[data-v-ee021fae]::-webkit-scrollbar{width:8px;height:8px}[data-v-ee021fae]::-webkit-scrollbar-thumb{border-radius:4px;box-shadow:inset 0 0 5px #45454515;background:rgba(116,113,113,.4039215686)}[data-v-ee021fae]::-webkit-scrollbar-track{border-radius:4px;background:transparent}.v-btn.v-tab[data-v-ee021fae]{overflow:visible!important}.v-btn.v-tab>.v-btn__overlay[data-v-ee021fae],.v-btn.v-tab>.v-btn__underlay[data-v-ee021fae]{border-radius:inherit}.v-btn.v-tab .v-tab__slider[data-v-ee021fae]{z-index:1;height:4px!important;background:transparent!important}.v-btn.v-tab .v-tab__slider[data-v-ee021fae]:after{position:absolute;top:0;left:50%;width:40%;height:4px;border-radius:4px 4px 0 0;background-color:currentColor;content:"";transform:translate(-50%)}.package-card-content[data-v-ee021fae]{display:flex;flex-direction:column;gap:10px;justify-content:space-between;height:100%;transition:all .3s ease}.package-image-container[data-v-ee021fae]{overflow:hidden;border-radius:12px}.package-info[data-v-ee021fae]{flex:1}.package-action[data-v-ee021fae]{display:flex;justify-content:center}.download-button[data-v-ee021fae]{margin:0 auto;transition:all .3s ease;max-width:140px}.package-image[data-v-ee021fae]{-webkit-user-select:none;user-select:none;position:relative;height:100%;width:100%;object-fit:cover;height:160px;background-color:var(--color-gray-1)}.v-card:hover .download-button[data-v-ee021fae]{transform:scale(1.08);box-shadow:0 8px 20px #1890ff66,0 0 15px #1890ff33;background:linear-gradient(45deg,#1890ff,#40a9ff);border:none;animation:pulse-glow-ee021fae 2s infinite}.package-subtitle[data-v-ee021fae]{cursor:pointer;background-color:var(--card-bottom-background-color);color:#fff!important;padding:8px;font-size:14px!important;font-weight:400!important;position:absolute;bottom:0;left:0;right:0;width:100%;text-align:center;z-index:1;margin:0}.package-image-container-summary[data-v-ee021fae]{position:relative}.selected[data-v-ee021fae]{box-shadow:inset 0 0 0 1px var(--color-blue-6)!important;-webkit-user-select:none;user-select:none;transition:all .3s}.selected[data-v-ee021fae]:hover{box-shadow:inset 0 0 0 1.5px var(--color-blue-6)}@keyframes pulse-glow-ee021fae{0%,to{box-shadow:0 8px 20px #1890ff66,0 0 15px #1890ff33}50%{box-shadow:0 8px 25px #1890ff99,0 0 25px #1890ff66}}.compact-btn-right[data-v-ee021fae]{border-top-left-radius:0!important;border-bottom-left-radius:0!important}.compact-btn-left[data-v-ee021fae]{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.v-menu>.v-overlay__content[data-v-ee021fae],.v-select__content[data-v-ee021fae],.v-autocomplete__content[data-v-ee021fae],.v-combobox__content[data-v-ee021fae]{overflow:hidden;border-radius:16px!important;background-color:rgb(var(--v-theme-surface))!important;color:var(--text-color)!important}.v-menu .v-list[data-v-ee021fae],.v-select__content .v-list[data-v-ee021fae],.v-autocomplete__content .v-list[data-v-ee021fae],.v-combobox__content .v-list[data-v-ee021fae]{margin:0;padding:8px!important;background-color:rgb(var(--v-theme-surface))!important;border-radius:inherit!important;color:var(--text-color)!important}.v-menu .v-list-item[data-v-ee021fae],.v-select__content .v-list-item[data-v-ee021fae],.v-autocomplete__content .v-list-item[data-v-ee021fae],.v-combobox__content .v-list-item[data-v-ee021fae]{border-radius:8px!important;margin-bottom:2px!important}.v-menu .v-list-item__overlay[data-v-ee021fae],.v-menu .v-list-item__underlay[data-v-ee021fae],.v-select__content .v-list-item__overlay[data-v-ee021fae],.v-select__content .v-list-item__underlay[data-v-ee021fae],.v-autocomplete__content .v-list-item__overlay[data-v-ee021fae],.v-autocomplete__content .v-list-item__underlay[data-v-ee021fae],.v-combobox__content .v-list-item__overlay[data-v-ee021fae],.v-combobox__content .v-list-item__underlay[data-v-ee021fae]{border-radius:inherit}.v-menu .v-list.v-list--navigable .v-list-item__overlay[data-v-ee021fae],.v-select__content .v-list.v-list--navigable .v-list-item__overlay[data-v-ee021fae],.v-autocomplete__content .v-list.v-list--navigable .v-list-item__overlay[data-v-ee021fae],.v-combobox__content .v-list.v-list--navigable .v-list-item__overlay[data-v-ee021fae]{transition:.2s ease-in-out;transition-property:opacity,color}.v-menu .v-list-item[data-v-ee021fae]:last-child,.v-select__content .v-list-item[data-v-ee021fae]:last-child,.v-autocomplete__content .v-list-item[data-v-ee021fae]:last-child,.v-combobox__content .v-list-item[data-v-ee021fae]:last-child{margin-bottom:0!important}:is(.v-select__content[data-v-ee021fae],.v-autocomplete__content[data-v-ee021fae],.v-combobox__content[data-v-ee021fae]){max-width:min(420px,100vw - 32px)}:is(.v-select__content[data-v-ee021fae],.v-autocomplete__content[data-v-ee021fae],.v-combobox__content[data-v-ee021fae]) :is(.v-list-item,.v-list-item-title,.v-list-item-subtitle,.v-icon){color:var(--text-color)!important}.padding[data-v-ee021fae]{padding:16px}.card-panel[data-v-ee021fae]{border:none;background-color:var(--background-color-white);display:flex;flex-direction:column;position:relative}.card-panel .card-panel-title[data-v-ee021fae]{font-weight:600;color:var(--text-color);display:flex;justify-content:space-between;align-items:center;margin-top:0;margin-bottom:8px}.card-panel .card-panel-heading[data-v-ee021fae]{margin:0;font-size:1rem;line-height:1.5}.card-panel .card-panel-content[data-v-ee021fae]{flex-grow:1;color:var(--text-color);position:relative}.card-panel-content[data-v-ee021fae]{overflow:hidden;zoom:1;word-break:break-all}
@@ -1 +0,0 @@
1
- .action-btn-item[data-v-b450c31d]{padding:20px 12px;border:1px solid var(--color-gray-3);background-color:var(--color-gray-2);cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .4s;border-radius:6px}.action-btn-item[data-v-b450c31d]:hover{border:1px solid var(--color-gray-8);box-shadow:0 2px 4px #00000029}@keyframes global-fade-up-animation{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}.dialog-overflow-container[data-v-e25850c2],.dialog-overflow-container[data-v-508edf34]{max-height:600px;overflow-y:auto}.flex-center[data-v-508edf34]{display:flex;align-items:center}.flex-between[data-v-508edf34]{justify-content:space-between}.desc[data-v-0b9b58f7]{margin-bottom:16px}.cards[data-v-0b9b58f7]{display:flex;align-items:stretch;gap:12px}.choose-card[data-v-0b9b58f7]{flex:1;transition:all .2s ease}.choose-card[data-v-0b9b58f7]:hover{transform:translateY(-2px)}.card-action[data-v-0b9b58f7]{margin-top:16px;text-align:right}.node-select-description[data-v-5c842fdd]{margin-bottom:16px}.node-select-container[data-v-5c842fdd]{max-height:600px;overflow-y:auto;padding-right:4px}.node-select-container .node-grid[data-v-5c842fdd]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.node-select-container .node-item[data-v-5c842fdd]{cursor:pointer;padding:12px;border-radius:8px;transition:all .3s ease;background-color:var(--color-gray-2);border:1px solid var(--color-gray-3)}.node-select-container .node-item[data-v-5c842fdd]:hover{background-color:var(--color-gray-4);border-color:var(--color-gray-5)}.node-select-container .node-item.node-unsupported[data-v-5c842fdd]{border-color:var(--color-warning);background-color:var(--color-warning-bg, rgba(255, 193, 7, .1))}.node-select-container .node-item .node-content .node-header[data-v-5c842fdd]{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.node-select-container .node-item .node-content .node-header .node-name[data-v-5c842fdd]{font-weight:600;color:var(--color-gray-10);flex:1;margin-right:8px}.node-select-container .node-item .node-content .node-header .node-tags[data-v-5c842fdd]{display:flex;gap:4px;align-items:center}.node-select-container .node-item .node-content .node-details[data-v-5c842fdd]{display:flex;flex-direction:column;gap:4px;color:var(--color-gray-8);font-size:12px}.node-select-container .node-item .node-content .node-details .node-warning-text[data-v-5c842fdd]{color:var(--color-warning, #faad14);font-weight:500}.select-instances-content[data-v-a947b6d2]{min-height:0}.select-instances-help[data-v-a947b6d2]{margin:0 0 16px}.select-instances-toolbar[data-v-a947b6d2],.select-instances-search[data-v-a947b6d2],.select-instances-summary[data-v-a947b6d2],.select-instances-pagination[data-v-a947b6d2]{display:flex;align-items:center}.select-instances-toolbar[data-v-a947b6d2]{justify-content:space-between;gap:12px;margin-bottom:12px}.select-instances-search[data-v-a947b6d2]{min-width:0;flex:1;justify-content:flex-end;gap:8px}.status-select[data-v-a947b6d2]{flex:0 0 120px}.select-instances-summary[data-v-a947b6d2]{justify-content:space-between;gap:12px;margin-bottom:8px;color:var(--text-color);font-size:13px}.select-instances-pagination[data-v-a947b6d2]{min-width:0;gap:8px}.page-size-select[data-v-a947b6d2]{width:90px}.select-instances-table[data-v-a947b6d2]{background:transparent}@media (max-width: 700px){.select-instances-toolbar[data-v-a947b6d2],.select-instances-summary[data-v-a947b6d2]{align-items:stretch;flex-direction:column}.select-instances-search[data-v-a947b6d2],.select-instances-pagination[data-v-a947b6d2]{width:100%}.select-instances-pagination[data-v-a947b6d2]{justify-content:space-between}}.tag-container[data-v-383de9de]{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.tags-dialog__content[data-v-383de9de]{padding:8px 24px 16px}.tags-dialog__section+.tags-dialog__section[data-v-383de9de]{margin-top:24px}.tags-dialog__label[data-v-383de9de],.tags-dialog__hint[data-v-383de9de]{margin:0}.tags-dialog__label[data-v-383de9de]{color:rgb(var(--v-theme-on-surface));font-weight:500}.tags-dialog__hint[data-v-383de9de]{color:rgba(var(--v-theme-on-surface),.6);line-height:1.5}.tags-dialog__label+.tags-dialog__hint[data-v-383de9de]{margin-top:4px;margin-bottom:10px}.tag-item[data-v-383de9de]{margin:0}.tag-input[data-v-383de9de]{flex:0 0 100px;max-width:100px}.tag-add[data-v-383de9de]{min-width:0}.tag-option[data-v-383de9de]{cursor:pointer}.tags-dialog__actions[data-v-383de9de]{padding:8px 16px 12px 24px}.msl-attribution[data-v-3ce82445]{display:inline-flex;align-items:center;gap:8px;margin-top:12px;color:rgb(var(--v-theme-primary));font-size:13px;text-decoration:none}.msl-attribution[data-v-3ce82445]:hover{text-decoration:underline}.msl-attribution img[data-v-3ce82445]{object-fit:contain}.desktop-create-form[data-v-03863c93]{display:flex;flex-direction:column;gap:8px}.create-form-actions[data-v-03863c93]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:24px}.create-form-actions[data-v-03863c93]>.v-btn{flex-shrink:0}.desktop-create-hint[data-v-03863c93]{color:rgba(var(--v-theme-on-surface),.68);line-height:1.5}.desktop-create-switch[data-v-03863c93]{display:flex;align-items:center;justify-content:space-between}.create-instance-page[data-v-da7e9eb3]{box-sizing:border-box;width:100%;max-width:var(--app-max-width);margin:0 auto;padding:0 24px 20px}.create-instance-page--embedded[data-v-da7e9eb3]{max-width:none;min-height:100%;padding:0}.create-instance-card[data-v-da7e9eb3]{overflow:hidden;background:transparent}.step-heading p[data-v-da7e9eb3]{margin:6px 0 0;color:var(--desktop-window-text-secondary, rgba(var(--v-theme-on-surface), .68));line-height:1.5}.create-instance-stepper[data-v-da7e9eb3],.create-instance-stepper[data-v-da7e9eb3] .v-stepper-header,.create-instance-stepper[data-v-da7e9eb3] .v-stepper-window{background:transparent;box-shadow:none!important}.step-content[data-v-da7e9eb3]{padding:20px 28px 28px}.step-content--form[data-v-da7e9eb3]{max-width:980px;margin:0 auto}.step-heading[data-v-da7e9eb3]{margin-bottom:24px}.step-heading h2[data-v-da7e9eb3]{margin:0;color:var(--desktop-window-text, rgb(var(--v-theme-on-surface)));font-size:18px;font-weight:600}.method-card[data-v-da7e9eb3],.node-card[data-v-da7e9eb3]{height:100%;cursor:pointer;transition:border-color .2s ease,background-color .2s ease,transform .2s ease}.method-card[data-v-da7e9eb3]:hover,.node-card[data-v-da7e9eb3]:hover{transform:translateY(-2px)}.method-card[data-v-da7e9eb3]{border:0!important;background-color:var(--desktop-window-titlebar-bg, rgba(var(--v-theme-surface-variant), .72))!important;box-shadow:none!important;transition:background-color .2s ease}.method-card[data-v-da7e9eb3]:hover{transform:none;background-color:var(--desktop-window-control-hover, rgba(var(--v-theme-surface-variant), .88))!important;box-shadow:none!important}.method-card .v-card-text[data-v-da7e9eb3]{display:flex;min-height:190px;flex-direction:column;align-items:flex-start;padding:24px}.method-card h3[data-v-da7e9eb3]{margin:18px 0 8px;color:var(--desktop-window-text, rgb(var(--v-theme-on-surface)));font-size:16px}.method-card p[data-v-da7e9eb3]{flex:1;margin:0;color:var(--desktop-window-text-secondary, rgba(var(--v-theme-on-surface), .68));font-size:13px;line-height:1.55;white-space:pre-line}.method-card-action[data-v-da7e9eb3]{margin:14px -8px -8px}.node-card.node-card--selected[data-v-da7e9eb3]{background-color:rgba(var(--v-theme-primary),.16)!important}.node-card[data-v-da7e9eb3]{border:0!important;background-color:var(--desktop-window-titlebar-bg, rgba(var(--v-theme-surface-variant), .72))!important;box-shadow:none!important;transition:background-color .2s ease}.node-card[data-v-da7e9eb3]:hover{transform:none;background-color:var(--desktop-window-control-hover, rgba(var(--v-theme-surface-variant), .88))!important;box-shadow:none!important}.node-card.node-card--selected[data-v-da7e9eb3]:hover{background-color:rgba(var(--v-theme-primary),.22)!important}.node-card-header[data-v-da7e9eb3]{display:flex;align-items:center;justify-content:space-between;gap:12px}.node-card-title[data-v-da7e9eb3]{display:flex;min-width:0;align-items:center;gap:8px;color:var(--desktop-window-text, rgb(var(--v-theme-on-surface)));font-weight:600;overflow-wrap:anywhere}.node-card-details[data-v-da7e9eb3]{display:flex;flex-direction:column;gap:4px;margin-top:14px;color:var(--desktop-window-text-secondary, rgba(var(--v-theme-on-surface), .68));font-size:12px}.node-empty-content[data-v-da7e9eb3]{display:flex;align-items:center;justify-content:space-between;gap:12px}.step-actions[data-v-da7e9eb3]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:28px}@media (max-width: 992px){.create-instance-page[data-v-da7e9eb3]{padding:0 12px 80px}.step-content[data-v-da7e9eb3]{padding-right:16px;padding-left:16px}}@media (min-width: 993px){.create-instance-page--embedded .step-content[data-v-da7e9eb3]{padding-right:24px;padding-left:24px}}.instance-list-page[data-v-55ea8d42]{width:100%;min-height:100%;overflow-x:hidden}.instance-list-container[data-v-55ea8d42]{max-width:var(--app-max-width);margin:0 auto;padding:20px 24px 32px}.instance-actions-row[data-v-55ea8d42]{margin:0}.instance-search-row[data-v-55ea8d42]{display:flex;width:100%;gap:8px}.instance-search-row .v-select[data-v-55ea8d42]{max-width:150px}.instance-search-row .v-text-field[data-v-55ea8d42]{min-width:0;flex:1}.batch-actions[data-v-55ea8d42]{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:8px}.pagination-wrap[data-v-55ea8d42]{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.node-name[data-v-55ea8d42]{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-count[data-v-55ea8d42]{color:var(--color-gray-7);font-size:13px}.page-size-select[data-v-55ea8d42]{width:90px}.tag-row[data-v-55ea8d42]{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 16px}.state-container[data-v-55ea8d42]{display:flex;min-height:360px;align-items:center;justify-content:center}.instance-empty[data-v-55ea8d42]{min-height:38vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:48px 24px;text-align:center;color:var(--color-gray-7)}.instance-empty-icon[data-v-55ea8d42]{margin-bottom:8px;color:var(--color-gray-6)}.instance-empty-title[data-v-55ea8d42]{color:var(--color-gray-8);font-size:1rem;font-weight:600}.instance-empty-text[data-v-55ea8d42]{max-width:460px;color:var(--color-gray-7);font-size:.875rem;line-height:1.5}.instance-grid>.v-col[data-v-55ea8d42]{display:flex}.instance-card[data-v-55ea8d42]{display:flex;width:100%;flex:1 1 auto;min-height:220px;cursor:pointer;background:var(--background-color-white);transition:background-color .2s ease;flex-direction:column}.instance-card[data-v-55ea8d42]:hover,.instance-card.selected[data-v-55ea8d42]{background:rgba(var(--v-theme-primary),.07)}.instance-card-title[data-v-55ea8d42]{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:22px 22px 12px}.instance-card-heading[data-v-55ea8d42]{display:flex;min-width:0;flex:1 1 120px;align-items:center;gap:8px}.instance-name[data-v-55ea8d42]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.instance-card-meta[data-v-55ea8d42]{display:flex;min-width:0;max-width:100%;flex:0 1 auto;align-items:center;gap:8px}.instance-card-status-divider[data-v-55ea8d42]{height:20px}.instance-card-tags[data-v-55ea8d42]{display:flex;min-width:0;flex:0 1 auto;flex-wrap:wrap;justify-content:flex-end;gap:4px}.instance-card-content[data-v-55ea8d42]{flex:1 1 auto;display:flex;flex-direction:column;gap:8px;padding:12px 22px}.instance-detail[data-v-55ea8d42]{display:flex;justify-content:space-between;gap:12px;color:var(--color-gray-7);font-size:13px}.instance-detail strong[data-v-55ea8d42]{overflow:hidden;color:var(--text-color);font-weight:500;text-overflow:ellipsis;white-space:nowrap}.instance-card-actions[data-v-55ea8d42]{min-height:0;margin-top:-4px;justify-content:flex-end;flex-wrap:wrap;gap:2px;padding:0 16px 12px}.instance-card-actions[data-v-55ea8d42] .v-btn .v-icon{font-size:17px}@media (max-width: 992px){.instance-list-container[data-v-55ea8d42]{padding:16px 12px 28px}.pagination-wrap[data-v-55ea8d42]{justify-content:flex-start}}.event-config-form[data-v-4eaf0298]{display:flex;flex-direction:column;gap:20px}.event-config-section[data-v-4eaf0298]{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.event-config-title[data-v-4eaf0298]{color:var(--text-color);font-size:16px;font-weight:600}.event-config-description[data-v-4eaf0298]{color:var(--color-gray-7);font-size:13px;line-height:1.6}.event-config-number[data-v-4eaf0298]{width:220px}.field-title[data-v-d2d20783],.section-title[data-v-d2d20783]{color:var(--text-color);font-size:15px;font-weight:600;margin-bottom:8px}.cursor-pointer[data-v-d2d20783]{cursor:pointer}.template-cover[data-v-d2d20783]{height:180px;overflow:hidden;border-radius:12px;background:rgb(var(--v-theme-surface-variant))}.template-cover-placeholder[data-v-d2d20783]{height:100%;display:flex;align-items:center;justify-content:center;color:rgba(var(--v-theme-on-surface-variant),.5)}.field-block[data-v-74ae8a5b]{margin-top:16px}.field-title[data-v-74ae8a5b]{font-weight:600;margin-bottom:4px}.field-help[data-v-74ae8a5b]{color:var(--color-gray-7);font-size:13px;margin-bottom:6px}.instance-console-page[data-v-fc0da77e]{width:100%;min-height:100%;overflow-x:hidden}.instance-console-container[data-v-fc0da77e]{max-width:var(--app-max-width);margin:0 auto;padding:12px 24px 32px}.console-toolbar[data-v-fc0da77e]{min-height:64px;padding:0}.console-title[data-v-fc0da77e]{display:flex;flex-direction:column;min-width:0;line-height:1.25}.console-title strong[data-v-fc0da77e]{overflow:hidden;color:var(--text-color);text-overflow:ellipsis;white-space:nowrap}.console-title span[data-v-fc0da77e]{color:var(--color-gray-7);font-size:12px}.console-status[data-v-fc0da77e]{margin-inline-start:12px}.console-actions[data-v-fc0da77e]{display:flex;align-items:center;gap:6px}.console-card[data-v-fc0da77e]{background:var(--background-color-white)}.console-card-content[data-v-fc0da77e]{--console-card-padding: 12px;padding:var(--console-card-padding)}.console-card-content[data-v-fc0da77e] .command-input .v-field{border-radius:calc(var(--app-dialog-radius) - var(--console-card-padding))}.console-function-card[data-v-fc0da77e]{height:100%;margin-top:0;background:var(--background-color-white)}.console-state-card[data-v-fc0da77e]{margin-top:16px;margin-bottom:20px;background:var(--background-color-white)}.console-state-row[data-v-fc0da77e]{--console-state-card-height: 132px;margin-top:16px;margin-bottom:20px}.console-state-row>.v-col[data-v-fc0da77e]{display:flex;min-height:0}.console-state-row .console-state-card[data-v-fc0da77e],.command-history-card[data-v-fc0da77e]{display:flex;min-height:0;height:var(--console-state-card-height);max-height:var(--console-state-card-height);width:100%;margin:0;flex-direction:column}.console-state-title[data-v-fc0da77e]{display:flex;align-items:center;padding:18px 20px 8px;color:var(--text-color);font-size:16px}.console-state-content[data-v-fc0da77e]{display:flex;flex:1 1 auto;min-width:0;min-height:0;align-items:center;overflow:hidden;padding:10px 20px 20px}.console-state-metrics[data-v-fc0da77e]{min-width:0;flex:1 1 auto;overflow-x:auto;overflow-y:hidden}.console-state-metrics[data-v-fc0da77e] .perf-cards{flex-wrap:nowrap}.console-state-metrics[data-v-fc0da77e] .perf-card{width:150px;flex:0 0 150px}.console-state-empty[data-v-fc0da77e]{color:var(--color-gray-6);font-size:13px}.command-history-title[data-v-fc0da77e]{display:flex;align-items:center;padding:18px 20px 8px;color:var(--text-color);font-size:16px}.command-history-content[data-v-fc0da77e]{display:flex;flex:1 1 auto;min-height:0;overflow:hidden;padding:10px 20px 20px}.command-history-list[data-v-fc0da77e]{display:flex;flex:1 1 auto;flex-wrap:wrap;align-items:flex-start;gap:8px;min-height:0;width:100%;overflow-y:auto}.command-history-item[data-v-fc0da77e]{max-width:100%;cursor:pointer}.command-history-item[data-v-fc0da77e] .v-chip__content{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.console-function-column[data-v-fc0da77e]{order:2}.console-basic-column[data-v-fc0da77e]{order:1}.console-function-title[data-v-fc0da77e]{display:flex;align-items:center;padding:18px 20px 8px;color:var(--text-color);font-size:16px}.console-function-item[data-v-fc0da77e]{height:100%;cursor:pointer;background:var(--color-gray-2);transition:background-color .2s ease}.console-function-item[data-v-fc0da77e]:hover{background:rgba(var(--v-theme-primary),.07)}.console-function-item[data-v-fc0da77e] .v-card-text{display:flex;min-height:88px;align-items:center;gap:12px;padding:16px}.console-function-item span[data-v-fc0da77e]{min-width:0;flex:1;color:var(--text-color);font-size:14px;font-weight:500;overflow-wrap:anywhere}.console-function-arrow[data-v-fc0da77e]{color:var(--color-gray-7)}.summary-card[data-v-fc0da77e]{height:100%;background:var(--background-color-white)}.summary-card[data-v-fc0da77e] .v-card-title{display:flex;align-items:center;padding:18px 20px 8px;color:var(--text-color);font-size:16px}.summary-card[data-v-fc0da77e] .v-card-text{padding:10px 20px 20px}.info-list>div[data-v-fc0da77e]{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--color-gray-7);font-size:13px}.info-list .info-list-block[data-v-fc0da77e]{display:block}.info-list .info-list-identifiers[data-v-fc0da77e]{display:grid;grid-template-columns:auto minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px 12px}.encoding-list[data-v-fc0da77e]{display:flex;flex-direction:column;gap:8px;margin-top:4px}.encoding-list>div[data-v-fc0da77e]{display:flex;align-items:center;justify-content:space-between;gap:12px}.identifier-copy[data-v-fc0da77e]{display:flex;width:100%;min-width:0;justify-content:flex-start;gap:6px;padding-inline:4px;color:var(--text-color);text-transform:none}.identifier-copy[data-v-fc0da77e] .v-btn__content{display:flex;width:100%;min-width:0;align-items:center;justify-content:space-between;gap:6px;overflow:hidden}.identifier-copy .mono[data-v-fc0da77e]{min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis}.info-list-link[data-v-fc0da77e]{min-width:0;padding-inline:4px}.port-list[data-v-fc0da77e]{display:flex;flex-direction:column;gap:6px;margin-top:8px;padding-left:12px}.port-item[data-v-fc0da77e]{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.info-list strong[data-v-fc0da77e]{overflow:hidden;color:var(--text-color);font-weight:500;text-overflow:ellipsis;white-space:nowrap}.info-list-value[data-v-fc0da77e]{display:inline-flex;align-items:center;gap:8px}.info-list-value>span[data-v-fc0da77e]{overflow:hidden;text-overflow:ellipsis}.info-list[data-v-fc0da77e]{display:flex;flex-direction:column;gap:10px}.mono[data-v-fc0da77e]{font-family:Consolas,Monaco,monospace;font-size:12px}.tag-list[data-v-fc0da77e]{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}@media (max-width: 992px){.instance-console-container[data-v-fc0da77e]{padding:8px 12px 24px}.desktop-actions>.v-btn[data-v-fc0da77e]:not(:first-child){display:none}.info-list .info-list-identifiers[data-v-fc0da77e]{grid-template-columns:auto minmax(0,1fr)}}.schedule-form[data-v-fd2e4d24]{display:flex;flex-direction:column;gap:18px}.schedule-field[data-v-fd2e4d24]{display:flex;flex-direction:column;gap:8px}.schedule-field-title[data-v-fd2e4d24]{color:var(--text-color);font-size:15px;font-weight:600}.schedule-field-description[data-v-fd2e4d24]{color:var(--color-gray-7);font-size:13px;line-height:1.5}.schedule-weekdays[data-v-fd2e4d24]{display:flex;flex-wrap:wrap;gap:8px 16px}.schedule-actions-heading[data-v-fd2e4d24]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.schedule-action-row[data-v-fd2e4d24]{align-items:center}.schedule-action-remove[data-v-fd2e4d24]{display:flex;align-items:center;justify-content:center}.schedule-page[data-v-09a317e0]{width:100%;min-height:100%;overflow-x:hidden}.schedule-container[data-v-09a317e0]{max-width:var(--app-max-width);margin:0 auto;padding:20px 24px 32px}.schedule-card[data-v-09a317e0]{overflow:hidden;background:var(--background-color-white)}.schedule-table[data-v-09a317e0] th,.schedule-table[data-v-09a317e0] td{white-space:nowrap}.schedule-row-actions[data-v-09a317e0]{display:flex;justify-content:center;gap:4px}@media (max-width: 992px){.schedule-container[data-v-09a317e0]{padding:16px 12px 28px}.schedule-row-actions[data-v-09a317e0]{justify-content:flex-start}}.line-option-wrapper[data-v-ff28b712]{width:100%;margin-bottom:6px}.line-option-wrapper .line-option-card[data-v-ff28b712]{transition:all .4s}.line-option-wrapper .line-option-card[data-v-ff28b712]:hover{box-shadow:0 2px 4px #00000029}.option-card[data-v-ff28b712]{height:100%;margin-bottom:0}.option-card .line-option-card[data-v-ff28b712]{height:100%}.option-card-body .option-title[data-v-ff28b712]{font-weight:600;word-break:break-all}.option-card-body .option-info[data-v-ff28b712]{color:var(--text-color);opacity:.6;font-size:13px;line-height:1.5}.line-option-control[data-v-ff28b712]{display:flex;align-items:center;gap:6px}.line-option-control[data-v-ff28b712] .v-input{flex:1;min-width:0}.config-editor-section[data-v-71ec78af]{padding:16px}.config-option-grid[data-v-71ec78af]{width:100%;margin:0}.config-editor-title[data-v-71ec78af]{margin:0 0 6px;font-size:16px;font-weight:600}.config-editor-description[data-v-71ec78af]{margin:0;color:var(--desktop-window-text-secondary, rgba(0, 0, 0, .6));line-height:1.5}.server-config-page[data-v-33c76709]{width:100%;min-height:100%;overflow-x:hidden}.server-config-page-container[data-v-33c76709]{max-width:var(--app-max-width);margin:0 auto;padding:20px 24px 32px}.server-config-row[data-v-33c76709]{width:100%;margin:0}@media (max-width: 992px){.server-config-page-container[data-v-33c76709]{padding:16px 12px 28px}}.server-config-page[data-v-8a29ee20]{width:100%;min-height:100%;overflow-x:hidden}.server-config-page-container[data-v-8a29ee20]{max-width:var(--app-max-width);margin:0 auto;padding:20px 24px 32px}.server-config-row[data-v-8a29ee20]{width:100%;margin:0}@media (max-width: 992px){.server-config-page-container[data-v-8a29ee20]{padding:16px 12px 28px}}.quickstart-page[data-v-0e09d250]{width:100%;min-height:100%;overflow-x:hidden}.quickstart-page-container[data-v-0e09d250]{max-width:var(--app-max-width);margin:0 auto;padding:20px 24px 32px}@media (max-width: 992px){.quickstart-page-container[data-v-0e09d250]{padding:16px 12px 28px}}.card-wrapper[data-v-0e09d250]{min-height:500px}.btn-area[data-v-0e09d250]{position:absolute;bottom:16px;right:16px}.quickstart-icon[data-v-0e09d250]{font-size:180px}.dim[data-v-5c0dcdd8]{height:100%;display:flex;flex-direction:column;color:var(--desktop-window-text);font-size:13px}.dim-toolbar[data-v-5c0dcdd8]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--desktop-window-border);flex-wrap:wrap}.dim-toolbar__left[data-v-5c0dcdd8],.dim-toolbar__right[data-v-5c0dcdd8]{display:flex;align-items:center;gap:8px}.dim-select[data-v-5c0dcdd8]{display:flex;align-items:center;gap:6px}.dim-select__label[data-v-5c0dcdd8]{color:var(--desktop-window-text-secondary);font-size:12px;white-space:nowrap}.dim-select__input[data-v-5c0dcdd8]{border:1px solid var(--desktop-window-border);border-radius:6px;color:var(--desktop-window-text);padding:6px 10px;font-size:12px;outline:none;cursor:pointer;max-width:200px}.dim-select__input[data-v-5c0dcdd8]:focus{border-color:#1677ff80}.dim-select__input option[data-v-5c0dcdd8]{background:var(--desktop-window-bg);color:var(--desktop-window-text)}.dim-search[data-v-5c0dcdd8]{position:relative}.dim-search__input[data-v-5c0dcdd8]{border:1px solid var(--desktop-window-border);border-radius:6px;color:var(--desktop-window-text);padding:6px 10px 6px 28px;font-size:12px;outline:none;width:180px;transition:all .2s}.dim-search__input[data-v-5c0dcdd8]::placeholder{color:var(--desktop-window-text-muted)}.dim-search__input[data-v-5c0dcdd8]:focus{border-color:#1677ff80;width:220px}.dim-search__icon[data-v-5c0dcdd8]{position:absolute;left:8px;top:50%;transform:translateY(-50%);font-size:12px;pointer-events:none;display:flex;align-items:center}.dim-btn[data-v-5c0dcdd8]{background:var(--desktop-window-titlebar-bg);border:1px solid var(--desktop-window-border);border-radius:6px;color:var(--desktop-window-text);padding:6px 12px;font-size:12px;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:4px}.dim-btn[data-v-5c0dcdd8]:hover:not(:disabled){background:var(--desktop-window-control-hover)}.dim-btn[data-v-5c0dcdd8]:disabled{opacity:.4;cursor:not-allowed}.dim-btn--icon[data-v-5c0dcdd8]{padding:6px 8px;font-size:14px;line-height:1;display:flex;align-items:center;justify-content:center}.dim-btn--sm[data-v-5c0dcdd8]{padding:4px 10px;font-size:11px}.dim-btn--primary[data-v-5c0dcdd8]{background:#1677ff;border-color:#1677ff;color:#fff}.dim-btn--primary[data-v-5c0dcdd8]:hover:not(:disabled){background:#4096ff;border-color:#4096ff}.dim-btn--default[data-v-5c0dcdd8]{background:var(--desktop-window-titlebar-bg);border:1px solid var(--desktop-window-border)}.dim-btn--default[data-v-5c0dcdd8]:hover:not(:disabled){background:var(--desktop-window-control-hover)}.dim-btn--danger[data-v-5c0dcdd8]{background:var(--color-red-5, #ff4d4f);border-color:var(--color-red-5, #ff4d4f);color:#fff}.dim-btn--danger[data-v-5c0dcdd8]:hover:not(:disabled){background:var(--color-red-6, #ff7875);border-color:var(--color-red-6, #ff7875)}.dim-batch-actions[data-v-5c0dcdd8]{display:flex;align-items:center;gap:8px;margin-right:8px}.dim-stats[data-v-5c0dcdd8]{display:flex;align-items:center;gap:16px;padding:8px 16px;border-bottom:1px solid var(--desktop-window-border);font-size:12px;color:var(--desktop-window-text-secondary);flex-wrap:wrap}.dim-stats__item[data-v-5c0dcdd8]{display:flex;align-items:center;gap:4px}.dim-stats__dot[data-v-5c0dcdd8]{width:8px;height:8px;border-radius:50%}.dim-stats__dot--total[data-v-5c0dcdd8]{background:#1677ff}.dim-stats__dot--running[data-v-5c0dcdd8]{background:#52c41a}.dim-stats__dot--stopped[data-v-5c0dcdd8]{background:#8c8c8c}.dim-tags[data-v-5c0dcdd8]{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:8px 16px;border-bottom:1px solid var(--desktop-window-border)}.dim-tags .dim-tag[data-v-5c0dcdd8]{background:var(--desktop-window-titlebar-bg);border:1px solid var(--desktop-window-border);color:var(--desktop-window-text-secondary);margin:0;padding:2px 10px;border-radius:10px;font-size:11px;line-height:18px;cursor:pointer;transition:all .2s}.dim-tags .dim-tag[data-v-5c0dcdd8]:hover{border-color:#1677ff80;color:var(--desktop-window-text)}.dim-tags .dim-tag--active[data-v-5c0dcdd8]{background:rgba(22,119,255,.15);border-color:#1677ff99;color:#1677ff}.dim-list[data-v-5c0dcdd8]{flex:1;overflow-y:auto;padding:8px}.dim-list--loading[data-v-5c0dcdd8]{opacity:.7}.dim-list[data-v-5c0dcdd8]::-webkit-scrollbar{width:6px}.dim-list[data-v-5c0dcdd8]::-webkit-scrollbar-thumb{background:var(--desktop-window-text-muted);border-radius:3px}.dim-list[data-v-5c0dcdd8]::-webkit-scrollbar-track{background:transparent}.dim-empty[data-v-5c0dcdd8]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 16px;color:var(--desktop-window-text-muted)}.dim-empty__icon[data-v-5c0dcdd8]{font-size:36px;margin-bottom:12px}.dim-empty p[data-v-5c0dcdd8]{margin:8px 0 0;font-size:13px}.dim-instance[data-v-5c0dcdd8]{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;margin-bottom:4px;border-radius:8px;background:var(--desktop-window-titlebar-bg);border:1px solid var(--desktop-window-border);transition:all .2s;cursor:default;-webkit-user-select:none;user-select:none}.dim-instance[data-v-5c0dcdd8]:hover{background:var(--desktop-window-control-hover);border-color:var(--desktop-window-border)}.dim-instance--operating[data-v-5c0dcdd8]{opacity:.6;pointer-events:none}.dim-instance--selected[data-v-5c0dcdd8]{background:rgba(22,119,255,.15);border-color:#1677ff4d}.dim-instance__info[data-v-5c0dcdd8]{flex:1;min-width:0}.dim-instance__header[data-v-5c0dcdd8]{display:flex;align-items:center;gap:8px;margin-bottom:4px}.dim-instance__tag[data-v-5c0dcdd8]{background:var(--desktop-window-titlebar-bg);border:1px solid var(--desktop-window-border);border-radius:8px;color:var(--desktop-window-text-secondary);font-size:10px;padding:1px 8px;line-height:16px;white-space:nowrap;-webkit-user-select:none;user-select:none}.dim-instance__tag+.dim-instance__tag[data-v-5c0dcdd8]{margin-left:-8px}.dim-instance__status[data-v-5c0dcdd8]{font-size:12px;line-height:1;display:flex;align-items:center}.dim-instance__name[data-v-5c0dcdd8]{font-size:13px;font-weight:500;color:var(--desktop-window-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:300px}.dim-instance__badge[data-v-5c0dcdd8]{font-size:10px;padding:2px 8px;border-radius:10px;font-weight:500;white-space:nowrap}.dim-instance__badge.status--running[data-v-5c0dcdd8]{background:rgba(82,196,26,.15);color:#52c41a}.dim-instance__badge.status--stopped[data-v-5c0dcdd8]{background:rgba(140,140,140,.15);color:#8c8c8c}.dim-instance__badge.status--starting[data-v-5c0dcdd8],.dim-instance__badge.status--stopping[data-v-5c0dcdd8]{background:rgba(250,173,20,.15);color:#faad14}.dim-instance__badge.status--busy[data-v-5c0dcdd8]{background:rgba(255,77,79,.15);color:#ff4d4f}.dim-instance__meta[data-v-5c0dcdd8]{display:flex;align-items:center;gap:12px;font-size:11px;color:var(--desktop-window-text-secondary);flex-wrap:wrap}.dim-instance__expire[data-v-5c0dcdd8]{font-size:11px;color:var(--desktop-window-text-secondary)}.dim-instance__type[data-v-5c0dcdd8]{background:var(--desktop-window-titlebar-bg);padding:1px 6px;border-radius:4px;font-size:10px}.dim-instance__players[data-v-5c0dcdd8]{font-size:11px;color:var(--desktop-window-text-secondary);display:flex;align-items:center;gap:4px}.dim-instance__actions[data-v-5c0dcdd8]{display:flex;align-items:center;gap:4px;flex-shrink:0;margin-left:12px}.dim-action[data-v-5c0dcdd8]{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s;background:var(--desktop-window-titlebar-bg);line-height:1}.dim-action[data-v-5c0dcdd8]:hover:not(:disabled){transform:scale(1.1)}.dim-action[data-v-5c0dcdd8]:disabled{opacity:.3;cursor:not-allowed}.dim-action--start[data-v-5c0dcdd8]{color:#52c41a}.dim-action--start[data-v-5c0dcdd8]:hover:not(:disabled){background:rgba(82,196,26,.2)}.dim-action--stop[data-v-5c0dcdd8]{color:#faad14}.dim-action--stop[data-v-5c0dcdd8]:hover:not(:disabled){background:rgba(250,173,20,.2)}.dim-action--restart[data-v-5c0dcdd8]{color:#1677ff}.dim-action--restart[data-v-5c0dcdd8]:hover:not(:disabled){background:rgba(22,119,255,.2)}.dim-action--kill[data-v-5c0dcdd8]{color:#ff4d4f}.dim-action--kill[data-v-5c0dcdd8]:hover:not(:disabled){background:rgba(255,77,79,.2)}.dim-action--tag[data-v-5c0dcdd8]{color:#722ed1}.dim-action--tag[data-v-5c0dcdd8]:hover:not(:disabled){background:rgba(114,46,209,.2)}.dim-tag-editor[data-v-5c0dcdd8]{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:12px 0}.dim-tag-editor__tag[data-v-5c0dcdd8]{display:inline-flex;align-items:center;gap:4px;background:var(--desktop-window-titlebar-bg);border:1px solid rgba(22,119,255,.4);border-radius:10px;color:var(--desktop-window-text);font-size:12px;padding:2px 10px;line-height:18px;-webkit-user-select:none;user-select:none}.dim-tag-editor__tag--option[data-v-5c0dcdd8]{cursor:pointer;border-color:var(--desktop-window-border);color:var(--desktop-window-text-secondary)}.dim-tag-editor__tag--option[data-v-5c0dcdd8]:hover{border-color:#1677ff99;color:var(--desktop-window-text)}.dim-tag-editor__remove[data-v-5c0dcdd8]{font-size:10px;cursor:pointer;opacity:.6}.dim-tag-editor__remove[data-v-5c0dcdd8]:hover{opacity:1;color:#ff4d4f}.dim-tag-editor__add[data-v-5c0dcdd8]{background:var(--desktop-window-titlebar-bg);border:1px dashed var(--desktop-window-border);border-radius:10px;color:var(--desktop-window-text-secondary);font-size:12px;padding:2px 10px;line-height:18px;cursor:pointer;transition:all .2s}.dim-tag-editor__add[data-v-5c0dcdd8]:hover{border-color:#1677ff99;color:var(--desktop-window-text)}.dim-tag-editor__input[data-v-5c0dcdd8]{background:var(--desktop-window-titlebar-bg);border:1px solid rgba(22,119,255,.6);border-radius:10px;color:var(--desktop-window-text);font-size:12px;padding:2px 10px;line-height:18px;width:110px;outline:none}.dim-pagination[data-v-5c0dcdd8]{display:flex;align-items:center;justify-content:center;gap:12px;padding:10px 16px;border-top:1px solid var(--desktop-window-border)}.dim-pagination__info[data-v-5c0dcdd8]{font-size:12px;color:var(--desktop-window-text-secondary)}.dim-dialog__desc[data-v-5c0dcdd8]{margin:0;color:var(--desktop-window-text);font-size:14px;text-align:center;line-height:1.6}.dim-dialog__desc--left[data-v-5c0dcdd8]{text-align:left}.dim-dialog__desc--muted[data-v-5c0dcdd8]{color:var(--desktop-window-text-secondary);font-size:12px}.dim-dialog__desc--strong[data-v-5c0dcdd8]{margin-top:12px;font-size:13px;font-weight:500}.dim-dialog__path[data-v-5c0dcdd8]{margin:0;color:var(--desktop-window-text-secondary);font-size:12px;text-align:center;line-height:1.6;word-break:break-all}.ma[data-v-767aece2]{height:100%;display:flex;flex-direction:column;color:var(--desktop-window-text);font-size:13px}.ma-toolbar[data-v-767aece2]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--desktop-window-border);flex-wrap:wrap}.ma-toolbar__left[data-v-767aece2],.ma-toolbar__right[data-v-767aece2]{display:flex;align-items:center;gap:8px}.ma-select[data-v-767aece2]{display:flex;align-items:center;gap:6px}.ma-select__input[data-v-767aece2]{min-width:180px;max-width:220px}.ma-select__input[data-v-767aece2] .v-field{background:var(--desktop-window-titlebar-bg);box-shadow:none}.ma-search[data-v-767aece2]{position:relative}.ma-search__input[data-v-767aece2]{width:180px;transition:all .2s}.ma-search__input[data-v-767aece2] .v-field{background:var(--desktop-window-titlebar-bg);box-shadow:none}.ma-btn[data-v-767aece2]{background:var(--desktop-window-titlebar-bg);border:1px solid var(--desktop-window-border);border-radius:6px;color:var(--desktop-window-text);padding:6px 12px;font-size:12px;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:4px}.ma-btn[data-v-767aece2]:hover:not(:disabled){background:var(--desktop-window-control-hover)}.ma-btn[data-v-767aece2]:disabled{opacity:.4;cursor:not-allowed}.ma-btn--icon[data-v-767aece2]{padding:6px 8px;font-size:14px;line-height:1;display:flex;align-items:center;justify-content:center}.ma-stats[data-v-767aece2]{display:flex;align-items:center;gap:16px;padding:8px 16px;border-bottom:1px solid var(--desktop-window-border);font-size:12px;color:var(--desktop-window-text-muted);flex-wrap:wrap}.ma-stats__item[data-v-767aece2]{display:flex;align-items:center;gap:4px}.ma-stats__dot[data-v-767aece2]{width:8px;height:8px;border-radius:50%}.ma-stats__dot--total[data-v-767aece2]{background:#1677ff}.ma-stats__dot--running[data-v-767aece2]{background:#52c41a}.ma-stats__dot--stopped[data-v-767aece2]{background:#8c8c8c}.ma-list[data-v-767aece2]{flex:1;overflow-y:auto;padding:8px}.ma-list--loading[data-v-767aece2]{opacity:.7}.ma-list[data-v-767aece2]::-webkit-scrollbar{width:6px}.ma-list[data-v-767aece2]::-webkit-scrollbar-thumb{background:var(--desktop-window-border);border-radius:3px}.ma-list[data-v-767aece2]::-webkit-scrollbar-track{background:transparent}.ma-empty[data-v-767aece2]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 16px;color:var(--desktop-window-text-muted)}.ma-empty__icon[data-v-767aece2]{font-size:36px;margin-bottom:12px}.ma-empty p[data-v-767aece2]{margin:8px 0 0;font-size:13px}.ma-instance[data-v-767aece2]{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;margin-bottom:4px;border-radius:8px;background:var(--desktop-window-titlebar-bg);border:1px solid var(--desktop-window-border);transition:all .2s;cursor:default;-webkit-user-select:none;user-select:none}.ma-instance[data-v-767aece2]:hover{background:var(--desktop-window-control-hover);border-color:var(--desktop-window-border)}.ma-instance--operating[data-v-767aece2]{opacity:.6;pointer-events:none}.ma-instance__info[data-v-767aece2]{flex:1;min-width:0}.ma-instance__header[data-v-767aece2]{display:flex;align-items:center;gap:8px;margin-bottom:4px}.ma-instance__status[data-v-767aece2]{font-size:12px;line-height:1;display:flex;align-items:center}.ma-instance__name[data-v-767aece2]{font-size:13px;font-weight:500;color:var(--desktop-window-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:300px}.ma-instance__badge[data-v-767aece2]{font-size:10px;padding:2px 8px;border-radius:10px;font-weight:500;white-space:nowrap}.ma-instance__badge.status--running[data-v-767aece2]{background:rgba(82,196,26,.15);color:#52c41a}.ma-instance__badge.status--stopped[data-v-767aece2]{background:rgba(140,140,140,.15);color:#8c8c8c}.ma-instance__badge.status--starting[data-v-767aece2],.ma-instance__badge.status--stopping[data-v-767aece2]{background:rgba(250,173,20,.15);color:#faad14}.ma-instance__badge.status--busy[data-v-767aece2]{background:rgba(255,77,79,.15);color:#ff4d4f}.ma-instance__meta[data-v-767aece2]{display:flex;align-items:center;gap:12px;font-size:11px;color:var(--desktop-window-text-muted)}.ma-instance__expire[data-v-767aece2]{font-size:11px;color:var(--desktop-window-text-muted)}.ma-instance__type[data-v-767aece2]{background:var(--desktop-window-control-hover);padding:1px 6px;border-radius:4px;font-size:10px}.ma-instance__players[data-v-767aece2]{font-size:11px;color:var(--desktop-window-text-muted);display:flex;align-items:center;gap:4px}.ma-instance__actions[data-v-767aece2]{display:flex;align-items:center;gap:4px;flex-shrink:0;margin-left:12px}.ma-action[data-v-767aece2]{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s;background:var(--desktop-window-titlebar-bg);line-height:1}.ma-action[data-v-767aece2]:hover:not(:disabled){transform:scale(1.1)}.ma-action[data-v-767aece2]:disabled{opacity:.3;cursor:not-allowed}.ma-action--start[data-v-767aece2]{color:#52c41a}.ma-action--start[data-v-767aece2]:hover:not(:disabled){background:rgba(82,196,26,.2)}.ma-action--stop[data-v-767aece2]{color:#faad14}.ma-action--stop[data-v-767aece2]:hover:not(:disabled){background:rgba(250,173,20,.2)}.ma-action--restart[data-v-767aece2]{color:#1677ff}.ma-action--restart[data-v-767aece2]:hover:not(:disabled){background:rgba(22,119,255,.2)}.ma-action--kill[data-v-767aece2]{color:#ff4d4f}.ma-action--kill[data-v-767aece2]:hover:not(:disabled){background:rgba(255,77,79,.2)}.field-block[data-v-b1f64cdc]{margin-top:16px}.field-title[data-v-b1f64cdc]{font-weight:600;margin-bottom:4px}.field-help[data-v-b1f64cdc]{color:var(--color-gray-7);font-size:13px;margin-bottom:6px}.dim-mgr-btns[data-v-45727933]{padding:8px}.dim-mgr-btns__title[data-v-45727933]{font-size:10px;font-weight:500;color:var(--desktop-window-text-muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.dim-mgr-btns__row[data-v-45727933]{display:flex;flex-wrap:wrap;gap:4px}.dim-mgr-btn[data-v-45727933]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;font-size:16px;color:var(--desktop-window-text-secondary);background:var(--desktop-window-titlebar-bg);border-radius:6px;cursor:pointer;transition:all .2s}.dim-mgr-btn[data-v-45727933]:hover{color:var(--desktop-window-text);background:var(--desktop-window-control-hover);border-color:var(--desktop-window-border)}.dim[data-v-0e6970b3]{height:100%;display:flex;flex-direction:column;color:var(--desktop-window-text);font-size:13px}.dim-toolbar[data-v-0e6970b3]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:0;flex-wrap:wrap}.dim-toolbar__left[data-v-0e6970b3],.dim-toolbar__right[data-v-0e6970b3]{display:flex;align-items:center;gap:8px}.dim-btn[data-v-0e6970b3]{background:var(--desktop-window-titlebar-bg);border:0;border-radius:6px;color:var(--desktop-window-text);padding:6px 12px;font-size:12px;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:4px}.dim-btn[data-v-0e6970b3]:hover:not(:disabled){background:var(--desktop-window-control-hover)}.dim-btn[data-v-0e6970b3]:disabled{opacity:.4;cursor:not-allowed}.dim-btn--sm[data-v-0e6970b3]{padding:4px 10px;font-size:11px}.dim-btn--icon[data-v-0e6970b3]{padding:4px 8px;font-size:14px}.dim-btn--primary[data-v-0e6970b3]{color:#52c41a;border-color:transparent;background:rgba(82,196,26,.1)}.dim-btn--primary[data-v-0e6970b3]:hover:not(:disabled){background:rgba(82,196,26,.2)}.dim-btn--danger[data-v-0e6970b3]{color:#ff4d4f;border-color:transparent;background:rgba(255,77,79,.1)}.dim-btn--danger[data-v-0e6970b3]:hover:not(:disabled){background:rgba(255,77,79,.2)}.dim-error-line[data-v-0e6970b3]{margin:0 0 8px;color:var(--desktop-window-text-secondary);white-space:pre-wrap}.dim-instance__header[data-v-0e6970b3]{display:flex;align-items:center;gap:8px}.dim-instance__status[data-v-0e6970b3]{font-size:14px;line-height:1;display:flex;align-items:center}.dim-instance__status.status--running[data-v-0e6970b3]{color:#52c41a}.dim-instance__status.status--stopped[data-v-0e6970b3]{color:#8c8c8c}.dim-instance__status.status--busy[data-v-0e6970b3]{color:#ff4d4f}.dim-instance__name[data-v-0e6970b3]{font-size:14px;font-weight:500;color:var(--desktop-window-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:300px}.dim-instance__badge[data-v-0e6970b3]{font-size:10px;padding:2px 8px;border-radius:10px;font-weight:500;white-space:nowrap}.dim-instance__badge.status--running[data-v-0e6970b3]{background:rgba(82,196,26,.15);color:#52c41a}.dim-instance__badge.status--stopped[data-v-0e6970b3]{background:rgba(140,140,140,.15);color:#8c8c8c}.dim-instance__badge.status--busy[data-v-0e6970b3]{background:rgba(255,77,79,.15);color:#ff4d4f}.dim-instance__type[data-v-0e6970b3]{background:var(--desktop-window-titlebar-bg);padding:1px 6px;border-radius:4px;font-size:10px;color:var(--desktop-window-text-secondary)}.dim-instance__players[data-v-0e6970b3]{font-size:11px;color:var(--desktop-window-text-secondary);display:flex;align-items:center;gap:4px}.dim-perf[data-v-0e6970b3]{display:flex;align-items:center;gap:6px;padding:0 12px;border-right:0;margin-right:5px}.dim-perf__item[data-v-0e6970b3]{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:500;white-space:nowrap;padding:2px 6px;border-radius:4px;background:var(--desktop-window-titlebar-bg);cursor:default}.dim-perf__item.dim-perf__cpu--low[data-v-0e6970b3]{color:var(--color-blue-5, #1677ff)}.dim-perf__item.dim-perf__cpu--mid[data-v-0e6970b3]{color:var(--color-gold-6, #faad14)}.dim-perf__item.dim-perf__cpu--high[data-v-0e6970b3]{color:var(--color-red-5, #ff4d4f)}.dim-perf__item.dim-perf__mem--low[data-v-0e6970b3]{color:var(--color-purple-5, #722ed1)}.dim-perf__item.dim-perf__mem--mid[data-v-0e6970b3]{color:var(--color-gold-6, #faad14)}.dim-perf__item.dim-perf__mem--high[data-v-0e6970b3]{color:var(--color-red-5, #ff4d4f)}.dim-perf__item.dim-perf__net[data-v-0e6970b3]{color:var(--color-green-6, #52c41a)}.dim-body[data-v-0e6970b3]{flex:1;overflow:hidden;position:relative}.dim-list[data-v-0e6970b3]{height:100%;padding:8px;overflow:hidden;position:relative}[data-v-0e6970b3] .console-wrapper{height:100%;display:flex;flex-direction:column}[data-v-0e6970b3] .terminal-wrapper{flex:1;margin-bottom:12px}[data-v-0e6970b3] .command-input{flex-shrink:0}.dim-dialog[data-v-0e6970b3]{height:100%;display:flex;flex-direction:column}.dim-dialog__header[data-v-0e6970b3]{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--desktop-window-border);flex-shrink:0}.dim-dialog__title[data-v-0e6970b3]{font-size:13px;font-weight:500;color:var(--desktop-window-text);display:flex;align-items:center;gap:6px}.dim-dialog__body[data-v-0e6970b3]{flex:1;overflow:auto;padding:16px}.dim-dialog--full .dim-dialog__body[data-v-0e6970b3]{padding:0}.dim-placeholder[data-v-0e6970b3]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:12px;color:var(--desktop-window-text-muted)}.dim-placeholder__icon[data-v-0e6970b3]{font-size:48px;opacity:.4}.dim-placeholder__text[data-v-0e6970b3]{font-size:16px;font-weight:500;margin:0}.dim-placeholder__hint[data-v-0e6970b3]{font-size:12px;margin:0;opacity:.6}.dsc[data-v-bf159e2c]{height:100%;display:flex;flex-direction:column;color:var(--desktop-window-text);font-size:13px}.dsc__header[data-v-bf159e2c]{display:flex;align-items:center;gap:8px;padding:10px 16px;border-bottom:1px solid var(--desktop-window-border);flex-shrink:0}.dsc__title[data-v-bf159e2c]{font-size:14px;font-weight:500;color:var(--desktop-window-text);flex:1}.dsc__actions[data-v-bf159e2c]{display:flex;gap:6px;flex-shrink:0}.dsc__body[data-v-bf159e2c]{flex:1;overflow:auto;padding:12px}.dsc-btn[data-v-bf159e2c]{background:var(--desktop-window-titlebar-bg);border:1px solid var(--desktop-window-border);border-radius:6px;color:var(--desktop-window-text);padding:6px 12px;font-size:12px;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:4px}.dsc-btn[data-v-bf159e2c]:hover:not(:disabled){background:var(--desktop-window-control-hover)}.dsc-btn[data-v-bf159e2c]:disabled{opacity:.4;cursor:not-allowed}.dsc-btn--sm[data-v-bf159e2c]{padding:4px 10px;font-size:11px}.dsc-btn--icon[data-v-bf159e2c]{padding:4px 8px;font-size:14px}.dsc-btn--primary[data-v-bf159e2c]{color:#1677ff;border-color:#1677ff4d;background:rgba(22,119,255,.1)}.dsc-btn--primary[data-v-bf159e2c]:hover:not(:disabled){background:rgba(22,119,255,.2)}.dsc-list[data-v-bf159e2c]{height:100%}.dsc-list__items[data-v-bf159e2c]{display:flex;flex-direction:column;gap:4px}.dsc-file-item[data-v-bf159e2c]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--desktop-window-titlebar-bg);border:1px solid var(--desktop-window-border);border-radius:8px;cursor:pointer;transition:all .2s}.dsc-file-item[data-v-bf159e2c]:hover{background:var(--desktop-window-control-hover);border-color:var(--desktop-window-border)}.dsc-file-item__info[data-v-bf159e2c]{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.dsc-file-item__name[data-v-bf159e2c]{font-size:13px;font-weight:500;color:var(--desktop-window-text)}.dsc-file-item__desc[data-v-bf159e2c]{font-size:11px;color:var(--desktop-window-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dsc-file-item__action[data-v-bf159e2c]{color:var(--desktop-window-text-muted);font-size:14px;flex-shrink:0;margin-left:12px}.dsc-editor[data-v-bf159e2c],.dsc-editor__content[data-v-bf159e2c]{height:100%}.dsc-empty[data-v-bf159e2c]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:12px;color:var(--desktop-window-text-muted)}.dsc-empty__icon[data-v-bf159e2c]{font-size:48px;opacity:.4}.dsc-empty__text[data-v-bf159e2c]{font-size:16px;font-weight:500;margin:0}.dsc-empty__hint[data-v-bf159e2c]{font-size:12px;margin:0;opacity:.6}.dschedule[data-v-72c1c233]{height:100%;display:flex;flex-direction:column;color:var(--desktop-window-text);font-size:13px;overflow:hidden}.dschedule-header[data-v-72c1c233]{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--desktop-window-border);flex-shrink:0}.dschedule-header__left[data-v-72c1c233]{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:500}.dschedule-header__right[data-v-72c1c233]{display:flex;align-items:center;gap:6px}.ds-btn[data-v-72c1c233]{background:var(--desktop-window-titlebar-bg);border:1px solid var(--desktop-window-border);border-radius:6px;color:var(--desktop-window-text);padding:4px 12px;font-size:12px;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:4px}.ds-btn[data-v-72c1c233]:hover{background:var(--desktop-window-control-hover)}.ds-btn--primary[data-v-72c1c233]{color:#52c41a;border-color:#52c41a4d;background:rgba(82,196,26,.1)}.ds-btn--primary[data-v-72c1c233]:hover{background:rgba(82,196,26,.2)}.ds-btn-icon[data-v-72c1c233]{background:transparent;border:none;color:var(--desktop-window-text-muted);padding:4px 6px;cursor:pointer;border-radius:4px;transition:all .2s;font-size:14px}.ds-btn-icon[data-v-72c1c233]:hover{background:var(--desktop-window-control-hover);color:var(--desktop-window-text)}.ds-btn-icon--danger[data-v-72c1c233]:hover{color:#ff4d4f;background:rgba(255,77,79,.1)}.dschedule-body[data-v-72c1c233]{flex:1;overflow-y:auto;padding:8px}.ds-form-label[data-v-72c1c233]{display:block;margin:10px 0 6px;color:var(--desktop-window-text-secondary);font-size:12px}.ds-cycle-grid[data-v-72c1c233]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.ds-week-grid[data-v-72c1c233]{display:flex;flex-wrap:wrap;gap:8px 16px}.dschedule-empty[data-v-72c1c233]{text-align:center;padding:40px 16px;color:var(--desktop-window-text-muted);font-size:13px}.dschedule-item[data-v-72c1c233]{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:8px;transition:background .2s;gap:12px}.dschedule-item[data-v-72c1c233]:hover{background:var(--desktop-window-control-hover)}.dschedule-item__info[data-v-72c1c233]{flex:1;min-width:0}.dschedule-item__name[data-v-72c1c233]{font-size:13px;font-weight:500;color:var(--desktop-window-text);margin-bottom:4px}.dschedule-item__meta[data-v-72c1c233]{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.dschedule-item__tag[data-v-72c1c233]{font-size:11px;padding:1px 6px;border-radius:4px}.dschedule-item__time[data-v-72c1c233],.dschedule-item__count[data-v-72c1c233]{font-size:11px;color:var(--desktop-window-text-muted)}.dschedule-item__payload[data-v-72c1c233]{font-size:11px;color:var(--desktop-window-text-muted);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dschedule-item__actions[data-v-72c1c233]{display:flex;align-items:center;gap:2px;flex-shrink:0}.ds-tag--action[data-v-72c1c233]{background:rgba(82,196,26,.1);color:#52c41a}.ds-tag--type[data-v-72c1c233]{background:rgba(22,119,255,.1);color:#1677ff}.ds-count--unlimited[data-v-72c1c233]{color:var(--desktop-window-text-muted)}.ds-actions-header[data-v-72c1c233]{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;font-weight:500}.ds-action-row[data-v-72c1c233]{margin-bottom:8px}.w-100[data-v-72c1c233]{width:100%}.ds-dialog-btn[data-v-72c1c233]{padding:7px 16px;border:none;border-radius:6px;font-size:13px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .2s;color:var(--desktop-window-text);white-space:nowrap}.ds-dialog-btn[data-v-72c1c233]:disabled{opacity:.5;cursor:not-allowed}.ds-dialog-btn--primary[data-v-72c1c233]{background:var(--color-blue-5, #1677ff);color:#fff;border-color:var(--color-blue-5, #1677ff)}.ds-dialog-btn--primary[data-v-72c1c233]:hover:not(:disabled){background:var(--color-blue-6, #4096ff)}.ds-dialog-btn--default[data-v-72c1c233]{background:var(--desktop-window-titlebar-bg);border:1px solid var(--desktop-window-border)}.ds-dialog-btn--default[data-v-72c1c233]:hover:not(:disabled){background:var(--desktop-window-control-hover)}.devent-config[data-v-cd8d024b]{height:100%;display:flex;flex-direction:column;color:var(--desktop-window-text);font-size:13px;overflow:hidden}.devent-config__body[data-v-cd8d024b]{flex:1;overflow-y:auto;padding:16px}.devent-config__loading[data-v-cd8d024b]{display:flex;align-items:center;justify-content:center;height:100%;color:var(--desktop-window-text-muted)}.devent-config__footer[data-v-cd8d024b]{display:flex;justify-content:flex-end;padding:12px 16px;border-top:1px solid var(--desktop-window-border);flex-shrink:0}.devent-btn[data-v-cd8d024b]{background:var(--desktop-window-titlebar-bg);border:1px solid var(--desktop-window-border);border-radius:6px;color:var(--desktop-window-text);padding:6px 16px;font-size:13px;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:4px}.devent-btn[data-v-cd8d024b]:hover:not(:disabled){background:var(--desktop-window-control-hover)}.devent-btn[data-v-cd8d024b]:disabled{opacity:.4;cursor:not-allowed}.devent-btn--primary[data-v-cd8d024b]{color:#1677ff;border-color:#1677ff4d;background:rgba(22,119,255,.1)}.devent-btn--primary[data-v-cd8d024b]:hover:not(:disabled){background:rgba(22,119,255,.2)}.dis[data-v-11f128f3]{height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden;color:var(--desktop-window-text);font-size:13px}.dis__header[data-v-11f128f3]{display:flex;flex:0 0 auto;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--desktop-window-border)}.dis__name[data-v-11f128f3]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.dis__actions[data-v-11f128f3],.dis__list-buttons[data-v-11f128f3]{display:flex;flex-wrap:wrap;gap:6px}.dis__tabs[data-v-11f128f3]{display:flex;flex:0 0 auto;gap:4px;padding:8px 12px;overflow-x:auto;border-bottom:1px solid var(--desktop-window-border)}.dis__body[data-v-11f128f3]{flex:1;min-height:0;overflow:auto;padding:16px}.dis__empty[data-v-11f128f3]{display:flex;height:100%;min-height:120px;align-items:center;justify-content:center}.dis__grid[data-v-11f128f3]{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px;align-items:start}.dis__wide[data-v-11f128f3]{grid-column:1/-1}.dis__hint[data-v-11f128f3]{color:var(--desktop-window-text-muted);line-height:1.6;margin:0}.dis__section-title[data-v-11f128f3]{font-size:14px;font-weight:500;margin:0;padding-top:8px}.dis-tab[data-v-11f128f3]{color:var(--desktop-window-text-secondary);flex-shrink:0}.dis-tab--active[data-v-11f128f3]{color:rgb(var(--v-theme-primary));background:rgba(var(--v-theme-primary),.1)}.dis-btn[data-v-11f128f3]{color:var(--desktop-window-text);background:var(--desktop-window-titlebar-bg);border:1px solid var(--desktop-window-border);font-size:12px;text-transform:none}.dis-btn[data-v-11f128f3]:hover{background:var(--desktop-window-control-hover)}.dis-btn--primary[data-v-11f128f3]{color:rgb(var(--v-theme-primary));border-color:rgba(var(--v-theme-primary),.3);background:rgba(var(--v-theme-primary),.1)}.dis-list-editor__toolbar[data-v-11f128f3]{display:flex;justify-content:flex-end;margin-bottom:16px}.dis-list-editor__row[data-v-11f128f3]{display:grid;grid-template-columns:repeat(var(--dis-list-columns, 2),minmax(0,1fr)) auto;align-items:start;gap:10px;margin-bottom:12px}@media (max-width: 640px){.dis-list-editor__row[data-v-11f128f3]{grid-template-columns:minmax(0,1fr);padding-bottom:12px;border-bottom:1px solid var(--desktop-window-border)}}.msl-attribution[data-v-41fed811]{display:inline-flex;align-items:center;gap:8px;margin-top:12px;color:rgb(var(--v-theme-primary));font-size:13px;text-decoration:none}.msl-attribution[data-v-41fed811]:hover{text-decoration:underline}.msl-attribution img[data-v-41fed811]{object-fit:contain}.java-error[data-v-f8125c50]{max-width:320px;overflow-wrap:anywhere}.djava-config[data-v-0877df3e]{height:100%;display:flex;flex-direction:column;color:var(--desktop-window-text);font-size:13px;overflow:hidden}.djava-config__body[data-v-0877df3e]{flex:1;overflow-y:auto;padding:16px}.djava-config__hint[data-v-0877df3e]{margin:0 0 12px;color:var(--desktop-window-text-secondary);line-height:1.5}.djava-config__toolbar[data-v-0877df3e]{display:flex;align-items:center;gap:4px;margin-bottom:12px}.djava-config__actions[data-v-0877df3e]{display:flex;justify-content:flex-end;align-items:center}.djava-config__footer[data-v-0877df3e]{display:flex;justify-content:flex-end;padding:12px 16px;flex-shrink:0}.djava-btn[data-v-0877df3e]{background:var(--desktop-window-titlebar-bg);color:var(--desktop-window-text)}.djava-btn[data-v-0877df3e]:hover:not(:disabled){background:var(--desktop-window-control-hover)}.djava-btn[data-v-0877df3e]:disabled{opacity:.4;cursor:not-allowed}.djava-btn--primary[data-v-0877df3e]{color:#1677ff;background:rgba(22,119,255,.1)}.djava-btn--primary[data-v-0877df3e]:hover:not(:disabled){background:rgba(22,119,255,.2)}.djava-btn--primary--primary[data-v-0877df3e]:disabled{opacity:.4;cursor:not-allowed}.djava-btn--default[data-v-0877df3e]{background:var(--desktop-window-titlebar-bg)}.djava-btn--default[data-v-0877df3e]:hover:not(:disabled){background:var(--desktop-window-control-hover)}.java-actions[data-v-e6ea8d18]{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin-bottom:12px}.java-table[data-v-e6ea8d18]{width:100%}.java-row-actions[data-v-e6ea8d18]{display:flex;justify-content:flex-end;gap:4px}.dmcping-config[data-v-5dd0a81a]{height:100%;display:flex;flex-direction:column;color:var(--desktop-window-text);font-size:13px;overflow:hidden}.dmcping-config__body[data-v-5dd0a81a]{flex:1;overflow-y:auto;padding:16px}.dmcping-config__footer[data-v-5dd0a81a]{display:flex;justify-content:flex-end;padding:12px 16px;flex-shrink:0}.dmcping-config__hint[data-v-5dd0a81a],.dmcping-field__hint[data-v-5dd0a81a]{color:var(--desktop-window-text-secondary);line-height:1.5}.dmcping-config__hint[data-v-5dd0a81a]{margin:0 0 20px}.dmcping-field[data-v-5dd0a81a]{margin-bottom:20px}.dmcping-field__title[data-v-5dd0a81a]{margin-bottom:4px;font-size:14px;font-weight:600}.dmcping-field__hint[data-v-5dd0a81a]{margin-bottom:8px}.dmcping-btn[data-v-5dd0a81a]{background:var(--desktop-window-titlebar-bg);color:var(--desktop-window-text)}.dmcping-btn[data-v-5dd0a81a]:hover:not(:disabled){background:var(--desktop-window-control-hover)}.dmcping-btn[data-v-5dd0a81a]:disabled{opacity:.4;cursor:not-allowed}.dmcping-btn--primary[data-v-5dd0a81a]{color:#1677ff;background:rgba(22,119,255,.1)}.dmcping-btn--primary[data-v-5dd0a81a]:hover:not(:disabled){background:rgba(22,119,255,.2)}.mc-ping-description[data-v-18f937de]{color:var(--color-gray-7);line-height:1.6}.mc-ping-form[data-v-18f937de]{display:flex;flex-direction:column;gap:16px}.mc-ping-label[data-v-18f937de]{font-weight:600;margin-bottom:4px}.mc-ping-help[data-v-18f937de]{color:var(--color-gray-7);font-size:13px;margin-bottom:6px}
@@ -1 +0,0 @@
1
- .page-toolbar[data-v-24b673d7]{width:100%;margin-bottom:20px}.page-toolbar>.v-col[data-v-24b673d7]{min-width:0}.page-toolbar-title[data-v-24b673d7]{display:flex;align-items:center;gap:10px;color:var(--text-color);font-size:20px;font-weight:600}.page-toolbar-icon[data-v-24b673d7]{color:var(--text-color)}.page-toolbar-search[data-v-24b673d7],.page-toolbar-actions[data-v-24b673d7]{display:flex;align-items:center;min-width:0;color:var(--text-color)}.page-toolbar-search[data-v-24b673d7]{justify-content:center}.page-toolbar-search[data-v-24b673d7] .v-field,.page-toolbar-search[data-v-24b673d7] .v-field__input,.page-toolbar-search[data-v-24b673d7] .v-field__input input,.page-toolbar-search[data-v-24b673d7] .v-select__selection-text{color:var(--text-color)!important}.page-toolbar-search[data-v-24b673d7] .v-field__input input::placeholder,.page-toolbar-search[data-v-24b673d7] textarea::placeholder{color:var(--text-color)!important;opacity:.55!important}.page-toolbar-actions[data-v-24b673d7]{justify-content:flex-end;flex-wrap:wrap;gap:8px}@media (max-width: 992px){.page-toolbar-title[data-v-24b673d7]{font-size:18px}.page-toolbar-search[data-v-24b673d7],.page-toolbar-actions[data-v-24b673d7]{justify-content:flex-start}}
@@ -1 +0,0 @@
1
- .desktop-dialog__content[data-v-b933cf94]{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.desktop-dialog__body[data-v-b933cf94]{flex:1;min-width:0;min-height:0;overflow:auto;padding:16px 20px;color:var(--desktop-window-text)}.desktop-dialog__body--unpadded[data-v-b933cf94]{padding:0}.desktop-dialog__body--contained[data-v-b933cf94]{display:flex;flex-direction:column;overflow:hidden}.desktop-dialog__footer[data-v-b933cf94]{display:flex;flex:0 0 auto;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;padding:12px 20px}
@@ -1 +0,0 @@
1
- .action-ripple-anchor[data-v-15244d93]{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.action-ripple-circle[data-v-15244d93]{position:fixed;width:40px;height:40px;margin:-20px 0 0 -20px;border-radius:50%;pointer-events:none;z-index:30;animation:action-ripple-15244d93 .6s cubic-bezier(0,-.04,0,.99) forwards}.action-ripple-circle--inline[data-v-15244d93]{position:absolute;left:50%;top:50%}@keyframes action-ripple-15244d93{0%{transform:scale(.35);opacity:.4}to{transform:scale(20);opacity:0}}
@@ -1 +0,0 @@
1
- .error-card[data-v-118ebae1]{position:absolute;left:0;right:0;bottom:0;top:0;z-index:10;border-radius:20px;display:flex;align-items:center;justify-content:center}.error-card .error-card-container[data-v-118ebae1]{overflow:hidden;max-width:440px;border:1px solid var(--color-gray-6)!important;background-color:var(--color-gray-1);border-radius:4px;padding:12px;box-shadow:0 0 2px var(--color-gray-7)}@media (max-width: 992px){.error-card .error-card-container[data-v-118ebae1]{max-width:90vw!important}}.console-wrapper[data-v-118ebae1]{position:relative}.console-wrapper .terminal-loading[data-v-118ebae1]{z-index:12;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.console-wrapper .terminal-button-group[data-v-118ebae1]{z-index:11;margin-right:20px;padding-bottom:50px;padding-left:50px;border-radius:6px;color:#fff}.console-wrapper .terminal-button-group:hover ul[data-v-118ebae1]{transition:all 1s;opacity:.8}.console-wrapper .terminal-button-group ul[data-v-118ebae1]{display:flex;opacity:0}.console-wrapper .terminal-button-group ul li[data-v-118ebae1]{cursor:pointer;list-style:none;padding:5px;margin-left:5px;border-radius:6px;font-size:20px}.console-wrapper .terminal-button-group ul li[data-v-118ebae1]:hover{background-color:#3e3e3e}.console-wrapper .terminal-wrapper[data-v-118ebae1]{border:none;position:relative;height:100%;background-color:#1e1e1e;padding:8px;border-radius:12px;overflow:hidden;display:flex;flex-direction:column;margin-bottom:12px}.console-wrapper .terminal-wrapper .terminal-container[data-v-118ebae1]{height:100%}.console-wrapper .command-input[data-v-118ebae1]{position:relative}.console-wrapper .command-input .history[data-v-118ebae1]{display:flex;gap:8px;max-width:100%;overflow:scroll;z-index:10;position:absolute;top:-35px;left:0}.console-wrapper .command-input .history[data-v-118ebae1] .v-chip{background-color:var(--background-color-white)!important}.console-wrapper .command-input .history li[data-v-118ebae1]{list-style:none}.console-wrapper .command-input .history li span[data-v-118ebae1]{padding:3px 20px;max-width:300px;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.console-wrapper .command-input .history[data-v-118ebae1]::-webkit-scrollbar{width:0!important;height:0!important}.container[data-v-4487a0c4]{display:flex;flex-wrap:wrap;justify-content:end;align-items:center}.tag[data-v-4487a0c4]{align-items:center;display:flex;gap:4px}.tag[data-v-4487a0c4]:hover{border:1px solid var(--color-blue-5)}.perf-cards[data-v-bae37236]{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:6px}.perf-card[data-v-bae37236]{-webkit-user-select:none;user-select:none;min-width:150px;height:40px;border-radius:6px;background:transparent;border:none;overflow:hidden;display:flex;flex-direction:column}.perf-card__body[data-v-bae37236]{flex:1;display:flex;align-items:center;padding:4px 8px 0 4px;gap:6px;min-width:0}.perf-card__icon[data-v-bae37236]{width:22px;height:22px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0}.perf-card__info[data-v-bae37236]{display:flex;flex-direction:column;min-width:0;gap:2px;overflow:hidden}.perf-card__label[data-v-bae37236]{font-size:10px;line-height:1;color:var(--color-gray-7);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.perf-card__value[data-v-bae37236]{font-size:11px;font-weight:600;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.perf-card__bar-track[data-v-bae37236]{height:2px;background:var(--color-gray-3);overflow:hidden;margin:0 4px;border-radius:2px}.perf-card__bar[data-v-bae37236]{height:100%;border-radius:2px;transition:width .6s cubic-bezier(.4,0,.2,1)}.perf-card--cpu-normal .perf-card__icon[data-v-bae37236]{background:transparent;color:var(--color-blue-5)}.perf-card--cpu-normal .perf-card__value[data-v-bae37236]{color:var(--color-blue-7)}.perf-card--cpu-normal .perf-card__bar[data-v-bae37236]{background:var(--color-blue-5)}.perf-card--cpu-warning .perf-card__icon[data-v-bae37236]{background:transparent;color:var(--color-gold-6)}.perf-card--cpu-warning .perf-card__value[data-v-bae37236]{color:var(--color-gold-7)}.perf-card--cpu-warning .perf-card__bar[data-v-bae37236]{background:var(--color-gold-5);animation:bar-pulse-bae37236 1.5s ease-in-out infinite}.perf-card--cpu-error .perf-card__icon[data-v-bae37236]{background:transparent;color:var(--color-red-5);animation:icon-pulse-bae37236 1s ease-in-out infinite}.perf-card--cpu-error .perf-card__value[data-v-bae37236]{color:var(--color-red-6)}.perf-card--cpu-error .perf-card__bar[data-v-bae37236]{background:var(--color-red-5);animation:bar-pulse-bae37236 .8s ease-in-out infinite}.perf-card--memory .perf-card__icon[data-v-bae37236]{background:transparent;color:var(--color-purple-5)}.perf-card--memory .perf-card__value[data-v-bae37236]{color:var(--color-purple-6)}.perf-card--memory .perf-card__bar[data-v-bae37236]{background:var(--color-purple-5)}.perf-card--disk .perf-card__icon[data-v-bae37236]{background:transparent;color:var(--color-cyan-6)}.perf-card--disk .perf-card__value[data-v-bae37236]{color:var(--color-cyan-7)}.perf-card--disk .perf-card__bar[data-v-bae37236]{background:var(--color-cyan-5)}.perf-card--network[data-v-bae37236]{cursor:pointer}.perf-card--network .perf-card__icon[data-v-bae37236]{background:transparent;color:var(--color-green-6)}.perf-card--network .perf-card__value[data-v-bae37236]{color:var(--color-green-7)}.perf-card__bar--flow[data-v-bae37236]{width:35%;background:linear-gradient(90deg,transparent 0%,var(--color-green-4) 40%,var(--color-green-5) 60%,transparent 100%);animation:bar-flow-bae37236 2s ease-in-out infinite}@keyframes bar-flow-bae37236{0%{transform:translate(-100%)}to{transform:translate(400%)}}@keyframes bar-pulse-bae37236{0%,to{opacity:1}50%{opacity:.55}}@keyframes icon-pulse-bae37236{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.15);opacity:.7}}.term-config-form[data-v-d8a7be9d]{display:block}.term-config-section[data-v-d8a7be9d]{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:24px}.term-config-title[data-v-d8a7be9d]{color:var(--text-color);font-size:15px;font-weight:600}.term-config-description[data-v-d8a7be9d]{color:var(--color-gray-7);font-size:13px;line-height:1.6}.term-config-control[data-v-d8a7be9d]{width:min(100%,280px)}.term-config-encoding[data-v-d8a7be9d]{display:flex;flex-wrap:wrap;gap:10px;width:100%}.term-config-encoding[data-v-d8a7be9d]>*{width:min(100%,180px)}.dterm-config[data-v-7bf7fe28]{height:100%;display:flex;flex-direction:column;color:var(--desktop-window-text);font-size:13px;overflow:hidden}.dterm-config__body[data-v-7bf7fe28]{flex:1;overflow-y:auto;padding:16px}.dterm-config__loading[data-v-7bf7fe28]{display:flex;align-items:center;justify-content:center;height:100%;color:var(--desktop-window-text-muted)}.dterm-config__footer[data-v-7bf7fe28]{display:flex;justify-content:flex-end;padding:12px 16px;flex-shrink:0}.dterm-btn[data-v-7bf7fe28]{background:var(--desktop-window-titlebar-bg);color:var(--desktop-window-text)}.dterm-btn[data-v-7bf7fe28]:hover:not(:disabled){background:var(--desktop-window-control-hover)}.dterm-btn[data-v-7bf7fe28]:disabled{opacity:.4;cursor:not-allowed}.dterm-btn--primary[data-v-7bf7fe28]{color:#1677ff;background:rgba(22,119,255,.1)}.dterm-btn--primary[data-v-7bf7fe28]:hover:not(:disabled){background:rgba(22,119,255,.2)}.dterm-field[data-v-7bf7fe28]{margin-bottom:20px}.dterm-field--switch[data-v-7bf7fe28]{display:flex;align-items:center;justify-content:space-between;gap:16px}.dterm-field__title[data-v-7bf7fe28]{margin-bottom:4px;font-size:14px;font-weight:600}.dterm-field__hint[data-v-7bf7fe28]{margin-bottom:8px;color:var(--desktop-window-text-secondary);line-height:1.5}.desktop-terminal-selector[data-v-b5231efc]{height:100%;padding:20px 24px;display:flex;flex-direction:column;gap:16px;overflow:hidden}.dts-toolbar[data-v-b5231efc]{display:flex;align-items:center;justify-content:flex-end;gap:16px;flex-shrink:0}.dts-search[data-v-b5231efc]{display:flex;align-items:center;gap:8px;width:100%;max-width:320px}.dts-search-input-wrap[data-v-b5231efc]{flex:1;position:relative}.dts-search-icon[data-v-b5231efc]{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--desktop-window-text-muted);font-size:14px;pointer-events:none}.dts-search-input[data-v-b5231efc]{width:100%;padding:7px 10px 7px 30px;background:var(--desktop-window-titlebar-bg);border:1px solid var(--desktop-window-border);border-radius:6px;color:var(--desktop-window-text);font-size:13px;outline:none;transition:border-color .2s}.dts-search-input[data-v-b5231efc]::placeholder{color:var(--desktop-window-text-muted)}.dts-search-input[data-v-b5231efc]:focus{border-color:var(--desktop-window-border)}.dts-list-wrap[data-v-b5231efc]{flex:1;overflow-y:auto;border:1px solid var(--desktop-window-border);border-radius:8px;padding:16px}.dts-grid[data-v-b5231efc]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.dts-card[data-v-b5231efc]{display:flex;align-items:center;gap:12px;padding:16px;background:var(--desktop-window-titlebar-bg);border:1px solid var(--desktop-window-border);border-radius:8px;cursor:pointer;transition:all .2s}.dts-card[data-v-b5231efc]:hover:not(.dts-card--disabled){background:var(--desktop-window-control-hover);border-color:var(--desktop-window-border)}.dts-card--disabled[data-v-b5231efc]{opacity:.5;cursor:not-allowed}.dts-card__icon[data-v-b5231efc]{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--desktop-window-control-hover);border-radius:8px;font-size:20px;color:var(--desktop-window-text)}.dts-card__info[data-v-b5231efc]{flex:1;min-width:0}.dts-card__name[data-v-b5231efc]{font-size:14px;font-weight:500;color:var(--desktop-window-text);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dts-card__status[data-v-b5231efc]{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--desktop-window-text-muted)}.status-icon[data-v-b5231efc]{font-size:12px}.status-icon--yes[data-v-b5231efc]{color:var(--color-green-5, #52c41a)}.status-icon--no[data-v-b5231efc]{color:var(--color-red-5, #ff4d4f)}.dts-loading[data-v-b5231efc],.dts-empty[data-v-b5231efc]{height:100%;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--desktop-window-text-muted)}.dts-list-wrap[data-v-b5231efc]::-webkit-scrollbar{width:6px}.dts-list-wrap[data-v-b5231efc]::-webkit-scrollbar-track{background:transparent}.dts-list-wrap[data-v-b5231efc]::-webkit-scrollbar-thumb{background:var(--desktop-window-border);border-radius:3px}
@@ -1 +0,0 @@
1
- .profile-section[data-v-fb32be8d]{margin-top:16px;padding:16px;border-radius:20px;background:rgba(var(--v-theme-on-surface),.035)}.profile-section h3[data-v-fb32be8d]{margin:0 0 12px;color:var(--text-color);font-size:15px}.profile-form-stack[data-v-fb32be8d],.two-fa-setup[data-v-fb32be8d]{display:flex;flex-direction:column;gap:10px}.profile-actions[data-v-fb32be8d]{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.qrcode[data-v-fb32be8d]{align-self:flex-start;border-radius:8px}.api-key-display[data-v-fb32be8d]{display:flex;min-width:0;align-items:center;gap:8px;margin-bottom:12px}.api-key-chip[data-v-fb32be8d]{max-width:100%;overflow:hidden;font-family:monospace}.api-key-chip[data-v-fb32be8d] .v-chip__content{overflow:hidden;text-overflow:ellipsis}.desktop-login-overlay[data-v-bf1b6f78]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:500;background:var(--desktop-login-overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.desktop-login-window[data-v-bf1b6f78]{position:absolute;width:380px;max-width:100vw;max-height:100vh;box-sizing:border-box;border:1px solid var(--desktop-window-border);border-radius:10px;box-shadow:0 8px 32px var(--desktop-window-shadow);overflow:hidden;animation:loginWindowAppear-bf1b6f78 .5s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;transition:border-radius .2s ease,box-shadow .2s ease}.desktop-login-window.is-dragging[data-v-bf1b6f78]{opacity:1;transition:none}@keyframes loginWindowAppear-bf1b6f78{0%{opacity:0}to{opacity:1}}.window__titlebar[data-v-bf1b6f78]{display:flex;align-items:center;justify-content:space-between;height:38px;padding:0 8px 0 12px;background:var(--desktop-window-titlebar-bg);cursor:default;-webkit-user-select:none;user-select:none;flex-shrink:0}.window__titlebar-left[data-v-bf1b6f78]{display:flex;align-items:center;gap:8px;overflow:hidden}.window__icon[data-v-bf1b6f78]{font-size:14px;flex-shrink:0;display:flex;align-items:center;color:var(--desktop-window-text)}.window__logo-img[data-v-bf1b6f78]{width:14px;height:14px}.window__title[data-v-bf1b6f78]{font-size:12px;color:var(--desktop-window-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.window__controls[data-v-bf1b6f78]{display:flex;align-items:center;gap:2px;flex-shrink:0}.window__control[data-v-bf1b6f78]{width:32px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:4px;cursor:pointer;color:var(--desktop-window-text-secondary);font-size:12px;transition:background-color .12s}.window__control[data-v-bf1b6f78]:hover{background-color:var(--desktop-window-control-hover);color:var(--desktop-window-text)}.window__control--close[data-v-bf1b6f78]:hover{background-color:var(--desktop-window-control-close-hover-bg);color:var(--desktop-window-control-close-hover-text)}.window__control--disabled[data-v-bf1b6f78]{opacity:.3;cursor:not-allowed}.window__control--disabled[data-v-bf1b6f78]:hover{background-color:transparent;color:var(--desktop-window-text-secondary)}.desktop-login-body[data-v-bf1b6f78]{padding:20px 28px 28px;min-height:0;overflow-y:auto}.desktop-login-subtitle[data-v-bf1b6f78]{text-align:center;color:var(--desktop-window-text-muted);font-size:13px;margin:0 0 20px}.desktop-login-form[data-v-bf1b6f78],.desktop-login-fields-group[data-v-bf1b6f78]{display:flex;flex-direction:column;gap:12px}.desktop-login-field[data-v-bf1b6f78]{display:flex;align-items:center;background:var(--desktop-login-input-bg);border:1px solid var(--desktop-login-input-border);border-radius:8px;padding:0 12px;transition:all .2s}.desktop-login-field[data-v-bf1b6f78]:focus-within{border-color:var(--desktop-login-input-border-focus);background:var(--desktop-login-input-bg)}.desktop-login-field .field-icon[data-v-bf1b6f78]{color:var(--desktop-window-text-muted);font-size:15px;flex-shrink:0}.desktop-login-field input[data-v-bf1b6f78]{flex:1;background:transparent;border:none;outline:none;padding:11px 10px;color:var(--desktop-login-input-text);font-size:14px}.desktop-login-field input[data-v-bf1b6f78]::placeholder{color:var(--desktop-login-input-placeholder)}.desktop-login-field input[data-v-bf1b6f78]:-webkit-autofill{-webkit-text-fill-color:var(--desktop-login-input-text)!important;-webkit-box-shadow:0 0 0 1000px transparent inset!important;background-color:transparent!important;transition:background-color 99999s ease-in-out 0s}.desktop-login-btn[data-v-bf1b6f78]{margin-top:4px;padding:10px 0;background:#1677ff;border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px}.desktop-login-btn[data-v-bf1b6f78]:hover:not(:disabled){background:#4096ff}.desktop-login-btn[data-v-bf1b6f78]:active:not(:disabled){transform:translateY(0)}.desktop-login-btn[data-v-bf1b6f78]:disabled{opacity:.7;cursor:not-allowed}.desktop-login-footer[data-v-bf1b6f78]{text-align:center;margin-top:16px;font-size:12px;color:var(--desktop-login-footer-text)}.desktop-login-footer a[data-v-bf1b6f78]{color:var(--desktop-login-footer-link);text-decoration:underline}.desktop-login-footer a[data-v-bf1b6f78]:hover{color:var(--desktop-login-footer-link-hover)}.desktop-login-center[data-v-bf1b6f78]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:180px;gap:16px}.desktop-login-center p[data-v-bf1b6f78]{color:var(--desktop-window-text-secondary);font-size:14px;margin:0}.login-state-icon[data-v-bf1b6f78]{font-size:48px}.login-state-icon.spinning[data-v-bf1b6f78]{color:#1677ff;animation:spin-bf1b6f78 1s linear infinite}.login-state-icon.success[data-v-bf1b6f78]{color:#52c41a;animation:popIn-bf1b6f78 .4s cubic-bezier(.16,1,.3,1)}@keyframes spin-bf1b6f78{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes popIn-bf1b6f78{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.desktop-user-info[data-v-47dc2487]{padding:24px;height:100%;overflow-y:auto;color:var(--desktop-window-text)}.info-section[data-v-47dc2487]{background:var(--desktop-window-titlebar-bg);border:1px solid var(--desktop-window-border);border-radius:8px;padding:20px;margin-bottom:20px}.info-section[data-v-47dc2487]:last-child{margin-bottom:0}.section-title[data-v-47dc2487]{font-size:16px;font-weight:600;margin-top:0;margin-bottom:16px;color:var(--desktop-window-text);border-bottom:1px solid var(--desktop-window-border);padding-bottom:12px}.info-grid[data-v-47dc2487]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.info-item[data-v-47dc2487]{display:flex;flex-direction:column;gap:4px}.info-item.full-width[data-v-47dc2487]{grid-column:1/-1}.info-label[data-v-47dc2487]{font-size:12px;color:var(--desktop-window-text-secondary)}.info-value[data-v-47dc2487]{font-size:14px;background:var(--desktop-window-titlebar-bg);padding:6px 12px;border-radius:4px;border:1px solid var(--desktop-window-border);word-break:break-all}.password-form[data-v-47dc2487]{display:flex;flex-direction:column;gap:12px;max-width:300px}.form-actions[data-v-47dc2487]{display:flex;gap:8px;margin-top:4px}.mr-8[data-v-47dc2487]{margin-right:8px}.two-fa-setup[data-v-47dc2487]{background:var(--desktop-window-titlebar-bg);padding:16px;border-radius:6px;border:1px solid var(--desktop-window-border)}.two-fa-instructions[data-v-47dc2487]{font-size:13px;color:var(--desktop-window-text-secondary);line-height:1.6;margin-top:0;margin-bottom:16px}.qrcode-container[data-v-47dc2487]{margin-bottom:16px}.qrcode-container img[data-v-47dc2487]{height:160px;border-radius:6px;border:4px solid #fff}.two-fa-form[data-v-47dc2487]{display:flex;gap:8px;max-width:400px}.api-key-desc[data-v-47dc2487]{font-size:13px;color:var(--desktop-window-text-secondary);margin-top:0;margin-bottom:12px}.api-key-display[data-v-47dc2487]{display:flex;align-items:center;justify-content:space-between;background:var(--desktop-window-titlebar-bg);padding:10px 12px;border-radius:6px;border:1px solid var(--desktop-window-border);margin-bottom:16px;font-family:monospace}.api-key-display.empty[data-v-47dc2487]{color:var(--desktop-window-text-muted);justify-content:flex-start}.api-key-text[data-v-47dc2487]{word-break:break-all;margin-right:12px}.api-key-actions[data-v-47dc2487]{display:flex;gap:8px}.desktop-users[data-v-bd346cdb]{height:100%;padding:20px 24px;display:flex;flex-direction:column;gap:12px;overflow:hidden}.du-toolbar[data-v-bd346cdb]{display:flex;align-items:center;gap:12px;flex-shrink:0}.du-search[data-v-bd346cdb]{flex:1;position:relative;max-width:320px}.du-search__icon[data-v-bd346cdb]{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--desktop-window-text-muted);font-size:14px;pointer-events:none}.du-search__input[data-v-bd346cdb]{width:100%;padding:7px 10px 7px 30px;background:var(--desktop-window-titlebar-bg);border:1px solid var(--desktop-window-border);border-radius:6px;color:var(--desktop-window-text);font-size:13px;outline:none;transition:border-color .2s}.du-search__input[data-v-bd346cdb]::placeholder{color:var(--desktop-window-text-muted)}.du-search__input[data-v-bd346cdb]:focus{border-color:var(--desktop-window-border)}.du-btn[data-v-bd346cdb]{padding:7px 16px;border:none;border-radius:6px;font-size:13px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .2s;color:var(--desktop-window-text);white-space:nowrap}.du-btn[data-v-bd346cdb]:disabled{opacity:.5;cursor:not-allowed}.du-btn--primary[data-v-bd346cdb]{background:var(--color-blue-5, #1677ff);color:#fff}.du-btn--primary[data-v-bd346cdb]:hover:not(:disabled){background:var(--color-blue-6, #4096ff)}.du-btn--default[data-v-bd346cdb]{background:var(--desktop-window-titlebar-bg);border:1px solid var(--desktop-window-border)}.du-btn--default[data-v-bd346cdb]:hover:not(:disabled){background:var(--desktop-window-control-hover)}.du-btn--danger[data-v-bd346cdb]{background:var(--color-red-5, #ff4d4f);color:#fff}.du-btn--danger[data-v-bd346cdb]:hover:not(:disabled){background:var(--color-red-6, #ff7875)}.du-table-wrap[data-v-bd346cdb]{flex:1;overflow-y:auto;border:1px solid var(--desktop-window-border);border-radius:8px}.du-table[data-v-bd346cdb]{width:100%;border-collapse:collapse;font-size:13px}.du-table th[data-v-bd346cdb]{text-align:left;padding:10px 12px;color:var(--desktop-window-text-secondary);font-weight:500;font-size:12px;text-transform:uppercase;letter-spacing:.3px;background:var(--desktop-window-titlebar-bg);border-bottom:1px solid var(--desktop-window-border);white-space:nowrap}.du-table td[data-v-bd346cdb]{padding:10px 12px;color:var(--desktop-window-text);border-bottom:1px solid var(--desktop-window-border)}.du-table__row[data-v-bd346cdb]{transition:background .15s}.du-table__row[data-v-bd346cdb]:hover{background:var(--desktop-window-control-hover)}.du-table__empty[data-v-bd346cdb]{text-align:center;padding:40px 12px}.du-table__col--name[data-v-bd346cdb]{min-width:140px}.du-table__col--perm[data-v-bd346cdb]{min-width:80px}.du-table__col--time[data-v-bd346cdb]{min-width:140px;white-space:nowrap}.du-table__col--inst[data-v-bd346cdb]{text-align:center;min-width:60px}.du-table__col--badge[data-v-bd346cdb]{text-align:center;min-width:50px}.du-table__col--actions[data-v-bd346cdb]{min-width:120px;text-align:right}.du-user-name[data-v-bd346cdb]{display:flex;align-items:center;gap:6px}.du-user-name__icon[data-v-bd346cdb]{color:var(--desktop-window-text-muted);font-size:14px}.du-perm-badge[data-v-bd346cdb]{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500}.du-perm-badge--admin[data-v-bd346cdb]{background:rgba(255,193,7,.15);color:#ffc107}.du-perm-badge--user[data-v-bd346cdb]{background:rgba(22,119,255,.15);color:#1677ff}.du-badge-icon[data-v-bd346cdb]{font-size:14px}.du-badge-icon--yes[data-v-bd346cdb]{color:var(--color-green-5, #52c41a)}.du-badge-icon--no[data-v-bd346cdb]{color:var(--desktop-window-text-muted)}.du-action-btns[data-v-bd346cdb]{display:flex;justify-content:flex-end;gap:4px}.du-action-btn[data-v-bd346cdb]{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:4px;cursor:pointer;font-size:13px;transition:all .15s;color:var(--desktop-window-text-secondary);background:transparent}.du-action-btn[data-v-bd346cdb]:hover{background:var(--desktop-window-control-hover);color:var(--desktop-window-text)}.du-action-btn--delete[data-v-bd346cdb]:hover{background:rgba(255,77,79,.15);color:#ff4d4f}.du-action-btn--assign[data-v-bd346cdb]:hover{background:rgba(22,119,255,.15);color:#1677ff}.du-pagination[data-v-bd346cdb]{display:flex;align-items:center;justify-content:center;gap:12px;flex-shrink:0;padding:4px 0}.du-page-btn[data-v-bd346cdb]{padding:4px 12px;border:1px solid var(--desktop-window-border);border-radius:4px;background:transparent;color:var(--desktop-window-text-secondary);font-size:12px;cursor:pointer;transition:all .15s}.du-page-btn[data-v-bd346cdb]:hover:not(:disabled){border-color:var(--desktop-window-border);color:var(--desktop-window-text)}.du-page-btn[data-v-bd346cdb]:disabled{opacity:.3;cursor:not-allowed}.du-page-info[data-v-bd346cdb]{font-size:12px;color:var(--desktop-window-text-muted)}.du-loading[data-v-bd346cdb],.du-empty[data-v-bd346cdb]{font-size:13px;color:var(--desktop-window-text-muted)}.du-form-group[data-v-bd346cdb]{margin-bottom:14px}.du-form-group[data-v-bd346cdb]:last-child{margin-bottom:0}.du-form-label[data-v-bd346cdb]{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--desktop-window-text-secondary);margin-bottom:6px;font-weight:500}.du-form-input[data-v-bd346cdb]{width:100%;padding:8px 10px;background:var(--desktop-window-titlebar-bg);border:1px solid var(--desktop-window-border);border-radius:6px;color:var(--desktop-window-text);font-size:13px;outline:none;transition:border-color .2s;box-sizing:border-box}.du-form-input[data-v-bd346cdb]::placeholder{color:var(--desktop-window-text-muted)}.du-form-input[data-v-bd346cdb]:focus{border-color:var(--desktop-window-border)}.du-form-input[data-v-bd346cdb]:disabled{opacity:.5}.du-form-hint[data-v-bd346cdb]{display:block;font-size:11px;color:var(--desktop-window-text-muted);margin-top:4px}.du-form-error[data-v-bd346cdb]{padding:8px 10px;background:rgba(255,77,79,.1);border:1px solid rgba(255,77,79,.2);border-radius:6px;color:#ff4d4f;font-size:12px;margin-top:8px}.du-radio-group[data-v-bd346cdb]{display:flex;gap:8px}.du-radio[data-v-bd346cdb]{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;background:var(--desktop-window-titlebar-bg);border:1px solid var(--desktop-window-border);border-radius:6px;cursor:pointer;transition:all .15s;font-size:13px;color:var(--desktop-window-text-secondary)}.du-radio input[data-v-bd346cdb]{display:none}.du-radio--active[data-v-bd346cdb]{border-color:var(--color-blue-5, #1677ff);background:rgba(22,119,255,.1);color:var(--desktop-window-text)}.du-radio[data-v-bd346cdb]:hover{border-color:var(--desktop-window-border)}.du-delete-text[data-v-bd346cdb]{font-size:13px;color:var(--desktop-window-text);line-height:1.6;margin:0}.du-assign-layout[data-v-bd346cdb]{display:flex;flex:1;gap:12px;padding:16px;overflow:hidden}.du-assign-panel[data-v-bd346cdb]{flex:1;display:flex;flex-direction:column;background:var(--desktop-window-titlebar-bg);border:1px solid var(--desktop-window-border);border-radius:8px;overflow:hidden}.du-assign-panel--assigned[data-v-bd346cdb]{max-width:280px;flex:0 0 280px}.du-assign-panel--browse[data-v-bd346cdb]{flex:1}.du-assign-panel__header[data-v-bd346cdb]{display:flex;align-items:center;gap:6px;padding:10px 12px;font-size:12px;font-weight:600;color:var(--desktop-window-text);background:var(--desktop-window-titlebar-bg);border-bottom:1px solid var(--desktop-window-border);text-transform:uppercase;letter-spacing:.3px}.du-assign-panel__body[data-v-bd346cdb]{flex:1;overflow-y:auto;padding:8px}.du-assign-count[data-v-bd346cdb]{margin-left:auto;background:rgba(22,119,255,.2);color:#1677ff;font-size:11px;padding:1px 7px;border-radius:10px;font-weight:600}.du-assign-empty[data-v-bd346cdb]{text-align:center;padding:24px 12px;font-size:13px;color:var(--desktop-window-text-muted)}.du-assign-item[data-v-bd346cdb]{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:6px;transition:background .15s;cursor:default}.du-assign-item[data-v-bd346cdb]:hover{background:var(--desktop-window-control-hover)}.du-assign-item--selected[data-v-bd346cdb]{background:rgba(22,119,255,.06);border:1px solid rgba(22,119,255,.15)}.du-assign-item__info[data-v-bd346cdb]{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.du-assign-item__name[data-v-bd346cdb]{font-size:13px;color:var(--desktop-window-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.du-assign-item__node[data-v-bd346cdb]{font-size:11px;color:var(--desktop-window-text-muted);font-family:monospace}.du-assign-item__status[data-v-bd346cdb]{font-size:11px;padding:1px 6px;border-radius:3px;display:inline-block;width:fit-content}.du-assign-item__status--3[data-v-bd346cdb]{background:rgba(82,196,26,.15);color:#52c41a}.du-assign-item__status--0[data-v-bd346cdb]{background:var(--desktop-window-titlebar-bg);color:var(--desktop-window-text-muted)}.du-assign-item__status--2[data-v-bd346cdb]{background:rgba(250,173,20,.15);color:#faad14}.du-assign-item__status--1[data-v-bd346cdb],.du-assign-item__status---1[data-v-bd346cdb]{background:rgba(255,77,79,.15);color:#ff4d4f}.du-assign-item__remove[data-v-bd346cdb],.du-assign-item__add[data-v-bd346cdb]{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:4px;cursor:pointer;font-size:13px;transition:all .15s;flex-shrink:0;background:transparent;color:var(--desktop-window-text-muted)}.du-assign-item__remove[data-v-bd346cdb]:hover{background:rgba(255,77,79,.15);color:#ff4d4f}.du-assign-item__add[data-v-bd346cdb]:hover{background:rgba(22,119,255,.15);color:#1677ff}.du-assign-item__check[data-v-bd346cdb]{color:#52c41a;font-size:14px;flex-shrink:0}.du-assign-browse-toolbar[data-v-bd346cdb]{display:flex;gap:8px;padding:8px;border-bottom:1px solid var(--desktop-window-border)}.du-assign-node-select[data-v-bd346cdb]{flex-shrink:0}.du-assign-select[data-v-bd346cdb]{padding:5px 8px;background:var(--desktop-window-titlebar-bg);border:1px solid var(--desktop-window-border);border-radius:4px;color:var(--desktop-window-text);font-size:12px;outline:none;cursor:pointer;max-width:180px}.du-assign-select option[data-v-bd346cdb]{background:var(--desktop-window-bg);color:var(--desktop-window-text)}.du-assign-select[data-v-bd346cdb]:focus{border-color:var(--desktop-window-border)}.du-assign-search[data-v-bd346cdb]{flex:1}.du-assign-search__input[data-v-bd346cdb]{width:100%;padding:5px 8px;background:var(--desktop-window-titlebar-bg);border:1px solid var(--desktop-window-border);border-radius:4px;color:var(--desktop-window-text);font-size:12px;outline:none;box-sizing:border-box}.du-assign-search__input[data-v-bd346cdb]::placeholder{color:var(--desktop-window-text-muted)}.du-assign-search__input[data-v-bd346cdb]:focus{border-color:var(--desktop-window-border)}.du-assign-pagination[data-v-bd346cdb]{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px;border-top:1px solid var(--desktop-window-border)}.du-table-wrap[data-v-bd346cdb]::-webkit-scrollbar{width:4px}.du-table-wrap[data-v-bd346cdb]::-webkit-scrollbar-track{background:transparent}.du-table-wrap[data-v-bd346cdb]::-webkit-scrollbar-thumb{background:var(--desktop-window-border);border-radius:2px}.du-assign-panel__body[data-v-bd346cdb]::-webkit-scrollbar{width:4px}.du-assign-panel__body[data-v-bd346cdb]::-webkit-scrollbar-track{background:transparent}.du-assign-panel__body[data-v-bd346cdb]::-webkit-scrollbar-thumb{background:var(--desktop-window-border);border-radius:2px}.StatusBlock .value[data-v-69b773f8]{font-weight:800;font-size:var(--font-h1);margin-top:4px}.customer-page[data-v-a7eab196]{width:100%;min-height:100%;overflow-x:hidden}.customer-page-container[data-v-a7eab196]{max-width:var(--app-max-width);margin:0 auto;padding:20px 24px 32px}.customer-page-row[data-v-a7eab196]{width:100%;margin:0}@media (max-width: 992px){.customer-page-container[data-v-a7eab196]{padding:16px 12px 28px}}.account-input-container input:-webkit-autofill{-webkit-text-fill-color:var(--color-gray-8)!important;-webkit-box-shadow:0 0 0px 1000px transparent inset!important;background-color:transparent!important;background-image:none;transition:background-color 99999s ease-in-out 0s}.account-input-container input{background-color:transparent;caret-color:#fff}.login-panel[data-v-89d40763]{margin:0 auto;transition:all .4s;width:100%;height:100%;overflow:hidden;background-color:var(--login-panel-bg);color:var(--text-color)}.login-panel .login-panel-body[data-v-89d40763]{position:relative;padding:32px;min-height:322px}.login-card-host[data-v-89d40763]{width:100%;height:100%}.login-actions[data-v-89d40763]{position:absolute;top:18px;right:18px;z-index:10}.login-title[data-v-89d40763]{margin:0 0 20px;font-size:22px;line-height:1.35;font-weight:600}.login-subtitle[data-v-89d40763]{margin:0 0 20px;color:var(--text-color)}.login-actions-row[data-v-89d40763]{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:24px}.sso-divider[data-v-89d40763]{display:flex;align-items:center;gap:12px;margin:20px 0;color:var(--text-color);font-size:var(--font-body)}.sso-divider .v-divider[data-v-89d40763]{flex:1}.sso-icon[data-v-89d40763]{width:16px;height:16px;object-fit:contain}@media (max-width: 480px){.login-panel .login-panel-body[data-v-89d40763]{padding:24px}}.mcsmanager-link[data-v-89d40763]{font-size:var(--font-body);text-align:right;color:var(--color-gray-7)}.mcsmanager-link a[data-v-89d40763]{color:var(--color-gray-7)!important;text-decoration:underline}.glitch-wrapper[data-v-89d40763]{position:relative;overflow:hidden}.glitch[data-v-89d40763]{position:relative;font-weight:600}.glitch[data-v-89d40763]:before,.glitch[data-v-89d40763]:after{content:attr(data-text);position:absolute;top:0;left:0;width:100%;height:100%;background:transparent;overflow:hidden;opacity:0;pointer-events:none}.glitch[data-v-89d40763]:before{color:#ff0040}.glitch[data-v-89d40763]:after{color:#0ff}.login-wrapper-fixed[data-v-da45d43a]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:24px;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;-ms-overflow-style:none}.login-wrapper-fixed[data-v-da45d43a]::-webkit-scrollbar{width:0!important;height:0!important;background:transparent!important}.login-wrapper-fixed[data-v-da45d43a]::-webkit-scrollbar-thumb,.login-wrapper-fixed[data-v-da45d43a]::-webkit-scrollbar-track{background:transparent!important;border:0!important;box-shadow:none!important}.login-card-container[data-v-da45d43a]{width:min(100%,420px)}@media (max-width: 480px){.login-wrapper-fixed[data-v-da45d43a]{align-items:flex-start;padding:16px}}.sso-bind-container[data-v-d5887a4f]{display:flex;justify-content:center;align-items:center;padding:24px}.sso-bind-card[data-v-d5887a4f]{max-width:440px;width:100%;background-color:var(--login-panel-bg)}.sso-bind-body[data-v-d5887a4f]{padding:28px 24px;min-height:300px}.warning-dialog__body[data-v-e1e88dff]{padding:8px 24px 12px;text-align:center}.warning-dialog__message[data-v-e1e88dff]{margin:0 auto 16px;max-width:100%;color:rgb(var(--v-theme-on-surface));font:inherit;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.warning-dialog__actions[data-v-e1e88dff]{padding:8px 16px 16px}.user-access-page[data-v-bfe0c9e5]{width:100%;max-width:var(--app-max-width);margin:0 auto;padding:16px 24px 32px;box-sizing:border-box}.user-access-card[data-v-bfe0c9e5]{overflow:hidden}@media (max-width: 992px){.user-access-page[data-v-bfe0c9e5]{padding:12px 12px 28px}}.user-page[data-v-57e15bc0]{width:100%;min-height:100%;overflow-x:hidden}.user-page-container[data-v-57e15bc0]{max-width:var(--app-max-width);margin:0 auto;padding:20px 24px 32px}.user-search-row[data-v-57e15bc0]{display:flex;width:100%;gap:8px}.role-select[data-v-57e15bc0]{flex:0 0 120px}.user-table-card[data-v-57e15bc0]{overflow:hidden}.user-table[data-v-57e15bc0]{width:100%}@media (max-width: 992px){.user-page-container[data-v-57e15bc0]{padding:16px 12px 28px}.user-search-row[data-v-57e15bc0]{flex-direction:column}.role-select[data-v-57e15bc0]{flex-basis:auto}}
@@ -1 +0,0 @@
1
- .dialog-form[data-v-5e5851c8]{display:flex;flex-direction:column;gap:14px}.dialog-help[data-v-5e5851c8]{color:var(--color-gray-7);font-size:12px}.upload-container[data-v-bd0a501e]{min-height:110px;display:flex;flex-direction:column;justify-content:center;gap:14px}.image-view[data-v-0130dca5]{min-height:240px;margin-bottom:12px;display:flex;justify-content:center;align-items:center}.image-name[data-v-0130dca5]{text-align:center}.editor-wrapper[data-v-d58e7142]{height:var(--v2127b31e);overflow:auto;background:#1e1e1e;border-radius:6px;touch-action:pan-y}@media (max-width: 768px){.editor-wrapper[data-v-d58e7142]{height:var(--v5c9baeb6);border-radius:0}}.editor-container[data-v-d58e7142]{min-height:100%;transform-origin:0 0}.file-editor[data-v-d58e7142] .cm-editor{min-height:var(--v2127b31e);transition:font-size .1s ease-out}.file-editor[data-v-d58e7142] .cm-lint-marker-error{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23dc3545'%3E%3Cpath d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z'/%3E%3C/svg%3E");width:1.2em;height:1.2em;background-size:contain;margin-left:.2em;transition:all .1s ease-out}.file-editor[data-v-d58e7142] .cm-lintRange-error{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6 3'%3E%3Cg fill='%23dc3545'%3E%3Cpolygon points='5.5,0 2.5,3 1.1,3 4.1,0'/%3E%3Cpolygon points='4,0 6,2 6,0.6 5.4,0'/%3E%3Cpolygon points='0,2 1,3 2.4,3 0,0.6'/%3E%3C/g%3E%3C/svg%3E");background-position:bottom left;background-repeat:repeat-x;background-size:auto calc(.15em + 1px)}.dfe[data-v-200ec863]{height:100%;display:flex;flex-direction:column;color:var(--desktop-window-text);font-size:13px;overflow:hidden}.dfe-toolbar[data-v-200ec863]{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;flex-shrink:0}.dfe-toolbar__left[data-v-200ec863],.dfe-toolbar__right[data-v-200ec863]{display:flex;align-items:center;gap:6px}.dfe-filename[data-v-200ec863]{font-size:13px;font-weight:500;color:var(--desktop-window-text)}.dfe-btn[data-v-200ec863]{background:var(--desktop-window-titlebar-bg);color:var(--desktop-window-text)}.dfe-btn[data-v-200ec863]:hover:not(:disabled){background:var(--desktop-window-control-hover)}.dfe-btn[data-v-200ec863]:disabled{opacity:.4;cursor:not-allowed}.dfe-btn--primary[data-v-200ec863]{color:#52c41a;background:rgba(82,196,26,.1)}.dfe-btn--primary[data-v-200ec863]:hover:not(:disabled){background:rgba(82,196,26,.2)}.dfe-body[data-v-200ec863]{flex:1;overflow:hidden;padding:8px}.dfe-loading[data-v-200ec863]{padding:16px}.file-tabs-row[data-v-bf140866]{display:flex;align-items:center;flex-shrink:0;min-width:0;margin-bottom:12px}.file-tabs-row[data-v-bf140866] .v-tabs{min-width:0;flex:1}.file-folder-tab[data-v-bf140866]{position:relative;padding-inline:28px}.file-tab-label[data-v-bf140866]{transition:transform .16s ease}.file-tab-close[data-v-bf140866]{position:absolute;inset-inline-end:4px;top:50%;transform:translateY(-50%);opacity:0;pointer-events:none;transition:opacity .16s ease}.file-folder-tab:hover .file-tab-label[data-v-bf140866],.file-folder-tab:focus-visible .file-tab-label[data-v-bf140866],.file-folder-tab:has(.file-tab-close:focus-visible) .file-tab-label[data-v-bf140866]{transform:translate(-12px)}.file-folder-tab:hover .file-tab-close[data-v-bf140866],.file-folder-tab:focus-visible .file-tab-close[data-v-bf140866],.file-folder-tab:has(.file-tab-close:focus-visible) .file-tab-close[data-v-bf140866]{opacity:1;pointer-events:auto}.file-tabs-empty[data-v-bf140866]{display:flex;flex:1;min-height:240px;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:var(--text-color)}.file-tabs-empty p[data-v-bf140866]{margin:0}@media (hover: none){.file-folder-tab .file-tab-label[data-v-bf140866]{transform:translate(-12px)}.file-folder-tab .file-tab-close[data-v-bf140866]{opacity:1;pointer-events:auto}}.archive-preview[data-v-89686aa5]{display:flex;flex-direction:column;min-height:420px;width:100%;min-width:0}.archive-preview--compact[data-v-89686aa5]{min-height:0;height:100%;padding:12px;box-sizing:border-box}.archive-preview__table-wrap[data-v-89686aa5]{flex:1;min-height:0;overflow:auto}.archive-preview__name[data-v-89686aa5]{display:flex;align-items:center;gap:8px;min-width:0}.archive-preview[data-v-89686aa5] .v-table{width:100%!important;min-width:890px!important;background:transparent;color:var(--text-color)}.archive-preview[data-v-89686aa5] .v-data-table__th{background:var(--background-color, #f5f5f5);color:var(--text-color);font-size:11px;font-weight:600}.archive-preview[data-v-89686aa5] .v-data-table__td{border-bottom:1px solid var(--color-gray-4);font-size:12px;white-space:nowrap}.archive-preview--compact[data-v-89686aa5] .v-data-table__th{background:var(--background-color, #f5f5f5);color:var(--desktop-window-text-secondary, var(--text-color))}.archive-preview--compact[data-v-89686aa5] .v-data-table__td{color:var(--desktop-window-text, var(--text-color));border-bottom-color:var(--desktop-window-border, var(--color-gray-4))}.archive-preview[data-v-89686aa5] .v-data-table__tr:hover>td{background:var(--color-gray-2)}.archive-preview__name span[data-v-89686aa5]{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dfm[data-v-c8dc3471]{height:100%;display:flex;flex-direction:column;color:var(--desktop-window-text);font-size:13px;overflow:hidden}.dfm-toolbar[data-v-c8dc3471]{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;flex-shrink:0;flex-wrap:wrap}.dfm-toolbar__left[data-v-c8dc3471],.dfm-toolbar__right[data-v-c8dc3471]{display:flex;align-items:center;gap:6px}.dfm-toolbar__left[data-v-c8dc3471]{flex:1;min-width:0}.dfm-upload-progress[data-v-c8dc3471]{padding:6px 12px;flex-shrink:0}.dfm-upload-progress__info[data-v-c8dc3471]{display:flex;align-items:center;gap:4px;font-size:11px}.dfm-upload-progress__bar[data-v-c8dc3471]{margin:4px 0}.dfm-body[data-v-c8dc3471]{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;padding:0 12px 12px}.dfm-body>.v-alert[data-v-c8dc3471]{flex:0 0 auto}.dfm-nav[data-v-c8dc3471]{display:flex;align-items:center;flex-shrink:0;gap:8px;margin-bottom:8px}.dfm-breadcrumbs[data-v-c8dc3471]{border:1px solid var(--desktop-window-border);border-radius:6px;flex:1;min-width:0}.dfm-breadcrumbs__item[data-v-c8dc3471]{padding:6px 8px;cursor:pointer;display:inline-block;transition:all .2s;min-width:32px;text-align:center;font-size:12px}.dfm-breadcrumbs__item[data-v-c8dc3471]:hover{background:var(--desktop-window-control-hover)}.dfm-file-name[data-v-c8dc3471]{color:inherit;font-size:12px}.dfm-permission[data-v-c8dc3471]{display:flex;gap:24px;flex-wrap:wrap}.dfm-table-wrapper[data-v-c8dc3471]{position:relative;display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;-webkit-user-select:none;user-select:none}.dfm-table[data-v-c8dc3471]{flex:1;min-height:0;overflow:hidden;background:transparent}[data-v-c8dc3471] .dfm-table>.v-table__wrapper{min-height:0;overflow:auto;overscroll-behavior:contain}[data-v-c8dc3471] .dfm-table .v-data-table__th,[data-v-c8dc3471] .dfm-table .v-data-table__td{font-size:12px}[data-v-c8dc3471] .dfm-table .v-data-table__th{border-bottom:1px solid var(--desktop-window-border)!important;color:var(--desktop-window-text-secondary)!important;font-size:11px!important;padding:6px 10px!important}[data-v-c8dc3471] .dfm-table .v-data-table__td{border-bottom:1px solid rgba(var(--v-border-color),var(--v-border-opacity))!important;padding:2px 8px!important;line-height:1.4}[data-v-c8dc3471] .dfm-table tbody tr:hover>td{background:var(--desktop-window-control-hover)!important}[data-v-c8dc3471] .dfm-table .v-data-table-footer{flex-shrink:0;font-size:12px}[data-v-c8dc3471] .dfm-table .v-btn{font-size:11px}[data-v-c8dc3471] .dfm-table .v-data-table__tr--mobile{display:none!important}.dfm-drag-select-rect[data-v-c8dc3471]{position:absolute;background:rgba(22,119,255,.12);border-radius:3px;pointer-events:none;z-index:10}.dfm-action-btn[data-v-c8dc3471]{color:var(--desktop-window-text-muted);font-size:11px;padding:0 4px;min-width:20px;height:20px}.dfm-action-btn[data-v-c8dc3471]:hover{color:var(--desktop-window-text);background:var(--desktop-window-control-hover)}.dfm-dialog__warn-icon[data-v-c8dc3471]{font-size:36px;color:var(--color-warning, #faad14)}.dfm-dialog__desc[data-v-c8dc3471]{margin:0;color:var(--desktop-window-text);font-size:14px;text-align:center;line-height:1.6}.dfm-overwrite-options[data-v-c8dc3471]{display:flex;align-items:center;gap:8px;margin-top:4px}.dfm-btn[data-v-c8dc3471]{padding:7px 16px;border:none;border-radius:6px;font-size:13px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .2s;color:var(--desktop-window-text);white-space:nowrap}.dfm-btn[data-v-c8dc3471]:disabled{opacity:.5;cursor:not-allowed}.dfm-btn--primary[data-v-c8dc3471]{background:var(--color-blue-5, #1677ff);color:#fff}.dfm-btn--primary[data-v-c8dc3471]:hover:not(:disabled){background:var(--color-blue-6, #4096ff)}.dfm-btn--default[data-v-c8dc3471]{background:var(--desktop-window-titlebar-bg);border:1px solid var(--desktop-window-border)}.dfm-btn--default[data-v-c8dc3471]:hover:not(:disabled){background:var(--desktop-window-control-hover)}.dfm-vuetify[data-v-c8dc3471]{min-width:0}.dfm-vuetify .dfm-toolbar[data-v-c8dc3471]{display:flex;align-items:center;gap:8px;padding:8px 12px}.dfm-vuetify .dfm-toolbar>.v-input[data-v-c8dc3471]{max-width:260px}.dfm-nav[data-v-c8dc3471]{display:flex;align-items:center;gap:8px;padding:8px 12px}.dfm-breadcrumbs[data-v-c8dc3471]{display:flex;align-items:center;flex-wrap:wrap;gap:2px}.dfm-breadcrumb-separator[data-v-c8dc3471]{margin-left:8px;opacity:.5}.dfm-menu-list[data-v-c8dc3471]{display:flex;flex-direction:column;gap:2px;padding:8px!important}.dfm-menu-list .v-btn[data-v-c8dc3471]{justify-content:flex-start}.dfm-file-name[data-v-c8dc3471]{display:inline-flex;align-items:center;gap:8px}.dfm-empty[data-v-c8dc3471],.dfm-loading-dialog[data-v-c8dc3471]{display:flex;align-items:center;justify-content:center;gap:10px;padding:32px;opacity:.65}.dfm-dialog-label[data-v-c8dc3471]{margin:12px 0 4px;font-weight:600}.dfm-permission[data-v-c8dc3471]{margin:10px 0}.desktop-image-viewer[data-v-7d972d04]{display:flex;flex-direction:column;height:100%;color:var(--desktop-window-text)}.image-view[data-v-7d972d04]{flex:1;display:flex;justify-content:center;align-items:center;overflow:auto;padding:16px}.image-preview[data-v-7d972d04]{width:100%;height:100%;max-width:100%;max-height:100%}.image-footer[data-v-7d972d04]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background-color:var(--desktop-window-titlebar-bg)}.image-name[data-v-7d972d04]{font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:70%}.file-editor-card{display:flex;flex-direction:column;width:100%;min-height:0}.file-editor-content{flex:1;min-height:0;overflow:hidden}.file-editor-loading{display:grid;min-height:60vh;place-items:center}.file-editor-dialog--full .file-editor-card{height:100svh;border-radius:0!important}.file-manager-page[data-v-a1fed8c3]{width:100%;min-height:100%;overflow-x:hidden;box-sizing:border-box;transition:opacity .15s ease}.file-manager-container[data-v-a1fed8c3]{width:100%;max-width:var(--app-max-width);margin:0 auto;padding:20px 24px 32px;box-sizing:border-box}.file-manager-toolbar[data-v-a1fed8c3]{width:100%;margin-bottom:16px}.file-manager-toolbar>.v-col[data-v-a1fed8c3]{min-width:0}.file-manager-title[data-v-a1fed8c3],.file-manager-search[data-v-a1fed8c3],.file-manager-actions[data-v-a1fed8c3]{display:flex;align-items:center}.file-manager-title[data-v-a1fed8c3]{gap:10px;color:var(--text-color);font-size:20px;font-weight:600}.file-manager-search[data-v-a1fed8c3]{justify-content:center}.file-manager-actions[data-v-a1fed8c3]{justify-content:flex-end;flex-wrap:wrap;gap:8px}.file-upload-input[data-v-a1fed8c3]{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.file-manager-card[data-v-a1fed8c3]{overflow:hidden;background:var(--background-color-white)}.file-manager-card[data-v-a1fed8c3]>.v-card-text{padding:20px}.upload-status[data-v-a1fed8c3]{margin-bottom:12px}.upload-status-line[data-v-a1fed8c3],.upload-progress-line[data-v-a1fed8c3],.upload-task-list[data-v-a1fed8c3],.path-row[data-v-a1fed8c3]{display:flex;align-items:center}.upload-status-line[data-v-a1fed8c3]{min-width:0;gap:6px}.upload-file-name[data-v-a1fed8c3]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-task-list[data-v-a1fed8c3]{gap:3px}.upload-progress-line[data-v-a1fed8c3]{gap:12px;margin-top:4px;font-size:12px;white-space:nowrap}.path-row[data-v-a1fed8c3]{align-items:stretch;gap:10px;margin-bottom:16px}.disk-select[data-v-a1fed8c3]{flex:0 0 125px}.selected-count[data-v-a1fed8c3]{white-space:nowrap;color:var(--color-gray-7);font-size:12px}.selected-count-empty[data-v-a1fed8c3]{visibility:hidden}.file-name[data-v-a1fed8c3]{max-width:min(440px,42vw);justify-content:flex-start;color:inherit;text-transform:none}.file-name[data-v-a1fed8c3]:hover{color:rgb(var(--v-theme-primary))}.file-table[data-v-a1fed8c3]{background:transparent}.file-table[data-v-a1fed8c3] th,.file-table[data-v-a1fed8c3] td{white-space:nowrap}.file-breadcrumbs[data-v-a1fed8c3]{display:flex;flex:1;min-width:0;align-items:center;overflow-x:auto;padding:2px 8px;border-radius:16px;background:var(--color-gray-2)}.file-breadcrumbs .file-breadcrumbs-item[data-v-a1fed8c3]{min-width:32px;padding:0 8px;text-transform:none}.breadcrumb-separator[data-v-a1fed8c3]{color:var(--color-gray-7);font-size:12px}.dialog-stack[data-v-a1fed8c3]{display:flex;flex-direction:column;gap:12px}.dialog-help[data-v-a1fed8c3]{color:var(--color-gray-7);font-size:12px}.permission-grid[data-v-a1fed8c3]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}@media (max-width: 992px){.file-manager-container[data-v-a1fed8c3]{padding:16px 12px 28px}.file-manager-title[data-v-a1fed8c3]{font-size:18px}.file-manager-search[data-v-a1fed8c3],.file-manager-actions[data-v-a1fed8c3]{justify-content:flex-start}.path-row[data-v-a1fed8c3],.permission-grid[data-v-a1fed8c3]{grid-template-columns:1fr;flex-direction:column}.disk-select[data-v-a1fed8c3]{flex-basis:auto;width:100%}.file-name[data-v-a1fed8c3]{max-width:55vw}}