@nywqs/scada-engine 1.1.27 → 1.1.28

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.
@@ -1,16 +1,16 @@
1
- (function($e,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("@antv/x6"),require("@antv/x6-plugin-selection"),require("@antv/x6-plugin-snapline"),require("echarts")):typeof define=="function"&&define.amd?define(["exports","vue","@antv/x6","@antv/x6-plugin-selection","@antv/x6-plugin-snapline","echarts"],e):($e=typeof globalThis<"u"?globalThis:$e||self,e($e.ScadaEngine={},$e.Vue,$e.X6,$e.X6PluginSelection,$e.X6PluginSnapline,$e.echarts))})(this,function($e,e,Le,zt,mo,kc){"use strict";var M_=Object.defineProperty;var uc=$e=>{throw TypeError($e)};var R_=($e,e,Le)=>e in $e?M_($e,e,{enumerable:!0,configurable:!0,writable:!0,value:Le}):$e[e]=Le;var Se=($e,e,Le)=>R_($e,typeof e!="symbol"?e+"":e,Le),Gi=($e,e,Le)=>e.has($e)||uc("Cannot "+Le);var q=($e,e,Le)=>(Gi($e,e,"read from private field"),Le?Le.call($e):e.get($e)),Fe=($e,e,Le)=>e.has($e)?uc("Cannot add the same private member more than once"):e instanceof WeakSet?e.add($e):e.set($e,Le),Oe=($e,e,Le,zt)=>(Gi($e,e,"write to private field"),zt?zt.call($e,Le):e.set($e,Le),Le),Be=($e,e,Le)=>(Gi($e,e,"access private method"),Le);var fo=($e,e,Le,zt)=>({set _(mo){Oe($e,e,mo,Le)},get _(){return q($e,e,zt)}});/*!
2
- * @nywqs/scada-engine v1.1.27
1
+ (function(Ae,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("@antv/x6"),require("@antv/x6-plugin-selection"),require("@antv/x6-plugin-snapline"),require("echarts")):typeof define=="function"&&define.amd?define(["exports","vue","@antv/x6","@antv/x6-plugin-selection","@antv/x6-plugin-snapline","echarts"],e):(Ae=typeof globalThis<"u"?globalThis:Ae||self,e(Ae.ScadaEngine={},Ae.Vue,Ae.X6,Ae.X6PluginSelection,Ae.X6PluginSnapline,Ae.echarts))})(this,function(Ae,e,Le,Gt,go,kc){"use strict";var M_=Object.defineProperty;var uc=Ae=>{throw TypeError(Ae)};var R_=(Ae,e,Le)=>e in Ae?M_(Ae,e,{enumerable:!0,configurable:!0,writable:!0,value:Le}):Ae[e]=Le;var ve=(Ae,e,Le)=>R_(Ae,typeof e!="symbol"?e+"":e,Le),Hi=(Ae,e,Le)=>e.has(Ae)||uc("Cannot "+Le);var H=(Ae,e,Le)=>(Hi(Ae,e,"read from private field"),Le?Le.call(Ae):e.get(Ae)),Fe=(Ae,e,Le)=>e.has(Ae)?uc("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(Ae):e.set(Ae,Le),Pe=(Ae,e,Le,Gt)=>(Hi(Ae,e,"write to private field"),Gt?Gt.call(Ae,Le):e.set(Ae,Le),Le),Be=(Ae,e,Le)=>(Hi(Ae,e,"access private method"),Le);var po=(Ae,e,Le,Gt)=>({set _(go){Pe(Ae,e,go,Le)},get _(){return H(Ae,e,Gt)}});/*!
2
+ * @nywqs/scada-engine v1.1.28
3
3
  * Copyright (c) 2025 leoncheng
4
4
  * Licensed under proprietary license - see LICENSE file
5
5
  * Contact: nywqs@outlook.com
6
- */function _c(u){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(u){for(const t in u)if(t!=="default"){const l=Object.getOwnPropertyDescriptor(u,t);Object.defineProperty(r,t,l.get?l:{enumerable:!0,get:()=>u[t]})}}return r.default=u,Object.freeze(r)}const Xi=_c(kc);class Zi extends Le.Node{}(function(u){function r(t){const l=[],n=Le.Markup.getForeignObjectMarkup();return t?l.push({tagName:t,selector:"body"},n):l.push(n),l}u.config({view:"vue-shape-view",markup:r(),attrs:{body:{fill:"none",stroke:"none",refWidth:"100%",refHeight:"100%"},fo:{refWidth:"100%",refHeight:"100%"}},propHooks(t){if(t.markup==null){const l=t.primer;if(l){t.markup=r(l);let n={};switch(l){case"circle":n={refCx:"50%",refCy:"50%",refR:"50%"};break;case"ellipse":n={refCx:"50%",refCy:"50%",refRx:"50%",refRy:"50%"};break}t.attrs=Le.ObjectExt.merge({},{body:Object.assign({refWidth:null,refHeight:null},n)},t.attrs||{})}}return t}}),Le.Node.registry.register("vue-shape",u,!0)})(Zi||(Zi={}));var Nc=function(u,r){var t={};for(var l in u)Object.prototype.hasOwnProperty.call(u,l)&&r.indexOf(l)<0&&(t[l]=u[l]);if(u!=null&&typeof Object.getOwnPropertySymbols=="function")for(var n=0,l=Object.getOwnPropertySymbols(u);n<l.length;n++)r.indexOf(l[n])<0&&Object.prototype.propertyIsEnumerable.call(u,l[n])&&(t[l[n]]=u[l[n]]);return t};const es={};function xc(u){const{shape:r,component:t,inherit:l}=u,n=Nc(u,["shape","component","inherit"]);if(!r)throw new Error("should specify shape in config");es[r]={component:t},Le.Graph.registerNode(r,Object.assign({inherit:l||"vue-shape"},n),!0)}e.reactive({});class xr extends Le.NodeView{getComponentContainer(){return this.selectors&&this.selectors.foContent}confirmUpdate(r){const t=super.confirmUpdate(r);return this.handleAction(t,xr.action,()=>{this.renderVueComponent()})}targetId(){return`${this.graph.view.cid}:${this.cell.id}`}renderVueComponent(){this.unmountVueComponent();const r=this.getComponentContainer(),t=this.cell,l=this.graph;if(r){const{component:n}=es[t.shape];n&&(this.vm=e.createApp({render(){return e.h(n,{node:t,graph:l})},provide(){return{getNode:()=>t,getGraph:()=>l}}}),this.vm.mount(r))}}unmountVueComponent(){const r=this.getComponentContainer();return this.vm&&(this.vm.unmount(),this.vm=null),r&&(r.innerHTML=""),r}onMouseDown(r,t,l){const n=r.target;if(n.tagName.toLowerCase()==="input"){const i=n.getAttribute("type");if(i==null||["text","password","number","email","search","tel","url"].includes(i))return}super.onMouseDown(r,t,l)}unmount(){return this.unmountVueComponent(),super.unmount(),this}}(function(u){u.action="vue",u.config({bootstrap:[u.action],actions:{component:u.action}}),Le.NodeView.registry.register("vue-shape-view",u,!0)})(xr||(xr={}));const Sc={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 32 32"},Vc=e.defineComponent({name:"AlignHorizontalCenter",render:function(r,t){return e.openBlock(),e.createElementBlock("svg",Sc,t[0]||(t[0]=[e.createElementVNode("path",{d:"M24 18h-7v-4h3a2.002 2.002 0 0 0 2-2V8a2.002 2.002 0 0 0-2-2h-3V2h-2v4h-3a2.002 2.002 0 0 0-2 2v4a2.002 2.002 0 0 0 2 2h3v4H8a2.002 2.002 0 0 0-2 2v4a2.002 2.002 0 0 0 2 2h7v4h2v-4h7a2.002 2.002 0 0 0 2-2v-4a2.002 2.002 0 0 0-2-2zM12 8h8v4h-8zm12 16H8v-4h16z",fill:"currentColor"},null,-1)]))}}),Cc={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 32 32"},Ic=e.defineComponent({name:"AlignHorizontalLeft",render:function(r,t){return e.openBlock(),e.createElementBlock("svg",Cc,t[0]||(t[0]=[e.createElementVNode("path",{d:"M26 26H11a2.002 2.002 0 0 1-2-2v-4a2.002 2.002 0 0 1 2-2h15a2.002 2.002 0 0 1 2 2v4a2.002 2.002 0 0 1-2 2zm0-6.001L11 20v4h15z",fill:"currentColor"},null,-1),e.createElementVNode("path",{d:"M18 14h-7a2.002 2.002 0 0 1-2-2V8a2.002 2.002 0 0 1 2-2h7a2.002 2.002 0 0 1 2 2v4a2.002 2.002 0 0 1-2 2zm0-6.001L11 8v4h7z",fill:"currentColor"},null,-1),e.createElementVNode("path",{d:"M4 2h2v28H4z",fill:"currentColor"},null,-1)]))}}),Ac={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 32 32"},$c=e.defineComponent({name:"AlignHorizontalRight",render:function(r,t){return e.openBlock(),e.createElementBlock("svg",Ac,t[0]||(t[0]=[e.createElementVNode("path",{d:"M4 24v-4a2.002 2.002 0 0 1 2-2h15a2.002 2.002 0 0 1 2 2v4a2.002 2.002 0 0 1-2 2H6a2.002 2.002 0 0 1-2-2zm2 0h15v-4l-15-.001z",fill:"currentColor"},null,-1),e.createElementVNode("path",{d:"M12 12V8a2.002 2.002 0 0 1 2-2h7a2.002 2.002 0 0 1 2 2v4a2.002 2.002 0 0 1-2 2h-7a2.002 2.002 0 0 1-2-2zm2 0h7V8l-7-.001z",fill:"currentColor"},null,-1),e.createElementVNode("path",{d:"M28 30h-2V2h2z",fill:"currentColor"},null,-1)]))}}),Tc={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 32 32"},Bc=e.defineComponent({name:"AlignVerticalBottom",render:function(r,t){return e.openBlock(),e.createElementBlock("svg",Tc,t[0]||(t[0]=[e.createElementVNode("path",{d:"M2 26h28v2H2z",fill:"currentColor"},null,-1),e.createElementVNode("path",{d:"M24 23h-4a2.002 2.002 0 0 1-2-2v-7a2.002 2.002 0 0 1 2-2h4a2.002 2.002 0 0 1 2 2v7a2.002 2.002 0 0 1-2 2zm-4-9v7h4.001L24 14z",fill:"currentColor"},null,-1),e.createElementVNode("path",{d:"M12 23H8a2.002 2.002 0 0 1-2-2V6a2.002 2.002 0 0 1 2-2h4a2.002 2.002 0 0 1 2 2v15a2.002 2.002 0 0 1-2 2zM8 6v15h4.001L12 6z",fill:"currentColor"},null,-1)]))}}),Dc={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 32 32"},Pc=e.defineComponent({name:"AlignVerticalCenter",render:function(r,t){return e.openBlock(),e.createElementBlock("svg",Dc,t[0]||(t[0]=[e.createElementVNode("path",{d:"M30 15h-4v-3a2.002 2.002 0 0 0-2-2h-4a2.002 2.002 0 0 0-2 2v3h-4V8a2.002 2.002 0 0 0-2-2H8a2.002 2.002 0 0 0-2 2v7H2v2h4v7a2.002 2.002 0 0 0 2 2h4a2.002 2.002 0 0 0 2-2v-7h4v3a2.002 2.002 0 0 0 2 2h4a2.002 2.002 0 0 0 2-2v-3h4zM8 24V8h4l.001 16zm12-4v-8h4l.001 8z",fill:"currentColor"},null,-1)]))}}),Oc={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 32 32"},Mc=e.defineComponent({name:"AlignVerticalTop",render:function(r,t){return e.openBlock(),e.createElementBlock("svg",Oc,t[0]||(t[0]=[e.createElementVNode("path",{d:"M24 20h-4a2.002 2.002 0 0 1-2-2v-7a2.002 2.002 0 0 1 2-2h4a2.002 2.002 0 0 1 2 2v7a2.002 2.002 0 0 1-2 2zm-4-9v7h4.001L24 11z",fill:"currentColor"},null,-1),e.createElementVNode("path",{d:"M12 28H8a2.002 2.002 0 0 1-2-2V11a2.002 2.002 0 0 1 2-2h4a2.002 2.002 0 0 1 2 2v15a2.002 2.002 0 0 1-2 2zM8 11v15h4.001L12 11z",fill:"currentColor"},null,-1),e.createElementVNode("path",{d:"M2 4h28v2H2z",fill:"currentColor"},null,-1)]))}}),Rc={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 32 32"},jc=e.defineComponent({name:"DistributeHorizontalCenter",render:function(r,t){return e.openBlock(),e.createElementBlock("svg",Rc,t[0]||(t[0]=[e.createElementVNode("path",{d:"M24 10h-1V2h-2v8h-1a2.002 2.002 0 0 0-2 2v8a2.002 2.002 0 0 0 2 2h1v8h2v-8h1a2.002 2.002 0 0 0 2-2v-8a2.002 2.002 0 0 0-2-2zm0 10h-4v-8h4z",fill:"currentColor"},null,-1),e.createElementVNode("path",{d:"M12 6h-1V2H9v4H8a2.002 2.002 0 0 0-2 2v16a2.002 2.002 0 0 0 2 2h1v4h2v-4h1a2.002 2.002 0 0 0 2-2V8a2.002 2.002 0 0 0-2-2zm0 18H8V8h4z",fill:"currentColor"},null,-1)]))}}),Lc={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 32 32"},Uc=e.defineComponent({name:"DistributeVerticalCenter",render:function(r,t){return e.openBlock(),e.createElementBlock("svg",Lc,t[0]||(t[0]=[e.createElementVNode("path",{d:"M30 21h-4v-1a2.002 2.002 0 0 0-2-2H8a2.002 2.002 0 0 0-2 2v1H2v2h4v1a2.002 2.002 0 0 0 2 2h16a2.002 2.002 0 0 0 2-2v-1h4zm-6 3H8v-4l16-.001z",fill:"currentColor"},null,-1),e.createElementVNode("path",{d:"M30 9h-8V8a2.002 2.002 0 0 0-2-2h-8a2.002 2.002 0 0 0-2 2v1H2v2h8v1a2.002 2.002 0 0 0 2 2h8a2.002 2.002 0 0 0 2-2v-1h8zm-10 3h-8V8l8-.001z",fill:"currentColor"},null,-1)]))}}),Fc={version:"1.1.27"},zc={class:"scada-header"},Wc={class:"header-left"},qc={class:"version"},Gc={class:"header-center"},Hc={class:"tool-group"},Kc={key:0,class:"divider"},Yc={key:1,class:"tool-group"},Qc={key:2,class:"divider"},Jc={key:3,class:"tool-group"},Xc={class:"header-right"},Zc={class:"tool-group"},ed=e.defineComponent({__name:"Header",props:{selectedNodesCount:{default:0}},emits:["save","import","workflow","preview","export","dataSource","zoomIn","zoomOut","clearAll","alignLeft","alignCenter","alignRight","alignTop","alignMiddle","alignBottom","distributeHorizontal","distributeVertical"],setup(u,{emit:r}){const t=Fc.version,l=u,n=r;return(o,i)=>(e.openBlock(),e.createElementBlock("header",zc,[e.createElementVNode("div",Wc,[e.renderSlot(o.$slots,"left",{},()=>[i[17]||(i[17]=e.createElementVNode("h1",{class:"logo"},"SCADA 组态引擎",-1)),e.createElementVNode("span",qc,"v"+e.toDisplayString(e.unref(t)),1)],!0)]),e.createElementVNode("div",Gc,[e.createElementVNode("div",Hc,[e.createElementVNode("button",{class:"toolbar-btn",onClick:i[0]||(i[0]=a=>n("zoomIn")),title:"放大"},[...i[18]||(i[18]=[e.createElementVNode("span",{class:"icon"},"+",-1)])]),e.createElementVNode("button",{class:"toolbar-btn",onClick:i[1]||(i[1]=a=>n("zoomOut")),title:"缩小"},[...i[19]||(i[19]=[e.createElementVNode("span",{class:"icon"},"-",-1)])]),e.createElementVNode("button",{class:"toolbar-btn",onClick:i[2]||(i[2]=a=>n("clearAll")),title:"清空画布"},[...i[20]||(i[20]=[e.createElementVNode("span",{class:"icon"},"🗑",-1)])])]),l.selectedNodesCount>=2?(e.openBlock(),e.createElementBlock("div",Kc)):e.createCommentVNode("",!0),l.selectedNodesCount>=2?(e.openBlock(),e.createElementBlock("div",Yc,[e.createElementVNode("button",{class:"toolbar-btn",onClick:i[3]||(i[3]=a=>n("alignLeft")),title:"左对齐"},[e.createVNode(e.unref(Ic),{class:"icon-svg"})]),e.createElementVNode("button",{class:"toolbar-btn",onClick:i[4]||(i[4]=a=>n("alignCenter")),title:"水平居中"},[e.createVNode(e.unref(Vc),{class:"icon-svg"})]),e.createElementVNode("button",{class:"toolbar-btn",onClick:i[5]||(i[5]=a=>n("alignRight")),title:"右对齐"},[e.createVNode(e.unref($c),{class:"icon-svg"})]),e.createElementVNode("button",{class:"toolbar-btn",onClick:i[6]||(i[6]=a=>n("alignTop")),title:"顶部对齐"},[e.createVNode(e.unref(Mc),{class:"icon-svg"})]),e.createElementVNode("button",{class:"toolbar-btn",onClick:i[7]||(i[7]=a=>n("alignMiddle")),title:"垂直居中"},[e.createVNode(e.unref(Pc),{class:"icon-svg"})]),e.createElementVNode("button",{class:"toolbar-btn",onClick:i[8]||(i[8]=a=>n("alignBottom")),title:"底部对齐"},[e.createVNode(e.unref(Bc),{class:"icon-svg"})])])):e.createCommentVNode("",!0),l.selectedNodesCount>=3?(e.openBlock(),e.createElementBlock("div",Qc)):e.createCommentVNode("",!0),l.selectedNodesCount>=3?(e.openBlock(),e.createElementBlock("div",Jc,[e.createElementVNode("button",{class:"toolbar-btn",onClick:i[9]||(i[9]=a=>n("distributeHorizontal")),title:"横向分布"},[e.createVNode(e.unref(jc),{class:"icon-svg"})]),e.createElementVNode("button",{class:"toolbar-btn",onClick:i[10]||(i[10]=a=>n("distributeVertical")),title:"纵向分布"},[e.createVNode(e.unref(Uc),{class:"icon-svg"})])])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Xc,[e.createElementVNode("div",Zc,[e.createElementVNode("button",{class:"header-btn",onClick:i[11]||(i[11]=a=>n("dataSource")),title:"数据源管理"},[...i[21]||(i[21]=[e.createElementVNode("span",{class:"icon"},"📡",-1),e.createElementVNode("span",null,"数据源",-1)])]),e.createElementVNode("button",{class:"header-btn",onClick:i[12]||(i[12]=a=>n("workflow")),title:"流程编排"},[...i[22]||(i[22]=[e.createElementVNode("span",{class:"icon"},"⚡",-1),e.createElementVNode("span",null,"流程编排",-1)])]),e.createElementVNode("button",{class:"header-btn",onClick:i[13]||(i[13]=a=>n("import")),title:"导入"},[...i[23]||(i[23]=[e.createElementVNode("span",{class:"icon"},"📂",-1),e.createElementVNode("span",null,"导入",-1)])]),e.createElementVNode("button",{class:"header-btn",onClick:i[14]||(i[14]=a=>n("export")),title:"导出"},[...i[24]||(i[24]=[e.createElementVNode("span",{class:"icon"},"📤",-1),e.createElementVNode("span",null,"导出",-1)])]),e.createElementVNode("button",{class:"header-btn",onClick:i[15]||(i[15]=a=>n("preview")),title:"预览"},[...i[25]||(i[25]=[e.createElementVNode("span",{class:"icon"},"👁",-1),e.createElementVNode("span",null,"预览",-1)])]),e.createElementVNode("button",{class:"header-btn",onClick:i[16]||(i[16]=a=>n("save")),title:"保存"},[...i[26]||(i[26]=[e.createElementVNode("span",{class:"icon"},"💾",-1),e.createElementVNode("span",null,"保存",-1)])])])])]))}}),Me=(u,r)=>{const t=u.__vccOpts||u;for(const[l,n]of r)t[l]=n;return t},go=Me(ed,[["__scopeId","data-v-70211483"]]),yo=[{key:"animationEnabled",label:"启用动画",type:"boolean",path:"data.animation.enabled",defaultValue:!1,description:"是否启用动画效果",bindable:!0},{key:"animationType",label:"动画类型",type:"select",path:"data.animation.type",defaultValue:"none",options:[{label:"无动画",value:"none"},{label:"闪烁",value:"blink"},{label:"缩放",value:"scale"},{label:"旋转",value:"rotate"},{label:"浮动",value:"float"},{label:"脉冲",value:"pulse"}],description:"组件动画效果类型",bindable:!1},{key:"animationDuration",label:"动画时长(ms)",type:"number",path:"data.animation.duration",defaultValue:1e3,min:100,max:5e3,step:100,description:"动画完成一次所需时间",bindable:!1},{key:"animationLoop",label:"循环播放",type:"boolean",path:"data.animation.loop",defaultValue:!0,description:"是否循环播放动画",bindable:!1}],ts={metadata:{id:"rect",name:"矩形",category:"basic",icon:"▢",description:"基础矩形图形组件",version:"1.0.0"},shape:"rect",width:120,height:60,label:"矩形",attrs:{body:{fill:"#3b82f6",stroke:"#2563eb",strokeWidth:2},label:{fill:"#fff",fontSize:14}},ports:{groups:{top:{position:"top",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},right:{position:"right",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},bottom:{position:"bottom",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},left:{position:"left",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}}},items:[{id:"port-top",group:"top"},{id:"port-right",group:"right"},{id:"port-bottom",group:"bottom"},{id:"port-left",group:"left"}]},props:[{key:"name",label:"按钮文本",type:"text",path:"attrs.label.text",defaultValue:"矩形",description:"矩形名称"},{key:"fill",label:"填充色",type:"color",path:"attrs.body.fill",defaultValue:"#3b82f6",description:"矩形填充颜色"},{key:"stroke",label:"边框色",type:"color",path:"attrs.body.stroke",defaultValue:"#2563eb",description:"矩形边框颜色"},{key:"strokeWidth",label:"边框宽度",type:"number",path:"attrs.body.strokeWidth",defaultValue:2,min:0,max:10,description:"矩形边框宽度"},{key:"opacity",label:"透明度",type:"slider",path:"attrs.body.opacity",defaultValue:1,min:0,max:1,step:.1,description:"矩形透明度"},...yo]},rs={metadata:{id:"circle",name:"圆形",category:"basic",icon:"○",description:"基础圆形图形组件",version:"1.0.0"},shape:"circle",width:80,height:80,label:"圆形",attrs:{body:{fill:"#10b981",stroke:"#059669",strokeWidth:2},label:{fill:"#fff",fontSize:14}},ports:{groups:{top:{position:"top",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},right:{position:"right",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},bottom:{position:"bottom",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},left:{position:"left",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}}},items:[{id:"port-top",group:"top"},{id:"port-right",group:"right"},{id:"port-bottom",group:"bottom"},{id:"port-left",group:"left"}]},props:[{key:"text",label:"初始文本",type:"text",path:"attrs.label.text",defaultValue:"圆形",description:"圆形初始文本"},{key:"fill",label:"填充色",type:"color",path:"attrs.body.fill",defaultValue:"#10b981",description:"圆形填充颜色"},{key:"stroke",label:"边框色",type:"color",path:"attrs.body.stroke",defaultValue:"#059669",description:"圆形边框颜色"},{key:"strokeWidth",label:"边框宽度",type:"number",path:"attrs.body.strokeWidth",defaultValue:2,min:0,max:10,description:"圆形边框宽度"},{key:"opacity",label:"透明度",type:"slider",path:"attrs.body.opacity",defaultValue:1,min:0,max:1,step:.1,description:"圆形透明度"},...yo]},os={metadata:{id:"text",name:"文本",category:"basic",icon:"T",description:"文本标签组件",version:"1.0.0"},shape:"rect",width:100,height:40,label:"文本",attrs:{body:{fill:"transparent",stroke:"#64748b",strokeWidth:1,strokeDasharray:"5 5"},label:{fill:"#e2e8f0",fontSize:16}},props:[{key:"label",label:"文本内容",type:"text",path:"attrs.label.text",defaultValue:"文本",description:"显示的文本内容"},{key:"fontSize",label:"字体大小",type:"number",path:"attrs.label.fontSize",defaultValue:16,min:12,max:48,description:"文本字体大小"},{key:"fontColor",label:"字体颜色",type:"color",path:"attrs.label.fill",defaultValue:"#e2e8f0",description:"文本字体颜色"},{key:"stroke",label:"边框色",type:"color",path:"attrs.body.stroke",defaultValue:"#64748b",description:"边框颜色"},...yo]},td=Object.freeze(Object.defineProperty({__proto__:null,CircleComponent:rs,RectComponent:ts,TextComponent:os},Symbol.toStringTag,{value:"Module"})),rd={class:"light-3d-container"},od={viewBox:"0 0 100 100",xmlns:"http://www.w3.org/2000/svg"},nd=["id"],id=["stop-color"],sd=["stop-color"],ad=["stop-color"],ld=["id"],cd=["id"],dd=["id"],ud=["flood-color"],fd=["fill","filter"],pd=["fill","filter"],hd=["opacity"],md={key:1,opacity:"0.8"},gd=["fill"],yd=["fill"],bd=["fill"],wd=["fill"],Ed=["fill"],ns={metadata:{id:"light",name:"3D灯泡",category:"iot",icon:"💡",description:"3D仿真IoT灯泡控制组件",version:"2.0.0"},shape:"light-3d-vue",component:Me(e.defineComponent({__name:"Light3D",props:{node:{}},setup(u){const r=u,t=e.ref(`light-${Math.random().toString(36).substr(2,9)}`),l=()=>r.node?r.node.getData?r.node.getData():r.node.data||{}:{},n=e.ref(!1),o=e.ref("#fbbf24"),i=(s,c)=>{const d=s.replace("#",""),p=parseInt(d.substring(0,2),16),m=parseInt(d.substring(2,4),16),h=parseInt(d.substring(4,6),16),f=Math.max(0,Math.floor(p*(1-c))),w=Math.max(0,Math.floor(m*(1-c))),v=Math.max(0,Math.floor(h*(1-c)));return`#${f.toString(16).padStart(2,"0")}${w.toString(16).padStart(2,"0")}${v.toString(16).padStart(2,"0")}`},a=()=>{const s=l();n.value=s.state===!0||s.state==="on",o.value=s.color||"#fbbf24"};return e.watch(()=>r.node,()=>{a()},{deep:!0}),e.onMounted(()=>{a(),r.node&&typeof r.node.on=="function"&&r.node.on("change:data",()=>{a()})}),(s,c)=>(e.openBlock(),e.createElementBlock("div",rd,[(e.openBlock(),e.createElementBlock("svg",od,[e.createElementVNode("defs",null,[e.createElementVNode("radialGradient",{id:`bulb-gradient-${t.value}`,cx:"40%",cy:"30%"},[e.createElementVNode("stop",{offset:"0%","stop-color":n.value?"#fff9e6":"#e5e7eb"},null,8,id),e.createElementVNode("stop",{offset:"50%","stop-color":n.value?o.value:"#d1d5db"},null,8,sd),e.createElementVNode("stop",{offset:"100%","stop-color":n.value?i(o.value,.3):"#9ca3af"},null,8,ad)],8,nd),e.createElementVNode("linearGradient",{id:`base-gradient-${t.value}`,x1:"0%",y1:"0%",x2:"0%",y2:"100%"},[...c[0]||(c[0]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#94a3b8"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#64748b"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#475569"},null,-1)])],8,ld),e.createElementVNode("filter",{id:`glow-${t.value}`},[...c[1]||(c[1]=[e.createElementVNode("feGaussianBlur",{stdDeviation:"3",result:"coloredBlur"},null,-1),e.createElementVNode("feMerge",null,[e.createElementVNode("feMergeNode",{in:"coloredBlur"}),e.createElementVNode("feMergeNode",{in:"SourceGraphic"})],-1)])],8,cd),e.createElementVNode("filter",{id:`outer-glow-${t.value}`},[c[2]||(c[2]=e.createElementVNode("feGaussianBlur",{stdDeviation:"5",result:"blur"},null,-1)),e.createElementVNode("feFlood",{"flood-color":o.value,"flood-opacity":"0.6",result:"color"},null,8,ud),c[3]||(c[3]=e.createElementVNode("feComposite",{in:"color",in2:"blur",operator:"in",result:"glow"},null,-1)),c[4]||(c[4]=e.createElementVNode("feMerge",null,[e.createElementVNode("feMergeNode",{in:"glow"}),e.createElementVNode("feMergeNode",{in:"SourceGraphic"})],-1))],8,dd)]),n.value?(e.openBlock(),e.createElementBlock("circle",{key:0,cx:"50",cy:"35",r:"32",fill:o.value,opacity:"0.3",filter:`url(#outer-glow-${t.value})`},null,8,fd)):e.createCommentVNode("",!0),e.createElementVNode("ellipse",{cx:"50",cy:"35",rx:"25",ry:"28",fill:`url(#bulb-gradient-${t.value})`,stroke:"#cbd5e1","stroke-width":"0.5",filter:n.value?`url(#glow-${t.value})`:"none"},null,8,pd),e.createElementVNode("ellipse",{cx:"42",cy:"25",rx:"8",ry:"10",fill:"#ffffff",opacity:n.value?.7:.3},null,8,hd),n.value?(e.openBlock(),e.createElementBlock("g",md,[...c[5]||(c[5]=[e.createElementVNode("path",{d:"M 45 30 Q 47 35 45 40",stroke:"#ff9500","stroke-width":"1.5",fill:"none"},null,-1),e.createElementVNode("path",{d:"M 55 30 Q 53 35 55 40",stroke:"#ff9500","stroke-width":"1.5",fill:"none"},null,-1)])])):e.createCommentVNode("",!0),c[10]||(c[10]=e.createElementVNode("ellipse",{cx:"50",cy:"60",rx:"15",ry:"4",fill:"#94a3b8"},null,-1)),e.createElementVNode("g",null,[e.createElementVNode("rect",{x:"40",y:"63",width:"20",height:"3",fill:`url(#base-gradient-${t.value})`,rx:"1"},null,8,gd),e.createElementVNode("rect",{x:"40",y:"67",width:"20",height:"3",fill:`url(#base-gradient-${t.value})`,rx:"1"},null,8,yd),e.createElementVNode("rect",{x:"40",y:"71",width:"20",height:"3",fill:`url(#base-gradient-${t.value})`,rx:"1"},null,8,bd),e.createElementVNode("rect",{x:"40",y:"75",width:"20",height:"3",fill:`url(#base-gradient-${t.value})`,rx:"1"},null,8,wd),c[6]||(c[6]=e.createElementVNode("rect",{x:"40",y:"66",width:"20",height:"1",fill:"#1e293b",opacity:"0.3"},null,-1)),c[7]||(c[7]=e.createElementVNode("rect",{x:"40",y:"70",width:"20",height:"1",fill:"#1e293b",opacity:"0.3"},null,-1)),c[8]||(c[8]=e.createElementVNode("rect",{x:"40",y:"74",width:"20",height:"1",fill:"#1e293b",opacity:"0.3"},null,-1)),c[9]||(c[9]=e.createElementVNode("rect",{x:"40",y:"78",width:"20",height:"1",fill:"#1e293b",opacity:"0.3"},null,-1))]),e.createElementVNode("ellipse",{cx:"50",cy:"80",rx:"12",ry:"5",fill:`url(#base-gradient-${t.value})`},null,8,Ed),c[11]||(c[11]=e.createElementVNode("ellipse",{cx:"50",cy:"83",rx:"8",ry:"3",fill:"#334155"},null,-1)),c[12]||(c[12]=e.createElementVNode("circle",{cx:"50",cy:"85",r:"2",fill:"#475569"},null,-1))])),e.createElementVNode("div",{class:e.normalizeClass(["status-text",{"is-on":n.value}])},e.toDisplayString(n.value?"开启":"关闭"),3)]))}}),[["__scopeId","data-v-7237b5fc"]]),width:100,height:120,label:"",attrs:{body:{fill:"transparent",stroke:"transparent"}},data:{type:"light",state:!1,color:"#fbbf24",deviceId:"",property:""},ports:{groups:{left:{position:"left",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},right:{position:"right",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}}},items:[{id:"port-left",group:"left"},{id:"port-right",group:"right"}]},props:[{key:"state",label:"灯泡状态",type:"select",path:"data.state",defaultValue:!1,options:[{label:"关闭",value:!1},{label:"开启",value:!0}],description:"灯泡开关状态"},{key:"color",label:"灯光颜色",type:"color",path:"data.color",defaultValue:"#fbbf24",description:"灯泡发光颜色"},{key:"deviceId",label:"设备ID",type:"text",path:"data.deviceId",defaultValue:"",description:"绑定的设备ID"},{key:"property",label:"设备属性",type:"text",path:"data.property",defaultValue:"",description:"绑定的设备属性名称"}]},vd={class:"switch-3d-container"},kd={viewBox:"0 0 120 80",xmlns:"http://www.w3.org/2000/svg"},_d=["id"],Nd=["id"],xd=["id"],Sd=["id"],Vd=["fill"],Cd=["fill"],Id=["fill"],Ad=["transform"],$d=["fill"],Td=["fill","filter"],Bd=["opacity"],Dd=["fill","filter"],Pd=["opacity"],is={metadata:{id:"switch",name:"3D开关",category:"iot",icon:"🔘",description:"3D仿真IoT开关控制组件",version:"2.0.0"},shape:"switch-3d-vue",component:Me(e.defineComponent({__name:"Switch3D",props:{node:{}},setup(u){const r=u,t=e.ref(`switch-${Math.random().toString(36).substr(2,9)}`),l=()=>r.node?r.node.getData?r.node.getData():r.node.data||{}:{},n=e.ref(!1),o=e.computed(()=>n.value?72:48),i=()=>{const a=l();n.value=a.state===!0||a.state==="on"};return e.watch(()=>r.node,()=>{i()},{deep:!0}),e.onMounted(()=>{i(),r.node&&typeof r.node.on=="function"&&r.node.on("change:data",()=>{i()})}),(a,s)=>(e.openBlock(),e.createElementBlock("div",vd,[(e.openBlock(),e.createElementBlock("svg",kd,[e.createElementVNode("defs",null,[e.createElementVNode("linearGradient",{id:`base-gradient-${t.value}`,x1:"0%",y1:"0%",x2:"0%",y2:"100%"},[...s[0]||(s[0]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#475569"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#334155"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#1e293b"},null,-1)])],8,_d),e.createElementVNode("linearGradient",{id:`track-gradient-${t.value}`,x1:"0%",y1:"0%",x2:"0%",y2:"100%"},[...s[1]||(s[1]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#1e293b"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#0f172a"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#1e293b"},null,-1)])],8,Nd),e.createElementVNode("linearGradient",{id:`handle-gradient-${t.value}`,x1:"0%",y1:"0%",x2:"0%",y2:"100%"},[...s[2]||(s[2]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#e2e8f0"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#cbd5e1"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#94a3b8"},null,-1)])],8,xd),e.createElementVNode("filter",{id:`indicator-glow-${t.value}`},[...s[3]||(s[3]=[e.createElementVNode("feGaussianBlur",{stdDeviation:"3",result:"coloredBlur"},null,-1),e.createElementVNode("feMerge",null,[e.createElementVNode("feMergeNode",{in:"coloredBlur"}),e.createElementVNode("feMergeNode",{in:"SourceGraphic"})],-1)])],8,Sd)]),e.createElementVNode("rect",{x:"20",y:"25",width:"80",height:"50",rx:"8",fill:`url(#base-gradient-${t.value})`,stroke:"#0f172a","stroke-width":"1"},null,8,Vd),s[6]||(s[6]=e.createStaticVNode('<g data-v-09d0019e><circle cx="30" cy="35" r="3" fill="#0f172a" data-v-09d0019e></circle><circle cx="30" cy="35" r="1.5" fill="#475569" data-v-09d0019e></circle><line x1="28" y1="35" x2="32" y2="35" stroke="#1e293b" stroke-width="0.5" data-v-09d0019e></line><circle cx="90" cy="35" r="3" fill="#0f172a" data-v-09d0019e></circle><circle cx="90" cy="35" r="1.5" fill="#475569" data-v-09d0019e></circle><line x1="88" y1="35" x2="92" y2="35" stroke="#1e293b" stroke-width="0.5" data-v-09d0019e></line><circle cx="30" cy="65" r="3" fill="#0f172a" data-v-09d0019e></circle><circle cx="30" cy="65" r="1.5" fill="#475569" data-v-09d0019e></circle><line x1="28" y1="65" x2="32" y2="65" stroke="#1e293b" stroke-width="0.5" data-v-09d0019e></line><circle cx="90" cy="65" r="3" fill="#0f172a" data-v-09d0019e></circle><circle cx="90" cy="65" r="1.5" fill="#475569" data-v-09d0019e></circle><line x1="88" y1="65" x2="92" y2="65" stroke="#1e293b" stroke-width="0.5" data-v-09d0019e></line></g>',1)),e.createElementVNode("rect",{x:"40",y:"38",width:"40",height:"24",rx:"12",fill:`url(#track-gradient-${t.value})`,stroke:"#0f172a","stroke-width":"1"},null,8,Cd),s[7]||(s[7]=e.createElementVNode("text",{x:"48",y:"53","font-size":"8",fill:"#64748b","text-anchor":"middle","font-weight":"bold"},"OFF",-1)),e.createElementVNode("text",{x:"72",y:"53","font-size":"8",fill:n.value?"#22c55e":"#64748b","text-anchor":"middle","font-weight":"bold"},"ON",8,Id),e.createElementVNode("g",{transform:`translate(${o.value}, 0)`,style:{transition:"transform 0.3s ease"}},[s[4]||(s[4]=e.createElementVNode("ellipse",{cx:"0",cy:"52",rx:"10",ry:"3",fill:"#000",opacity:"0.3"},null,-1)),e.createElementVNode("rect",{x:"-8",y:"40",width:"16",height:"20",rx:"8",fill:`url(#handle-gradient-${t.value})`,stroke:"#94a3b8","stroke-width":"1"},null,8,$d),s[5]||(s[5]=e.createStaticVNode('<g opacity="0.3" data-v-09d0019e><line x1="-4" y1="43" x2="-4" y2="57" stroke="#64748b" stroke-width="0.5" data-v-09d0019e></line><line x1="0" y1="43" x2="0" y2="57" stroke="#64748b" stroke-width="0.5" data-v-09d0019e></line><line x1="4" y1="43" x2="4" y2="57" stroke="#64748b" stroke-width="0.5" data-v-09d0019e></line></g><rect x="-6" y="42" width="4" height="8" rx="2" fill="#ffffff" opacity="0.4" data-v-09d0019e></rect>',2))],8,Ad),e.createElementVNode("g",null,[e.createElementVNode("circle",{cx:"35",cy:"50",r:"3",fill:n.value?"#334155":"#ef4444",filter:n.value?"none":`url(#indicator-glow-${t.value})`},null,8,Td),e.createElementVNode("circle",{cx:"35",cy:"50",r:"1.5",fill:"#ffffff",opacity:n.value?.1:.6},null,8,Bd),e.createElementVNode("circle",{cx:"85",cy:"50",r:"3",fill:n.value?"#22c55e":"#334155",filter:n.value?`url(#indicator-glow-${t.value})`:"none"},null,8,Dd),e.createElementVNode("circle",{cx:"85",cy:"50",r:"1.5",fill:"#ffffff",opacity:n.value?.6:.1},null,8,Pd)]),s[8]||(s[8]=e.createStaticVNode('<g data-v-09d0019e><rect x="15" y="47" width="8" height="6" rx="1" fill="#64748b" stroke="#475569" stroke-width="0.5" data-v-09d0019e></rect><circle cx="19" cy="50" r="1.5" fill="#94a3b8" data-v-09d0019e></circle><rect x="97" y="47" width="8" height="6" rx="1" fill="#64748b" stroke="#475569" stroke-width="0.5" data-v-09d0019e></rect><circle cx="101" cy="50" r="1.5" fill="#94a3b8" data-v-09d0019e></circle></g><rect x="50" y="67" width="20" height="6" rx="1" fill="#0f172a" opacity="0.7" data-v-09d0019e></rect><text x="60" y="71" font-size="3" fill="#64748b" text-anchor="middle" font-family="monospace" data-v-09d0019e>KCD1-101</text>',3))])),e.createElementVNode("div",{class:e.normalizeClass(["status-text",{"is-on":n.value}])},e.toDisplayString(n.value?"开启":"关闭"),3)]))}}),[["__scopeId","data-v-09d0019e"]]),width:140,height:100,label:"",attrs:{body:{fill:"transparent",stroke:"transparent"}},data:{type:"switch",state:!1,deviceId:"",property:""},ports:{groups:{left:{position:"left",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},right:{position:"right",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}}},items:[{id:"port-left",group:"left"},{id:"port-right",group:"right"}]},props:[{key:"state",label:"开关状态",type:"select",path:"data.state",defaultValue:!1,options:[{label:"关闭",value:!1},{label:"开启",value:!0}],description:"开关当前状态"},{key:"deviceId",label:"设备ID",type:"text",path:"data.deviceId",defaultValue:"",description:"绑定的设备ID"},{key:"property",label:"设备属性",type:"text",path:"data.property",defaultValue:"",description:"绑定的设备属性名称"}]},ss=[{id:"basic",name:"基础仪表盘",config:{min:0,max:100,splitNumber:5,radius:"100%",axisLine:{lineStyle:{width:10,color:[[.3,"#67e0e3"],[.7,"#37a2da"],[1,"#fd666d"]]}},axisTick:{distance:2,length:5,lineStyle:{color:"#fff",width:1}},splitLine:{distance:2,length:10,lineStyle:{color:"#fff",width:2}},axisLabel:{distance:20,fontSize:12,color:"#999"},title:{offsetCenter:[0,"90%"],fontSize:14,color:"#999"},detail:{fontSize:30,offsetCenter:[0,"45%"],color:"#fff",formatter:"{value}"}}},{id:"temperature",name:"温度仪表盘",config:{min:-20,max:50,splitNumber:5,radius:"100%",axisLine:{lineStyle:{width:10,color:[[.2,"#2563eb"],[.5,"#22c55e"],[.8,"#f59e0b"],[1,"#ef4444"]]}},axisTick:{distance:2,length:5,lineStyle:{color:"#fff",width:1}},splitLine:{distance:2,length:10,lineStyle:{color:"#fff",width:2}},axisLabel:{distance:10,fontSize:12,color:"#999"},title:{offsetCenter:[0,"90%"],fontSize:14,color:"#999"},detail:{fontSize:30,offsetCenter:[0,"45%"],color:"#fff",formatter:"{value}°C"}}},{id:"humidity",name:"湿度仪表盘",config:{min:0,max:100,splitNumber:5,radius:"100%",axisLine:{lineStyle:{width:10,color:[[.3,"#fbbf24"],[.7,"#3b82f6"],[1,"#1e40af"]]}},axisTick:{distance:2,length:5,lineStyle:{color:"#fff",width:1}},splitLine:{distance:2,length:10,lineStyle:{color:"#fff",width:2}},axisLabel:{distance:20,fontSize:12,color:"#999"},title:{offsetCenter:[0,"90%"],fontSize:14,color:"#999"},detail:{fontSize:30,offsetCenter:[0,"45%"],color:"#fff",formatter:"{value}%"}}},{id:"speed",name:"速度仪表盘",config:{min:0,max:200,splitNumber:10,startAngle:225,endAngle:-45,radius:"100%",axisLine:{lineStyle:{width:10,color:[[.4,"#10b981"],[.7,"#f59e0b"],[1,"#ef4444"]]}},axisTick:{distance:2,length:5,lineStyle:{color:"#fff",width:1}},splitLine:{distance:2,length:10,lineStyle:{color:"#fff",width:2}},axisLabel:{distance:20,fontSize:12,color:"#999"},title:{offsetCenter:[0,"90%"],fontSize:14,color:"#999"},detail:{fontSize:30,offsetCenter:[0,"45%"],color:"#fff",formatter:"{value} km/h"}}},{id:"pressure",name:"压力仪表盘",config:{min:0,max:10,splitNumber:5,radius:"100%",axisLine:{lineStyle:{width:10,color:[[.5,"#22c55e"],[.8,"#f59e0b"],[1,"#dc2626"]]}},axisTick:{distance:2,length:5,lineStyle:{color:"#fff",width:1}},splitLine:{distance:2,length:10,lineStyle:{color:"#fff",width:2}},axisLabel:{distance:20,fontSize:12,color:"#999"},title:{offsetCenter:[0,"90%"],fontSize:14,color:"#999"},detail:{fontSize:30,offsetCenter:[0,"45%"],color:"#fff",formatter:"{value} MPa"}}},{id:"rpm",name:"转速仪表盘",config:{min:0,max:8e3,splitNumber:8,startAngle:225,endAngle:-45,radius:"100%",axisLine:{lineStyle:{width:10,color:[[.6,"#06b6d4"],[.85,"#eab308"],[1,"#dc2626"]]}},axisTick:{distance:2,length:5,lineStyle:{color:"#fff",width:1}},splitLine:{distance:2,length:10,lineStyle:{color:"#fff",width:2}},axisLabel:{distance:20,fontSize:12,color:"#999"},title:{offsetCenter:[0,"90%"],fontSize:14,color:"#999"},detail:{fontSize:30,offsetCenter:[0,"45%"],color:"#fff",formatter:"{value} RPM"}}},{id:"battery",name:"电池仪表盘",config:{min:0,max:100,splitNumber:5,radius:"100%",axisLine:{lineStyle:{width:10,color:[[.2,"#dc2626"],[.5,"#f59e0b"],[1,"#22c55e"]]}},axisTick:{distance:2,length:5,lineStyle:{color:"#fff",width:1}},splitLine:{distance:2,length:10,lineStyle:{color:"#fff",width:2}},axisLabel:{distance:10,fontSize:12,color:"#999"},title:{offsetCenter:[0,"80%"],fontSize:12,color:"#999"},detail:{fontSize:20,offsetCenter:[0,"45%"],color:"#fff",formatter:"{value}%"}}},{id:"power",name:"功率仪表盘",config:{min:0,max:100,splitNumber:5,radius:"100%",axisLine:{lineStyle:{width:10,color:[[.3,"#64748b"],[.7,"#3b82f6"],[1,"#8b5cf6"]]}},axisTick:{distance:2,length:5,lineStyle:{color:"#fff",width:1}},splitLine:{distance:2,length:10,lineStyle:{color:"#fff",width:2}},axisLabel:{distance:10,fontSize:12,color:"#999"},title:{offsetCenter:[0,"90%"],fontSize:12,color:"#999"},detail:{fontSize:20,offsetCenter:[0,"45%"],color:"#fff",formatter:"{value} kW"}}}];function Od(u){return ss.find(r=>r.id===u)}const as={metadata:{id:"echarts-gauge",name:"ECharts仪表盘",category:"iot",icon:"📈",description:"ECharts 仪表盘数据展示组件,支持丰富的配置选项",version:"1.0.0"},shape:"echarts-vue",component:Me(e.defineComponent({__name:"EChartsGauge",props:{node:{}},setup(u){const r=u,t=e.ref();let l=null;const n=()=>r.node?r.node.getData?r.node.getData():r.node.data||{}:{},o=()=>{t.value&&(l&&l.dispose(),l=Xi.init(t.value),i())},i=()=>{if(!l)return;const a=n(),s=a.presetId||"basic",c=Od(s),d={tooltip:{formatter:"{a} <br/>{b} : {c}%"},series:[{name:a.name||"Pressure",type:"gauge",data:[{value:a.value??50,name:a.title||"SCORE"}]}]};c&&c.config&&Object.assign(d.series[0],c.config),l.setOption(d,!0)};return e.watch(()=>{var a;return(a=r.node)==null?void 0:a.data},(a,s)=>{i()},{deep:!0}),e.watch(()=>{var a,s;return(s=(a=r.node)==null?void 0:a.data)==null?void 0:s.presetId},(a,s)=>{a!==s&&i()}),e.watch(()=>{var a;return(a=r.node)==null?void 0:a.size},()=>{if(l&&r.node){const a=r.node.getSize?r.node.getSize():r.node.size||{width:200,height:200};l.resize({width:a.width,height:a.height})}},{deep:!0}),e.onMounted(()=>{setTimeout(()=>{o(),r.node&&typeof r.node.on=="function"&&r.node.on("change:data",({current:a})=>{i()})},100)}),e.onUnmounted(()=>{l&&(l.dispose(),l=null)}),(a,s)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"chartRef",ref:t,class:"echarts-gauge-component",style:{width:"100%",height:"100%"}},null,512))}}),[["__scopeId","data-v-08427ff6"]]),width:200,height:200,label:"",attrs:{body:{fill:"transparent",stroke:"transparent"}},data:{type:"echarts-gauge",presetId:"basic",value:50,title:"SCORE",name:"Pressure"},ports:{groups:{top:{position:"top",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},right:{position:"right",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},bottom:{position:"bottom",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},left:{position:"left",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}}},items:[{id:"port-top",group:"top"},{id:"port-right",group:"right"},{id:"port-bottom",group:"bottom"},{id:"port-left",group:"left"}]},props:[{key:"presetId",label:"仪表盘类型",type:"select",path:"data.presetId",defaultValue:"basic",options:ss.map(u=>({label:u.name,value:u.id})),description:"选择预设的仪表盘类型,会自动应用对应的配置"},{key:"value",label:"当前值",type:"number",path:"data.value",defaultValue:50,description:"仪表盘当前显示值"},{key:"title",label:"标题",type:"text",path:"data.title",defaultValue:"SCORE",description:"仪表盘标题"},{key:"name",label:"系列名称",type:"text",path:"data.name",defaultValue:"Pressure",description:"显示在 tooltip 中的系列名称"}]},ls=[{id:"basic",name:"基础折线图",config:{smooth:!1,lineStyle:{width:2,color:"#5470c6"},areaStyle:null,symbol:"circle",symbolSize:6,radius:"100%"}},{id:"smooth",name:"平滑曲线",config:{smooth:!0,lineStyle:{width:2,color:"#91cc75"},areaStyle:null,symbol:"circle",symbolSize:6}},{id:"area",name:"区域折线图",config:{smooth:!1,lineStyle:{width:2,color:"#5470c6"},areaStyle:{color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:"rgba(84, 112, 198, 0.3)"},{offset:1,color:"rgba(84, 112, 198, 0.05)"}]}},symbol:"circle",symbolSize:6}},{id:"smooth-area",name:"平滑区域图",config:{smooth:!0,lineStyle:{width:2,color:"#91cc75"},areaStyle:{color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:"rgba(145, 204, 117, 0.3)"},{offset:1,color:"rgba(145, 204, 117, 0.05)"}]}},symbol:"circle",symbolSize:6}},{id:"dashed",name:"虚线折线图",config:{smooth:!1,lineStyle:{width:2,color:"#fac858",type:"dashed"},areaStyle:null,symbol:"circle",symbolSize:6}},{id:"step",name:"阶梯折线图",config:{smooth:!1,step:"middle",lineStyle:{width:2,color:"#ee6666"},areaStyle:null,symbol:"circle",symbolSize:6}}];function Md(u){return ls.find(r=>r.id===u)}const cs={metadata:{id:"echarts-line",name:"ECharts折线图",category:"iot",icon:"📉",description:"ECharts 折线图数据展示组件,支持时序数据可视化",version:"1.0.0"},shape:"echarts-line-vue",component:e.defineComponent({__name:"EChartsLine",props:{node:{}},setup(u){const r=u,t=e.ref();let l=null;const n=()=>r.node?r.node.getData?r.node.getData():r.node.data||{}:{},o=()=>{t.value&&(l=Xi.init(t.value),i())},i=()=>{if(!l)return;const a=n(),s=a.presetId||"basic",c=Md(s),d={title:{text:a.title||"数据趋势",left:"center",top:10,textStyle:{color:"#fff",fontSize:14}},tooltip:{trigger:"axis",backgroundColor:"rgba(0, 0, 0, 0.7)",borderColor:"#333",textStyle:{color:"#fff"}},grid:{left:"10%",right:"10%",top:"20%",bottom:"15%",containLabel:!0},xAxis:{type:"category",boundaryGap:!1,data:a.xAxisData||["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],axisLine:{lineStyle:{color:"#999"}},axisLabel:{color:"#999"}},yAxis:{type:"value",axisLine:{lineStyle:{color:"#999"}},axisLabel:{color:"#999"},splitLine:{lineStyle:{color:"rgba(255, 255, 255, 0.1)"}}},series:[{name:a.seriesName||"Data",type:"line",data:a.seriesData||[120,200,150,80,70,110,130]}]};c&&c.config&&Object.assign(d.series[0],c.config),l.setOption(d,!0)};return e.onMounted(()=>{setTimeout(()=>{o(),r.node&&typeof r.node.on=="function"&&r.node.on("change:data",({current:a})=>{i()})},100)}),e.onUnmounted(()=>{l&&(l.dispose(),l=null)}),(a,s)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"chartContainer",ref:t,style:{width:"100%",height:"100%"}},null,512))}}),width:400,height:300,label:"",attrs:{body:{fill:"transparent",stroke:"transparent"}},data:{type:"echarts-line",presetId:"basic",title:"数据趋势",xAxisData:["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],seriesData:[120,200,150,80,70,110,130],seriesName:"Data"},ports:{groups:{top:{position:"top",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},right:{position:"right",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},bottom:{position:"bottom",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},left:{position:"left",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}}},items:[{id:"port-top",group:"top"},{id:"port-right",group:"right"},{id:"port-bottom",group:"bottom"},{id:"port-left",group:"left"}]},props:[{key:"presetId",label:"折线图类型",type:"select",path:"data.presetId",defaultValue:"basic",options:ls.map(u=>({label:u.name,value:u.id})),description:"选择预设的折线图类型"},{key:"title",label:"图表标题",type:"text",path:"data.title",defaultValue:"数据趋势",description:"折线图标题"},{key:"seriesName",label:"系列名称",type:"text",path:"data.seriesName",defaultValue:"Data",description:"显示在 tooltip 和 legend 中的系列名称"}]},Rd={class:"motor-3d-container"},jd={viewBox:"0 0 120 100",xmlns:"http://www.w3.org/2000/svg"},Ld=["id"],Ud=["id"],Fd=["id"],zd=["fill"],Wd=["fill"],qd=["fill"],Gd=["transform"],Hd=["fill","filter"],Kd=["opacity"],Yd={x:"60",y:"61","font-size":"4",fill:"#cbd5e1","text-anchor":"middle","font-family":"monospace"},Qd=Me(e.defineComponent({__name:"Motor3D",props:{node:{}},setup(u){const r=u,t=e.ref(`motor-${Math.random().toString(36).substr(2,9)}`),l=()=>r.node?r.node.getData?r.node.getData():r.node.data||{}:{},n=e.ref(!1),o=e.ref(1500),i=e.ref(7.5),a=e.ref(0);let s=null;const c=()=>{if(n.value){const p=o.value/300;a.value=(a.value+p)%360}s=requestAnimationFrame(c)},d=()=>{const p=l();n.value=p.state==="running"||p.state===!0,o.value=p.speed||1500,i.value=p.power||7.5};return e.watch(()=>r.node,()=>{d()},{deep:!0}),e.onMounted(()=>{d(),n.value&&c(),r.node&&typeof r.node.on=="function"&&r.node.on("change:data",()=>{const p=n.value;d(),n.value&&!p?c():!n.value&&p&&s&&(cancelAnimationFrame(s),s=null)})}),e.onUnmounted(()=>{s&&cancelAnimationFrame(s)}),(p,m)=>(e.openBlock(),e.createElementBlock("div",Rd,[(e.openBlock(),e.createElementBlock("svg",jd,[e.createElementVNode("defs",null,[e.createElementVNode("linearGradient",{id:`motor-body-${t.value}`,x1:"0%",y1:"0%",x2:"0%",y2:"100%"},[...m[0]||(m[0]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#94a3b8"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#64748b"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#475569"},null,-1)])],8,Ld),e.createElementVNode("linearGradient",{id:`shaft-gradient-${t.value}`,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},[...m[1]||(m[1]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#94a3b8"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#cbd5e1"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#64748b"},null,-1)])],8,Ud),e.createElementVNode("filter",{id:`indicator-glow-${t.value}`},[...m[2]||(m[2]=[e.createElementVNode("feGaussianBlur",{stdDeviation:"2",result:"coloredBlur"},null,-1),e.createElementVNode("feMerge",null,[e.createElementVNode("feMergeNode",{in:"coloredBlur"}),e.createElementVNode("feMergeNode",{in:"SourceGraphic"})],-1)])],8,Fd)]),e.createElementVNode("rect",{x:"20",y:"70",width:"80",height:"25",rx:"3",fill:`url(#motor-body-${t.value})`},null,8,zd),m[4]||(m[4]=e.createStaticVNode('<rect x="20" y="70" width="80" height="3" fill="#1e293b" opacity="0.3" data-v-14ee96e9></rect><circle cx="30" cy="82" r="3" fill="#334155" data-v-14ee96e9></circle><circle cx="30" cy="82" r="1.5" fill="#64748b" data-v-14ee96e9></circle><circle cx="90" cy="82" r="3" fill="#334155" data-v-14ee96e9></circle><circle cx="90" cy="82" r="1.5" fill="#64748b" data-v-14ee96e9></circle>',5)),e.createElementVNode("ellipse",{cx:"60",cy:"45",rx:"35",ry:"25",fill:`url(#motor-body-${t.value})`,stroke:"#334155","stroke-width":"1"},null,8,Wd),m[5]||(m[5]=e.createStaticVNode('<g opacity="0.3" data-v-14ee96e9><line x1="30" y1="30" x2="30" y2="60" stroke="#1e293b" stroke-width="1" data-v-14ee96e9></line><line x1="40" y1="25" x2="40" y2="65" stroke="#1e293b" stroke-width="1" data-v-14ee96e9></line><line x1="50" y1="22" x2="50" y2="68" stroke="#1e293b" stroke-width="1" data-v-14ee96e9></line><line x1="60" y1="20" x2="60" y2="70" stroke="#1e293b" stroke-width="1" data-v-14ee96e9></line><line x1="70" y1="22" x2="70" y2="68" stroke="#1e293b" stroke-width="1" data-v-14ee96e9></line><line x1="80" y1="25" x2="80" y2="65" stroke="#1e293b" stroke-width="1" data-v-14ee96e9></line><line x1="90" y1="30" x2="90" y2="60" stroke="#1e293b" stroke-width="1" data-v-14ee96e9></line></g><rect x="25" y="40" width="2" height="10" fill="#475569" opacity="0.6" data-v-14ee96e9></rect><rect x="30" y="38" width="2" height="14" fill="#475569" opacity="0.6" data-v-14ee96e9></rect><rect x="35" y="36" width="2" height="18" fill="#475569" opacity="0.6" data-v-14ee96e9></rect>',4)),e.createElementVNode("rect",{x:"95",y:"42",width:"20",height:"6",rx:"1",fill:`url(#shaft-gradient-${t.value})`,stroke:"#475569","stroke-width":"0.5"},null,8,qd),e.createElementVNode("g",{transform:`rotate(${a.value} 105 45)`},[...m[3]||(m[3]=[e.createStaticVNode('<g opacity="0.8" data-v-14ee96e9><rect x="103" y="40" width="4" height="10" rx="1" fill="#94a3b8" data-v-14ee96e9></rect><rect x="100" y="43" width="10" height="4" rx="1" fill="#94a3b8" data-v-14ee96e9></rect><line x1="102" y1="42" x2="108" y2="48" stroke="#94a3b8" stroke-width="3" stroke-linecap="round" data-v-14ee96e9></line><line x1="108" y1="42" x2="102" y2="48" stroke="#94a3b8" stroke-width="3" stroke-linecap="round" data-v-14ee96e9></line></g>',1)])],8,Gd),m[6]||(m[6]=e.createStaticVNode('<circle cx="105" cy="45" r="3" fill="#334155" stroke="#64748b" stroke-width="1" data-v-14ee96e9></circle><rect x="45" y="15" width="15" height="10" rx="1" fill="#334155" stroke="#475569" stroke-width="0.5" data-v-14ee96e9></rect><circle cx="48" cy="20" r="1" fill="#dc2626" data-v-14ee96e9></circle><circle cx="52" cy="20" r="1" fill="#22c55e" data-v-14ee96e9></circle><circle cx="56" cy="20" r="1" fill="#3b82f6" data-v-14ee96e9></circle>',5)),e.createElementVNode("circle",{cx:"15",cy:"45",r:"4",fill:n.value?"#22c55e":"#ef4444",filter:n.value?`url(#indicator-glow-${t.value})`:"none"},null,8,Hd),e.createElementVNode("circle",{cx:"15",cy:"45",r:"2",fill:"#ffffff",opacity:n.value?.6:.2},null,8,Kd),m[7]||(m[7]=e.createElementVNode("rect",{x:"40",y:"55",width:"40",height:"8",rx:"1",fill:"#1e293b",opacity:"0.7"},null,-1)),e.createElementVNode("text",Yd,e.toDisplayString(i.value)+"kW "+e.toDisplayString(o.value)+"rpm ",1)])),e.createElementVNode("div",{class:e.normalizeClass(["status-text",{"is-running":n.value}])},e.toDisplayString(n.value?"运行中":"已停止"),3)]))}}),[["__scopeId","data-v-14ee96e9"]]),Jd={class:"valve-3d-container"},Xd={viewBox:"0 0 100 120",xmlns:"http://www.w3.org/2000/svg"},Zd=["id"],eu=["id"],tu=["fill"],ru=["fill"],ou=["fill"],nu=["fill"],iu={transform:"translate(50, 60)"},su=["fill","transform"],au=["transform"],lu=["fill"],cu=["fill"],du={x:"12.5",y:"62","font-size":"6",fill:"#ffffff","text-anchor":"middle","font-weight":"bold"},uu={x:"85",y:"62","font-size":"8",fill:"#cbd5e1","text-anchor":"middle","font-family":"monospace"},fu=Me(e.defineComponent({__name:"Valve3D",props:{node:{}},setup(u){const r=u,t=e.ref(`valve-${Math.random().toString(36).substr(2,9)}`),l=()=>r.node?r.node.getData?r.node.getData():r.node.data||{}:{},n=e.ref(!1),o=e.ref(0),i=e.computed(()=>o.value/100*720),a=()=>{const s=l();n.value=s.state==="open"||s.state===!0,o.value=s.openness!==void 0?s.openness:n.value?100:0};return e.watch(()=>r.node,()=>{a()},{deep:!0}),e.onMounted(()=>{a(),r.node&&typeof r.node.on=="function"&&r.node.on("change:data",()=>{a()})}),(s,c)=>(e.openBlock(),e.createElementBlock("div",Jd,[(e.openBlock(),e.createElementBlock("svg",Xd,[e.createElementVNode("defs",null,[e.createElementVNode("linearGradient",{id:`valve-body-${t.value}`,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},[...c[0]||(c[0]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#64748b"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#94a3b8"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#64748b"},null,-1)])],8,Zd),e.createElementVNode("linearGradient",{id:`handle-gradient-${t.value}`,x1:"0%",y1:"0%",x2:"0%",y2:"100%"},[...c[1]||(c[1]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#ef4444"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#dc2626"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#b91c1c"},null,-1)])],8,eu)]),e.createElementVNode("rect",{x:"40",y:"85",width:"20",height:"30",fill:`url(#valve-body-${t.value})`,stroke:"#475569","stroke-width":"1"},null,8,tu),c[3]||(c[3]=e.createElementVNode("ellipse",{cx:"50",cy:"85",rx:"10",ry:"5",fill:"#94a3b8",stroke:"#475569","stroke-width":"1"},null,-1)),c[4]||(c[4]=e.createElementVNode("ellipse",{cx:"50",cy:"115",rx:"10",ry:"5",fill:"#64748b",stroke:"#475569","stroke-width":"1"},null,-1)),e.createElementVNode("ellipse",{cx:"50",cy:"60",rx:"25",ry:"15",fill:`url(#valve-body-${t.value})`,stroke:"#475569","stroke-width":"1"},null,8,ru),e.createElementVNode("rect",{x:"25",y:"50",width:"50",height:"20",fill:`url(#valve-body-${t.value})`,stroke:"#475569","stroke-width":"1"},null,8,ou),c[5]||(c[5]=e.createStaticVNode('<ellipse cx="50" cy="50" rx="25" ry="15" fill="#94a3b8" stroke="#475569" stroke-width="1" data-v-9c6b9014></ellipse><g data-v-9c6b9014><circle cx="30" cy="55" r="2" fill="#334155" data-v-9c6b9014></circle><circle cx="30" cy="65" r="2" fill="#334155" data-v-9c6b9014></circle><circle cx="70" cy="55" r="2" fill="#334155" data-v-9c6b9014></circle><circle cx="70" cy="65" r="2" fill="#334155" data-v-9c6b9014></circle></g>',2)),e.createElementVNode("rect",{x:"40",y:"10",width:"20",height:"30",fill:`url(#valve-body-${t.value})`,stroke:"#475569","stroke-width":"1"},null,8,nu),c[6]||(c[6]=e.createElementVNode("ellipse",{cx:"50",cy:"10",rx:"10",ry:"5",fill:"#94a3b8",stroke:"#475569","stroke-width":"1"},null,-1)),c[7]||(c[7]=e.createElementVNode("ellipse",{cx:"50",cy:"40",rx:"10",ry:"5",fill:"#64748b",stroke:"#475569","stroke-width":"1"},null,-1)),e.createElementVNode("g",iu,[e.createElementVNode("rect",{x:"-3",y:"-20",width:"6",height:"40",rx:"3",fill:n.value?"#22c55e":"#ef4444",transform:`rotate(${n.value?0:90})`,style:{transition:"transform 0.5s ease"}},null,8,su)]),c[8]||(c[8]=e.createElementVNode("rect",{x:"47",y:"40",width:"6",height:"40",rx:"1",fill:"#475569",stroke:"#334155","stroke-width":"0.5"},null,-1)),e.createElementVNode("g",{transform:`rotate(${i.value} 50 25)`,style:{transformOrigin:"50px 25px"}},[e.createElementVNode("circle",{cx:"50",cy:"25",r:"15",fill:`url(#handle-gradient-${t.value})`,stroke:"#991b1b","stroke-width":"1"},null,8,lu),c[2]||(c[2]=e.createStaticVNode('<circle cx="50" cy="25" r="12" fill="none" stroke="#7f1d1d" stroke-width="2" data-v-9c6b9014></circle><circle cx="50" cy="25" r="5" fill="#7f1d1d" data-v-9c6b9014></circle><line x1="50" y1="25" x2="50" y2="12" stroke="#7f1d1d" stroke-width="2" data-v-9c6b9014></line><line x1="50" y1="25" x2="50" y2="38" stroke="#7f1d1d" stroke-width="2" data-v-9c6b9014></line><line x1="50" y1="25" x2="37" y2="25" stroke="#7f1d1d" stroke-width="2" data-v-9c6b9014></line><line x1="50" y1="25" x2="63" y2="25" stroke="#7f1d1d" stroke-width="2" data-v-9c6b9014></line><rect x="63" y="23" width="8" height="4" rx="2" fill="#991b1b" data-v-9c6b9014></rect>',7))],8,au),e.createElementVNode("g",null,[e.createElementVNode("rect",{x:"5",y:"55",width:"15",height:"10",rx:"2",fill:n.value?"#22c55e":"#ef4444",opacity:"0.9"},null,8,cu),e.createElementVNode("text",du,e.toDisplayString(n.value?"ON":"OFF"),1)]),e.createElementVNode("text",uu,e.toDisplayString(o.value)+"% ",1)])),e.createElementVNode("div",{class:e.normalizeClass(["status-text",{"is-open":n.value}])},e.toDisplayString(n.value?"开启":"关闭")+" - "+e.toDisplayString(o.value)+"% ",3)]))}}),[["__scopeId","data-v-9c6b9014"]]),pu={class:"tank-3d-container"},hu={viewBox:"0 0 100 140",xmlns:"http://www.w3.org/2000/svg"},mu=["id"],gu=["id"],yu=["stop-color"],bu=["stop-color"],wu=["id"],Eu=["fill"],vu=["y","height","fill","filter"],ku=["cy","fill"],_u=["fill"],Nu=["height"],xu={x:"65",y:"38","font-size":"5",fill:"#22c55e","text-anchor":"middle"},Su=["height"],Vu={x:"50",y:"127","font-size":"6",fill:"#22c55e","text-anchor":"middle","font-family":"monospace"},Cu={class:"status-text"},Iu=Me(e.defineComponent({__name:"Tank3D",props:{node:{}},setup(u){const r=u,t=e.ref(`tank-${Math.random().toString(36).substr(2,9)}`),l=()=>r.node?r.node.getData?r.node.getData():r.node.data||{}:{},n=e.ref(50),o=e.ref(100),i=e.ref(25),a=e.ref(101),s=e.ref("#3b82f6"),c=e.computed(()=>(n.value/100*o.value).toFixed(1)),d=e.computed(()=>90*n.value/100),p=e.computed(()=>110-d.value),m=()=>{const h=l();n.value=Math.max(0,Math.min(100,h.level||50)),o.value=h.capacity||100,i.value=h.temperature||25,a.value=h.pressure||101,s.value=h.liquidColor||"#3b82f6"};return e.watch(()=>r.node,()=>{m()},{deep:!0}),e.onMounted(()=>{m(),r.node&&typeof r.node.on=="function"&&r.node.on("change:data",()=>{m()})}),(h,f)=>(e.openBlock(),e.createElementBlock("div",pu,[(e.openBlock(),e.createElementBlock("svg",hu,[e.createElementVNode("defs",null,[e.createElementVNode("linearGradient",{id:`tank-body-${t.value}`,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},[...f[0]||(f[0]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#64748b"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#cbd5e1"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#64748b"},null,-1)])],8,mu),e.createElementVNode("linearGradient",{id:`liquid-${t.value}`,x1:"0%",y1:"0%",x2:"0%",y2:"100%"},[e.createElementVNode("stop",{offset:"0%","stop-color":s.value,"stop-opacity":"0.9"},null,8,yu),e.createElementVNode("stop",{offset:"100%","stop-color":s.value,"stop-opacity":"0.7"},null,8,bu)],8,gu),e.createElementVNode("filter",{id:`wave-${t.value}`},[...f[1]||(f[1]=[e.createElementVNode("feTurbulence",{type:"fractalNoise",baseFrequency:"0.02",numOctaves:"2",result:"turbulence"},null,-1),e.createElementVNode("feDisplacementMap",{in:"SourceGraphic",in2:"turbulence",scale:"2",xChannelSelector:"R",yChannelSelector:"G"},null,-1)])],8,wu)]),f[2]||(f[2]=e.createElementVNode("ellipse",{cx:"50",cy:"20",rx:"30",ry:"8",fill:"#94a3b8",stroke:"#475569","stroke-width":"1"},null,-1)),f[3]||(f[3]=e.createElementVNode("ellipse",{cx:"50",cy:"20",rx:"25",ry:"6",fill:"#cbd5e1"},null,-1)),e.createElementVNode("rect",{x:"20",y:"20",width:"60",height:"90",fill:`url(#tank-body-${t.value})`,stroke:"#475569","stroke-width":"1"},null,8,Eu),f[4]||(f[4]=e.createStaticVNode('<g opacity="0.6" data-v-13c65d9d><line x1="15" y1="30" x2="20" y2="30" stroke="#94a3b8" stroke-width="1" data-v-13c65d9d></line><text x="12" y="32" font-size="5" fill="#94a3b8" text-anchor="end" data-v-13c65d9d>100%</text><line x1="15" y1="52.5" x2="20" y2="52.5" stroke="#94a3b8" stroke-width="1" data-v-13c65d9d></line><text x="12" y="54.5" font-size="5" fill="#94a3b8" text-anchor="end" data-v-13c65d9d>75%</text><line x1="15" y1="75" x2="20" y2="75" stroke="#94a3b8" stroke-width="1" data-v-13c65d9d></line><text x="12" y="77" font-size="5" fill="#94a3b8" text-anchor="end" data-v-13c65d9d>50%</text><line x1="15" y1="97.5" x2="20" y2="97.5" stroke="#94a3b8" stroke-width="1" data-v-13c65d9d></line><text x="12" y="99.5" font-size="5" fill="#94a3b8" text-anchor="end" data-v-13c65d9d>25%</text><line x1="15" y1="110" x2="20" y2="110" stroke="#94a3b8" stroke-width="1" data-v-13c65d9d></line><text x="12" y="112" font-size="5" fill="#94a3b8" text-anchor="end" data-v-13c65d9d>0%</text></g>',1)),e.createElementVNode("rect",{x:"20",y:p.value,width:"60",height:d.value,fill:`url(#liquid-${t.value})`,filter:`url(#wave-${t.value})`,opacity:"0.85"},null,8,vu),n.value>0?(e.openBlock(),e.createElementBlock("ellipse",{key:0,cx:"50",cy:p.value,rx:"30",ry:"5",fill:s.value,opacity:"0.6"},null,8,ku)):e.createCommentVNode("",!0),e.createElementVNode("ellipse",{cx:"50",cy:"110",rx:"30",ry:"8",fill:`url(#tank-body-${t.value})`,stroke:"#475569","stroke-width":"1"},null,8,_u),f[5]||(f[5]=e.createStaticVNode('<g data-v-13c65d9d><rect x="23" y="110" width="4" height="15" fill="#475569" data-v-13c65d9d></rect><rect x="73" y="110" width="4" height="15" fill="#475569" data-v-13c65d9d></rect><rect x="20" y="123" width="10" height="3" rx="1" fill="#64748b" data-v-13c65d9d></rect><rect x="70" y="123" width="10" height="3" rx="1" fill="#64748b" data-v-13c65d9d></rect></g><rect x="45" y="12" width="10" height="8" rx="1" fill="#64748b" stroke="#475569" stroke-width="0.5" data-v-13c65d9d></rect><ellipse cx="50" cy="12" rx="5" ry="3" fill="#94a3b8" data-v-13c65d9d></ellipse><rect x="75" y="105" width="8" height="4" rx="1" fill="#64748b" stroke="#475569" stroke-width="0.5" data-v-13c65d9d></rect><rect x="82" y="30" width="6" height="80" rx="1" fill="#334155" opacity="0.7" data-v-13c65d9d></rect>',5)),e.createElementVNode("rect",{x:"84",y:"32",width:"2",height:76*(n.value/100),fill:"#22c55e"},null,8,Nu),f[6]||(f[6]=e.createElementVNode("circle",{cx:"65",cy:"35",r:"8",fill:"#1e293b",stroke:"#475569","stroke-width":"1"},null,-1)),e.createElementVNode("text",xu,e.toDisplayString(a.value),1),f[7]||(f[7]=e.createElementVNode("text",{x:"65",y:"42","font-size":"3",fill:"#94a3b8","text-anchor":"middle"},"kPa",-1)),f[8]||(f[8]=e.createElementVNode("rect",{x:"32",y:"35",width:"4",height:"15",rx:"2",fill:"#1e293b",stroke:"#475569","stroke-width":"0.5"},null,-1)),e.createElementVNode("rect",{x:"33",y:"37",width:"2",height:i.value/10,fill:"#ef4444"},null,8,Su),f[9]||(f[9]=e.createElementVNode("circle",{cx:"34",cy:"52",r:"2",fill:"#ef4444"},null,-1)),f[10]||(f[10]=e.createElementVNode("rect",{x:"25",y:"120",width:"50",height:"12",rx:"2",fill:"#1e293b",opacity:"0.9"},null,-1)),e.createElementVNode("text",Vu,e.toDisplayString(n.value)+"% | "+e.toDisplayString(c.value)+"m³ ",1)])),e.createElementVNode("div",Cu," 液位: "+e.toDisplayString(n.value)+"% | 容量: "+e.toDisplayString(c.value)+"m³ ",1)]))}}),[["__scopeId","data-v-13c65d9d"]]),Au={class:"pump-3d-container"},$u={viewBox:"0 0 140 100",xmlns:"http://www.w3.org/2000/svg"},Tu=["id"],Bu=["id"],Du=["id"],Pu={key:0,attributeName:"x1",values:"-100%;100%",dur:"1s",repeatCount:"indefinite"},Ou={key:1,attributeName:"x2",values:"0%;200%",dur:"1s",repeatCount:"indefinite"},Mu=["fill"],Ru=["fill"],ju=["fill"],Lu=["fill"],Uu=["transform"],Fu=["fill"],zu={transform:"translate(100, 25)"},Wu={x:"0",y:"2","font-size":"5",fill:"#22c55e","text-anchor":"middle"},qu={transform:"translate(115, 35)"},Gu={x:"0",y:"1","font-size":"4",fill:"#3b82f6","text-anchor":"middle"},Hu=["fill"],Ku=["opacity"],Yu={x:"60",y:"68","font-size":"4",fill:"#cbd5e1","text-anchor":"middle","font-family":"monospace"},Qu=Me(e.defineComponent({__name:"Pump3D",props:{node:{}},setup(u){const r=u,t=e.ref(`pump-${Math.random().toString(36).substr(2,9)}`),l=()=>r.node?r.node.getData?r.node.getData():r.node.data||{}:{},n=e.ref(!1),o=e.ref(2900),i=e.ref(5.5),a=e.ref(0),s=e.ref(0),c=e.ref(0);let d=null;const p=()=>{if(n.value){const h=o.value/360;c.value=(c.value+h)%360}d=requestAnimationFrame(p)},m=()=>{const h=l();n.value=h.state==="running"||h.state===!0,o.value=h.speed||2900,i.value=h.power||5.5,a.value=n.value?h.flowRate||15:0,s.value=n.value?(h.pressure||3.5).toFixed(1):0};return e.watch(()=>r.node,()=>{m()},{deep:!0}),e.onMounted(()=>{m(),n.value&&p(),r.node&&typeof r.node.on=="function"&&r.node.on("change:data",()=>{const h=n.value;m(),n.value&&!h?p():!n.value&&h&&d&&(cancelAnimationFrame(d),d=null)})}),e.onUnmounted(()=>{d&&cancelAnimationFrame(d)}),(h,f)=>(e.openBlock(),e.createElementBlock("div",Au,[(e.openBlock(),e.createElementBlock("svg",$u,[e.createElementVNode("defs",null,[e.createElementVNode("radialGradient",{id:`pump-body-${t.value}`,cx:"50%",cy:"50%"},[...f[0]||(f[0]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#cbd5e1"},null,-1),e.createElementVNode("stop",{offset:"70%","stop-color":"#94a3b8"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#64748b"},null,-1)])],8,Tu),e.createElementVNode("linearGradient",{id:`motor-gradient-${t.value}`,x1:"0%",y1:"0%",x2:"0%",y2:"100%"},[...f[1]||(f[1]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#94a3b8"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#64748b"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#475569"},null,-1)])],8,Bu),e.createElementVNode("linearGradient",{id:`flow-gradient-${t.value}`,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},[f[2]||(f[2]=e.createElementVNode("stop",{offset:"0%","stop-color":"#3b82f6","stop-opacity":"0.3"},null,-1)),f[3]||(f[3]=e.createElementVNode("stop",{offset:"50%","stop-color":"#60a5fa","stop-opacity":"0.6"},null,-1)),f[4]||(f[4]=e.createElementVNode("stop",{offset:"100%","stop-color":"#3b82f6","stop-opacity":"0.3"},null,-1)),n.value?(e.openBlock(),e.createElementBlock("animate",Pu)):e.createCommentVNode("",!0),n.value?(e.openBlock(),e.createElementBlock("animate",Ou)):e.createCommentVNode("",!0)],8,Du)]),e.createElementVNode("rect",{x:"30",y:"75",width:"60",height:"20",rx:"2",fill:`url(#motor-gradient-${t.value})`},null,8,Mu),f[15]||(f[15]=e.createElementVNode("rect",{x:"30",y:"75",width:"60",height:"2",fill:"#1e293b",opacity:"0.4"},null,-1)),f[16]||(f[16]=e.createElementVNode("circle",{cx:"35",cy:"85",r:"2",fill:"#334155"},null,-1)),f[17]||(f[17]=e.createElementVNode("circle",{cx:"85",cy:"85",r:"2",fill:"#334155"},null,-1)),e.createElementVNode("ellipse",{cx:"60",cy:"50",rx:"28",ry:"25",fill:`url(#pump-body-${t.value})`,stroke:"#475569","stroke-width":"1.5"},null,8,Ru),f[18]||(f[18]=e.createElementVNode("g",null,[e.createElementVNode("circle",{cx:"40",cy:"40",r:"3",fill:"#334155"}),e.createElementVNode("circle",{cx:"40",cy:"60",r:"3",fill:"#334155"}),e.createElementVNode("circle",{cx:"80",cy:"40",r:"3",fill:"#334155"}),e.createElementVNode("circle",{cx:"80",cy:"60",r:"3",fill:"#334155"})],-1)),e.createElementVNode("g",null,[f[5]||(f[5]=e.createElementVNode("rect",{x:"5",y:"45",width:"28",height:"10",rx:"2",fill:"#64748b",stroke:"#475569","stroke-width":"1"},null,-1)),f[6]||(f[6]=e.createElementVNode("ellipse",{cx:"5",cy:"50",rx:"5",ry:"5",fill:"#94a3b8",stroke:"#475569","stroke-width":"1"},null,-1)),n.value?(e.openBlock(),e.createElementBlock("rect",{key:0,x:"5",y:"46",width:"28",height:"8",fill:`url(#flow-gradient-${t.value})`,opacity:"0.7"},null,8,ju)):e.createCommentVNode("",!0)]),e.createElementVNode("g",null,[f[7]||(f[7]=e.createElementVNode("rect",{x:"87",y:"45",width:"48",height:"10",rx:"2",fill:"#64748b",stroke:"#475569","stroke-width":"1"},null,-1)),f[8]||(f[8]=e.createElementVNode("ellipse",{cx:"135",cy:"50",rx:"5",ry:"5",fill:"#94a3b8",stroke:"#475569","stroke-width":"1"},null,-1)),n.value?(e.openBlock(),e.createElementBlock("rect",{key:0,x:"87",y:"46",width:"48",height:"8",fill:`url(#flow-gradient-${t.value})`,opacity:"0.7"},null,8,Lu)):e.createCommentVNode("",!0)]),e.createElementVNode("g",{transform:`rotate(${c.value} 60 50)`},[...f[9]||(f[9]=[e.createStaticVNode('<circle cx="60" cy="50" r="15" fill="#475569" opacity="0.6" data-v-71be9db7></circle><path d="M 60 50 L 70 35 Q 75 40 70 50 Z" fill="#64748b" data-v-71be9db7></path><path d="M 60 50 L 75 50 Q 75 55 65 60 Z" fill="#64748b" data-v-71be9db7></path><path d="M 60 50 L 60 65 Q 55 65 50 60 Z" fill="#64748b" data-v-71be9db7></path><path d="M 60 50 L 45 50 Q 45 45 50 40 Z" fill="#64748b" data-v-71be9db7></path>',5)])],8,Uu),f[19]||(f[19]=e.createElementVNode("circle",{cx:"60",cy:"50",r:"5",fill:"#334155",stroke:"#64748b","stroke-width":"1"},null,-1)),e.createElementVNode("rect",{x:"50",y:"20",width:"20",height:"10",rx:"2",fill:`url(#motor-gradient-${t.value})`,stroke:"#475569","stroke-width":"1"},null,8,Fu),f[20]||(f[20]=e.createElementVNode("rect",{x:"58",y:"30",width:"4",height:"20",fill:"#475569"},null,-1)),e.createElementVNode("g",zu,[f[10]||(f[10]=e.createElementVNode("circle",{cx:"0",cy:"0",r:"10",fill:"#1e293b",stroke:"#475569","stroke-width":"1"},null,-1)),f[11]||(f[11]=e.createElementVNode("circle",{cx:"0",cy:"0",r:"8",fill:"none",stroke:"#64748b","stroke-width":"0.5"},null,-1)),e.createElementVNode("text",Wu,e.toDisplayString(s.value),1),f[12]||(f[12]=e.createElementVNode("text",{x:"0",y:"6","font-size":"2.5",fill:"#94a3b8","text-anchor":"middle"},"bar",-1))]),e.createElementVNode("g",qu,[f[13]||(f[13]=e.createElementVNode("rect",{x:"-8",y:"-6",width:"16",height:"12",rx:"1",fill:"#1e293b",stroke:"#475569","stroke-width":"0.5"},null,-1)),e.createElementVNode("text",Gu,e.toDisplayString(a.value),1),f[14]||(f[14]=e.createElementVNode("text",{x:"0",y:"4.5","font-size":"2",fill:"#94a3b8","text-anchor":"middle"},"m³/h",-1))]),e.createElementVNode("circle",{cx:"25",cy:"30",r:"4",fill:n.value?"#22c55e":"#ef4444"},null,8,Hu),e.createElementVNode("circle",{cx:"25",cy:"30",r:"2",fill:"#ffffff",opacity:n.value?.6:.2},null,8,Ku),f[21]||(f[21]=e.createElementVNode("rect",{x:"45",y:"62",width:"30",height:"8",rx:"1",fill:"#1e293b",opacity:"0.7"},null,-1)),e.createElementVNode("text",Yu,e.toDisplayString(i.value)+"kW "+e.toDisplayString(o.value)+"rpm ",1)])),e.createElementVNode("div",{class:e.normalizeClass(["status-text",{"is-running":n.value}])},e.toDisplayString(n.value?"运行中":"已停止")+" | "+e.toDisplayString(a.value)+"m³/h ",3)]))}}),[["__scopeId","data-v-71be9db7"]]),ds={metadata:{id:"motor-3d",name:"3D电机",category:"iot",icon:"⚡",description:"3D仿真电机组件,支持运行状态和转速显示",version:"1.0.0"},shape:"motor-3d-vue",component:Qd,width:140,height:110,label:"",attrs:{body:{fill:"transparent",stroke:"transparent"}},data:{type:"motor",state:!1,speed:1500,power:7.5,deviceId:"",property:""},ports:{groups:{left:{position:"left",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},right:{position:"right",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}}},items:[{id:"port-left",group:"left"},{id:"port-right",group:"right"}]},props:[{key:"state",label:"运行状态",type:"select",path:"data.state",defaultValue:!1,options:[{label:"停止",value:!1},{label:"运行",value:"running"}]},{key:"speed",label:"转速(rpm)",type:"number",path:"data.speed",defaultValue:1500,min:0},{key:"power",label:"功率(kW)",type:"number",path:"data.power",defaultValue:7.5,min:0},{key:"deviceId",label:"设备ID",type:"text",path:"data.deviceId",defaultValue:""},{key:"property",label:"设备属性",type:"text",path:"data.property",defaultValue:""}]},us={metadata:{id:"valve-3d",name:"3D阀门",category:"iot",icon:"🚰",description:"3D仿真阀门组件,支持开关状态和开度显示",version:"1.0.0"},shape:"valve-3d-vue",component:fu,width:100,height:140,label:"",attrs:{body:{fill:"transparent",stroke:"transparent"}},data:{type:"valve",state:!1,openness:0,deviceId:"",property:""},ports:{groups:{top:{position:"top",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},bottom:{position:"bottom",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}}},items:[{id:"port-top",group:"top"},{id:"port-bottom",group:"bottom"}]},props:[{key:"state",label:"阀门状态",type:"select",path:"data.state",defaultValue:!1,options:[{label:"关闭",value:!1},{label:"开启",value:"open"}]},{key:"openness",label:"开度(%)",type:"number",path:"data.openness",defaultValue:0,min:0,max:100},{key:"deviceId",label:"设备ID",type:"text",path:"data.deviceId",defaultValue:""},{key:"property",label:"设备属性",type:"text",path:"data.property",defaultValue:""}]},fs={metadata:{id:"tank-3d",name:"3D储罐",category:"iot",icon:"🛢️",description:"3D仿真储罐组件,支持液位、温度、压力显示",version:"1.0.0"},shape:"tank-3d-vue",component:Iu,width:120,height:160,label:"",attrs:{body:{fill:"transparent",stroke:"transparent"}},data:{type:"tank",level:50,capacity:100,temperature:25,pressure:101,liquidColor:"#3b82f6",deviceId:"",property:""},ports:{groups:{top:{position:"top",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},right:{position:"right",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},bottom:{position:"bottom",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}}},items:[{id:"port-top",group:"top"},{id:"port-right",group:"right"},{id:"port-bottom",group:"bottom"}]},props:[{key:"level",label:"液位(%)",type:"number",path:"data.level",defaultValue:50,min:0,max:100},{key:"capacity",label:"容量(m³)",type:"number",path:"data.capacity",defaultValue:100,min:0},{key:"temperature",label:"温度(°C)",type:"number",path:"data.temperature",defaultValue:25},{key:"pressure",label:"压力(kPa)",type:"number",path:"data.pressure",defaultValue:101,min:0},{key:"liquidColor",label:"液体颜色",type:"color",path:"data.liquidColor",defaultValue:"#3b82f6"},{key:"deviceId",label:"设备ID",type:"text",path:"data.deviceId",defaultValue:""},{key:"property",label:"设备属性",type:"text",path:"data.property",defaultValue:""}]},ps={metadata:{id:"pump-3d",name:"3D水泵",category:"iot",icon:"🌊",description:"3D仿真水泵组件,支持运行状态、流量、压力显示",version:"1.0.0"},shape:"pump-3d-vue",component:Qu,width:160,height:120,label:"",attrs:{body:{fill:"transparent",stroke:"transparent"}},data:{type:"pump",state:!1,speed:2900,power:5.5,flowRate:15,pressure:3.5,deviceId:"",property:""},ports:{groups:{left:{position:"left",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},right:{position:"right",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}}},items:[{id:"port-left",group:"left"},{id:"port-right",group:"right"}]},props:[{key:"state",label:"运行状态",type:"select",path:"data.state",defaultValue:!1,options:[{label:"停止",value:!1},{label:"运行",value:"running"}]},{key:"speed",label:"转速(rpm)",type:"number",path:"data.speed",defaultValue:2900,min:0},{key:"power",label:"功率(kW)",type:"number",path:"data.power",defaultValue:5.5,min:0},{key:"flowRate",label:"流量(m³/h)",type:"number",path:"data.flowRate",defaultValue:15,min:0},{key:"pressure",label:"压力(bar)",type:"number",path:"data.pressure",defaultValue:3.5,min:0},{key:"deviceId",label:"设备ID",type:"text",path:"data.deviceId",defaultValue:""},{key:"property",label:"设备属性",type:"text",path:"data.property",defaultValue:""}]},Ju={class:"conveyor-3d-container"},Xu={viewBox:"0 0 200 80",xmlns:"http://www.w3.org/2000/svg"},Zu=["id"],ef=["id"],tf=["id"],rf=["fill","transform"],of=["transform"],nf=["fill","transform"],sf=["transform"],af=["fill"],lf=["x1","x2"],cf=["x","fill"],df=["fill","opacity"],uf={key:0,attributeName:"opacity",values:"1;0.4;1",dur:"1s",repeatCount:"indefinite"},ff={x:"100",y:"20","font-size":"10",fill:"#94a3b8","text-anchor":"middle","font-family":"monospace"},pf=Me(e.defineComponent({__name:"Conveyor3D",props:{node:{}},setup(u){const r=u,t=e.ref(`conveyor-${Math.random().toString(36).substr(2,9)}`),l=()=>r.node?r.node.getData?r.node.getData():r.node.data||{}:{},n=e.ref(!1),o=e.ref(10),i=e.ref("forward"),a=e.ref(0),s=e.ref(0),c=e.ref(30);let d=null;const p=()=>{if(n.value){const h=o.value/10,f=o.value/5;i.value==="forward"?(a.value=(a.value+h)%360,s.value=(s.value+f)%15,c.value=c.value+f,c.value>180&&(c.value=20)):(a.value=(a.value-h+360)%360,s.value=(s.value-f+15)%15,c.value=c.value-f,c.value<20&&(c.value=180))}d=requestAnimationFrame(p)},m=()=>{const h=l();n.value=h.state==="running"||h.state===!0,o.value=h.speed||10,i.value=h.direction||"forward"};return e.watch(()=>r.node,()=>{m()},{deep:!0}),e.onMounted(()=>{m(),p(),r.node&&typeof r.node.on=="function"&&r.node.on("change:data",()=>{m()})}),e.onUnmounted(()=>{d&&cancelAnimationFrame(d)}),(h,f)=>(e.openBlock(),e.createElementBlock("div",Ju,[(e.openBlock(),e.createElementBlock("svg",Xu,[e.createElementVNode("defs",null,[e.createElementVNode("linearGradient",{id:`belt-gradient-${t.value}`,x1:"0%",y1:"0%",x2:"0%",y2:"100%"},[...f[0]||(f[0]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#1e293b"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#334155"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#1e293b"},null,-1)])],8,Zu),e.createElementVNode("radialGradient",{id:`roller-gradient-${t.value}`},[...f[1]||(f[1]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#64748b"},null,-1),e.createElementVNode("stop",{offset:"70%","stop-color":"#475569"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#334155"},null,-1)])],8,ef),e.createElementVNode("linearGradient",{id:`cargo-gradient-${t.value}`,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},[...f[2]||(f[2]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#3b82f6"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#60a5fa"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#3b82f6"},null,-1)])],8,tf)]),f[3]||(f[3]=e.createElementVNode("rect",{x:"10",y:"45",width:"180",height:"25",rx:"3",fill:"#0f172a",stroke:"#475569","stroke-width":"1"},null,-1)),e.createElementVNode("circle",{cx:"25",cy:"50",r:"12",fill:`url(#roller-gradient-${t.value})`,stroke:"#1e293b","stroke-width":"2",transform:`rotate(${a.value}, 25, 50)`},null,8,rf),(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(8,w=>e.createElementVNode("g",{key:`left-${w}`},[e.createElementVNode("line",{x1:25,y1:38,x2:25,y2:42,stroke:"#1e293b","stroke-width":"1.5",transform:`rotate(${a.value+w*45}, 25, 50)`},null,8,of)])),64)),e.createElementVNode("circle",{cx:"175",cy:"50",r:"12",fill:`url(#roller-gradient-${t.value})`,stroke:"#1e293b","stroke-width":"2",transform:`rotate(${a.value}, 175, 50)`},null,8,nf),(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(8,w=>e.createElementVNode("g",{key:`right-${w}`},[e.createElementVNode("line",{x1:175,y1:38,x2:175,y2:42,stroke:"#1e293b","stroke-width":"1.5",transform:`rotate(${a.value+w*45}, 175, 50)`},null,8,sf)])),64)),e.createElementVNode("rect",{x:"25",y:"38",width:"150",height:"24",fill:`url(#belt-gradient-${t.value})`},null,8,af),(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(10,w=>e.createElementVNode("g",{key:`line-${w}`},[e.createElementVNode("line",{x1:25+w*15+s.value,y1:38,x2:25+w*15+s.value,y2:62,stroke:"#475569","stroke-width":"1.5",opacity:"0.5"},null,8,lf)])),64)),n.value?(e.openBlock(),e.createElementBlock("rect",{key:0,x:c.value,y:"30",width:"30",height:"20",rx:"2",fill:`url(#cargo-gradient-${t.value})`,stroke:"#2563eb","stroke-width":"1",opacity:"0.9"},null,8,cf)):e.createCommentVNode("",!0),f[4]||(f[4]=e.createStaticVNode('<g data-v-eb26bad8><rect x="20" y="68" width="4" height="8" fill="#475569" data-v-eb26bad8></rect><rect x="96" y="68" width="4" height="8" fill="#475569" data-v-eb26bad8></rect><rect x="172" y="68" width="4" height="8" fill="#475569" data-v-eb26bad8></rect><rect x="18" y="74" width="8" height="2" rx="1" fill="#64748b" data-v-eb26bad8></rect><rect x="94" y="74" width="8" height="2" rx="1" fill="#64748b" data-v-eb26bad8></rect><rect x="170" y="74" width="8" height="2" rx="1" fill="#64748b" data-v-eb26bad8></rect></g><rect x="180" y="52" width="15" height="18" rx="2" fill="#334155" stroke="#475569" stroke-width="1" data-v-eb26bad8></rect><circle cx="187.5" cy="61" r="3" fill="#64748b" data-v-eb26bad8></circle>',3)),e.createElementVNode("circle",{cx:"15",cy:"55",r:"3",fill:n.value?"#22c55e":"#ef4444",opacity:n.value?1:.5},[n.value?(e.openBlock(),e.createElementBlock("animate",uf)):e.createCommentVNode("",!0)],8,df),e.createElementVNode("text",ff,e.toDisplayString(o.value)+" m/min ",1)])),e.createElementVNode("div",{class:e.normalizeClass(["status-text",{"is-running":n.value}])},e.toDisplayString(n.value?"运行中":"停止")+" | "+e.toDisplayString(o.value)+" m/min ",3)]))}}),[["__scopeId","data-v-eb26bad8"]]),hf={class:"alarm-light-3d-container"},mf={viewBox:"0 0 80 100",xmlns:"http://www.w3.org/2000/svg"},gf=["id"],yf=["stop-color"],bf=["stop-color"],wf=["stop-color"],Ef=["id"],vf=["stop-color"],kf=["stop-color"],_f=["stop-color"],Nf=["id"],xf=["fill","opacity"],Sf=["transform"],Vf=["fill","opacity"],Cf=["fill"],If=["fill"],Af=["fill"],$f=["fill"],Tf={x:"40",y:"85","font-size":"4",fill:"#64748b","text-anchor":"middle","font-family":"Arial"},Bf=Me(e.defineComponent({__name:"AlarmLight3D",props:{node:{}},setup(u){const r=u,t=e.ref(`alarm-${Math.random().toString(36).substr(2,9)}`),l=()=>r.node?r.node.getData?r.node.getData():r.node.data||{}:{},n=e.ref(!1),o=e.ref("rotating"),i=e.ref("#ef4444"),a=e.ref(0),s=e.ref(.8);let c=null;const d=e.computed(()=>n.value?i.value:"#475569"),p=e.computed(()=>n.value?o.value==="rotating"?"旋转报警":o.value==="flashing"?"闪烁报警":"持续报警":"正常"),m=()=>{n.value?o.value==="rotating"?(a.value=(a.value+5)%360,s.value=.8):o.value==="flashing"?s.value=Math.abs(Math.sin(Date.now()/300)):s.value=.8:s.value=0,c=requestAnimationFrame(m)},h=()=>{const f=l();n.value=f.state==="active"||f.state===!0,o.value=f.mode||"rotating",i.value=f.color||"#ef4444"};return e.watch(()=>r.node,()=>{h()},{deep:!0}),e.onMounted(()=>{h(),m(),r.node&&typeof r.node.on=="function"&&r.node.on("change:data",()=>{h()})}),e.onUnmounted(()=>{c&&cancelAnimationFrame(c)}),(f,w)=>(e.openBlock(),e.createElementBlock("div",hf,[(e.openBlock(),e.createElementBlock("svg",mf,[e.createElementVNode("defs",null,[e.createElementVNode("linearGradient",{id:`dome-gradient-${t.value}`,x1:"0%",y1:"0%",x2:"0%",y2:"100%"},[e.createElementVNode("stop",{offset:"0%","stop-color":d.value,"stop-opacity":"0.9"},null,8,yf),e.createElementVNode("stop",{offset:"50%","stop-color":d.value,"stop-opacity":"0.7"},null,8,bf),e.createElementVNode("stop",{offset:"100%","stop-color":d.value,"stop-opacity":"0.5"},null,8,wf)],8,gf),e.createElementVNode("radialGradient",{id:`glow-${t.value}`},[e.createElementVNode("stop",{offset:"0%","stop-color":d.value,"stop-opacity":"0.8"},null,8,vf),e.createElementVNode("stop",{offset:"50%","stop-color":d.value,"stop-opacity":"0.3"},null,8,kf),e.createElementVNode("stop",{offset:"100%","stop-color":d.value,"stop-opacity":"0"},null,8,_f)],8,Ef),e.createElementVNode("linearGradient",{id:`base-gradient-${t.value}`,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},[...w[0]||(w[0]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#1e293b"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#334155"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#1e293b"},null,-1)])],8,Nf)]),n.value?(e.openBlock(),e.createElementBlock("circle",{key:0,cx:"40",cy:"35",r:"35",fill:`url(#glow-${t.value})`,opacity:s.value},null,8,xf)):e.createCommentVNode("",!0),w[3]||(w[3]=e.createElementVNode("ellipse",{cx:"40",cy:"35",rx:"25",ry:"22",fill:"#1e293b",stroke:"#475569","stroke-width":"1.5",opacity:"0.3"},null,-1)),e.createElementVNode("g",{transform:`rotate(${a.value}, 40, 35)`},[e.createElementVNode("ellipse",{cx:"40",cy:"35",rx:"23",ry:"20",fill:`url(#dome-gradient-${t.value})`,opacity:n.value?1:.3},null,8,Vf),w[1]||(w[1]=e.createElementVNode("path",{d:"M 17,35 Q 40,25 63,35",stroke:"#ffffff","stroke-width":"1",fill:"none",opacity:"0.3"},null,-1)),w[2]||(w[2]=e.createElementVNode("path",{d:"M 17,35 Q 40,45 63,35",stroke:"#000000","stroke-width":"1",fill:"none",opacity:"0.2"},null,-1))],8,Sf),w[4]||(w[4]=e.createElementVNode("rect",{x:"35",y:"55",width:"10",height:"8",rx:"2",fill:"#334155",stroke:"#475569","stroke-width":"1"},null,-1)),e.createElementVNode("ellipse",{cx:"40",cy:"63",rx:"18",ry:"5",fill:`url(#base-gradient-${t.value})`,stroke:"#475569","stroke-width":"1"},null,8,Cf),e.createElementVNode("rect",{x:"22",y:"63",width:"36",height:"12",fill:`url(#base-gradient-${t.value})`,stroke:"#475569","stroke-width":"1"},null,8,If),e.createElementVNode("ellipse",{cx:"40",cy:"75",rx:"18",ry:"5",fill:`url(#base-gradient-${t.value})`,stroke:"#475569","stroke-width":"1"},null,8,Af),w[5]||(w[5]=e.createElementVNode("circle",{cx:"28",cy:"69",r:"2",fill:"#64748b",stroke:"#1e293b","stroke-width":"0.5"},null,-1)),w[6]||(w[6]=e.createElementVNode("circle",{cx:"52",cy:"69",r:"2",fill:"#64748b",stroke:"#1e293b","stroke-width":"0.5"},null,-1)),w[7]||(w[7]=e.createElementVNode("line",{x1:"27",y1:"68",x2:"29",y2:"70",stroke:"#1e293b","stroke-width":"0.5"},null,-1)),w[8]||(w[8]=e.createElementVNode("line",{x1:"51",y1:"68",x2:"53",y2:"70",stroke:"#1e293b","stroke-width":"0.5"},null,-1)),e.createElementVNode("circle",{cx:"40",cy:"69",r:"1.5",fill:n.value?"#22c55e":"#64748b"},null,8,$f),e.createElementVNode("text",Tf," AL-"+e.toDisplayString(o.value.toUpperCase()),1)])),e.createElementVNode("div",{class:e.normalizeClass(["status-text",{"is-active":n.value}])},e.toDisplayString(p.value),3)]))}}),[["__scopeId","data-v-80aba40a"]]),Df={class:"temperature-sensor-3d-container"},Pf={viewBox:"0 0 80 120",xmlns:"http://www.w3.org/2000/svg"},Of=["id"],Mf=["id"],Rf=["stop-color"],jf=["stop-color"],Lf=["id"],Uf=["stop-color"],Ff=["stop-color"],zf=["fill"],Wf=["y","height","fill"],qf=["fill"],Gf=["fill"],Hf=["fill","opacity"],Kf={key:0,attributeName:"opacity",values:"1;0.3;1",dur:"0.8s",repeatCount:"indefinite"},Yf=Me(e.defineComponent({__name:"TemperatureSensor3D",props:{node:{}},setup(u){const r=u,t=e.ref(`temp-sensor-${Math.random().toString(36).substr(2,9)}`),l=()=>r.node?r.node.getData?r.node.getData():r.node.data||{}:{},n=e.ref(25),o=e.ref(100),i=e.ref(0),a=e.ref(80),s=e.ref(10),c=e.computed(()=>{const w=o.value-i.value;return Math.max(0,Math.min(1,(n.value-i.value)/w))*45}),d=e.computed(()=>65-c.value),p=e.computed(()=>n.value>=a.value?"#ef4444":n.value<=s.value?"#3b82f6":n.value>=60?"#f97316":n.value>=40?"#fbbf24":"#22c55e"),m=e.computed(()=>n.value>=a.value?"#ef4444":n.value<=s.value?"#3b82f6":"#22c55e"),h=e.computed(()=>n.value>=a.value||n.value<=s.value),f=()=>{const w=l();n.value=Math.round(w.temperature??25),o.value=w.maxTemp||100,i.value=w.minTemp||0,a.value=w.alarmHighLimit||80,s.value=w.alarmLowLimit||10};return e.watch(()=>r.node,()=>{f()},{deep:!0}),e.onMounted(()=>{f(),r.node&&typeof r.node.on=="function"&&r.node.on("change:data",()=>{f()})}),(w,v)=>(e.openBlock(),e.createElementBlock("div",Df,[(e.openBlock(),e.createElementBlock("svg",Pf,[e.createElementVNode("defs",null,[e.createElementVNode("linearGradient",{id:`shell-gradient-${t.value}`,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},[...v[0]||(v[0]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#64748b"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#cbd5e1"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#64748b"},null,-1)])],8,Of),e.createElementVNode("linearGradient",{id:`liquid-gradient-${t.value}`,x1:"0%",y1:"0%",x2:"0%",y2:"100%"},[e.createElementVNode("stop",{offset:"0%","stop-color":p.value},null,8,Rf),e.createElementVNode("stop",{offset:"100%","stop-color":p.value,"stop-opacity":"0.7"},null,8,jf)],8,Mf),e.createElementVNode("radialGradient",{id:`bulb-gradient-${t.value}`},[e.createElementVNode("stop",{offset:"0%","stop-color":p.value,"stop-opacity":"0.9"},null,8,Uf),e.createElementVNode("stop",{offset:"70%","stop-color":p.value},null,8,Ff),v[1]||(v[1]=e.createElementVNode("stop",{offset:"100%","stop-color":"#991b1b"},null,-1))],8,Lf)]),e.createElementVNode("rect",{x:"30",y:"15",width:"20",height:"60",rx:"10",fill:`url(#shell-gradient-${t.value})`,stroke:"#475569","stroke-width":"1.5"},null,8,zf),v[2]||(v[2]=e.createStaticVNode('<rect x="35" y="20" width="10" height="50" rx="5" fill="#f8fafc" stroke="#cbd5e1" stroke-width="1" opacity="0.8" data-v-1b4c4bcc></rect><g opacity="0.6" data-v-1b4c4bcc><line x1="32" y1="25" x2="35" y2="25" stroke="#64748b" stroke-width="0.8" data-v-1b4c4bcc></line><text x="29" y="27" font-size="5" fill="#64748b" text-anchor="end" data-v-1b4c4bcc>100</text><line x1="32" y1="35" x2="35" y2="35" stroke="#64748b" stroke-width="0.8" data-v-1b4c4bcc></line><text x="29" y="37" font-size="5" fill="#64748b" text-anchor="end" data-v-1b4c4bcc>75</text><line x1="32" y1="45" x2="35" y2="45" stroke="#64748b" stroke-width="0.8" data-v-1b4c4bcc></line><text x="29" y="47" font-size="5" fill="#64748b" text-anchor="end" data-v-1b4c4bcc>50</text><line x1="32" y1="55" x2="35" y2="55" stroke="#64748b" stroke-width="0.8" data-v-1b4c4bcc></line><text x="29" y="57" font-size="5" fill="#64748b" text-anchor="end" data-v-1b4c4bcc>25</text><line x1="32" y1="65" x2="35" y2="65" stroke="#64748b" stroke-width="0.8" data-v-1b4c4bcc></line><text x="29" y="67" font-size="5" fill="#64748b" text-anchor="end" data-v-1b4c4bcc>0</text></g>',2)),e.createElementVNode("rect",{x:"37",y:d.value,width:"6",height:c.value,rx:"3",fill:`url(#liquid-gradient-${t.value})`},null,8,Wf),e.createElementVNode("circle",{cx:"40",cy:"75",r:"10",fill:`url(#bulb-gradient-${t.value})`,stroke:"#991b1b","stroke-width":"1.5"},null,8,qf),v[3]||(v[3]=e.createStaticVNode('<ellipse cx="37" cy="72" rx="3" ry="4" fill="#ffffff" opacity="0.4" data-v-1b4c4bcc></ellipse><path d="M 40,85 Q 45,90 45,95 L 45,105" stroke="#1e293b" stroke-width="3" fill="none" stroke-linecap="round" data-v-1b4c4bcc></path><path d="M 40,85 Q 35,90 35,95 L 35,105" stroke="#ef4444" stroke-width="3" fill="none" stroke-linecap="round" data-v-1b4c4bcc></path><rect x="32" y="103" width="6" height="8" rx="1" fill="#fbbf24" stroke="#b45309" stroke-width="0.5" data-v-1b4c4bcc></rect><rect x="42" y="103" width="6" height="8" rx="1" fill="#1e293b" stroke="#475569" stroke-width="0.5" data-v-1b4c4bcc></rect><rect x="50" y="35" width="25" height="18" rx="2" fill="#0f172a" stroke="#334155" stroke-width="1" data-v-1b4c4bcc></rect>',6)),e.createElementVNode("text",{x:"62.5",y:"47","font-size":"10",fill:m.value,"text-anchor":"middle","font-family":"monospace"},e.toDisplayString(n.value),9,Gf),v[4]||(v[4]=e.createElementVNode("text",{x:"62.5",y:"51","font-size":"4",fill:"#64748b","text-anchor":"middle"},"°C",-1)),e.createElementVNode("circle",{cx:"58",cy:"29",r:"2.5",fill:h.value?"#ef4444":"#64748b",opacity:h.value?1:.3},[h.value?(e.openBlock(),e.createElementBlock("animate",Kf)):e.createCommentVNode("",!0)],8,Hf),v[5]||(v[5]=e.createElementVNode("text",{x:"40",y:"115","font-size":"5",fill:"#64748b","text-anchor":"middle","font-family":"Arial"}," PT100 ",-1))])),e.createElementVNode("div",{class:e.normalizeClass(["status-text",{"is-alarm":h.value}])},e.toDisplayString(n.value)+"°C "+e.toDisplayString(h.value?"- 超限":""),3)]))}}),[["__scopeId","data-v-1b4c4bcc"]]),Qf={class:"cylinder-3d-container"},Jf={viewBox:"0 0 60 140",xmlns:"http://www.w3.org/2000/svg"},Xf=["id"],Zf=["id"],ep=["id"],tp=["fill"],rp=["fill"],op=["fill"],np=["y","height","fill"],ip=["cy"],sp=["cy"],ap=["x","fill"],lp=["x","fill"],cp={x:"30",y:"125","font-size":"5",fill:"#64748b","text-anchor":"middle","font-family":"Arial"},dp={x:"30",y:"18","font-size":"8",fill:"#22c55e","text-anchor":"middle","font-family":"monospace"},up=Me(e.defineComponent({__name:"Cylinder3D",props:{node:{}},setup(u){const r=u,t=e.ref(`cylinder-${Math.random().toString(36).substr(2,9)}`),l=()=>r.node?r.node.getData?r.node.getData():r.node.data||{}:{},n=e.ref(0),o=e.ref(50),i=e.ref(200),a=e.ref("stop");let s=null,c=Date.now();const d=e.computed(()=>n.value>=o.value),p=e.computed(()=>n.value<=0),m=e.computed(()=>30+n.value/o.value*40),h=e.computed(()=>50-m.value),f=e.computed(()=>110-n.value/o.value*60),w=e.computed(()=>d.value?"伸出到位":p.value?"缩回到位":a.value==="extend"?"正在伸出":a.value==="retract"?"正在缩回":"停止"),v=e.computed(()=>d.value||p.value?"is-positioned":a.value!=="stop"?"is-moving":""),S=()=>{const _=Date.now(),k=(_-c)/1e3;c=_,a.value==="extend"&&n.value<o.value?n.value=Math.min(o.value,n.value+i.value*k):a.value==="retract"&&n.value>0&&(n.value=Math.max(0,n.value-i.value*k)),n.value=Math.round(n.value),s=requestAnimationFrame(S)},b=()=>{const _=l();a.value=_.action||"stop",o.value=_.stroke||50,i.value=_.speed||200,typeof _.position=="number"&&(n.value=Math.max(0,Math.min(o.value,_.position)))};return e.watch(()=>r.node,()=>{b()},{deep:!0}),e.onMounted(()=>{b(),c=Date.now(),S(),r.node&&typeof r.node.on=="function"&&r.node.on("change:data",()=>{b()})}),e.onUnmounted(()=>{s&&cancelAnimationFrame(s)}),(_,k)=>(e.openBlock(),e.createElementBlock("div",Qf,[(e.openBlock(),e.createElementBlock("svg",Jf,[e.createElementVNode("defs",null,[e.createElementVNode("linearGradient",{id:`cylinder-gradient-${t.value}`,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},[...k[0]||(k[0]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#475569"},null,-1),e.createElementVNode("stop",{offset:"30%","stop-color":"#94a3b8"},null,-1),e.createElementVNode("stop",{offset:"70%","stop-color":"#cbd5e1"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#475569"},null,-1)])],8,Xf),e.createElementVNode("linearGradient",{id:`rod-gradient-${t.value}`,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},[...k[1]||(k[1]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#64748b"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#94a3b8"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#64748b"},null,-1)])],8,Zf),e.createElementVNode("radialGradient",{id:`cap-gradient-${t.value}`},[...k[2]||(k[2]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#64748b"},null,-1),e.createElementVNode("stop",{offset:"70%","stop-color":"#475569"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#334155"},null,-1)])],8,ep)]),e.createElementVNode("ellipse",{cx:"30",cy:"80",rx:"15",ry:"8",fill:`url(#cap-gradient-${t.value})`,stroke:"#1e293b","stroke-width":"1"},null,8,tp),e.createElementVNode("rect",{x:"15",y:"50",width:"30",height:"60",fill:`url(#cylinder-gradient-${t.value})`,stroke:"#334155","stroke-width":"1"},null,8,rp),k[3]||(k[3]=e.createStaticVNode('<g opacity="0.2" data-v-7429604c><line x1="15" y1="55" x2="45" y2="55" stroke="#1e293b" stroke-width="0.5" data-v-7429604c></line><line x1="15" y1="65" x2="45" y2="65" stroke="#1e293b" stroke-width="0.5" data-v-7429604c></line><line x1="15" y1="75" x2="45" y2="75" stroke="#1e293b" stroke-width="0.5" data-v-7429604c></line><line x1="15" y1="85" x2="45" y2="85" stroke="#1e293b" stroke-width="0.5" data-v-7429604c></line><line x1="15" y1="95" x2="45" y2="95" stroke="#1e293b" stroke-width="0.5" data-v-7429604c></line><line x1="15" y1="105" x2="45" y2="105" stroke="#1e293b" stroke-width="0.5" data-v-7429604c></line></g>',1)),e.createElementVNode("ellipse",{cx:"30",cy:"50",rx:"15",ry:"8",fill:`url(#cap-gradient-${t.value})`,stroke:"#1e293b","stroke-width":"1"},null,8,op),e.createElementVNode("rect",{x:"26",y:h.value,width:"8",height:m.value,fill:`url(#rod-gradient-${t.value})`,stroke:"#475569","stroke-width":"0.5"},null,8,np),e.createElementVNode("ellipse",{cx:"30",cy:h.value,rx:"4",ry:"2",fill:"#94a3b8",stroke:"#64748b","stroke-width":"0.5"},null,8,ip),e.createElementVNode("ellipse",{cx:"30",cy:f.value,rx:"13",ry:"6",fill:"#64748b",stroke:"#334155","stroke-width":"1"},null,8,sp),k[4]||(k[4]=e.createElementVNode("circle",{cx:"48",cy:"58",r:"3",fill:"#3b82f6",stroke:"#1e40af","stroke-width":"1"},null,-1)),k[5]||(k[5]=e.createElementVNode("text",{x:"55",y:"60","font-size":"6",fill:"#3b82f6","font-weight":"bold"},"A",-1)),k[6]||(k[6]=e.createElementVNode("circle",{cx:"48",cy:"102",r:"3",fill:"#ef4444",stroke:"#991b1b","stroke-width":"1"},null,-1)),k[7]||(k[7]=e.createElementVNode("text",{x:"55",y:"104","font-size":"6",fill:"#ef4444","font-weight":"bold"},"B",-1)),e.createElementVNode("rect",{x:d.value?48:50,y:"52",width:"6",height:"4",rx:"1",fill:d.value?"#22c55e":"#64748b",stroke:"#334155","stroke-width":"0.5"},null,8,ap),e.createElementVNode("rect",{x:p.value?48:50,y:"104",width:"6",height:"4",rx:"1",fill:p.value?"#22c55e":"#64748b",stroke:"#334155","stroke-width":"0.5"},null,8,lp),k[8]||(k[8]=e.createElementVNode("g",null,[e.createElementVNode("rect",{x:"5",y:"78",width:"8",height:"4",rx:"1",fill:"#334155"}),e.createElementVNode("circle",{cx:"7",cy:"80",r:"2",fill:"#64748b",stroke:"#1e293b","stroke-width":"0.5"}),e.createElementVNode("rect",{x:"47",y:"78",width:"8",height:"4",rx:"1",fill:"#334155"}),e.createElementVNode("circle",{cx:"53",cy:"80",r:"2",fill:"#64748b",stroke:"#1e293b","stroke-width":"0.5"})],-1)),e.createElementVNode("text",cp,e.toDisplayString(o.value)+"mm ",1),e.createElementVNode("text",dp,e.toDisplayString(n.value)+"mm ",1)])),e.createElementVNode("div",{class:e.normalizeClass(["status-text",v.value])},e.toDisplayString(w.value),3)]))}}),[["__scopeId","data-v-7429604c"]]),hs={metadata:{id:"conveyor-3d",name:"3D传送带",category:"iot",icon:"🔄",description:"3D仿真传送带组件,支持正反转和速度控制",version:"1.0.0"},shape:"conveyor-3d-vue",component:pf,width:220,height:100,label:"",attrs:{body:{fill:"transparent",stroke:"transparent"}},data:{type:"conveyor",state:!1,speed:10,direction:"forward",deviceId:"",property:""},ports:{groups:{left:{position:"left",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},right:{position:"right",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}}},items:[{id:"port-left",group:"left"},{id:"port-right",group:"right"}]},props:[{key:"state",label:"运行状态",type:"select",path:"data.state",defaultValue:!1,options:[{label:"停止",value:!1},{label:"运行",value:"running"}],description:"传送带运行状态"},{key:"speed",label:"速度(m/min)",type:"number",path:"data.speed",defaultValue:10,min:0,max:100,description:"传送带运行速度"},{key:"direction",label:"运行方向",type:"select",path:"data.direction",defaultValue:"forward",options:[{label:"正向",value:"forward"},{label:"反向",value:"reverse"}],description:"传送带运行方向"},{key:"deviceId",label:"设备ID",type:"text",path:"data.deviceId",defaultValue:"",description:"绑定的设备ID"},{key:"property",label:"设备属性",type:"text",path:"data.property",defaultValue:"",description:"绑定的设备属性名称"}]},ms={metadata:{id:"alarm-light-3d",name:"3D报警灯",category:"iot",icon:"🚨",description:"3D仿真报警灯组件,支持旋转、闪烁、持续三种模式",version:"1.0.0"},shape:"alarm-light-3d-vue",component:Bf,width:100,height:120,label:"",attrs:{body:{fill:"transparent",stroke:"transparent"}},data:{type:"alarm-light",state:!1,mode:"rotating",color:"#ef4444",deviceId:"",property:""},ports:{groups:{bottom:{position:"bottom",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}}},items:[{id:"port-bottom",group:"bottom"}]},props:[{key:"state",label:"报警状态",type:"select",path:"data.state",defaultValue:!1,options:[{label:"正常",value:!1},{label:"报警",value:"active"}],description:"报警灯激活状态"},{key:"mode",label:"报警模式",type:"select",path:"data.mode",defaultValue:"rotating",options:[{label:"旋转",value:"rotating"},{label:"闪烁",value:"flashing"},{label:"持续",value:"steady"}],description:"报警灯工作模式"},{key:"color",label:"灯光颜色",type:"color",path:"data.color",defaultValue:"#ef4444",description:"报警灯颜色"},{key:"deviceId",label:"设备ID",type:"text",path:"data.deviceId",defaultValue:"",description:"绑定的设备ID"},{key:"property",label:"设备属性",type:"text",path:"data.property",defaultValue:"",description:"绑定的设备属性名称"}]},gs={metadata:{id:"temperature-sensor-3d",name:"3D温度传感器",category:"iot",icon:"🌡️",description:"3D仿真温度传感器,支持温度显示和报警",version:"1.0.0"},shape:"temperature-sensor-3d-vue",component:Yf,width:100,height:140,label:"",attrs:{body:{fill:"transparent",stroke:"transparent"}},data:{type:"temperature-sensor",temperature:25,maxTemp:100,minTemp:0,alarmHighLimit:80,alarmLowLimit:10,deviceId:"",property:""},ports:{groups:{bottom:{position:"bottom",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}}},items:[{id:"port-bottom",group:"bottom"}]},props:[{key:"temperature",label:"当前温度(°C)",type:"number",path:"data.temperature",defaultValue:25,description:"当前测量温度值"},{key:"maxTemp",label:"最大量程(°C)",type:"number",path:"data.maxTemp",defaultValue:100,description:"传感器最大测量温度"},{key:"minTemp",label:"最小量程(°C)",type:"number",path:"data.minTemp",defaultValue:0,description:"传感器最小测量温度"},{key:"alarmHighLimit",label:"高温报警(°C)",type:"number",path:"data.alarmHighLimit",defaultValue:80,description:"高温报警阈值"},{key:"alarmLowLimit",label:"低温报警(°C)",type:"number",path:"data.alarmLowLimit",defaultValue:10,description:"低温报警阈值"},{key:"deviceId",label:"设备ID",type:"text",path:"data.deviceId",defaultValue:"",description:"绑定的设备ID"},{key:"property",label:"设备属性",type:"text",path:"data.property",defaultValue:"",description:"绑定的设备属性名称"}]},ys={metadata:{id:"cylinder-3d",name:"3D气缸",category:"iot",icon:"🔩",description:"3D仿真气缸组件,支持伸缩动作和位置显示",version:"1.0.0"},shape:"cylinder-3d-vue",component:up,width:80,height:160,label:"",attrs:{body:{fill:"transparent",stroke:"transparent"}},data:{type:"cylinder",action:"stop",position:0,stroke:50,speed:200,deviceId:"",property:""},ports:{groups:{left:{position:"left",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},right:{position:"right",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}}},items:[{id:"port-left",group:"left"},{id:"port-right",group:"right"}]},props:[{key:"action",label:"动作指令",type:"select",path:"data.action",defaultValue:"stop",options:[{label:"停止",value:"stop"},{label:"伸出",value:"extend"},{label:"缩回",value:"retract"}],description:"气缸动作指令"},{key:"position",label:"当前位置(mm)",type:"number",path:"data.position",defaultValue:0,min:0,description:"活塞杆当前位置"},{key:"stroke",label:"行程(mm)",type:"number",path:"data.stroke",defaultValue:50,min:10,max:200,description:"气缸最大行程"},{key:"speed",label:"速度(mm/s)",type:"number",path:"data.speed",defaultValue:200,min:10,max:1e3,description:"活塞杆运动速度"},{key:"deviceId",label:"设备ID",type:"text",path:"data.deviceId",defaultValue:"",description:"绑定的设备ID"},{key:"property",label:"设备属性",type:"text",path:"data.property",defaultValue:"",description:"绑定的设备属性名称"}]},fp={class:"pipe-3d-container"},pp=["viewBox"],hp=["id"],mp=["id"],gp=["stop-color"],yp=["stop-color"],bp=["stop-color"],wp={key:0},Ep=["y","width","height","fill"],vp=["y","width","height"],kp=["x","y","width","height","fill"],_p=["cy","rx","ry"],Np=["cx","cy","rx","ry"],xp=["cy"],Sp=["cy"],Vp=["cx","cy"],Cp=["cx","cy"],Ip={key:1},Ap=["x","width","height","fill"],$p=["x","width","height"],Tp=["x","y","width","height","fill"],Bp=["cx","rx","ry"],Dp=["cx","cy","rx","ry"],Pp=["cx"],Op=["cx"],Mp=["cx","cy"],Rp=["cx","cy"],jp={key:2},Lp=["id"],Up=["fill"],Fp=["x1","y1","x2","y2","stroke","marker-end"],zp=["x1","y1","x2","y2","stroke","marker-end"],Wp=Me(e.defineComponent({__name:"Pipe3D",props:{node:{}},setup(u){const r=u,t=e.ref(`pipe-${Math.random().toString(36).substr(2,9)}`),l=()=>r.node?r.node.getData?r.node.getData():r.node.data||{}:{},n=e.ref(!1),o=e.ref(10),i=e.ref("horizontal"),a=e.ref("#3b82f6"),s=e.ref(40),c=e.ref(200),d=e.computed(()=>s.value/2),p=e.computed(()=>c.value),m=e.computed(()=>i.value==="horizontal"?`0 0 ${p.value} ${s.value+10}`:`0 0 ${s.value+10} ${p.value}`),h=e.computed(()=>(s.value+10)/2),f=e.computed(()=>(s.value+10)/2),w=e.ref(0);let v=null;const S=()=>{if(n.value){const _=o.value/5;w.value=(w.value+_)%p.value}v=requestAnimationFrame(S)},b=()=>{const _=l();n.value=_.state==="flowing"||_.state===!0,o.value=_.flowRate||10,i.value=_.direction||"horizontal",a.value=_.fluidColor||"#3b82f6",s.value=_.diameter||40,c.value=_.length||200};return e.watch(()=>r.node,()=>{b()},{deep:!0}),e.onMounted(()=>{b(),S(),r.node&&typeof r.node.on=="function"&&r.node.on("change:data",()=>{b()})}),e.onUnmounted(()=>{v&&cancelAnimationFrame(v)}),(_,k)=>(e.openBlock(),e.createElementBlock("div",fp,[(e.openBlock(),e.createElementBlock("svg",{viewBox:m.value,xmlns:"http://www.w3.org/2000/svg"},[e.createElementVNode("defs",null,[e.createElementVNode("linearGradient",{id:`pipe-gradient-${t.value}`,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},[...k[0]||(k[0]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#475569"},null,-1),e.createElementVNode("stop",{offset:"30%","stop-color":"#94a3b8"},null,-1),e.createElementVNode("stop",{offset:"70%","stop-color":"#cbd5e1"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#475569"},null,-1)])],8,hp),e.createElementVNode("linearGradient",{id:`flow-gradient-${t.value}`,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},[e.createElementVNode("stop",{offset:"0%","stop-color":a.value,"stop-opacity":"0.3"},null,8,gp),e.createElementVNode("stop",{offset:"50%","stop-color":a.value,"stop-opacity":"0.8"},null,8,yp),e.createElementVNode("stop",{offset:"100%","stop-color":a.value,"stop-opacity":"0.3"},null,8,bp)],8,mp)]),i.value==="horizontal"?(e.openBlock(),e.createElementBlock("g",wp,[e.createElementVNode("rect",{x:"0",y:h.value-d.value,width:p.value,height:d.value*2,fill:`url(#pipe-gradient-${t.value})`,stroke:"#334155","stroke-width":"1"},null,8,Ep),e.createElementVNode("rect",{x:"0",y:h.value-d.value+3,width:p.value,height:d.value*2-6,fill:"#0f172a"},null,8,vp),n.value?(e.openBlock(),e.createElementBlock("rect",{key:0,x:w.value,y:h.value-d.value+5,width:p.value/2,height:d.value*2-10,fill:`url(#flow-gradient-${t.value})`},null,8,kp)):e.createCommentVNode("",!0),e.createElementVNode("g",null,[e.createElementVNode("ellipse",{cx:0,cy:h.value,rx:d.value+2,ry:d.value+2,fill:"#64748b",stroke:"#334155","stroke-width":"1"},null,8,_p),e.createElementVNode("ellipse",{cx:p.value,cy:h.value,rx:d.value+2,ry:d.value+2,fill:"#64748b",stroke:"#334155","stroke-width":"1"},null,8,Np),e.createElementVNode("circle",{cx:0,cy:h.value-d.value-2,r:"1.5",fill:"#1e293b"},null,8,xp),e.createElementVNode("circle",{cx:0,cy:h.value+d.value+2,r:"1.5",fill:"#1e293b"},null,8,Sp),e.createElementVNode("circle",{cx:p.value,cy:h.value-d.value-2,r:"1.5",fill:"#1e293b"},null,8,Vp),e.createElementVNode("circle",{cx:p.value,cy:h.value+d.value+2,r:"1.5",fill:"#1e293b"},null,8,Cp)])])):(e.openBlock(),e.createElementBlock("g",Ip,[e.createElementVNode("rect",{x:f.value-d.value,y:"0",width:d.value*2,height:p.value,fill:`url(#pipe-gradient-${t.value})`,stroke:"#334155","stroke-width":"1"},null,8,Ap),e.createElementVNode("rect",{x:f.value-d.value+3,y:"0",width:d.value*2-6,height:p.value,fill:"#0f172a"},null,8,$p),n.value?(e.openBlock(),e.createElementBlock("rect",{key:0,x:f.value-d.value+5,y:w.value,width:d.value*2-10,height:p.value/2,fill:`url(#flow-gradient-${t.value})`},null,8,Tp)):e.createCommentVNode("",!0),e.createElementVNode("g",null,[e.createElementVNode("ellipse",{cx:f.value,cy:0,rx:d.value+2,ry:d.value+2,fill:"#64748b",stroke:"#334155","stroke-width":"1"},null,8,Bp),e.createElementVNode("ellipse",{cx:f.value,cy:p.value,rx:d.value+2,ry:d.value+2,fill:"#64748b",stroke:"#334155","stroke-width":"1"},null,8,Dp),e.createElementVNode("circle",{cx:f.value-d.value-2,cy:0,r:"1.5",fill:"#1e293b"},null,8,Pp),e.createElementVNode("circle",{cx:f.value+d.value+2,cy:0,r:"1.5",fill:"#1e293b"},null,8,Op),e.createElementVNode("circle",{cx:f.value-d.value-2,cy:p.value,r:"1.5",fill:"#1e293b"},null,8,Mp),e.createElementVNode("circle",{cx:f.value+d.value+2,cy:p.value,r:"1.5",fill:"#1e293b"},null,8,Rp)])])),n.value?(e.openBlock(),e.createElementBlock("g",jp,[e.createElementVNode("defs",null,[e.createElementVNode("marker",{id:`arrow-${t.value}`,markerWidth:"10",markerHeight:"10",refX:"8",refY:"3",orient:"auto",markerUnits:"strokeWidth"},[e.createElementVNode("path",{d:"M0,0 L0,6 L9,3 z",fill:a.value},null,8,Up)],8,Lp)]),i.value==="horizontal"?(e.openBlock(),e.createElementBlock("line",{key:0,x1:p.value/2-20,y1:h.value,x2:p.value/2+20,y2:h.value,stroke:a.value,"stroke-width":"2","marker-end":`url(#arrow-${t.value})`},null,8,Fp)):(e.openBlock(),e.createElementBlock("line",{key:1,x1:f.value,y1:p.value/2-20,x2:f.value,y2:p.value/2+20,stroke:a.value,"stroke-width":"2","marker-end":`url(#arrow-${t.value})`},null,8,zp))])):e.createCommentVNode("",!0)],8,pp)),e.createElementVNode("div",{class:e.normalizeClass(["status-text",{"is-flowing":n.value}])},e.toDisplayString(n.value?"流动中":"停止")+" | "+e.toDisplayString(o.value)+" m³/h ",3)]))}}),[["__scopeId","data-v-5c3ec02f"]]),qp={class:"filter-3d-container"},Gp={viewBox:"0 0 120 100",xmlns:"http://www.w3.org/2000/svg"},Hp=["id"],Kp=["id"],Yp=["stop-color"],Qp=["stop-color"],Jp=["fill"],Xp=["fill"],Zp={opacity:"0.5"},eh=["x1","x2"],th=["y1","y2"],rh=["y","height"],oh={transform:"translate(80, 30)"},nh=["fill"],ih=["fill","opacity"],sh={key:0,attributeName:"opacity",values:"1;0.3;1",dur:"0.8s",repeatCount:"indefinite"},ah={x:"60",y:"95","font-size":"5",fill:"#64748b","text-anchor":"middle","font-family":"Arial"},lh=Me(e.defineComponent({__name:"Filter3D",props:{node:{}},setup(u){const r=u,t=e.ref(`filter-${Math.random().toString(36).substr(2,9)}`),l=()=>r.node?r.node.getData?r.node.getData():r.node.data||{}:{},n=e.ref(20),o=e.ref(5),i=e.ref(50),a=e.ref(70),s=e.computed(()=>n.value>=a.value?"#7f1d1d":n.value>=50?"#b45309":"#15803d"),c=e.computed(()=>n.value>=a.value?"#991b1b":n.value>=50?"#d97706":"#166534"),d=e.computed(()=>o.value>=15?"#ef4444":o.value>=10?"#f97316":"#22c55e"),p=e.computed(()=>n.value>=a.value),m=()=>{const h=l();n.value=Math.max(0,Math.min(100,h.clogLevel||20)),o.value=h.pressureDrop||5,i.value=h.diameter||50,a.value=h.alarmThreshold||70};return e.watch(()=>r.node,()=>{m()},{deep:!0}),e.onMounted(()=>{m(),r.node&&typeof r.node.on=="function"&&r.node.on("change:data",()=>{m()})}),(h,f)=>(e.openBlock(),e.createElementBlock("div",qp,[(e.openBlock(),e.createElementBlock("svg",Gp,[e.createElementVNode("defs",null,[e.createElementVNode("linearGradient",{id:`shell-gradient-${t.value}`,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},[...f[0]||(f[0]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#475569"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#94a3b8"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#475569"},null,-1)])],8,Hp),e.createElementVNode("linearGradient",{id:`filter-element-${t.value}`,x1:"0%",y1:"0%",x2:"0%",y2:"100%"},[e.createElementVNode("stop",{offset:"0%","stop-color":s.value},null,8,Yp),e.createElementVNode("stop",{offset:"100%","stop-color":c.value},null,8,Qp)],8,Kp)]),f[3]||(f[3]=e.createElementVNode("rect",{x:"0",y:"43",width:"25",height:"14",fill:"#64748b",stroke:"#334155","stroke-width":"1"},null,-1)),e.createElementVNode("rect",{x:"25",y:"20",width:"70",height:"60",rx:"5",fill:`url(#shell-gradient-${t.value})`,stroke:"#334155","stroke-width":"2"},null,8,Jp),f[4]||(f[4]=e.createElementVNode("ellipse",{cx:"60",cy:"50",rx:"15",ry:"20",fill:"#1e293b",stroke:"#64748b","stroke-width":"2",opacity:"0.7"},null,-1)),e.createElementVNode("g",null,[e.createElementVNode("rect",{x:"50",y:"30",width:"20",height:"40",rx:"2",fill:`url(#filter-element-${t.value})`,stroke:"#475569","stroke-width":"1"},null,8,Xp),e.createElementVNode("g",Zp,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(8,w=>e.createElementVNode("line",{key:`v-${w}`,x1:50+w*2.5,y1:"30",x2:50+w*2.5,y2:"70",stroke:"#1e293b","stroke-width":"0.5"},null,8,eh)),64)),(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(8,w=>e.createElementVNode("line",{key:`h-${w}`,x1:"50",y1:30+w*5,x2:"70",y2:30+w*5,stroke:"#1e293b","stroke-width":"0.5"},null,8,th)),64))]),e.createElementVNode("rect",{x:"52",y:70-n.value*.4,width:"16",height:n.value*.4,fill:"#ef4444",opacity:"0.6"},null,8,rh)]),f[5]||(f[5]=e.createElementVNode("rect",{x:"95",y:"43",width:"25",height:"14",fill:"#64748b",stroke:"#334155","stroke-width":"1"},null,-1)),f[6]||(f[6]=e.createElementVNode("rect",{x:"55",y:"78",width:"10",height:"8",rx:"1",fill:"#334155",stroke:"#1e293b","stroke-width":"1"},null,-1)),f[7]||(f[7]=e.createElementVNode("path",{d:"M 57,86 L 60,90 L 63,86",stroke:"#64748b","stroke-width":"1.5",fill:"none"},null,-1)),e.createElementVNode("g",oh,[f[1]||(f[1]=e.createElementVNode("circle",{cx:"0",cy:"0",r:"12",fill:"#0f172a",stroke:"#475569","stroke-width":"1.5"},null,-1)),e.createElementVNode("text",{x:"0",y:"4","font-size":"7",fill:d.value,"text-anchor":"middle","font-family":"monospace"},e.toDisplayString(o.value),9,nh),f[2]||(f[2]=e.createElementVNode("text",{x:"0",y:"10","font-size":"3",fill:"#64748b","text-anchor":"middle"},"kPa",-1))]),e.createElementVNode("circle",{cx:"35",cy:"28",r:"3",fill:p.value?"#ef4444":"#64748b",opacity:p.value?1:.3},[p.value?(e.openBlock(),e.createElementBlock("animate",sh)):e.createCommentVNode("",!0)],8,ih),e.createElementVNode("text",ah," FLT-"+e.toDisplayString(i.value),1)])),e.createElementVNode("div",{class:e.normalizeClass(["status-text",{"is-alarm":p.value}])}," 堵塞度: "+e.toDisplayString(n.value)+"% | 压差: "+e.toDisplayString(o.value)+" kPa ",3)]))}}),[["__scopeId","data-v-1bb1c80a"]]),ch={class:"heat-exchanger-3d-container"},dh={viewBox:"0 0 140 120",xmlns:"http://www.w3.org/2000/svg"},uh=["id"],fh=["id"],ph=["id"],hh=["fill"],mh={opacity:"0.6"},gh=["y1","y2"],yh=["y","fill"],bh=["y","fill"],wh=["x","fill"],Eh=["x","fill"],vh={transform:"translate(70, 60)"},kh=["fill"],_h={transform:"translate(95, 50)"},Nh={x:"0",y:"-1","font-size":"6",fill:"#ef4444","text-anchor":"middle"},xh={x:"0",y:"6","font-size":"5",fill:"#f97316","text-anchor":"middle"},Sh={transform:"translate(45, 70)"},Vh={x:"0",y:"-1","font-size":"6",fill:"#3b82f6","text-anchor":"middle"},Ch={x:"0",y:"6","font-size":"5",fill:"#60a5fa","text-anchor":"middle"},Ih=["fill","opacity"],Ah={key:0,attributeName:"opacity",values:"1;0.5;1",dur:"1.5s",repeatCount:"indefinite"},$h={x:"70",y:"115","font-size":"5",fill:"#64748b","text-anchor":"middle","font-family":"Arial"},Th=Me(e.defineComponent({__name:"HeatExchanger3D",props:{node:{}},setup(u){const r=u,t=e.ref(`hex-${Math.random().toString(36).substr(2,9)}`),l=()=>r.node?r.node.getData?r.node.getData():r.node.data||{}:{},n=e.ref(!1),o=e.ref(80),i=e.ref(50),a=e.ref(20),s=e.ref(40),c=e.ref(10),d=e.computed(()=>{if(o.value<=i.value)return 0;const _=o.value-a.value,k=o.value-i.value,E=Math.round(k/_*100);return Math.max(0,Math.min(100,E))}),p=e.computed(()=>d.value>=80?"#22c55e":d.value>=60?"#fbbf24":d.value>=40?"#f97316":"#ef4444"),m=e.ref(0),h=e.ref(0),f=e.ref(0),w=e.ref(0);let v=null;const S=()=>{n.value&&(m.value=(m.value+.5)%20,h.value=(h.value+.5)%20,f.value=(f.value+.5)%20,w.value=(w.value+.5)%20),v=requestAnimationFrame(S)},b=()=>{const _=l();n.value=_.state==="working"||_.state===!0,o.value=_.hotTempIn||80,i.value=_.hotTempOut||50,a.value=_.coldTempIn||20,s.value=_.coldTempOut||40,c.value=_.heatTransferArea||10};return e.watch(()=>r.node,()=>{b()},{deep:!0}),e.onMounted(()=>{b(),S(),r.node&&typeof r.node.on=="function"&&r.node.on("change:data",()=>{b()})}),e.onUnmounted(()=>{v&&cancelAnimationFrame(v)}),(_,k)=>(e.openBlock(),e.createElementBlock("div",ch,[(e.openBlock(),e.createElementBlock("svg",dh,[e.createElementVNode("defs",null,[e.createElementVNode("linearGradient",{id:`shell-gradient-${t.value}`,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},[...k[0]||(k[0]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#475569"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#94a3b8"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#475569"},null,-1)])],8,uh),e.createElementVNode("linearGradient",{id:`hot-fluid-${t.value}`,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},[...k[1]||(k[1]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#ef4444","stop-opacity":"0.3"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#ef4444","stop-opacity":"0.7"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#ef4444","stop-opacity":"0.3"},null,-1)])],8,fh),e.createElementVNode("linearGradient",{id:`cold-fluid-${t.value}`,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},[...k[2]||(k[2]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#3b82f6","stop-opacity":"0.3"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#3b82f6","stop-opacity":"0.7"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#3b82f6","stop-opacity":"0.3"},null,-1)])],8,ph)]),e.createElementVNode("rect",{x:"20",y:"30",width:"100",height:"60",rx:"8",fill:`url(#shell-gradient-${t.value})`,stroke:"#334155","stroke-width":"2"},null,8,hh),k[15]||(k[15]=e.createElementVNode("line",{x1:"70",y1:"30",x2:"70",y2:"90",stroke:"#64748b","stroke-width":"2"},null,-1)),e.createElementVNode("g",mh,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(8,E=>e.createElementVNode("line",{key:`tube-${E}`,x1:"25",y1:35+E*7,x2:"115",y2:35+E*7,stroke:"#475569","stroke-width":"1.5"},null,8,gh)),64))]),e.createElementVNode("g",null,[k[3]||(k[3]=e.createElementVNode("rect",{x:"60",y:"10",width:"20",height:"20",rx:"2",fill:"#64748b",stroke:"#334155","stroke-width":"1"},null,-1)),k[4]||(k[4]=e.createElementVNode("text",{x:"70",y:"23","font-size":"6",fill:"#ef4444","text-anchor":"middle","font-weight":"bold"},"H-IN",-1)),n.value?(e.openBlock(),e.createElementBlock("rect",{key:0,x:"65",y:10+m.value,width:"10",height:"8",fill:`url(#hot-fluid-${t.value})`},null,8,yh)):e.createCommentVNode("",!0)]),e.createElementVNode("g",null,[k[5]||(k[5]=e.createElementVNode("rect",{x:"60",y:"90",width:"20",height:"20",rx:"2",fill:"#64748b",stroke:"#334155","stroke-width":"1"},null,-1)),k[6]||(k[6]=e.createElementVNode("text",{x:"70",y:"103","font-size":"6",fill:"#f97316","text-anchor":"middle","font-weight":"bold"},"H-OUT",-1)),n.value?(e.openBlock(),e.createElementBlock("rect",{key:0,x:"65",y:90+h.value,width:"10",height:"8",fill:`url(#hot-fluid-${t.value})`,opacity:"0.7"},null,8,bh)):e.createCommentVNode("",!0)]),e.createElementVNode("g",null,[k[7]||(k[7]=e.createElementVNode("rect",{x:"0",y:"53",width:"20",height:"14",rx:"2",fill:"#64748b",stroke:"#334155","stroke-width":"1"},null,-1)),k[8]||(k[8]=e.createElementVNode("text",{x:"10",y:"62","font-size":"5",fill:"#3b82f6","text-anchor":"middle","font-weight":"bold"},"C-IN",-1)),n.value?(e.openBlock(),e.createElementBlock("rect",{key:0,x:f.value,y:"56",width:"8",height:"8",fill:`url(#cold-fluid-${t.value})`},null,8,wh)):e.createCommentVNode("",!0)]),e.createElementVNode("g",null,[k[9]||(k[9]=e.createElementVNode("rect",{x:"120",y:"53",width:"20",height:"14",rx:"2",fill:"#64748b",stroke:"#334155","stroke-width":"1"},null,-1)),k[10]||(k[10]=e.createElementVNode("text",{x:"130",y:"62","font-size":"5",fill:"#60a5fa","text-anchor":"middle","font-weight":"bold"},"C-OUT",-1)),n.value?(e.openBlock(),e.createElementBlock("rect",{key:0,x:120+w.value,y:"56",width:"8",height:"8",fill:`url(#cold-fluid-${t.value})`,opacity:"0.7"},null,8,Eh)):e.createCommentVNode("",!0)]),e.createElementVNode("g",vh,[k[11]||(k[11]=e.createElementVNode("circle",{cx:"0",cy:"0",r:"15",fill:"#0f172a",stroke:"#475569","stroke-width":"2"},null,-1)),e.createElementVNode("text",{x:"0",y:"2","font-size":"10",fill:p.value,"text-anchor":"middle","font-family":"monospace","font-weight":"bold"},e.toDisplayString(d.value),9,kh),k[12]||(k[12]=e.createElementVNode("text",{x:"0",y:"8","font-size":"4",fill:"#64748b","text-anchor":"middle"},"%",-1))]),e.createElementVNode("g",_h,[k[13]||(k[13]=e.createElementVNode("rect",{x:"-15",y:"-8",width:"30",height:"16",rx:"2",fill:"#1e293b",stroke:"#ef4444","stroke-width":"1"},null,-1)),e.createElementVNode("text",Nh,e.toDisplayString(o.value)+"°C",1),e.createElementVNode("text",xh,"→"+e.toDisplayString(i.value)+"°C",1)]),e.createElementVNode("g",Sh,[k[14]||(k[14]=e.createElementVNode("rect",{x:"-15",y:"-8",width:"30",height:"16",rx:"2",fill:"#1e293b",stroke:"#3b82f6","stroke-width":"1"},null,-1)),e.createElementVNode("text",Vh,e.toDisplayString(a.value)+"°C",1),e.createElementVNode("text",Ch,"→"+e.toDisplayString(s.value)+"°C",1)]),e.createElementVNode("circle",{cx:"30",cy:"38",r:"3",fill:n.value?"#22c55e":"#64748b",opacity:n.value?1:.3},[n.value?(e.openBlock(),e.createElementBlock("animate",Ah)):e.createCommentVNode("",!0)],8,Ih),e.createElementVNode("text",$h," HEX-"+e.toDisplayString(c.value)+"m² ",1)])),e.createElementVNode("div",{class:e.normalizeClass(["status-text",{"is-working":n.value}])},e.toDisplayString(n.value?"运行中":"停止")+" | 效率: "+e.toDisplayString(d.value)+"% ",3)]))}}),[["__scopeId","data-v-ed672204"]]),Bh={class:"tee-3d-container"},Dh={viewBox:"0 0 100 100",xmlns:"http://www.w3.org/2000/svg"},Ph=["id"],Oh=["id"],Mh=["stop-color"],Rh=["stop-color"],jh=["fill"],Lh=["fill"],Uh=["fill"],Fh={key:0},zh=["fill"],Wh=["x","fill"],qh=["x","fill"],Gh=["y","fill"],Hh=["y","fill"],Kh={key:1},Yh=["id"],Qh=["fill"],Jh=["stroke","marker-end"],Xh=["stroke","marker-end"],Zh=["stroke","marker-end"],em={transform:"translate(50, 50)"},tm=["fill"],rm=Me(e.defineComponent({__name:"Tee3D",props:{node:{}},setup(u){const r=u,t=e.ref(`tee-${Math.random().toString(36).substr(2,9)}`),l=()=>r.node?r.node.getData?r.node.getData():r.node.data||{}:{},n=e.ref(!1),o=e.ref("#3b82f6"),i=e.ref(!0),a=e.ref(!0),s=e.ref(0),c=e.ref(0),d=e.ref(0),p=e.ref(0);let m=null;const h=()=>{n.value&&(s.value=(s.value+1)%40,c.value=(c.value+1)%20,d.value=(d.value+1)%20,p.value=(p.value+1)%20),m=requestAnimationFrame(h)},f=()=>{const w=l();n.value=w.state==="flowing"||w.state===!0,o.value=w.fluidColor||"#3b82f6",i.value=w.topFlowEnabled!==!1,a.value=w.bottomFlowEnabled!==!1};return e.watch(()=>r.node,()=>{f()},{deep:!0}),e.onMounted(()=>{f(),h(),r.node&&typeof r.node.on=="function"&&r.node.on("change:data",()=>{f()})}),e.onUnmounted(()=>{m&&cancelAnimationFrame(m)}),(w,v)=>(e.openBlock(),e.createElementBlock("div",Bh,[(e.openBlock(),e.createElementBlock("svg",Dh,[e.createElementVNode("defs",null,[e.createElementVNode("linearGradient",{id:`pipe-gradient-${t.value}`,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},[...v[0]||(v[0]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#475569"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#94a3b8"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#475569"},null,-1)])],8,Ph),e.createElementVNode("radialGradient",{id:`flow-gradient-${t.value}`},[e.createElementVNode("stop",{offset:"0%","stop-color":o.value,"stop-opacity":"0.8"},null,8,Mh),e.createElementVNode("stop",{offset:"100%","stop-color":o.value,"stop-opacity":"0.2"},null,8,Rh)],8,Oh)]),e.createElementVNode("rect",{x:"0",y:"40",width:"100",height:"20",fill:`url(#pipe-gradient-${t.value})`,stroke:"#334155","stroke-width":"1.5"},null,8,jh),e.createElementVNode("rect",{x:"40",y:"0",width:"20",height:"100",fill:`url(#pipe-gradient-${t.value})`,stroke:"#334155","stroke-width":"1.5"},null,8,Lh),e.createElementVNode("circle",{cx:"50",cy:"50",r:"18",fill:`url(#pipe-gradient-${t.value})`,stroke:"#334155","stroke-width":"2"},null,8,Uh),v[3]||(v[3]=e.createElementVNode("rect",{x:"0",y:"43",width:"100",height:"14",fill:"#0f172a"},null,-1)),v[4]||(v[4]=e.createElementVNode("rect",{x:"43",y:"0",width:"14",height:"100",fill:"#0f172a"},null,-1)),v[5]||(v[5]=e.createElementVNode("circle",{cx:"50",cy:"50",r:"15",fill:"#0f172a"},null,-1)),n.value?(e.openBlock(),e.createElementBlock("g",Fh,[e.createElementVNode("circle",{cx:"50",cy:"50",r:"12",fill:`url(#flow-gradient-${t.value})`},[...v[1]||(v[1]=[e.createElementVNode("animate",{attributeName:"r",values:"8;14;8",dur:"1.5s",repeatCount:"indefinite"},null,-1)])],8,zh),e.createElementVNode("rect",{x:s.value,y:"45",width:"20",height:"10",fill:o.value,opacity:"0.6"},null,8,Wh),e.createElementVNode("rect",{x:60+c.value,y:"45",width:"20",height:"10",fill:o.value,opacity:"0.4"},null,8,qh),e.createElementVNode("rect",{x:"45",y:d.value,width:"10",height:"20",fill:o.value,opacity:"0.4"},null,8,Gh),e.createElementVNode("rect",{x:"45",y:60+p.value,width:"10",height:"20",fill:o.value,opacity:"0.4"},null,8,Hh)])):e.createCommentVNode("",!0),v[6]||(v[6]=e.createStaticVNode('<g data-v-cd328987><ellipse cx="0" cy="50" rx="3" ry="10" fill="#64748b" stroke="#334155" stroke-width="1" data-v-cd328987></ellipse><circle cx="0" cy="45" r="1" fill="#1e293b" data-v-cd328987></circle><circle cx="0" cy="55" r="1" fill="#1e293b" data-v-cd328987></circle><ellipse cx="100" cy="50" rx="3" ry="10" fill="#64748b" stroke="#334155" stroke-width="1" data-v-cd328987></ellipse><circle cx="100" cy="45" r="1" fill="#1e293b" data-v-cd328987></circle><circle cx="100" cy="55" r="1" fill="#1e293b" data-v-cd328987></circle><ellipse cx="50" cy="0" rx="10" ry="3" fill="#64748b" stroke="#334155" stroke-width="1" data-v-cd328987></ellipse><circle cx="45" cy="0" r="1" fill="#1e293b" data-v-cd328987></circle><circle cx="55" cy="0" r="1" fill="#1e293b" data-v-cd328987></circle><ellipse cx="50" cy="100" rx="10" ry="3" fill="#64748b" stroke="#334155" stroke-width="1" data-v-cd328987></ellipse><circle cx="45" cy="100" r="1" fill="#1e293b" data-v-cd328987></circle><circle cx="55" cy="100" r="1" fill="#1e293b" data-v-cd328987></circle></g>',1)),n.value?(e.openBlock(),e.createElementBlock("g",Kh,[e.createElementVNode("defs",null,[e.createElementVNode("marker",{id:`arrow-${t.value}`,markerWidth:"8",markerHeight:"8",refX:"6",refY:"3",orient:"auto"},[e.createElementVNode("path",{d:"M0,0 L0,6 L6,3 z",fill:o.value},null,8,Qh)],8,Yh)]),e.createElementVNode("line",{x1:"20",y1:"50",x2:"35",y2:"50",stroke:o.value,"stroke-width":"2","marker-end":`url(#arrow-${t.value})`},null,8,Jh),i.value?(e.openBlock(),e.createElementBlock("line",{key:0,x1:"50",y1:"35",x2:"50",y2:"20",stroke:o.value,"stroke-width":"2","marker-end":`url(#arrow-${t.value})`},null,8,Xh)):e.createCommentVNode("",!0),a.value?(e.openBlock(),e.createElementBlock("line",{key:1,x1:"50",y1:"65",x2:"50",y2:"80",stroke:o.value,"stroke-width":"2","marker-end":`url(#arrow-${t.value})`},null,8,Zh)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.createElementVNode("g",em,[v[2]||(v[2]=e.createElementVNode("circle",{cx:"0",cy:"0",r:"6",fill:"#0f172a",stroke:"#475569","stroke-width":"1"},null,-1)),e.createElementVNode("circle",{cx:"0",cy:"0",r:"3",fill:n.value?"#22c55e":"#64748b"},null,8,tm)])])),e.createElementVNode("div",{class:e.normalizeClass(["status-text",{"is-flowing":n.value}])},e.toDisplayString(n.value?"流动中":"关闭"),3)]))}}),[["__scopeId","data-v-cd328987"]]),bs={metadata:{id:"pipe-3d",name:"3D管道",category:"iot",icon:"🔧",description:"3D仿真管道组件,支持横向/纵向和流体动画",version:"1.0.0"},shape:"pipe-3d-vue",component:Wp,width:220,height:60,label:"",attrs:{body:{fill:"transparent",stroke:"transparent"}},data:{type:"pipe",state:!1,flowRate:10,direction:"horizontal",fluidColor:"#3b82f6",diameter:40,length:200,deviceId:"",property:""},ports:{groups:{left:{position:"left",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},right:{position:"right",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}}},items:[{id:"port-left",group:"left"},{id:"port-right",group:"right"}]},props:[{key:"state",label:"流动状态",type:"select",path:"data.state",defaultValue:!1,options:[{label:"停止",value:!1},{label:"流动",value:"flowing"}],description:"管道流体状态"},{key:"flowRate",label:"流量(m³/h)",type:"number",path:"data.flowRate",defaultValue:10,min:0,description:"流体流量"},{key:"direction",label:"管道方向",type:"select",path:"data.direction",defaultValue:"horizontal",options:[{label:"横向",value:"horizontal"},{label:"纵向",value:"vertical"}],description:"管道布置方向"},{key:"fluidColor",label:"流体颜色",type:"color",path:"data.fluidColor",defaultValue:"#3b82f6",description:"流体显示颜色"},{key:"diameter",label:"管径(mm)",type:"number",path:"data.diameter",defaultValue:40,min:20,max:100,description:"管道直径"},{key:"length",label:"长度(mm)",type:"number",path:"data.length",defaultValue:200,min:100,max:500,description:"管道长度"},{key:"deviceId",label:"设备ID",type:"text",path:"data.deviceId",defaultValue:"",description:"绑定的设备ID"},{key:"property",label:"设备属性",type:"text",path:"data.property",defaultValue:"",description:"绑定的设备属性名称"}]},ws={metadata:{id:"filter-3d",name:"3D过滤器",category:"iot",icon:"🧹",description:"3D仿真过滤器,支持堵塞度和压差显示",version:"1.0.0"},shape:"filter-3d-vue",component:lh,width:140,height:120,label:"",attrs:{body:{fill:"transparent",stroke:"transparent"}},data:{type:"filter",clogLevel:20,pressureDrop:5,diameter:50,alarmThreshold:70,deviceId:"",property:""},ports:{groups:{left:{position:"left",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},right:{position:"right",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}}},items:[{id:"port-left",group:"left"},{id:"port-right",group:"right"}]},props:[{key:"clogLevel",label:"堵塞度(%)",type:"number",path:"data.clogLevel",defaultValue:20,min:0,max:100,description:"滤芯堵塞程度"},{key:"pressureDrop",label:"压差(kPa)",type:"number",path:"data.pressureDrop",defaultValue:5,min:0,description:"过滤器压差"},{key:"diameter",label:"口径(mm)",type:"number",path:"data.diameter",defaultValue:50,min:20,max:100,description:"过滤器口径"},{key:"alarmThreshold",label:"报警阈值(%)",type:"number",path:"data.alarmThreshold",defaultValue:70,min:0,max:100,description:"堵塞度报警阈值"},{key:"deviceId",label:"设备ID",type:"text",path:"data.deviceId",defaultValue:"",description:"绑定的设备ID"},{key:"property",label:"设备属性",type:"text",path:"data.property",defaultValue:"",description:"绑定的设备属性名称"}]},Es={metadata:{id:"heat-exchanger-3d",name:"3D换热器",category:"iot",icon:"🔥",description:"3D仿真换热器,支持热冷流体交换和效率显示",version:"1.0.0"},shape:"heat-exchanger-3d-vue",component:Th,width:160,height:140,label:"",attrs:{body:{fill:"transparent",stroke:"transparent"}},data:{type:"heat-exchanger",state:!1,hotTempIn:80,hotTempOut:50,coldTempIn:20,coldTempOut:40,heatTransferArea:10,deviceId:"",property:""},ports:{groups:{top:{position:"top",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},bottom:{position:"bottom",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},left:{position:"left",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},right:{position:"right",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}}},items:[{id:"port-top",group:"top"},{id:"port-bottom",group:"bottom"},{id:"port-left",group:"left"},{id:"port-right",group:"right"}]},props:[{key:"state",label:"运行状态",type:"select",path:"data.state",defaultValue:!1,options:[{label:"停止",value:!1},{label:"运行",value:"working"}],description:"换热器运行状态"},{key:"hotTempIn",label:"热侧进口(°C)",type:"number",path:"data.hotTempIn",defaultValue:80,description:"热流体进口温度"},{key:"hotTempOut",label:"热侧出口(°C)",type:"number",path:"data.hotTempOut",defaultValue:50,description:"热流体出口温度"},{key:"coldTempIn",label:"冷侧进口(°C)",type:"number",path:"data.coldTempIn",defaultValue:20,description:"冷流体进口温度"},{key:"coldTempOut",label:"冷侧出口(°C)",type:"number",path:"data.coldTempOut",defaultValue:40,description:"冷流体出口温度"},{key:"heatTransferArea",label:"换热面积(m²)",type:"number",path:"data.heatTransferArea",defaultValue:10,min:1,description:"换热器换热面积"},{key:"deviceId",label:"设备ID",type:"text",path:"data.deviceId",defaultValue:"",description:"绑定的设备ID"},{key:"property",label:"设备属性",type:"text",path:"data.property",defaultValue:"",description:"绑定的设备属性名称"}]},vs={metadata:{id:"tee-3d",name:"3D三通",category:"iot",icon:"⛓️",description:"3D仿真三通管件,支持流体分流和汇流",version:"1.0.0"},shape:"tee-3d-vue",component:rm,width:120,height:120,label:"",attrs:{body:{fill:"transparent",stroke:"transparent"}},data:{type:"tee",state:!1,fluidColor:"#3b82f6",topFlowEnabled:!0,bottomFlowEnabled:!0,deviceId:"",property:""},ports:{groups:{left:{position:"left",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},right:{position:"right",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},top:{position:"top",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},bottom:{position:"bottom",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}}},items:[{id:"port-left",group:"left"},{id:"port-right",group:"right"},{id:"port-top",group:"top"},{id:"port-bottom",group:"bottom"}]},props:[{key:"state",label:"流动状态",type:"select",path:"data.state",defaultValue:!1,options:[{label:"关闭",value:!1},{label:"流动",value:"flowing"}],description:"三通管件流动状态"},{key:"fluidColor",label:"流体颜色",type:"color",path:"data.fluidColor",defaultValue:"#3b82f6",description:"流体显示颜色"},{key:"topFlowEnabled",label:"上方分流",type:"boolean",path:"data.topFlowEnabled",defaultValue:!0,description:"是否启用上方分流"},{key:"bottomFlowEnabled",label:"下方分流",type:"boolean",path:"data.bottomFlowEnabled",defaultValue:!0,description:"是否启用下方分流"},{key:"deviceId",label:"设备ID",type:"text",path:"data.deviceId",defaultValue:"",description:"绑定的设备ID"},{key:"property",label:"设备属性",type:"text",path:"data.property",defaultValue:"",description:"绑定的设备属性名称"}]},om=Object.freeze(Object.defineProperty({__proto__:null,AlarmLight3DComponent:ms,Conveyor3DComponent:hs,Cylinder3DComponent:ys,EChartsGaugeComponent:as,EChartsLineComponent:cs,Filter3DComponent:ws,HeatExchanger3DComponent:Es,LightComponent:ns,Motor3DComponent:ds,Pipe3DComponent:bs,Pump3DComponent:ps,SwitchComponent:is,Tank3DComponent:fs,Tee3DComponent:vs,TemperatureSensor3DComponent:gs,Valve3DComponent:us},Symbol.toStringTag,{value:"Module"}));class nm{constructor(){Se(this,"registry",{});this.registerDefaultComponents()}registerDefaultComponents(){this.register(ts),this.register(rs),this.register(os),this.register(ns),this.register(is),this.register(as),this.register(cs),this.register(ds),this.register(us),this.register(fs),this.register(ps),this.register(hs),this.register(ms),this.register(gs),this.register(ys),this.register(bs),this.register(ws),this.register(Es),this.register(vs)}register(r){const{id:t}=r.metadata;this.registry[t]&&console.warn(`组件 ${t} 已存在,将被覆盖`),this.registry[t]=r}registerBatch(r){r.forEach(t=>this.register(t))}getComponent(r){return this.registry[r]}getAllComponents(){return{...this.registry}}getComponentsByCategory(r){return Object.values(this.registry).filter(t=>t.metadata.category===r)}getComponentList(){return Object.values(this.registry)}hasComponent(r){return r in this.registry}unregister(r){return this.registry[r]?(delete this.registry[r],!0):(console.warn(`组件 ${r} 不存在`),!1)}getCount(){return Object.keys(this.registry).length}clear(){this.registry={}}}const er=new nm,bo={size:{width:1920,height:1080,preset:"1920*1080"},zoom:{scale:1,min:.1,max:5},offset:{x:0,y:0},background:{color:"#1e293b",size:"origin",repeat:"repeat"},grid:{enabled:!0,size:10,color:"#475569",type:"dot"},snap:{enabled:!0,threshold:10},guides:{enabled:!1,color:"#3b82f6"},magnetism:{enabled:!0,threshold:10}},im=[{key:"sizePreset",label:"画布尺寸",type:"select",category:"basic",path:"size.preset",defaultValue:"1920*1080",options:[{label:"1920*1080",value:"1920*1080"},{label:"1366*768",value:"1366*768"},{label:"1280*720",value:"1280*720"},{label:"800*600",value:"800*600"}],description:"预设画布尺寸"},{key:"scale",label:"缩放倍数",type:"slider",category:"transform",path:"zoom.scale",defaultValue:1,min:.1,max:5,step:.1,description:"画布缩放比例"},{key:"offsetX",label:"画布X轴偏移",type:"number",category:"transform",path:"offset.x",defaultValue:0,description:"X轴偏移量"},{key:"offsetY",label:"画布Y轴偏移",type:"number",category:"transform",path:"offset.y",defaultValue:0,description:"Y轴偏移量"},{key:"backgroundColor",label:"背景颜色",type:"color",category:"background",path:"background.color",defaultValue:"#1e293b",description:"画布背景颜色"},{key:"backgroundImage",label:"背景图片",type:"image",category:"background",path:"background.image",defaultValue:"",description:"背景图片URL"},{key:"backgroundSize",label:"背景大小",type:"select",category:"background",path:"background.size",defaultValue:"origin",options:[{label:"原始",value:"origin"},{label:"包含",value:"contain"},{label:"覆盖",value:"cover"},{label:"拉伸",value:"stretch"}],description:"背景图片尺寸模式"},{key:"backgroundRepeat",label:"图像重复",type:"select",category:"background",path:"background.repeat",defaultValue:"repeat",options:[{label:"重复",value:"repeat"},{label:"X轴重复",value:"repeat-x"},{label:"Y轴重复",value:"repeat-y"},{label:"不重复",value:"no-repeat"}],description:"背景图片重复模式"},{key:"gridEnabled",label:"网格",type:"boolean",category:"assist",path:"grid.enabled",defaultValue:!0,description:"显示网格"},{key:"gridSize",label:"网格大小",type:"number",category:"assist",path:"grid.size",defaultValue:10,min:5,max:50,description:"网格单元格大小"},{key:"snapEnabled",label:"网格对齐",type:"boolean",category:"assist",path:"snap.enabled",defaultValue:!0,description:"启用网格对齐"},{key:"guidesEnabled",label:"参考线",type:"boolean",category:"assist",path:"guides.enabled",defaultValue:!0,description:"显示参考线"},{key:"magnetismEnabled",label:"吸附",type:"boolean",category:"assist",path:"magnetism.enabled",defaultValue:!0,description:"启用吸附功能"}],dr={"1920*1080":{width:1920,height:1080},"1366*768":{width:1366,height:768},"1280*720":{width:1280,height:720},"800*600":{width:800,height:600}};class sm{constructor(){Se(this,"config");this.config=e.reactive({...bo})}getConfig(){return this.config}updateConfig(r){Object.assign(this.config,r)}updateByPath(r,t){const l=r.split(".");let n=this.config;for(let o=0;o<l.length-1;o++)n=n[l[o]];if(n[l[l.length-1]]=t,r==="size.preset"&&t in dr){const{width:o,height:i}=dr[t];this.config.size.width=o,this.config.size.height=i}}getByPath(r){const t=r.split(".");let l=this.config;for(const n of t)l=l==null?void 0:l[n];return l}setSize(r,t,l){this.config.size.width=r,this.config.size.height=t,l&&(this.config.size.preset=l)}updateSize(r){this.config.size.width=r.width,this.config.size.height=r.height}setZoom(r){const{min:t=.1,max:l=5}=this.config.zoom;this.config.zoom.scale=Math.max(t,Math.min(l,r))}setOffset(r,t){this.config.offset.x=r,this.config.offset.y=t}setBackgroundColor(r){this.config.background.color=r}updateBackground(r){r.color!==void 0&&(this.config.background.color=r.color),r.image!==void 0&&(this.config.background.image=r.image),r.size!==void 0&&(this.config.background.size=r.size),r.repeat!==void 0&&(this.config.background.repeat=r.repeat)}setBackgroundImage(r){this.config.background.image=r}toggleGrid(r){this.config.grid.enabled=r??!this.config.grid.enabled}setGridSize(r){this.config.grid.size=r}toggleSnap(r){this.config.snap.enabled=r??!this.config.snap.enabled}toggleGuides(r){this.config.guides.enabled=r??!this.config.guides.enabled}toggleMagnetism(r){this.config.magnetism.enabled=r??!this.config.magnetism.enabled}reset(){Object.assign(this.config,bo)}export(){return JSON.stringify(this.config,null,2)}import(r){try{const t=JSON.parse(r);Object.assign(this.config,t)}catch(t){console.error("导入画布配置失败:",t)}}}const je=new sm,am=["title"],lm={class:"library-content"},cm={key:0,class:"component-section"},dm={class:"component-grid"},um=["onClick","title"],fm={class:"component-icon"},pm={class:"component-name"},hm={key:1,class:"component-section"},mm={class:"component-grid"},gm=["onClick","title"],ym={class:"component-icon"},bm={class:"component-name"},wo=Me(e.defineComponent({__name:"ComponentLibrary",props:{isCollapsed:{type:Boolean,default:!1}},emits:["addComponent","update:collapsed"],setup(u,{emit:r}){const t=u,l=r,n=()=>{l("update:collapsed",!t.isCollapsed)},o=e.reactive({basic:!1,iot:!1}),i=d=>{o[d]=!o[d]},a=e.computed(()=>er.getComponentsByCategory("basic")),s=e.computed(()=>er.getComponentsByCategory("iot")),c=d=>{l("addComponent",d.metadata.id)};return(d,p)=>(e.openBlock(),e.createElementBlock("aside",{class:e.normalizeClass(["component-library",{collapsed:u.isCollapsed}])},[e.createElementVNode("button",{class:"collapse-btn",onClick:n,title:u.isCollapsed?"展开组件库":"折叠组件库"},[...p[2]||(p[2]=[e.createElementVNode("span",{class:"collapse-icon"},"◀",-1)])],8,am),p[5]||(p[5]=e.createElementVNode("div",{class:"library-header"},[e.createElementVNode("h3",null,"组件库")],-1)),e.createElementVNode("div",lm,[a.value.length>0?(e.openBlock(),e.createElementBlock("div",cm,[e.createElementVNode("div",{class:"section-header",onClick:p[0]||(p[0]=m=>i("basic"))},[p[3]||(p[3]=e.createElementVNode("h4",{class:"section-title"},"基础组件",-1)),e.createElementVNode("span",{class:e.normalizeClass(["toggle-icon",{collapsed:o.basic}])},"▼",2)]),e.withDirectives(e.createElementVNode("div",dm,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value,m=>(e.openBlock(),e.createElementBlock("div",{key:m.metadata.id,class:"component-item",onClick:h=>c(m),title:m.metadata.description||m.metadata.name},[e.createElementVNode("span",fm,e.toDisplayString(m.metadata.icon),1),e.createElementVNode("span",pm,e.toDisplayString(m.metadata.name),1)],8,um))),128))],512),[[e.vShow,!o.basic]])])):e.createCommentVNode("",!0),s.value.length>0?(e.openBlock(),e.createElementBlock("div",hm,[e.createElementVNode("div",{class:"section-header",onClick:p[1]||(p[1]=m=>i("iot"))},[p[4]||(p[4]=e.createElementVNode("h4",{class:"section-title"},"IoT组件",-1)),e.createElementVNode("span",{class:e.normalizeClass(["toggle-icon",{collapsed:o.iot}])},"▼",2)]),e.withDirectives(e.createElementVNode("div",mm,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,m=>(e.openBlock(),e.createElementBlock("div",{key:m.metadata.id,class:"component-item",onClick:h=>c(m),title:m.metadata.description||m.metadata.name},[e.createElementVNode("span",ym,e.toDisplayString(m.metadata.icon),1),e.createElementVNode("span",bm,e.toDisplayString(m.metadata.name),1)],8,gm))),128))],512),[[e.vShow,!o.iot]])])):e.createCommentVNode("",!0)])],2))}}),[["__scopeId","data-v-d0dd96c9"]]),wm={class:"canvas-area"},Em=Me(e.defineComponent({__name:"CanvasArea",setup(u,{expose:r}){const t=e.ref();return r({containerRef:t}),(l,n)=>(e.openBlock(),e.createElementBlock("div",wm,[e.createElementVNode("div",{ref_key:"containerRef",ref:t,class:"canvas-container"},null,512)]))}}),[["__scopeId","data-v-8493cde1"]]),vm={class:"canvas-config-panel"},km={class:"panel-content"},_m={class:"config-section"},Nm={class:"config-item"},xm={key:0,class:"config-item"},Sm={class:"number-input-group"},Vm={key:1,class:"config-item"},Cm={class:"number-input-group"},Im={class:"config-section"},Am={class:"config-item"},$m={class:"slider-group"},Tm={class:"value-display"},Bm={class:"config-item"},Dm={class:"number-input-group"},Pm={class:"config-item"},Om={class:"number-input-group"},Mm={class:"config-section"},Rm={class:"config-item"},jm={class:"config-item"},Lm={class:"image-upload"},Um={class:"config-item"},Fm={class:"config-item"},zm={class:"config-section"},Wm={class:"config-item"},qm={class:"switch"},Gm={class:"config-item"},Hm={class:"switch"},Km={class:"config-item"},Ym={class:"switch"},Qm={key:0,class:"config-item"},Jm={class:"number-input-group"},Xm={class:"config-section"},Zm={class:"config-item"},eg={class:"switch"},tg={class:"config-item-full"},rg={class:"config-item-full"},og={class:"config-item-full"},ng={class:"config-item-full"},ig={class:"config-item-full"},sg={key:0,class:"config-item"},Eo=Me(e.defineComponent({__name:"CanvasConfigPanel",setup(u){const r=e.computed(()=>je.getConfig()),t=e.ref(),l=e.ref(!1),n=e.ref({broker:"mqtt://broker.emqx.io",topic:"/devices/+/data",clientId:"",username:"",password:""}),o=e.ref(null),i=e.inject("connectMqtt"),a=e.inject("disconnectMqtt"),s=e.inject("getMqttStatus"),c=()=>{l.value?(n.value.clientId||(n.value.clientId="scada_"+Date.now()),i==null||i({type:"MQTT",enabled:!0,...n.value})):(a==null||a(),o.value=null)},d=()=>{l.value&&c()};let p=null;e.watch(l,I=>{I?p=setInterval(()=>{if(s){const x=s();o.value={connected:x}}},1e3):p&&(clearInterval(p),p=null)}),e.onUnmounted(()=>{p&&clearInterval(p)});const m=e.ref(r.value.size.width),h=e.ref(r.value.size.height),f=()=>{const I=r.value.size.preset;if(I==="custom")m.value=r.value.size.width,h.value=r.value.size.height;else if(I&&I in dr){const{width:x,height:V}=dr[I];je.setSize(x,V,I)}},w=()=>{r.value.size.preset==="custom"&&je.setSize(m.value,h.value,"custom")},v=(I,x)=>{I==="width"?m.value=Math.max(800,Math.min(7680,m.value+x)):h.value=Math.max(600,Math.min(4320,h.value+x)),w()},S=(I,x)=>{const V=r.value.offset[I];je.setOffset(I==="x"?V+x:r.value.offset.x,I==="y"?V+x:r.value.offset.y)},b=I=>{const x=Math.max(5,Math.min(50,r.value.grid.size+I));je.setGridSize(x)},_=()=>{var I;(I=t.value)==null||I.click()},k=I=>{var $;const V=($=I.target.files)==null?void 0:$[0];if(V){const C=new FileReader;C.onload=P=>{var U;const A=(U=P.target)==null?void 0:U.result;je.updateByPath("background.image",A)},C.readAsDataURL(V)}},E=()=>{je.updateByPath("background.image",""),t.value&&(t.value.value="")};return(I,x)=>(e.openBlock(),e.createElementBlock("div",vm,[x[63]||(x[63]=e.createElementVNode("div",{class:"panel-header"},[e.createElementVNode("h3",null,"画布配置")],-1)),e.createElementVNode("div",km,[e.createElementVNode("div",_m,[x[33]||(x[33]=e.createElementVNode("h4",{class:"section-title"},"基础配置",-1)),e.createElementVNode("div",Nm,[x[30]||(x[30]=e.createElementVNode("label",null,"画布尺寸",-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":x[0]||(x[0]=V=>r.value.size.preset=V),onChange:f,class:"config-select"},[...x[29]||(x[29]=[e.createStaticVNode('<option value="1920*1080" data-v-43175010>1920*1080</option><option value="1366*768" data-v-43175010>1366*768</option><option value="1280*720" data-v-43175010>1280*720</option><option value="800*600" data-v-43175010>800*600</option><option value="custom" data-v-43175010>自定义</option>',5)])],544),[[e.vModelSelect,r.value.size.preset]])]),r.value.size.preset==="custom"?(e.openBlock(),e.createElementBlock("div",xm,[x[31]||(x[31]=e.createElementVNode("label",null,"宽度",-1)),e.createElementVNode("div",Sm,[e.createElementVNode("button",{onClick:x[1]||(x[1]=V=>v("width",-100)),class:"adjust-btn"},"-"),e.withDirectives(e.createElementVNode("input",{type:"number","onUpdate:modelValue":x[2]||(x[2]=V=>m.value=V),onChange:w,min:800,max:7680,class:"config-number"},null,544),[[e.vModelText,m.value,void 0,{number:!0}]]),e.createElementVNode("button",{onClick:x[3]||(x[3]=V=>v("width",100)),class:"adjust-btn"},"+")])])):e.createCommentVNode("",!0),r.value.size.preset==="custom"?(e.openBlock(),e.createElementBlock("div",Vm,[x[32]||(x[32]=e.createElementVNode("label",null,"高度",-1)),e.createElementVNode("div",Cm,[e.createElementVNode("button",{onClick:x[4]||(x[4]=V=>v("height",-100)),class:"adjust-btn"},"-"),e.withDirectives(e.createElementVNode("input",{type:"number","onUpdate:modelValue":x[5]||(x[5]=V=>h.value=V),onChange:w,min:600,max:4320,class:"config-number"},null,544),[[e.vModelText,h.value,void 0,{number:!0}]]),e.createElementVNode("button",{onClick:x[6]||(x[6]=V=>v("height",100)),class:"adjust-btn"},"+")])])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Im,[x[37]||(x[37]=e.createElementVNode("h4",{class:"section-title"},"变换",-1)),e.createElementVNode("div",Am,[x[34]||(x[34]=e.createElementVNode("label",null,"缩放倍数",-1)),e.createElementVNode("div",$m,[e.withDirectives(e.createElementVNode("input",{type:"range","onUpdate:modelValue":x[7]||(x[7]=V=>r.value.zoom.scale=V),min:.1,max:5,step:.1,class:"config-slider"},null,512),[[e.vModelText,r.value.zoom.scale,void 0,{number:!0}]]),e.createElementVNode("span",Tm,e.toDisplayString(r.value.zoom.scale.toFixed(1)),1)])]),e.createElementVNode("div",Bm,[x[35]||(x[35]=e.createElementVNode("label",null,"画布X轴偏移",-1)),e.createElementVNode("div",Dm,[e.createElementVNode("button",{onClick:x[8]||(x[8]=V=>S("x",-10)),class:"adjust-btn"},"-"),e.withDirectives(e.createElementVNode("input",{type:"number","onUpdate:modelValue":x[9]||(x[9]=V=>r.value.offset.x=V),class:"config-number"},null,512),[[e.vModelText,r.value.offset.x,void 0,{number:!0}]]),e.createElementVNode("button",{onClick:x[10]||(x[10]=V=>S("x",10)),class:"adjust-btn"},"+")])]),e.createElementVNode("div",Pm,[x[36]||(x[36]=e.createElementVNode("label",null,"画布Y轴偏移",-1)),e.createElementVNode("div",Om,[e.createElementVNode("button",{onClick:x[11]||(x[11]=V=>S("y",-10)),class:"adjust-btn"},"-"),e.withDirectives(e.createElementVNode("input",{type:"number","onUpdate:modelValue":x[12]||(x[12]=V=>r.value.offset.y=V),class:"config-number"},null,512),[[e.vModelText,r.value.offset.y,void 0,{number:!0}]]),e.createElementVNode("button",{onClick:x[13]||(x[13]=V=>S("y",10)),class:"adjust-btn"},"+")])])]),e.createElementVNode("div",Mm,[x[45]||(x[45]=e.createElementVNode("h4",{class:"section-title"},"背景",-1)),e.createElementVNode("div",Rm,[x[38]||(x[38]=e.createElementVNode("label",null,"背景颜色",-1)),e.withDirectives(e.createElementVNode("input",{type:"color","onUpdate:modelValue":x[14]||(x[14]=V=>r.value.background.color=V),class:"config-color"},null,512),[[e.vModelText,r.value.background.color]])]),e.createElementVNode("div",jm,[x[40]||(x[40]=e.createElementVNode("label",null,"背景图片",-1)),e.createElementVNode("div",Lm,[e.createElementVNode("input",{type:"file",accept:"image/*",onChange:k,ref_key:"fileInput",ref:t,style:{display:"none"}},null,544),e.createElementVNode("button",{onClick:_,class:"upload-btn"},[...x[39]||(x[39]=[e.createElementVNode("span",null,"📄",-1)])]),r.value.background.image?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:E,class:"clear-btn",title:"清除背景图"}," ✕ ")):e.createCommentVNode("",!0)])]),e.createElementVNode("div",Um,[x[42]||(x[42]=e.createElementVNode("label",null,"背景大小",-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":x[15]||(x[15]=V=>r.value.background.size=V),class:"config-select"},[...x[41]||(x[41]=[e.createElementVNode("option",{value:"origin"},"原始",-1),e.createElementVNode("option",{value:"contain"},"包含",-1),e.createElementVNode("option",{value:"cover"},"覆盖",-1),e.createElementVNode("option",{value:"stretch"},"拉伸",-1)])],512),[[e.vModelSelect,r.value.background.size]])]),e.createElementVNode("div",Fm,[x[44]||(x[44]=e.createElementVNode("label",null,"图像重复",-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":x[16]||(x[16]=V=>r.value.background.repeat=V),class:"config-select"},[...x[43]||(x[43]=[e.createElementVNode("option",{value:"repeat"},"重复",-1),e.createElementVNode("option",{value:"repeat-x"},"X轴重复",-1),e.createElementVNode("option",{value:"repeat-y"},"Y轴重复",-1),e.createElementVNode("option",{value:"no-repeat"},"不重复",-1)])],512),[[e.vModelSelect,r.value.background.repeat]])])]),e.createElementVNode("div",zm,[x[53]||(x[53]=e.createElementVNode("h4",{class:"section-title"},"辅助",-1)),e.createElementVNode("div",Wm,[x[47]||(x[47]=e.createElementVNode("label",null,"吸附",-1)),e.createElementVNode("label",qm,[e.withDirectives(e.createElementVNode("input",{type:"checkbox","onUpdate:modelValue":x[17]||(x[17]=V=>r.value.magnetism.enabled=V)},null,512),[[e.vModelCheckbox,r.value.magnetism.enabled]]),x[46]||(x[46]=e.createElementVNode("span",{class:"slider"},null,-1))])]),e.createElementVNode("div",Gm,[x[49]||(x[49]=e.createElementVNode("label",null,"网格",-1)),e.createElementVNode("label",Hm,[e.withDirectives(e.createElementVNode("input",{type:"checkbox","onUpdate:modelValue":x[18]||(x[18]=V=>r.value.grid.enabled=V)},null,512),[[e.vModelCheckbox,r.value.grid.enabled]]),x[48]||(x[48]=e.createElementVNode("span",{class:"slider"},null,-1))])]),e.createElementVNode("div",Km,[x[51]||(x[51]=e.createElementVNode("label",null,"网格对齐",-1)),e.createElementVNode("label",Ym,[e.withDirectives(e.createElementVNode("input",{type:"checkbox","onUpdate:modelValue":x[19]||(x[19]=V=>r.value.snap.enabled=V)},null,512),[[e.vModelCheckbox,r.value.snap.enabled]]),x[50]||(x[50]=e.createElementVNode("span",{class:"slider"},null,-1))])]),r.value.grid.enabled?(e.openBlock(),e.createElementBlock("div",Qm,[x[52]||(x[52]=e.createElementVNode("label",null,"网格大小",-1)),e.createElementVNode("div",Jm,[e.createElementVNode("button",{onClick:x[20]||(x[20]=V=>b(-5)),class:"adjust-btn"},"-"),e.withDirectives(e.createElementVNode("input",{type:"number","onUpdate:modelValue":x[21]||(x[21]=V=>r.value.grid.size=V),min:5,max:50,class:"config-number"},null,512),[[e.vModelText,r.value.grid.size,void 0,{number:!0}]]),e.createElementVNode("button",{onClick:x[22]||(x[22]=V=>b(5)),class:"adjust-btn"},"+")])])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Xm,[x[62]||(x[62]=e.createElementVNode("h4",{class:"section-title"},"数据源",-1)),e.createElementVNode("div",Zm,[x[55]||(x[55]=e.createElementVNode("label",null,"MQTT 数据源",-1)),e.createElementVNode("label",eg,[e.withDirectives(e.createElementVNode("input",{type:"checkbox","onUpdate:modelValue":x[23]||(x[23]=V=>l.value=V),onChange:c},null,544),[[e.vModelCheckbox,l.value]]),x[54]||(x[54]=e.createElementVNode("span",{class:"slider"},null,-1))])]),l.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("div",tg,[x[56]||(x[56]=e.createElementVNode("label",null,"Broker 地址",-1)),e.withDirectives(e.createElementVNode("input",{type:"text","onUpdate:modelValue":x[24]||(x[24]=V=>n.value.broker=V),onChange:d,placeholder:"mqtt://broker.emqx.io",class:"config-input-full"},null,544),[[e.vModelText,n.value.broker]])]),e.createElementVNode("div",rg,[x[57]||(x[57]=e.createElementVNode("label",null,"订阅主题",-1)),e.withDirectives(e.createElementVNode("input",{type:"text","onUpdate:modelValue":x[25]||(x[25]=V=>n.value.topic=V),onChange:d,placeholder:"/devices/+/data",class:"config-input-full"},null,544),[[e.vModelText,n.value.topic]])]),e.createElementVNode("div",og,[x[58]||(x[58]=e.createElementVNode("label",null,"客户端ID",-1)),e.withDirectives(e.createElementVNode("input",{type:"text","onUpdate:modelValue":x[26]||(x[26]=V=>n.value.clientId=V),onChange:d,placeholder:"自动生成",class:"config-input-full"},null,544),[[e.vModelText,n.value.clientId]])]),e.createElementVNode("div",ng,[x[59]||(x[59]=e.createElementVNode("label",null,"用户名",-1)),e.withDirectives(e.createElementVNode("input",{type:"text","onUpdate:modelValue":x[27]||(x[27]=V=>n.value.username=V),onChange:d,placeholder:"可选",class:"config-input-full"},null,544),[[e.vModelText,n.value.username]])]),e.createElementVNode("div",ig,[x[60]||(x[60]=e.createElementVNode("label",null,"密码",-1)),e.withDirectives(e.createElementVNode("input",{type:"password","onUpdate:modelValue":x[28]||(x[28]=V=>n.value.password=V),onChange:d,placeholder:"可选",class:"config-input-full"},null,544),[[e.vModelText,n.value.password]])]),o.value?(e.openBlock(),e.createElementBlock("div",sg,[x[61]||(x[61]=e.createElementVNode("label",null,"连接状态",-1)),e.createElementVNode("span",{class:e.normalizeClass(["status-badge",o.value.connected?"connected":"disconnected"])},e.toDisplayString(o.value.connected?"已连接":"未连接"),3)])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)])])]))}}),[["__scopeId","data-v-43175010"]]),ag={class:"tab-pane"},lg={class:"property-section"},cg={class:"property-item-inline"},dg=["value"],ug={class:"property-item-inline"},fg=["value"],pg={class:"property-item-inline"},hg=["value"],mg={class:"property-section"},gg={class:"property-row"},yg={class:"property-item"},bg=["value"],wg={class:"property-item"},Eg=["value"],vg={class:"property-row"},kg={class:"property-item"},_g=["value"],Ng={class:"property-item"},xg=["value"],Sg={class:"property-section"},Vg={class:"property-item-inline"},Cg=["value"],Ig={class:"property-item-inline"},Ag={class:"color-input-wrapper"},$g=["value"],Tg={class:"color-value"},Bg={class:"property-item-inline"},Dg={class:"color-input-wrapper"},Pg=["value"],Og={class:"color-value"},Mg={class:"property-item-inline"},Rg=["value"],jg={class:"property-item-inline"},Lg=["value"],Ug={key:0,class:"property-section"},Fg={key:0,class:"property-hint"},zg=["value","onInput","placeholder"],Wg=["value","onInput","min","max","step"],qg={key:2,class:"color-input-wrapper"},Gg=["value","onInput"],Hg={class:"color-value"},Kg={key:3,class:"checkbox-wrapper"},Yg=["checked","onChange"],Qg={class:"checkbox-label"},Jg=["value","onChange"],Xg=["value"],vo=Me(e.defineComponent({__name:"BasicPropertiesTab",props:{selectedNode:{},nodePosition:{},nodeSize:{},nodeAttrs:{}},emits:["update-position","update-size","update-label","update-fill","update-stroke","update-stroke-width","update-opacity","update-component-name","update-dynamic-prop"],setup(u,{emit:r}){const t=u,l=r,n=e.computed(()=>{var s,c;if(!((c=(s=t.selectedNode)==null?void 0:s.data)!=null&&c.props))return[];const a=["label","fill","stroke","strokeWidth","opacity"];return t.selectedNode.data.props.filter(d=>!a.includes(d.key))}),o=a=>{if(!a.path)return a.defaultValue;const s=a.path.split(".");let c=t.selectedNode;for(const d of s)if(c&&typeof c=="object")c=c[d];else return a.defaultValue;return c!==void 0?c:a.defaultValue},i=(a,s)=>{var p;const c=s.target;let d;if(a.type==="number")d=Number(c.value);else if(a.type==="boolean")d=c.checked;else if(a.type==="select"){const m=(p=a.options)==null?void 0:p.find(h=>String(h.value)===c.value);d=m?m.value:c.value}else d=c.value;l("update-dynamic-prop",a.path,d)};return(a,s)=>{var c,d,p,m,h,f,w,v,S,b,_,k,E,I,x,V,$;return e.openBlock(),e.createElementBlock("div",ag,[e.createElementVNode("div",lg,[s[13]||(s[13]=e.createElementVNode("h4",null,"基础信息",-1)),e.createElementVNode("div",cg,[s[10]||(s[10]=e.createElementVNode("label",null,"组件名称",-1)),e.createElementVNode("input",{type:"text",value:((c=u.selectedNode.getData())==null?void 0:c.componentName)||"",onInput:s[0]||(s[0]=C=>a.$emit("update-component-name",C)),placeholder:"请输入组件名称"},null,40,dg)]),e.createElementVNode("div",ug,[s[11]||(s[11]=e.createElementVNode("label",null,"ID",-1)),e.createElementVNode("input",{type:"text",value:u.selectedNode.id,disabled:""},null,8,fg)]),e.createElementVNode("div",pg,[s[12]||(s[12]=e.createElementVNode("label",null,"类型",-1)),e.createElementVNode("input",{type:"text",value:u.selectedNode.shape,disabled:""},null,8,hg)])]),e.createElementVNode("div",mg,[s[18]||(s[18]=e.createElementVNode("h4",null,"位置和尺寸",-1)),e.createElementVNode("div",gg,[e.createElementVNode("div",yg,[s[14]||(s[14]=e.createElementVNode("label",null,"X",-1)),e.createElementVNode("input",{type:"number",value:u.nodePosition.x,onInput:s[1]||(s[1]=C=>a.$emit("update-position","x",C))},null,40,bg)]),e.createElementVNode("div",wg,[s[15]||(s[15]=e.createElementVNode("label",null,"Y",-1)),e.createElementVNode("input",{type:"number",value:u.nodePosition.y,onInput:s[2]||(s[2]=C=>a.$emit("update-position","y",C))},null,40,Eg)])]),e.createElementVNode("div",vg,[e.createElementVNode("div",kg,[s[16]||(s[16]=e.createElementVNode("label",null,"宽度",-1)),e.createElementVNode("input",{type:"number",value:u.nodeSize.width,onInput:s[3]||(s[3]=C=>a.$emit("update-size","width",C))},null,40,_g)]),e.createElementVNode("div",Ng,[s[17]||(s[17]=e.createElementVNode("label",null,"高度",-1)),e.createElementVNode("input",{type:"number",value:u.nodeSize.height,onInput:s[4]||(s[4]=C=>a.$emit("update-size","height",C))},null,40,xg)])])]),e.createElementVNode("div",Sg,[s[24]||(s[24]=e.createElementVNode("h4",null,"样式",-1)),e.createElementVNode("div",Vg,[s[19]||(s[19]=e.createElementVNode("label",null,"初始文本",-1)),e.createElementVNode("input",{type:"text",value:((p=(d=u.nodeAttrs)==null?void 0:d.text)==null?void 0:p.text)||((h=(m=u.nodeAttrs)==null?void 0:m.label)==null?void 0:h.text)||u.selectedNode.getProp("label")||"",onInput:s[5]||(s[5]=C=>a.$emit("update-label",C)),placeholder:"设置默认显示文本"},null,40,Cg)]),e.createElementVNode("div",Ig,[s[20]||(s[20]=e.createElementVNode("label",null,"填充颜色",-1)),e.createElementVNode("div",Ag,[e.createElementVNode("input",{type:"color",value:((w=(f=u.nodeAttrs)==null?void 0:f.body)==null?void 0:w.fill)||"#3b82f6",onInput:s[6]||(s[6]=C=>a.$emit("update-fill",C))},null,40,$g),e.createElementVNode("span",Tg,e.toDisplayString(((S=(v=u.nodeAttrs)==null?void 0:v.body)==null?void 0:S.fill)||"#3b82f6"),1)])]),e.createElementVNode("div",Bg,[s[21]||(s[21]=e.createElementVNode("label",null,"边框颜色",-1)),e.createElementVNode("div",Dg,[e.createElementVNode("input",{type:"color",value:((_=(b=u.nodeAttrs)==null?void 0:b.body)==null?void 0:_.stroke)||"#2563eb",onInput:s[7]||(s[7]=C=>a.$emit("update-stroke",C))},null,40,Pg),e.createElementVNode("span",Og,e.toDisplayString(((E=(k=u.nodeAttrs)==null?void 0:k.body)==null?void 0:E.stroke)||"#2563eb"),1)])]),e.createElementVNode("div",Mg,[s[22]||(s[22]=e.createElementVNode("label",null,"边框宽度",-1)),e.createElementVNode("input",{type:"number",min:"0",max:"10",value:((x=(I=u.nodeAttrs)==null?void 0:I.body)==null?void 0:x.strokeWidth)||2,onInput:s[8]||(s[8]=C=>a.$emit("update-stroke-width",C))},null,40,Rg)]),e.createElementVNode("div",jg,[s[23]||(s[23]=e.createElementVNode("label",null,"透明度",-1)),e.createElementVNode("input",{type:"number",min:"0",max:"1",step:"0.1",value:(($=(V=u.nodeAttrs)==null?void 0:V.body)==null?void 0:$.opacity)!==void 0?u.nodeAttrs.body.opacity:1,onInput:s[9]||(s[9]=C=>a.$emit("update-opacity",C))},null,40,Lg)])]),n.value.length>0?(e.openBlock(),e.createElementBlock("div",Ug,[s[25]||(s[25]=e.createElementVNode("h4",null,"组件属性",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,C=>(e.openBlock(),e.createElementBlock("div",{key:C.key,class:"property-item-inline"},[e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(C.label)+" ",1),C.description?(e.openBlock(),e.createElementBlock("span",Fg,e.toDisplayString(C.description),1)):e.createCommentVNode("",!0)]),C.type==="text"?(e.openBlock(),e.createElementBlock("input",{key:0,type:"text",value:o(C),onInput:P=>i(C,P),placeholder:C.defaultValue},null,40,zg)):C.type==="number"?(e.openBlock(),e.createElementBlock("input",{key:1,type:"number",value:o(C),onInput:P=>i(C,P),min:C.min,max:C.max,step:C.step},null,40,Wg)):C.type==="color"?(e.openBlock(),e.createElementBlock("div",qg,[e.createElementVNode("input",{type:"color",value:o(C),onInput:P=>i(C,P)},null,40,Gg),e.createElementVNode("span",Hg,e.toDisplayString(o(C)),1)])):C.type==="boolean"?(e.openBlock(),e.createElementBlock("div",Kg,[e.createElementVNode("input",{type:"checkbox",checked:o(C),onChange:P=>i(C,P)},null,40,Yg),e.createElementVNode("span",Qg,e.toDisplayString(o(C)?"是":"否"),1)])):C.type==="select"?(e.openBlock(),e.createElementBlock("select",{key:4,value:o(C),onChange:P=>i(C,P)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(C.options,P=>(e.openBlock(),e.createElementBlock("option",{key:P.value,value:P.value},e.toDisplayString(P.label),9,Xg))),128))],40,Jg)):e.createCommentVNode("",!0)]))),128))])):e.createCommentVNode("",!0)])}}}),[["__scopeId","data-v-e63074f3"]]);var ko=Object.defineProperty,Zg=Object.getOwnPropertyDescriptor,ey=Object.getOwnPropertyNames,ty=Object.prototype.hasOwnProperty,dt=(u,r)=>()=>(u&&(r=u(u=0)),r),ke=(u,r)=>()=>(r||u((r={exports:{}}).exports,r),r.exports),tr=(u,r)=>{for(var t in r)ko(u,t,{get:r[t],enumerable:!0})},ry=(u,r,t,l)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of ey(r))!ty.call(u,n)&&n!==t&&ko(u,n,{get:()=>r[n],enumerable:!(l=Zg(r,n))||l.enumerable});return u},We=u=>ry(ko({},"__esModule",{value:!0}),u),be=dt(()=>{}),ze={};tr(ze,{_debugEnd:()=>on,_debugProcess:()=>rn,_events:()=>En,_eventsCount:()=>vn,_exiting:()=>Fo,_fatalExceptions:()=>Zo,_getActiveHandles:()=>Cs,_getActiveRequests:()=>Vs,_kill:()=>qo,_linkedBinding:()=>xs,_maxListeners:()=>wn,_preload_modules:()=>gn,_rawDebug:()=>jo,_startProfilerIdleNotifier:()=>nn,_stopProfilerIdleNotifier:()=>sn,_tickCallback:()=>tn,abort:()=>dn,addListener:()=>kn,allowedNodeEnvironmentFlags:()=>Jo,arch:()=>xo,argv:()=>Co,argv0:()=>mn,assert:()=>Is,binding:()=>Bo,browser:()=>Ro,chdir:()=>Oo,config:()=>zo,cpuUsage:()=>fr,cwd:()=>Po,debugPort:()=>hn,default:()=>An,dlopen:()=>Ss,domain:()=>Uo,emit:()=>Vn,emitWarning:()=>To,env:()=>Vo,execArgv:()=>Io,execPath:()=>pn,exit:()=>Yo,features:()=>Xo,hasUncaughtExceptionCaptureCallback:()=>As,hrtime:()=>Sr,kill:()=>Ko,listeners:()=>Ts,memoryUsage:()=>Ho,moduleLoadList:()=>Lo,nextTick:()=>_s,off:()=>Nn,on:()=>Et,once:()=>_n,openStdin:()=>Qo,pid:()=>un,platform:()=>So,ppid:()=>fn,prependListener:()=>Cn,prependOnceListener:()=>In,reallyExit:()=>Wo,release:()=>Mo,removeAllListeners:()=>Sn,removeListener:()=>xn,resourceUsage:()=>Go,setSourceMapsEnabled:()=>yn,setUncaughtExceptionCaptureCallback:()=>en,stderr:()=>ln,stdin:()=>cn,stdout:()=>an,title:()=>No,umask:()=>Do,uptime:()=>$s,version:()=>Ao,versions:()=>$o});function _o(u){throw new Error("Node.js process "+u+" is not supported by JSPM core outside of Node.js")}function oy(){!Wt||!qt||(Wt=!1,qt.length?gt=qt.concat(gt):ur=-1,gt.length&&ks())}function ks(){if(!Wt){var u=setTimeout(oy,0);Wt=!0;for(var r=gt.length;r;){for(qt=gt,gt=[];++ur<r;)qt&&qt[ur].run();ur=-1,r=gt.length}qt=null,Wt=!1,clearTimeout(u)}}function _s(u){var r=new Array(arguments.length-1);if(arguments.length>1)for(var t=1;t<arguments.length;t++)r[t-1]=arguments[t];gt.push(new Ns(u,r)),gt.length===1&&!Wt&&setTimeout(ks,0)}function Ns(u,r){this.fun=u,this.array=r}function it(){}function xs(u){_o("_linkedBinding")}function Ss(u){_o("dlopen")}function Vs(){return[]}function Cs(){return[]}function Is(u,r){if(!u)throw new Error(r||"assertion error")}function As(){return!1}function $s(){return vt.now()/1e3}function Sr(u){var r=Math.floor((Date.now()-vt.now())*.001),t=vt.now()*.001,l=Math.floor(t)+r,n=Math.floor(t%1*1e9);return u&&(l=l-u[0],n=n-u[1],n<0&&(l--,n+=Vr)),[l,n]}function Et(){return An}function Ts(u){return[]}var gt,Wt,qt,ur,No,xo,So,Vo,Co,Io,Ao,$o,To,Bo,Do,Po,Oo,Mo,Ro,jo,Lo,Uo,Fo,zo,Wo,qo,fr,Go,Ho,Ko,Yo,Qo,Jo,Xo,Zo,en,tn,rn,on,nn,sn,an,ln,cn,dn,un,fn,pn,hn,mn,gn,yn,vt,bn,Vr,wn,En,vn,kn,_n,Nn,xn,Sn,Vn,Cn,In,An,ny=dt(()=>{be(),Ee(),we(),gt=[],Wt=!1,ur=-1,Ns.prototype.run=function(){this.fun.apply(null,this.array)},No="browser",xo="x64",So="browser",Vo={PATH:"/usr/bin",LANG:typeof navigator<"u"?navigator.language+".UTF-8":void 0,PWD:"/",HOME:"/home",TMP:"/tmp"},Co=["/usr/bin/node"],Io=[],Ao="v16.8.0",$o={},To=function(u,r){console.warn((r?r+": ":"")+u)},Bo=function(u){_o("binding")},Do=function(u){return 0},Po=function(){return"/"},Oo=function(u){},Mo={name:"node",sourceUrl:"",headersUrl:"",libUrl:""},Ro=!0,jo=it,Lo=[],Uo={},Fo=!1,zo={},Wo=it,qo=it,fr=function(){return{}},Go=fr,Ho=fr,Ko=it,Yo=it,Qo=it,Jo={},Xo={inspector:!1,debug:!1,uv:!1,ipv6:!1,tls_alpn:!1,tls_sni:!1,tls_ocsp:!1,tls:!1,cached_builtins:!0},Zo=it,en=it,tn=it,rn=it,on=it,nn=it,sn=it,an=void 0,ln=void 0,cn=void 0,dn=it,un=2,fn=1,pn="/bin/usr/node",hn=9229,mn="node",gn=[],yn=it,vt={now:typeof performance<"u"?performance.now.bind(performance):void 0,timing:typeof performance<"u"?performance.timing:void 0},vt.now===void 0&&(bn=Date.now(),vt.timing&&vt.timing.navigationStart&&(bn=vt.timing.navigationStart),vt.now=()=>Date.now()-bn),Vr=1e9,Sr.bigint=function(u){var r=Sr(u);return typeof BigInt>"u"?r[0]*Vr+r[1]:BigInt(r[0]*Vr)+BigInt(r[1])},wn=10,En={},vn=0,kn=Et,_n=Et,Nn=Et,xn=Et,Sn=Et,Vn=it,Cn=Et,In=Et,An={version:Ao,versions:$o,arch:xo,platform:So,browser:Ro,release:Mo,_rawDebug:jo,moduleLoadList:Lo,binding:Bo,_linkedBinding:xs,_events:En,_eventsCount:vn,_maxListeners:wn,on:Et,addListener:kn,once:_n,off:Nn,removeListener:xn,removeAllListeners:Sn,emit:Vn,prependListener:Cn,prependOnceListener:In,listeners:Ts,domain:Uo,_exiting:Fo,config:zo,dlopen:Ss,uptime:$s,_getActiveRequests:Vs,_getActiveHandles:Cs,reallyExit:Wo,_kill:qo,cpuUsage:fr,resourceUsage:Go,memoryUsage:Ho,kill:Ko,exit:Yo,openStdin:Qo,allowedNodeEnvironmentFlags:Jo,assert:Is,features:Xo,_fatalExceptions:Zo,setUncaughtExceptionCaptureCallback:en,hasUncaughtExceptionCaptureCallback:As,emitWarning:To,nextTick:_s,_tickCallback:tn,_debugProcess:rn,_debugEnd:on,_startProfilerIdleNotifier:nn,_stopProfilerIdleNotifier:sn,stdout:an,stdin:cn,stderr:ln,abort:dn,umask:Do,chdir:Oo,cwd:Po,env:Vo,title:No,argv:Co,execArgv:Io,pid:un,ppid:fn,execPath:pn,debugPort:hn,hrtime:Sr,argv0:mn,_preload_modules:gn,setSourceMapsEnabled:yn}}),we=dt(()=>{ny()});function iy(){if($n)return rr;$n=!0,rr.byteLength=a,rr.toByteArray=c,rr.fromByteArray=m;for(var u=[],r=[],t=typeof Uint8Array<"u"?Uint8Array:Array,l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",n=0,o=l.length;n<o;++n)u[n]=l[n],r[l.charCodeAt(n)]=n;r[45]=62,r[95]=63;function i(h){var f=h.length;if(f%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var w=h.indexOf("=");w===-1&&(w=f);var v=w===f?0:4-w%4;return[w,v]}function a(h){var f=i(h),w=f[0],v=f[1];return(w+v)*3/4-v}function s(h,f,w){return(f+w)*3/4-w}function c(h){var f,w=i(h),v=w[0],S=w[1],b=new t(s(h,v,S)),_=0,k=S>0?v-4:v,E;for(E=0;E<k;E+=4)f=r[h.charCodeAt(E)]<<18|r[h.charCodeAt(E+1)]<<12|r[h.charCodeAt(E+2)]<<6|r[h.charCodeAt(E+3)],b[_++]=f>>16&255,b[_++]=f>>8&255,b[_++]=f&255;return S===2&&(f=r[h.charCodeAt(E)]<<2|r[h.charCodeAt(E+1)]>>4,b[_++]=f&255),S===1&&(f=r[h.charCodeAt(E)]<<10|r[h.charCodeAt(E+1)]<<4|r[h.charCodeAt(E+2)]>>2,b[_++]=f>>8&255,b[_++]=f&255),b}function d(h){return u[h>>18&63]+u[h>>12&63]+u[h>>6&63]+u[h&63]}function p(h,f,w){for(var v,S=[],b=f;b<w;b+=3)v=(h[b]<<16&16711680)+(h[b+1]<<8&65280)+(h[b+2]&255),S.push(d(v));return S.join("")}function m(h){for(var f,w=h.length,v=w%3,S=[],b=16383,_=0,k=w-v;_<k;_+=b)S.push(p(h,_,_+b>k?k:_+b));return v===1?(f=h[w-1],S.push(u[f>>2]+u[f<<4&63]+"==")):v===2&&(f=(h[w-2]<<8)+h[w-1],S.push(u[f>>10]+u[f>>4&63]+u[f<<2&63]+"=")),S.join("")}return rr}function sy(){return Tn?pr:(Tn=!0,pr.read=function(u,r,t,l,n){var o,i,a=n*8-l-1,s=(1<<a)-1,c=s>>1,d=-7,p=t?n-1:0,m=t?-1:1,h=u[r+p];for(p+=m,o=h&(1<<-d)-1,h>>=-d,d+=a;d>0;o=o*256+u[r+p],p+=m,d-=8);for(i=o&(1<<-d)-1,o>>=-d,d+=l;d>0;i=i*256+u[r+p],p+=m,d-=8);if(o===0)o=1-c;else{if(o===s)return i?NaN:(h?-1:1)*(1/0);i=i+Math.pow(2,l),o=o-c}return(h?-1:1)*i*Math.pow(2,o-l)},pr.write=function(u,r,t,l,n,o){var i,a,s,c=o*8-n-1,d=(1<<c)-1,p=d>>1,m=n===23?Math.pow(2,-24)-Math.pow(2,-77):0,h=l?0:o-1,f=l?1:-1,w=r<0||r===0&&1/r<0?1:0;for(r=Math.abs(r),isNaN(r)||r===1/0?(a=isNaN(r)?1:0,i=d):(i=Math.floor(Math.log(r)/Math.LN2),r*(s=Math.pow(2,-i))<1&&(i--,s*=2),i+p>=1?r+=m/s:r+=m*Math.pow(2,1-p),r*s>=2&&(i++,s/=2),i+p>=d?(a=0,i=d):i+p>=1?(a=(r*s-1)*Math.pow(2,n),i=i+p):(a=r*Math.pow(2,p-1)*Math.pow(2,n),i=0));n>=8;u[t+h]=a&255,h+=f,a/=256,n-=8);for(i=i<<n|a,c+=n;c>0;u[t+h]=i&255,h+=f,i/=256,c-=8);u[t+h-f]|=w*128},pr)}function ay(){if(Bn)return $t;Bn=!0;let u=iy(),r=sy(),t=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;$t.Buffer=i,$t.SlowBuffer=S,$t.INSPECT_MAX_BYTES=50;let l=2147483647;$t.kMaxLength=l,i.TYPED_ARRAY_SUPPORT=n(),!i.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function n(){try{let g=new Uint8Array(1),y={foo:function(){return 42}};return Object.setPrototypeOf(y,Uint8Array.prototype),Object.setPrototypeOf(g,y),g.foo()===42}catch{return!1}}Object.defineProperty(i.prototype,"parent",{enumerable:!0,get:function(){if(i.isBuffer(this))return this.buffer}}),Object.defineProperty(i.prototype,"offset",{enumerable:!0,get:function(){if(i.isBuffer(this))return this.byteOffset}});function o(g){if(g>l)throw new RangeError('The value "'+g+'" is invalid for option "size"');let y=new Uint8Array(g);return Object.setPrototypeOf(y,i.prototype),y}function i(g,y,N){if(typeof g=="number"){if(typeof y=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return d(g)}return a(g,y,N)}i.poolSize=8192;function a(g,y,N){if(typeof g=="string")return p(g,y);if(ArrayBuffer.isView(g))return h(g);if(g==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof g);if(K(g,ArrayBuffer)||g&&K(g.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(K(g,SharedArrayBuffer)||g&&K(g.buffer,SharedArrayBuffer)))return f(g,y,N);if(typeof g=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let T=g.valueOf&&g.valueOf();if(T!=null&&T!==g)return i.from(T,y,N);let L=w(g);if(L)return L;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof g[Symbol.toPrimitive]=="function")return i.from(g[Symbol.toPrimitive]("string"),y,N);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof g)}i.from=function(g,y,N){return a(g,y,N)},Object.setPrototypeOf(i.prototype,Uint8Array.prototype),Object.setPrototypeOf(i,Uint8Array);function s(g){if(typeof g!="number")throw new TypeError('"size" argument must be of type number');if(g<0)throw new RangeError('The value "'+g+'" is invalid for option "size"')}function c(g,y,N){return s(g),g<=0?o(g):y!==void 0?typeof N=="string"?o(g).fill(y,N):o(g).fill(y):o(g)}i.alloc=function(g,y,N){return c(g,y,N)};function d(g){return s(g),o(g<0?0:v(g)|0)}i.allocUnsafe=function(g){return d(g)},i.allocUnsafeSlow=function(g){return d(g)};function p(g,y){if((typeof y!="string"||y==="")&&(y="utf8"),!i.isEncoding(y))throw new TypeError("Unknown encoding: "+y);let N=b(g,y)|0,T=o(N),L=T.write(g,y);return L!==N&&(T=T.slice(0,L)),T}function m(g){let y=g.length<0?0:v(g.length)|0,N=o(y);for(let T=0;T<y;T+=1)N[T]=g[T]&255;return N}function h(g){if(K(g,Uint8Array)){let y=new Uint8Array(g);return f(y.buffer,y.byteOffset,y.byteLength)}return m(g)}function f(g,y,N){if(y<0||g.byteLength<y)throw new RangeError('"offset" is outside of buffer bounds');if(g.byteLength<y+(N||0))throw new RangeError('"length" is outside of buffer bounds');let T;return y===void 0&&N===void 0?T=new Uint8Array(g):N===void 0?T=new Uint8Array(g,y):T=new Uint8Array(g,y,N),Object.setPrototypeOf(T,i.prototype),T}function w(g){if(i.isBuffer(g)){let y=v(g.length)|0,N=o(y);return N.length===0||g.copy(N,0,0,y),N}if(g.length!==void 0)return typeof g.length!="number"||me(g.length)?o(0):m(g);if(g.type==="Buffer"&&Array.isArray(g.data))return m(g.data)}function v(g){if(g>=l)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+l.toString(16)+" bytes");return g|0}function S(g){return+g!=g&&(g=0),i.alloc(+g)}i.isBuffer=function(g){return g!=null&&g._isBuffer===!0&&g!==i.prototype},i.compare=function(g,y){if(K(g,Uint8Array)&&(g=i.from(g,g.offset,g.byteLength)),K(y,Uint8Array)&&(y=i.from(y,y.offset,y.byteLength)),!i.isBuffer(g)||!i.isBuffer(y))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(g===y)return 0;let N=g.length,T=y.length;for(let L=0,Q=Math.min(N,T);L<Q;++L)if(g[L]!==y[L]){N=g[L],T=y[L];break}return N<T?-1:T<N?1:0},i.isEncoding=function(g){switch(String(g).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},i.concat=function(g,y){if(!Array.isArray(g))throw new TypeError('"list" argument must be an Array of Buffers');if(g.length===0)return i.alloc(0);let N;if(y===void 0)for(y=0,N=0;N<g.length;++N)y+=g[N].length;let T=i.allocUnsafe(y),L=0;for(N=0;N<g.length;++N){let Q=g[N];if(K(Q,Uint8Array))L+Q.length>T.length?(i.isBuffer(Q)||(Q=i.from(Q)),Q.copy(T,L)):Uint8Array.prototype.set.call(T,Q,L);else if(i.isBuffer(Q))Q.copy(T,L);else throw new TypeError('"list" argument must be an Array of Buffers');L+=Q.length}return T};function b(g,y){if(i.isBuffer(g))return g.length;if(ArrayBuffer.isView(g)||K(g,ArrayBuffer))return g.byteLength;if(typeof g!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof g);let N=g.length,T=arguments.length>2&&arguments[2]===!0;if(!T&&N===0)return 0;let L=!1;for(;;)switch(y){case"ascii":case"latin1":case"binary":return N;case"utf8":case"utf-8":return j(g).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return N*2;case"hex":return N>>>1;case"base64":return pe(g).length;default:if(L)return T?-1:j(g).length;y=(""+y).toLowerCase(),L=!0}}i.byteLength=b;function _(g,y,N){let T=!1;if((y===void 0||y<0)&&(y=0),y>this.length||((N===void 0||N>this.length)&&(N=this.length),N<=0)||(N>>>=0,y>>>=0,N<=y))return"";for(g||(g="utf8");;)switch(g){case"hex":return re(this,y,N);case"utf8":case"utf-8":return U(this,y,N);case"ascii":return ue(this,y,N);case"latin1":case"binary":return oe(this,y,N);case"base64":return A(this,y,N);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return fe(this,y,N);default:if(T)throw new TypeError("Unknown encoding: "+g);g=(g+"").toLowerCase(),T=!0}}i.prototype._isBuffer=!0;function k(g,y,N){let T=g[y];g[y]=g[N],g[N]=T}i.prototype.swap16=function(){let g=this.length;if(g%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let y=0;y<g;y+=2)k(this,y,y+1);return this},i.prototype.swap32=function(){let g=this.length;if(g%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let y=0;y<g;y+=4)k(this,y,y+3),k(this,y+1,y+2);return this},i.prototype.swap64=function(){let g=this.length;if(g%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let y=0;y<g;y+=8)k(this,y,y+7),k(this,y+1,y+6),k(this,y+2,y+5),k(this,y+3,y+4);return this},i.prototype.toString=function(){let g=this.length;return g===0?"":arguments.length===0?U(this,0,g):_.apply(this,arguments)},i.prototype.toLocaleString=i.prototype.toString,i.prototype.equals=function(g){if(!i.isBuffer(g))throw new TypeError("Argument must be a Buffer");return this===g?!0:i.compare(this,g)===0},i.prototype.inspect=function(){let g="",y=$t.INSPECT_MAX_BYTES;return g=this.toString("hex",0,y).replace(/(.{2})/g,"$1 ").trim(),this.length>y&&(g+=" ... "),"<Buffer "+g+">"},t&&(i.prototype[t]=i.prototype.inspect),i.prototype.compare=function(g,y,N,T,L){if(K(g,Uint8Array)&&(g=i.from(g,g.offset,g.byteLength)),!i.isBuffer(g))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof g);if(y===void 0&&(y=0),N===void 0&&(N=g?g.length:0),T===void 0&&(T=0),L===void 0&&(L=this.length),y<0||N>g.length||T<0||L>this.length)throw new RangeError("out of range index");if(T>=L&&y>=N)return 0;if(T>=L)return-1;if(y>=N)return 1;if(y>>>=0,N>>>=0,T>>>=0,L>>>=0,this===g)return 0;let Q=L-T,ae=N-y,D=Math.min(Q,ae),O=this.slice(T,L),he=g.slice(y,N);for(let _e=0;_e<D;++_e)if(O[_e]!==he[_e]){Q=O[_e],ae=he[_e];break}return Q<ae?-1:ae<Q?1:0};function E(g,y,N,T,L){if(g.length===0)return-1;if(typeof N=="string"?(T=N,N=0):N>2147483647?N=2147483647:N<-2147483648&&(N=-2147483648),N=+N,me(N)&&(N=L?0:g.length-1),N<0&&(N=g.length+N),N>=g.length){if(L)return-1;N=g.length-1}else if(N<0)if(L)N=0;else return-1;if(typeof y=="string"&&(y=i.from(y,T)),i.isBuffer(y))return y.length===0?-1:I(g,y,N,T,L);if(typeof y=="number")return y=y&255,typeof Uint8Array.prototype.indexOf=="function"?L?Uint8Array.prototype.indexOf.call(g,y,N):Uint8Array.prototype.lastIndexOf.call(g,y,N):I(g,[y],N,T,L);throw new TypeError("val must be string, number or Buffer")}function I(g,y,N,T,L){let Q=1,ae=g.length,D=y.length;if(T!==void 0&&(T=String(T).toLowerCase(),T==="ucs2"||T==="ucs-2"||T==="utf16le"||T==="utf-16le")){if(g.length<2||y.length<2)return-1;Q=2,ae/=2,D/=2,N/=2}function O(_e,xe){return Q===1?_e[xe]:_e.readUInt16BE(xe*Q)}let he;if(L){let _e=-1;for(he=N;he<ae;he++)if(O(g,he)===O(y,_e===-1?0:he-_e)){if(_e===-1&&(_e=he),he-_e+1===D)return _e*Q}else _e!==-1&&(he-=he-_e),_e=-1}else for(N+D>ae&&(N=ae-D),he=N;he>=0;he--){let _e=!0;for(let xe=0;xe<D;xe++)if(O(g,he+xe)!==O(y,xe)){_e=!1;break}if(_e)return he}return-1}i.prototype.includes=function(g,y,N){return this.indexOf(g,y,N)!==-1},i.prototype.indexOf=function(g,y,N){return E(this,g,y,N,!0)},i.prototype.lastIndexOf=function(g,y,N){return E(this,g,y,N,!1)};function x(g,y,N,T){N=Number(N)||0;let L=g.length-N;T?(T=Number(T),T>L&&(T=L)):T=L;let Q=y.length;T>Q/2&&(T=Q/2);let ae;for(ae=0;ae<T;++ae){let D=parseInt(y.substr(ae*2,2),16);if(me(D))return ae;g[N+ae]=D}return ae}function V(g,y,N,T){return ye(j(y,g.length-N),g,N,T)}function $(g,y,N,T){return ye(ie(y),g,N,T)}function C(g,y,N,T){return ye(pe(y),g,N,T)}function P(g,y,N,T){return ye(de(y,g.length-N),g,N,T)}i.prototype.write=function(g,y,N,T){if(y===void 0)T="utf8",N=this.length,y=0;else if(N===void 0&&typeof y=="string")T=y,N=this.length,y=0;else if(isFinite(y))y=y>>>0,isFinite(N)?(N=N>>>0,T===void 0&&(T="utf8")):(T=N,N=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let L=this.length-y;if((N===void 0||N>L)&&(N=L),g.length>0&&(N<0||y<0)||y>this.length)throw new RangeError("Attempt to write outside buffer bounds");T||(T="utf8");let Q=!1;for(;;)switch(T){case"hex":return x(this,g,y,N);case"utf8":case"utf-8":return V(this,g,y,N);case"ascii":case"latin1":case"binary":return $(this,g,y,N);case"base64":return C(this,g,y,N);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return P(this,g,y,N);default:if(Q)throw new TypeError("Unknown encoding: "+T);T=(""+T).toLowerCase(),Q=!0}},i.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function A(g,y,N){return y===0&&N===g.length?u.fromByteArray(g):u.fromByteArray(g.slice(y,N))}function U(g,y,N){N=Math.min(g.length,N);let T=[],L=y;for(;L<N;){let Q=g[L],ae=null,D=Q>239?4:Q>223?3:Q>191?2:1;if(L+D<=N){let O,he,_e,xe;switch(D){case 1:Q<128&&(ae=Q);break;case 2:O=g[L+1],(O&192)===128&&(xe=(Q&31)<<6|O&63,xe>127&&(ae=xe));break;case 3:O=g[L+1],he=g[L+2],(O&192)===128&&(he&192)===128&&(xe=(Q&15)<<12|(O&63)<<6|he&63,xe>2047&&(xe<55296||xe>57343)&&(ae=xe));break;case 4:O=g[L+1],he=g[L+2],_e=g[L+3],(O&192)===128&&(he&192)===128&&(_e&192)===128&&(xe=(Q&15)<<18|(O&63)<<12|(he&63)<<6|_e&63,xe>65535&&xe<1114112&&(ae=xe))}}ae===null?(ae=65533,D=1):ae>65535&&(ae-=65536,T.push(ae>>>10&1023|55296),ae=56320|ae&1023),T.push(ae),L+=D}return z(T)}let Y=4096;function z(g){let y=g.length;if(y<=Y)return String.fromCharCode.apply(String,g);let N="",T=0;for(;T<y;)N+=String.fromCharCode.apply(String,g.slice(T,T+=Y));return N}function ue(g,y,N){let T="";N=Math.min(g.length,N);for(let L=y;L<N;++L)T+=String.fromCharCode(g[L]&127);return T}function oe(g,y,N){let T="";N=Math.min(g.length,N);for(let L=y;L<N;++L)T+=String.fromCharCode(g[L]);return T}function re(g,y,N){let T=g.length;(!y||y<0)&&(y=0),(!N||N<0||N>T)&&(N=T);let L="";for(let Q=y;Q<N;++Q)L+=Ne[g[Q]];return L}function fe(g,y,N){let T=g.slice(y,N),L="";for(let Q=0;Q<T.length-1;Q+=2)L+=String.fromCharCode(T[Q]+T[Q+1]*256);return L}i.prototype.slice=function(g,y){let N=this.length;g=~~g,y=y===void 0?N:~~y,g<0?(g+=N,g<0&&(g=0)):g>N&&(g=N),y<0?(y+=N,y<0&&(y=0)):y>N&&(y=N),y<g&&(y=g);let T=this.subarray(g,y);return Object.setPrototypeOf(T,i.prototype),T};function J(g,y,N){if(g%1!==0||g<0)throw new RangeError("offset is not uint");if(g+y>N)throw new RangeError("Trying to access beyond buffer length")}i.prototype.readUintLE=i.prototype.readUIntLE=function(g,y,N){g=g>>>0,y=y>>>0,N||J(g,y,this.length);let T=this[g],L=1,Q=0;for(;++Q<y&&(L*=256);)T+=this[g+Q]*L;return T},i.prototype.readUintBE=i.prototype.readUIntBE=function(g,y,N){g=g>>>0,y=y>>>0,N||J(g,y,this.length);let T=this[g+--y],L=1;for(;y>0&&(L*=256);)T+=this[g+--y]*L;return T},i.prototype.readUint8=i.prototype.readUInt8=function(g,y){return g=g>>>0,y||J(g,1,this.length),this[g]},i.prototype.readUint16LE=i.prototype.readUInt16LE=function(g,y){return g=g>>>0,y||J(g,2,this.length),this[g]|this[g+1]<<8},i.prototype.readUint16BE=i.prototype.readUInt16BE=function(g,y){return g=g>>>0,y||J(g,2,this.length),this[g]<<8|this[g+1]},i.prototype.readUint32LE=i.prototype.readUInt32LE=function(g,y){return g=g>>>0,y||J(g,4,this.length),(this[g]|this[g+1]<<8|this[g+2]<<16)+this[g+3]*16777216},i.prototype.readUint32BE=i.prototype.readUInt32BE=function(g,y){return g=g>>>0,y||J(g,4,this.length),this[g]*16777216+(this[g+1]<<16|this[g+2]<<8|this[g+3])},i.prototype.readBigUInt64LE=ce(function(g){g=g>>>0,ne(g,"offset");let y=this[g],N=this[g+7];(y===void 0||N===void 0)&&ve(g,this.length-8);let T=y+this[++g]*2**8+this[++g]*2**16+this[++g]*2**24,L=this[++g]+this[++g]*2**8+this[++g]*2**16+N*2**24;return BigInt(T)+(BigInt(L)<<BigInt(32))}),i.prototype.readBigUInt64BE=ce(function(g){g=g>>>0,ne(g,"offset");let y=this[g],N=this[g+7];(y===void 0||N===void 0)&&ve(g,this.length-8);let T=y*2**24+this[++g]*2**16+this[++g]*2**8+this[++g],L=this[++g]*2**24+this[++g]*2**16+this[++g]*2**8+N;return(BigInt(T)<<BigInt(32))+BigInt(L)}),i.prototype.readIntLE=function(g,y,N){g=g>>>0,y=y>>>0,N||J(g,y,this.length);let T=this[g],L=1,Q=0;for(;++Q<y&&(L*=256);)T+=this[g+Q]*L;return L*=128,T>=L&&(T-=Math.pow(2,8*y)),T},i.prototype.readIntBE=function(g,y,N){g=g>>>0,y=y>>>0,N||J(g,y,this.length);let T=y,L=1,Q=this[g+--T];for(;T>0&&(L*=256);)Q+=this[g+--T]*L;return L*=128,Q>=L&&(Q-=Math.pow(2,8*y)),Q},i.prototype.readInt8=function(g,y){return g=g>>>0,y||J(g,1,this.length),this[g]&128?(255-this[g]+1)*-1:this[g]},i.prototype.readInt16LE=function(g,y){g=g>>>0,y||J(g,2,this.length);let N=this[g]|this[g+1]<<8;return N&32768?N|4294901760:N},i.prototype.readInt16BE=function(g,y){g=g>>>0,y||J(g,2,this.length);let N=this[g+1]|this[g]<<8;return N&32768?N|4294901760:N},i.prototype.readInt32LE=function(g,y){return g=g>>>0,y||J(g,4,this.length),this[g]|this[g+1]<<8|this[g+2]<<16|this[g+3]<<24},i.prototype.readInt32BE=function(g,y){return g=g>>>0,y||J(g,4,this.length),this[g]<<24|this[g+1]<<16|this[g+2]<<8|this[g+3]},i.prototype.readBigInt64LE=ce(function(g){g=g>>>0,ne(g,"offset");let y=this[g],N=this[g+7];(y===void 0||N===void 0)&&ve(g,this.length-8);let T=this[g+4]+this[g+5]*2**8+this[g+6]*2**16+(N<<24);return(BigInt(T)<<BigInt(32))+BigInt(y+this[++g]*2**8+this[++g]*2**16+this[++g]*2**24)}),i.prototype.readBigInt64BE=ce(function(g){g=g>>>0,ne(g,"offset");let y=this[g],N=this[g+7];(y===void 0||N===void 0)&&ve(g,this.length-8);let T=(y<<24)+this[++g]*2**16+this[++g]*2**8+this[++g];return(BigInt(T)<<BigInt(32))+BigInt(this[++g]*2**24+this[++g]*2**16+this[++g]*2**8+N)}),i.prototype.readFloatLE=function(g,y){return g=g>>>0,y||J(g,4,this.length),r.read(this,g,!0,23,4)},i.prototype.readFloatBE=function(g,y){return g=g>>>0,y||J(g,4,this.length),r.read(this,g,!1,23,4)},i.prototype.readDoubleLE=function(g,y){return g=g>>>0,y||J(g,8,this.length),r.read(this,g,!0,52,8)},i.prototype.readDoubleBE=function(g,y){return g=g>>>0,y||J(g,8,this.length),r.read(this,g,!1,52,8)};function se(g,y,N,T,L,Q){if(!i.isBuffer(g))throw new TypeError('"buffer" argument must be a Buffer instance');if(y>L||y<Q)throw new RangeError('"value" argument is out of bounds');if(N+T>g.length)throw new RangeError("Index out of range")}i.prototype.writeUintLE=i.prototype.writeUIntLE=function(g,y,N,T){if(g=+g,y=y>>>0,N=N>>>0,!T){let ae=Math.pow(2,8*N)-1;se(this,g,y,N,ae,0)}let L=1,Q=0;for(this[y]=g&255;++Q<N&&(L*=256);)this[y+Q]=g/L&255;return y+N},i.prototype.writeUintBE=i.prototype.writeUIntBE=function(g,y,N,T){if(g=+g,y=y>>>0,N=N>>>0,!T){let ae=Math.pow(2,8*N)-1;se(this,g,y,N,ae,0)}let L=N-1,Q=1;for(this[y+L]=g&255;--L>=0&&(Q*=256);)this[y+L]=g/Q&255;return y+N},i.prototype.writeUint8=i.prototype.writeUInt8=function(g,y,N){return g=+g,y=y>>>0,N||se(this,g,y,1,255,0),this[y]=g&255,y+1},i.prototype.writeUint16LE=i.prototype.writeUInt16LE=function(g,y,N){return g=+g,y=y>>>0,N||se(this,g,y,2,65535,0),this[y]=g&255,this[y+1]=g>>>8,y+2},i.prototype.writeUint16BE=i.prototype.writeUInt16BE=function(g,y,N){return g=+g,y=y>>>0,N||se(this,g,y,2,65535,0),this[y]=g>>>8,this[y+1]=g&255,y+2},i.prototype.writeUint32LE=i.prototype.writeUInt32LE=function(g,y,N){return g=+g,y=y>>>0,N||se(this,g,y,4,4294967295,0),this[y+3]=g>>>24,this[y+2]=g>>>16,this[y+1]=g>>>8,this[y]=g&255,y+4},i.prototype.writeUint32BE=i.prototype.writeUInt32BE=function(g,y,N){return g=+g,y=y>>>0,N||se(this,g,y,4,4294967295,0),this[y]=g>>>24,this[y+1]=g>>>16,this[y+2]=g>>>8,this[y+3]=g&255,y+4};function R(g,y,N,T,L){te(y,T,L,g,N,7);let Q=Number(y&BigInt(4294967295));g[N++]=Q,Q=Q>>8,g[N++]=Q,Q=Q>>8,g[N++]=Q,Q=Q>>8,g[N++]=Q;let ae=Number(y>>BigInt(32)&BigInt(4294967295));return g[N++]=ae,ae=ae>>8,g[N++]=ae,ae=ae>>8,g[N++]=ae,ae=ae>>8,g[N++]=ae,N}function Z(g,y,N,T,L){te(y,T,L,g,N,7);let Q=Number(y&BigInt(4294967295));g[N+7]=Q,Q=Q>>8,g[N+6]=Q,Q=Q>>8,g[N+5]=Q,Q=Q>>8,g[N+4]=Q;let ae=Number(y>>BigInt(32)&BigInt(4294967295));return g[N+3]=ae,ae=ae>>8,g[N+2]=ae,ae=ae>>8,g[N+1]=ae,ae=ae>>8,g[N]=ae,N+8}i.prototype.writeBigUInt64LE=ce(function(g,y=0){return R(this,g,y,BigInt(0),BigInt("0xffffffffffffffff"))}),i.prototype.writeBigUInt64BE=ce(function(g,y=0){return Z(this,g,y,BigInt(0),BigInt("0xffffffffffffffff"))}),i.prototype.writeIntLE=function(g,y,N,T){if(g=+g,y=y>>>0,!T){let D=Math.pow(2,8*N-1);se(this,g,y,N,D-1,-D)}let L=0,Q=1,ae=0;for(this[y]=g&255;++L<N&&(Q*=256);)g<0&&ae===0&&this[y+L-1]!==0&&(ae=1),this[y+L]=(g/Q>>0)-ae&255;return y+N},i.prototype.writeIntBE=function(g,y,N,T){if(g=+g,y=y>>>0,!T){let D=Math.pow(2,8*N-1);se(this,g,y,N,D-1,-D)}let L=N-1,Q=1,ae=0;for(this[y+L]=g&255;--L>=0&&(Q*=256);)g<0&&ae===0&&this[y+L+1]!==0&&(ae=1),this[y+L]=(g/Q>>0)-ae&255;return y+N},i.prototype.writeInt8=function(g,y,N){return g=+g,y=y>>>0,N||se(this,g,y,1,127,-128),g<0&&(g=255+g+1),this[y]=g&255,y+1},i.prototype.writeInt16LE=function(g,y,N){return g=+g,y=y>>>0,N||se(this,g,y,2,32767,-32768),this[y]=g&255,this[y+1]=g>>>8,y+2},i.prototype.writeInt16BE=function(g,y,N){return g=+g,y=y>>>0,N||se(this,g,y,2,32767,-32768),this[y]=g>>>8,this[y+1]=g&255,y+2},i.prototype.writeInt32LE=function(g,y,N){return g=+g,y=y>>>0,N||se(this,g,y,4,2147483647,-2147483648),this[y]=g&255,this[y+1]=g>>>8,this[y+2]=g>>>16,this[y+3]=g>>>24,y+4},i.prototype.writeInt32BE=function(g,y,N){return g=+g,y=y>>>0,N||se(this,g,y,4,2147483647,-2147483648),g<0&&(g=4294967295+g+1),this[y]=g>>>24,this[y+1]=g>>>16,this[y+2]=g>>>8,this[y+3]=g&255,y+4},i.prototype.writeBigInt64LE=ce(function(g,y=0){return R(this,g,y,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),i.prototype.writeBigInt64BE=ce(function(g,y=0){return Z(this,g,y,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function ge(g,y,N,T,L,Q){if(N+T>g.length)throw new RangeError("Index out of range");if(N<0)throw new RangeError("Index out of range")}function H(g,y,N,T,L){return y=+y,N=N>>>0,L||ge(g,y,N,4),r.write(g,y,N,T,23,4),N+4}i.prototype.writeFloatLE=function(g,y,N){return H(this,g,y,!0,N)},i.prototype.writeFloatBE=function(g,y,N){return H(this,g,y,!1,N)};function Ve(g,y,N,T,L){return y=+y,N=N>>>0,L||ge(g,y,N,8),r.write(g,y,N,T,52,8),N+8}i.prototype.writeDoubleLE=function(g,y,N){return Ve(this,g,y,!0,N)},i.prototype.writeDoubleBE=function(g,y,N){return Ve(this,g,y,!1,N)},i.prototype.copy=function(g,y,N,T){if(!i.isBuffer(g))throw new TypeError("argument should be a Buffer");if(N||(N=0),!T&&T!==0&&(T=this.length),y>=g.length&&(y=g.length),y||(y=0),T>0&&T<N&&(T=N),T===N||g.length===0||this.length===0)return 0;if(y<0)throw new RangeError("targetStart out of bounds");if(N<0||N>=this.length)throw new RangeError("Index out of range");if(T<0)throw new RangeError("sourceEnd out of bounds");T>this.length&&(T=this.length),g.length-y<T-N&&(T=g.length-y+N);let L=T-N;return this===g&&typeof Uint8Array.prototype.copyWithin=="function"?this.copyWithin(y,N,T):Uint8Array.prototype.set.call(g,this.subarray(N,T),y),L},i.prototype.fill=function(g,y,N,T){if(typeof g=="string"){if(typeof y=="string"?(T=y,y=0,N=this.length):typeof N=="string"&&(T=N,N=this.length),T!==void 0&&typeof T!="string")throw new TypeError("encoding must be a string");if(typeof T=="string"&&!i.isEncoding(T))throw new TypeError("Unknown encoding: "+T);if(g.length===1){let Q=g.charCodeAt(0);(T==="utf8"&&Q<128||T==="latin1")&&(g=Q)}}else typeof g=="number"?g=g&255:typeof g=="boolean"&&(g=Number(g));if(y<0||this.length<y||this.length<N)throw new RangeError("Out of range index");if(N<=y)return this;y=y>>>0,N=N===void 0?this.length:N>>>0,g||(g=0);let L;if(typeof g=="number")for(L=y;L<N;++L)this[L]=g;else{let Q=i.isBuffer(g)?g:i.from(g,T),ae=Q.length;if(ae===0)throw new TypeError('The value "'+g+'" is invalid for argument "value"');for(L=0;L<N-y;++L)this[L+y]=Q[L%ae]}return this};let ee={};function G(g,y,N){ee[g]=class extends N{constructor(){super(),Object.defineProperty(this,"message",{value:y.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${g}]`,this.stack,delete this.name}get code(){return g}set code(T){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:T,writable:!0})}toString(){return`${this.name} [${g}]: ${this.message}`}}}G("ERR_BUFFER_OUT_OF_BOUNDS",function(g){return g?`${g} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),G("ERR_INVALID_ARG_TYPE",function(g,y){return`The "${g}" argument must be of type number. Received type ${typeof y}`},TypeError),G("ERR_OUT_OF_RANGE",function(g,y,N){let T=`The value of "${g}" is out of range.`,L=N;return Number.isInteger(N)&&Math.abs(N)>2**32?L=le(String(N)):typeof N=="bigint"&&(L=String(N),(N>BigInt(2)**BigInt(32)||N<-(BigInt(2)**BigInt(32)))&&(L=le(L)),L+="n"),T+=` It must be ${y}. Received ${L}`,T},RangeError);function le(g){let y="",N=g.length,T=g[0]==="-"?1:0;for(;N>=T+4;N-=3)y=`_${g.slice(N-3,N)}${y}`;return`${g.slice(0,N)}${y}`}function X(g,y,N){ne(y,"offset"),(g[y]===void 0||g[y+N]===void 0)&&ve(y,g.length-(N+1))}function te(g,y,N,T,L,Q){if(g>N||g<y){let ae=typeof y=="bigint"?"n":"",D;throw y===0||y===BigInt(0)?D=`>= 0${ae} and < 2${ae} ** ${(Q+1)*8}${ae}`:D=`>= -(2${ae} ** ${(Q+1)*8-1}${ae}) and < 2 ** ${(Q+1)*8-1}${ae}`,new ee.ERR_OUT_OF_RANGE("value",D,g)}X(T,L,Q)}function ne(g,y){if(typeof g!="number")throw new ee.ERR_INVALID_ARG_TYPE(y,"number",g)}function ve(g,y,N){throw Math.floor(g)!==g?(ne(g,N),new ee.ERR_OUT_OF_RANGE("offset","an integer",g)):y<0?new ee.ERR_BUFFER_OUT_OF_BOUNDS:new ee.ERR_OUT_OF_RANGE("offset",`>= 0 and <= ${y}`,g)}let F=/[^+/0-9A-Za-z-_]/g;function B(g){if(g=g.split("=")[0],g=g.trim().replace(F,""),g.length<2)return"";for(;g.length%4!==0;)g=g+"=";return g}function j(g,y){y=y||1/0;let N,T=g.length,L=null,Q=[];for(let ae=0;ae<T;++ae){if(N=g.charCodeAt(ae),N>55295&&N<57344){if(!L){if(N>56319){(y-=3)>-1&&Q.push(239,191,189);continue}else if(ae+1===T){(y-=3)>-1&&Q.push(239,191,189);continue}L=N;continue}if(N<56320){(y-=3)>-1&&Q.push(239,191,189),L=N;continue}N=(L-55296<<10|N-56320)+65536}else L&&(y-=3)>-1&&Q.push(239,191,189);if(L=null,N<128){if((y-=1)<0)break;Q.push(N)}else if(N<2048){if((y-=2)<0)break;Q.push(N>>6|192,N&63|128)}else if(N<65536){if((y-=3)<0)break;Q.push(N>>12|224,N>>6&63|128,N&63|128)}else if(N<1114112){if((y-=4)<0)break;Q.push(N>>18|240,N>>12&63|128,N>>6&63|128,N&63|128)}else throw new Error("Invalid code point")}return Q}function ie(g){let y=[];for(let N=0;N<g.length;++N)y.push(g.charCodeAt(N)&255);return y}function de(g,y){let N,T,L,Q=[];for(let ae=0;ae<g.length&&!((y-=2)<0);++ae)N=g.charCodeAt(ae),T=N>>8,L=N%256,Q.push(L),Q.push(T);return Q}function pe(g){return u.toByteArray(B(g))}function ye(g,y,N,T){let L;for(L=0;L<T&&!(L+N>=y.length||L>=g.length);++L)y[L+N]=g[L];return L}function K(g,y){return g instanceof y||g!=null&&g.constructor!=null&&g.constructor.name!=null&&g.constructor.name===y.name}function me(g){return g!==g}let Ne=function(){let g="0123456789abcdef",y=new Array(256);for(let N=0;N<16;++N){let T=N*16;for(let L=0;L<16;++L)y[T+L]=g[N]+g[L]}return y}();function ce(g){return typeof BigInt>"u"?Ie:g}function Ie(){throw new Error("BigInt not supported")}return $t}var rr,$n,pr,Tn,$t,Bn,ly=dt(()=>{be(),Ee(),we(),rr={},$n=!1,pr={},Tn=!1,$t={},Bn=!1}),rt={};tr(rt,{Buffer:()=>Cr,INSPECT_MAX_BYTES:()=>Bs,default:()=>kt,kMaxLength:()=>Ds});var kt,Cr,Bs,Ds,ot=dt(()=>{be(),Ee(),we(),ly(),kt=ay(),kt.Buffer,kt.SlowBuffer,kt.INSPECT_MAX_BYTES,kt.kMaxLength,Cr=kt.Buffer,Bs=kt.INSPECT_MAX_BYTES,Ds=kt.kMaxLength}),Ee=dt(()=>{ot()}),Je=ke((u,r)=>{be(),Ee(),we();var t=class extends Error{constructor(l){if(!Array.isArray(l))throw new TypeError(`Expected input to be an Array, got ${typeof l}`);let n="";for(let o=0;o<l.length;o++)n+=` ${l[o].stack}
7
- `;super(n),this.name="AggregateError",this.errors=l}};r.exports={AggregateError:t,ArrayIsArray(l){return Array.isArray(l)},ArrayPrototypeIncludes(l,n){return l.includes(n)},ArrayPrototypeIndexOf(l,n){return l.indexOf(n)},ArrayPrototypeJoin(l,n){return l.join(n)},ArrayPrototypeMap(l,n){return l.map(n)},ArrayPrototypePop(l,n){return l.pop(n)},ArrayPrototypePush(l,n){return l.push(n)},ArrayPrototypeSlice(l,n,o){return l.slice(n,o)},Error,FunctionPrototypeCall(l,n,...o){return l.call(n,...o)},FunctionPrototypeSymbolHasInstance(l,n){return Function.prototype[Symbol.hasInstance].call(l,n)},MathFloor:Math.floor,Number,NumberIsInteger:Number.isInteger,NumberIsNaN:Number.isNaN,NumberMAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER,NumberMIN_SAFE_INTEGER:Number.MIN_SAFE_INTEGER,NumberParseInt:Number.parseInt,ObjectDefineProperties(l,n){return Object.defineProperties(l,n)},ObjectDefineProperty(l,n,o){return Object.defineProperty(l,n,o)},ObjectGetOwnPropertyDescriptor(l,n){return Object.getOwnPropertyDescriptor(l,n)},ObjectKeys(l){return Object.keys(l)},ObjectSetPrototypeOf(l,n){return Object.setPrototypeOf(l,n)},Promise,PromisePrototypeCatch(l,n){return l.catch(n)},PromisePrototypeThen(l,n,o){return l.then(n,o)},PromiseReject(l){return Promise.reject(l)},PromiseResolve(l){return Promise.resolve(l)},ReflectApply:Reflect.apply,RegExpPrototypeTest(l,n){return l.test(n)},SafeSet:Set,String,StringPrototypeSlice(l,n,o){return l.slice(n,o)},StringPrototypeToLowerCase(l){return l.toLowerCase()},StringPrototypeToUpperCase(l){return l.toUpperCase()},StringPrototypeTrim(l){return l.trim()},Symbol,SymbolFor:Symbol.for,SymbolAsyncIterator:Symbol.asyncIterator,SymbolHasInstance:Symbol.hasInstance,SymbolIterator:Symbol.iterator,SymbolDispose:Symbol.dispose||Symbol("Symbol.dispose"),SymbolAsyncDispose:Symbol.asyncDispose||Symbol("Symbol.asyncDispose"),TypedArrayPrototypeSet(l,n,o){return l.set(n,o)},Boolean,Uint8Array}}),Ps=ke((u,r)=>{be(),Ee(),we(),r.exports={format(t,...l){return t.replace(/%([sdifj])/g,function(...[n,o]){let i=l.shift();return o==="f"?i.toFixed(6):o==="j"?JSON.stringify(i):o==="s"&&typeof i=="object"?`${i.constructor!==Object?i.constructor.name:""} {}`.trim():i.toString()})},inspect(t){switch(typeof t){case"string":if(t.includes("'"))if(t.includes('"')){if(!t.includes("`")&&!t.includes("${"))return`\`${t}\``}else return`"${t}"`;return`'${t}'`;case"number":return isNaN(t)?"NaN":Object.is(t,-0)?String(t):t;case"bigint":return`${String(t)}n`;case"boolean":case"undefined":return String(t);case"object":return"{}"}}}}),lt=ke((u,r)=>{be(),Ee(),we();var{format:t,inspect:l}=Ps(),{AggregateError:n}=Je(),o=globalThis.AggregateError||n,i=Symbol("kIsNodeError"),a=["string","function","number","object","Function","Object","boolean","bigint","symbol"],s=/^([A-Z][a-z0-9]*)+$/,c="__node_internal_",d={};function p(b,_){if(!b)throw new d.ERR_INTERNAL_ASSERTION(_)}function m(b){let _="",k=b.length,E=b[0]==="-"?1:0;for(;k>=E+4;k-=3)_=`_${b.slice(k-3,k)}${_}`;return`${b.slice(0,k)}${_}`}function h(b,_,k){if(typeof _=="function")return p(_.length<=k.length,`Code: ${b}; The provided arguments length (${k.length}) does not match the required ones (${_.length}).`),_(...k);let E=(_.match(/%[dfijoOs]/g)||[]).length;return p(E===k.length,`Code: ${b}; The provided arguments length (${k.length}) does not match the required ones (${E}).`),k.length===0?_:t(_,...k)}function f(b,_,k){k||(k=Error);class E extends k{constructor(...x){super(h(b,_,x))}toString(){return`${this.name} [${b}]: ${this.message}`}}Object.defineProperties(E.prototype,{name:{value:k.name,writable:!0,enumerable:!1,configurable:!0},toString:{value(){return`${this.name} [${b}]: ${this.message}`},writable:!0,enumerable:!1,configurable:!0}}),E.prototype.code=b,E.prototype[i]=!0,d[b]=E}function w(b){let _=c+b.name;return Object.defineProperty(b,"name",{value:_}),b}function v(b,_){if(b&&_&&b!==_){if(Array.isArray(_.errors))return _.errors.push(b),_;let k=new o([_,b],_.message);return k.code=_.code,k}return b||_}var S=class extends Error{constructor(b="The operation was aborted",_=void 0){if(_!==void 0&&typeof _!="object")throw new d.ERR_INVALID_ARG_TYPE("options","Object",_);super(b,_),this.code="ABORT_ERR",this.name="AbortError"}};f("ERR_ASSERTION","%s",Error),f("ERR_INVALID_ARG_TYPE",(b,_,k)=>{p(typeof b=="string","'name' must be a string"),Array.isArray(_)||(_=[_]);let E="The ";b.endsWith(" argument")?E+=`${b} `:E+=`"${b}" ${b.includes(".")?"property":"argument"} `,E+="must be ";let I=[],x=[],V=[];for(let C of _)p(typeof C=="string","All expected entries have to be of type string"),a.includes(C)?I.push(C.toLowerCase()):s.test(C)?x.push(C):(p(C!=="object",'The value "object" should be written as "Object"'),V.push(C));if(x.length>0){let C=I.indexOf("object");C!==-1&&(I.splice(I,C,1),x.push("Object"))}if(I.length>0){switch(I.length){case 1:E+=`of type ${I[0]}`;break;case 2:E+=`one of type ${I[0]} or ${I[1]}`;break;default:{let C=I.pop();E+=`one of type ${I.join(", ")}, or ${C}`}}(x.length>0||V.length>0)&&(E+=" or ")}if(x.length>0){switch(x.length){case 1:E+=`an instance of ${x[0]}`;break;case 2:E+=`an instance of ${x[0]} or ${x[1]}`;break;default:{let C=x.pop();E+=`an instance of ${x.join(", ")}, or ${C}`}}V.length>0&&(E+=" or ")}switch(V.length){case 0:break;case 1:V[0].toLowerCase()!==V[0]&&(E+="an "),E+=`${V[0]}`;break;case 2:E+=`one of ${V[0]} or ${V[1]}`;break;default:{let C=V.pop();E+=`one of ${V.join(", ")}, or ${C}`}}if(k==null)E+=`. Received ${k}`;else if(typeof k=="function"&&k.name)E+=`. Received function ${k.name}`;else if(typeof k=="object"){var $;if(($=k.constructor)!==null&&$!==void 0&&$.name)E+=`. Received an instance of ${k.constructor.name}`;else{let C=l(k,{depth:-1});E+=`. Received ${C}`}}else{let C=l(k,{colors:!1});C.length>25&&(C=`${C.slice(0,25)}...`),E+=`. Received type ${typeof k} (${C})`}return E},TypeError),f("ERR_INVALID_ARG_VALUE",(b,_,k="is invalid")=>{let E=l(_);return E.length>128&&(E=E.slice(0,128)+"..."),`The ${b.includes(".")?"property":"argument"} '${b}' ${k}. Received ${E}`},TypeError),f("ERR_INVALID_RETURN_VALUE",(b,_,k)=>{var E;let I=k!=null&&(E=k.constructor)!==null&&E!==void 0&&E.name?`instance of ${k.constructor.name}`:`type ${typeof k}`;return`Expected ${b} to be returned from the "${_}" function but got ${I}.`},TypeError),f("ERR_MISSING_ARGS",(...b)=>{p(b.length>0,"At least one arg needs to be specified");let _,k=b.length;switch(b=(Array.isArray(b)?b:[b]).map(E=>`"${E}"`).join(" or "),k){case 1:_+=`The ${b[0]} argument`;break;case 2:_+=`The ${b[0]} and ${b[1]} arguments`;break;default:{let E=b.pop();_+=`The ${b.join(", ")}, and ${E} arguments`}break}return`${_} must be specified`},TypeError),f("ERR_OUT_OF_RANGE",(b,_,k)=>{p(_,'Missing "range" argument');let E;if(Number.isInteger(k)&&Math.abs(k)>2**32)E=m(String(k));else if(typeof k=="bigint"){E=String(k);let I=BigInt(2)**BigInt(32);(k>I||k<-I)&&(E=m(E)),E+="n"}else E=l(k);return`The value of "${b}" is out of range. It must be ${_}. Received ${E}`},RangeError),f("ERR_MULTIPLE_CALLBACK","Callback called multiple times",Error),f("ERR_METHOD_NOT_IMPLEMENTED","The %s method is not implemented",Error),f("ERR_STREAM_ALREADY_FINISHED","Cannot call %s after a stream was finished",Error),f("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable",Error),f("ERR_STREAM_DESTROYED","Cannot call %s after a stream was destroyed",Error),f("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),f("ERR_STREAM_PREMATURE_CLOSE","Premature close",Error),f("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF",Error),f("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event",Error),f("ERR_STREAM_WRITE_AFTER_END","write after end",Error),f("ERR_UNKNOWN_ENCODING","Unknown encoding: %s",TypeError),r.exports={AbortError:S,aggregateTwoErrors:w(v),hideStackFrames:w,codes:d}}),hr=ke((u,r)=>{be(),Ee(),we();var{AbortController:t,AbortSignal:l}=typeof self<"u"?self:typeof window<"u"?window:void 0;r.exports=t,r.exports.AbortSignal=l,r.exports.default=t}),Tt={};tr(Tt,{EventEmitter:()=>Os,default:()=>or,defaultMaxListeners:()=>Ms,init:()=>Rs,listenerCount:()=>js,on:()=>Ls,once:()=>Us});function cy(){if(Dn)return mr;Dn=!0;var u=typeof Reflect=="object"?Reflect:null,r=u&&typeof u.apply=="function"?u.apply:function(k,E,I){return Function.prototype.apply.call(k,E,I)},t;u&&typeof u.ownKeys=="function"?t=u.ownKeys:Object.getOwnPropertySymbols?t=function(k){return Object.getOwnPropertyNames(k).concat(Object.getOwnPropertySymbols(k))}:t=function(k){return Object.getOwnPropertyNames(k)};function l(k){console&&console.warn&&console.warn(k)}var n=Number.isNaN||function(k){return k!==k};function o(){o.init.call(this)}mr=o,mr.once=S,o.EventEmitter=o,o.prototype._events=void 0,o.prototype._eventsCount=0,o.prototype._maxListeners=void 0;var i=10;function a(k){if(typeof k!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof k)}Object.defineProperty(o,"defaultMaxListeners",{enumerable:!0,get:function(){return i},set:function(k){if(typeof k!="number"||k<0||n(k))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+k+".");i=k}}),o.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},o.prototype.setMaxListeners=function(k){if(typeof k!="number"||k<0||n(k))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+k+".");return this._maxListeners=k,this};function s(k){return k._maxListeners===void 0?o.defaultMaxListeners:k._maxListeners}o.prototype.getMaxListeners=function(){return s(this)},o.prototype.emit=function(k){for(var E=[],I=1;I<arguments.length;I++)E.push(arguments[I]);var x=k==="error",V=this._events;if(V!==void 0)x=x&&V.error===void 0;else if(!x)return!1;if(x){var $;if(E.length>0&&($=E[0]),$ instanceof Error)throw $;var C=new Error("Unhandled error."+($?" ("+$.message+")":""));throw C.context=$,C}var P=V[k];if(P===void 0)return!1;if(typeof P=="function")r(P,this,E);else for(var A=P.length,U=f(P,A),I=0;I<A;++I)r(U[I],this,E);return!0};function c(k,E,I,x){var V,$,C;if(a(I),$=k._events,$===void 0?($=k._events=Object.create(null),k._eventsCount=0):($.newListener!==void 0&&(k.emit("newListener",E,I.listener?I.listener:I),$=k._events),C=$[E]),C===void 0)C=$[E]=I,++k._eventsCount;else if(typeof C=="function"?C=$[E]=x?[I,C]:[C,I]:x?C.unshift(I):C.push(I),V=s(k),V>0&&C.length>V&&!C.warned){C.warned=!0;var P=new Error("Possible EventEmitter memory leak detected. "+C.length+" "+String(E)+" listeners added. Use emitter.setMaxListeners() to increase limit");P.name="MaxListenersExceededWarning",P.emitter=k,P.type=E,P.count=C.length,l(P)}return k}o.prototype.addListener=function(k,E){return c(this,k,E,!1)},o.prototype.on=o.prototype.addListener,o.prototype.prependListener=function(k,E){return c(this,k,E,!0)};function d(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function p(k,E,I){var x={fired:!1,wrapFn:void 0,target:k,type:E,listener:I},V=d.bind(x);return V.listener=I,x.wrapFn=V,V}o.prototype.once=function(k,E){return a(E),this.on(k,p(this,k,E)),this},o.prototype.prependOnceListener=function(k,E){return a(E),this.prependListener(k,p(this,k,E)),this},o.prototype.removeListener=function(k,E){var I,x,V,$,C;if(a(E),x=this._events,x===void 0)return this;if(I=x[k],I===void 0)return this;if(I===E||I.listener===E)--this._eventsCount===0?this._events=Object.create(null):(delete x[k],x.removeListener&&this.emit("removeListener",k,I.listener||E));else if(typeof I!="function"){for(V=-1,$=I.length-1;$>=0;$--)if(I[$]===E||I[$].listener===E){C=I[$].listener,V=$;break}if(V<0)return this;V===0?I.shift():w(I,V),I.length===1&&(x[k]=I[0]),x.removeListener!==void 0&&this.emit("removeListener",k,C||E)}return this},o.prototype.off=o.prototype.removeListener,o.prototype.removeAllListeners=function(k){var E,I,x;if(I=this._events,I===void 0)return this;if(I.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):I[k]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete I[k]),this;if(arguments.length===0){var V=Object.keys(I),$;for(x=0;x<V.length;++x)$=V[x],$!=="removeListener"&&this.removeAllListeners($);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(E=I[k],typeof E=="function")this.removeListener(k,E);else if(E!==void 0)for(x=E.length-1;x>=0;x--)this.removeListener(k,E[x]);return this};function m(k,E,I){var x=k._events;if(x===void 0)return[];var V=x[E];return V===void 0?[]:typeof V=="function"?I?[V.listener||V]:[V]:I?v(V):f(V,V.length)}o.prototype.listeners=function(k){return m(this,k,!0)},o.prototype.rawListeners=function(k){return m(this,k,!1)},o.listenerCount=function(k,E){return typeof k.listenerCount=="function"?k.listenerCount(E):h.call(k,E)},o.prototype.listenerCount=h;function h(k){var E=this._events;if(E!==void 0){var I=E[k];if(typeof I=="function")return 1;if(I!==void 0)return I.length}return 0}o.prototype.eventNames=function(){return this._eventsCount>0?t(this._events):[]};function f(k,E){for(var I=new Array(E),x=0;x<E;++x)I[x]=k[x];return I}function w(k,E){for(;E+1<k.length;E++)k[E]=k[E+1];k.pop()}function v(k){for(var E=new Array(k.length),I=0;I<E.length;++I)E[I]=k[I].listener||k[I];return E}function S(k,E){return new Promise(function(I,x){function V(C){k.removeListener(E,$),x(C)}function $(){typeof k.removeListener=="function"&&k.removeListener("error",V),I([].slice.call(arguments))}_(k,E,$,{once:!0}),E!=="error"&&b(k,V,{once:!0})})}function b(k,E,I){typeof k.on=="function"&&_(k,"error",E,I)}function _(k,E,I,x){if(typeof k.on=="function")x.once?k.once(E,I):k.on(E,I);else if(typeof k.addEventListener=="function")k.addEventListener(E,function V($){x.once&&k.removeEventListener(E,V),I($)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof k)}return mr}var mr,Dn,or,Os,Ms,Rs,js,Ls,Us,Gt=dt(()=>{be(),Ee(),we(),mr={},Dn=!1,or=cy(),or.once,or.once=function(u,r){return new Promise((t,l)=>{function n(...i){o!==void 0&&u.removeListener("error",o),t(i)}let o;r!=="error"&&(o=i=>{u.removeListener(name,n),l(i)},u.once("error",o)),u.once(r,n)})},or.on=function(u,r){let t=[],l=[],n=null,o=!1,i={async next(){let c=t.shift();if(c)return createIterResult(c,!1);if(n){let d=Promise.reject(n);return n=null,d}return o?createIterResult(void 0,!0):new Promise((d,p)=>l.push({resolve:d,reject:p}))},async return(){u.removeListener(r,a),u.removeListener("error",s),o=!0;for(let c of l)c.resolve(createIterResult(void 0,!0));return createIterResult(void 0,!0)},throw(c){n=c,u.removeListener(r,a),u.removeListener("error",s)},[Symbol.asyncIterator](){return this}};return u.on(r,a),u.on("error",s),i;function a(...c){let d=l.shift();d?d.resolve(createIterResult(c,!1)):t.push(c)}function s(c){o=!0;let d=l.shift();d?d.reject(c):n=c,i.return()}},{EventEmitter:Os,defaultMaxListeners:Ms,init:Rs,listenerCount:js,on:Ls,once:Us}=or}),ut=ke((u,r)=>{be(),Ee(),we();var t=(ot(),We(rt)),{format:l,inspect:n}=Ps(),{codes:{ERR_INVALID_ARG_TYPE:o}}=lt(),{kResistStopPropagation:i,AggregateError:a,SymbolDispose:s}=Je(),c=globalThis.AbortSignal||hr().AbortSignal,d=globalThis.AbortController||hr().AbortController,p=Object.getPrototypeOf(async function(){}).constructor,m=globalThis.Blob||t.Blob,h=typeof m<"u"?function(v){return v instanceof m}:function(v){return!1},f=(v,S)=>{if(v!==void 0&&(v===null||typeof v!="object"||!("aborted"in v)))throw new o(S,"AbortSignal",v)},w=(v,S)=>{if(typeof v!="function")throw new o(S,"Function",v)};r.exports={AggregateError:a,kEmptyObject:Object.freeze({}),once(v){let S=!1;return function(...b){S||(S=!0,v.apply(this,b))}},createDeferredPromise:function(){let v,S;return{promise:new Promise((b,_)=>{v=b,S=_}),resolve:v,reject:S}},promisify(v){return new Promise((S,b)=>{v((_,...k)=>_?b(_):S(...k))})},debuglog(){return function(){}},format:l,inspect:n,types:{isAsyncFunction(v){return v instanceof p},isArrayBufferView(v){return ArrayBuffer.isView(v)}},isBlob:h,deprecate(v,S){return v},addAbortListener:(Gt(),We(Tt)).addAbortListener||function(v,S){if(v===void 0)throw new o("signal","AbortSignal",v);f(v,"signal"),w(S,"listener");let b;return v.aborted?queueMicrotask(()=>S()):(v.addEventListener("abort",S,{__proto__:null,once:!0,[i]:!0}),b=()=>{v.removeEventListener("abort",S)}),{__proto__:null,[s](){var _;(_=b)===null||_===void 0||_()}}},AbortSignalAny:c.any||function(v){if(v.length===1)return v[0];let S=new d,b=()=>S.abort();return v.forEach(_=>{f(_,"signals"),_.addEventListener("abort",b,{once:!0})}),S.signal.addEventListener("abort",()=>{v.forEach(_=>_.removeEventListener("abort",b))},{once:!0}),S.signal}},r.exports.promisify.custom=Symbol.for("nodejs.util.promisify.custom")}),gr=ke((u,r)=>{be(),Ee(),we();var{ArrayIsArray:t,ArrayPrototypeIncludes:l,ArrayPrototypeJoin:n,ArrayPrototypeMap:o,NumberIsInteger:i,NumberIsNaN:a,NumberMAX_SAFE_INTEGER:s,NumberMIN_SAFE_INTEGER:c,NumberParseInt:d,ObjectPrototypeHasOwnProperty:p,RegExpPrototypeExec:m,String:h,StringPrototypeToUpperCase:f,StringPrototypeTrim:w}=Je(),{hideStackFrames:v,codes:{ERR_SOCKET_BAD_PORT:S,ERR_INVALID_ARG_TYPE:b,ERR_INVALID_ARG_VALUE:_,ERR_OUT_OF_RANGE:k,ERR_UNKNOWN_SIGNAL:E}}=lt(),{normalizeEncoding:I}=ut(),{isAsyncFunction:x,isArrayBufferView:V}=ut().types,$={};function C(K){return K===(K|0)}function P(K){return K===K>>>0}var A=/^[0-7]+$/,U="must be a 32-bit unsigned integer or an octal string";function Y(K,me,Ne){if(typeof K>"u"&&(K=Ne),typeof K=="string"){if(m(A,K)===null)throw new _(me,K,U);K=d(K,8)}return oe(K,me),K}var z=v((K,me,Ne=c,ce=s)=>{if(typeof K!="number")throw new b(me,"number",K);if(!i(K))throw new k(me,"an integer",K);if(K<Ne||K>ce)throw new k(me,`>= ${Ne} && <= ${ce}`,K)}),ue=v((K,me,Ne=-2147483648,ce=2147483647)=>{if(typeof K!="number")throw new b(me,"number",K);if(!i(K))throw new k(me,"an integer",K);if(K<Ne||K>ce)throw new k(me,`>= ${Ne} && <= ${ce}`,K)}),oe=v((K,me,Ne=!1)=>{if(typeof K!="number")throw new b(me,"number",K);if(!i(K))throw new k(me,"an integer",K);let ce=Ne?1:0,Ie=4294967295;if(K<ce||K>Ie)throw new k(me,`>= ${ce} && <= ${Ie}`,K)});function re(K,me){if(typeof K!="string")throw new b(me,"string",K)}function fe(K,me,Ne=void 0,ce){if(typeof K!="number")throw new b(me,"number",K);if(Ne!=null&&K<Ne||ce!=null&&K>ce||(Ne!=null||ce!=null)&&a(K))throw new k(me,`${Ne!=null?`>= ${Ne}`:""}${Ne!=null&&ce!=null?" && ":""}${ce!=null?`<= ${ce}`:""}`,K)}var J=v((K,me,Ne)=>{if(!l(Ne,K)){let ce="must be one of: "+n(o(Ne,Ie=>typeof Ie=="string"?`'${Ie}'`:h(Ie)),", ");throw new _(me,K,ce)}});function se(K,me){if(typeof K!="boolean")throw new b(me,"boolean",K)}function R(K,me,Ne){return K==null||!p(K,me)?Ne:K[me]}var Z=v((K,me,Ne=null)=>{let ce=R(Ne,"allowArray",!1),Ie=R(Ne,"allowFunction",!1);if(!R(Ne,"nullable",!1)&&K===null||!ce&&t(K)||typeof K!="object"&&(!Ie||typeof K!="function"))throw new b(me,"Object",K)}),ge=v((K,me)=>{if(K!=null&&typeof K!="object"&&typeof K!="function")throw new b(me,"a dictionary",K)}),H=v((K,me,Ne=0)=>{if(!t(K))throw new b(me,"Array",K);if(K.length<Ne){let ce=`must be longer than ${Ne}`;throw new _(me,K,ce)}});function Ve(K,me){H(K,me);for(let Ne=0;Ne<K.length;Ne++)re(K[Ne],`${me}[${Ne}]`)}function ee(K,me){H(K,me);for(let Ne=0;Ne<K.length;Ne++)se(K[Ne],`${me}[${Ne}]`)}function G(K,me){H(K,me);for(let Ne=0;Ne<K.length;Ne++){let ce=K[Ne],Ie=`${me}[${Ne}]`;if(ce==null)throw new b(Ie,"AbortSignal",ce);ve(ce,Ie)}}function le(K,me="signal"){if(re(K,me),$[K]===void 0)throw $[f(K)]!==void 0?new E(K+" (signals must use all capital letters)"):new E(K)}var X=v((K,me="buffer")=>{if(!V(K))throw new b(me,["Buffer","TypedArray","DataView"],K)});function te(K,me){let Ne=I(me),ce=K.length;if(Ne==="hex"&&ce%2!==0)throw new _("encoding",me,`is invalid for data of length ${ce}`)}function ne(K,me="Port",Ne=!0){if(typeof K!="number"&&typeof K!="string"||typeof K=="string"&&w(K).length===0||+K!==+K>>>0||K>65535||K===0&&!Ne)throw new S(me,K,Ne);return K|0}var ve=v((K,me)=>{if(K!==void 0&&(K===null||typeof K!="object"||!("aborted"in K)))throw new b(me,"AbortSignal",K)}),F=v((K,me)=>{if(typeof K!="function")throw new b(me,"Function",K)}),B=v((K,me)=>{if(typeof K!="function"||x(K))throw new b(me,"Function",K)}),j=v((K,me)=>{if(K!==void 0)throw new b(me,"undefined",K)});function ie(K,me,Ne){if(!l(Ne,K))throw new b(me,`('${n(Ne,"|")}')`,K)}var de=/^(?:<[^>]*>)(?:\s*;\s*[^;"\s]+(?:=(")?[^;"\s]*\1)?)*$/;function pe(K,me){if(typeof K>"u"||!m(de,K))throw new _(me,K,'must be an array or string of format "</styles.css>; rel=preload; as=style"')}function ye(K){if(typeof K=="string")return pe(K,"hints"),K;if(t(K)){let me=K.length,Ne="";if(me===0)return Ne;for(let ce=0;ce<me;ce++){let Ie=K[ce];pe(Ie,"hints"),Ne+=Ie,ce!==me-1&&(Ne+=", ")}return Ne}throw new _("hints",K,'must be an array or string of format "</styles.css>; rel=preload; as=style"')}r.exports={isInt32:C,isUint32:P,parseFileMode:Y,validateArray:H,validateStringArray:Ve,validateBooleanArray:ee,validateAbortSignalArray:G,validateBoolean:se,validateBuffer:X,validateDictionary:ge,validateEncoding:te,validateFunction:F,validateInt32:ue,validateInteger:z,validateNumber:fe,validateObject:Z,validateOneOf:J,validatePlainFunction:B,validatePort:ne,validateSignalName:le,validateString:re,validateUint32:oe,validateUndefined:j,validateUnion:ie,validateAbortSignal:ve,validateLinkHeaderValue:ye}}),Ht=ke((u,r)=>{be(),Ee(),we();var t=r.exports={},l,n;function o(){throw new Error("setTimeout has not been defined")}function i(){throw new Error("clearTimeout has not been defined")}(function(){try{typeof setTimeout=="function"?l=setTimeout:l=o}catch{l=o}try{typeof clearTimeout=="function"?n=clearTimeout:n=i}catch{n=i}})();function a(S){if(l===setTimeout)return setTimeout(S,0);if((l===o||!l)&&setTimeout)return l=setTimeout,setTimeout(S,0);try{return l(S,0)}catch{try{return l.call(null,S,0)}catch{return l.call(this,S,0)}}}function s(S){if(n===clearTimeout)return clearTimeout(S);if((n===i||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(S);try{return n(S)}catch{try{return n.call(null,S)}catch{return n.call(this,S)}}}var c=[],d=!1,p,m=-1;function h(){!d||!p||(d=!1,p.length?c=p.concat(c):m=-1,c.length&&f())}function f(){if(!d){var S=a(h);d=!0;for(var b=c.length;b;){for(p=c,c=[];++m<b;)p&&p[m].run();m=-1,b=c.length}p=null,d=!1,s(S)}}t.nextTick=function(S){var b=new Array(arguments.length-1);if(arguments.length>1)for(var _=1;_<arguments.length;_++)b[_-1]=arguments[_];c.push(new w(S,b)),c.length===1&&!d&&a(f)};function w(S,b){this.fun=S,this.array=b}w.prototype.run=function(){this.fun.apply(null,this.array)},t.title="browser",t.browser=!0,t.env={},t.argv=[],t.version="",t.versions={};function v(){}t.on=v,t.addListener=v,t.once=v,t.off=v,t.removeListener=v,t.removeAllListeners=v,t.emit=v,t.prependListener=v,t.prependOnceListener=v,t.listeners=function(S){return[]},t.binding=function(S){throw new Error("process.binding is not supported")},t.cwd=function(){return"/"},t.chdir=function(S){throw new Error("process.chdir is not supported")},t.umask=function(){return 0}}),_t=ke((u,r)=>{be(),Ee(),we();var{SymbolAsyncIterator:t,SymbolIterator:l,SymbolFor:n}=Je(),o=n("nodejs.stream.destroyed"),i=n("nodejs.stream.errored"),a=n("nodejs.stream.readable"),s=n("nodejs.stream.writable"),c=n("nodejs.stream.disturbed"),d=n("nodejs.webstream.isClosedPromise"),p=n("nodejs.webstream.controllerErrorFunction");function m(R,Z=!1){var ge;return!!(R&&typeof R.pipe=="function"&&typeof R.on=="function"&&(!Z||typeof R.pause=="function"&&typeof R.resume=="function")&&(!R._writableState||((ge=R._readableState)===null||ge===void 0?void 0:ge.readable)!==!1)&&(!R._writableState||R._readableState))}function h(R){var Z;return!!(R&&typeof R.write=="function"&&typeof R.on=="function"&&(!R._readableState||((Z=R._writableState)===null||Z===void 0?void 0:Z.writable)!==!1))}function f(R){return!!(R&&typeof R.pipe=="function"&&R._readableState&&typeof R.on=="function"&&typeof R.write=="function")}function w(R){return R&&(R._readableState||R._writableState||typeof R.write=="function"&&typeof R.on=="function"||typeof R.pipe=="function"&&typeof R.on=="function")}function v(R){return!!(R&&!w(R)&&typeof R.pipeThrough=="function"&&typeof R.getReader=="function"&&typeof R.cancel=="function")}function S(R){return!!(R&&!w(R)&&typeof R.getWriter=="function"&&typeof R.abort=="function")}function b(R){return!!(R&&!w(R)&&typeof R.readable=="object"&&typeof R.writable=="object")}function _(R){return v(R)||S(R)||b(R)}function k(R,Z){return R==null?!1:Z===!0?typeof R[t]=="function":Z===!1?typeof R[l]=="function":typeof R[t]=="function"||typeof R[l]=="function"}function E(R){if(!w(R))return null;let Z=R._writableState,ge=R._readableState,H=Z||ge;return!!(R.destroyed||R[o]||H!=null&&H.destroyed)}function I(R){if(!h(R))return null;if(R.writableEnded===!0)return!0;let Z=R._writableState;return Z!=null&&Z.errored?!1:typeof(Z==null?void 0:Z.ended)!="boolean"?null:Z.ended}function x(R,Z){if(!h(R))return null;if(R.writableFinished===!0)return!0;let ge=R._writableState;return ge!=null&&ge.errored?!1:typeof(ge==null?void 0:ge.finished)!="boolean"?null:!!(ge.finished||Z===!1&&ge.ended===!0&&ge.length===0)}function V(R){if(!m(R))return null;if(R.readableEnded===!0)return!0;let Z=R._readableState;return!Z||Z.errored?!1:typeof(Z==null?void 0:Z.ended)!="boolean"?null:Z.ended}function $(R,Z){if(!m(R))return null;let ge=R._readableState;return ge!=null&&ge.errored?!1:typeof(ge==null?void 0:ge.endEmitted)!="boolean"?null:!!(ge.endEmitted||Z===!1&&ge.ended===!0&&ge.length===0)}function C(R){return R&&R[a]!=null?R[a]:typeof(R==null?void 0:R.readable)!="boolean"?null:E(R)?!1:m(R)&&R.readable&&!$(R)}function P(R){return R&&R[s]!=null?R[s]:typeof(R==null?void 0:R.writable)!="boolean"?null:E(R)?!1:h(R)&&R.writable&&!I(R)}function A(R,Z){return w(R)?E(R)?!0:!((Z==null?void 0:Z.readable)!==!1&&C(R)||(Z==null?void 0:Z.writable)!==!1&&P(R)):null}function U(R){var Z,ge;return w(R)?R.writableErrored?R.writableErrored:(Z=(ge=R._writableState)===null||ge===void 0?void 0:ge.errored)!==null&&Z!==void 0?Z:null:null}function Y(R){var Z,ge;return w(R)?R.readableErrored?R.readableErrored:(Z=(ge=R._readableState)===null||ge===void 0?void 0:ge.errored)!==null&&Z!==void 0?Z:null:null}function z(R){if(!w(R))return null;if(typeof R.closed=="boolean")return R.closed;let Z=R._writableState,ge=R._readableState;return typeof(Z==null?void 0:Z.closed)=="boolean"||typeof(ge==null?void 0:ge.closed)=="boolean"?(Z==null?void 0:Z.closed)||(ge==null?void 0:ge.closed):typeof R._closed=="boolean"&&ue(R)?R._closed:null}function ue(R){return typeof R._closed=="boolean"&&typeof R._defaultKeepAlive=="boolean"&&typeof R._removedConnection=="boolean"&&typeof R._removedContLen=="boolean"}function oe(R){return typeof R._sent100=="boolean"&&ue(R)}function re(R){var Z;return typeof R._consuming=="boolean"&&typeof R._dumped=="boolean"&&((Z=R.req)===null||Z===void 0?void 0:Z.upgradeOrConnect)===void 0}function fe(R){if(!w(R))return null;let Z=R._writableState,ge=R._readableState,H=Z||ge;return!H&&oe(R)||!!(H&&H.autoDestroy&&H.emitClose&&H.closed===!1)}function J(R){var Z;return!!(R&&((Z=R[c])!==null&&Z!==void 0?Z:R.readableDidRead||R.readableAborted))}function se(R){var Z,ge,H,Ve,ee,G,le,X,te,ne;return!!(R&&((Z=(ge=(H=(Ve=(ee=(G=R[i])!==null&&G!==void 0?G:R.readableErrored)!==null&&ee!==void 0?ee:R.writableErrored)!==null&&Ve!==void 0?Ve:(le=R._readableState)===null||le===void 0?void 0:le.errorEmitted)!==null&&H!==void 0?H:(X=R._writableState)===null||X===void 0?void 0:X.errorEmitted)!==null&&ge!==void 0?ge:(te=R._readableState)===null||te===void 0?void 0:te.errored)!==null&&Z!==void 0?Z:!((ne=R._writableState)===null||ne===void 0)&&ne.errored))}r.exports={isDestroyed:E,kIsDestroyed:o,isDisturbed:J,kIsDisturbed:c,isErrored:se,kIsErrored:i,isReadable:C,kIsReadable:a,kIsClosedPromise:d,kControllerErrorFunction:p,kIsWritable:s,isClosed:z,isDuplexNodeStream:f,isFinished:A,isIterable:k,isReadableNodeStream:m,isReadableStream:v,isReadableEnded:V,isReadableFinished:$,isReadableErrored:Y,isNodeStream:w,isWebStream:_,isWritable:P,isWritableNodeStream:h,isWritableStream:S,isWritableEnded:I,isWritableFinished:x,isWritableErrored:U,isServerRequest:re,isServerResponse:oe,willEmitClose:fe,isTransformStream:b}}),Bt=ke((u,r)=>{be(),Ee(),we();var t=Ht(),{AbortError:l,codes:n}=lt(),{ERR_INVALID_ARG_TYPE:o,ERR_STREAM_PREMATURE_CLOSE:i}=n,{kEmptyObject:a,once:s}=ut(),{validateAbortSignal:c,validateFunction:d,validateObject:p,validateBoolean:m}=gr(),{Promise:h,PromisePrototypeThen:f,SymbolDispose:w}=Je(),{isClosed:v,isReadable:S,isReadableNodeStream:b,isReadableStream:_,isReadableFinished:k,isReadableErrored:E,isWritable:I,isWritableNodeStream:x,isWritableStream:V,isWritableFinished:$,isWritableErrored:C,isNodeStream:P,willEmitClose:A,kIsClosedPromise:U}=_t(),Y;function z(J){return J.setHeader&&typeof J.abort=="function"}var ue=()=>{};function oe(J,se,R){var Z,ge;if(arguments.length===2?(R=se,se=a):se==null?se=a:p(se,"options"),d(R,"callback"),c(se.signal,"options.signal"),R=s(R),_(J)||V(J))return re(J,se,R);if(!P(J))throw new o("stream",["ReadableStream","WritableStream","Stream"],J);let H=(Z=se.readable)!==null&&Z!==void 0?Z:b(J),Ve=(ge=se.writable)!==null&&ge!==void 0?ge:x(J),ee=J._writableState,G=J._readableState,le=()=>{J.writable||ne()},X=A(J)&&b(J)===H&&x(J)===Ve,te=$(J,!1),ne=()=>{te=!0,J.destroyed&&(X=!1),!(X&&(!J.readable||H))&&(!H||ve)&&R.call(J)},ve=k(J,!1),F=()=>{ve=!0,J.destroyed&&(X=!1),!(X&&(!J.writable||Ve))&&(!Ve||te)&&R.call(J)},B=K=>{R.call(J,K)},j=v(J),ie=()=>{j=!0;let K=C(J)||E(J);if(K&&typeof K!="boolean")return R.call(J,K);if(H&&!ve&&b(J,!0)&&!k(J,!1))return R.call(J,new i);if(Ve&&!te&&!$(J,!1))return R.call(J,new i);R.call(J)},de=()=>{j=!0;let K=C(J)||E(J);if(K&&typeof K!="boolean")return R.call(J,K);R.call(J)},pe=()=>{J.req.on("finish",ne)};z(J)?(J.on("complete",ne),X||J.on("abort",ie),J.req?pe():J.on("request",pe)):Ve&&!ee&&(J.on("end",le),J.on("close",le)),!X&&typeof J.aborted=="boolean"&&J.on("aborted",ie),J.on("end",F),J.on("finish",ne),se.error!==!1&&J.on("error",B),J.on("close",ie),j?t.nextTick(ie):ee!=null&&ee.errorEmitted||G!=null&&G.errorEmitted?X||t.nextTick(de):(!H&&(!X||S(J))&&(te||I(J)===!1)||!Ve&&(!X||I(J))&&(ve||S(J)===!1)||G&&J.req&&J.aborted)&&t.nextTick(de);let ye=()=>{R=ue,J.removeListener("aborted",ie),J.removeListener("complete",ne),J.removeListener("abort",ie),J.removeListener("request",pe),J.req&&J.req.removeListener("finish",ne),J.removeListener("end",le),J.removeListener("close",le),J.removeListener("finish",ne),J.removeListener("end",F),J.removeListener("error",B),J.removeListener("close",ie)};if(se.signal&&!j){let K=()=>{let me=R;ye(),me.call(J,new l(void 0,{cause:se.signal.reason}))};if(se.signal.aborted)t.nextTick(K);else{Y=Y||ut().addAbortListener;let me=Y(se.signal,K),Ne=R;R=s((...ce)=>{me[w](),Ne.apply(J,ce)})}}return ye}function re(J,se,R){let Z=!1,ge=ue;if(se.signal)if(ge=()=>{Z=!0,R.call(J,new l(void 0,{cause:se.signal.reason}))},se.signal.aborted)t.nextTick(ge);else{Y=Y||ut().addAbortListener;let Ve=Y(se.signal,ge),ee=R;R=s((...G)=>{Ve[w](),ee.apply(J,G)})}let H=(...Ve)=>{Z||t.nextTick(()=>R.apply(J,Ve))};return f(J[U].promise,H,H),ue}function fe(J,se){var R;let Z=!1;return se===null&&(se=a),(R=se)!==null&&R!==void 0&&R.cleanup&&(m(se.cleanup,"cleanup"),Z=se.cleanup),new h((ge,H)=>{let Ve=oe(J,se,ee=>{Z&&Ve(),ee?H(ee):ge()})})}r.exports=oe,r.exports.finished=fe}),nr=ke((u,r)=>{be(),Ee(),we();var t=Ht(),{aggregateTwoErrors:l,codes:{ERR_MULTIPLE_CALLBACK:n},AbortError:o}=lt(),{Symbol:i}=Je(),{kIsDestroyed:a,isDestroyed:s,isFinished:c,isServerRequest:d}=_t(),p=i("kDestroy"),m=i("kConstruct");function h(A,U,Y){A&&(A.stack,U&&!U.errored&&(U.errored=A),Y&&!Y.errored&&(Y.errored=A))}function f(A,U){let Y=this._readableState,z=this._writableState,ue=z||Y;return z!=null&&z.destroyed||Y!=null&&Y.destroyed?(typeof U=="function"&&U(),this):(h(A,z,Y),z&&(z.destroyed=!0),Y&&(Y.destroyed=!0),ue.constructed?w(this,A,U):this.once(p,function(oe){w(this,l(oe,A),U)}),this)}function w(A,U,Y){let z=!1;function ue(oe){if(z)return;z=!0;let re=A._readableState,fe=A._writableState;h(oe,fe,re),fe&&(fe.closed=!0),re&&(re.closed=!0),typeof Y=="function"&&Y(oe),oe?t.nextTick(v,A,oe):t.nextTick(S,A)}try{A._destroy(U||null,ue)}catch(oe){ue(oe)}}function v(A,U){b(A,U),S(A)}function S(A){let U=A._readableState,Y=A._writableState;Y&&(Y.closeEmitted=!0),U&&(U.closeEmitted=!0),(Y!=null&&Y.emitClose||U!=null&&U.emitClose)&&A.emit("close")}function b(A,U){let Y=A._readableState,z=A._writableState;z!=null&&z.errorEmitted||Y!=null&&Y.errorEmitted||(z&&(z.errorEmitted=!0),Y&&(Y.errorEmitted=!0),A.emit("error",U))}function _(){let A=this._readableState,U=this._writableState;A&&(A.constructed=!0,A.closed=!1,A.closeEmitted=!1,A.destroyed=!1,A.errored=null,A.errorEmitted=!1,A.reading=!1,A.ended=A.readable===!1,A.endEmitted=A.readable===!1),U&&(U.constructed=!0,U.destroyed=!1,U.closed=!1,U.closeEmitted=!1,U.errored=null,U.errorEmitted=!1,U.finalCalled=!1,U.prefinished=!1,U.ended=U.writable===!1,U.ending=U.writable===!1,U.finished=U.writable===!1)}function k(A,U,Y){let z=A._readableState,ue=A._writableState;if(ue!=null&&ue.destroyed||z!=null&&z.destroyed)return this;z!=null&&z.autoDestroy||ue!=null&&ue.autoDestroy?A.destroy(U):U&&(U.stack,ue&&!ue.errored&&(ue.errored=U),z&&!z.errored&&(z.errored=U),Y?t.nextTick(b,A,U):b(A,U))}function E(A,U){if(typeof A._construct!="function")return;let Y=A._readableState,z=A._writableState;Y&&(Y.constructed=!1),z&&(z.constructed=!1),A.once(m,U),!(A.listenerCount(m)>1)&&t.nextTick(I,A)}function I(A){let U=!1;function Y(z){if(U){k(A,z??new n);return}U=!0;let ue=A._readableState,oe=A._writableState,re=oe||ue;ue&&(ue.constructed=!0),oe&&(oe.constructed=!0),re.destroyed?A.emit(p,z):z?k(A,z,!0):t.nextTick(x,A)}try{A._construct(z=>{t.nextTick(Y,z)})}catch(z){t.nextTick(Y,z)}}function x(A){A.emit(m)}function V(A){return(A==null?void 0:A.setHeader)&&typeof A.abort=="function"}function $(A){A.emit("close")}function C(A,U){A.emit("error",U),t.nextTick($,A)}function P(A,U){!A||s(A)||(!U&&!c(A)&&(U=new o),d(A)?(A.socket=null,A.destroy(U)):V(A)?A.abort():V(A.req)?A.req.abort():typeof A.destroy=="function"?A.destroy(U):typeof A.close=="function"?A.close():U?t.nextTick(C,A,U):t.nextTick($,A),A.destroyed||(A[a]=!0))}r.exports={construct:E,destroyer:P,destroy:f,undestroy:_,errorOrDestroy:k}}),Pn=ke((u,r)=>{be(),Ee(),we();var{ArrayIsArray:t,ObjectSetPrototypeOf:l}=Je(),{EventEmitter:n}=(Gt(),We(Tt));function o(a){n.call(this,a)}l(o.prototype,n.prototype),l(o,n),o.prototype.pipe=function(a,s){let c=this;function d(S){a.writable&&a.write(S)===!1&&c.pause&&c.pause()}c.on("data",d);function p(){c.readable&&c.resume&&c.resume()}a.on("drain",p),!a._isStdio&&(!s||s.end!==!1)&&(c.on("end",h),c.on("close",f));let m=!1;function h(){m||(m=!0,a.end())}function f(){m||(m=!0,typeof a.destroy=="function"&&a.destroy())}function w(S){v(),n.listenerCount(this,"error")===0&&this.emit("error",S)}i(c,"error",w),i(a,"error",w);function v(){c.removeListener("data",d),a.removeListener("drain",p),c.removeListener("end",h),c.removeListener("close",f),c.removeListener("error",w),a.removeListener("error",w),c.removeListener("end",v),c.removeListener("close",v),a.removeListener("close",v)}return c.on("end",v),c.on("close",v),a.on("close",v),a.emit("pipe",c),a};function i(a,s,c){if(typeof a.prependListener=="function")return a.prependListener(s,c);!a._events||!a._events[s]?a.on(s,c):t(a._events[s])?a._events[s].unshift(c):a._events[s]=[c,a._events[s]]}r.exports={Stream:o,prependListener:i}}),Ir=ke((u,r)=>{be(),Ee(),we();var{SymbolDispose:t}=Je(),{AbortError:l,codes:n}=lt(),{isNodeStream:o,isWebStream:i,kControllerErrorFunction:a}=_t(),s=Bt(),{ERR_INVALID_ARG_TYPE:c}=n,d,p=(m,h)=>{if(typeof m!="object"||!("aborted"in m))throw new c(h,"AbortSignal",m)};r.exports.addAbortSignal=function(m,h){if(p(m,"signal"),!o(h)&&!i(h))throw new c("stream",["ReadableStream","WritableStream","Stream"],h);return r.exports.addAbortSignalNoValidate(m,h)},r.exports.addAbortSignalNoValidate=function(m,h){if(typeof m!="object"||!("aborted"in m))return h;let f=o(h)?()=>{h.destroy(new l(void 0,{cause:m.reason}))}:()=>{h[a](new l(void 0,{cause:m.reason}))};if(m.aborted)f();else{d=d||ut().addAbortListener;let w=d(m,f);s(h,w[t])}return h}}),dy=ke((u,r)=>{be(),Ee(),we();var{StringPrototypeSlice:t,SymbolIterator:l,TypedArrayPrototypeSet:n,Uint8Array:o}=Je(),{Buffer:i}=(ot(),We(rt)),{inspect:a}=ut();r.exports=class{constructor(){this.head=null,this.tail=null,this.length=0}push(s){let c={data:s,next:null};this.length>0?this.tail.next=c:this.head=c,this.tail=c,++this.length}unshift(s){let c={data:s,next:this.head};this.length===0&&(this.tail=c),this.head=c,++this.length}shift(){if(this.length===0)return;let s=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,s}clear(){this.head=this.tail=null,this.length=0}join(s){if(this.length===0)return"";let c=this.head,d=""+c.data;for(;(c=c.next)!==null;)d+=s+c.data;return d}concat(s){if(this.length===0)return i.alloc(0);let c=i.allocUnsafe(s>>>0),d=this.head,p=0;for(;d;)n(c,d.data,p),p+=d.data.length,d=d.next;return c}consume(s,c){let d=this.head.data;if(s<d.length){let p=d.slice(0,s);return this.head.data=d.slice(s),p}return s===d.length?this.shift():c?this._getString(s):this._getBuffer(s)}first(){return this.head.data}*[l](){for(let s=this.head;s;s=s.next)yield s.data}_getString(s){let c="",d=this.head,p=0;do{let m=d.data;if(s>m.length)c+=m,s-=m.length;else{s===m.length?(c+=m,++p,d.next?this.head=d.next:this.head=this.tail=null):(c+=t(m,0,s),this.head=d,d.data=t(m,s));break}++p}while((d=d.next)!==null);return this.length-=p,c}_getBuffer(s){let c=i.allocUnsafe(s),d=s,p=this.head,m=0;do{let h=p.data;if(s>h.length)n(c,h,d-s),s-=h.length;else{s===h.length?(n(c,h,d-s),++m,p.next?this.head=p.next:this.head=this.tail=null):(n(c,new o(h.buffer,h.byteOffset,s),d-s),this.head=p,p.data=h.slice(s));break}++m}while((p=p.next)!==null);return this.length-=m,c}[Symbol.for("nodejs.util.inspect.custom")](s,c){return a(this,{...c,depth:0,customInspect:!1})}}}),Ar=ke((u,r)=>{be(),Ee(),we();var{MathFloor:t,NumberIsInteger:l}=Je(),{validateInteger:n}=gr(),{ERR_INVALID_ARG_VALUE:o}=lt().codes,i=16*1024,a=16;function s(m,h,f){return m.highWaterMark!=null?m.highWaterMark:h?m[f]:null}function c(m){return m?a:i}function d(m,h){n(h,"value",0),m?a=h:i=h}function p(m,h,f,w){let v=s(h,w,f);if(v!=null){if(!l(v)||v<0){let S=w?`options.${f}`:"options.highWaterMark";throw new o(S,v)}return t(v)}return c(m.objectMode)}r.exports={getHighWaterMark:p,getDefaultHighWaterMark:c,setDefaultHighWaterMark:d}}),uy=ke((u,r)=>{be(),Ee(),we();var t=(ot(),We(rt)),l=t.Buffer;function n(i,a){for(var s in i)a[s]=i[s]}l.from&&l.alloc&&l.allocUnsafe&&l.allocUnsafeSlow?r.exports=t:(n(t,u),u.Buffer=o);function o(i,a,s){return l(i,a,s)}o.prototype=Object.create(l.prototype),n(l,o),o.from=function(i,a,s){if(typeof i=="number")throw new TypeError("Argument must not be a number");return l(i,a,s)},o.alloc=function(i,a,s){if(typeof i!="number")throw new TypeError("Argument must be a number");var c=l(i);return a!==void 0?typeof s=="string"?c.fill(a,s):c.fill(a):c.fill(0),c},o.allocUnsafe=function(i){if(typeof i!="number")throw new TypeError("Argument must be a number");return l(i)},o.allocUnsafeSlow=function(i){if(typeof i!="number")throw new TypeError("Argument must be a number");return t.SlowBuffer(i)}}),fy=ke(u=>{be(),Ee(),we();var r=uy().Buffer,t=r.isEncoding||function(b){switch(b=""+b,b&&b.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function l(b){if(!b)return"utf8";for(var _;;)switch(b){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return b;default:if(_)return;b=(""+b).toLowerCase(),_=!0}}function n(b){var _=l(b);if(typeof _!="string"&&(r.isEncoding===t||!t(b)))throw new Error("Unknown encoding: "+b);return _||b}u.StringDecoder=o;function o(b){this.encoding=n(b);var _;switch(this.encoding){case"utf16le":this.text=m,this.end=h,_=4;break;case"utf8":this.fillLast=c,_=4;break;case"base64":this.text=f,this.end=w,_=3;break;default:this.write=v,this.end=S;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=r.allocUnsafe(_)}o.prototype.write=function(b){if(b.length===0)return"";var _,k;if(this.lastNeed){if(_=this.fillLast(b),_===void 0)return"";k=this.lastNeed,this.lastNeed=0}else k=0;return k<b.length?_?_+this.text(b,k):this.text(b,k):_||""},o.prototype.end=p,o.prototype.text=d,o.prototype.fillLast=function(b){if(this.lastNeed<=b.length)return b.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);b.copy(this.lastChar,this.lastTotal-this.lastNeed,0,b.length),this.lastNeed-=b.length};function i(b){return b<=127?0:b>>5===6?2:b>>4===14?3:b>>3===30?4:b>>6===2?-1:-2}function a(b,_,k){var E=_.length-1;if(E<k)return 0;var I=i(_[E]);return I>=0?(I>0&&(b.lastNeed=I-1),I):--E<k||I===-2?0:(I=i(_[E]),I>=0?(I>0&&(b.lastNeed=I-2),I):--E<k||I===-2?0:(I=i(_[E]),I>=0?(I>0&&(I===2?I=0:b.lastNeed=I-3),I):0))}function s(b,_,k){if((_[0]&192)!==128)return b.lastNeed=0,"�";if(b.lastNeed>1&&_.length>1){if((_[1]&192)!==128)return b.lastNeed=1,"�";if(b.lastNeed>2&&_.length>2&&(_[2]&192)!==128)return b.lastNeed=2,"�"}}function c(b){var _=this.lastTotal-this.lastNeed,k=s(this,b);if(k!==void 0)return k;if(this.lastNeed<=b.length)return b.copy(this.lastChar,_,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);b.copy(this.lastChar,_,0,b.length),this.lastNeed-=b.length}function d(b,_){var k=a(this,b,_);if(!this.lastNeed)return b.toString("utf8",_);this.lastTotal=k;var E=b.length-(k-this.lastNeed);return b.copy(this.lastChar,0,E),b.toString("utf8",_,E)}function p(b){var _=b&&b.length?this.write(b):"";return this.lastNeed?_+"�":_}function m(b,_){if((b.length-_)%2===0){var k=b.toString("utf16le",_);if(k){var E=k.charCodeAt(k.length-1);if(E>=55296&&E<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=b[b.length-2],this.lastChar[1]=b[b.length-1],k.slice(0,-1)}return k}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=b[b.length-1],b.toString("utf16le",_,b.length-1)}function h(b){var _=b&&b.length?this.write(b):"";if(this.lastNeed){var k=this.lastTotal-this.lastNeed;return _+this.lastChar.toString("utf16le",0,k)}return _}function f(b,_){var k=(b.length-_)%3;return k===0?b.toString("base64",_):(this.lastNeed=3-k,this.lastTotal=3,k===1?this.lastChar[0]=b[b.length-1]:(this.lastChar[0]=b[b.length-2],this.lastChar[1]=b[b.length-1]),b.toString("base64",_,b.length-k))}function w(b){var _=b&&b.length?this.write(b):"";return this.lastNeed?_+this.lastChar.toString("base64",0,3-this.lastNeed):_}function v(b){return b.toString(this.encoding)}function S(b){return b&&b.length?this.write(b):""}}),Fs=ke((u,r)=>{be(),Ee(),we();var t=Ht(),{PromisePrototypeThen:l,SymbolAsyncIterator:n,SymbolIterator:o}=Je(),{Buffer:i}=(ot(),We(rt)),{ERR_INVALID_ARG_TYPE:a,ERR_STREAM_NULL_VALUES:s}=lt().codes;function c(d,p,m){let h;if(typeof p=="string"||p instanceof i)return new d({objectMode:!0,...m,read(){this.push(p),this.push(null)}});let f;if(p&&p[n])f=!0,h=p[n]();else if(p&&p[o])f=!1,h=p[o]();else throw new a("iterable",["Iterable"],p);let w=new d({objectMode:!0,highWaterMark:1,...m}),v=!1;w._read=function(){v||(v=!0,b())},w._destroy=function(_,k){l(S(_),()=>t.nextTick(k,_),E=>t.nextTick(k,E||_))};async function S(_){let k=_!=null,E=typeof h.throw=="function";if(k&&E){let{value:I,done:x}=await h.throw(_);if(await I,x)return}if(typeof h.return=="function"){let{value:I}=await h.return();await I}}async function b(){for(;;){try{let{value:_,done:k}=f?await h.next():h.next();if(k)w.push(null);else{let E=_&&typeof _.then=="function"?await _:_;if(E===null)throw v=!1,new s;if(w.push(E))continue;v=!1}}catch(_){w.destroy(_)}break}}return w}r.exports=c}),$r=ke((u,r)=>{be(),Ee(),we();var t=Ht(),{ArrayPrototypeIndexOf:l,NumberIsInteger:n,NumberIsNaN:o,NumberParseInt:i,ObjectDefineProperties:a,ObjectKeys:s,ObjectSetPrototypeOf:c,Promise:d,SafeSet:p,SymbolAsyncDispose:m,SymbolAsyncIterator:h,Symbol:f}=Je();r.exports=ce,ce.ReadableState=Ne;var{EventEmitter:w}=(Gt(),We(Tt)),{Stream:v,prependListener:S}=Pn(),{Buffer:b}=(ot(),We(rt)),{addAbortSignal:_}=Ir(),k=Bt(),E=ut().debuglog("stream",M=>{E=M}),I=dy(),x=nr(),{getHighWaterMark:V,getDefaultHighWaterMark:$}=Ar(),{aggregateTwoErrors:C,codes:{ERR_INVALID_ARG_TYPE:P,ERR_METHOD_NOT_IMPLEMENTED:A,ERR_OUT_OF_RANGE:U,ERR_STREAM_PUSH_AFTER_EOF:Y,ERR_STREAM_UNSHIFT_AFTER_END_EVENT:z},AbortError:ue}=lt(),{validateObject:oe}=gr(),re=f("kPaused"),{StringDecoder:fe}=fy(),J=Fs();c(ce.prototype,v.prototype),c(ce,v);var se=()=>{},{errorOrDestroy:R}=x,Z=1,ge=2,H=4,Ve=8,ee=16,G=32,le=64,X=128,te=256,ne=512,ve=1024,F=2048,B=4096,j=8192,ie=16384,de=32768,pe=65536,ye=1<<17,K=1<<18;function me(M){return{enumerable:!1,get(){return(this.state&M)!==0},set(W){W?this.state|=M:this.state&=~M}}}a(Ne.prototype,{objectMode:me(Z),ended:me(ge),endEmitted:me(H),reading:me(Ve),constructed:me(ee),sync:me(G),needReadable:me(le),emittedReadable:me(X),readableListening:me(te),resumeScheduled:me(ne),errorEmitted:me(ve),emitClose:me(F),autoDestroy:me(B),destroyed:me(j),closed:me(ie),closeEmitted:me(de),multiAwaitDrain:me(pe),readingMore:me(ye),dataEmitted:me(K)});function Ne(M,W,Ce){typeof Ce!="boolean"&&(Ce=W instanceof Nt()),this.state=F|B|ee|G,M&&M.objectMode&&(this.state|=Z),Ce&&M&&M.readableObjectMode&&(this.state|=Z),this.highWaterMark=M?V(this,M,"readableHighWaterMark",Ce):$(!1),this.buffer=new I,this.length=0,this.pipes=[],this.flowing=null,this[re]=null,M&&M.emitClose===!1&&(this.state&=~F),M&&M.autoDestroy===!1&&(this.state&=~B),this.errored=null,this.defaultEncoding=M&&M.defaultEncoding||"utf8",this.awaitDrainWriters=null,this.decoder=null,this.encoding=null,M&&M.encoding&&(this.decoder=new fe(M.encoding),this.encoding=M.encoding)}function ce(M){if(!(this instanceof ce))return new ce(M);let W=this instanceof Nt();this._readableState=new Ne(M,this,W),M&&(typeof M.read=="function"&&(this._read=M.read),typeof M.destroy=="function"&&(this._destroy=M.destroy),typeof M.construct=="function"&&(this._construct=M.construct),M.signal&&!W&&_(M.signal,this)),v.call(this,M),x.construct(this,()=>{this._readableState.needReadable&&D(this,this._readableState)})}ce.prototype.destroy=x.destroy,ce.prototype._undestroy=x.undestroy,ce.prototype._destroy=function(M,W){W(M)},ce.prototype[w.captureRejectionSymbol]=function(M){this.destroy(M)},ce.prototype[m]=function(){let M;return this.destroyed||(M=this.readableEnded?null:new ue,this.destroy(M)),new d((W,Ce)=>k(this,Ae=>Ae&&Ae!==M?Ce(Ae):W(null)))},ce.prototype.push=function(M,W){return Ie(this,M,W,!1)},ce.prototype.unshift=function(M,W){return Ie(this,M,W,!0)};function Ie(M,W,Ce,Ae){E("readableAddChunk",W);let Te=M._readableState,tt;if(!(Te.state&Z)&&(typeof W=="string"?(Ce=Ce||Te.defaultEncoding,Te.encoding!==Ce&&(Ae&&Te.encoding?W=b.from(W,Ce).toString(Te.encoding):(W=b.from(W,Ce),Ce=""))):W instanceof b?Ce="":v._isUint8Array(W)?(W=v._uint8ArrayToBuffer(W),Ce=""):W!=null&&(tt=new P("chunk",["string","Buffer","Uint8Array"],W))),tt)R(M,tt);else if(W===null)Te.state&=~Ve,L(M,Te);else if(Te.state&Z||W&&W.length>0)if(Ae)if(Te.state&H)R(M,new z);else{if(Te.destroyed||Te.errored)return!1;g(M,Te,W,!0)}else if(Te.ended)R(M,new Y);else{if(Te.destroyed||Te.errored)return!1;Te.state&=~Ve,Te.decoder&&!Ce?(W=Te.decoder.write(W),Te.objectMode||W.length!==0?g(M,Te,W,!1):D(M,Te)):g(M,Te,W,!1)}else Ae||(Te.state&=~Ve,D(M,Te));return!Te.ended&&(Te.length<Te.highWaterMark||Te.length===0)}function g(M,W,Ce,Ae){W.flowing&&W.length===0&&!W.sync&&M.listenerCount("data")>0?(W.state&pe?W.awaitDrainWriters.clear():W.awaitDrainWriters=null,W.dataEmitted=!0,M.emit("data",Ce)):(W.length+=W.objectMode?1:Ce.length,Ae?W.buffer.unshift(Ce):W.buffer.push(Ce),W.state&le&&Q(M)),D(M,W)}ce.prototype.isPaused=function(){let M=this._readableState;return M[re]===!0||M.flowing===!1},ce.prototype.setEncoding=function(M){let W=new fe(M);this._readableState.decoder=W,this._readableState.encoding=this._readableState.decoder.encoding;let Ce=this._readableState.buffer,Ae="";for(let Te of Ce)Ae+=W.write(Te);return Ce.clear(),Ae!==""&&Ce.push(Ae),this._readableState.length=Ae.length,this};var y=1073741824;function N(M){if(M>y)throw new U("size","<= 1GiB",M);return M--,M|=M>>>1,M|=M>>>2,M|=M>>>4,M|=M>>>8,M|=M>>>16,M++,M}function T(M,W){return M<=0||W.length===0&&W.ended?0:W.state&Z?1:o(M)?W.flowing&&W.length?W.buffer.first().length:W.length:M<=W.length?M:W.ended?W.length:0}ce.prototype.read=function(M){E("read",M),M===void 0?M=NaN:n(M)||(M=i(M,10));let W=this._readableState,Ce=M;if(M>W.highWaterMark&&(W.highWaterMark=N(M)),M!==0&&(W.state&=~X),M===0&&W.needReadable&&((W.highWaterMark!==0?W.length>=W.highWaterMark:W.length>0)||W.ended))return E("read: emitReadable",W.length,W.ended),W.length===0&&W.ended?Ue(this):Q(this),null;if(M=T(M,W),M===0&&W.ended)return W.length===0&&Ue(this),null;let Ae=(W.state&le)!==0;if(E("need readable",Ae),(W.length===0||W.length-M<W.highWaterMark)&&(Ae=!0,E("length less than watermark",Ae)),W.ended||W.reading||W.destroyed||W.errored||!W.constructed)Ae=!1,E("reading, ended or constructing",Ae);else if(Ae){E("do read"),W.state|=Ve|G,W.length===0&&(W.state|=le);try{this._read(W.highWaterMark)}catch(tt){R(this,tt)}W.state&=~G,W.reading||(M=T(Ce,W))}let Te;return M>0?Te=Pe(M,W):Te=null,Te===null?(W.needReadable=W.length<=W.highWaterMark,M=0):(W.length-=M,W.multiAwaitDrain?W.awaitDrainWriters.clear():W.awaitDrainWriters=null),W.length===0&&(W.ended||(W.needReadable=!0),Ce!==M&&W.ended&&Ue(this)),Te!==null&&!W.errorEmitted&&!W.closeEmitted&&(W.dataEmitted=!0,this.emit("data",Te)),Te};function L(M,W){if(E("onEofChunk"),!W.ended){if(W.decoder){let Ce=W.decoder.end();Ce&&Ce.length&&(W.buffer.push(Ce),W.length+=W.objectMode?1:Ce.length)}W.ended=!0,W.sync?Q(M):(W.needReadable=!1,W.emittedReadable=!0,ae(M))}}function Q(M){let W=M._readableState;E("emitReadable",W.needReadable,W.emittedReadable),W.needReadable=!1,W.emittedReadable||(E("emitReadable",W.flowing),W.emittedReadable=!0,t.nextTick(ae,M))}function ae(M){let W=M._readableState;E("emitReadable_",W.destroyed,W.length,W.ended),!W.destroyed&&!W.errored&&(W.length||W.ended)&&(M.emit("readable"),W.emittedReadable=!1),W.needReadable=!W.flowing&&!W.ended&&W.length<=W.highWaterMark,et(M)}function D(M,W){!W.readingMore&&W.constructed&&(W.readingMore=!0,t.nextTick(O,M,W))}function O(M,W){for(;!W.reading&&!W.ended&&(W.length<W.highWaterMark||W.flowing&&W.length===0);){let Ce=W.length;if(E("maybeReadMore read 0"),M.read(0),Ce===W.length)break}W.readingMore=!1}ce.prototype._read=function(M){throw new A("_read()")},ce.prototype.pipe=function(M,W){let Ce=this,Ae=this._readableState;Ae.pipes.length===1&&(Ae.multiAwaitDrain||(Ae.multiAwaitDrain=!0,Ae.awaitDrainWriters=new p(Ae.awaitDrainWriters?[Ae.awaitDrainWriters]:[]))),Ae.pipes.push(M),E("pipe count=%d opts=%j",Ae.pipes.length,W);let Te=(!W||W.end!==!1)&&M!==t.stdout&&M!==t.stderr?ct:Zt;Ae.endEmitted?t.nextTick(Te):Ce.once("end",Te),M.on("unpipe",tt);function tt(wt,At){E("onunpipe"),wt===Ce&&At&&At.hasUnpiped===!1&&(At.hasUnpiped=!0,kr())}function ct(){E("onend"),M.end()}let mt,vr=!1;function kr(){E("cleanup"),M.removeListener("close",bt),M.removeListener("finish",jt),mt&&M.removeListener("drain",mt),M.removeListener("error",Xt),M.removeListener("unpipe",tt),Ce.removeListener("end",ct),Ce.removeListener("end",Zt),Ce.removeListener("data",uo),vr=!0,mt&&Ae.awaitDrainWriters&&(!M._writableState||M._writableState.needDrain)&&mt()}function _r(){vr||(Ae.pipes.length===1&&Ae.pipes[0]===M?(E("false write response, pause",0),Ae.awaitDrainWriters=M,Ae.multiAwaitDrain=!1):Ae.pipes.length>1&&Ae.pipes.includes(M)&&(E("false write response, pause",Ae.awaitDrainWriters.size),Ae.awaitDrainWriters.add(M)),Ce.pause()),mt||(mt=he(Ce,M),M.on("drain",mt))}Ce.on("data",uo);function uo(wt){E("ondata");let At=M.write(wt);E("dest.write",At),At===!1&&_r()}function Xt(wt){if(E("onerror",wt),Zt(),M.removeListener("error",Xt),M.listenerCount("error")===0){let At=M._writableState||M._readableState;At&&!At.errorEmitted?R(M,wt):M.emit("error",wt)}}S(M,"error",Xt);function bt(){M.removeListener("finish",jt),Zt()}M.once("close",bt);function jt(){E("onfinish"),M.removeListener("close",bt),Zt()}M.once("finish",jt);function Zt(){E("unpipe"),Ce.unpipe(M)}return M.emit("pipe",Ce),M.writableNeedDrain===!0?_r():Ae.flowing||(E("pipe resume"),Ce.resume()),M};function he(M,W){return function(){let Ce=M._readableState;Ce.awaitDrainWriters===W?(E("pipeOnDrain",1),Ce.awaitDrainWriters=null):Ce.multiAwaitDrain&&(E("pipeOnDrain",Ce.awaitDrainWriters.size),Ce.awaitDrainWriters.delete(W)),(!Ce.awaitDrainWriters||Ce.awaitDrainWriters.size===0)&&M.listenerCount("data")&&M.resume()}}ce.prototype.unpipe=function(M){let W=this._readableState,Ce={hasUnpiped:!1};if(W.pipes.length===0)return this;if(!M){let Te=W.pipes;W.pipes=[],this.pause();for(let tt=0;tt<Te.length;tt++)Te[tt].emit("unpipe",this,{hasUnpiped:!1});return this}let Ae=l(W.pipes,M);return Ae===-1?this:(W.pipes.splice(Ae,1),W.pipes.length===0&&this.pause(),M.emit("unpipe",this,Ce),this)},ce.prototype.on=function(M,W){let Ce=v.prototype.on.call(this,M,W),Ae=this._readableState;return M==="data"?(Ae.readableListening=this.listenerCount("readable")>0,Ae.flowing!==!1&&this.resume()):M==="readable"&&!Ae.endEmitted&&!Ae.readableListening&&(Ae.readableListening=Ae.needReadable=!0,Ae.flowing=!1,Ae.emittedReadable=!1,E("on readable",Ae.length,Ae.reading),Ae.length?Q(this):Ae.reading||t.nextTick(xe,this)),Ce},ce.prototype.addListener=ce.prototype.on,ce.prototype.removeListener=function(M,W){let Ce=v.prototype.removeListener.call(this,M,W);return M==="readable"&&t.nextTick(_e,this),Ce},ce.prototype.off=ce.prototype.removeListener,ce.prototype.removeAllListeners=function(M){let W=v.prototype.removeAllListeners.apply(this,arguments);return(M==="readable"||M===void 0)&&t.nextTick(_e,this),W};function _e(M){let W=M._readableState;W.readableListening=M.listenerCount("readable")>0,W.resumeScheduled&&W[re]===!1?W.flowing=!0:M.listenerCount("data")>0?M.resume():W.readableListening||(W.flowing=null)}function xe(M){E("readable nexttick read 0"),M.read(0)}ce.prototype.resume=function(){let M=this._readableState;return M.flowing||(E("resume"),M.flowing=!M.readableListening,De(this,M)),M[re]=!1,this};function De(M,W){W.resumeScheduled||(W.resumeScheduled=!0,t.nextTick(Ge,M,W))}function Ge(M,W){E("resume",W.reading),W.reading||M.read(0),W.resumeScheduled=!1,M.emit("resume"),et(M),W.flowing&&!W.reading&&M.read(0)}ce.prototype.pause=function(){return E("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(E("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState[re]=!0,this};function et(M){let W=M._readableState;for(E("flow",W.flowing);W.flowing&&M.read()!==null;);}ce.prototype.wrap=function(M){let W=!1;M.on("data",Ae=>{!this.push(Ae)&&M.pause&&(W=!0,M.pause())}),M.on("end",()=>{this.push(null)}),M.on("error",Ae=>{R(this,Ae)}),M.on("close",()=>{this.destroy()}),M.on("destroy",()=>{this.destroy()}),this._read=()=>{W&&M.resume&&(W=!1,M.resume())};let Ce=s(M);for(let Ae=1;Ae<Ce.length;Ae++){let Te=Ce[Ae];this[Te]===void 0&&typeof M[Te]=="function"&&(this[Te]=M[Te].bind(M))}return this},ce.prototype[h]=function(){return Re(this)},ce.prototype.iterator=function(M){return M!==void 0&&oe(M,"options"),Re(this,M)};function Re(M,W){typeof M.read!="function"&&(M=ce.wrap(M,{objectMode:!0}));let Ce=He(M,W);return Ce.stream=M,Ce}async function*He(M,W){let Ce=se;function Ae(ct){this===M?(Ce(),Ce=se):Ce=ct}M.on("readable",Ae);let Te,tt=k(M,{writable:!1},ct=>{Te=ct?C(Te,ct):null,Ce(),Ce=se});try{for(;;){let ct=M.destroyed?null:M.read();if(ct!==null)yield ct;else{if(Te)throw Te;if(Te===null)return;await new d(Ae)}}}catch(ct){throw Te=C(Te,ct),Te}finally{(Te||(W==null?void 0:W.destroyOnReturn)!==!1)&&(Te===void 0||M._readableState.autoDestroy)?x.destroyer(M,null):(M.off("readable",Ae),tt())}}a(ce.prototype,{readable:{__proto__:null,get(){let M=this._readableState;return!!M&&M.readable!==!1&&!M.destroyed&&!M.errorEmitted&&!M.endEmitted},set(M){this._readableState&&(this._readableState.readable=!!M)}},readableDidRead:{__proto__:null,enumerable:!1,get:function(){return this._readableState.dataEmitted}},readableAborted:{__proto__:null,enumerable:!1,get:function(){return!!(this._readableState.readable!==!1&&(this._readableState.destroyed||this._readableState.errored)&&!this._readableState.endEmitted)}},readableHighWaterMark:{__proto__:null,enumerable:!1,get:function(){return this._readableState.highWaterMark}},readableBuffer:{__proto__:null,enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}},readableFlowing:{__proto__:null,enumerable:!1,get:function(){return this._readableState.flowing},set:function(M){this._readableState&&(this._readableState.flowing=M)}},readableLength:{__proto__:null,enumerable:!1,get(){return this._readableState.length}},readableObjectMode:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.objectMode:!1}},readableEncoding:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.encoding:null}},errored:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.errored:null}},closed:{__proto__:null,get(){return this._readableState?this._readableState.closed:!1}},destroyed:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.destroyed:!1},set(M){this._readableState&&(this._readableState.destroyed=M)}},readableEnded:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.endEmitted:!1}}}),a(Ne.prototype,{pipesCount:{__proto__:null,get(){return this.pipes.length}},paused:{__proto__:null,get(){return this[re]!==!1},set(M){this[re]=!!M}}}),ce._fromList=Pe;function Pe(M,W){if(W.length===0)return null;let Ce;return W.objectMode?Ce=W.buffer.shift():!M||M>=W.length?(W.decoder?Ce=W.buffer.join(""):W.buffer.length===1?Ce=W.buffer.first():Ce=W.buffer.concat(W.length),W.buffer.clear()):Ce=W.buffer.consume(M,W.decoder),Ce}function Ue(M){let W=M._readableState;E("endReadable",W.endEmitted),W.endEmitted||(W.ended=!0,t.nextTick(qe,W,M))}function qe(M,W){if(E("endReadableNT",M.endEmitted,M.length),!M.errored&&!M.closeEmitted&&!M.endEmitted&&M.length===0){if(M.endEmitted=!0,W.emit("end"),W.writable&&W.allowHalfOpen===!1)t.nextTick(Ze,W);else if(M.autoDestroy){let Ce=W._writableState;(!Ce||Ce.autoDestroy&&(Ce.finished||Ce.writable===!1))&&W.destroy()}}}function Ze(M){M.writable&&!M.writableEnded&&!M.destroyed&&M.end()}ce.from=function(M,W){return J(ce,M,W)};var nt;function ht(){return nt===void 0&&(nt={}),nt}ce.fromWeb=function(M,W){return ht().newStreamReadableFromReadableStream(M,W)},ce.toWeb=function(M,W){return ht().newReadableStreamFromStreamReadable(M,W)},ce.wrap=function(M,W){var Ce,Ae;return new ce({objectMode:(Ce=(Ae=M.readableObjectMode)!==null&&Ae!==void 0?Ae:M.objectMode)!==null&&Ce!==void 0?Ce:!0,...W,destroy(Te,tt){x.destroyer(M,Te),tt(Te)}}).wrap(M)}}),On=ke((u,r)=>{be(),Ee(),we();var t=Ht(),{ArrayPrototypeSlice:l,Error:n,FunctionPrototypeSymbolHasInstance:o,ObjectDefineProperty:i,ObjectDefineProperties:a,ObjectSetPrototypeOf:s,StringPrototypeToLowerCase:c,Symbol:d,SymbolHasInstance:p}=Je();r.exports=oe,oe.WritableState=z;var{EventEmitter:m}=(Gt(),We(Tt)),h=Pn().Stream,{Buffer:f}=(ot(),We(rt)),w=nr(),{addAbortSignal:v}=Ir(),{getHighWaterMark:S,getDefaultHighWaterMark:b}=Ar(),{ERR_INVALID_ARG_TYPE:_,ERR_METHOD_NOT_IMPLEMENTED:k,ERR_MULTIPLE_CALLBACK:E,ERR_STREAM_CANNOT_PIPE:I,ERR_STREAM_DESTROYED:x,ERR_STREAM_ALREADY_FINISHED:V,ERR_STREAM_NULL_VALUES:$,ERR_STREAM_WRITE_AFTER_END:C,ERR_UNKNOWN_ENCODING:P}=lt().codes,{errorOrDestroy:A}=w;s(oe.prototype,h.prototype),s(oe,h);function U(){}var Y=d("kOnFinished");function z(B,j,ie){typeof ie!="boolean"&&(ie=j instanceof Nt()),this.objectMode=!!(B&&B.objectMode),ie&&(this.objectMode=this.objectMode||!!(B&&B.writableObjectMode)),this.highWaterMark=B?S(this,B,"writableHighWaterMark",ie):b(!1),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;let de=!!(B&&B.decodeStrings===!1);this.decodeStrings=!de,this.defaultEncoding=B&&B.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=R.bind(void 0,j),this.writecb=null,this.writelen=0,this.afterWriteTickInfo=null,ue(this),this.pendingcb=0,this.constructed=!0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!B||B.emitClose!==!1,this.autoDestroy=!B||B.autoDestroy!==!1,this.errored=null,this.closed=!1,this.closeEmitted=!1,this[Y]=[]}function ue(B){B.buffered=[],B.bufferedIndex=0,B.allBuffers=!0,B.allNoop=!0}z.prototype.getBuffer=function(){return l(this.buffered,this.bufferedIndex)},i(z.prototype,"bufferedRequestCount",{__proto__:null,get(){return this.buffered.length-this.bufferedIndex}});function oe(B){let j=this instanceof Nt();if(!j&&!o(oe,this))return new oe(B);this._writableState=new z(B,this,j),B&&(typeof B.write=="function"&&(this._write=B.write),typeof B.writev=="function"&&(this._writev=B.writev),typeof B.destroy=="function"&&(this._destroy=B.destroy),typeof B.final=="function"&&(this._final=B.final),typeof B.construct=="function"&&(this._construct=B.construct),B.signal&&v(B.signal,this)),h.call(this,B),w.construct(this,()=>{let ie=this._writableState;ie.writing||Ve(this,ie),X(this,ie)})}i(oe,p,{__proto__:null,value:function(B){return o(this,B)?!0:this!==oe?!1:B&&B._writableState instanceof z}}),oe.prototype.pipe=function(){A(this,new I)};function re(B,j,ie,de){let pe=B._writableState;if(typeof ie=="function")de=ie,ie=pe.defaultEncoding;else{if(!ie)ie=pe.defaultEncoding;else if(ie!=="buffer"&&!f.isEncoding(ie))throw new P(ie);typeof de!="function"&&(de=U)}if(j===null)throw new $;if(!pe.objectMode)if(typeof j=="string")pe.decodeStrings!==!1&&(j=f.from(j,ie),ie="buffer");else if(j instanceof f)ie="buffer";else if(h._isUint8Array(j))j=h._uint8ArrayToBuffer(j),ie="buffer";else throw new _("chunk",["string","Buffer","Uint8Array"],j);let ye;return pe.ending?ye=new C:pe.destroyed&&(ye=new x("write")),ye?(t.nextTick(de,ye),A(B,ye,!0),ye):(pe.pendingcb++,fe(B,pe,j,ie,de))}oe.prototype.write=function(B,j,ie){return re(this,B,j,ie)===!0},oe.prototype.cork=function(){this._writableState.corked++},oe.prototype.uncork=function(){let B=this._writableState;B.corked&&(B.corked--,B.writing||Ve(this,B))},oe.prototype.setDefaultEncoding=function(B){if(typeof B=="string"&&(B=c(B)),!f.isEncoding(B))throw new P(B);return this._writableState.defaultEncoding=B,this};function fe(B,j,ie,de,pe){let ye=j.objectMode?1:ie.length;j.length+=ye;let K=j.length<j.highWaterMark;return K||(j.needDrain=!0),j.writing||j.corked||j.errored||!j.constructed?(j.buffered.push({chunk:ie,encoding:de,callback:pe}),j.allBuffers&&de!=="buffer"&&(j.allBuffers=!1),j.allNoop&&pe!==U&&(j.allNoop=!1)):(j.writelen=ye,j.writecb=pe,j.writing=!0,j.sync=!0,B._write(ie,de,j.onwrite),j.sync=!1),K&&!j.errored&&!j.destroyed}function J(B,j,ie,de,pe,ye,K){j.writelen=de,j.writecb=K,j.writing=!0,j.sync=!0,j.destroyed?j.onwrite(new x("write")):ie?B._writev(pe,j.onwrite):B._write(pe,ye,j.onwrite),j.sync=!1}function se(B,j,ie,de){--j.pendingcb,de(ie),H(j),A(B,ie)}function R(B,j){let ie=B._writableState,de=ie.sync,pe=ie.writecb;if(typeof pe!="function"){A(B,new E);return}ie.writing=!1,ie.writecb=null,ie.length-=ie.writelen,ie.writelen=0,j?(j.stack,ie.errored||(ie.errored=j),B._readableState&&!B._readableState.errored&&(B._readableState.errored=j),de?t.nextTick(se,B,ie,j,pe):se(B,ie,j,pe)):(ie.buffered.length>ie.bufferedIndex&&Ve(B,ie),de?ie.afterWriteTickInfo!==null&&ie.afterWriteTickInfo.cb===pe?ie.afterWriteTickInfo.count++:(ie.afterWriteTickInfo={count:1,cb:pe,stream:B,state:ie},t.nextTick(Z,ie.afterWriteTickInfo)):ge(B,ie,1,pe))}function Z({stream:B,state:j,count:ie,cb:de}){return j.afterWriteTickInfo=null,ge(B,j,ie,de)}function ge(B,j,ie,de){for(!j.ending&&!B.destroyed&&j.length===0&&j.needDrain&&(j.needDrain=!1,B.emit("drain"));ie-- >0;)j.pendingcb--,de();j.destroyed&&H(j),X(B,j)}function H(B){if(B.writing)return;for(let pe=B.bufferedIndex;pe<B.buffered.length;++pe){var j;let{chunk:ye,callback:K}=B.buffered[pe],me=B.objectMode?1:ye.length;B.length-=me,K((j=B.errored)!==null&&j!==void 0?j:new x("write"))}let ie=B[Y].splice(0);for(let pe=0;pe<ie.length;pe++){var de;ie[pe]((de=B.errored)!==null&&de!==void 0?de:new x("end"))}ue(B)}function Ve(B,j){if(j.corked||j.bufferProcessing||j.destroyed||!j.constructed)return;let{buffered:ie,bufferedIndex:de,objectMode:pe}=j,ye=ie.length-de;if(!ye)return;let K=de;if(j.bufferProcessing=!0,ye>1&&B._writev){j.pendingcb-=ye-1;let me=j.allNoop?U:ce=>{for(let Ie=K;Ie<ie.length;++Ie)ie[Ie].callback(ce)},Ne=j.allNoop&&K===0?ie:l(ie,K);Ne.allBuffers=j.allBuffers,J(B,j,!0,j.length,Ne,"",me),ue(j)}else{do{let{chunk:me,encoding:Ne,callback:ce}=ie[K];ie[K++]=null;let Ie=pe?1:me.length;J(B,j,!1,Ie,me,Ne,ce)}while(K<ie.length&&!j.writing);K===ie.length?ue(j):K>256?(ie.splice(0,K),j.bufferedIndex=0):j.bufferedIndex=K}j.bufferProcessing=!1}oe.prototype._write=function(B,j,ie){if(this._writev)this._writev([{chunk:B,encoding:j}],ie);else throw new k("_write()")},oe.prototype._writev=null,oe.prototype.end=function(B,j,ie){let de=this._writableState;typeof B=="function"?(ie=B,B=null,j=null):typeof j=="function"&&(ie=j,j=null);let pe;if(B!=null){let ye=re(this,B,j);ye instanceof n&&(pe=ye)}return de.corked&&(de.corked=1,this.uncork()),pe||(!de.errored&&!de.ending?(de.ending=!0,X(this,de,!0),de.ended=!0):de.finished?pe=new V("end"):de.destroyed&&(pe=new x("end"))),typeof ie=="function"&&(pe||de.finished?t.nextTick(ie,pe):de[Y].push(ie)),this};function ee(B){return B.ending&&!B.destroyed&&B.constructed&&B.length===0&&!B.errored&&B.buffered.length===0&&!B.finished&&!B.writing&&!B.errorEmitted&&!B.closeEmitted}function G(B,j){let ie=!1;function de(pe){if(ie){A(B,pe??E());return}if(ie=!0,j.pendingcb--,pe){let ye=j[Y].splice(0);for(let K=0;K<ye.length;K++)ye[K](pe);A(B,pe,j.sync)}else ee(j)&&(j.prefinished=!0,B.emit("prefinish"),j.pendingcb++,t.nextTick(te,B,j))}j.sync=!0,j.pendingcb++;try{B._final(de)}catch(pe){de(pe)}j.sync=!1}function le(B,j){!j.prefinished&&!j.finalCalled&&(typeof B._final=="function"&&!j.destroyed?(j.finalCalled=!0,G(B,j)):(j.prefinished=!0,B.emit("prefinish")))}function X(B,j,ie){ee(j)&&(le(B,j),j.pendingcb===0&&(ie?(j.pendingcb++,t.nextTick((de,pe)=>{ee(pe)?te(de,pe):pe.pendingcb--},B,j)):ee(j)&&(j.pendingcb++,te(B,j))))}function te(B,j){j.pendingcb--,j.finished=!0;let ie=j[Y].splice(0);for(let de=0;de<ie.length;de++)ie[de]();if(B.emit("finish"),j.autoDestroy){let de=B._readableState;(!de||de.autoDestroy&&(de.endEmitted||de.readable===!1))&&B.destroy()}}a(oe.prototype,{closed:{__proto__:null,get(){return this._writableState?this._writableState.closed:!1}},destroyed:{__proto__:null,get(){return this._writableState?this._writableState.destroyed:!1},set(B){this._writableState&&(this._writableState.destroyed=B)}},writable:{__proto__:null,get(){let B=this._writableState;return!!B&&B.writable!==!1&&!B.destroyed&&!B.errored&&!B.ending&&!B.ended},set(B){this._writableState&&(this._writableState.writable=!!B)}},writableFinished:{__proto__:null,get(){return this._writableState?this._writableState.finished:!1}},writableObjectMode:{__proto__:null,get(){return this._writableState?this._writableState.objectMode:!1}},writableBuffer:{__proto__:null,get(){return this._writableState&&this._writableState.getBuffer()}},writableEnded:{__proto__:null,get(){return this._writableState?this._writableState.ending:!1}},writableNeedDrain:{__proto__:null,get(){let B=this._writableState;return B?!B.destroyed&&!B.ending&&B.needDrain:!1}},writableHighWaterMark:{__proto__:null,get(){return this._writableState&&this._writableState.highWaterMark}},writableCorked:{__proto__:null,get(){return this._writableState?this._writableState.corked:0}},writableLength:{__proto__:null,get(){return this._writableState&&this._writableState.length}},errored:{__proto__:null,enumerable:!1,get(){return this._writableState?this._writableState.errored:null}},writableAborted:{__proto__:null,enumerable:!1,get:function(){return!!(this._writableState.writable!==!1&&(this._writableState.destroyed||this._writableState.errored)&&!this._writableState.finished)}}});var ne=w.destroy;oe.prototype.destroy=function(B,j){let ie=this._writableState;return!ie.destroyed&&(ie.bufferedIndex<ie.buffered.length||ie[Y].length)&&t.nextTick(H,ie),ne.call(this,B,j),this},oe.prototype._undestroy=w.undestroy,oe.prototype._destroy=function(B,j){j(B)},oe.prototype[m.captureRejectionSymbol]=function(B){this.destroy(B)};var ve;function F(){return ve===void 0&&(ve={}),ve}oe.fromWeb=function(B,j){return F().newStreamWritableFromWritableStream(B,j)},oe.toWeb=function(B){return F().newWritableStreamFromStreamWritable(B)}}),py=ke((u,r)=>{be(),Ee(),we();var t=Ht(),l=(ot(),We(rt)),{isReadable:n,isWritable:o,isIterable:i,isNodeStream:a,isReadableNodeStream:s,isWritableNodeStream:c,isDuplexNodeStream:d,isReadableStream:p,isWritableStream:m}=_t(),h=Bt(),{AbortError:f,codes:{ERR_INVALID_ARG_TYPE:w,ERR_INVALID_RETURN_VALUE:v}}=lt(),{destroyer:S}=nr(),b=Nt(),_=$r(),k=On(),{createDeferredPromise:E}=ut(),I=Fs(),x=globalThis.Blob||l.Blob,V=typeof x<"u"?function(Y){return Y instanceof x}:function(Y){return!1},$=globalThis.AbortController||hr().AbortController,{FunctionPrototypeCall:C}=Je(),P=class extends b{constructor(Y){super(Y),(Y==null?void 0:Y.readable)===!1&&(this._readableState.readable=!1,this._readableState.ended=!0,this._readableState.endEmitted=!0),(Y==null?void 0:Y.writable)===!1&&(this._writableState.writable=!1,this._writableState.ending=!0,this._writableState.ended=!0,this._writableState.finished=!0)}};r.exports=function Y(z,ue){if(d(z))return z;if(s(z))return U({readable:z});if(c(z))return U({writable:z});if(a(z))return U({writable:!1,readable:!1});if(p(z))return U({readable:_.fromWeb(z)});if(m(z))return U({writable:k.fromWeb(z)});if(typeof z=="function"){let{value:re,write:fe,final:J,destroy:se}=A(z);if(i(re))return I(P,re,{objectMode:!0,write:fe,final:J,destroy:se});let R=re==null?void 0:re.then;if(typeof R=="function"){let Z,ge=C(R,re,H=>{if(H!=null)throw new v("nully","body",H)},H=>{S(Z,H)});return Z=new P({objectMode:!0,readable:!1,write:fe,final(H){J(async()=>{try{await ge,t.nextTick(H,null)}catch(Ve){t.nextTick(H,Ve)}})},destroy:se})}throw new v("Iterable, AsyncIterable or AsyncFunction",ue,re)}if(V(z))return Y(z.arrayBuffer());if(i(z))return I(P,z,{objectMode:!0,writable:!1});if(p(z==null?void 0:z.readable)&&m(z==null?void 0:z.writable))return P.fromWeb(z);if(typeof(z==null?void 0:z.writable)=="object"||typeof(z==null?void 0:z.readable)=="object"){let re=z!=null&&z.readable?s(z==null?void 0:z.readable)?z==null?void 0:z.readable:Y(z.readable):void 0,fe=z!=null&&z.writable?c(z==null?void 0:z.writable)?z==null?void 0:z.writable:Y(z.writable):void 0;return U({readable:re,writable:fe})}let oe=z==null?void 0:z.then;if(typeof oe=="function"){let re;return C(oe,z,fe=>{fe!=null&&re.push(fe),re.push(null)},fe=>{S(re,fe)}),re=new P({objectMode:!0,writable:!1,read(){}})}throw new w(ue,["Blob","ReadableStream","WritableStream","Stream","Iterable","AsyncIterable","Function","{ readable, writable } pair","Promise"],z)};function A(Y){let{promise:z,resolve:ue}=E(),oe=new $,re=oe.signal;return{value:Y(async function*(){for(;;){let fe=z;z=null;let{chunk:J,done:se,cb:R}=await fe;if(t.nextTick(R),se)return;if(re.aborted)throw new f(void 0,{cause:re.reason});({promise:z,resolve:ue}=E()),yield J}}(),{signal:re}),write(fe,J,se){let R=ue;ue=null,R({chunk:fe,done:!1,cb:se})},final(fe){let J=ue;ue=null,J({done:!0,cb:fe})},destroy(fe,J){oe.abort(),J(fe)}}}function U(Y){let z=Y.readable&&typeof Y.readable.read!="function"?_.wrap(Y.readable):Y.readable,ue=Y.writable,oe=!!n(z),re=!!o(ue),fe,J,se,R,Z;function ge(H){let Ve=R;R=null,Ve?Ve(H):H&&Z.destroy(H)}return Z=new P({readableObjectMode:!!(z!=null&&z.readableObjectMode),writableObjectMode:!!(ue!=null&&ue.writableObjectMode),readable:oe,writable:re}),re&&(h(ue,H=>{re=!1,H&&S(z,H),ge(H)}),Z._write=function(H,Ve,ee){ue.write(H,Ve)?ee():fe=ee},Z._final=function(H){ue.end(),J=H},ue.on("drain",function(){if(fe){let H=fe;fe=null,H()}}),ue.on("finish",function(){if(J){let H=J;J=null,H()}})),oe&&(h(z,H=>{oe=!1,H&&S(z,H),ge(H)}),z.on("readable",function(){if(se){let H=se;se=null,H()}}),z.on("end",function(){Z.push(null)}),Z._read=function(){for(;;){let H=z.read();if(H===null){se=Z._read;return}if(!Z.push(H))return}}),Z._destroy=function(H,Ve){!H&&R!==null&&(H=new f),se=null,fe=null,J=null,R===null?Ve(H):(R=Ve,S(ue,H),S(z,H))},Z}}),Nt=ke((u,r)=>{be(),Ee(),we();var{ObjectDefineProperties:t,ObjectGetOwnPropertyDescriptor:l,ObjectKeys:n,ObjectSetPrototypeOf:o}=Je();r.exports=s;var i=$r(),a=On();o(s.prototype,i.prototype),o(s,i);{let m=n(a.prototype);for(let h=0;h<m.length;h++){let f=m[h];s.prototype[f]||(s.prototype[f]=a.prototype[f])}}function s(m){if(!(this instanceof s))return new s(m);i.call(this,m),a.call(this,m),m?(this.allowHalfOpen=m.allowHalfOpen!==!1,m.readable===!1&&(this._readableState.readable=!1,this._readableState.ended=!0,this._readableState.endEmitted=!0),m.writable===!1&&(this._writableState.writable=!1,this._writableState.ending=!0,this._writableState.ended=!0,this._writableState.finished=!0)):this.allowHalfOpen=!0}t(s.prototype,{writable:{__proto__:null,...l(a.prototype,"writable")},writableHighWaterMark:{__proto__:null,...l(a.prototype,"writableHighWaterMark")},writableObjectMode:{__proto__:null,...l(a.prototype,"writableObjectMode")},writableBuffer:{__proto__:null,...l(a.prototype,"writableBuffer")},writableLength:{__proto__:null,...l(a.prototype,"writableLength")},writableFinished:{__proto__:null,...l(a.prototype,"writableFinished")},writableCorked:{__proto__:null,...l(a.prototype,"writableCorked")},writableEnded:{__proto__:null,...l(a.prototype,"writableEnded")},writableNeedDrain:{__proto__:null,...l(a.prototype,"writableNeedDrain")},destroyed:{__proto__:null,get(){return this._readableState===void 0||this._writableState===void 0?!1:this._readableState.destroyed&&this._writableState.destroyed},set(m){this._readableState&&this._writableState&&(this._readableState.destroyed=m,this._writableState.destroyed=m)}}});var c;function d(){return c===void 0&&(c={}),c}s.fromWeb=function(m,h){return d().newStreamDuplexFromReadableWritablePair(m,h)},s.toWeb=function(m){return d().newReadableWritablePairFromDuplex(m)};var p;s.from=function(m){return p||(p=py()),p(m,"body")}}),zs=ke((u,r)=>{be(),Ee(),we();var{ObjectSetPrototypeOf:t,Symbol:l}=Je();r.exports=s;var{ERR_METHOD_NOT_IMPLEMENTED:n}=lt().codes,o=Nt(),{getHighWaterMark:i}=Ar();t(s.prototype,o.prototype),t(s,o);var a=l("kCallback");function s(p){if(!(this instanceof s))return new s(p);let m=p?i(this,p,"readableHighWaterMark",!0):null;m===0&&(p={...p,highWaterMark:null,readableHighWaterMark:m,writableHighWaterMark:p.writableHighWaterMark||0}),o.call(this,p),this._readableState.sync=!1,this[a]=null,p&&(typeof p.transform=="function"&&(this._transform=p.transform),typeof p.flush=="function"&&(this._flush=p.flush)),this.on("prefinish",d)}function c(p){typeof this._flush=="function"&&!this.destroyed?this._flush((m,h)=>{if(m){p?p(m):this.destroy(m);return}h!=null&&this.push(h),this.push(null),p&&p()}):(this.push(null),p&&p())}function d(){this._final!==c&&c.call(this)}s.prototype._final=c,s.prototype._transform=function(p,m,h){throw new n("_transform()")},s.prototype._write=function(p,m,h){let f=this._readableState,w=this._writableState,v=f.length;this._transform(p,m,(S,b)=>{if(S){h(S);return}b!=null&&this.push(b),w.ended||v===f.length||f.length<f.highWaterMark?h():this[a]=h})},s.prototype._read=function(){if(this[a]){let p=this[a];this[a]=null,p()}}}),Ws=ke((u,r)=>{be(),Ee(),we();var{ObjectSetPrototypeOf:t}=Je();r.exports=n;var l=zs();t(n.prototype,l.prototype),t(n,l);function n(o){if(!(this instanceof n))return new n(o);l.call(this,o)}n.prototype._transform=function(o,i,a){a(null,o)}}),Mn=ke((u,r)=>{be(),Ee(),we();var t=Ht(),{ArrayIsArray:l,Promise:n,SymbolAsyncIterator:o,SymbolDispose:i}=Je(),a=Bt(),{once:s}=ut(),c=nr(),d=Nt(),{aggregateTwoErrors:p,codes:{ERR_INVALID_ARG_TYPE:m,ERR_INVALID_RETURN_VALUE:h,ERR_MISSING_ARGS:f,ERR_STREAM_DESTROYED:w,ERR_STREAM_PREMATURE_CLOSE:v},AbortError:S}=lt(),{validateFunction:b,validateAbortSignal:_}=gr(),{isIterable:k,isReadable:E,isReadableNodeStream:I,isNodeStream:x,isTransformStream:V,isWebStream:$,isReadableStream:C,isReadableFinished:P}=_t(),A=globalThis.AbortController||hr().AbortController,U,Y,z;function ue(H,Ve,ee){let G=!1;H.on("close",()=>{G=!0});let le=a(H,{readable:Ve,writable:ee},X=>{G=!X});return{destroy:X=>{G||(G=!0,c.destroyer(H,X||new w("pipe")))},cleanup:le}}function oe(H){return b(H[H.length-1],"streams[stream.length - 1]"),H.pop()}function re(H){if(k(H))return H;if(I(H))return fe(H);throw new m("val",["Readable","Iterable","AsyncIterable"],H)}async function*fe(H){Y||(Y=$r()),yield*Y.prototype[o].call(H)}async function J(H,Ve,ee,{end:G}){let le,X=null,te=F=>{if(F&&(le=F),X){let B=X;X=null,B()}},ne=()=>new n((F,B)=>{le?B(le):X=()=>{le?B(le):F()}});Ve.on("drain",te);let ve=a(Ve,{readable:!1},te);try{Ve.writableNeedDrain&&await ne();for await(let F of H)Ve.write(F)||await ne();G&&(Ve.end(),await ne()),ee()}catch(F){ee(le!==F?p(le,F):F)}finally{ve(),Ve.off("drain",te)}}async function se(H,Ve,ee,{end:G}){V(Ve)&&(Ve=Ve.writable);let le=Ve.getWriter();try{for await(let X of H)await le.ready,le.write(X).catch(()=>{});await le.ready,G&&await le.close(),ee()}catch(X){try{await le.abort(X),ee(X)}catch(te){ee(te)}}}function R(...H){return Z(H,s(oe(H)))}function Z(H,Ve,ee){if(H.length===1&&l(H[0])&&(H=H[0]),H.length<2)throw new f("streams");let G=new A,le=G.signal,X=ee==null?void 0:ee.signal,te=[];_(X,"options.signal");function ne(){pe(new S)}z=z||ut().addAbortListener;let ve;X&&(ve=z(X,ne));let F,B,j=[],ie=0;function de(Ne){pe(Ne,--ie===0)}function pe(Ne,ce){var Ie;if(Ne&&(!F||F.code==="ERR_STREAM_PREMATURE_CLOSE")&&(F=Ne),!(!F&&!ce)){for(;j.length;)j.shift()(F);(Ie=ve)===null||Ie===void 0||Ie[i](),G.abort(),ce&&(F||te.forEach(g=>g()),t.nextTick(Ve,F,B))}}let ye;for(let Ne=0;Ne<H.length;Ne++){let ce=H[Ne],Ie=Ne<H.length-1,g=Ne>0,y=Ie||(ee==null?void 0:ee.end)!==!1,N=Ne===H.length-1;if(x(ce)){let T=function(L){L&&L.name!=="AbortError"&&L.code!=="ERR_STREAM_PREMATURE_CLOSE"&&de(L)};if(y){let{destroy:L,cleanup:Q}=ue(ce,Ie,g);j.push(L),E(ce)&&N&&te.push(Q)}ce.on("error",T),E(ce)&&N&&te.push(()=>{ce.removeListener("error",T)})}if(Ne===0)if(typeof ce=="function"){if(ye=ce({signal:le}),!k(ye))throw new h("Iterable, AsyncIterable or Stream","source",ye)}else k(ce)||I(ce)||V(ce)?ye=ce:ye=d.from(ce);else if(typeof ce=="function"){if(V(ye)){var K;ye=re((K=ye)===null||K===void 0?void 0:K.readable)}else ye=re(ye);if(ye=ce(ye,{signal:le}),Ie){if(!k(ye,!0))throw new h("AsyncIterable",`transform[${Ne-1}]`,ye)}else{var me;U||(U=Ws());let T=new U({objectMode:!0}),L=(me=ye)===null||me===void 0?void 0:me.then;if(typeof L=="function")ie++,L.call(ye,D=>{B=D,D!=null&&T.write(D),y&&T.end(),t.nextTick(de)},D=>{T.destroy(D),t.nextTick(de,D)});else if(k(ye,!0))ie++,J(ye,T,de,{end:y});else if(C(ye)||V(ye)){let D=ye.readable||ye;ie++,J(D,T,de,{end:y})}else throw new h("AsyncIterable or Promise","destination",ye);ye=T;let{destroy:Q,cleanup:ae}=ue(ye,!1,!0);j.push(Q),N&&te.push(ae)}}else if(x(ce)){if(I(ye)){ie+=2;let T=ge(ye,ce,de,{end:y});E(ce)&&N&&te.push(T)}else if(V(ye)||C(ye)){let T=ye.readable||ye;ie++,J(T,ce,de,{end:y})}else if(k(ye))ie++,J(ye,ce,de,{end:y});else throw new m("val",["Readable","Iterable","AsyncIterable","ReadableStream","TransformStream"],ye);ye=ce}else if($(ce)){if(I(ye))ie++,se(re(ye),ce,de,{end:y});else if(C(ye)||k(ye))ie++,se(ye,ce,de,{end:y});else if(V(ye))ie++,se(ye.readable,ce,de,{end:y});else throw new m("val",["Readable","Iterable","AsyncIterable","ReadableStream","TransformStream"],ye);ye=ce}else ye=d.from(ce)}return(le!=null&&le.aborted||X!=null&&X.aborted)&&t.nextTick(ne),ye}function ge(H,Ve,ee,{end:G}){let le=!1;if(Ve.on("close",()=>{le||ee(new v)}),H.pipe(Ve,{end:!1}),G){let X=function(){le=!0,Ve.end()};P(H)?t.nextTick(X):H.once("end",X)}else ee();return a(H,{readable:!0,writable:!1},X=>{let te=H._readableState;X&&X.code==="ERR_STREAM_PREMATURE_CLOSE"&&te&&te.ended&&!te.errored&&!te.errorEmitted?H.once("end",ee).once("error",ee):ee(X)}),a(Ve,{readable:!1,writable:!0},ee)}r.exports={pipelineImpl:Z,pipeline:R}}),qs=ke((u,r)=>{be(),Ee(),we();var{pipeline:t}=Mn(),l=Nt(),{destroyer:n}=nr(),{isNodeStream:o,isReadable:i,isWritable:a,isWebStream:s,isTransformStream:c,isWritableStream:d,isReadableStream:p}=_t(),{AbortError:m,codes:{ERR_INVALID_ARG_VALUE:h,ERR_MISSING_ARGS:f}}=lt(),w=Bt();r.exports=function(...v){if(v.length===0)throw new f("streams");if(v.length===1)return l.from(v[0]);let S=[...v];if(typeof v[0]=="function"&&(v[0]=l.from(v[0])),typeof v[v.length-1]=="function"){let A=v.length-1;v[A]=l.from(v[A])}for(let A=0;A<v.length;++A)if(!(!o(v[A])&&!s(v[A]))){if(A<v.length-1&&!(i(v[A])||p(v[A])||c(v[A])))throw new h(`streams[${A}]`,S[A],"must be readable");if(A>0&&!(a(v[A])||d(v[A])||c(v[A])))throw new h(`streams[${A}]`,S[A],"must be writable")}let b,_,k,E,I;function x(A){let U=E;E=null,U?U(A):A?I.destroy(A):!P&&!C&&I.destroy()}let V=v[0],$=t(v,x),C=!!(a(V)||d(V)||c(V)),P=!!(i($)||p($)||c($));if(I=new l({writableObjectMode:!!(V!=null&&V.writableObjectMode),readableObjectMode:!!($!=null&&$.readableObjectMode),writable:C,readable:P}),C){if(o(V))I._write=function(U,Y,z){V.write(U,Y)?z():b=z},I._final=function(U){V.end(),_=U},V.on("drain",function(){if(b){let U=b;b=null,U()}});else if(s(V)){let U=(c(V)?V.writable:V).getWriter();I._write=async function(Y,z,ue){try{await U.ready,U.write(Y).catch(()=>{}),ue()}catch(oe){ue(oe)}},I._final=async function(Y){try{await U.ready,U.close().catch(()=>{}),_=Y}catch(z){Y(z)}}}let A=c($)?$.readable:$;w(A,()=>{if(_){let U=_;_=null,U()}})}if(P){if(o($))$.on("readable",function(){if(k){let A=k;k=null,A()}}),$.on("end",function(){I.push(null)}),I._read=function(){for(;;){let A=$.read();if(A===null){k=I._read;return}if(!I.push(A))return}};else if(s($)){let A=(c($)?$.readable:$).getReader();I._read=async function(){for(;;)try{let{value:U,done:Y}=await A.read();if(!I.push(U))return;if(Y){I.push(null);return}}catch{return}}}}return I._destroy=function(A,U){!A&&E!==null&&(A=new m),k=null,b=null,_=null,E===null?U(A):(E=U,o($)&&n($,A))},I}}),hy=ke((u,r)=>{be(),Ee(),we();var t=globalThis.AbortController||hr().AbortController,{codes:{ERR_INVALID_ARG_VALUE:l,ERR_INVALID_ARG_TYPE:n,ERR_MISSING_ARGS:o,ERR_OUT_OF_RANGE:i},AbortError:a}=lt(),{validateAbortSignal:s,validateInteger:c,validateObject:d}=gr(),p=Je().Symbol("kWeak"),m=Je().Symbol("kResistStopPropagation"),{finished:h}=Bt(),f=qs(),{addAbortSignalNoValidate:w}=Ir(),{isWritable:v,isNodeStream:S}=_t(),{deprecate:b}=ut(),{ArrayPrototypePush:_,Boolean:k,MathFloor:E,Number:I,NumberIsNaN:x,Promise:V,PromiseReject:$,PromiseResolve:C,PromisePrototypeThen:P,Symbol:A}=Je(),U=A("kEmpty"),Y=A("kEof");function z(X,te){if(te!=null&&d(te,"options"),(te==null?void 0:te.signal)!=null&&s(te.signal,"options.signal"),S(X)&&!v(X))throw new l("stream",X,"must be writable");let ne=f(this,X);return te!=null&&te.signal&&w(te.signal,ne),ne}function ue(X,te){if(typeof X!="function")throw new n("fn",["Function","AsyncFunction"],X);te!=null&&d(te,"options"),(te==null?void 0:te.signal)!=null&&s(te.signal,"options.signal");let ne=1;(te==null?void 0:te.concurrency)!=null&&(ne=E(te.concurrency));let ve=ne-1;return(te==null?void 0:te.highWaterMark)!=null&&(ve=E(te.highWaterMark)),c(ne,"options.concurrency",1),c(ve,"options.highWaterMark",0),ve+=ne,(async function*(){let F=ut().AbortSignalAny([te==null?void 0:te.signal].filter(k)),B=this,j=[],ie={signal:F},de,pe,ye=!1,K=0;function me(){ye=!0,Ne()}function Ne(){K-=1,ce()}function ce(){pe&&!ye&&K<ne&&j.length<ve&&(pe(),pe=null)}async function Ie(){try{for await(let g of B){if(ye)return;if(F.aborted)throw new a;try{if(g=X(g,ie),g===U)continue;g=C(g)}catch(y){g=$(y)}K+=1,P(g,Ne,me),j.push(g),de&&(de(),de=null),!ye&&(j.length>=ve||K>=ne)&&await new V(y=>{pe=y})}j.push(Y)}catch(g){let y=$(g);P(y,Ne,me),j.push(y)}finally{ye=!0,de&&(de(),de=null)}}Ie();try{for(;;){for(;j.length>0;){let g=await j[0];if(g===Y)return;if(F.aborted)throw new a;g!==U&&(yield g),j.shift(),ce()}await new V(g=>{de=g})}}finally{ye=!0,pe&&(pe(),pe=null)}}).call(this)}function oe(X=void 0){return X!=null&&d(X,"options"),(X==null?void 0:X.signal)!=null&&s(X.signal,"options.signal"),(async function*(){let te=0;for await(let ve of this){var ne;if(X!=null&&(ne=X.signal)!==null&&ne!==void 0&&ne.aborted)throw new a({cause:X.signal.reason});yield[te++,ve]}}).call(this)}async function re(X,te=void 0){for await(let ne of R.call(this,X,te))return!0;return!1}async function fe(X,te=void 0){if(typeof X!="function")throw new n("fn",["Function","AsyncFunction"],X);return!await re.call(this,async(...ne)=>!await X(...ne),te)}async function J(X,te){for await(let ne of R.call(this,X,te))return ne}async function se(X,te){if(typeof X!="function")throw new n("fn",["Function","AsyncFunction"],X);async function ne(ve,F){return await X(ve,F),U}for await(let ve of ue.call(this,ne,te));}function R(X,te){if(typeof X!="function")throw new n("fn",["Function","AsyncFunction"],X);async function ne(ve,F){return await X(ve,F)?ve:U}return ue.call(this,ne,te)}var Z=class extends o{constructor(){super("reduce"),this.message="Reduce of an empty stream requires an initial value"}};async function ge(X,te,ne){var ve;if(typeof X!="function")throw new n("reducer",["Function","AsyncFunction"],X);ne!=null&&d(ne,"options"),(ne==null?void 0:ne.signal)!=null&&s(ne.signal,"options.signal");let F=arguments.length>1;if(ne!=null&&(ve=ne.signal)!==null&&ve!==void 0&&ve.aborted){let pe=new a(void 0,{cause:ne.signal.reason});throw this.once("error",()=>{}),await h(this.destroy(pe)),pe}let B=new t,j=B.signal;if(ne!=null&&ne.signal){let pe={once:!0,[p]:this,[m]:!0};ne.signal.addEventListener("abort",()=>B.abort(),pe)}let ie=!1;try{for await(let pe of this){var de;if(ie=!0,ne!=null&&(de=ne.signal)!==null&&de!==void 0&&de.aborted)throw new a;F?te=await X(te,pe,{signal:j}):(te=pe,F=!0)}if(!ie&&!F)throw new Z}finally{B.abort()}return te}async function H(X){X!=null&&d(X,"options"),(X==null?void 0:X.signal)!=null&&s(X.signal,"options.signal");let te=[];for await(let ve of this){var ne;if(X!=null&&(ne=X.signal)!==null&&ne!==void 0&&ne.aborted)throw new a(void 0,{cause:X.signal.reason});_(te,ve)}return te}function Ve(X,te){let ne=ue.call(this,X,te);return(async function*(){for await(let ve of ne)yield*ve}).call(this)}function ee(X){if(X=I(X),x(X))return 0;if(X<0)throw new i("number",">= 0",X);return X}function G(X,te=void 0){return te!=null&&d(te,"options"),(te==null?void 0:te.signal)!=null&&s(te.signal,"options.signal"),X=ee(X),(async function*(){var ne;if(te!=null&&(ne=te.signal)!==null&&ne!==void 0&&ne.aborted)throw new a;for await(let F of this){var ve;if(te!=null&&(ve=te.signal)!==null&&ve!==void 0&&ve.aborted)throw new a;X--<=0&&(yield F)}}).call(this)}function le(X,te=void 0){return te!=null&&d(te,"options"),(te==null?void 0:te.signal)!=null&&s(te.signal,"options.signal"),X=ee(X),(async function*(){var ne;if(te!=null&&(ne=te.signal)!==null&&ne!==void 0&&ne.aborted)throw new a;for await(let F of this){var ve;if(te!=null&&(ve=te.signal)!==null&&ve!==void 0&&ve.aborted)throw new a;if(X-- >0&&(yield F),X<=0)return}}).call(this)}r.exports.streamReturningOperators={asIndexedPairs:b(oe,"readable.asIndexedPairs will be removed in a future version."),drop:G,filter:R,flatMap:Ve,map:ue,take:le,compose:z},r.exports.promiseReturningOperators={every:fe,forEach:se,reduce:ge,toArray:H,some:re,find:J}}),Gs=ke((u,r)=>{be(),Ee(),we();var{ArrayPrototypePop:t,Promise:l}=Je(),{isIterable:n,isNodeStream:o,isWebStream:i}=_t(),{pipelineImpl:a}=Mn(),{finished:s}=Bt();Hs();function c(...d){return new l((p,m)=>{let h,f,w=d[d.length-1];if(w&&typeof w=="object"&&!o(w)&&!n(w)&&!i(w)){let v=t(d);h=v.signal,f=v.end}a(d,(v,S)=>{v?m(v):p(S)},{signal:h,end:f})})}r.exports={finished:s,pipeline:c}}),Hs=ke((u,r)=>{be(),Ee(),we();var{Buffer:t}=(ot(),We(rt)),{ObjectDefineProperty:l,ObjectKeys:n,ReflectApply:o}=Je(),{promisify:{custom:i}}=ut(),{streamReturningOperators:a,promiseReturningOperators:s}=hy(),{codes:{ERR_ILLEGAL_CONSTRUCTOR:c}}=lt(),d=qs(),{setDefaultHighWaterMark:p,getDefaultHighWaterMark:m}=Ar(),{pipeline:h}=Mn(),{destroyer:f}=nr(),w=Bt(),v=Gs(),S=_t(),b=r.exports=Pn().Stream;b.isDestroyed=S.isDestroyed,b.isDisturbed=S.isDisturbed,b.isErrored=S.isErrored,b.isReadable=S.isReadable,b.isWritable=S.isWritable,b.Readable=$r();for(let k of n(a)){let E=function(...x){if(new.target)throw c();return b.Readable.from(o(I,this,x))},I=a[k];l(E,"name",{__proto__:null,value:I.name}),l(E,"length",{__proto__:null,value:I.length}),l(b.Readable.prototype,k,{__proto__:null,value:E,enumerable:!1,configurable:!0,writable:!0})}for(let k of n(s)){let E=function(...x){if(new.target)throw c();return o(I,this,x)},I=s[k];l(E,"name",{__proto__:null,value:I.name}),l(E,"length",{__proto__:null,value:I.length}),l(b.Readable.prototype,k,{__proto__:null,value:E,enumerable:!1,configurable:!0,writable:!0})}b.Writable=On(),b.Duplex=Nt(),b.Transform=zs(),b.PassThrough=Ws(),b.pipeline=h;var{addAbortSignal:_}=Ir();b.addAbortSignal=_,b.finished=w,b.destroy=f,b.compose=d,b.setDefaultHighWaterMark=p,b.getDefaultHighWaterMark=m,l(b,"promises",{__proto__:null,configurable:!0,enumerable:!0,get(){return v}}),l(h,i,{__proto__:null,enumerable:!0,get(){return v.pipeline}}),l(w,i,{__proto__:null,enumerable:!0,get(){return v.finished}}),b.Stream=b,b._isUint8Array=function(k){return k instanceof Uint8Array},b._uint8ArrayToBuffer=function(k){return t.from(k.buffer,k.byteOffset,k.byteLength)}}),Kt=ke((u,r)=>{be(),Ee(),we();var t=Hs(),l=Gs(),n=t.Readable.destroy;r.exports=t.Readable,r.exports._uint8ArrayToBuffer=t._uint8ArrayToBuffer,r.exports._isUint8Array=t._isUint8Array,r.exports.isDisturbed=t.isDisturbed,r.exports.isErrored=t.isErrored,r.exports.isReadable=t.isReadable,r.exports.Readable=t.Readable,r.exports.Writable=t.Writable,r.exports.Duplex=t.Duplex,r.exports.Transform=t.Transform,r.exports.PassThrough=t.PassThrough,r.exports.addAbortSignal=t.addAbortSignal,r.exports.finished=t.finished,r.exports.destroy=t.destroy,r.exports.destroy=n,r.exports.pipeline=t.pipeline,r.exports.compose=t.compose,Object.defineProperty(t,"promises",{configurable:!0,enumerable:!0,get(){return l}}),r.exports.Stream=t.Stream,r.exports.default=r.exports}),my=ke((u,r)=>{be(),Ee(),we(),typeof Object.create=="function"?r.exports=function(t,l){l&&(t.super_=l,t.prototype=Object.create(l.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:r.exports=function(t,l){if(l){t.super_=l;var n=function(){};n.prototype=l.prototype,t.prototype=new n,t.prototype.constructor=t}}}),gy=ke((u,r)=>{be(),Ee(),we();var{Buffer:t}=(ot(),We(rt)),l=Symbol.for("BufferList");function n(o){if(!(this instanceof n))return new n(o);n._init.call(this,o)}n._init=function(o){Object.defineProperty(this,l,{value:!0}),this._bufs=[],this.length=0,o&&this.append(o)},n.prototype._new=function(o){return new n(o)},n.prototype._offset=function(o){if(o===0)return[0,0];let i=0;for(let a=0;a<this._bufs.length;a++){let s=i+this._bufs[a].length;if(o<s||a===this._bufs.length-1)return[a,o-i];i=s}},n.prototype._reverseOffset=function(o){let i=o[0],a=o[1];for(let s=0;s<i;s++)a+=this._bufs[s].length;return a},n.prototype.getBuffers=function(){return this._bufs},n.prototype.get=function(o){if(o>this.length||o<0)return;let i=this._offset(o);return this._bufs[i[0]][i[1]]},n.prototype.slice=function(o,i){return typeof o=="number"&&o<0&&(o+=this.length),typeof i=="number"&&i<0&&(i+=this.length),this.copy(null,0,o,i)},n.prototype.copy=function(o,i,a,s){if((typeof a!="number"||a<0)&&(a=0),(typeof s!="number"||s>this.length)&&(s=this.length),a>=this.length||s<=0)return o||t.alloc(0);let c=!!o,d=this._offset(a),p=s-a,m=p,h=c&&i||0,f=d[1];if(a===0&&s===this.length){if(!c)return this._bufs.length===1?this._bufs[0]:t.concat(this._bufs,this.length);for(let w=0;w<this._bufs.length;w++)this._bufs[w].copy(o,h),h+=this._bufs[w].length;return o}if(m<=this._bufs[d[0]].length-f)return c?this._bufs[d[0]].copy(o,i,f,f+m):this._bufs[d[0]].slice(f,f+m);c||(o=t.allocUnsafe(p));for(let w=d[0];w<this._bufs.length;w++){let v=this._bufs[w].length-f;if(m>v)this._bufs[w].copy(o,h,f),h+=v;else{this._bufs[w].copy(o,h,f,f+m),h+=v;break}m-=v,f&&(f=0)}return o.length>h?o.slice(0,h):o},n.prototype.shallowSlice=function(o,i){if(o=o||0,i=typeof i!="number"?this.length:i,o<0&&(o+=this.length),i<0&&(i+=this.length),o===i)return this._new();let a=this._offset(o),s=this._offset(i),c=this._bufs.slice(a[0],s[0]+1);return s[1]===0?c.pop():c[c.length-1]=c[c.length-1].slice(0,s[1]),a[1]!==0&&(c[0]=c[0].slice(a[1])),this._new(c)},n.prototype.toString=function(o,i,a){return this.slice(i,a).toString(o)},n.prototype.consume=function(o){if(o=Math.trunc(o),Number.isNaN(o)||o<=0)return this;for(;this._bufs.length;)if(o>=this._bufs[0].length)o-=this._bufs[0].length,this.length-=this._bufs[0].length,this._bufs.shift();else{this._bufs[0]=this._bufs[0].slice(o),this.length-=o;break}return this},n.prototype.duplicate=function(){let o=this._new();for(let i=0;i<this._bufs.length;i++)o.append(this._bufs[i]);return o},n.prototype.append=function(o){return this._attach(o,n.prototype._appendBuffer)},n.prototype.prepend=function(o){return this._attach(o,n.prototype._prependBuffer,!0)},n.prototype._attach=function(o,i,a){if(o==null)return this;if(o.buffer)i.call(this,t.from(o.buffer,o.byteOffset,o.byteLength));else if(Array.isArray(o)){let[s,c]=a?[o.length-1,-1]:[0,1];for(let d=s;d>=0&&d<o.length;d+=c)this._attach(o[d],i,a)}else if(this._isBufferList(o)){let[s,c]=a?[o._bufs.length-1,-1]:[0,1];for(let d=s;d>=0&&d<o._bufs.length;d+=c)this._attach(o._bufs[d],i,a)}else typeof o=="number"&&(o=o.toString()),i.call(this,t.from(o));return this},n.prototype._appendBuffer=function(o){this._bufs.push(o),this.length+=o.length},n.prototype._prependBuffer=function(o){this._bufs.unshift(o),this.length+=o.length},n.prototype.indexOf=function(o,i,a){if(a===void 0&&typeof i=="string"&&(a=i,i=void 0),typeof o=="function"||Array.isArray(o))throw new TypeError('The "value" argument must be one of type string, Buffer, BufferList, or Uint8Array.');if(typeof o=="number"?o=t.from([o]):typeof o=="string"?o=t.from(o,a):this._isBufferList(o)?o=o.slice():Array.isArray(o.buffer)?o=t.from(o.buffer,o.byteOffset,o.byteLength):t.isBuffer(o)||(o=t.from(o)),i=Number(i||0),isNaN(i)&&(i=0),i<0&&(i=this.length+i),i<0&&(i=0),o.length===0)return i>this.length?this.length:i;let s=this._offset(i),c=s[0],d=s[1];for(;c<this._bufs.length;c++){let p=this._bufs[c];for(;d<p.length;)if(p.length-d>=o.length){let m=p.indexOf(o,d);if(m!==-1)return this._reverseOffset([c,m]);d=p.length-o.length+1}else{let m=this._reverseOffset([c,d]);if(this._match(m,o))return m;d++}d=0}return-1},n.prototype._match=function(o,i){if(this.length-o<i.length)return!1;for(let a=0;a<i.length;a++)if(this.get(o+a)!==i[a])return!1;return!0},function(){let o={readDoubleBE:8,readDoubleLE:8,readFloatBE:4,readFloatLE:4,readBigInt64BE:8,readBigInt64LE:8,readBigUInt64BE:8,readBigUInt64LE:8,readInt32BE:4,readInt32LE:4,readUInt32BE:4,readUInt32LE:4,readInt16BE:2,readInt16LE:2,readUInt16BE:2,readUInt16LE:2,readInt8:1,readUInt8:1,readIntBE:null,readIntLE:null,readUIntBE:null,readUIntLE:null};for(let i in o)(function(a){o[a]===null?n.prototype[a]=function(s,c){return this.slice(s,s+c)[a](0,c)}:n.prototype[a]=function(s=0){return this.slice(s,s+o[a])[a](0)}})(i)}(),n.prototype._isBufferList=function(o){return o instanceof n||n.isBufferList(o)},n.isBufferList=function(o){return o!=null&&o[l]},r.exports=n}),yy=ke((u,r)=>{be(),Ee(),we();var t=Kt().Duplex,l=my(),n=gy();function o(i){if(!(this instanceof o))return new o(i);if(typeof i=="function"){this._callback=i;let a=(function(s){this._callback&&(this._callback(s),this._callback=null)}).bind(this);this.on("pipe",function(s){s.on("error",a)}),this.on("unpipe",function(s){s.removeListener("error",a)}),i=null}n._init.call(this,i),t.call(this)}l(o,t),Object.assign(o.prototype,n.prototype),o.prototype._new=function(i){return new o(i)},o.prototype._write=function(i,a,s){this._appendBuffer(i),typeof s=="function"&&s()},o.prototype._read=function(i){if(!this.length)return this.push(null);i=Math.min(i,this.length),this.push(this.slice(0,i)),this.consume(i)},o.prototype.end=function(i){t.prototype.end.call(this,i),this._callback&&(this._callback(null,this.slice()),this._callback=null)},o.prototype._destroy=function(i,a){this._bufs.length=0,this.length=0,a(i)},o.prototype._isBufferList=function(i){return i instanceof o||i instanceof n||o.isBufferList(i)},o.isBufferList=n.isBufferList,r.exports=o,r.exports.BufferListStream=o,r.exports.BufferList=n}),by=ke((u,r)=>{be(),Ee(),we();var t=class{constructor(){this.cmd=null,this.retain=!1,this.qos=0,this.dup=!1,this.length=-1,this.topic=null,this.payload=null}};r.exports=t}),Ks=ke((u,r)=>{be(),Ee(),we();var t=r.exports,{Buffer:l}=(ot(),We(rt));t.types={0:"reserved",1:"connect",2:"connack",3:"publish",4:"puback",5:"pubrec",6:"pubrel",7:"pubcomp",8:"subscribe",9:"suback",10:"unsubscribe",11:"unsuback",12:"pingreq",13:"pingresp",14:"disconnect",15:"auth"},t.requiredHeaderFlags={1:0,2:0,4:0,5:0,6:2,7:0,8:2,9:0,10:2,11:0,12:0,13:0,14:0,15:0},t.requiredHeaderFlagsErrors={};for(let o in t.requiredHeaderFlags){let i=t.requiredHeaderFlags[o];t.requiredHeaderFlagsErrors[o]="Invalid header flag bits, must be 0x"+i.toString(16)+" for "+t.types[o]+" packet"}t.codes={};for(let o in t.types){let i=t.types[o];t.codes[i]=o}t.CMD_SHIFT=4,t.CMD_MASK=240,t.DUP_MASK=8,t.QOS_MASK=3,t.QOS_SHIFT=1,t.RETAIN_MASK=1,t.VARBYTEINT_MASK=127,t.VARBYTEINT_FIN_MASK=128,t.VARBYTEINT_MAX=268435455,t.SESSIONPRESENT_MASK=1,t.SESSIONPRESENT_HEADER=l.from([t.SESSIONPRESENT_MASK]),t.CONNACK_HEADER=l.from([t.codes.connack<<t.CMD_SHIFT]),t.USERNAME_MASK=128,t.PASSWORD_MASK=64,t.WILL_RETAIN_MASK=32,t.WILL_QOS_MASK=24,t.WILL_QOS_SHIFT=3,t.WILL_FLAG_MASK=4,t.CLEAN_SESSION_MASK=2,t.CONNECT_HEADER=l.from([t.codes.connect<<t.CMD_SHIFT]),t.properties={sessionExpiryInterval:17,willDelayInterval:24,receiveMaximum:33,maximumPacketSize:39,topicAliasMaximum:34,requestResponseInformation:25,requestProblemInformation:23,userProperties:38,authenticationMethod:21,authenticationData:22,payloadFormatIndicator:1,messageExpiryInterval:2,contentType:3,responseTopic:8,correlationData:9,maximumQoS:36,retainAvailable:37,assignedClientIdentifier:18,reasonString:31,wildcardSubscriptionAvailable:40,subscriptionIdentifiersAvailable:41,sharedSubscriptionAvailable:42,serverKeepAlive:19,responseInformation:26,serverReference:28,topicAlias:35,subscriptionIdentifier:11},t.propertiesCodes={};for(let o in t.properties){let i=t.properties[o];t.propertiesCodes[i]=o}t.propertiesTypes={sessionExpiryInterval:"int32",willDelayInterval:"int32",receiveMaximum:"int16",maximumPacketSize:"int32",topicAliasMaximum:"int16",requestResponseInformation:"byte",requestProblemInformation:"byte",userProperties:"pair",authenticationMethod:"string",authenticationData:"binary",payloadFormatIndicator:"byte",messageExpiryInterval:"int32",contentType:"string",responseTopic:"string",correlationData:"binary",maximumQoS:"int8",retainAvailable:"byte",assignedClientIdentifier:"string",reasonString:"string",wildcardSubscriptionAvailable:"byte",subscriptionIdentifiersAvailable:"byte",sharedSubscriptionAvailable:"byte",serverKeepAlive:"int16",responseInformation:"string",serverReference:"string",topicAlias:"int16",subscriptionIdentifier:"var"};function n(o){return[0,1,2].map(i=>[0,1].map(a=>[0,1].map(s=>{let c=l.alloc(1);return c.writeUInt8(t.codes[o]<<t.CMD_SHIFT|(a?t.DUP_MASK:0)|i<<t.QOS_SHIFT|s,0,!0),c})))}t.PUBLISH_HEADER=n("publish"),t.SUBSCRIBE_HEADER=n("subscribe"),t.SUBSCRIBE_OPTIONS_QOS_MASK=3,t.SUBSCRIBE_OPTIONS_NL_MASK=1,t.SUBSCRIBE_OPTIONS_NL_SHIFT=2,t.SUBSCRIBE_OPTIONS_RAP_MASK=1,t.SUBSCRIBE_OPTIONS_RAP_SHIFT=3,t.SUBSCRIBE_OPTIONS_RH_MASK=3,t.SUBSCRIBE_OPTIONS_RH_SHIFT=4,t.SUBSCRIBE_OPTIONS_RH=[0,16,32],t.SUBSCRIBE_OPTIONS_NL=4,t.SUBSCRIBE_OPTIONS_RAP=8,t.SUBSCRIBE_OPTIONS_QOS=[0,1,2],t.UNSUBSCRIBE_HEADER=n("unsubscribe"),t.ACKS={unsuback:n("unsuback"),puback:n("puback"),pubcomp:n("pubcomp"),pubrel:n("pubrel"),pubrec:n("pubrec")},t.SUBACK_HEADER=l.from([t.codes.suback<<t.CMD_SHIFT]),t.VERSION3=l.from([3]),t.VERSION4=l.from([4]),t.VERSION5=l.from([5]),t.VERSION131=l.from([131]),t.VERSION132=l.from([132]),t.QOS=[0,1,2].map(o=>l.from([o])),t.EMPTY={pingreq:l.from([t.codes.pingreq<<4,0]),pingresp:l.from([t.codes.pingresp<<4,0]),disconnect:l.from([t.codes.disconnect<<4,0])},t.MQTT5_PUBACK_PUBREC_CODES={0:"Success",16:"No matching subscribers",128:"Unspecified error",131:"Implementation specific error",135:"Not authorized",144:"Topic Name invalid",145:"Packet identifier in use",151:"Quota exceeded",153:"Payload format invalid"},t.MQTT5_PUBREL_PUBCOMP_CODES={0:"Success",146:"Packet Identifier not found"},t.MQTT5_SUBACK_CODES={0:"Granted QoS 0",1:"Granted QoS 1",2:"Granted QoS 2",128:"Unspecified error",131:"Implementation specific error",135:"Not authorized",143:"Topic Filter invalid",145:"Packet Identifier in use",151:"Quota exceeded",158:"Shared Subscriptions not supported",161:"Subscription Identifiers not supported",162:"Wildcard Subscriptions not supported"},t.MQTT5_UNSUBACK_CODES={0:"Success",17:"No subscription existed",128:"Unspecified error",131:"Implementation specific error",135:"Not authorized",143:"Topic Filter invalid",145:"Packet Identifier in use"},t.MQTT5_DISCONNECT_CODES={0:"Normal disconnection",4:"Disconnect with Will Message",128:"Unspecified error",129:"Malformed Packet",130:"Protocol Error",131:"Implementation specific error",135:"Not authorized",137:"Server busy",139:"Server shutting down",141:"Keep Alive timeout",142:"Session taken over",143:"Topic Filter invalid",144:"Topic Name invalid",147:"Receive Maximum exceeded",148:"Topic Alias invalid",149:"Packet too large",150:"Message rate too high",151:"Quota exceeded",152:"Administrative action",153:"Payload format invalid",154:"Retain not supported",155:"QoS not supported",156:"Use another server",157:"Server moved",158:"Shared Subscriptions not supported",159:"Connection rate exceeded",160:"Maximum connect time",161:"Subscription Identifiers not supported",162:"Wildcard Subscriptions not supported"},t.MQTT5_AUTH_CODES={0:"Success",24:"Continue authentication",25:"Re-authenticate"}}),wy=ke((u,r)=>{be(),Ee(),we();var t=1e3,l=t*60,n=l*60,o=n*24,i=o*7,a=o*365.25;r.exports=function(m,h){h=h||{};var f=typeof m;if(f==="string"&&m.length>0)return s(m);if(f==="number"&&isFinite(m))return h.long?d(m):c(m);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(m))};function s(m){if(m=String(m),!(m.length>100)){var h=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(m);if(h){var f=parseFloat(h[1]),w=(h[2]||"ms").toLowerCase();switch(w){case"years":case"year":case"yrs":case"yr":case"y":return f*a;case"weeks":case"week":case"w":return f*i;case"days":case"day":case"d":return f*o;case"hours":case"hour":case"hrs":case"hr":case"h":return f*n;case"minutes":case"minute":case"mins":case"min":case"m":return f*l;case"seconds":case"second":case"secs":case"sec":case"s":return f*t;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return f;default:return}}}}function c(m){var h=Math.abs(m);return h>=o?Math.round(m/o)+"d":h>=n?Math.round(m/n)+"h":h>=l?Math.round(m/l)+"m":h>=t?Math.round(m/t)+"s":m+"ms"}function d(m){var h=Math.abs(m);return h>=o?p(m,h,o,"day"):h>=n?p(m,h,n,"hour"):h>=l?p(m,h,l,"minute"):h>=t?p(m,h,t,"second"):m+" ms"}function p(m,h,f,w){var v=h>=f*1.5;return Math.round(m/f)+" "+w+(v?"s":"")}}),Ey=ke((u,r)=>{be(),Ee(),we();function t(l){o.debug=o,o.default=o,o.coerce=p,o.disable=c,o.enable=a,o.enabled=d,o.humanize=wy(),o.destroy=m,Object.keys(l).forEach(h=>{o[h]=l[h]}),o.names=[],o.skips=[],o.formatters={};function n(h){let f=0;for(let w=0;w<h.length;w++)f=(f<<5)-f+h.charCodeAt(w),f|=0;return o.colors[Math.abs(f)%o.colors.length]}o.selectColor=n;function o(h){let f,w=null,v,S;function b(..._){if(!b.enabled)return;let k=b,E=Number(new Date),I=E-(f||E);k.diff=I,k.prev=f,k.curr=E,f=E,_[0]=o.coerce(_[0]),typeof _[0]!="string"&&_.unshift("%O");let x=0;_[0]=_[0].replace(/%([a-zA-Z%])/g,(V,$)=>{if(V==="%%")return"%";x++;let C=o.formatters[$];if(typeof C=="function"){let P=_[x];V=C.call(k,P),_.splice(x,1),x--}return V}),o.formatArgs.call(k,_),(k.log||o.log).apply(k,_)}return b.namespace=h,b.useColors=o.useColors(),b.color=o.selectColor(h),b.extend=i,b.destroy=o.destroy,Object.defineProperty(b,"enabled",{enumerable:!0,configurable:!1,get:()=>w!==null?w:(v!==o.namespaces&&(v=o.namespaces,S=o.enabled(h)),S),set:_=>{w=_}}),typeof o.init=="function"&&o.init(b),b}function i(h,f){let w=o(this.namespace+(typeof f>"u"?":":f)+h);return w.log=this.log,w}function a(h){o.save(h),o.namespaces=h,o.names=[],o.skips=[];let f=(typeof h=="string"?h:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let w of f)w[0]==="-"?o.skips.push(w.slice(1)):o.names.push(w)}function s(h,f){let w=0,v=0,S=-1,b=0;for(;w<h.length;)if(v<f.length&&(f[v]===h[w]||f[v]==="*"))f[v]==="*"?(S=v,b=w,v++):(w++,v++);else if(S!==-1)v=S+1,b++,w=b;else return!1;for(;v<f.length&&f[v]==="*";)v++;return v===f.length}function c(){let h=[...o.names,...o.skips.map(f=>"-"+f)].join(",");return o.enable(""),h}function d(h){for(let f of o.skips)if(s(h,f))return!1;for(let f of o.names)if(s(h,f))return!0;return!1}function p(h){return h instanceof Error?h.stack||h.message:h}function m(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return o.enable(o.load()),o}r.exports=t}),xt=ke((u,r)=>{be(),Ee(),we(),u.formatArgs=l,u.save=n,u.load=o,u.useColors=t,u.storage=i(),u.destroy=(()=>{let s=!1;return()=>{s||(s=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),u.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function t(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let s;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(s=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(s[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function l(s){if(s[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+s[0]+(this.useColors?"%c ":" ")+"+"+r.exports.humanize(this.diff),!this.useColors)return;let c="color: "+this.color;s.splice(1,0,c,"color: inherit");let d=0,p=0;s[0].replace(/%[a-zA-Z%]/g,m=>{m!=="%%"&&(d++,m==="%c"&&(p=d))}),s.splice(p,0,c)}u.log=console.debug||console.log||(()=>{});function n(s){try{s?u.storage.setItem("debug",s):u.storage.removeItem("debug")}catch{}}function o(){let s;try{s=u.storage.getItem("debug")||u.storage.getItem("DEBUG")}catch{}return!s&&typeof ze<"u"&&"env"in ze&&(s=ze.env.DEBUG),s}function i(){try{return localStorage}catch{}}r.exports=Ey()(u);var{formatters:a}=r.exports;a.j=function(s){try{return JSON.stringify(s)}catch(c){return"[UnexpectedJSONParseError]: "+c.message}}}),vy=ke((u,r)=>{be(),Ee(),we();var t=yy(),{EventEmitter:l}=(Gt(),We(Tt)),n=by(),o=Ks(),i=xt()("mqtt-packet:parser"),a=class Hi extends l{constructor(){super(),this.parser=this.constructor.parser}static parser(c){return this instanceof Hi?(this.settings=c||{},this._states=["_parseHeader","_parseLength","_parsePayload","_newPacket"],this._resetState(),this):new Hi().parser(c)}_resetState(){i("_resetState: resetting packet, error, _list, and _stateCounter"),this.packet=new n,this.error=null,this._list=t(),this._stateCounter=0}parse(c){for(this.error&&this._resetState(),this._list.append(c),i("parse: current state: %s",this._states[this._stateCounter]);(this.packet.length!==-1||this._list.length>0)&&this[this._states[this._stateCounter]]()&&!this.error;)this._stateCounter++,i("parse: state complete. _stateCounter is now: %d",this._stateCounter),i("parse: packet.length: %d, buffer list length: %d",this.packet.length,this._list.length),this._stateCounter>=this._states.length&&(this._stateCounter=0);return i("parse: exited while loop. packet: %d, buffer list length: %d",this.packet.length,this._list.length),this._list.length}_parseHeader(){let c=this._list.readUInt8(0),d=c>>o.CMD_SHIFT;this.packet.cmd=o.types[d];let p=c&15,m=o.requiredHeaderFlags[d];return m!=null&&p!==m?this._emitError(new Error(o.requiredHeaderFlagsErrors[d])):(this.packet.retain=(c&o.RETAIN_MASK)!==0,this.packet.qos=c>>o.QOS_SHIFT&o.QOS_MASK,this.packet.qos>2?this._emitError(new Error("Packet must not have both QoS bits set to 1")):(this.packet.dup=(c&o.DUP_MASK)!==0,i("_parseHeader: packet: %o",this.packet),this._list.consume(1),!0))}_parseLength(){let c=this._parseVarByteNum(!0);return c&&(this.packet.length=c.value,this._list.consume(c.bytes)),i("_parseLength %d",c.value),!!c}_parsePayload(){i("_parsePayload: payload %O",this._list);let c=!1;if(this.packet.length===0||this._list.length>=this.packet.length){switch(this._pos=0,this.packet.cmd){case"connect":this._parseConnect();break;case"connack":this._parseConnack();break;case"publish":this._parsePublish();break;case"puback":case"pubrec":case"pubrel":case"pubcomp":this._parseConfirmation();break;case"subscribe":this._parseSubscribe();break;case"suback":this._parseSuback();break;case"unsubscribe":this._parseUnsubscribe();break;case"unsuback":this._parseUnsuback();break;case"pingreq":case"pingresp":break;case"disconnect":this._parseDisconnect();break;case"auth":this._parseAuth();break;default:this._emitError(new Error("Not supported"))}c=!0}return i("_parsePayload complete result: %s",c),c}_parseConnect(){i("_parseConnect");let c,d,p,m,h={},f=this.packet,w=this._parseString();if(w===null)return this._emitError(new Error("Cannot parse protocolId"));if(w!=="MQTT"&&w!=="MQIsdp")return this._emitError(new Error("Invalid protocolId"));if(f.protocolId=w,this._pos>=this._list.length)return this._emitError(new Error("Packet too short"));if(f.protocolVersion=this._list.readUInt8(this._pos),f.protocolVersion>=128&&(f.bridgeMode=!0,f.protocolVersion=f.protocolVersion-128),f.protocolVersion!==3&&f.protocolVersion!==4&&f.protocolVersion!==5)return this._emitError(new Error("Invalid protocol version"));if(this._pos++,this._pos>=this._list.length)return this._emitError(new Error("Packet too short"));if(this._list.readUInt8(this._pos)&1)return this._emitError(new Error("Connect flag bit 0 must be 0, but got 1"));h.username=this._list.readUInt8(this._pos)&o.USERNAME_MASK,h.password=this._list.readUInt8(this._pos)&o.PASSWORD_MASK,h.will=this._list.readUInt8(this._pos)&o.WILL_FLAG_MASK;let v=!!(this._list.readUInt8(this._pos)&o.WILL_RETAIN_MASK),S=(this._list.readUInt8(this._pos)&o.WILL_QOS_MASK)>>o.WILL_QOS_SHIFT;if(h.will)f.will={},f.will.retain=v,f.will.qos=S;else{if(v)return this._emitError(new Error("Will Retain Flag must be set to zero when Will Flag is set to 0"));if(S)return this._emitError(new Error("Will QoS must be set to zero when Will Flag is set to 0"))}if(f.clean=(this._list.readUInt8(this._pos)&o.CLEAN_SESSION_MASK)!==0,this._pos++,f.keepalive=this._parseNum(),f.keepalive===-1)return this._emitError(new Error("Packet too short"));if(f.protocolVersion===5){let _=this._parseProperties();Object.getOwnPropertyNames(_).length&&(f.properties=_)}let b=this._parseString();if(b===null)return this._emitError(new Error("Packet too short"));if(f.clientId=b,i("_parseConnect: packet.clientId: %s",f.clientId),h.will){if(f.protocolVersion===5){let _=this._parseProperties();Object.getOwnPropertyNames(_).length&&(f.will.properties=_)}if(c=this._parseString(),c===null)return this._emitError(new Error("Cannot parse will topic"));if(f.will.topic=c,i("_parseConnect: packet.will.topic: %s",f.will.topic),d=this._parseBuffer(),d===null)return this._emitError(new Error("Cannot parse will payload"));f.will.payload=d,i("_parseConnect: packet.will.paylaod: %s",f.will.payload)}if(h.username){if(m=this._parseString(),m===null)return this._emitError(new Error("Cannot parse username"));f.username=m,i("_parseConnect: packet.username: %s",f.username)}if(h.password){if(p=this._parseBuffer(),p===null)return this._emitError(new Error("Cannot parse password"));f.password=p}return this.settings=f,i("_parseConnect: complete"),f}_parseConnack(){i("_parseConnack");let c=this.packet;if(this._list.length<1)return null;let d=this._list.readUInt8(this._pos++);if(d>1)return this._emitError(new Error("Invalid connack flags, bits 7-1 must be set to 0"));if(c.sessionPresent=!!(d&o.SESSIONPRESENT_MASK),this.settings.protocolVersion===5)this._list.length>=2?c.reasonCode=this._list.readUInt8(this._pos++):c.reasonCode=0;else{if(this._list.length<2)return null;c.returnCode=this._list.readUInt8(this._pos++)}if(c.returnCode===-1||c.reasonCode===-1)return this._emitError(new Error("Cannot parse return code"));if(this.settings.protocolVersion===5){let p=this._parseProperties();Object.getOwnPropertyNames(p).length&&(c.properties=p)}i("_parseConnack: complete")}_parsePublish(){i("_parsePublish");let c=this.packet;if(c.topic=this._parseString(),c.topic===null)return this._emitError(new Error("Cannot parse topic"));if(!(c.qos>0&&!this._parseMessageId())){if(this.settings.protocolVersion===5){let d=this._parseProperties();Object.getOwnPropertyNames(d).length&&(c.properties=d)}c.payload=this._list.slice(this._pos,c.length),i("_parsePublish: payload from buffer list: %o",c.payload)}}_parseSubscribe(){i("_parseSubscribe");let c=this.packet,d,p,m,h,f,w,v;if(c.subscriptions=[],!!this._parseMessageId()){if(this.settings.protocolVersion===5){let S=this._parseProperties();Object.getOwnPropertyNames(S).length&&(c.properties=S)}if(c.length<=0)return this._emitError(new Error("Malformed subscribe, no payload specified"));for(;this._pos<c.length;){if(d=this._parseString(),d===null)return this._emitError(new Error("Cannot parse topic"));if(this._pos>=c.length)return this._emitError(new Error("Malformed Subscribe Payload"));if(p=this._parseByte(),this.settings.protocolVersion===5){if(p&192)return this._emitError(new Error("Invalid subscribe topic flag bits, bits 7-6 must be 0"))}else if(p&252)return this._emitError(new Error("Invalid subscribe topic flag bits, bits 7-2 must be 0"));if(m=p&o.SUBSCRIBE_OPTIONS_QOS_MASK,m>2)return this._emitError(new Error("Invalid subscribe QoS, must be <= 2"));if(w=(p>>o.SUBSCRIBE_OPTIONS_NL_SHIFT&o.SUBSCRIBE_OPTIONS_NL_MASK)!==0,f=(p>>o.SUBSCRIBE_OPTIONS_RAP_SHIFT&o.SUBSCRIBE_OPTIONS_RAP_MASK)!==0,h=p>>o.SUBSCRIBE_OPTIONS_RH_SHIFT&o.SUBSCRIBE_OPTIONS_RH_MASK,h>2)return this._emitError(new Error("Invalid retain handling, must be <= 2"));v={topic:d,qos:m},this.settings.protocolVersion===5?(v.nl=w,v.rap=f,v.rh=h):this.settings.bridgeMode&&(v.rh=0,v.rap=!0,v.nl=!0),i("_parseSubscribe: push subscription `%s` to subscription",v),c.subscriptions.push(v)}}}_parseSuback(){i("_parseSuback");let c=this.packet;if(this.packet.granted=[],!!this._parseMessageId()){if(this.settings.protocolVersion===5){let d=this._parseProperties();Object.getOwnPropertyNames(d).length&&(c.properties=d)}if(c.length<=0)return this._emitError(new Error("Malformed suback, no payload specified"));for(;this._pos<this.packet.length;){let d=this._list.readUInt8(this._pos++);if(this.settings.protocolVersion===5){if(!o.MQTT5_SUBACK_CODES[d])return this._emitError(new Error("Invalid suback code"))}else if(d>2&&d!==128)return this._emitError(new Error("Invalid suback QoS, must be 0, 1, 2 or 128"));this.packet.granted.push(d)}}}_parseUnsubscribe(){i("_parseUnsubscribe");let c=this.packet;if(c.unsubscriptions=[],!!this._parseMessageId()){if(this.settings.protocolVersion===5){let d=this._parseProperties();Object.getOwnPropertyNames(d).length&&(c.properties=d)}if(c.length<=0)return this._emitError(new Error("Malformed unsubscribe, no payload specified"));for(;this._pos<c.length;){let d=this._parseString();if(d===null)return this._emitError(new Error("Cannot parse topic"));i("_parseUnsubscribe: push topic `%s` to unsubscriptions",d),c.unsubscriptions.push(d)}}}_parseUnsuback(){i("_parseUnsuback");let c=this.packet;if(!this._parseMessageId())return this._emitError(new Error("Cannot parse messageId"));if((this.settings.protocolVersion===3||this.settings.protocolVersion===4)&&c.length!==2)return this._emitError(new Error("Malformed unsuback, payload length must be 2"));if(c.length<=0)return this._emitError(new Error("Malformed unsuback, no payload specified"));if(this.settings.protocolVersion===5){let d=this._parseProperties();for(Object.getOwnPropertyNames(d).length&&(c.properties=d),c.granted=[];this._pos<this.packet.length;){let p=this._list.readUInt8(this._pos++);if(!o.MQTT5_UNSUBACK_CODES[p])return this._emitError(new Error("Invalid unsuback code"));this.packet.granted.push(p)}}}_parseConfirmation(){i("_parseConfirmation: packet.cmd: `%s`",this.packet.cmd);let c=this.packet;if(this._parseMessageId(),this.settings.protocolVersion===5){if(c.length>2){switch(c.reasonCode=this._parseByte(),this.packet.cmd){case"puback":case"pubrec":if(!o.MQTT5_PUBACK_PUBREC_CODES[c.reasonCode])return this._emitError(new Error("Invalid "+this.packet.cmd+" reason code"));break;case"pubrel":case"pubcomp":if(!o.MQTT5_PUBREL_PUBCOMP_CODES[c.reasonCode])return this._emitError(new Error("Invalid "+this.packet.cmd+" reason code"));break}i("_parseConfirmation: packet.reasonCode `%d`",c.reasonCode)}else c.reasonCode=0;if(c.length>3){let d=this._parseProperties();Object.getOwnPropertyNames(d).length&&(c.properties=d)}}return!0}_parseDisconnect(){let c=this.packet;if(i("_parseDisconnect"),this.settings.protocolVersion===5){this._list.length>0?(c.reasonCode=this._parseByte(),o.MQTT5_DISCONNECT_CODES[c.reasonCode]||this._emitError(new Error("Invalid disconnect reason code"))):c.reasonCode=0;let d=this._parseProperties();Object.getOwnPropertyNames(d).length&&(c.properties=d)}return i("_parseDisconnect result: true"),!0}_parseAuth(){i("_parseAuth");let c=this.packet;if(this.settings.protocolVersion!==5)return this._emitError(new Error("Not supported auth packet for this version MQTT"));if(c.reasonCode=this._parseByte(),!o.MQTT5_AUTH_CODES[c.reasonCode])return this._emitError(new Error("Invalid auth reason code"));let d=this._parseProperties();return Object.getOwnPropertyNames(d).length&&(c.properties=d),i("_parseAuth: result: true"),!0}_parseMessageId(){let c=this.packet;return c.messageId=this._parseNum(),c.messageId===null?(this._emitError(new Error("Cannot parse messageId")),!1):(i("_parseMessageId: packet.messageId %d",c.messageId),!0)}_parseString(c){let d=this._parseNum(),p=d+this._pos;if(d===-1||p>this._list.length||p>this.packet.length)return null;let m=this._list.toString("utf8",this._pos,p);return this._pos+=d,i("_parseString: result: %s",m),m}_parseStringPair(){return i("_parseStringPair"),{name:this._parseString(),value:this._parseString()}}_parseBuffer(){let c=this._parseNum(),d=c+this._pos;if(c===-1||d>this._list.length||d>this.packet.length)return null;let p=this._list.slice(this._pos,d);return this._pos+=c,i("_parseBuffer: result: %o",p),p}_parseNum(){if(this._list.length-this._pos<2)return-1;let c=this._list.readUInt16BE(this._pos);return this._pos+=2,i("_parseNum: result: %s",c),c}_parse4ByteNum(){if(this._list.length-this._pos<4)return-1;let c=this._list.readUInt32BE(this._pos);return this._pos+=4,i("_parse4ByteNum: result: %s",c),c}_parseVarByteNum(c){i("_parseVarByteNum");let d=4,p=0,m=1,h=0,f=!1,w,v=this._pos?this._pos:0;for(;p<d&&v+p<this._list.length;){if(w=this._list.readUInt8(v+p++),h+=m*(w&o.VARBYTEINT_MASK),m*=128,(w&o.VARBYTEINT_FIN_MASK)===0){f=!0;break}if(this._list.length<=p)break}return!f&&p===d&&this._list.length>=p&&this._emitError(new Error("Invalid variable byte integer")),v&&(this._pos+=p),f?c?f={bytes:p,value:h}:f=h:f=!1,i("_parseVarByteNum: result: %o",f),f}_parseByte(){let c;return this._pos<this._list.length&&(c=this._list.readUInt8(this._pos),this._pos++),i("_parseByte: result: %o",c),c}_parseByType(c){switch(i("_parseByType: type: %s",c),c){case"byte":return this._parseByte()!==0;case"int8":return this._parseByte();case"int16":return this._parseNum();case"int32":return this._parse4ByteNum();case"var":return this._parseVarByteNum();case"string":return this._parseString();case"pair":return this._parseStringPair();case"binary":return this._parseBuffer()}}_parseProperties(){i("_parseProperties");let c=this._parseVarByteNum(),d=this._pos+c,p={};for(;this._pos<d;){let m=this._parseByte();if(!m)return this._emitError(new Error("Cannot parse property code type")),!1;let h=o.propertiesCodes[m];if(!h)return this._emitError(new Error("Unknown property")),!1;if(h==="userProperties"){p[h]||(p[h]=Object.create(null));let f=this._parseByType(o.propertiesTypes[h]);if(p[h][f.name])if(Array.isArray(p[h][f.name]))p[h][f.name].push(f.value);else{let w=p[h][f.name];p[h][f.name]=[w],p[h][f.name].push(f.value)}else p[h][f.name]=f.value;continue}p[h]?Array.isArray(p[h])?p[h].push(this._parseByType(o.propertiesTypes[h])):(p[h]=[p[h]],p[h].push(this._parseByType(o.propertiesTypes[h]))):p[h]=this._parseByType(o.propertiesTypes[h])}return p}_newPacket(){return i("_newPacket"),this.packet&&(this._list.consume(this.packet.length),i("_newPacket: parser emit packet: packet.cmd: %s, packet.payload: %s, packet.length: %d",this.packet.cmd,this.packet.payload,this.packet.length),this.emit("packet",this.packet)),i("_newPacket: new packet"),this.packet=new n,this._pos=0,!0}_emitError(c){i("_emitError",c),this.error=c,this.emit("error",c)}};r.exports=a}),ky=ke((u,r)=>{be(),Ee(),we();var{Buffer:t}=(ot(),We(rt)),l=65536,n={},o=t.isBuffer(t.from([1,2]).subarray(0,1));function i(d){let p=t.allocUnsafe(2);return p.writeUInt8(d>>8,0),p.writeUInt8(d&255,1),p}function a(){for(let d=0;d<l;d++)n[d]=i(d)}function s(d){let p=0,m=0,h=t.allocUnsafe(4);do p=d%128|0,d=d/128|0,d>0&&(p=p|128),h.writeUInt8(p,m++);while(d>0&&m<4);return d>0&&(m=0),o?h.subarray(0,m):h.slice(0,m)}function c(d){let p=t.allocUnsafe(4);return p.writeUInt32BE(d,0),p}r.exports={cache:n,generateCache:a,generateNumber:i,genBufVariableByteInt:s,generate4ByteBuffer:c}}),_y=ke((u,r)=>{be(),Ee(),we(),typeof ze>"u"||!ze.version||ze.version.indexOf("v0.")===0||ze.version.indexOf("v1.")===0&&ze.version.indexOf("v1.8.")!==0?r.exports={nextTick:t}:r.exports=ze;function t(l,n,o,i){if(typeof l!="function")throw new TypeError('"callback" argument must be a function');var a=arguments.length,s,c;switch(a){case 0:case 1:return ze.nextTick(l);case 2:return ze.nextTick(function(){l.call(null,n)});case 3:return ze.nextTick(function(){l.call(null,n,o)});case 4:return ze.nextTick(function(){l.call(null,n,o,i)});default:for(s=new Array(a-1),c=0;c<s.length;)s[c++]=arguments[c];return ze.nextTick(function(){l.apply(null,s)})}}}),Ys=ke((u,r)=>{be(),Ee(),we();var t=Ks(),{Buffer:l}=(ot(),We(rt)),n=l.allocUnsafe(0),o=l.from([0]),i=ky(),a=_y().nextTick,s=xt()("mqtt-packet:writeToStream"),c=i.cache,d=i.generateNumber,p=i.generateCache,m=i.genBufVariableByteInt,h=i.generate4ByteBuffer,f=oe,w=!0;function v(ee,G,le){switch(s("generate called"),G.cork&&(G.cork(),a(S,G)),w&&(w=!1,p()),s("generate: packet.cmd: %s",ee.cmd),ee.cmd){case"connect":return b(ee,G);case"connack":return _(ee,G,le);case"publish":return k(ee,G,le);case"puback":case"pubrec":case"pubrel":case"pubcomp":return E(ee,G,le);case"subscribe":return I(ee,G,le);case"suback":return x(ee,G,le);case"unsubscribe":return V(ee,G,le);case"unsuback":return $(ee,G,le);case"pingreq":case"pingresp":return C(ee,G);case"disconnect":return P(ee,G,le);case"auth":return A(ee,G,le);default:return G.destroy(new Error("Unknown command")),!1}}Object.defineProperty(v,"cacheNumbers",{get(){return f===oe},set(ee){ee?((!c||Object.keys(c).length===0)&&(w=!0),f=oe):(w=!1,f=re)}});function S(ee){ee.uncork()}function b(ee,G,le){let X=ee||{},te=X.protocolId||"MQTT",ne=X.protocolVersion||4,ve=X.will,F=X.clean,B=X.keepalive||0,j=X.clientId||"",ie=X.username,de=X.password,pe=X.properties;F===void 0&&(F=!0);let ye=0;if(typeof te!="string"&&!l.isBuffer(te))return G.destroy(new Error("Invalid protocolId")),!1;if(ye+=te.length+2,ne!==3&&ne!==4&&ne!==5)return G.destroy(new Error("Invalid protocol version")),!1;if(ye+=1,(typeof j=="string"||l.isBuffer(j))&&(j||ne>=4)&&(j||F))ye+=l.byteLength(j)+2;else{if(ne<4)return G.destroy(new Error("clientId must be supplied before 3.1.1")),!1;if(F*1===0)return G.destroy(new Error("clientId must be given if cleanSession set to 0")),!1}if(typeof B!="number"||B<0||B>65535||B%1!==0)return G.destroy(new Error("Invalid keepalive")),!1;ye+=2,ye+=1;let K,me;if(ne===5){if(K=se(G,pe),!K)return!1;ye+=K.length}if(ve){if(typeof ve!="object")return G.destroy(new Error("Invalid will")),!1;if(!ve.topic||typeof ve.topic!="string")return G.destroy(new Error("Invalid will topic")),!1;if(ye+=l.byteLength(ve.topic)+2,ye+=2,ve.payload)if(ve.payload.length>=0)typeof ve.payload=="string"?ye+=l.byteLength(ve.payload):ye+=ve.payload.length;else return G.destroy(new Error("Invalid will payload")),!1;if(me={},ne===5){if(me=se(G,ve.properties),!me)return!1;ye+=me.length}}let Ne=!1;if(ie!=null)if(Ve(ie))Ne=!0,ye+=l.byteLength(ie)+2;else return G.destroy(new Error("Invalid username")),!1;if(de!=null){if(!Ne)return G.destroy(new Error("Username is required to use password")),!1;if(Ve(de))ye+=H(de)+2;else return G.destroy(new Error("Invalid password")),!1}G.write(t.CONNECT_HEADER),Y(G,ye),J(G,te),X.bridgeMode&&(ne+=128),G.write(ne===131?t.VERSION131:ne===132?t.VERSION132:ne===4?t.VERSION4:ne===5?t.VERSION5:t.VERSION3);let ce=0;return ce|=ie!=null?t.USERNAME_MASK:0,ce|=de!=null?t.PASSWORD_MASK:0,ce|=ve&&ve.retain?t.WILL_RETAIN_MASK:0,ce|=ve&&ve.qos?ve.qos<<t.WILL_QOS_SHIFT:0,ce|=ve?t.WILL_FLAG_MASK:0,ce|=F?t.CLEAN_SESSION_MASK:0,G.write(l.from([ce])),f(G,B),ne===5&&K.write(),J(G,j),ve&&(ne===5&&me.write(),z(G,ve.topic),J(G,ve.payload)),ie!=null&&J(G,ie),de!=null&&J(G,de),!0}function _(ee,G,le){let X=le?le.protocolVersion:4,te=ee||{},ne=X===5?te.reasonCode:te.returnCode,ve=te.properties,F=2;if(typeof ne!="number")return G.destroy(new Error("Invalid return code")),!1;let B=null;if(X===5){if(B=se(G,ve),!B)return!1;F+=B.length}return G.write(t.CONNACK_HEADER),Y(G,F),G.write(te.sessionPresent?t.SESSIONPRESENT_HEADER:o),G.write(l.from([ne])),B==null||B.write(),!0}function k(ee,G,le){s("publish: packet: %o",ee);let X=le?le.protocolVersion:4,te=ee||{},ne=te.qos||0,ve=te.retain?t.RETAIN_MASK:0,F=te.topic,B=te.payload||n,j=te.messageId,ie=te.properties,de=0;if(typeof F=="string")de+=l.byteLength(F)+2;else if(l.isBuffer(F))de+=F.length+2;else return G.destroy(new Error("Invalid topic")),!1;if(l.isBuffer(B)?de+=B.length:de+=l.byteLength(B),ne&&typeof j!="number")return G.destroy(new Error("Invalid messageId")),!1;ne&&(de+=2);let pe=null;if(X===5){if(pe=se(G,ie),!pe)return!1;de+=pe.length}return G.write(t.PUBLISH_HEADER[ne][te.dup?1:0][ve?1:0]),Y(G,de),f(G,H(F)),G.write(F),ne>0&&f(G,j),pe==null||pe.write(),s("publish: payload: %o",B),G.write(B)}function E(ee,G,le){let X=le?le.protocolVersion:4,te=ee||{},ne=te.cmd||"puback",ve=te.messageId,F=te.dup&&ne==="pubrel"?t.DUP_MASK:0,B=0,j=te.reasonCode,ie=te.properties,de=X===5?3:2;if(ne==="pubrel"&&(B=1),typeof ve!="number")return G.destroy(new Error("Invalid messageId")),!1;let pe=null;if(X===5&&typeof ie=="object"){if(pe=R(G,ie,le,de),!pe)return!1;de+=pe.length}return G.write(t.ACKS[ne][B][F][0]),de===3&&(de+=j!==0?1:-1),Y(G,de),f(G,ve),X===5&&de!==2&&G.write(l.from([j])),pe!==null?pe.write():de===4&&G.write(l.from([0])),!0}function I(ee,G,le){s("subscribe: packet: ");let X=le?le.protocolVersion:4,te=ee||{},ne=te.dup?t.DUP_MASK:0,ve=te.messageId,F=te.subscriptions,B=te.properties,j=0;if(typeof ve!="number")return G.destroy(new Error("Invalid messageId")),!1;j+=2;let ie=null;if(X===5){if(ie=se(G,B),!ie)return!1;j+=ie.length}if(typeof F=="object"&&F.length)for(let pe=0;pe<F.length;pe+=1){let ye=F[pe].topic,K=F[pe].qos;if(typeof ye!="string")return G.destroy(new Error("Invalid subscriptions - invalid topic")),!1;if(typeof K!="number")return G.destroy(new Error("Invalid subscriptions - invalid qos")),!1;if(X===5){if(typeof(F[pe].nl||!1)!="boolean")return G.destroy(new Error("Invalid subscriptions - invalid No Local")),!1;if(typeof(F[pe].rap||!1)!="boolean")return G.destroy(new Error("Invalid subscriptions - invalid Retain as Published")),!1;let me=F[pe].rh||0;if(typeof me!="number"||me>2)return G.destroy(new Error("Invalid subscriptions - invalid Retain Handling")),!1}j+=l.byteLength(ye)+2+1}else return G.destroy(new Error("Invalid subscriptions")),!1;s("subscribe: writing to stream: %o",t.SUBSCRIBE_HEADER),G.write(t.SUBSCRIBE_HEADER[1][ne?1:0][0]),Y(G,j),f(G,ve),ie!==null&&ie.write();let de=!0;for(let pe of F){let ye=pe.topic,K=pe.qos,me=+pe.nl,Ne=+pe.rap,ce=pe.rh,Ie;z(G,ye),Ie=t.SUBSCRIBE_OPTIONS_QOS[K],X===5&&(Ie|=me?t.SUBSCRIBE_OPTIONS_NL:0,Ie|=Ne?t.SUBSCRIBE_OPTIONS_RAP:0,Ie|=ce?t.SUBSCRIBE_OPTIONS_RH[ce]:0),de=G.write(l.from([Ie]))}return de}function x(ee,G,le){let X=le?le.protocolVersion:4,te=ee||{},ne=te.messageId,ve=te.granted,F=te.properties,B=0;if(typeof ne!="number")return G.destroy(new Error("Invalid messageId")),!1;if(B+=2,typeof ve=="object"&&ve.length)for(let ie=0;ie<ve.length;ie+=1){if(typeof ve[ie]!="number")return G.destroy(new Error("Invalid qos vector")),!1;B+=1}else return G.destroy(new Error("Invalid qos vector")),!1;let j=null;if(X===5){if(j=R(G,F,le,B),!j)return!1;B+=j.length}return G.write(t.SUBACK_HEADER),Y(G,B),f(G,ne),j!==null&&j.write(),G.write(l.from(ve))}function V(ee,G,le){let X=le?le.protocolVersion:4,te=ee||{},ne=te.messageId,ve=te.dup?t.DUP_MASK:0,F=te.unsubscriptions,B=te.properties,j=0;if(typeof ne!="number")return G.destroy(new Error("Invalid messageId")),!1;if(j+=2,typeof F=="object"&&F.length)for(let pe=0;pe<F.length;pe+=1){if(typeof F[pe]!="string")return G.destroy(new Error("Invalid unsubscriptions")),!1;j+=l.byteLength(F[pe])+2}else return G.destroy(new Error("Invalid unsubscriptions")),!1;let ie=null;if(X===5){if(ie=se(G,B),!ie)return!1;j+=ie.length}G.write(t.UNSUBSCRIBE_HEADER[1][ve?1:0][0]),Y(G,j),f(G,ne),ie!==null&&ie.write();let de=!0;for(let pe=0;pe<F.length;pe++)de=z(G,F[pe]);return de}function $(ee,G,le){let X=le?le.protocolVersion:4,te=ee||{},ne=te.messageId,ve=te.dup?t.DUP_MASK:0,F=te.granted,B=te.properties,j=te.cmd,ie=0,de=2;if(typeof ne!="number")return G.destroy(new Error("Invalid messageId")),!1;if(X===5)if(typeof F=="object"&&F.length)for(let ye=0;ye<F.length;ye+=1){if(typeof F[ye]!="number")return G.destroy(new Error("Invalid qos vector")),!1;de+=1}else return G.destroy(new Error("Invalid qos vector")),!1;let pe=null;if(X===5){if(pe=R(G,B,le,de),!pe)return!1;de+=pe.length}return G.write(t.ACKS[j][ie][ve][0]),Y(G,de),f(G,ne),pe!==null&&pe.write(),X===5&&G.write(l.from(F)),!0}function C(ee,G,le){return G.write(t.EMPTY[ee.cmd])}function P(ee,G,le){let X=le?le.protocolVersion:4,te=ee||{},ne=te.reasonCode,ve=te.properties,F=X===5?1:0,B=null;if(X===5){if(B=R(G,ve,le,F),!B)return!1;F+=B.length}return G.write(l.from([t.codes.disconnect<<4])),Y(G,F),X===5&&G.write(l.from([ne])),B!==null&&B.write(),!0}function A(ee,G,le){let X=le?le.protocolVersion:4,te=ee||{},ne=te.reasonCode,ve=te.properties,F=X===5?1:0;X!==5&&G.destroy(new Error("Invalid mqtt version for auth packet"));let B=R(G,ve,le,F);return B?(F+=B.length,G.write(l.from([t.codes.auth<<4])),Y(G,F),G.write(l.from([ne])),B!==null&&B.write(),!0):!1}var U={};function Y(ee,G){if(G>t.VARBYTEINT_MAX)return ee.destroy(new Error(`Invalid variable byte integer: ${G}`)),!1;let le=U[G];return le||(le=m(G),G<16384&&(U[G]=le)),s("writeVarByteInt: writing to stream: %o",le),ee.write(le)}function z(ee,G){let le=l.byteLength(G);return f(ee,le),s("writeString: %s",G),ee.write(G,"utf8")}function ue(ee,G,le){z(ee,G),z(ee,le)}function oe(ee,G){return s("writeNumberCached: number: %d",G),s("writeNumberCached: %o",c[G]),ee.write(c[G])}function re(ee,G){let le=d(G);return s("writeNumberGenerated: %o",le),ee.write(le)}function fe(ee,G){let le=h(G);return s("write4ByteNumber: %o",le),ee.write(le)}function J(ee,G){typeof G=="string"?z(ee,G):G?(f(ee,G.length),ee.write(G)):f(ee,0)}function se(ee,G){if(typeof G!="object"||G.length!=null)return{length:1,write(){ge(ee,{},0)}};let le=0;function X(te,ne){let ve=t.propertiesTypes[te],F=0;switch(ve){case"byte":{if(typeof ne!="boolean")return ee.destroy(new Error(`Invalid ${te}: ${ne}`)),!1;F+=2;break}case"int8":{if(typeof ne!="number"||ne<0||ne>255)return ee.destroy(new Error(`Invalid ${te}: ${ne}`)),!1;F+=2;break}case"binary":{if(ne&&ne===null)return ee.destroy(new Error(`Invalid ${te}: ${ne}`)),!1;F+=1+l.byteLength(ne)+2;break}case"int16":{if(typeof ne!="number"||ne<0||ne>65535)return ee.destroy(new Error(`Invalid ${te}: ${ne}`)),!1;F+=3;break}case"int32":{if(typeof ne!="number"||ne<0||ne>4294967295)return ee.destroy(new Error(`Invalid ${te}: ${ne}`)),!1;F+=5;break}case"var":{if(typeof ne!="number"||ne<0||ne>268435455)return ee.destroy(new Error(`Invalid ${te}: ${ne}`)),!1;F+=1+l.byteLength(m(ne));break}case"string":{if(typeof ne!="string")return ee.destroy(new Error(`Invalid ${te}: ${ne}`)),!1;F+=3+l.byteLength(ne.toString());break}case"pair":{if(typeof ne!="object")return ee.destroy(new Error(`Invalid ${te}: ${ne}`)),!1;F+=Object.getOwnPropertyNames(ne).reduce((B,j)=>{let ie=ne[j];return Array.isArray(ie)?B+=ie.reduce((de,pe)=>(de+=3+l.byteLength(j.toString())+2+l.byteLength(pe.toString()),de),0):B+=3+l.byteLength(j.toString())+2+l.byteLength(ne[j].toString()),B},0);break}default:return ee.destroy(new Error(`Invalid property ${te}: ${ne}`)),!1}return F}if(G)for(let te in G){let ne=0,ve=0,F=G[te];if(F!==void 0){if(Array.isArray(F))for(let B=0;B<F.length;B++){if(ve=X(te,F[B]),!ve)return!1;ne+=ve}else{if(ve=X(te,F),!ve)return!1;ne=ve}if(!ne)return!1;le+=ne}}return{length:l.byteLength(m(le))+le,write(){ge(ee,G,le)}}}function R(ee,G,le,X){let te=["reasonString","userProperties"],ne=le&&le.properties&&le.properties.maximumPacketSize?le.properties.maximumPacketSize:0,ve=se(ee,G);if(ne)for(;X+ve.length>ne;){let F=te.shift();if(F&&G[F])delete G[F],ve=se(ee,G);else return!1}return ve}function Z(ee,G,le){switch(t.propertiesTypes[G]){case"byte":{ee.write(l.from([t.properties[G]])),ee.write(l.from([+le]));break}case"int8":{ee.write(l.from([t.properties[G]])),ee.write(l.from([le]));break}case"binary":{ee.write(l.from([t.properties[G]])),J(ee,le);break}case"int16":{ee.write(l.from([t.properties[G]])),f(ee,le);break}case"int32":{ee.write(l.from([t.properties[G]])),fe(ee,le);break}case"var":{ee.write(l.from([t.properties[G]])),Y(ee,le);break}case"string":{ee.write(l.from([t.properties[G]])),z(ee,le);break}case"pair":{Object.getOwnPropertyNames(le).forEach(X=>{let te=le[X];Array.isArray(te)?te.forEach(ne=>{ee.write(l.from([t.properties[G]])),ue(ee,X.toString(),ne.toString())}):(ee.write(l.from([t.properties[G]])),ue(ee,X.toString(),te.toString()))});break}default:return ee.destroy(new Error(`Invalid property ${G} value: ${le}`)),!1}}function ge(ee,G,le){Y(ee,le);for(let X in G)if(Object.prototype.hasOwnProperty.call(G,X)&&G[X]!=null){let te=G[X];if(Array.isArray(te))for(let ne=0;ne<te.length;ne++)Z(ee,X,te[ne]);else Z(ee,X,te)}}function H(ee){return ee?ee instanceof l?ee.length:l.byteLength(ee):0}function Ve(ee){return typeof ee=="string"||ee instanceof l}r.exports=v}),Ny=ke((u,r)=>{be(),Ee(),we();var t=Ys(),{EventEmitter:l}=(Gt(),We(Tt)),{Buffer:n}=(ot(),We(rt));function o(a,s){let c=new i;return t(a,c,s),c.concat()}var i=class extends l{constructor(){super(),this._array=new Array(20),this._i=0}write(a){return this._array[this._i++]=a,!0}concat(){let a=0,s=new Array(this._array.length),c=this._array,d=0,p;for(p=0;p<c.length&&c[p]!==void 0;p++)typeof c[p]!="string"?s[p]=c[p].length:s[p]=n.byteLength(c[p]),a+=s[p];let m=n.allocUnsafe(a);for(p=0;p<c.length&&c[p]!==void 0;p++)typeof c[p]!="string"?(c[p].copy(m,d),d+=s[p]):(m.write(c[p],d),d+=s[p]);return m}destroy(a){a&&this.emit("error",a)}};r.exports=o}),xy=ke(u=>{be(),Ee(),we(),u.parser=vy().parser,u.generate=Ny(),u.writeToStream=Ys()}),Sy=ke((u,r)=>{be(),Ee(),we(),r.exports=l;function t(o){return o instanceof Cr?Cr.from(o):new o.constructor(o.buffer.slice(),o.byteOffset,o.length)}function l(o){if(o=o||{},o.circles)return n(o);let i=new Map;if(i.set(Date,p=>new Date(p)),i.set(Map,(p,m)=>new Map(s(Array.from(p),m))),i.set(Set,(p,m)=>new Set(s(Array.from(p),m))),o.constructorHandlers)for(let p of o.constructorHandlers)i.set(p[0],p[1]);let a=null;return o.proto?d:c;function s(p,m){let h=Object.keys(p),f=new Array(h.length);for(let w=0;w<h.length;w++){let v=h[w],S=p[v];typeof S!="object"||S===null?f[v]=S:S.constructor!==Object&&(a=i.get(S.constructor))?f[v]=a(S,m):ArrayBuffer.isView(S)?f[v]=t(S):f[v]=m(S)}return f}function c(p){if(typeof p!="object"||p===null)return p;if(Array.isArray(p))return s(p,c);if(p.constructor!==Object&&(a=i.get(p.constructor)))return a(p,c);let m={};for(let h in p){if(Object.hasOwnProperty.call(p,h)===!1)continue;let f=p[h];typeof f!="object"||f===null?m[h]=f:f.constructor!==Object&&(a=i.get(f.constructor))?m[h]=a(f,c):ArrayBuffer.isView(f)?m[h]=t(f):m[h]=c(f)}return m}function d(p){if(typeof p!="object"||p===null)return p;if(Array.isArray(p))return s(p,d);if(p.constructor!==Object&&(a=i.get(p.constructor)))return a(p,d);let m={};for(let h in p){let f=p[h];typeof f!="object"||f===null?m[h]=f:f.constructor!==Object&&(a=i.get(f.constructor))?m[h]=a(f,d):ArrayBuffer.isView(f)?m[h]=t(f):m[h]=d(f)}return m}}function n(o){let i=[],a=[],s=new Map;if(s.set(Date,h=>new Date(h)),s.set(Map,(h,f)=>new Map(d(Array.from(h),f))),s.set(Set,(h,f)=>new Set(d(Array.from(h),f))),o.constructorHandlers)for(let h of o.constructorHandlers)s.set(h[0],h[1]);let c=null;return o.proto?m:p;function d(h,f){let w=Object.keys(h),v=new Array(w.length);for(let S=0;S<w.length;S++){let b=w[S],_=h[b];if(typeof _!="object"||_===null)v[b]=_;else if(_.constructor!==Object&&(c=s.get(_.constructor)))v[b]=c(_,f);else if(ArrayBuffer.isView(_))v[b]=t(_);else{let k=i.indexOf(_);k!==-1?v[b]=a[k]:v[b]=f(_)}}return v}function p(h){if(typeof h!="object"||h===null)return h;if(Array.isArray(h))return d(h,p);if(h.constructor!==Object&&(c=s.get(h.constructor)))return c(h,p);let f={};i.push(h),a.push(f);for(let w in h){if(Object.hasOwnProperty.call(h,w)===!1)continue;let v=h[w];if(typeof v!="object"||v===null)f[w]=v;else if(v.constructor!==Object&&(c=s.get(v.constructor)))f[w]=c(v,p);else if(ArrayBuffer.isView(v))f[w]=t(v);else{let S=i.indexOf(v);S!==-1?f[w]=a[S]:f[w]=p(v)}}return i.pop(),a.pop(),f}function m(h){if(typeof h!="object"||h===null)return h;if(Array.isArray(h))return d(h,m);if(h.constructor!==Object&&(c=s.get(h.constructor)))return c(h,m);let f={};i.push(h),a.push(f);for(let w in h){let v=h[w];if(typeof v!="object"||v===null)f[w]=v;else if(v.constructor!==Object&&(c=s.get(v.constructor)))f[w]=c(v,m);else if(ArrayBuffer.isView(v))f[w]=t(v);else{let S=i.indexOf(v);S!==-1?f[w]=a[S]:f[w]=m(v)}}return i.pop(),a.pop(),f}}}),Vy=ke((u,r)=>{be(),Ee(),we(),r.exports=Sy()()}),Cy=ke(u=>{be(),Ee(),we(),Object.defineProperty(u,"__esModule",{value:!0}),u.validateTopic=r,u.validateTopics=t;function r(l){let n=l.split("/");for(let o=0;o<n.length;o++)if(n[o]!=="+"){if(n[o]==="#")return o===n.length-1;if(n[o].indexOf("+")!==-1||n[o].indexOf("#")!==-1)return!1}return!0}function t(l){if(l.length===0)return"empty_topic_list";for(let n=0;n<l.length;n++)if(!r(l[n]))return l[n];return null}}),Qs=ke(u=>{be(),Ee(),we(),Object.defineProperty(u,"__esModule",{value:!0});var r=Kt(),t={objectMode:!0},l={clean:!0},n=class{constructor(o){Se(this,"options");Se(this,"_inflights");this.options=o||{},this.options={...l,...o},this._inflights=new Map}put(o,i){return this._inflights.set(o.messageId,o),i&&i(),this}createStream(){let o=new r.Readable(t),i=[],a=!1,s=0;return this._inflights.forEach((c,d)=>{i.push(c)}),o._read=()=>{!a&&s<i.length?o.push(i[s++]):o.push(null)},o.destroy=c=>{if(!a)return a=!0,setTimeout(()=>{o.emit("close")},0),o},o}del(o,i){let a=this._inflights.get(o.messageId);return a?(this._inflights.delete(o.messageId),i(null,a)):i&&i(new Error("missing packet")),this}get(o,i){let a=this._inflights.get(o.messageId);return a?i(null,a):i&&i(new Error("missing packet")),this}close(o){this.options.clean&&(this._inflights=null),o&&o()}};u.default=n}),Iy=ke(u=>{be(),Ee(),we(),Object.defineProperty(u,"__esModule",{value:!0});var r=[0,16,128,131,135,144,145,151,153],t=(l,n,o)=>{l.log("handlePublish: packet %o",n),o=typeof o<"u"?o:l.noop;let i=n.topic.toString(),a=n.payload,{qos:s}=n,{messageId:c}=n,{options:d}=l;if(l.options.protocolVersion===5){let p;if(n.properties&&(p=n.properties.topicAlias),typeof p<"u")if(i.length===0)if(p>0&&p<=65535){let m=l.topicAliasRecv.getTopicByAlias(p);if(m)i=m,l.log("handlePublish :: topic complemented by alias. topic: %s - alias: %d",i,p);else{l.log("handlePublish :: unregistered topic alias. alias: %d",p),l.emit("error",new Error("Received unregistered Topic Alias"));return}}else{l.log("handlePublish :: topic alias out of range. alias: %d",p),l.emit("error",new Error("Received Topic Alias is out of range"));return}else if(l.topicAliasRecv.put(i,p))l.log("handlePublish :: registered topic: %s - alias: %d",i,p);else{l.log("handlePublish :: topic alias out of range. alias: %d",p),l.emit("error",new Error("Received Topic Alias is out of range"));return}}switch(l.log("handlePublish: qos %d",s),s){case 2:{d.customHandleAcks(i,a,n,(p,m)=>{if(typeof p=="number"&&(m=p,p=null),p)return l.emit("error",p);if(r.indexOf(m)===-1)return l.emit("error",new Error("Wrong reason code for pubrec"));m?l._sendPacket({cmd:"pubrec",messageId:c,reasonCode:m},o):l.incomingStore.put(n,()=>{l._sendPacket({cmd:"pubrec",messageId:c},o)})});break}case 1:{d.customHandleAcks(i,a,n,(p,m)=>{if(typeof p=="number"&&(m=p,p=null),p)return l.emit("error",p);if(r.indexOf(m)===-1)return l.emit("error",new Error("Wrong reason code for puback"));m||l.emit("message",i,a,n),l.handleMessage(n,h=>{if(h)return o&&o(h);l._sendPacket({cmd:"puback",messageId:c,reasonCode:m},o)})});break}case 0:l.emit("message",i,a,n),l.handleMessage(n,o);break;default:l.log("handlePublish: unknown QoS. Doing nothing.");break}};u.default=t}),Ay=ke((u,r)=>{r.exports={version:"5.14.1"}}),ir=ke(u=>{be(),Ee(),we(),Object.defineProperty(u,"__esModule",{value:!0}),u.MQTTJS_VERSION=u.nextTick=u.ErrorWithSubackPacket=u.ErrorWithReasonCode=void 0,u.applyMixin=l;var r=class fc extends Error{constructor(i,a){super(i);Se(this,"code");this.code=a,Object.setPrototypeOf(this,fc.prototype),Object.getPrototypeOf(this).name="ErrorWithReasonCode"}};u.ErrorWithReasonCode=r;var t=class pc extends Error{constructor(i,a){super(i);Se(this,"packet");this.packet=a,Object.setPrototypeOf(this,pc.prototype),Object.getPrototypeOf(this).name="ErrorWithSubackPacket"}};u.ErrorWithSubackPacket=t;function l(n,o,i=!1){let a=[o];for(;;){let s=a[0],c=Object.getPrototypeOf(s);if(c!=null&&c.prototype)a.unshift(c);else break}for(let s of a)for(let c of Object.getOwnPropertyNames(s.prototype))(i||c!=="constructor")&&Object.defineProperty(n.prototype,c,Object.getOwnPropertyDescriptor(s.prototype,c)??Object.create(null))}u.nextTick=typeof(ze==null?void 0:ze.nextTick)=="function"?ze.nextTick:n=>{setTimeout(n,0)},u.MQTTJS_VERSION=Ay().version}),Tr=ke(u=>{be(),Ee(),we(),Object.defineProperty(u,"__esModule",{value:!0}),u.ReasonCodes=void 0;var r=ir();u.ReasonCodes={0:"",1:"Unacceptable protocol version",2:"Identifier rejected",3:"Server unavailable",4:"Bad username or password",5:"Not authorized",16:"No matching subscribers",17:"No subscription existed",128:"Unspecified error",129:"Malformed Packet",130:"Protocol Error",131:"Implementation specific error",132:"Unsupported Protocol Version",133:"Client Identifier not valid",134:"Bad User Name or Password",135:"Not authorized",136:"Server unavailable",137:"Server busy",138:"Banned",139:"Server shutting down",140:"Bad authentication method",141:"Keep Alive timeout",142:"Session taken over",143:"Topic Filter invalid",144:"Topic Name invalid",145:"Packet identifier in use",146:"Packet Identifier not found",147:"Receive Maximum exceeded",148:"Topic Alias invalid",149:"Packet too large",150:"Message rate too high",151:"Quota exceeded",152:"Administrative action",153:"Payload format invalid",154:"Retain not supported",155:"QoS not supported",156:"Use another server",157:"Server moved",158:"Shared Subscriptions not supported",159:"Connection rate exceeded",160:"Maximum connect time",161:"Subscription Identifiers not supported",162:"Wildcard Subscriptions not supported"};var t=(l,n)=>{let{messageId:o}=n,i=n.cmd,a=null,s=l.outgoing[o]?l.outgoing[o].cb:null,c=null;if(!s){l.log("_handleAck :: Server sent an ack in error. Ignoring.");return}switch(l.log("_handleAck :: packet type",i),i){case"pubcomp":case"puback":{let d=n.reasonCode;d&&d>0&&d!==16?(c=new r.ErrorWithReasonCode(`Publish error: ${u.ReasonCodes[d]}`,d),l._removeOutgoingAndStoreMessage(o,()=>{s(c,n)})):l._removeOutgoingAndStoreMessage(o,s);break}case"pubrec":{a={cmd:"pubrel",qos:2,messageId:o};let d=n.reasonCode;d&&d>0&&d!==16?(c=new r.ErrorWithReasonCode(`Publish error: ${u.ReasonCodes[d]}`,d),l._removeOutgoingAndStoreMessage(o,()=>{s(c,n)})):l._sendPacket(a);break}case"suback":{delete l.outgoing[o],l.messageIdProvider.deallocate(o);let d=n.granted;for(let p=0;p<d.length;p++){let m=d[p];if(m&128){c=new Error(`Subscribe error: ${u.ReasonCodes[m]}`),c.code=m;let h=l.messageIdToTopic[o];h&&h.forEach(f=>{delete l._resubscribeTopics[f]})}}delete l.messageIdToTopic[o],l._invokeStoreProcessingQueue(),s(c,n);break}case"unsuback":{delete l.outgoing[o],l.messageIdProvider.deallocate(o),l._invokeStoreProcessingQueue(),s(null,n);break}default:l.emit("error",new Error("unrecognized packet type"))}l.disconnecting&&Object.keys(l.outgoing).length===0&&l.emit("outgoingEmpty")};u.default=t}),$y=ke(u=>{be(),Ee(),we(),Object.defineProperty(u,"__esModule",{value:!0});var r=ir(),t=Tr(),l=(n,o)=>{let{options:i}=n,a=i.protocolVersion,s=a===5?o.reasonCode:o.returnCode;if(a!==5){let c=new r.ErrorWithReasonCode(`Protocol error: Auth packets are only supported in MQTT 5. Your version:${a}`,s);n.emit("error",c);return}n.handleAuth(o,(c,d)=>{if(c){n.emit("error",c);return}if(s===24)n.reconnecting=!1,n._sendPacket(d);else{let p=new r.ErrorWithReasonCode(`Connection refused: ${t.ReasonCodes[s]}`,s);n.emit("error",p)}})};u.default=l}),Ty=ke(u=>{var h,f,w,v,S,b,_,k,E,I,x,V,$,C,P,A,U,Y,z,ue,oe,re,fe,J,se,R,Z,ge,H,Ki,ee,G,le,X,hc,ne,ve,F,Lt,Ut,Yi,po,ho,Ye,Qi,Nr,Ft,Ji,Ie;be(),Ee(),we(),Object.defineProperty(u,"__esModule",{value:!0}),u.LRUCache=void 0;var r=typeof performance=="object"&&performance&&typeof performance.now=="function"?performance:Date,t=new Set,l=typeof ze=="object"&&ze?ze:{},n=(g,y,N,T)=>{typeof l.emitWarning=="function"?l.emitWarning(g,y,N,T):console.error(`[${N}] ${y}: ${g}`)},o=globalThis.AbortController,i=globalThis.AbortSignal;if(typeof o>"u"){i=class{constructor(){Se(this,"onabort");Se(this,"_onabort",[]);Se(this,"reason");Se(this,"aborted",!1)}addEventListener(N,T){this._onabort.push(T)}},o=class{constructor(){Se(this,"signal",new i);y()}abort(N){var T,L;if(!this.signal.aborted){this.signal.reason=N,this.signal.aborted=!0;for(let Q of this.signal._onabort)Q(N);(L=(T=this.signal).onabort)==null||L.call(T,N)}}};let g=((h=l.env)==null?void 0:h.LRU_CACHE_IGNORE_AC_WARNING)!=="1",y=()=>{g&&(g=!1,n("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.","NO_ABORT_CONTROLLER","ENOTSUP",y))}}var a=g=>!t.has(g),s=g=>g&&g===Math.floor(g)&&g>0&&isFinite(g),c=g=>s(g)?g<=Math.pow(2,8)?Uint8Array:g<=Math.pow(2,16)?Uint16Array:g<=Math.pow(2,32)?Uint32Array:g<=Number.MAX_SAFE_INTEGER?d:null:null,d=class extends Array{constructor(g){super(g),this.fill(0)}},p=(f=class{constructor(y,N){Se(this,"heap");Se(this,"length");if(!q(f,w))throw new TypeError("instantiate Stack using Stack.create(n)");this.heap=new N(y),this.length=0}static create(y){let N=c(y);if(!N)return[];Oe(f,w,!0);let T=new f(y,N);return Oe(f,w,!1),T}push(y){this.heap[this.length++]=y}pop(){return this.heap[--this.length]}},w=new WeakMap,Fe(f,w,!1),f),m=(Ie=class{constructor(y){Fe(this,H);Fe(this,b);Fe(this,_);Fe(this,k);Fe(this,E);Fe(this,I);Fe(this,x);Se(this,"ttl");Se(this,"ttlResolution");Se(this,"ttlAutopurge");Se(this,"updateAgeOnGet");Se(this,"updateAgeOnHas");Se(this,"allowStale");Se(this,"noDisposeOnSet");Se(this,"noUpdateTTL");Se(this,"maxEntrySize");Se(this,"sizeCalculation");Se(this,"noDeleteOnFetchRejection");Se(this,"noDeleteOnStaleGet");Se(this,"allowStaleOnFetchAbort");Se(this,"allowStaleOnFetchRejection");Se(this,"ignoreFetchAbort");Fe(this,V);Fe(this,$);Fe(this,C);Fe(this,P);Fe(this,A);Fe(this,U);Fe(this,Y);Fe(this,z);Fe(this,ue);Fe(this,oe);Fe(this,re);Fe(this,fe);Fe(this,J);Fe(this,se);Fe(this,R);Fe(this,Z);Fe(this,ge);Fe(this,ee,()=>{});Fe(this,G,()=>{});Fe(this,le,()=>{});Fe(this,X,()=>!1);Fe(this,ne,y=>{});Fe(this,ve,(y,N,T)=>{});Fe(this,F,(y,N,T,L)=>{if(T||L)throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");return 0});Se(this,v,"LRUCache");let{max:N=0,ttl:T,ttlResolution:L=1,ttlAutopurge:Q,updateAgeOnGet:ae,updateAgeOnHas:D,allowStale:O,dispose:he,disposeAfter:_e,noDisposeOnSet:xe,noUpdateTTL:De,maxSize:Ge=0,maxEntrySize:et=0,sizeCalculation:Re,fetchMethod:He,memoMethod:Pe,noDeleteOnFetchRejection:Ue,noDeleteOnStaleGet:qe,allowStaleOnFetchRejection:Ze,allowStaleOnFetchAbort:nt,ignoreFetchAbort:ht}=y;if(N!==0&&!s(N))throw new TypeError("max option must be a nonnegative integer");let M=N?c(N):Array;if(!M)throw new Error("invalid max value: "+N);if(Oe(this,b,N),Oe(this,_,Ge),this.maxEntrySize=et||q(this,_),this.sizeCalculation=Re,this.sizeCalculation){if(!q(this,_)&&!this.maxEntrySize)throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");if(typeof this.sizeCalculation!="function")throw new TypeError("sizeCalculation set to non-function")}if(Pe!==void 0&&typeof Pe!="function")throw new TypeError("memoMethod must be a function if defined");if(Oe(this,x,Pe),He!==void 0&&typeof He!="function")throw new TypeError("fetchMethod must be a function if specified");if(Oe(this,I,He),Oe(this,Z,!!He),Oe(this,C,new Map),Oe(this,P,new Array(N).fill(void 0)),Oe(this,A,new Array(N).fill(void 0)),Oe(this,U,new M(N)),Oe(this,Y,new M(N)),Oe(this,z,0),Oe(this,ue,0),Oe(this,oe,p.create(N)),Oe(this,V,0),Oe(this,$,0),typeof he=="function"&&Oe(this,k,he),typeof _e=="function"?(Oe(this,E,_e),Oe(this,re,[])):(Oe(this,E,void 0),Oe(this,re,void 0)),Oe(this,R,!!q(this,k)),Oe(this,ge,!!q(this,E)),this.noDisposeOnSet=!!xe,this.noUpdateTTL=!!De,this.noDeleteOnFetchRejection=!!Ue,this.allowStaleOnFetchRejection=!!Ze,this.allowStaleOnFetchAbort=!!nt,this.ignoreFetchAbort=!!ht,this.maxEntrySize!==0){if(q(this,_)!==0&&!s(q(this,_)))throw new TypeError("maxSize must be a positive integer if specified");if(!s(this.maxEntrySize))throw new TypeError("maxEntrySize must be a positive integer if specified");Be(this,H,hc).call(this)}if(this.allowStale=!!O,this.noDeleteOnStaleGet=!!qe,this.updateAgeOnGet=!!ae,this.updateAgeOnHas=!!D,this.ttlResolution=s(L)||L===0?L:1,this.ttlAutopurge=!!Q,this.ttl=T||0,this.ttl){if(!s(this.ttl))throw new TypeError("ttl must be a positive integer if specified");Be(this,H,Ki).call(this)}if(q(this,b)===0&&this.ttl===0&&q(this,_)===0)throw new TypeError("At least one of max, maxSize, or ttl is required");if(!this.ttlAutopurge&&!q(this,b)&&!q(this,_)){let W="LRU_CACHE_UNBOUNDED";a(W)&&(t.add(W),n("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning",W,Ie))}}static unsafeExposeInternals(y){return{starts:q(y,J),ttls:q(y,se),sizes:q(y,fe),keyMap:q(y,C),keyList:q(y,P),valList:q(y,A),next:q(y,U),prev:q(y,Y),get head(){return q(y,z)},get tail(){return q(y,ue)},free:q(y,oe),isBackgroundFetch:N=>{var T;return Be(T=y,H,Ye).call(T,N)},backgroundFetch:(N,T,L,Q)=>{var ae;return Be(ae=y,H,ho).call(ae,N,T,L,Q)},moveToTail:N=>{var T;return Be(T=y,H,Nr).call(T,N)},indexes:N=>{var T;return Be(T=y,H,Lt).call(T,N)},rindexes:N=>{var T;return Be(T=y,H,Ut).call(T,N)},isStale:N=>{var T;return q(T=y,X).call(T,N)}}}get max(){return q(this,b)}get maxSize(){return q(this,_)}get calculatedSize(){return q(this,$)}get size(){return q(this,V)}get fetchMethod(){return q(this,I)}get memoMethod(){return q(this,x)}get dispose(){return q(this,k)}get disposeAfter(){return q(this,E)}getRemainingTTL(y){return q(this,C).has(y)?1/0:0}*entries(){for(let y of Be(this,H,Lt).call(this))q(this,A)[y]!==void 0&&q(this,P)[y]!==void 0&&!Be(this,H,Ye).call(this,q(this,A)[y])&&(yield[q(this,P)[y],q(this,A)[y]])}*rentries(){for(let y of Be(this,H,Ut).call(this))q(this,A)[y]!==void 0&&q(this,P)[y]!==void 0&&!Be(this,H,Ye).call(this,q(this,A)[y])&&(yield[q(this,P)[y],q(this,A)[y]])}*keys(){for(let y of Be(this,H,Lt).call(this)){let N=q(this,P)[y];N!==void 0&&!Be(this,H,Ye).call(this,q(this,A)[y])&&(yield N)}}*rkeys(){for(let y of Be(this,H,Ut).call(this)){let N=q(this,P)[y];N!==void 0&&!Be(this,H,Ye).call(this,q(this,A)[y])&&(yield N)}}*values(){for(let y of Be(this,H,Lt).call(this))q(this,A)[y]!==void 0&&!Be(this,H,Ye).call(this,q(this,A)[y])&&(yield q(this,A)[y])}*rvalues(){for(let y of Be(this,H,Ut).call(this))q(this,A)[y]!==void 0&&!Be(this,H,Ye).call(this,q(this,A)[y])&&(yield q(this,A)[y])}[(S=Symbol.iterator,v=Symbol.toStringTag,S)](){return this.entries()}find(y,N={}){for(let T of Be(this,H,Lt).call(this)){let L=q(this,A)[T],Q=Be(this,H,Ye).call(this,L)?L.__staleWhileFetching:L;if(Q!==void 0&&y(Q,q(this,P)[T],this))return this.get(q(this,P)[T],N)}}forEach(y,N=this){for(let T of Be(this,H,Lt).call(this)){let L=q(this,A)[T],Q=Be(this,H,Ye).call(this,L)?L.__staleWhileFetching:L;Q!==void 0&&y.call(N,Q,q(this,P)[T],this)}}rforEach(y,N=this){for(let T of Be(this,H,Ut).call(this)){let L=q(this,A)[T],Q=Be(this,H,Ye).call(this,L)?L.__staleWhileFetching:L;Q!==void 0&&y.call(N,Q,q(this,P)[T],this)}}purgeStale(){let y=!1;for(let N of Be(this,H,Ut).call(this,{allowStale:!0}))q(this,X).call(this,N)&&(Be(this,H,Ft).call(this,q(this,P)[N],"expire"),y=!0);return y}info(y){let N=q(this,C).get(y);if(N===void 0)return;let T=q(this,A)[N],L=Be(this,H,Ye).call(this,T)?T.__staleWhileFetching:T;if(L===void 0)return;let Q={value:L};if(q(this,se)&&q(this,J)){let ae=q(this,se)[N],D=q(this,J)[N];if(ae&&D){let O=ae-(r.now()-D);Q.ttl=O,Q.start=Date.now()}}return q(this,fe)&&(Q.size=q(this,fe)[N]),Q}dump(){let y=[];for(let N of Be(this,H,Lt).call(this,{allowStale:!0})){let T=q(this,P)[N],L=q(this,A)[N],Q=Be(this,H,Ye).call(this,L)?L.__staleWhileFetching:L;if(Q===void 0||T===void 0)continue;let ae={value:Q};if(q(this,se)&&q(this,J)){ae.ttl=q(this,se)[N];let D=r.now()-q(this,J)[N];ae.start=Math.floor(Date.now()-D)}q(this,fe)&&(ae.size=q(this,fe)[N]),y.unshift([T,ae])}return y}load(y){this.clear();for(let[N,T]of y){if(T.start){let L=Date.now()-T.start;T.start=r.now()-L}this.set(N,T.value,T)}}set(y,N,T={}){var De,Ge,et,Re,He;if(N===void 0)return this.delete(y),this;let{ttl:L=this.ttl,start:Q,noDisposeOnSet:ae=this.noDisposeOnSet,sizeCalculation:D=this.sizeCalculation,status:O}=T,{noUpdateTTL:he=this.noUpdateTTL}=T,_e=q(this,F).call(this,y,N,T.size||0,D);if(this.maxEntrySize&&_e>this.maxEntrySize)return O&&(O.set="miss",O.maxEntrySizeExceeded=!0),Be(this,H,Ft).call(this,y,"set"),this;let xe=q(this,V)===0?void 0:q(this,C).get(y);if(xe===void 0)xe=q(this,V)===0?q(this,ue):q(this,oe).length!==0?q(this,oe).pop():q(this,V)===q(this,b)?Be(this,H,po).call(this,!1):q(this,V),q(this,P)[xe]=y,q(this,A)[xe]=N,q(this,C).set(y,xe),q(this,U)[q(this,ue)]=xe,q(this,Y)[xe]=q(this,ue),Oe(this,ue,xe),fo(this,V)._++,q(this,ve).call(this,xe,_e,O),O&&(O.set="add"),he=!1;else{Be(this,H,Nr).call(this,xe);let Pe=q(this,A)[xe];if(N!==Pe){if(q(this,Z)&&Be(this,H,Ye).call(this,Pe)){Pe.__abortController.abort(new Error("replaced"));let{__staleWhileFetching:Ue}=Pe;Ue!==void 0&&!ae&&(q(this,R)&&((De=q(this,k))==null||De.call(this,Ue,y,"set")),q(this,ge)&&((Ge=q(this,re))==null||Ge.push([Ue,y,"set"])))}else ae||(q(this,R)&&((et=q(this,k))==null||et.call(this,Pe,y,"set")),q(this,ge)&&((Re=q(this,re))==null||Re.push([Pe,y,"set"])));if(q(this,ne).call(this,xe),q(this,ve).call(this,xe,_e,O),q(this,A)[xe]=N,O){O.set="replace";let Ue=Pe&&Be(this,H,Ye).call(this,Pe)?Pe.__staleWhileFetching:Pe;Ue!==void 0&&(O.oldValue=Ue)}}else O&&(O.set="update")}if(L!==0&&!q(this,se)&&Be(this,H,Ki).call(this),q(this,se)&&(he||q(this,le).call(this,xe,L,Q),O&&q(this,G).call(this,O,xe)),!ae&&q(this,ge)&&q(this,re)){let Pe=q(this,re),Ue;for(;Ue=Pe==null?void 0:Pe.shift();)(He=q(this,E))==null||He.call(this,...Ue)}return this}pop(){var y;try{for(;q(this,V);){let N=q(this,A)[q(this,z)];if(Be(this,H,po).call(this,!0),Be(this,H,Ye).call(this,N)){if(N.__staleWhileFetching)return N.__staleWhileFetching}else if(N!==void 0)return N}}finally{if(q(this,ge)&&q(this,re)){let N=q(this,re),T;for(;T=N==null?void 0:N.shift();)(y=q(this,E))==null||y.call(this,...T)}}}has(y,N={}){let{updateAgeOnHas:T=this.updateAgeOnHas,status:L}=N,Q=q(this,C).get(y);if(Q!==void 0){let ae=q(this,A)[Q];if(Be(this,H,Ye).call(this,ae)&&ae.__staleWhileFetching===void 0)return!1;if(q(this,X).call(this,Q))L&&(L.has="stale",q(this,G).call(this,L,Q));else return T&&q(this,ee).call(this,Q),L&&(L.has="hit",q(this,G).call(this,L,Q)),!0}else L&&(L.has="miss");return!1}peek(y,N={}){let{allowStale:T=this.allowStale}=N,L=q(this,C).get(y);if(L===void 0||!T&&q(this,X).call(this,L))return;let Q=q(this,A)[L];return Be(this,H,Ye).call(this,Q)?Q.__staleWhileFetching:Q}async fetch(y,N={}){let{allowStale:T=this.allowStale,updateAgeOnGet:L=this.updateAgeOnGet,noDeleteOnStaleGet:Q=this.noDeleteOnStaleGet,ttl:ae=this.ttl,noDisposeOnSet:D=this.noDisposeOnSet,size:O=0,sizeCalculation:he=this.sizeCalculation,noUpdateTTL:_e=this.noUpdateTTL,noDeleteOnFetchRejection:xe=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:De=this.allowStaleOnFetchRejection,ignoreFetchAbort:Ge=this.ignoreFetchAbort,allowStaleOnFetchAbort:et=this.allowStaleOnFetchAbort,context:Re,forceRefresh:He=!1,status:Pe,signal:Ue}=N;if(!q(this,Z))return Pe&&(Pe.fetch="get"),this.get(y,{allowStale:T,updateAgeOnGet:L,noDeleteOnStaleGet:Q,status:Pe});let qe={allowStale:T,updateAgeOnGet:L,noDeleteOnStaleGet:Q,ttl:ae,noDisposeOnSet:D,size:O,sizeCalculation:he,noUpdateTTL:_e,noDeleteOnFetchRejection:xe,allowStaleOnFetchRejection:De,allowStaleOnFetchAbort:et,ignoreFetchAbort:Ge,status:Pe,signal:Ue},Ze=q(this,C).get(y);if(Ze===void 0){Pe&&(Pe.fetch="miss");let nt=Be(this,H,ho).call(this,y,Ze,qe,Re);return nt.__returned=nt}else{let nt=q(this,A)[Ze];if(Be(this,H,Ye).call(this,nt)){let Ce=T&&nt.__staleWhileFetching!==void 0;return Pe&&(Pe.fetch="inflight",Ce&&(Pe.returnedStale=!0)),Ce?nt.__staleWhileFetching:nt.__returned=nt}let ht=q(this,X).call(this,Ze);if(!He&&!ht)return Pe&&(Pe.fetch="hit"),Be(this,H,Nr).call(this,Ze),L&&q(this,ee).call(this,Ze),Pe&&q(this,G).call(this,Pe,Ze),nt;let M=Be(this,H,ho).call(this,y,Ze,qe,Re),W=M.__staleWhileFetching!==void 0&&T;return Pe&&(Pe.fetch=ht?"stale":"refresh",W&&ht&&(Pe.returnedStale=!0)),W?M.__staleWhileFetching:M.__returned=M}}async forceFetch(y,N={}){let T=await this.fetch(y,N);if(T===void 0)throw new Error("fetch() returned undefined");return T}memo(y,N={}){let T=q(this,x);if(!T)throw new Error("no memoMethod provided to constructor");let{context:L,forceRefresh:Q,...ae}=N,D=this.get(y,ae);if(!Q&&D!==void 0)return D;let O=T(y,D,{options:ae,context:L});return this.set(y,O,ae),O}get(y,N={}){let{allowStale:T=this.allowStale,updateAgeOnGet:L=this.updateAgeOnGet,noDeleteOnStaleGet:Q=this.noDeleteOnStaleGet,status:ae}=N,D=q(this,C).get(y);if(D!==void 0){let O=q(this,A)[D],he=Be(this,H,Ye).call(this,O);return ae&&q(this,G).call(this,ae,D),q(this,X).call(this,D)?(ae&&(ae.get="stale"),he?(ae&&T&&O.__staleWhileFetching!==void 0&&(ae.returnedStale=!0),T?O.__staleWhileFetching:void 0):(Q||Be(this,H,Ft).call(this,y,"expire"),ae&&T&&(ae.returnedStale=!0),T?O:void 0)):(ae&&(ae.get="hit"),he?O.__staleWhileFetching:(Be(this,H,Nr).call(this,D),L&&q(this,ee).call(this,D),O))}else ae&&(ae.get="miss")}delete(y){return Be(this,H,Ft).call(this,y,"delete")}clear(){return Be(this,H,Ji).call(this,"delete")}},b=new WeakMap,_=new WeakMap,k=new WeakMap,E=new WeakMap,I=new WeakMap,x=new WeakMap,V=new WeakMap,$=new WeakMap,C=new WeakMap,P=new WeakMap,A=new WeakMap,U=new WeakMap,Y=new WeakMap,z=new WeakMap,ue=new WeakMap,oe=new WeakMap,re=new WeakMap,fe=new WeakMap,J=new WeakMap,se=new WeakMap,R=new WeakMap,Z=new WeakMap,ge=new WeakMap,H=new WeakSet,Ki=function(){let y=new d(q(this,b)),N=new d(q(this,b));Oe(this,se,y),Oe(this,J,N),Oe(this,le,(Q,ae,D=r.now())=>{if(N[Q]=ae!==0?D:0,y[Q]=ae,ae!==0&&this.ttlAutopurge){let O=setTimeout(()=>{q(this,X).call(this,Q)&&Be(this,H,Ft).call(this,q(this,P)[Q],"expire")},ae+1);O.unref&&O.unref()}}),Oe(this,ee,Q=>{N[Q]=y[Q]!==0?r.now():0}),Oe(this,G,(Q,ae)=>{if(y[ae]){let D=y[ae],O=N[ae];if(!D||!O)return;Q.ttl=D,Q.start=O,Q.now=T||L();let he=Q.now-O;Q.remainingTTL=D-he}});let T=0,L=()=>{let Q=r.now();if(this.ttlResolution>0){T=Q;let ae=setTimeout(()=>T=0,this.ttlResolution);ae.unref&&ae.unref()}return Q};this.getRemainingTTL=Q=>{let ae=q(this,C).get(Q);if(ae===void 0)return 0;let D=y[ae],O=N[ae];if(!D||!O)return 1/0;let he=(T||L())-O;return D-he},Oe(this,X,Q=>{let ae=N[Q],D=y[Q];return!!D&&!!ae&&(T||L())-ae>D})},ee=new WeakMap,G=new WeakMap,le=new WeakMap,X=new WeakMap,hc=function(){let y=new d(q(this,b));Oe(this,$,0),Oe(this,fe,y),Oe(this,ne,N=>{Oe(this,$,q(this,$)-y[N]),y[N]=0}),Oe(this,F,(N,T,L,Q)=>{if(Be(this,H,Ye).call(this,T))return 0;if(!s(L))if(Q){if(typeof Q!="function")throw new TypeError("sizeCalculation must be a function");if(L=Q(T,N),!s(L))throw new TypeError("sizeCalculation return invalid (expect positive integer)")}else throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");return L}),Oe(this,ve,(N,T,L)=>{if(y[N]=T,q(this,_)){let Q=q(this,_)-y[N];for(;q(this,$)>Q;)Be(this,H,po).call(this,!0)}Oe(this,$,q(this,$)+y[N]),L&&(L.entrySize=T,L.totalCalculatedSize=q(this,$))})},ne=new WeakMap,ve=new WeakMap,F=new WeakMap,Lt=function*({allowStale:y=this.allowStale}={}){if(q(this,V))for(let N=q(this,ue);!(!Be(this,H,Yi).call(this,N)||((y||!q(this,X).call(this,N))&&(yield N),N===q(this,z)));)N=q(this,Y)[N]},Ut=function*({allowStale:y=this.allowStale}={}){if(q(this,V))for(let N=q(this,z);!(!Be(this,H,Yi).call(this,N)||((y||!q(this,X).call(this,N))&&(yield N),N===q(this,ue)));)N=q(this,U)[N]},Yi=function(y){return y!==void 0&&q(this,C).get(q(this,P)[y])===y},po=function(y){var Q,ae;let N=q(this,z),T=q(this,P)[N],L=q(this,A)[N];return q(this,Z)&&Be(this,H,Ye).call(this,L)?L.__abortController.abort(new Error("evicted")):(q(this,R)||q(this,ge))&&(q(this,R)&&((Q=q(this,k))==null||Q.call(this,L,T,"evict")),q(this,ge)&&((ae=q(this,re))==null||ae.push([L,T,"evict"]))),q(this,ne).call(this,N),y&&(q(this,P)[N]=void 0,q(this,A)[N]=void 0,q(this,oe).push(N)),q(this,V)===1?(Oe(this,z,Oe(this,ue,0)),q(this,oe).length=0):Oe(this,z,q(this,U)[N]),q(this,C).delete(T),fo(this,V)._--,N},ho=function(y,N,T,L){let Q=N===void 0?void 0:q(this,A)[N];if(Be(this,H,Ye).call(this,Q))return Q;let ae=new o,{signal:D}=T;D==null||D.addEventListener("abort",()=>ae.abort(D.reason),{signal:ae.signal});let O={signal:ae.signal,options:T,context:L},he=(Re,He=!1)=>{let{aborted:Pe}=ae.signal,Ue=T.ignoreFetchAbort&&Re!==void 0;if(T.status&&(Pe&&!He?(T.status.fetchAborted=!0,T.status.fetchError=ae.signal.reason,Ue&&(T.status.fetchAbortIgnored=!0)):T.status.fetchResolved=!0),Pe&&!Ue&&!He)return xe(ae.signal.reason);let qe=Ge;return q(this,A)[N]===Ge&&(Re===void 0?qe.__staleWhileFetching?q(this,A)[N]=qe.__staleWhileFetching:Be(this,H,Ft).call(this,y,"fetch"):(T.status&&(T.status.fetchUpdated=!0),this.set(y,Re,O.options))),Re},_e=Re=>(T.status&&(T.status.fetchRejected=!0,T.status.fetchError=Re),xe(Re)),xe=Re=>{let{aborted:He}=ae.signal,Pe=He&&T.allowStaleOnFetchAbort,Ue=Pe||T.allowStaleOnFetchRejection,qe=Ue||T.noDeleteOnFetchRejection,Ze=Ge;if(q(this,A)[N]===Ge&&(!qe||Ze.__staleWhileFetching===void 0?Be(this,H,Ft).call(this,y,"fetch"):Pe||(q(this,A)[N]=Ze.__staleWhileFetching)),Ue)return T.status&&Ze.__staleWhileFetching!==void 0&&(T.status.returnedStale=!0),Ze.__staleWhileFetching;if(Ze.__returned===Ze)throw Re},De=(Re,He)=>{var Ue;let Pe=(Ue=q(this,I))==null?void 0:Ue.call(this,y,Q,O);Pe&&Pe instanceof Promise&&Pe.then(qe=>Re(qe===void 0?void 0:qe),He),ae.signal.addEventListener("abort",()=>{(!T.ignoreFetchAbort||T.allowStaleOnFetchAbort)&&(Re(void 0),T.allowStaleOnFetchAbort&&(Re=qe=>he(qe,!0)))})};T.status&&(T.status.fetchDispatched=!0);let Ge=new Promise(De).then(he,_e),et=Object.assign(Ge,{__abortController:ae,__staleWhileFetching:Q,__returned:void 0});return N===void 0?(this.set(y,et,{...O.options,status:void 0}),N=q(this,C).get(y)):q(this,A)[N]=et,et},Ye=function(y){if(!q(this,Z))return!1;let N=y;return!!N&&N instanceof Promise&&N.hasOwnProperty("__staleWhileFetching")&&N.__abortController instanceof o},Qi=function(y,N){q(this,Y)[N]=y,q(this,U)[y]=N},Nr=function(y){y!==q(this,ue)&&(y===q(this,z)?Oe(this,z,q(this,U)[y]):Be(this,H,Qi).call(this,q(this,Y)[y],q(this,U)[y]),Be(this,H,Qi).call(this,q(this,ue),y),Oe(this,ue,y))},Ft=function(y,N){var L,Q,ae,D;let T=!1;if(q(this,V)!==0){let O=q(this,C).get(y);if(O!==void 0)if(T=!0,q(this,V)===1)Be(this,H,Ji).call(this,N);else{q(this,ne).call(this,O);let he=q(this,A)[O];if(Be(this,H,Ye).call(this,he)?he.__abortController.abort(new Error("deleted")):(q(this,R)||q(this,ge))&&(q(this,R)&&((L=q(this,k))==null||L.call(this,he,y,N)),q(this,ge)&&((Q=q(this,re))==null||Q.push([he,y,N]))),q(this,C).delete(y),q(this,P)[O]=void 0,q(this,A)[O]=void 0,O===q(this,ue))Oe(this,ue,q(this,Y)[O]);else if(O===q(this,z))Oe(this,z,q(this,U)[O]);else{let _e=q(this,Y)[O];q(this,U)[_e]=q(this,U)[O];let xe=q(this,U)[O];q(this,Y)[xe]=q(this,Y)[O]}fo(this,V)._--,q(this,oe).push(O)}}if(q(this,ge)&&((ae=q(this,re))!=null&&ae.length)){let O=q(this,re),he;for(;he=O==null?void 0:O.shift();)(D=q(this,E))==null||D.call(this,...he)}return T},Ji=function(y){var N,T,L;for(let Q of Be(this,H,Ut).call(this,{allowStale:!0})){let ae=q(this,A)[Q];if(Be(this,H,Ye).call(this,ae))ae.__abortController.abort(new Error("deleted"));else{let D=q(this,P)[Q];q(this,R)&&((N=q(this,k))==null||N.call(this,ae,D,y)),q(this,ge)&&((T=q(this,re))==null||T.push([ae,D,y]))}}if(q(this,C).clear(),q(this,A).fill(void 0),q(this,P).fill(void 0),q(this,se)&&q(this,J)&&(q(this,se).fill(0),q(this,J).fill(0)),q(this,fe)&&q(this,fe).fill(0),Oe(this,z,0),Oe(this,ue,0),q(this,oe).length=0,Oe(this,$,0),Oe(this,V,0),q(this,ge)&&q(this,re)){let Q=q(this,re),ae;for(;ae=Q==null?void 0:Q.shift();)(L=q(this,E))==null||L.call(this,...ae)}},Ie);u.LRUCache=m}),St=ke(u=>{be(),Ee(),we(),Object.defineProperty(u,"t",{value:!0}),u.ContainerIterator=u.Container=u.Base=void 0;var r=class{constructor(n=0){this.iteratorType=n}equals(n){return this.o===n.o}};u.ContainerIterator=r;var t=class{constructor(){this.i=0}get length(){return this.i}size(){return this.i}empty(){return this.i===0}};u.Base=t;var l=class extends t{};u.Container=l}),By=ke(u=>{be(),Ee(),we(),Object.defineProperty(u,"t",{value:!0}),u.default=void 0;var r=St(),t=class extends r.Base{constructor(n=[]){super(),this.S=[];let o=this;n.forEach(function(i){o.push(i)})}clear(){this.i=0,this.S=[]}push(n){return this.S.push(n),this.i+=1,this.i}pop(){if(this.i!==0)return this.i-=1,this.S.pop()}top(){return this.S[this.i-1]}},l=t;u.default=l}),Dy=ke(u=>{be(),Ee(),we(),Object.defineProperty(u,"t",{value:!0}),u.default=void 0;var r=St(),t=class extends r.Base{constructor(n=[]){super(),this.j=0,this.q=[];let o=this;n.forEach(function(i){o.push(i)})}clear(){this.q=[],this.i=this.j=0}push(n){let o=this.q.length;if(this.j/o>.5&&this.j+this.i>=o&&o>4096){let i=this.i;for(let a=0;a<i;++a)this.q[a]=this.q[this.j+a];this.j=0,this.q[this.i]=n}else this.q[this.j+this.i]=n;return++this.i}pop(){if(this.i===0)return;let n=this.q[this.j++];return this.i-=1,n}front(){if(this.i!==0)return this.q[this.j]}},l=t;u.default=l}),Py=ke(u=>{be(),Ee(),we(),Object.defineProperty(u,"t",{value:!0}),u.default=void 0;var r=St(),t=class extends r.Base{constructor(n=[],o=function(a,s){return a>s?-1:a<s?1:0},i=!0){if(super(),this.v=o,Array.isArray(n))this.C=i?[...n]:n;else{this.C=[];let s=this;n.forEach(function(c){s.C.push(c)})}this.i=this.C.length;let a=this.i>>1;for(let s=this.i-1>>1;s>=0;--s)this.k(s,a)}m(n){let o=this.C[n];for(;n>0;){let i=n-1>>1,a=this.C[i];if(this.v(a,o)<=0)break;this.C[n]=a,n=i}this.C[n]=o}k(n,o){let i=this.C[n];for(;n<o;){let a=n<<1|1,s=a+1,c=this.C[a];if(s<this.i&&this.v(c,this.C[s])>0&&(a=s,c=this.C[s]),this.v(c,i)>=0)break;this.C[n]=c,n=a}this.C[n]=i}clear(){this.i=0,this.C.length=0}push(n){this.C.push(n),this.m(this.i),this.i+=1}pop(){if(this.i===0)return;let n=this.C[0],o=this.C.pop();return this.i-=1,this.i&&(this.C[0]=o,this.k(0,this.i>>1)),n}top(){return this.C[0]}find(n){return this.C.indexOf(n)>=0}remove(n){let o=this.C.indexOf(n);return o<0?!1:(o===0?this.pop():o===this.i-1?(this.C.pop(),this.i-=1):(this.C.splice(o,1,this.C.pop()),this.i-=1,this.m(o),this.k(o,this.i>>1)),!0)}updateItem(n){let o=this.C.indexOf(n);return o<0?!1:(this.m(o),this.k(o,this.i>>1),!0)}toArray(){return[...this.C]}},l=t;u.default=l}),Rn=ke(u=>{be(),Ee(),we(),Object.defineProperty(u,"t",{value:!0}),u.default=void 0;var r=St(),t=class extends r.Container{},l=t;u.default=l}),Vt=ke(u=>{be(),Ee(),we(),Object.defineProperty(u,"t",{value:!0}),u.throwIteratorAccessError=r;function r(){throw new RangeError("Iterator access denied!")}}),Js=ke(u=>{be(),Ee(),we(),Object.defineProperty(u,"t",{value:!0}),u.RandomIterator=void 0;var r=St(),t=Vt(),l=class extends r.ContainerIterator{constructor(n,o){super(o),this.o=n,this.iteratorType===0?(this.pre=function(){return this.o===0&&(0,t.throwIteratorAccessError)(),this.o-=1,this},this.next=function(){return this.o===this.container.size()&&(0,t.throwIteratorAccessError)(),this.o+=1,this}):(this.pre=function(){return this.o===this.container.size()-1&&(0,t.throwIteratorAccessError)(),this.o+=1,this},this.next=function(){return this.o===-1&&(0,t.throwIteratorAccessError)(),this.o-=1,this})}get pointer(){return this.container.getElementByPos(this.o)}set pointer(n){this.container.setElementByPos(this.o,n)}};u.RandomIterator=l}),Oy=ke(u=>{be(),Ee(),we(),Object.defineProperty(u,"t",{value:!0}),u.default=void 0;var r=l(Rn()),t=Js();function l(a){return a&&a.t?a:{default:a}}var n=class mc extends t.RandomIterator{constructor(s,c,d){super(s,d),this.container=c}copy(){return new mc(this.o,this.container,this.iteratorType)}},o=class extends r.default{constructor(a=[],s=!0){if(super(),Array.isArray(a))this.J=s?[...a]:a,this.i=a.length;else{this.J=[];let c=this;a.forEach(function(d){c.pushBack(d)})}}clear(){this.i=0,this.J.length=0}begin(){return new n(0,this)}end(){return new n(this.i,this)}rBegin(){return new n(this.i-1,this,1)}rEnd(){return new n(-1,this,1)}front(){return this.J[0]}back(){return this.J[this.i-1]}getElementByPos(a){if(a<0||a>this.i-1)throw new RangeError;return this.J[a]}eraseElementByPos(a){if(a<0||a>this.i-1)throw new RangeError;return this.J.splice(a,1),this.i-=1,this.i}eraseElementByValue(a){let s=0;for(let c=0;c<this.i;++c)this.J[c]!==a&&(this.J[s++]=this.J[c]);return this.i=this.J.length=s,this.i}eraseElementByIterator(a){let s=a.o;return a=a.next(),this.eraseElementByPos(s),a}pushBack(a){return this.J.push(a),this.i+=1,this.i}popBack(){if(this.i!==0)return this.i-=1,this.J.pop()}setElementByPos(a,s){if(a<0||a>this.i-1)throw new RangeError;this.J[a]=s}insert(a,s,c=1){if(a<0||a>this.i)throw new RangeError;return this.J.splice(a,0,...new Array(c).fill(s)),this.i+=c,this.i}find(a){for(let s=0;s<this.i;++s)if(this.J[s]===a)return new n(s,this);return this.end()}reverse(){this.J.reverse()}unique(){let a=1;for(let s=1;s<this.i;++s)this.J[s]!==this.J[s-1]&&(this.J[a++]=this.J[s]);return this.i=this.J.length=a,this.i}sort(a){this.J.sort(a)}forEach(a){for(let s=0;s<this.i;++s)a(this.J[s],s,this)}[Symbol.iterator](){return(function*(){yield*this.J}).bind(this)()}},i=o;u.default=i}),My=ke(u=>{be(),Ee(),we(),Object.defineProperty(u,"t",{value:!0}),u.default=void 0;var r=n(Rn()),t=St(),l=Vt();function n(s){return s&&s.t?s:{default:s}}var o=class gc extends t.ContainerIterator{constructor(c,d,p,m){super(m),this.o=c,this.h=d,this.container=p,this.iteratorType===0?(this.pre=function(){return this.o.L===this.h&&(0,l.throwIteratorAccessError)(),this.o=this.o.L,this},this.next=function(){return this.o===this.h&&(0,l.throwIteratorAccessError)(),this.o=this.o.B,this}):(this.pre=function(){return this.o.B===this.h&&(0,l.throwIteratorAccessError)(),this.o=this.o.B,this},this.next=function(){return this.o===this.h&&(0,l.throwIteratorAccessError)(),this.o=this.o.L,this})}get pointer(){return this.o===this.h&&(0,l.throwIteratorAccessError)(),this.o.l}set pointer(c){this.o===this.h&&(0,l.throwIteratorAccessError)(),this.o.l=c}copy(){return new gc(this.o,this.h,this.container,this.iteratorType)}},i=class extends r.default{constructor(s=[]){super(),this.h={},this.p=this._=this.h.L=this.h.B=this.h;let c=this;s.forEach(function(d){c.pushBack(d)})}V(s){let{L:c,B:d}=s;c.B=d,d.L=c,s===this.p&&(this.p=d),s===this._&&(this._=c),this.i-=1}G(s,c){let d=c.B,p={l:s,L:c,B:d};c.B=p,d.L=p,c===this.h&&(this.p=p),d===this.h&&(this._=p),this.i+=1}clear(){this.i=0,this.p=this._=this.h.L=this.h.B=this.h}begin(){return new o(this.p,this.h,this)}end(){return new o(this.h,this.h,this)}rBegin(){return new o(this._,this.h,this,1)}rEnd(){return new o(this.h,this.h,this,1)}front(){return this.p.l}back(){return this._.l}getElementByPos(s){if(s<0||s>this.i-1)throw new RangeError;let c=this.p;for(;s--;)c=c.B;return c.l}eraseElementByPos(s){if(s<0||s>this.i-1)throw new RangeError;let c=this.p;for(;s--;)c=c.B;return this.V(c),this.i}eraseElementByValue(s){let c=this.p;for(;c!==this.h;)c.l===s&&this.V(c),c=c.B;return this.i}eraseElementByIterator(s){let c=s.o;return c===this.h&&(0,l.throwIteratorAccessError)(),s=s.next(),this.V(c),s}pushBack(s){return this.G(s,this._),this.i}popBack(){if(this.i===0)return;let s=this._.l;return this.V(this._),s}pushFront(s){return this.G(s,this.h),this.i}popFront(){if(this.i===0)return;let s=this.p.l;return this.V(this.p),s}setElementByPos(s,c){if(s<0||s>this.i-1)throw new RangeError;let d=this.p;for(;s--;)d=d.B;d.l=c}insert(s,c,d=1){if(s<0||s>this.i)throw new RangeError;if(d<=0)return this.i;if(s===0)for(;d--;)this.pushFront(c);else if(s===this.i)for(;d--;)this.pushBack(c);else{let p=this.p;for(let h=1;h<s;++h)p=p.B;let m=p.B;for(this.i+=d;d--;)p.B={l:c,L:p},p.B.L=p,p=p.B;p.B=m,m.L=p}return this.i}find(s){let c=this.p;for(;c!==this.h;){if(c.l===s)return new o(c,this.h,this);c=c.B}return this.end()}reverse(){if(this.i<=1)return;let s=this.p,c=this._,d=0;for(;d<<1<this.i;){let p=s.l;s.l=c.l,c.l=p,s=s.B,c=c.L,d+=1}}unique(){if(this.i<=1)return this.i;let s=this.p;for(;s!==this.h;){let c=s;for(;c.B!==this.h&&c.l===c.B.l;)c=c.B,this.i-=1;s.B=c.B,s.B.L=s,s=s.B}return this.i}sort(s){if(this.i<=1)return;let c=[];this.forEach(function(p){c.push(p)}),c.sort(s);let d=this.p;c.forEach(function(p){d.l=p,d=d.B})}merge(s){let c=this;if(this.i===0)s.forEach(function(d){c.pushBack(d)});else{let d=this.p;s.forEach(function(p){for(;d!==c.h&&d.l<=p;)d=d.B;c.G(p,d.L)})}return this.i}forEach(s){let c=this.p,d=0;for(;c!==this.h;)s(c.l,d++,this),c=c.B}[Symbol.iterator](){return(function*(){if(this.i===0)return;let s=this.p;for(;s!==this.h;)yield s.l,s=s.B}).bind(this)()}},a=i;u.default=a}),Ry=ke(u=>{be(),Ee(),we(),Object.defineProperty(u,"t",{value:!0}),u.default=void 0;var r=l(Rn()),t=Js();function l(a){return a&&a.t?a:{default:a}}var n=class yc extends t.RandomIterator{constructor(s,c,d){super(s,d),this.container=c}copy(){return new yc(this.o,this.container,this.iteratorType)}},o=class extends r.default{constructor(a=[],s=4096){super(),this.j=0,this.D=0,this.R=0,this.N=0,this.P=0,this.A=[];let c=(()=>{if(typeof a.length=="number")return a.length;if(typeof a.size=="number")return a.size;if(typeof a.size=="function")return a.size();throw new TypeError("Cannot get the length or size of the container")})();this.F=s,this.P=Math.max(Math.ceil(c/this.F),1);for(let m=0;m<this.P;++m)this.A.push(new Array(this.F));let d=Math.ceil(c/this.F);this.j=this.R=(this.P>>1)-(d>>1),this.D=this.N=this.F-c%this.F>>1;let p=this;a.forEach(function(m){p.pushBack(m)})}T(){let a=[],s=Math.max(this.P>>1,1);for(let c=0;c<s;++c)a[c]=new Array(this.F);for(let c=this.j;c<this.P;++c)a[a.length]=this.A[c];for(let c=0;c<this.R;++c)a[a.length]=this.A[c];a[a.length]=[...this.A[this.R]],this.j=s,this.R=a.length-1;for(let c=0;c<s;++c)a[a.length]=new Array(this.F);this.A=a,this.P=a.length}O(a){let s=this.D+a+1,c=s%this.F,d=c-1,p=this.j+(s-c)/this.F;return c===0&&(p-=1),p%=this.P,d<0&&(d+=this.F),{curNodeBucketIndex:p,curNodePointerIndex:d}}clear(){this.A=[new Array(this.F)],this.P=1,this.j=this.R=this.i=0,this.D=this.N=this.F>>1}begin(){return new n(0,this)}end(){return new n(this.i,this)}rBegin(){return new n(this.i-1,this,1)}rEnd(){return new n(-1,this,1)}front(){if(this.i!==0)return this.A[this.j][this.D]}back(){if(this.i!==0)return this.A[this.R][this.N]}pushBack(a){return this.i&&(this.N<this.F-1?this.N+=1:this.R<this.P-1?(this.R+=1,this.N=0):(this.R=0,this.N=0),this.R===this.j&&this.N===this.D&&this.T()),this.i+=1,this.A[this.R][this.N]=a,this.i}popBack(){if(this.i===0)return;let a=this.A[this.R][this.N];return this.i!==1&&(this.N>0?this.N-=1:this.R>0?(this.R-=1,this.N=this.F-1):(this.R=this.P-1,this.N=this.F-1)),this.i-=1,a}pushFront(a){return this.i&&(this.D>0?this.D-=1:this.j>0?(this.j-=1,this.D=this.F-1):(this.j=this.P-1,this.D=this.F-1),this.j===this.R&&this.D===this.N&&this.T()),this.i+=1,this.A[this.j][this.D]=a,this.i}popFront(){if(this.i===0)return;let a=this.A[this.j][this.D];return this.i!==1&&(this.D<this.F-1?this.D+=1:this.j<this.P-1?(this.j+=1,this.D=0):(this.j=0,this.D=0)),this.i-=1,a}getElementByPos(a){if(a<0||a>this.i-1)throw new RangeError;let{curNodeBucketIndex:s,curNodePointerIndex:c}=this.O(a);return this.A[s][c]}setElementByPos(a,s){if(a<0||a>this.i-1)throw new RangeError;let{curNodeBucketIndex:c,curNodePointerIndex:d}=this.O(a);this.A[c][d]=s}insert(a,s,c=1){if(a<0||a>this.i)throw new RangeError;if(a===0)for(;c--;)this.pushFront(s);else if(a===this.i)for(;c--;)this.pushBack(s);else{let d=[];for(let p=a;p<this.i;++p)d.push(this.getElementByPos(p));this.cut(a-1);for(let p=0;p<c;++p)this.pushBack(s);for(let p=0;p<d.length;++p)this.pushBack(d[p])}return this.i}cut(a){if(a<0)return this.clear(),0;let{curNodeBucketIndex:s,curNodePointerIndex:c}=this.O(a);return this.R=s,this.N=c,this.i=a+1,this.i}eraseElementByPos(a){if(a<0||a>this.i-1)throw new RangeError;if(a===0)this.popFront();else if(a===this.i-1)this.popBack();else{let s=[];for(let d=a+1;d<this.i;++d)s.push(this.getElementByPos(d));this.cut(a),this.popBack();let c=this;s.forEach(function(d){c.pushBack(d)})}return this.i}eraseElementByValue(a){if(this.i===0)return 0;let s=[];for(let d=0;d<this.i;++d){let p=this.getElementByPos(d);p!==a&&s.push(p)}let c=s.length;for(let d=0;d<c;++d)this.setElementByPos(d,s[d]);return this.cut(c-1)}eraseElementByIterator(a){let s=a.o;return this.eraseElementByPos(s),a=a.next(),a}find(a){for(let s=0;s<this.i;++s)if(this.getElementByPos(s)===a)return new n(s,this);return this.end()}reverse(){let a=0,s=this.i-1;for(;a<s;){let c=this.getElementByPos(a);this.setElementByPos(a,this.getElementByPos(s)),this.setElementByPos(s,c),a+=1,s-=1}}unique(){if(this.i<=1)return this.i;let a=1,s=this.getElementByPos(0);for(let c=1;c<this.i;++c){let d=this.getElementByPos(c);d!==s&&(s=d,this.setElementByPos(a++,d))}for(;this.i>a;)this.popBack();return this.i}sort(a){let s=[];for(let c=0;c<this.i;++c)s.push(this.getElementByPos(c));s.sort(a);for(let c=0;c<this.i;++c)this.setElementByPos(c,s[c])}shrinkToFit(){if(this.i===0)return;let a=[];this.forEach(function(s){a.push(s)}),this.P=Math.max(Math.ceil(this.i/this.F),1),this.i=this.j=this.R=this.D=this.N=0,this.A=[];for(let s=0;s<this.P;++s)this.A.push(new Array(this.F));for(let s=0;s<a.length;++s)this.pushBack(a[s])}forEach(a){for(let s=0;s<this.i;++s)a(this.getElementByPos(s),s,this)}[Symbol.iterator](){return(function*(){for(let a=0;a<this.i;++a)yield this.getElementByPos(a)}).bind(this)()}},i=o;u.default=i}),jy=ke(u=>{be(),Ee(),we(),Object.defineProperty(u,"t",{value:!0}),u.TreeNodeEnableIndex=u.TreeNode=void 0;var r=class{constructor(l,n){this.ee=1,this.u=void 0,this.l=void 0,this.U=void 0,this.W=void 0,this.tt=void 0,this.u=l,this.l=n}L(){let l=this;if(l.ee===1&&l.tt.tt===l)l=l.W;else if(l.U)for(l=l.U;l.W;)l=l.W;else{let n=l.tt;for(;n.U===l;)l=n,n=l.tt;l=n}return l}B(){let l=this;if(l.W){for(l=l.W;l.U;)l=l.U;return l}else{let n=l.tt;for(;n.W===l;)l=n,n=l.tt;return l.W!==n?n:l}}te(){let l=this.tt,n=this.W,o=n.U;return l.tt===this?l.tt=n:l.U===this?l.U=n:l.W=n,n.tt=l,n.U=this,this.tt=n,this.W=o,o&&(o.tt=this),n}se(){let l=this.tt,n=this.U,o=n.W;return l.tt===this?l.tt=n:l.U===this?l.U=n:l.W=n,n.tt=l,n.W=this,this.tt=n,this.U=o,o&&(o.tt=this),n}};u.TreeNode=r;var t=class extends r{constructor(){super(...arguments),this.rt=1}te(){let l=super.te();return this.ie(),l.ie(),l}se(){let l=super.se();return this.ie(),l.ie(),l}ie(){this.rt=1,this.U&&(this.rt+=this.U.rt),this.W&&(this.rt+=this.W.rt)}};u.TreeNodeEnableIndex=t}),Xs=ke(u=>{be(),Ee(),we(),Object.defineProperty(u,"t",{value:!0}),u.default=void 0;var r=jy(),t=St(),l=Vt(),n=class extends t.Container{constructor(i=function(s,c){return s<c?-1:s>c?1:0},a=!1){super(),this.Y=void 0,this.v=i,a?(this.re=r.TreeNodeEnableIndex,this.M=function(s,c,d){let p=this.ne(s,c,d);if(p){let m=p.tt;for(;m!==this.h;)m.rt+=1,m=m.tt;let h=this.he(p);if(h){let{parentNode:f,grandParent:w,curNode:v}=h;f.ie(),w.ie(),v.ie()}}return this.i},this.V=function(s){let c=this.fe(s);for(;c!==this.h;)c.rt-=1,c=c.tt}):(this.re=r.TreeNode,this.M=function(s,c,d){let p=this.ne(s,c,d);return p&&this.he(p),this.i},this.V=this.fe),this.h=new this.re}X(i,a){let s=this.h;for(;i;){let c=this.v(i.u,a);if(c<0)i=i.W;else if(c>0)s=i,i=i.U;else return i}return s}Z(i,a){let s=this.h;for(;i;)this.v(i.u,a)<=0?i=i.W:(s=i,i=i.U);return s}$(i,a){let s=this.h;for(;i;){let c=this.v(i.u,a);if(c<0)s=i,i=i.W;else if(c>0)i=i.U;else return i}return s}rr(i,a){let s=this.h;for(;i;)this.v(i.u,a)<0?(s=i,i=i.W):i=i.U;return s}ue(i){for(;;){let a=i.tt;if(a===this.h)return;if(i.ee===1){i.ee=0;return}if(i===a.U){let s=a.W;if(s.ee===1)s.ee=0,a.ee=1,a===this.Y?this.Y=a.te():a.te();else if(s.W&&s.W.ee===1){s.ee=a.ee,a.ee=0,s.W.ee=0,a===this.Y?this.Y=a.te():a.te();return}else s.U&&s.U.ee===1?(s.ee=1,s.U.ee=0,s.se()):(s.ee=1,i=a)}else{let s=a.U;if(s.ee===1)s.ee=0,a.ee=1,a===this.Y?this.Y=a.se():a.se();else if(s.U&&s.U.ee===1){s.ee=a.ee,a.ee=0,s.U.ee=0,a===this.Y?this.Y=a.se():a.se();return}else s.W&&s.W.ee===1?(s.ee=1,s.W.ee=0,s.te()):(s.ee=1,i=a)}}}fe(i){if(this.i===1)return this.clear(),this.h;let a=i;for(;a.U||a.W;){if(a.W)for(a=a.W;a.U;)a=a.U;else a=a.U;[i.u,a.u]=[a.u,i.u],[i.l,a.l]=[a.l,i.l],i=a}this.h.U===a?this.h.U=a.tt:this.h.W===a&&(this.h.W=a.tt),this.ue(a);let s=a.tt;return a===s.U?s.U=void 0:s.W=void 0,this.i-=1,this.Y.ee=0,s}oe(i,a){return i===void 0?!1:this.oe(i.U,a)||a(i)?!0:this.oe(i.W,a)}he(i){for(;;){let a=i.tt;if(a.ee===0)return;let s=a.tt;if(a===s.U){let c=s.W;if(c&&c.ee===1){if(c.ee=a.ee=0,s===this.Y)return;s.ee=1,i=s;continue}else if(i===a.W){if(i.ee=0,i.U&&(i.U.tt=a),i.W&&(i.W.tt=s),a.W=i.U,s.U=i.W,i.U=a,i.W=s,s===this.Y)this.Y=i,this.h.tt=i;else{let d=s.tt;d.U===s?d.U=i:d.W=i}return i.tt=s.tt,a.tt=i,s.tt=i,s.ee=1,{parentNode:a,grandParent:s,curNode:i}}else a.ee=0,s===this.Y?this.Y=s.se():s.se(),s.ee=1}else{let c=s.U;if(c&&c.ee===1){if(c.ee=a.ee=0,s===this.Y)return;s.ee=1,i=s;continue}else if(i===a.U){if(i.ee=0,i.U&&(i.U.tt=s),i.W&&(i.W.tt=a),s.W=i.U,a.U=i.W,i.U=s,i.W=a,s===this.Y)this.Y=i,this.h.tt=i;else{let d=s.tt;d.U===s?d.U=i:d.W=i}return i.tt=s.tt,a.tt=i,s.tt=i,s.ee=1,{parentNode:a,grandParent:s,curNode:i}}else a.ee=0,s===this.Y?this.Y=s.te():s.te(),s.ee=1}return}}ne(i,a,s){if(this.Y===void 0){this.i+=1,this.Y=new this.re(i,a),this.Y.ee=0,this.Y.tt=this.h,this.h.tt=this.Y,this.h.U=this.Y,this.h.W=this.Y;return}let c,d=this.h.U,p=this.v(d.u,i);if(p===0){d.l=a;return}else if(p>0)d.U=new this.re(i,a),d.U.tt=d,c=d.U,this.h.U=c;else{let m=this.h.W,h=this.v(m.u,i);if(h===0){m.l=a;return}else if(h<0)m.W=new this.re(i,a),m.W.tt=m,c=m.W,this.h.W=c;else{if(s!==void 0){let f=s.o;if(f!==this.h){let w=this.v(f.u,i);if(w===0){f.l=a;return}else if(w>0){let v=f.L(),S=this.v(v.u,i);if(S===0){v.l=a;return}else S<0&&(c=new this.re(i,a),v.W===void 0?(v.W=c,c.tt=v):(f.U=c,c.tt=f))}}}if(c===void 0)for(c=this.Y;;){let f=this.v(c.u,i);if(f>0){if(c.U===void 0){c.U=new this.re(i,a),c.U.tt=c,c=c.U;break}c=c.U}else if(f<0){if(c.W===void 0){c.W=new this.re(i,a),c.W.tt=c,c=c.W;break}c=c.W}else{c.l=a;return}}}}return this.i+=1,c}I(i,a){for(;i;){let s=this.v(i.u,a);if(s<0)i=i.W;else if(s>0)i=i.U;else return i}return i||this.h}clear(){this.i=0,this.Y=void 0,this.h.tt=void 0,this.h.U=this.h.W=void 0}updateKeyByIterator(i,a){let s=i.o;if(s===this.h&&(0,l.throwIteratorAccessError)(),this.i===1)return s.u=a,!0;if(s===this.h.U)return this.v(s.B().u,a)>0?(s.u=a,!0):!1;if(s===this.h.W)return this.v(s.L().u,a)<0?(s.u=a,!0):!1;let c=s.L().u;if(this.v(c,a)>=0)return!1;let d=s.B().u;return this.v(d,a)<=0?!1:(s.u=a,!0)}eraseElementByPos(i){if(i<0||i>this.i-1)throw new RangeError;let a=0,s=this;return this.oe(this.Y,function(c){return i===a?(s.V(c),!0):(a+=1,!1)}),this.i}eraseElementByKey(i){if(this.i===0)return!1;let a=this.I(this.Y,i);return a===this.h?!1:(this.V(a),!0)}eraseElementByIterator(i){let a=i.o;a===this.h&&(0,l.throwIteratorAccessError)();let s=a.W===void 0;return i.iteratorType===0?s&&i.next():(!s||a.U===void 0)&&i.next(),this.V(a),i}forEach(i){let a=0;for(let s of this)i(s,a++,this)}getElementByPos(i){if(i<0||i>this.i-1)throw new RangeError;let a,s=0;for(let c of this){if(s===i){a=c;break}s+=1}return a}getHeight(){if(this.i===0)return 0;let i=function(a){return a?Math.max(i(a.U),i(a.W))+1:0};return i(this.Y)}},o=n;u.default=o}),Zs=ke(u=>{be(),Ee(),we(),Object.defineProperty(u,"t",{value:!0}),u.default=void 0;var r=St(),t=Vt(),l=class extends r.ContainerIterator{constructor(o,i,a){super(a),this.o=o,this.h=i,this.iteratorType===0?(this.pre=function(){return this.o===this.h.U&&(0,t.throwIteratorAccessError)(),this.o=this.o.L(),this},this.next=function(){return this.o===this.h&&(0,t.throwIteratorAccessError)(),this.o=this.o.B(),this}):(this.pre=function(){return this.o===this.h.W&&(0,t.throwIteratorAccessError)(),this.o=this.o.B(),this},this.next=function(){return this.o===this.h&&(0,t.throwIteratorAccessError)(),this.o=this.o.L(),this})}get index(){let o=this.o,i=this.h.tt;if(o===this.h)return i?i.rt-1:0;let a=0;for(o.U&&(a+=o.U.rt);o!==i;){let s=o.tt;o===s.W&&(a+=1,s.U&&(a+=s.U.rt)),o=s}return a}},n=l;u.default=n}),Ly=ke(u=>{be(),Ee(),we(),Object.defineProperty(u,"t",{value:!0}),u.default=void 0;var r=n(Xs()),t=n(Zs()),l=Vt();function n(s){return s&&s.t?s:{default:s}}var o=class bc extends t.default{constructor(c,d,p,m){super(c,d,m),this.container=p}get pointer(){return this.o===this.h&&(0,l.throwIteratorAccessError)(),this.o.u}copy(){return new bc(this.o,this.h,this.container,this.iteratorType)}},i=class extends r.default{constructor(s=[],c,d){super(c,d);let p=this;s.forEach(function(m){p.insert(m)})}*K(s){s!==void 0&&(yield*this.K(s.U),yield s.u,yield*this.K(s.W))}begin(){return new o(this.h.U||this.h,this.h,this)}end(){return new o(this.h,this.h,this)}rBegin(){return new o(this.h.W||this.h,this.h,this,1)}rEnd(){return new o(this.h,this.h,this,1)}front(){return this.h.U?this.h.U.u:void 0}back(){return this.h.W?this.h.W.u:void 0}insert(s,c){return this.M(s,void 0,c)}find(s){let c=this.I(this.Y,s);return new o(c,this.h,this)}lowerBound(s){let c=this.X(this.Y,s);return new o(c,this.h,this)}upperBound(s){let c=this.Z(this.Y,s);return new o(c,this.h,this)}reverseLowerBound(s){let c=this.$(this.Y,s);return new o(c,this.h,this)}reverseUpperBound(s){let c=this.rr(this.Y,s);return new o(c,this.h,this)}union(s){let c=this;return s.forEach(function(d){c.insert(d)}),this.i}[Symbol.iterator](){return this.K(this.Y)}},a=i;u.default=a}),Uy=ke(u=>{be(),Ee(),we(),Object.defineProperty(u,"t",{value:!0}),u.default=void 0;var r=n(Xs()),t=n(Zs()),l=Vt();function n(s){return s&&s.t?s:{default:s}}var o=class wc extends t.default{constructor(c,d,p,m){super(c,d,m),this.container=p}get pointer(){this.o===this.h&&(0,l.throwIteratorAccessError)();let c=this;return new Proxy([],{get(d,p){if(p==="0")return c.o.u;if(p==="1")return c.o.l},set(d,p,m){if(p!=="1")throw new TypeError("props must be 1");return c.o.l=m,!0}})}copy(){return new wc(this.o,this.h,this.container,this.iteratorType)}},i=class extends r.default{constructor(s=[],c,d){super(c,d);let p=this;s.forEach(function(m){p.setElement(m[0],m[1])})}*K(s){s!==void 0&&(yield*this.K(s.U),yield[s.u,s.l],yield*this.K(s.W))}begin(){return new o(this.h.U||this.h,this.h,this)}end(){return new o(this.h,this.h,this)}rBegin(){return new o(this.h.W||this.h,this.h,this,1)}rEnd(){return new o(this.h,this.h,this,1)}front(){if(this.i===0)return;let s=this.h.U;return[s.u,s.l]}back(){if(this.i===0)return;let s=this.h.W;return[s.u,s.l]}lowerBound(s){let c=this.X(this.Y,s);return new o(c,this.h,this)}upperBound(s){let c=this.Z(this.Y,s);return new o(c,this.h,this)}reverseLowerBound(s){let c=this.$(this.Y,s);return new o(c,this.h,this)}reverseUpperBound(s){let c=this.rr(this.Y,s);return new o(c,this.h,this)}setElement(s,c,d){return this.M(s,c,d)}find(s){let c=this.I(this.Y,s);return new o(c,this.h,this)}getElementByKey(s){return this.I(this.Y,s).l}union(s){let c=this;return s.forEach(function(d){c.setElement(d[0],d[1])}),this.i}[Symbol.iterator](){return this.K(this.Y)}},a=i;u.default=a}),ea=ke(u=>{be(),Ee(),we(),Object.defineProperty(u,"t",{value:!0}),u.default=r;function r(t){let l=typeof t;return l==="object"&&t!==null||l==="function"}}),ta=ke(u=>{be(),Ee(),we(),Object.defineProperty(u,"t",{value:!0}),u.HashContainerIterator=u.HashContainer=void 0;var r=St(),t=n(ea()),l=Vt();function n(a){return a&&a.t?a:{default:a}}var o=class extends r.ContainerIterator{constructor(a,s,c){super(c),this.o=a,this.h=s,this.iteratorType===0?(this.pre=function(){return this.o.L===this.h&&(0,l.throwIteratorAccessError)(),this.o=this.o.L,this},this.next=function(){return this.o===this.h&&(0,l.throwIteratorAccessError)(),this.o=this.o.B,this}):(this.pre=function(){return this.o.B===this.h&&(0,l.throwIteratorAccessError)(),this.o=this.o.B,this},this.next=function(){return this.o===this.h&&(0,l.throwIteratorAccessError)(),this.o=this.o.L,this})}};u.HashContainerIterator=o;var i=class extends r.Container{constructor(){super(),this.H=[],this.g={},this.HASH_TAG=Symbol("@@HASH_TAG"),Object.setPrototypeOf(this.g,null),this.h={},this.h.L=this.h.B=this.p=this._=this.h}V(a){let{L:s,B:c}=a;s.B=c,c.L=s,a===this.p&&(this.p=c),a===this._&&(this._=s),this.i-=1}M(a,s,c){c===void 0&&(c=(0,t.default)(a));let d;if(c){let p=a[this.HASH_TAG];if(p!==void 0)return this.H[p].l=s,this.i;Object.defineProperty(a,this.HASH_TAG,{value:this.H.length,configurable:!0}),d={u:a,l:s,L:this._,B:this.h},this.H.push(d)}else{let p=this.g[a];if(p)return p.l=s,this.i;d={u:a,l:s,L:this._,B:this.h},this.g[a]=d}return this.i===0?(this.p=d,this.h.B=d):this._.B=d,this._=d,this.h.L=d,++this.i}I(a,s){if(s===void 0&&(s=(0,t.default)(a)),s){let c=a[this.HASH_TAG];return c===void 0?this.h:this.H[c]}else return this.g[a]||this.h}clear(){let a=this.HASH_TAG;this.H.forEach(function(s){delete s.u[a]}),this.H=[],this.g={},Object.setPrototypeOf(this.g,null),this.i=0,this.p=this._=this.h.L=this.h.B=this.h}eraseElementByKey(a,s){let c;if(s===void 0&&(s=(0,t.default)(a)),s){let d=a[this.HASH_TAG];if(d===void 0)return!1;delete a[this.HASH_TAG],c=this.H[d],delete this.H[d]}else{if(c=this.g[a],c===void 0)return!1;delete this.g[a]}return this.V(c),!0}eraseElementByIterator(a){let s=a.o;return s===this.h&&(0,l.throwIteratorAccessError)(),this.V(s),a.next()}eraseElementByPos(a){if(a<0||a>this.i-1)throw new RangeError;let s=this.p;for(;a--;)s=s.B;return this.V(s),this.i}};u.HashContainer=i}),Fy=ke(u=>{be(),Ee(),we(),Object.defineProperty(u,"t",{value:!0}),u.default=void 0;var r=ta(),t=Vt(),l=class Ec extends r.HashContainerIterator{constructor(a,s,c,d){super(a,s,d),this.container=c}get pointer(){return this.o===this.h&&(0,t.throwIteratorAccessError)(),this.o.u}copy(){return new Ec(this.o,this.h,this.container,this.iteratorType)}},n=class extends r.HashContainer{constructor(i=[]){super();let a=this;i.forEach(function(s){a.insert(s)})}begin(){return new l(this.p,this.h,this)}end(){return new l(this.h,this.h,this)}rBegin(){return new l(this._,this.h,this,1)}rEnd(){return new l(this.h,this.h,this,1)}front(){return this.p.u}back(){return this._.u}insert(i,a){return this.M(i,void 0,a)}getElementByPos(i){if(i<0||i>this.i-1)throw new RangeError;let a=this.p;for(;i--;)a=a.B;return a.u}find(i,a){let s=this.I(i,a);return new l(s,this.h,this)}forEach(i){let a=0,s=this.p;for(;s!==this.h;)i(s.u,a++,this),s=s.B}[Symbol.iterator](){return(function*(){let i=this.p;for(;i!==this.h;)yield i.u,i=i.B}).bind(this)()}},o=n;u.default=o}),zy=ke(u=>{be(),Ee(),we(),Object.defineProperty(u,"t",{value:!0}),u.default=void 0;var r=ta(),t=n(ea()),l=Vt();function n(s){return s&&s.t?s:{default:s}}var o=class vc extends r.HashContainerIterator{constructor(c,d,p,m){super(c,d,m),this.container=p}get pointer(){this.o===this.h&&(0,l.throwIteratorAccessError)();let c=this;return new Proxy([],{get(d,p){if(p==="0")return c.o.u;if(p==="1")return c.o.l},set(d,p,m){if(p!=="1")throw new TypeError("props must be 1");return c.o.l=m,!0}})}copy(){return new vc(this.o,this.h,this.container,this.iteratorType)}},i=class extends r.HashContainer{constructor(s=[]){super();let c=this;s.forEach(function(d){c.setElement(d[0],d[1])})}begin(){return new o(this.p,this.h,this)}end(){return new o(this.h,this.h,this)}rBegin(){return new o(this._,this.h,this,1)}rEnd(){return new o(this.h,this.h,this,1)}front(){if(this.i!==0)return[this.p.u,this.p.l]}back(){if(this.i!==0)return[this._.u,this._.l]}setElement(s,c,d){return this.M(s,c,d)}getElementByKey(s,c){if(c===void 0&&(c=(0,t.default)(s)),c){let p=s[this.HASH_TAG];return p!==void 0?this.H[p].l:void 0}let d=this.g[s];return d?d.l:void 0}getElementByPos(s){if(s<0||s>this.i-1)throw new RangeError;let c=this.p;for(;s--;)c=c.B;return[c.u,c.l]}find(s,c){let d=this.I(s,c);return new o(d,this.h,this)}forEach(s){let c=0,d=this.p;for(;d!==this.h;)s([d.u,d.l],c++,this),d=d.B}[Symbol.iterator](){return(function*(){let s=this.p;for(;s!==this.h;)yield[s.u,s.l],s=s.B}).bind(this)()}},a=i;u.default=a}),Wy=ke(u=>{be(),Ee(),we(),Object.defineProperty(u,"t",{value:!0}),Object.defineProperty(u,"Deque",{enumerable:!0,get:function(){return i.default}}),Object.defineProperty(u,"HashMap",{enumerable:!0,get:function(){return d.default}}),Object.defineProperty(u,"HashSet",{enumerable:!0,get:function(){return c.default}}),Object.defineProperty(u,"LinkList",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(u,"OrderedMap",{enumerable:!0,get:function(){return s.default}}),Object.defineProperty(u,"OrderedSet",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(u,"PriorityQueue",{enumerable:!0,get:function(){return l.default}}),Object.defineProperty(u,"Queue",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(u,"Stack",{enumerable:!0,get:function(){return r.default}}),Object.defineProperty(u,"Vector",{enumerable:!0,get:function(){return n.default}});var r=p(By()),t=p(Dy()),l=p(Py()),n=p(Oy()),o=p(My()),i=p(Ry()),a=p(Ly()),s=p(Uy()),c=p(Fy()),d=p(zy());function p(m){return m&&m.t?m:{default:m}}}),qy=ke((u,r)=>{be(),Ee(),we();var t=Wy().OrderedSet,l=xt()("number-allocator:trace"),n=xt()("number-allocator:error");function o(a,s){this.low=a,this.high=s}o.prototype.equals=function(a){return this.low===a.low&&this.high===a.high},o.prototype.compare=function(a){return this.low<a.low&&this.high<a.low?-1:a.low<this.low&&a.high<this.low?1:0};function i(a,s){if(!(this instanceof i))return new i(a,s);this.min=a,this.max=s,this.ss=new t([],(c,d)=>c.compare(d)),l("Create"),this.clear()}i.prototype.firstVacant=function(){return this.ss.size()===0?null:this.ss.front().low},i.prototype.alloc=function(){if(this.ss.size()===0)return l("alloc():empty"),null;let a=this.ss.begin(),s=a.pointer.low,c=a.pointer.high,d=s;return d+1<=c?this.ss.updateKeyByIterator(a,new o(s+1,c)):this.ss.eraseElementByPos(0),l("alloc():"+d),d},i.prototype.use=function(a){let s=new o(a,a),c=this.ss.lowerBound(s);if(!c.equals(this.ss.end())){let d=c.pointer.low,p=c.pointer.high;return c.pointer.equals(s)?(this.ss.eraseElementByIterator(c),l("use():"+a),!0):d>a?!1:d===a?(this.ss.updateKeyByIterator(c,new o(d+1,p)),l("use():"+a),!0):p===a?(this.ss.updateKeyByIterator(c,new o(d,p-1)),l("use():"+a),!0):(this.ss.updateKeyByIterator(c,new o(a+1,p)),this.ss.insert(new o(d,a-1)),l("use():"+a),!0)}return l("use():failed"),!1},i.prototype.free=function(a){if(a<this.min||a>this.max){n("free():"+a+" is out of range");return}let s=new o(a,a),c=this.ss.upperBound(s);if(c.equals(this.ss.end())){if(c.equals(this.ss.begin())){this.ss.insert(s);return}c.pre();let d=c.pointer.high;c.pointer.high+1===a?this.ss.updateKeyByIterator(c,new o(d,a)):this.ss.insert(s)}else if(c.equals(this.ss.begin()))if(a+1===c.pointer.low){let d=c.pointer.high;this.ss.updateKeyByIterator(c,new o(a,d))}else this.ss.insert(s);else{let d=c.pointer.low,p=c.pointer.high;c.pre();let m=c.pointer.low;c.pointer.high+1===a?a+1===d?(this.ss.eraseElementByIterator(c),this.ss.updateKeyByIterator(c,new o(m,p))):this.ss.updateKeyByIterator(c,new o(m,a)):a+1===d?(this.ss.eraseElementByIterator(c.next()),this.ss.insert(new o(a,p))):this.ss.insert(s)}l("free():"+a)},i.prototype.clear=function(){l("clear()"),this.ss.clear(),this.ss.insert(new o(this.min,this.max))},i.prototype.intervalCount=function(){return this.ss.size()},i.prototype.dump=function(){console.log("length:"+this.ss.size());for(let a of this.ss)console.log(a)},r.exports=i}),ra=ke((u,r)=>{be(),Ee(),we();var t=qy();r.exports.NumberAllocator=t}),Gy=ke(u=>{be(),Ee(),we(),Object.defineProperty(u,"__esModule",{value:!0});var r=Ty(),t=ra(),l=class{constructor(n){Se(this,"aliasToTopic");Se(this,"topicToAlias");Se(this,"max");Se(this,"numberAllocator");Se(this,"length");n>0&&(this.aliasToTopic=new r.LRUCache({max:n}),this.topicToAlias={},this.numberAllocator=new t.NumberAllocator(1,n),this.max=n,this.length=0)}put(n,o){if(o===0||o>this.max)return!1;let i=this.aliasToTopic.get(o);return i&&delete this.topicToAlias[i],this.aliasToTopic.set(o,n),this.topicToAlias[n]=o,this.numberAllocator.use(o),this.length=this.aliasToTopic.size,!0}getTopicByAlias(n){return this.aliasToTopic.get(n)}getAliasByTopic(n){let o=this.topicToAlias[n];return typeof o<"u"&&this.aliasToTopic.get(o),o}clear(){this.aliasToTopic.clear(),this.topicToAlias={},this.numberAllocator.clear(),this.length=0}getLruAlias(){return this.numberAllocator.firstVacant()||[...this.aliasToTopic.keys()][this.aliasToTopic.size-1]}};u.default=l}),Hy=ke(u=>{be(),Ee(),we();var r=u&&u.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(u,"__esModule",{value:!0});var t=Tr(),l=r(Gy()),n=ir(),o=(i,a)=>{i.log("_handleConnack");let{options:s}=i,c=s.protocolVersion===5?a.reasonCode:a.returnCode;if(clearTimeout(i.connackTimer),delete i.topicAliasSend,a.properties){if(a.properties.topicAliasMaximum){if(a.properties.topicAliasMaximum>65535){i.emit("error",new Error("topicAliasMaximum from broker is out of range"));return}a.properties.topicAliasMaximum>0&&(i.topicAliasSend=new l.default(a.properties.topicAliasMaximum))}a.properties.serverKeepAlive&&s.keepalive&&(s.keepalive=a.properties.serverKeepAlive),a.properties.maximumPacketSize&&(s.properties||(s.properties={}),s.properties.maximumPacketSize=a.properties.maximumPacketSize)}if(c===0)i.reconnecting=!1,i._onConnect(a);else if(c>0){let d=new n.ErrorWithReasonCode(`Connection refused: ${t.ReasonCodes[c]}`,c);i.emit("error",d),i.options.reconnectOnConnackError&&i._cleanUp(!0)}};u.default=o}),Ky=ke(u=>{be(),Ee(),we(),Object.defineProperty(u,"__esModule",{value:!0});var r=(t,l,n)=>{t.log("handling pubrel packet");let o=typeof n<"u"?n:t.noop,{messageId:i}=l,a={cmd:"pubcomp",messageId:i};t.incomingStore.get(l,(s,c)=>{s?t._sendPacket(a,o):(t.emit("message",c.topic,c.payload,c),t.handleMessage(c,d=>{if(d)return o(d);t.incomingStore.del(c,t.noop),t._sendPacket(a,o)}))})};u.default=r}),Yy=ke(u=>{be(),Ee(),we();var r=u&&u.__importDefault||function(s){return s&&s.__esModule?s:{default:s}};Object.defineProperty(u,"__esModule",{value:!0});var t=r(Iy()),l=r($y()),n=r(Hy()),o=r(Tr()),i=r(Ky()),a=(s,c,d)=>{let{options:p}=s;if(p.protocolVersion===5&&p.properties&&p.properties.maximumPacketSize&&p.properties.maximumPacketSize<c.length)return s.emit("error",new Error(`exceeding packets size ${c.cmd}`)),s.end({reasonCode:149,properties:{reasonString:"Maximum packet size was exceeded"}}),s;switch(s.log("_handlePacket :: emitting packetreceive"),s.emit("packetreceive",c),c.cmd){case"publish":(0,t.default)(s,c,d);break;case"puback":case"pubrec":case"pubcomp":case"suback":case"unsuback":s.reschedulePing(),(0,o.default)(s,c),d();break;case"pubrel":s.reschedulePing(),(0,i.default)(s,c,d);break;case"connack":(0,n.default)(s,c),d();break;case"auth":s.reschedulePing(),(0,l.default)(s,c),d();break;case"pingresp":s.log("_handlePacket :: received pingresp"),s.reschedulePing(!0),d();break;case"disconnect":s.emit("disconnect",c),d();break;default:s.log("_handlePacket :: unknown command"),d();break}};u.default=a}),oa=ke(u=>{be(),Ee(),we(),Object.defineProperty(u,"__esModule",{value:!0});var r=class{constructor(){Se(this,"nextId");this.nextId=Math.max(1,Math.floor(Math.random()*65535))}allocate(){let t=this.nextId++;return this.nextId===65536&&(this.nextId=1),t}getLastAllocated(){return this.nextId===1?65535:this.nextId-1}register(t){return!0}deallocate(t){}clear(){}};u.default=r}),Qy=ke(u=>{be(),Ee(),we(),Object.defineProperty(u,"__esModule",{value:!0});var r=class{constructor(t){Se(this,"aliasToTopic");Se(this,"max");Se(this,"length");this.aliasToTopic={},this.max=t}put(t,l){return l===0||l>this.max?!1:(this.aliasToTopic[l]=t,this.length=Object.keys(this.aliasToTopic).length,!0)}getTopicByAlias(t){return this.aliasToTopic[t]}clear(){this.aliasToTopic={}}};u.default=r}),Jy=ke(u=>{be(),Ee(),we();var r=u&&u.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(u,"__esModule",{value:!0}),u.TypedEventEmitter=void 0;var t=r((Gt(),We(Tt))),l=ir(),n=class{};u.TypedEventEmitter=n,(0,l.applyMixin)(n,t.default)}),Br=ke((u,r)=>{be(),Ee(),we();function t(l){"@babel/helpers - typeof";return r.exports=t=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},r.exports.__esModule=!0,r.exports.default=r.exports,t(l)}r.exports=t,r.exports.__esModule=!0,r.exports.default=r.exports}),Xy=ke((u,r)=>{be(),Ee(),we();var t=Br().default;function l(n,o){if(t(n)!="object"||!n)return n;var i=n[Symbol.toPrimitive];if(i!==void 0){var a=i.call(n,o||"default");if(t(a)!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(o==="string"?String:Number)(n)}r.exports=l,r.exports.__esModule=!0,r.exports.default=r.exports}),Zy=ke((u,r)=>{be(),Ee(),we();var t=Br().default,l=Xy();function n(o){var i=l(o,"string");return t(i)=="symbol"?i:i+""}r.exports=n,r.exports.__esModule=!0,r.exports.default=r.exports}),e0=ke((u,r)=>{be(),Ee(),we();var t=Zy();function l(n,o,i){return(o=t(o))in n?Object.defineProperty(n,o,{value:i,enumerable:!0,configurable:!0,writable:!0}):n[o]=i,n}r.exports=l,r.exports.__esModule=!0,r.exports.default=r.exports}),t0=ke((u,r)=>{be(),Ee(),we();function t(l){if(Array.isArray(l))return l}r.exports=t,r.exports.__esModule=!0,r.exports.default=r.exports}),r0=ke((u,r)=>{be(),Ee(),we();function t(l,n){var o=l==null?null:typeof Symbol<"u"&&l[Symbol.iterator]||l["@@iterator"];if(o!=null){var i,a,s,c,d=[],p=!0,m=!1;try{if(s=(o=o.call(l)).next,n===0){if(Object(o)!==o)return;p=!1}else for(;!(p=(i=s.call(o)).done)&&(d.push(i.value),d.length!==n);p=!0);}catch(h){m=!0,a=h}finally{try{if(!p&&o.return!=null&&(c=o.return(),Object(c)!==c))return}finally{if(m)throw a}}return d}}r.exports=t,r.exports.__esModule=!0,r.exports.default=r.exports}),o0=ke((u,r)=>{be(),Ee(),we();function t(l,n){(n==null||n>l.length)&&(n=l.length);for(var o=0,i=Array(n);o<n;o++)i[o]=l[o];return i}r.exports=t,r.exports.__esModule=!0,r.exports.default=r.exports}),n0=ke((u,r)=>{be(),Ee(),we();var t=o0();function l(n,o){if(n){if(typeof n=="string")return t(n,o);var i={}.toString.call(n).slice(8,-1);return i==="Object"&&n.constructor&&(i=n.constructor.name),i==="Map"||i==="Set"?Array.from(n):i==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?t(n,o):void 0}}r.exports=l,r.exports.__esModule=!0,r.exports.default=r.exports}),i0=ke((u,r)=>{be(),Ee(),we();function t(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
8
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}r.exports=t,r.exports.__esModule=!0,r.exports.default=r.exports}),s0=ke((u,r)=>{be(),Ee(),we();var t=t0(),l=r0(),n=n0(),o=i0();function i(a,s){return t(a)||l(a,s)||n(a,s)||o()}r.exports=i,r.exports.__esModule=!0,r.exports.default=r.exports}),na=ke((u,r)=>{be(),Ee(),we(),function(t,l){typeof u=="object"&&typeof r<"u"?l(u):typeof define=="function"&&define.amd?define(["exports"],l):(t=typeof globalThis<"u"?globalThis:t||self,l(t.fastUniqueNumbers={}))}(u,function(t){var l=function(h){return function(f){var w=h(f);return f.add(w),w}},n=function(h){return function(f,w){return h.set(f,w),w}},o=Number.MAX_SAFE_INTEGER===void 0?9007199254740991:Number.MAX_SAFE_INTEGER,i=536870912,a=i*2,s=function(h,f){return function(w){var v=f.get(w),S=v===void 0?w.size:v<a?v+1:0;if(!w.has(S))return h(w,S);if(w.size<i){for(;w.has(S);)S=Math.floor(Math.random()*a);return h(w,S)}if(w.size>o)throw new Error("Congratulations, you created a collection of unique numbers which uses all available integers!");for(;w.has(S);)S=Math.floor(Math.random()*o);return h(w,S)}},c=new WeakMap,d=n(c),p=s(d,c),m=l(p);t.addUniqueNumber=m,t.generateUniqueNumber=p})}),a0=ke((u,r)=>{be(),Ee(),we();function t(n,o,i,a,s,c,d){try{var p=n[c](d),m=p.value}catch(h){return void i(h)}p.done?o(m):Promise.resolve(m).then(a,s)}function l(n){return function(){var o=this,i=arguments;return new Promise(function(a,s){var c=n.apply(o,i);function d(m){t(c,a,s,d,p,"next",m)}function p(m){t(c,a,s,d,p,"throw",m)}d(void 0)})}}r.exports=l,r.exports.__esModule=!0,r.exports.default=r.exports}),ia=ke((u,r)=>{be(),Ee(),we();function t(l,n){this.v=l,this.k=n}r.exports=t,r.exports.__esModule=!0,r.exports.default=r.exports}),sa=ke((u,r)=>{be(),Ee(),we();function t(l,n,o,i){var a=Object.defineProperty;try{a({},"",{})}catch{a=0}r.exports=t=function(s,c,d,p){function m(h,f){t(s,h,function(w){return this._invoke(h,f,w)})}c?a?a(s,c,{value:d,enumerable:!p,configurable:!p,writable:!p}):s[c]=d:(m("next",0),m("throw",1),m("return",2))},r.exports.__esModule=!0,r.exports.default=r.exports,t(l,n,o,i)}r.exports=t,r.exports.__esModule=!0,r.exports.default=r.exports}),aa=ke((u,r)=>{be(),Ee(),we();var t=sa();function l(){var n,o,i=typeof Symbol=="function"?Symbol:{},a=i.iterator||"@@iterator",s=i.toStringTag||"@@toStringTag";function c(S,b,_,k){var E=b&&b.prototype instanceof p?b:p,I=Object.create(E.prototype);return t(I,"_invoke",function(x,V,$){var C,P,A,U=0,Y=$||[],z=!1,ue={p:0,n:0,v:n,a:oe,f:oe.bind(n,4),d:function(re,fe){return C=re,P=0,A=n,ue.n=fe,d}};function oe(re,fe){for(P=re,A=fe,o=0;!z&&U&&!J&&o<Y.length;o++){var J,se=Y[o],R=ue.p,Z=se[2];re>3?(J=Z===fe)&&(A=se[(P=se[4])?5:(P=3,3)],se[4]=se[5]=n):se[0]<=R&&((J=re<2&&R<se[1])?(P=0,ue.v=fe,ue.n=se[1]):R<Z&&(J=re<3||se[0]>fe||fe>Z)&&(se[4]=re,se[5]=fe,ue.n=Z,P=0))}if(J||re>1)return d;throw z=!0,fe}return function(re,fe,J){if(U>1)throw TypeError("Generator is already running");for(z&&fe===1&&oe(fe,J),P=fe,A=J;(o=P<2?n:A)||!z;){C||(P?P<3?(P>1&&(ue.n=-1),oe(P,A)):ue.n=A:ue.v=A);try{if(U=2,C){if(P||(re="next"),o=C[re]){if(!(o=o.call(C,A)))throw TypeError("iterator result is not an object");if(!o.done)return o;A=o.value,P<2&&(P=0)}else P===1&&(o=C.return)&&o.call(C),P<2&&(A=TypeError("The iterator does not provide a '"+re+"' method"),P=1);C=n}else if((o=(z=ue.n<0)?A:x.call(V,ue))!==d)break}catch(se){C=n,P=1,A=se}finally{U=1}}return{value:o,done:z}}}(S,_,k),!0),I}var d={};function p(){}function m(){}function h(){}o=Object.getPrototypeOf;var f=[][a]?o(o([][a]())):(t(o={},a,function(){return this}),o),w=h.prototype=p.prototype=Object.create(f);function v(S){return Object.setPrototypeOf?Object.setPrototypeOf(S,h):(S.__proto__=h,t(S,s,"GeneratorFunction")),S.prototype=Object.create(w),S}return m.prototype=h,t(w,"constructor",h),t(h,"constructor",m),m.displayName="GeneratorFunction",t(h,s,"GeneratorFunction"),t(w),t(w,s,"Generator"),t(w,a,function(){return this}),t(w,"toString",function(){return"[object Generator]"}),(r.exports=l=function(){return{w:c,m:v}},r.exports.__esModule=!0,r.exports.default=r.exports)()}r.exports=l,r.exports.__esModule=!0,r.exports.default=r.exports}),la=ke((u,r)=>{be(),Ee(),we();var t=ia(),l=sa();function n(o,i){function a(c,d,p,m){try{var h=o[c](d),f=h.value;return f instanceof t?i.resolve(f.v).then(function(w){a("next",w,p,m)},function(w){a("throw",w,p,m)}):i.resolve(f).then(function(w){h.value=w,p(h)},function(w){return a("throw",w,p,m)})}catch(w){m(w)}}var s;this.next||(l(n.prototype),l(n.prototype,typeof Symbol=="function"&&Symbol.asyncIterator||"@asyncIterator",function(){return this})),l(this,"_invoke",function(c,d,p){function m(){return new i(function(h,f){a(c,p,h,f)})}return s=s?s.then(m,m):m()},!0)}r.exports=n,r.exports.__esModule=!0,r.exports.default=r.exports}),ca=ke((u,r)=>{be(),Ee(),we();var t=aa(),l=la();function n(o,i,a,s,c){return new l(t().w(o,i,a,s),c||Promise)}r.exports=n,r.exports.__esModule=!0,r.exports.default=r.exports}),l0=ke((u,r)=>{be(),Ee(),we();var t=ca();function l(n,o,i,a,s){var c=t(n,o,i,a,s);return c.next().then(function(d){return d.done?d.value:c.next()})}r.exports=l,r.exports.__esModule=!0,r.exports.default=r.exports}),c0=ke((u,r)=>{be(),Ee(),we();function t(l){var n=Object(l),o=[];for(var i in n)o.unshift(i);return function a(){for(;o.length;)if((i=o.pop())in n)return a.value=i,a.done=!1,a;return a.done=!0,a}}r.exports=t,r.exports.__esModule=!0,r.exports.default=r.exports}),d0=ke((u,r)=>{be(),Ee(),we();var t=Br().default;function l(n){if(n!=null){var o=n[typeof Symbol=="function"&&Symbol.iterator||"@@iterator"],i=0;if(o)return o.call(n);if(typeof n.next=="function")return n;if(!isNaN(n.length))return{next:function(){return n&&i>=n.length&&(n=void 0),{value:n&&n[i++],done:!n}}}}throw new TypeError(t(n)+" is not iterable")}r.exports=l,r.exports.__esModule=!0,r.exports.default=r.exports}),u0=ke((u,r)=>{be(),Ee(),we();var t=ia(),l=aa(),n=l0(),o=ca(),i=la(),a=c0(),s=d0();function c(){var d=l(),p=d.m(c),m=(Object.getPrototypeOf?Object.getPrototypeOf(p):p.__proto__).constructor;function h(v){var S=typeof v=="function"&&v.constructor;return!!S&&(S===m||(S.displayName||S.name)==="GeneratorFunction")}var f={throw:1,return:2,break:3,continue:3};function w(v){var S,b;return function(_){S||(S={stop:function(){return b(_.a,2)},catch:function(){return _.v},abrupt:function(k,E){return b(_.a,f[k],E)},delegateYield:function(k,E,I){return S.resultName=E,b(_.d,s(k),I)},finish:function(k){return b(_.f,k)}},b=function(k,E,I){_.p=S.prev,_.n=S.next;try{return k(E,I)}finally{S.next=_.n}}),S.resultName&&(S[S.resultName]=_.v,S.resultName=void 0),S.sent=_.v,S.next=_.n;try{return v.call(this,S)}finally{_.p=S.prev,_.n=S.next}}}return(r.exports=c=function(){return{wrap:function(v,S,b,_){return d.w(w(v),S,b,_&&_.reverse())},isGeneratorFunction:h,mark:d.m,awrap:function(v,S){return new t(v,S)},AsyncIterator:i,async:function(v,S,b,_,k){return(h(S)?o:n)(w(v),S,b,_,k)},keys:a,values:s}},r.exports.__esModule=!0,r.exports.default=r.exports)()}r.exports=c,r.exports.__esModule=!0,r.exports.default=r.exports}),f0=ke((u,r)=>{be(),Ee(),we();var t=u0()();r.exports=t;try{regeneratorRuntime=t}catch{typeof globalThis=="object"?globalThis.regeneratorRuntime=t:Function("r","regeneratorRuntime = r")(t)}}),p0=ke((u,r)=>{be(),Ee(),we(),function(t,l){typeof u=="object"&&typeof r<"u"?l(u,e0(),s0(),na(),a0(),f0()):typeof define=="function"&&define.amd?define(["exports","@babel/runtime/helpers/defineProperty","@babel/runtime/helpers/slicedToArray","fast-unique-numbers","@babel/runtime/helpers/asyncToGenerator","@babel/runtime/regenerator"],l):(t=typeof globalThis<"u"?globalThis:t||self,l(t.brokerFactory={},t._defineProperty,t._slicedToArray,t.fastUniqueNumbers,t._asyncToGenerator,t._regeneratorRuntime))}(u,function(t,l,n,o,i,a){var s=function(b){return typeof b.start=="function"},c=new WeakMap;function d(b,_){var k=Object.keys(b);if(Object.getOwnPropertySymbols){var E=Object.getOwnPropertySymbols(b);_&&(E=E.filter(function(I){return Object.getOwnPropertyDescriptor(b,I).enumerable})),k.push.apply(k,E)}return k}function p(b){for(var _=1;_<arguments.length;_++){var k=arguments[_]!=null?arguments[_]:{};_%2?d(Object(k),!0).forEach(function(E){l(b,E,k[E])}):Object.getOwnPropertyDescriptors?Object.defineProperties(b,Object.getOwnPropertyDescriptors(k)):d(Object(k)).forEach(function(E){Object.defineProperty(b,E,Object.getOwnPropertyDescriptor(k,E))})}return b}var m=function(b){return p(p({},b),{},{connect:function(_){var k=_.call;return i(a.mark(function E(){var I,x,V,$;return a.wrap(function(C){for(;;)switch(C.prev=C.next){case 0:return I=new MessageChannel,x=I.port1,V=I.port2,C.next=1,k("connect",{port:x},[x]);case 1:return $=C.sent,c.set(V,$),C.abrupt("return",V);case 2:case"end":return C.stop()}},E)}))},disconnect:function(_){var k=_.call;return function(){var E=i(a.mark(function I(x){var V;return a.wrap(function($){for(;;)switch($.prev=$.next){case 0:if(V=c.get(x),V!==void 0){$.next=1;break}throw new Error("The given port is not connected.");case 1:return $.next=2,k("disconnect",{portId:V});case 2:case"end":return $.stop()}},I)}));return function(I){return E.apply(this,arguments)}}()},isSupported:function(_){var k=_.call;return function(){return k("isSupported")}}})};function h(b,_){var k=Object.keys(b);if(Object.getOwnPropertySymbols){var E=Object.getOwnPropertySymbols(b);_&&(E=E.filter(function(I){return Object.getOwnPropertyDescriptor(b,I).enumerable})),k.push.apply(k,E)}return k}function f(b){for(var _=1;_<arguments.length;_++){var k=arguments[_]!=null?arguments[_]:{};_%2?h(Object(k),!0).forEach(function(E){l(b,E,k[E])}):Object.getOwnPropertyDescriptors?Object.defineProperties(b,Object.getOwnPropertyDescriptors(k)):h(Object(k)).forEach(function(E){Object.defineProperty(b,E,Object.getOwnPropertyDescriptor(k,E))})}return b}var w=new WeakMap,v=function(b){if(w.has(b))return w.get(b);var _=new Map;return w.set(b,_),_},S=function(b){var _=m(b);return function(k){var E=v(k);k.addEventListener("message",function(Y){var z=Y.data,ue=z.id;if(ue!==null&&E.has(ue)){var oe=E.get(ue),re=oe.reject,fe=oe.resolve;E.delete(ue),z.error===void 0?fe(z.result):re(new Error(z.error.message))}}),s(k)&&k.start();for(var I=function(Y){var z=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null,ue=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[];return new Promise(function(oe,re){var fe=o.generateUniqueNumber(E);E.set(fe,{reject:re,resolve:oe}),z===null?k.postMessage({id:fe,method:Y},ue):k.postMessage({id:fe,method:Y,params:z},ue)})},x=function(Y,z){var ue=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[];k.postMessage({id:null,method:Y,params:z},ue)},V={},$=0,C=Object.entries(_);$<C.length;$++){var P=n(C[$],2),A=P[0],U=P[1];V=f(f({},V),{},l({},A,U({call:I,notify:x})))}return f({},V)}};t.createBroker=S})}),h0=ke((u,r)=>{be(),Ee(),we(),function(t,l){typeof u=="object"&&typeof r<"u"?l(u,Br(),p0(),na()):typeof define=="function"&&define.amd?define(["exports","@babel/runtime/helpers/typeof","broker-factory","fast-unique-numbers"],l):(t=typeof globalThis<"u"?globalThis:t||self,l(t.workerTimersBroker={},t._typeof,t.brokerFactory,t.fastUniqueNumbers))}(u,function(t,l,n,o){var i=new Map([[0,null]]),a=new Map([[0,null]]),s=n.createBroker({clearInterval:function(d){var p=d.call;return function(m){l(i.get(m))==="symbol"&&(i.set(m,null),p("clear",{timerId:m,timerType:"interval"}).then(function(){i.delete(m)}))}},clearTimeout:function(d){var p=d.call;return function(m){l(a.get(m))==="symbol"&&(a.set(m,null),p("clear",{timerId:m,timerType:"timeout"}).then(function(){a.delete(m)}))}},setInterval:function(d){var p=d.call;return function(m){for(var h=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,f=arguments.length,w=new Array(f>2?f-2:0),v=2;v<f;v++)w[v-2]=arguments[v];var S=Symbol(),b=o.generateUniqueNumber(i);i.set(b,S);var _=function(){return p("set",{delay:h,now:performance.timeOrigin+performance.now(),timerId:b,timerType:"interval"}).then(function(){var k=i.get(b);if(k===void 0)throw new Error("The timer is in an undefined state.");k===S&&(m.apply(void 0,w),i.get(b)===S&&_())})};return _(),b}},setTimeout:function(d){var p=d.call;return function(m){for(var h=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,f=arguments.length,w=new Array(f>2?f-2:0),v=2;v<f;v++)w[v-2]=arguments[v];var S=Symbol(),b=o.generateUniqueNumber(a);return a.set(b,S),p("set",{delay:h,now:performance.timeOrigin+performance.now(),timerId:b,timerType:"timeout"}).then(function(){var _=a.get(b);if(_===void 0)throw new Error("The timer is in an undefined state.");_===S&&(a.delete(b),m.apply(void 0,w))}),b}}}),c=function(d){var p=new Worker(d);return s(p)};t.load=c,t.wrap=s})}),m0=ke((u,r)=>{be(),Ee(),we(),function(t,l){typeof u=="object"&&typeof r<"u"?l(u,h0()):typeof define=="function"&&define.amd?define(["exports","worker-timers-broker"],l):(t=typeof globalThis<"u"?globalThis:t||self,l(t.workerTimers={},t.workerTimersBroker))}(u,function(t,l){var n=function(p,m){var h=null;return function(){if(h!==null)return h;var f=new Blob([m],{type:"application/javascript; charset=utf-8"}),w=URL.createObjectURL(f);return h=p(w),setTimeout(function(){return URL.revokeObjectURL(w)}),h}},o=`(()=>{var e={45:(e,t,r)=>{var n=r(738).default;e.exports=function(e,t){if("object"!=n(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,t||"default");if("object"!=n(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)},e.exports.__esModule=!0,e.exports.default=e.exports},79:e=>{e.exports=function(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n},e.exports.__esModule=!0,e.exports.default=e.exports},122:(e,t,r)=>{var n=r(79);e.exports=function(e,t){if(e){if("string"==typeof e)return n(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?n(e,t):void 0}},e.exports.__esModule=!0,e.exports.default=e.exports},156:e=>{e.exports=function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,u,a,i=[],s=!0,c=!1;try{if(u=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=u.call(r)).done)&&(i.push(n.value),i.length!==t);s=!0);}catch(e){c=!0,o=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw o}}return i}},e.exports.__esModule=!0,e.exports.default=e.exports},172:e=>{e.exports=function(e,t){this.v=e,this.k=t},e.exports.__esModule=!0,e.exports.default=e.exports},293:e=>{function t(e,t,r,n,o,u,a){try{var i=e[u](a),s=i.value}catch(e){return void r(e)}i.done?t(s):Promise.resolve(s).then(n,o)}e.exports=function(e){return function(){var r=this,n=arguments;return new Promise((function(o,u){var a=e.apply(r,n);function i(e){t(a,o,u,i,s,"next",e)}function s(e){t(a,o,u,i,s,"throw",e)}i(void 0)}))}},e.exports.__esModule=!0,e.exports.default=e.exports},373:e=>{e.exports=function(e){var t=Object(e),r=[];for(var n in t)r.unshift(n);return function e(){for(;r.length;)if((n=r.pop())in t)return e.value=n,e.done=!1,e;return e.done=!0,e}},e.exports.__esModule=!0,e.exports.default=e.exports},389:function(e,t){!function(e){"use strict";var t=function(e){return function(t){var r=e(t);return t.add(r),r}},r=function(e){return function(t,r){return e.set(t,r),r}},n=void 0===Number.MAX_SAFE_INTEGER?9007199254740991:Number.MAX_SAFE_INTEGER,o=536870912,u=2*o,a=function(e,t){return function(r){var a=t.get(r),i=void 0===a?r.size:a<u?a+1:0;if(!r.has(i))return e(r,i);if(r.size<o){for(;r.has(i);)i=Math.floor(Math.random()*u);return e(r,i)}if(r.size>n)throw new Error("Congratulations, you created a collection of unique numbers which uses all available integers!");for(;r.has(i);)i=Math.floor(Math.random()*n);return e(r,i)}},i=new WeakMap,s=r(i),c=a(s,i),f=t(c);e.addUniqueNumber=f,e.generateUniqueNumber=c}(t)},472:function(e,t,r){!function(e,t,r,n){"use strict";var o=function(e,t){return function(r){var o=t.get(r);if(void 0===o)return Promise.resolve(!1);var u=n(o,2),a=u[0],i=u[1];return e(a),t.delete(r),i(!1),Promise.resolve(!0)}},u=function(e,t){var r=function(n,o,u,a){var i=n-e.now();i>0?o.set(a,[t(r,i,n,o,u,a),u]):(o.delete(a),u(!0))};return r},a=function(e,t,r,n){return function(o,u,a){var i=o+u-t.timeOrigin,s=i-t.now();return new Promise((function(t){e.set(a,[r(n,s,i,e,t,a),t])}))}},i=new Map,s=o(globalThis.clearTimeout,i),c=new Map,f=o(globalThis.clearTimeout,c),l=u(performance,globalThis.setTimeout),p=a(i,performance,globalThis.setTimeout,l),d=a(c,performance,globalThis.setTimeout,l);r.createWorker(self,{clear:function(){var r=e(t.mark((function e(r){var n,o,u;return t.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=r.timerId,o=r.timerType,e.next=1,"interval"===o?s(n):f(n);case 1:return u=e.sent,e.abrupt("return",{result:u});case 2:case"end":return e.stop()}}),e)})));function n(e){return r.apply(this,arguments)}return n}(),set:function(){var r=e(t.mark((function e(r){var n,o,u,a,i;return t.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=r.delay,o=r.now,u=r.timerId,a=r.timerType,e.next=1,("interval"===a?p:d)(n,o,u);case 1:return i=e.sent,e.abrupt("return",{result:i});case 2:case"end":return e.stop()}}),e)})));function n(e){return r.apply(this,arguments)}return n}()})}(r(293),r(756),r(623),r(715))},546:e=>{function t(r,n,o,u){var a=Object.defineProperty;try{a({},"",{})}catch(r){a=0}e.exports=t=function(e,r,n,o){if(r)a?a(e,r,{value:n,enumerable:!o,configurable:!o,writable:!o}):e[r]=n;else{var u=function(r,n){t(e,r,(function(e){return this._invoke(r,n,e)}))};u("next",0),u("throw",1),u("return",2)}},e.exports.__esModule=!0,e.exports.default=e.exports,t(r,n,o,u)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports},579:(e,t,r)=>{var n=r(738).default;e.exports=function(e){if(null!=e){var t=e["function"==typeof Symbol&&Symbol.iterator||"@@iterator"],r=0;if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length))return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}}}throw new TypeError(n(e)+" is not iterable")},e.exports.__esModule=!0,e.exports.default=e.exports},623:function(e,t,r){!function(e,t,r,n,o){"use strict";var u={INTERNAL_ERROR:-32603,INVALID_PARAMS:-32602,METHOD_NOT_FOUND:-32601},a=function(e,t){return Object.assign(new Error(e),{status:t})},i=function(e){return a('The requested method called "'.concat(e,'" is not supported.'),u.METHOD_NOT_FOUND)},s=function(e){return a('The handler of the method called "'.concat(e,'" returned no required result.'),u.INTERNAL_ERROR)},c=function(e){return a('The handler of the method called "'.concat(e,'" returned an unexpected result.'),u.INTERNAL_ERROR)},f=function(e){return a('The specified parameter called "portId" with the given value "'.concat(e,'" does not identify a port connected to this worker.'),u.INVALID_PARAMS)},l=function(e,n){return function(){var o=t(r.mark((function t(o){var u,a,f,l,p,d,v,x,y,b,h,m,_,g,w;return r.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(u=o.data,a=u.id,f=u.method,l=u.params,p=n[f],t.prev=1,void 0!==p){t.next=2;break}throw i(f);case 2:if(void 0!==(d=void 0===l?p():p(l))){t.next=3;break}throw s(f);case 3:if(!(d instanceof Promise)){t.next=5;break}return t.next=4,d;case 4:g=t.sent,t.next=6;break;case 5:g=d;case 6:if(v=g,null!==a){t.next=8;break}if(void 0===v.result){t.next=7;break}throw c(f);case 7:t.next=10;break;case 8:if(void 0!==v.result){t.next=9;break}throw c(f);case 9:x=v.result,y=v.transferables,b=void 0===y?[]:y,e.postMessage({id:a,result:x},b);case 10:t.next=12;break;case 11:t.prev=11,w=t.catch(1),h=w.message,m=w.status,_=void 0===m?-32603:m,e.postMessage({error:{code:_,message:h},id:a});case 12:case"end":return t.stop()}}),t,null,[[1,11]])})));return function(e){return o.apply(this,arguments)}}()},p=function(){return new Promise((function(e){var t=new ArrayBuffer(0),r=new MessageChannel,n=r.port1,o=r.port2;n.onmessage=function(t){var r=t.data;return e(null!==r)},o.postMessage(t,[t])}))};function d(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function v(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?d(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):d(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var x=new Map,y=function(e,n,u){return v(v({},n),{},{connect:function(t){var r=t.port;r.start();var u=e(r,n),a=o.generateUniqueNumber(x);return x.set(a,(function(){u(),r.close(),x.delete(a)})),{result:a}},disconnect:function(e){var t=e.portId,r=x.get(t);if(void 0===r)throw f(t);return r(),{result:null}},isSupported:function(){var e=t(r.mark((function e(){var t,n,o;return r.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=1,p();case 1:if(!e.sent){e.next=5;break}if(!((t=u())instanceof Promise)){e.next=3;break}return e.next=2,t;case 2:o=e.sent,e.next=4;break;case 3:o=t;case 4:return n=o,e.abrupt("return",{result:n});case 5:return e.abrupt("return",{result:!1});case 6:case"end":return e.stop()}}),e)})));function n(){return e.apply(this,arguments)}return n}()})},b=function(e,t){var r=y(b,t,arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){return!0}),n=l(e,r);return e.addEventListener("message",n),function(){return e.removeEventListener("message",n)}};e.createWorker=b,e.isSupported=p}(t,r(293),r(756),r(693),r(389))},633:(e,t,r)=>{var n=r(172),o=r(993),u=r(869),a=r(887),i=r(791),s=r(373),c=r(579);function f(){"use strict";var t=o(),r=t.m(f),l=(Object.getPrototypeOf?Object.getPrototypeOf(r):r.__proto__).constructor;function p(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===l||"GeneratorFunction"===(t.displayName||t.name))}var d={throw:1,return:2,break:3,continue:3};function v(e){var t,r;return function(n){t||(t={stop:function(){return r(n.a,2)},catch:function(){return n.v},abrupt:function(e,t){return r(n.a,d[e],t)},delegateYield:function(e,o,u){return t.resultName=o,r(n.d,c(e),u)},finish:function(e){return r(n.f,e)}},r=function(e,r,o){n.p=t.prev,n.n=t.next;try{return e(r,o)}finally{t.next=n.n}}),t.resultName&&(t[t.resultName]=n.v,t.resultName=void 0),t.sent=n.v,t.next=n.n;try{return e.call(this,t)}finally{n.p=t.prev,n.n=t.next}}}return(e.exports=f=function(){return{wrap:function(e,r,n,o){return t.w(v(e),r,n,o&&o.reverse())},isGeneratorFunction:p,mark:t.m,awrap:function(e,t){return new n(e,t)},AsyncIterator:i,async:function(e,t,r,n,o){return(p(t)?a:u)(v(e),t,r,n,o)},keys:s,values:c}},e.exports.__esModule=!0,e.exports.default=e.exports)()}e.exports=f,e.exports.__esModule=!0,e.exports.default=e.exports},693:(e,t,r)=>{var n=r(736);e.exports=function(e,t,r){return(t=n(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e},e.exports.__esModule=!0,e.exports.default=e.exports},715:(e,t,r)=>{var n=r(987),o=r(156),u=r(122),a=r(752);e.exports=function(e,t){return n(e)||o(e,t)||u(e,t)||a()},e.exports.__esModule=!0,e.exports.default=e.exports},736:(e,t,r)=>{var n=r(738).default,o=r(45);e.exports=function(e){var t=o(e,"string");return"symbol"==n(t)?t:t+""},e.exports.__esModule=!0,e.exports.default=e.exports},738:e=>{function t(r){return e.exports=t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.__esModule=!0,e.exports.default=e.exports,t(r)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports},752:e=>{e.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},e.exports.__esModule=!0,e.exports.default=e.exports},756:(e,t,r)=>{var n=r(633)();e.exports=n;try{regeneratorRuntime=n}catch(e){"object"==typeof globalThis?globalThis.regeneratorRuntime=n:Function("r","regeneratorRuntime = r")(n)}},791:(e,t,r)=>{var n=r(172),o=r(546);e.exports=function e(t,r){function u(e,o,a,i){try{var s=t[e](o),c=s.value;return c instanceof n?r.resolve(c.v).then((function(e){u("next",e,a,i)}),(function(e){u("throw",e,a,i)})):r.resolve(c).then((function(e){s.value=e,a(s)}),(function(e){return u("throw",e,a,i)}))}catch(e){i(e)}}var a;this.next||(o(e.prototype),o(e.prototype,"function"==typeof Symbol&&Symbol.asyncIterator||"@asyncIterator",(function(){return this}))),o(this,"_invoke",(function(e,t,n){function o(){return new r((function(t,r){u(e,n,t,r)}))}return a=a?a.then(o,o):o()}),!0)},e.exports.__esModule=!0,e.exports.default=e.exports},869:(e,t,r)=>{var n=r(887);e.exports=function(e,t,r,o,u){var a=n(e,t,r,o,u);return a.next().then((function(e){return e.done?e.value:a.next()}))},e.exports.__esModule=!0,e.exports.default=e.exports},887:(e,t,r)=>{var n=r(993),o=r(791);e.exports=function(e,t,r,u,a){return new o(n().w(e,t,r,u),a||Promise)},e.exports.__esModule=!0,e.exports.default=e.exports},987:e=>{e.exports=function(e){if(Array.isArray(e))return e},e.exports.__esModule=!0,e.exports.default=e.exports},993:(e,t,r)=>{var n=r(546);function o(){var t,r,u="function"==typeof Symbol?Symbol:{},a=u.iterator||"@@iterator",i=u.toStringTag||"@@toStringTag";function s(e,o,u,a){var i=o&&o.prototype instanceof f?o:f,s=Object.create(i.prototype);return n(s,"_invoke",function(e,n,o){var u,a,i,s=0,f=o||[],l=!1,p={p:0,n:0,v:t,a:d,f:d.bind(t,4),d:function(e,r){return u=e,a=0,i=t,p.n=r,c}};function d(e,n){for(a=e,i=n,r=0;!l&&s&&!o&&r<f.length;r++){var o,u=f[r],d=p.p,v=u[2];e>3?(o=v===n)&&(i=u[(a=u[4])?5:(a=3,3)],u[4]=u[5]=t):u[0]<=d&&((o=e<2&&d<u[1])?(a=0,p.v=n,p.n=u[1]):d<v&&(o=e<3||u[0]>n||n>v)&&(u[4]=e,u[5]=n,p.n=v,a=0))}if(o||e>1)return c;throw l=!0,n}return function(o,f,v){if(s>1)throw TypeError("Generator is already running");for(l&&1===f&&d(f,v),a=f,i=v;(r=a<2?t:i)||!l;){u||(a?a<3?(a>1&&(p.n=-1),d(a,i)):p.n=i:p.v=i);try{if(s=2,u){if(a||(o="next"),r=u[o]){if(!(r=r.call(u,i)))throw TypeError("iterator result is not an object");if(!r.done)return r;i=r.value,a<2&&(a=0)}else 1===a&&(r=u.return)&&r.call(u),a<2&&(i=TypeError("The iterator does not provide a '"+o+"' method"),a=1);u=t}else if((r=(l=p.n<0)?i:e.call(n,p))!==c)break}catch(e){u=t,a=1,i=e}finally{s=1}}return{value:r,done:l}}}(e,u,a),!0),s}var c={};function f(){}function l(){}function p(){}r=Object.getPrototypeOf;var d=[][a]?r(r([][a]())):(n(r={},a,(function(){return this})),r),v=p.prototype=f.prototype=Object.create(d);function x(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,p):(e.__proto__=p,n(e,i,"GeneratorFunction")),e.prototype=Object.create(v),e}return l.prototype=p,n(v,"constructor",p),n(p,"constructor",l),l.displayName="GeneratorFunction",n(p,i,"GeneratorFunction"),n(v),n(v,i,"Generator"),n(v,a,(function(){return this})),n(v,"toString",(function(){return"[object Generator]"})),(e.exports=o=function(){return{w:s,m:x}},e.exports.__esModule=!0,e.exports.default=e.exports)()}e.exports=o,e.exports.__esModule=!0,e.exports.default=e.exports}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var u=t[n]={exports:{}};return e[n].call(u.exports,u,u.exports,r),u.exports}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";r(472)})()})();`,i=n(l.load,o),a=function(p){return i().clearInterval(p)},s=function(p){return i().clearTimeout(p)},c=function(){var p;return(p=i()).setInterval.apply(p,arguments)},d=function(){var p;return(p=i()).setTimeout.apply(p,arguments)};t.clearInterval=a,t.clearTimeout=s,t.setInterval=c,t.setTimeout=d})}),Dr=ke(u=>{be(),Ee(),we(),Object.defineProperty(u,"__esModule",{value:!0}),u.isReactNativeBrowser=u.isWebWorker=void 0;var r=()=>{var o;return typeof window<"u"?typeof navigator<"u"&&((o=navigator.userAgent)==null?void 0:o.toLowerCase().indexOf(" electron/"))>-1&&(ze!=null&&ze.versions)?!Object.prototype.hasOwnProperty.call(ze.versions,"electron"):typeof window.document<"u":!1},t=()=>{var o,i;return!!(typeof self=="object"&&((i=(o=self==null?void 0:self.constructor)==null?void 0:o.name)!=null&&i.includes("WorkerGlobalScope"))&&typeof Deno>"u")},l=()=>typeof navigator<"u"&&navigator.product==="ReactNative",n=r()||t()||l();u.isWebWorker=t(),u.isReactNativeBrowser=l(),u.default=n}),g0=ke(u=>{be(),Ee(),we();var r=u&&u.__createBinding||(Object.create?function(c,d,p,m){m===void 0&&(m=p);var h=Object.getOwnPropertyDescriptor(d,p);(!h||("get"in h?!d.__esModule:h.writable||h.configurable))&&(h={enumerable:!0,get:function(){return d[p]}}),Object.defineProperty(c,m,h)}:function(c,d,p,m){m===void 0&&(m=p),c[m]=d[p]}),t=u&&u.__setModuleDefault||(Object.create?function(c,d){Object.defineProperty(c,"default",{enumerable:!0,value:d})}:function(c,d){c.default=d}),l=u&&u.__importStar||function(){var c=function(d){return c=Object.getOwnPropertyNames||function(p){var m=[];for(var h in p)Object.prototype.hasOwnProperty.call(p,h)&&(m[m.length]=h);return m},c(d)};return function(d){if(d&&d.__esModule)return d;var p={};if(d!=null)for(var m=c(d),h=0;h<m.length;h++)m[h]!=="default"&&r(p,d,m[h]);return t(p,d),p}}();Object.defineProperty(u,"__esModule",{value:!0});var n=m0(),o=l(Dr()),i={set:n.setInterval,clear:n.clearInterval},a={set:(c,d)=>setInterval(c,d),clear:c=>clearInterval(c)},s=c=>{switch(c){case"native":return a;case"worker":return i;case"auto":default:return o.default&&!o.isWebWorker&&!o.isReactNativeBrowser?i:a}};u.default=s}),da=ke(u=>{be(),Ee(),we();var r=u&&u.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(u,"__esModule",{value:!0});var t=r(g0()),l=class{constructor(n,o){Se(this,"_keepalive");Se(this,"timerId");Se(this,"timer");Se(this,"destroyed",!1);Se(this,"counter");Se(this,"client");Se(this,"_keepaliveTimeoutTimestamp");Se(this,"_intervalEvery");this.client=n,this.timer=typeof o=="object"&&"set"in o&&"clear"in o?o:(0,t.default)(o),this.setKeepalive(n.options.keepalive)}get keepaliveTimeoutTimestamp(){return this._keepaliveTimeoutTimestamp}get intervalEvery(){return this._intervalEvery}get keepalive(){return this._keepalive}clear(){this.timerId&&(this.timer.clear(this.timerId),this.timerId=null)}setKeepalive(n){if(n*=1e3,isNaN(n)||n<=0||n>2147483647)throw new Error(`Keepalive value must be an integer between 0 and 2147483647. Provided value is ${n}`);this._keepalive=n,this.reschedule(),this.client.log(`KeepaliveManager: set keepalive to ${n}ms`)}destroy(){this.clear(),this.destroyed=!0}reschedule(){if(this.destroyed)return;this.clear(),this.counter=0;let n=Math.ceil(this._keepalive*1.5);this._keepaliveTimeoutTimestamp=Date.now()+n,this._intervalEvery=Math.ceil(this._keepalive/2),this.timerId=this.timer.set(()=>{this.destroyed||(this.counter+=1,this.counter===2?this.client.sendPing():this.counter>2&&this.client.onKeepaliveTimeout())},this._intervalEvery)}};u.default=l}),jn=ke(u=>{var E;be(),Ee(),we();var r=u&&u.__createBinding||(Object.create?function(I,x,V,$){$===void 0&&($=V);var C=Object.getOwnPropertyDescriptor(x,V);(!C||("get"in C?!x.__esModule:C.writable||C.configurable))&&(C={enumerable:!0,get:function(){return x[V]}}),Object.defineProperty(I,$,C)}:function(I,x,V,$){$===void 0&&($=V),I[$]=x[V]}),t=u&&u.__setModuleDefault||(Object.create?function(I,x){Object.defineProperty(I,"default",{enumerable:!0,value:x})}:function(I,x){I.default=x}),l=u&&u.__importStar||function(){var I=function(x){return I=Object.getOwnPropertyNames||function(V){var $=[];for(var C in V)Object.prototype.hasOwnProperty.call(V,C)&&($[$.length]=C);return $},I(x)};return function(x){if(x&&x.__esModule)return x;var V={};if(x!=null)for(var $=I(x),C=0;C<$.length;C++)$[C]!=="default"&&r(V,x,$[C]);return t(V,x),V}}(),n=u&&u.__importDefault||function(I){return I&&I.__esModule?I:{default:I}};Object.defineProperty(u,"__esModule",{value:!0});var o=n(xy()),i=Kt(),a=n(Vy()),s=n(xt()),c=l(Cy()),d=n(Qs()),p=n(Yy()),m=n(oa()),h=n(Qy()),f=ir(),w=Jy(),v=n(da()),S=l(Dr()),b=globalThis.setImmediate||((...I)=>{let x=I.shift();(0,f.nextTick)(()=>{x(...I)})}),_={keepalive:60,reschedulePings:!0,protocolId:"MQTT",protocolVersion:4,reconnectPeriod:1e3,connectTimeout:30*1e3,clean:!0,resubscribe:!0,subscribeBatchSize:null,writeCache:!0,timerVariant:"auto"},k=(E=class extends w.TypedEventEmitter{constructor(V,$){super();Se(this,"connected");Se(this,"disconnecting");Se(this,"disconnected");Se(this,"reconnecting");Se(this,"incomingStore");Se(this,"outgoingStore");Se(this,"options");Se(this,"queueQoSZero");Se(this,"_reconnectCount");Se(this,"log");Se(this,"messageIdProvider");Se(this,"outgoing");Se(this,"messageIdToTopic");Se(this,"noop");Se(this,"keepaliveManager");Se(this,"stream");Se(this,"queue");Se(this,"streamBuilder");Se(this,"_resubscribeTopics");Se(this,"connackTimer");Se(this,"reconnectTimer");Se(this,"_storeProcessing");Se(this,"_packetIdsDuringStoreProcessing");Se(this,"_storeProcessingQueue");Se(this,"_firstConnection");Se(this,"topicAliasRecv");Se(this,"topicAliasSend");Se(this,"_deferredReconnect");Se(this,"connackPacket");this.options=$||{};for(let C in _)typeof this.options[C]>"u"?this.options[C]=_[C]:this.options[C]=$[C];this.log=this.options.log||(0,s.default)("mqttjs:client"),this.noop=this._noop.bind(this),this.log("MqttClient :: version:",E.VERSION),S.isWebWorker?this.log("MqttClient :: environment","webworker"):this.log("MqttClient :: environment",S.default?"browser":"node"),this.log("MqttClient :: options.protocol",$.protocol),this.log("MqttClient :: options.protocolVersion",$.protocolVersion),this.log("MqttClient :: options.username",$.username),this.log("MqttClient :: options.keepalive",$.keepalive),this.log("MqttClient :: options.reconnectPeriod",$.reconnectPeriod),this.log("MqttClient :: options.rejectUnauthorized",$.rejectUnauthorized),this.log("MqttClient :: options.properties.topicAliasMaximum",$.properties?$.properties.topicAliasMaximum:void 0),this.options.clientId=typeof $.clientId=="string"?$.clientId:E.defaultId(),this.log("MqttClient :: clientId",this.options.clientId),this.options.customHandleAcks=$.protocolVersion===5&&$.customHandleAcks?$.customHandleAcks:(...C)=>{C[3](null,0)},this.options.writeCache||(o.default.writeToStream.cacheNumbers=!1),this.streamBuilder=V,this.messageIdProvider=typeof this.options.messageIdProvider>"u"?new m.default:this.options.messageIdProvider,this.outgoingStore=$.outgoingStore||new d.default,this.incomingStore=$.incomingStore||new d.default,this.queueQoSZero=$.queueQoSZero===void 0?!0:$.queueQoSZero,this._resubscribeTopics={},this.messageIdToTopic={},this.keepaliveManager=null,this.connected=!1,this.disconnecting=!1,this.reconnecting=!1,this.queue=[],this.connackTimer=null,this.reconnectTimer=null,this._storeProcessing=!1,this._packetIdsDuringStoreProcessing={},this._storeProcessingQueue=[],this.outgoing={},this._firstConnection=!0,$.properties&&$.properties.topicAliasMaximum>0&&($.properties.topicAliasMaximum>65535?this.log("MqttClient :: options.properties.topicAliasMaximum is out of range"):this.topicAliasRecv=new h.default($.properties.topicAliasMaximum)),this.on("connect",()=>{let{queue:C}=this,P=()=>{let A=C.shift();this.log("deliver :: entry %o",A);let U=null;if(!A){this._resubscribe();return}U=A.packet,this.log("deliver :: call _sendPacket for %o",U);let Y=!0;U.messageId&&U.messageId!==0&&(this.messageIdProvider.register(U.messageId)||(Y=!1)),Y?this._sendPacket(U,z=>{A.cb&&A.cb(z),P()}):(this.log("messageId: %d has already used. The message is skipped and removed.",U.messageId),P())};this.log("connect :: sending queued packets"),P()}),this.on("close",()=>{this.log("close :: connected set to `false`"),this.connected=!1,this.log("close :: clearing connackTimer"),clearTimeout(this.connackTimer),this._destroyKeepaliveManager(),this.topicAliasRecv&&this.topicAliasRecv.clear(),this.log("close :: calling _setupReconnect"),this._setupReconnect()}),this.options.manualConnect||(this.log("MqttClient :: setting up stream"),this.connect())}static defaultId(){return`mqttjs_${Math.random().toString(16).substr(2,8)}`}handleAuth(V,$){$()}handleMessage(V,$){$()}_nextId(){return this.messageIdProvider.allocate()}getLastMessageId(){return this.messageIdProvider.getLastAllocated()}connect(){var ue;let V=new i.Writable,$=o.default.parser(this.options),C=null,P=[];this.log("connect :: calling method to clear reconnect"),this._clearReconnect(),this.disconnected&&!this.reconnecting&&(this.incomingStore=this.options.incomingStore||new d.default,this.outgoingStore=this.options.outgoingStore||new d.default,this.disconnecting=!1,this.disconnected=!1),this.log("connect :: using streamBuilder provided to client to create stream"),this.stream=this.streamBuilder(this),$.on("packet",oe=>{this.log("parser :: on packet push to packets array."),P.push(oe)});let A=()=>{this.log("work :: getting next packet in queue");let oe=P.shift();if(oe)this.log("work :: packet pulled from queue"),(0,p.default)(this,oe,U);else{this.log("work :: no packets in queue");let re=C;C=null,this.log("work :: done flag is %s",!!re),re&&re()}},U=()=>{if(P.length)(0,f.nextTick)(A);else{let oe=C;C=null,oe()}};V._write=(oe,re,fe)=>{C=fe,this.log("writable stream :: parsing buffer"),$.parse(oe),A()};let Y=oe=>{this.log("streamErrorHandler :: error",oe.message),oe.code?(this.log("streamErrorHandler :: emitting error"),this.emit("error",oe)):this.noop(oe)};this.log("connect :: pipe stream to writable stream"),this.stream.pipe(V),this.stream.on("error",Y),this.stream.on("close",()=>{this.log("(%s)stream :: on close",this.options.clientId),this._flushVolatile(),this.log("stream: emit close to MqttClient"),this.emit("close")}),this.log("connect: sending packet `connect`");let z={cmd:"connect",protocolId:this.options.protocolId,protocolVersion:this.options.protocolVersion,clean:this.options.clean,clientId:this.options.clientId,keepalive:this.options.keepalive,username:this.options.username,password:this.options.password,properties:this.options.properties};if(this.options.will&&(z.will={...this.options.will,payload:(ue=this.options.will)==null?void 0:ue.payload}),this.topicAliasRecv&&(z.properties||(z.properties={}),this.topicAliasRecv&&(z.properties.topicAliasMaximum=this.topicAliasRecv.max)),this._writePacket(z),$.on("error",this.emit.bind(this,"error")),this.options.properties){if(!this.options.properties.authenticationMethod&&this.options.properties.authenticationData)return this.end(()=>this.emit("error",new Error("Packet has no Authentication Method"))),this;if(this.options.properties.authenticationMethod&&this.options.authPacket&&typeof this.options.authPacket=="object"){let oe={cmd:"auth",reasonCode:0,...this.options.authPacket};this._writePacket(oe)}}return this.stream.setMaxListeners(1e3),clearTimeout(this.connackTimer),this.connackTimer=setTimeout(()=>{this.log("!!connectTimeout hit!! Calling _cleanUp with force `true`"),this.emit("error",new Error("connack timeout")),this._cleanUp(!0)},this.options.connectTimeout),this}publish(V,$,C,P){this.log("publish :: message `%s` to topic `%s`",$,V);let{options:A}=this;typeof C=="function"&&(P=C,C=null),C=C||{},C={qos:0,retain:!1,dup:!1,...C};let{qos:U,retain:Y,dup:z,properties:ue,cbStorePut:oe}=C;if(this._checkDisconnecting(P))return this;let re=()=>{let fe=0;if((U===1||U===2)&&(fe=this._nextId(),fe===null))return this.log("No messageId left"),!1;let J={cmd:"publish",topic:V,payload:$,qos:U,retain:Y,messageId:fe,dup:z};switch(A.protocolVersion===5&&(J.properties=ue),this.log("publish :: qos",U),U){case 1:case 2:this.outgoing[J.messageId]={volatile:!1,cb:P||this.noop},this.log("MqttClient:publish: packet cmd: %s",J.cmd),this._sendPacket(J,void 0,oe);break;default:this.log("MqttClient:publish: packet cmd: %s",J.cmd),this._sendPacket(J,P,oe);break}return!0};return(this._storeProcessing||this._storeProcessingQueue.length>0||!re())&&this._storeProcessingQueue.push({invoke:re,cbStorePut:C.cbStorePut,callback:P}),this}publishAsync(V,$,C){return new Promise((P,A)=>{this.publish(V,$,C,(U,Y)=>{U?A(U):P(Y)})})}subscribe(V,$,C){let P=this.options.protocolVersion;typeof $=="function"&&(C=$),C=C||this.noop;let A=!1,U=[];typeof V=="string"?(V=[V],U=V):Array.isArray(V)?U=V:typeof V=="object"&&(A=V.resubscribe,delete V.resubscribe,U=Object.keys(V));let Y=c.validateTopics(U);if(Y!==null)return b(C,new Error(`Invalid topic ${Y}`)),this;if(this._checkDisconnecting(C))return this.log("subscribe: discconecting true"),this;let z={qos:0};P===5&&(z.nl=!1,z.rap=!1,z.rh=0),$={...z,...$};let{properties:ue}=$,oe=[],re=(se,R)=>{if(R=R||$,!Object.prototype.hasOwnProperty.call(this._resubscribeTopics,se)||this._resubscribeTopics[se].qos<R.qos||A){let Z={topic:se,qos:R.qos};P===5&&(Z.nl=R.nl,Z.rap=R.rap,Z.rh=R.rh,Z.properties=ue),this.log("subscribe: pushing topic `%s` and qos `%s` to subs list",Z.topic,Z.qos),oe.push(Z)}};if(Array.isArray(V)?V.forEach(se=>{this.log("subscribe: array topic %s",se),re(se)}):Object.keys(V).forEach(se=>{this.log("subscribe: object topic %s, %o",se,V[se]),re(se,V[se])}),!oe.length)return C(null,[]),this;let fe=(se,R)=>{let Z={cmd:"subscribe",subscriptions:se,messageId:R};if(ue&&(Z.properties=ue),this.options.resubscribe){this.log("subscribe :: resubscribe true");let H=[];se.forEach(Ve=>{if(this.options.reconnectPeriod>0){let ee={qos:Ve.qos};P===5&&(ee.nl=Ve.nl||!1,ee.rap=Ve.rap||!1,ee.rh=Ve.rh||0,ee.properties=Ve.properties),this._resubscribeTopics[Ve.topic]=ee,H.push(Ve.topic)}}),this.messageIdToTopic[Z.messageId]=H}let ge=new Promise((H,Ve)=>{this.outgoing[Z.messageId]={volatile:!0,cb(ee,G){if(!ee){let{granted:le}=G;for(let X=0;X<le.length;X+=1)se[X].qos=le[X]}ee?Ve(new f.ErrorWithSubackPacket(ee.message,G)):H(G)}}});return this.log("subscribe :: call _sendPacket"),this._sendPacket(Z),ge},J=()=>{let se=this.options.subscribeBatchSize??oe.length,R=[];for(let Z=0;Z<oe.length;Z+=se){let ge=oe.slice(Z,Z+se),H=this._nextId();if(H===null)return this.log("No messageId left"),!1;R.push(fe(ge,H))}return Promise.all(R).then(Z=>{C(null,oe,Z.at(-1))}).catch(Z=>{C(Z,oe,Z.packet)}),!0};return(this._storeProcessing||this._storeProcessingQueue.length>0||!J())&&this._storeProcessingQueue.push({invoke:J,callback:C}),this}subscribeAsync(V,$){return new Promise((C,P)=>{this.subscribe(V,$,(A,U)=>{A?P(A):C(U)})})}unsubscribe(V,$,C){typeof V=="string"&&(V=[V]),typeof $=="function"&&(C=$),C=C||this.noop;let P=c.validateTopics(V);if(P!==null)return b(C,new Error(`Invalid topic ${P}`)),this;if(this._checkDisconnecting(C))return this;let A=()=>{let U=this._nextId();if(U===null)return this.log("No messageId left"),!1;let Y={cmd:"unsubscribe",messageId:U,unsubscriptions:[]};return typeof V=="string"?Y.unsubscriptions=[V]:Array.isArray(V)&&(Y.unsubscriptions=V),this.options.resubscribe&&Y.unsubscriptions.forEach(z=>{delete this._resubscribeTopics[z]}),typeof $=="object"&&$.properties&&(Y.properties=$.properties),this.outgoing[Y.messageId]={volatile:!0,cb:C},this.log("unsubscribe: call _sendPacket"),this._sendPacket(Y),!0};return(this._storeProcessing||this._storeProcessingQueue.length>0||!A())&&this._storeProcessingQueue.push({invoke:A,callback:C}),this}unsubscribeAsync(V,$){return new Promise((C,P)=>{this.unsubscribe(V,$,(A,U)=>{A?P(A):C(U)})})}end(V,$,C){this.log("end :: (%s)",this.options.clientId),(V==null||typeof V!="boolean")&&(C=C||$,$=V,V=!1),typeof $!="object"&&(C=C||$,$=null),this.log("end :: cb? %s",!!C),(!C||typeof C!="function")&&(C=this.noop);let P=()=>{this.log("end :: closeStores: closing incoming and outgoing stores"),this.disconnected=!0,this.incomingStore.close(U=>{this.outgoingStore.close(Y=>{if(this.log("end :: closeStores: emitting end"),this.emit("end"),C){let z=U||Y;this.log("end :: closeStores: invoking callback with args"),C(z)}})}),this._deferredReconnect?this._deferredReconnect():(this.options.reconnectPeriod===0||this.options.manualConnect)&&(this.disconnecting=!1)},A=()=>{this.log("end :: (%s) :: finish :: calling _cleanUp with force %s",this.options.clientId,V),this._cleanUp(V,()=>{this.log("end :: finish :: calling process.nextTick on closeStores"),(0,f.nextTick)(P)},$)};return this.disconnecting?(C(),this):(this._clearReconnect(),this.disconnecting=!0,!V&&Object.keys(this.outgoing).length>0?(this.log("end :: (%s) :: calling finish in 10ms once outgoing is empty",this.options.clientId),this.once("outgoingEmpty",setTimeout.bind(null,A,10))):(this.log("end :: (%s) :: immediately calling finish",this.options.clientId),A()),this)}endAsync(V,$){return new Promise((C,P)=>{this.end(V,$,A=>{A?P(A):C()})})}removeOutgoingMessage(V){if(this.outgoing[V]){let{cb:$}=this.outgoing[V];this._removeOutgoingAndStoreMessage(V,()=>{$(new Error("Message removed"))})}return this}reconnect(V){this.log("client reconnect");let $=()=>{V?(this.options.incomingStore=V.incomingStore,this.options.outgoingStore=V.outgoingStore):(this.options.incomingStore=null,this.options.outgoingStore=null),this.incomingStore=this.options.incomingStore||new d.default,this.outgoingStore=this.options.outgoingStore||new d.default,this.disconnecting=!1,this.disconnected=!1,this._deferredReconnect=null,this._reconnect()};return this.disconnecting&&!this.disconnected?this._deferredReconnect=$:$(),this}_flushVolatile(){this.outgoing&&(this.log("_flushVolatile :: deleting volatile messages from the queue and setting their callbacks as error function"),Object.keys(this.outgoing).forEach(V=>{this.outgoing[V].volatile&&typeof this.outgoing[V].cb=="function"&&(this.outgoing[V].cb(new Error("Connection closed")),delete this.outgoing[V])}))}_flush(){this.outgoing&&(this.log("_flush: queue exists? %b",!!this.outgoing),Object.keys(this.outgoing).forEach(V=>{typeof this.outgoing[V].cb=="function"&&(this.outgoing[V].cb(new Error("Connection closed")),delete this.outgoing[V])}))}_removeTopicAliasAndRecoverTopicName(V){let $;V.properties&&($=V.properties.topicAlias);let C=V.topic.toString();if(this.log("_removeTopicAliasAndRecoverTopicName :: alias %d, topic %o",$,C),C.length===0){if(typeof $>"u")return new Error("Unregistered Topic Alias");if(C=this.topicAliasSend.getTopicByAlias($),typeof C>"u")return new Error("Unregistered Topic Alias");V.topic=C}$&&delete V.properties.topicAlias}_checkDisconnecting(V){return this.disconnecting&&(V&&V!==this.noop?V(new Error("client disconnecting")):this.emit("error",new Error("client disconnecting"))),this.disconnecting}_reconnect(){this.log("_reconnect: emitting reconnect to client"),this.emit("reconnect"),this.connected?(this.end(()=>{this.connect()}),this.log("client already connected. disconnecting first.")):(this.log("_reconnect: calling connect"),this.connect())}_setupReconnect(){!this.disconnecting&&!this.reconnectTimer&&this.options.reconnectPeriod>0?(this.reconnecting||(this.log("_setupReconnect :: emit `offline` state"),this.emit("offline"),this.log("_setupReconnect :: set `reconnecting` to `true`"),this.reconnecting=!0),this.log("_setupReconnect :: setting reconnectTimer for %d ms",this.options.reconnectPeriod),this.reconnectTimer=setInterval(()=>{this.log("reconnectTimer :: reconnect triggered!"),this._reconnect()},this.options.reconnectPeriod)):this.log("_setupReconnect :: doing nothing...")}_clearReconnect(){this.log("_clearReconnect : clearing reconnect timer"),this.reconnectTimer&&(clearInterval(this.reconnectTimer),this.reconnectTimer=null)}_cleanUp(V,$,C={}){if($&&(this.log("_cleanUp :: done callback provided for on stream close"),this.stream.on("close",$)),this.log("_cleanUp :: forced? %s",V),V)this.options.reconnectPeriod===0&&this.options.clean&&this._flush(),this.log("_cleanUp :: (%s) :: destroying stream",this.options.clientId),this.stream.destroy();else{let P={cmd:"disconnect",...C};this.log("_cleanUp :: (%s) :: call _sendPacket with disconnect packet",this.options.clientId),this._sendPacket(P,()=>{this.log("_cleanUp :: (%s) :: destroying stream",this.options.clientId),b(()=>{this.stream.end(()=>{this.log("_cleanUp :: (%s) :: stream destroyed",this.options.clientId)})})})}!this.disconnecting&&!this.reconnecting&&(this.log("_cleanUp :: client not disconnecting/reconnecting. Clearing and resetting reconnect."),this._clearReconnect(),this._setupReconnect()),this._destroyKeepaliveManager(),$&&!this.connected&&(this.log("_cleanUp :: (%s) :: removing stream `done` callback `close` listener",this.options.clientId),this.stream.removeListener("close",$),$())}_storeAndSend(V,$,C){this.log("storeAndSend :: store packet with cmd %s to outgoingStore",V.cmd);let P=V,A;if(P.cmd==="publish"&&(P=(0,a.default)(V),A=this._removeTopicAliasAndRecoverTopicName(P),A))return $&&$(A);this.outgoingStore.put(P,U=>{if(U)return $&&$(U);C(),this._writePacket(V,$)})}_applyTopicAlias(V){if(this.options.protocolVersion===5&&V.cmd==="publish"){let $;V.properties&&($=V.properties.topicAlias);let C=V.topic.toString();if(this.topicAliasSend)if($){if(C.length!==0&&(this.log("applyTopicAlias :: register topic: %s - alias: %d",C,$),!this.topicAliasSend.put(C,$)))return this.log("applyTopicAlias :: error out of range. topic: %s - alias: %d",C,$),new Error("Sending Topic Alias out of range")}else C.length!==0&&(this.options.autoAssignTopicAlias?($=this.topicAliasSend.getAliasByTopic(C),$?(V.topic="",V.properties={...V.properties,topicAlias:$},this.log("applyTopicAlias :: auto assign(use) topic: %s - alias: %d",C,$)):($=this.topicAliasSend.getLruAlias(),this.topicAliasSend.put(C,$),V.properties={...V.properties,topicAlias:$},this.log("applyTopicAlias :: auto assign topic: %s - alias: %d",C,$))):this.options.autoUseTopicAlias&&($=this.topicAliasSend.getAliasByTopic(C),$&&(V.topic="",V.properties={...V.properties,topicAlias:$},this.log("applyTopicAlias :: auto use topic: %s - alias: %d",C,$))));else if($)return this.log("applyTopicAlias :: error out of range. topic: %s - alias: %d",C,$),new Error("Sending Topic Alias out of range")}}_noop(V){this.log("noop ::",V)}_writePacket(V,$){this.log("_writePacket :: packet: %O",V),this.log("_writePacket :: emitting `packetsend`"),this.emit("packetsend",V),this.log("_writePacket :: writing to stream");let C=o.default.writeToStream(V,this.stream,this.options);this.log("_writePacket :: writeToStream result %s",C),!C&&$&&$!==this.noop?(this.log("_writePacket :: handle events on `drain` once through callback."),this.stream.once("drain",$)):$&&(this.log("_writePacket :: invoking cb"),$())}_sendPacket(V,$,C,P){this.log("_sendPacket :: (%s) :: start",this.options.clientId),C=C||this.noop,$=$||this.noop;let A=this._applyTopicAlias(V);if(A){$(A);return}if(!this.connected){if(V.cmd==="auth"){this._writePacket(V,$);return}this.log("_sendPacket :: client not connected. Storing packet offline."),this._storePacket(V,$,C);return}if(P){this._writePacket(V,$);return}switch(V.cmd){case"publish":break;case"pubrel":this._storeAndSend(V,$,C);return;default:this._writePacket(V,$);return}switch(V.qos){case 2:case 1:this._storeAndSend(V,$,C);break;case 0:default:this._writePacket(V,$);break}this.log("_sendPacket :: (%s) :: end",this.options.clientId)}_storePacket(V,$,C){this.log("_storePacket :: packet: %o",V),this.log("_storePacket :: cb? %s",!!$),C=C||this.noop;let P=V;if(P.cmd==="publish"){P=(0,a.default)(V);let U=this._removeTopicAliasAndRecoverTopicName(P);if(U)return $&&$(U)}let A=P.qos||0;A===0&&this.queueQoSZero||P.cmd!=="publish"?this.queue.push({packet:P,cb:$}):A>0?($=this.outgoing[P.messageId]?this.outgoing[P.messageId].cb:null,this.outgoingStore.put(P,U=>{if(U)return $&&$(U);C()})):$&&$(new Error("No connection to broker"))}_setupKeepaliveManager(){this.log("_setupKeepaliveManager :: keepalive %d (seconds)",this.options.keepalive),!this.keepaliveManager&&this.options.keepalive&&(this.keepaliveManager=new v.default(this,this.options.timerVariant))}_destroyKeepaliveManager(){this.keepaliveManager&&(this.log("_destroyKeepaliveManager :: destroying keepalive manager"),this.keepaliveManager.destroy(),this.keepaliveManager=null)}reschedulePing(V=!1){this.keepaliveManager&&this.options.keepalive&&(V||this.options.reschedulePings)&&this._reschedulePing()}_reschedulePing(){this.log("_reschedulePing :: rescheduling ping"),this.keepaliveManager.reschedule()}sendPing(){this.log("_sendPing :: sending pingreq"),this._sendPacket({cmd:"pingreq"})}onKeepaliveTimeout(){this.emit("error",new Error("Keepalive timeout")),this.log("onKeepaliveTimeout :: calling _cleanUp with force true"),this._cleanUp(!0)}_resubscribe(){this.log("_resubscribe");let V=Object.keys(this._resubscribeTopics);if(!this._firstConnection&&(this.options.clean||this.options.protocolVersion>=4&&!this.connackPacket.sessionPresent)&&V.length>0)if(this.options.resubscribe)if(this.options.protocolVersion===5){this.log("_resubscribe: protocolVersion 5");for(let $=0;$<V.length;$++){let C={};C[V[$]]=this._resubscribeTopics[V[$]],C.resubscribe=!0,this.subscribe(C,{properties:C[V[$]].properties})}}else this._resubscribeTopics.resubscribe=!0,this.subscribe(this._resubscribeTopics);else this._resubscribeTopics={};this._firstConnection=!1}_onConnect(V){if(this.disconnected){this.emit("connect",V);return}this.connackPacket=V,this.messageIdProvider.clear(),this._setupKeepaliveManager(),this.connected=!0;let $=()=>{let C=this.outgoingStore.createStream(),P=()=>{C.destroy(),C=null,this._flushStoreProcessingQueue(),A()},A=()=>{this._storeProcessing=!1,this._packetIdsDuringStoreProcessing={}};this.once("close",P),C.on("error",Y=>{A(),this._flushStoreProcessingQueue(),this.removeListener("close",P),this.emit("error",Y)});let U=()=>{if(!C)return;let Y=C.read(1),z;if(!Y){C.once("readable",U);return}if(this._storeProcessing=!0,this._packetIdsDuringStoreProcessing[Y.messageId]){U();return}!this.disconnecting&&!this.reconnectTimer?(z=this.outgoing[Y.messageId]?this.outgoing[Y.messageId].cb:null,this.outgoing[Y.messageId]={volatile:!1,cb(ue,oe){z&&z(ue,oe),U()}},this._packetIdsDuringStoreProcessing[Y.messageId]=!0,this.messageIdProvider.register(Y.messageId)?this._sendPacket(Y,void 0,void 0,!0):this.log("messageId: %d has already used.",Y.messageId)):C.destroy&&C.destroy()};C.on("end",()=>{let Y=!0;for(let z in this._packetIdsDuringStoreProcessing)if(!this._packetIdsDuringStoreProcessing[z]){Y=!1;break}this.removeListener("close",P),Y?(A(),this._invokeAllStoreProcessingQueue(),this.emit("connect",V)):$()}),U()};$()}_invokeStoreProcessingQueue(){if(!this._storeProcessing&&this._storeProcessingQueue.length>0){let V=this._storeProcessingQueue[0];if(V&&V.invoke())return this._storeProcessingQueue.shift(),!0}return!1}_invokeAllStoreProcessingQueue(){for(;this._invokeStoreProcessingQueue(););}_flushStoreProcessingQueue(){for(let V of this._storeProcessingQueue)V.cbStorePut&&V.cbStorePut(new Error("Connection closed")),V.callback&&V.callback(new Error("Connection closed"));this._storeProcessingQueue.splice(0)}_removeOutgoingAndStoreMessage(V,$){delete this.outgoing[V],this.outgoingStore.del({messageId:V},(C,P)=>{$(C,P),this.messageIdProvider.deallocate(V),this._invokeStoreProcessingQueue()})}},Se(E,"VERSION",f.MQTTJS_VERSION),E);u.default=k}),y0=ke(u=>{be(),Ee(),we(),Object.defineProperty(u,"__esModule",{value:!0});var r=ra(),t=class{constructor(){Se(this,"numberAllocator");Se(this,"lastId");this.numberAllocator=new r.NumberAllocator(1,65535)}allocate(){return this.lastId=this.numberAllocator.alloc(),this.lastId}getLastAllocated(){return this.lastId}register(l){return this.numberAllocator.use(l)}deallocate(l){this.numberAllocator.free(l)}clear(){this.numberAllocator.clear()}};u.default=t});function b0(){if(Ln)return Pr;Ln=!0;let u=2147483647,r=36,t=1,l=26,n=38,o=700,i=72,a=128,s="-",c=/^xn--/,d=/[^\0-\x7F]/,p=/[\x2E\u3002\uFF0E\uFF61]/g,m={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},h=r-t,f=Math.floor,w=String.fromCharCode;function v(C){throw new RangeError(m[C])}function S(C,P){let A=[],U=C.length;for(;U--;)A[U]=P(C[U]);return A}function b(C,P){let A=C.split("@"),U="";A.length>1&&(U=A[0]+"@",C=A[1]),C=C.replace(p,".");let Y=C.split("."),z=S(Y,P).join(".");return U+z}function _(C){let P=[],A=0,U=C.length;for(;A<U;){let Y=C.charCodeAt(A++);if(Y>=55296&&Y<=56319&&A<U){let z=C.charCodeAt(A++);(z&64512)==56320?P.push(((Y&1023)<<10)+(z&1023)+65536):(P.push(Y),A--)}else P.push(Y)}return P}let k=C=>String.fromCodePoint(...C),E=function(C){return C>=48&&C<58?26+(C-48):C>=65&&C<91?C-65:C>=97&&C<123?C-97:r},I=function(C,P){return C+22+75*(C<26)-((P!=0)<<5)},x=function(C,P,A){let U=0;for(C=A?f(C/o):C>>1,C+=f(C/P);C>h*l>>1;U+=r)C=f(C/h);return f(U+(h+1)*C/(C+n))},V=function(C){let P=[],A=C.length,U=0,Y=a,z=i,ue=C.lastIndexOf(s);ue<0&&(ue=0);for(let oe=0;oe<ue;++oe)C.charCodeAt(oe)>=128&&v("not-basic"),P.push(C.charCodeAt(oe));for(let oe=ue>0?ue+1:0;oe<A;){let re=U;for(let J=1,se=r;;se+=r){oe>=A&&v("invalid-input");let R=E(C.charCodeAt(oe++));R>=r&&v("invalid-input"),R>f((u-U)/J)&&v("overflow"),U+=R*J;let Z=se<=z?t:se>=z+l?l:se-z;if(R<Z)break;let ge=r-Z;J>f(u/ge)&&v("overflow"),J*=ge}let fe=P.length+1;z=x(U-re,fe,re==0),f(U/fe)>u-Y&&v("overflow"),Y+=f(U/fe),U%=fe,P.splice(U++,0,Y)}return String.fromCodePoint(...P)},$=function(C){let P=[];C=_(C);let A=C.length,U=a,Y=0,z=i;for(let re of C)re<128&&P.push(w(re));let ue=P.length,oe=ue;for(ue&&P.push(s);oe<A;){let re=u;for(let J of C)J>=U&&J<re&&(re=J);let fe=oe+1;re-U>f((u-Y)/fe)&&v("overflow"),Y+=(re-U)*fe,U=re;for(let J of C)if(J<U&&++Y>u&&v("overflow"),J===U){let se=Y;for(let R=r;;R+=r){let Z=R<=z?t:R>=z+l?l:R-z;if(se<Z)break;let ge=se-Z,H=r-Z;P.push(w(I(Z+ge%H,0))),se=f(ge/H)}P.push(w(I(se,0))),z=x(Y,fe,oe===ue),Y=0,++oe}++Y,++U}return P.join("")};return Pr={version:"2.3.1",ucs2:{decode:_,encode:k},decode:V,encode:$,toASCII:function(C){return b(C,function(P){return d.test(P)?"xn--"+$(P):P})},toUnicode:function(C){return b(C,function(P){return c.test(P)?V(P.slice(4).toLowerCase()):P})}},Pr}var Pr,Ln,Dt,w0=dt(()=>{be(),Ee(),we(),Pr={},Ln=!1,Dt=b0(),Dt.decode,Dt.encode,Dt.toASCII,Dt.toUnicode,Dt.ucs2,Dt.version});function E0(){return Wn||(Wn=!0,zn=function(){if(typeof Symbol!="function"||typeof Object.getOwnPropertySymbols!="function")return!1;if(typeof Symbol.iterator=="symbol")return!0;var u={},r=Symbol("test"),t=Object(r);if(typeof r=="string"||Object.prototype.toString.call(r)!=="[object Symbol]"||Object.prototype.toString.call(t)!=="[object Symbol]")return!1;var l=42;u[r]=l;for(r in u)return!1;if(typeof Object.keys=="function"&&Object.keys(u).length!==0||typeof Object.getOwnPropertyNames=="function"&&Object.getOwnPropertyNames(u).length!==0)return!1;var n=Object.getOwnPropertySymbols(u);if(n.length!==1||n[0]!==r||!Object.prototype.propertyIsEnumerable.call(u,r))return!1;if(typeof Object.getOwnPropertyDescriptor=="function"){var o=Object.getOwnPropertyDescriptor(u,r);if(o.value!==l||o.enumerable!==!0)return!1}return!0}),zn}function v0(){return Gn||(Gn=!0,qn=Error),qn}function k0(){return Kn||(Kn=!0,Hn=EvalError),Hn}function _0(){return Qn||(Qn=!0,Yn=RangeError),Yn}function N0(){return Xn||(Xn=!0,Jn=ReferenceError),Jn}function ua(){return ei||(ei=!0,Zn=SyntaxError),Zn}function yr(){return ri||(ri=!0,ti=TypeError),ti}function x0(){return ni||(ni=!0,oi=URIError),oi}function S0(){if(ii)return Or;ii=!0;var u=typeof Symbol<"u"&&Symbol,r=E0();return Or=function(){return typeof u!="function"||typeof Symbol!="function"||typeof u("foo")!="symbol"||typeof Symbol("bar")!="symbol"?!1:r()},Or}function V0(){if(si)return Mr;si=!0;var u={__proto__:null,foo:{}},r=Object;return Mr=function(){return{__proto__:u}.foo===u.foo&&!(u instanceof r)},Mr}function C0(){if(ai)return Rr;ai=!0;var u="Function.prototype.bind called on incompatible ",r=Object.prototype.toString,t=Math.max,l="[object Function]",n=function(a,s){for(var c=[],d=0;d<a.length;d+=1)c[d]=a[d];for(var p=0;p<s.length;p+=1)c[p+a.length]=s[p];return c},o=function(a,s){for(var c=[],d=s,p=0;d<a.length;d+=1,p+=1)c[p]=a[d];return c},i=function(a,s){for(var c="",d=0;d<a.length;d+=1)c+=a[d],d+1<a.length&&(c+=s);return c};return Rr=function(a){var s=this;if(typeof s!="function"||r.apply(s)!==l)throw new TypeError(u+s);for(var c=o(arguments,1),d,p=function(){if(this instanceof d){var v=s.apply(this,n(c,arguments));return Object(v)===v?v:this}return s.apply(a,n(c,arguments))},m=t(0,s.length-c.length),h=[],f=0;f<m;f++)h[f]="$"+f;if(d=Function("binder","return function ("+i(h,",")+"){ return binder.apply(this,arguments); }")(p),s.prototype){var w=function(){};w.prototype=s.prototype,d.prototype=new w,w.prototype=null}return d},Rr}function Un(){if(li)return jr;li=!0;var u=C0();return jr=Function.prototype.bind||u,jr}function I0(){if(ci)return Lr;ci=!0;var u=Function.prototype.call,r=Object.prototype.hasOwnProperty,t=Un();return Lr=t.call(u,r),Lr}function sr(){if(di)return Ur;di=!0;var u,r=v0(),t=k0(),l=_0(),n=N0(),o=ua(),i=yr(),a=x0(),s=Function,c=function(oe){try{return s('"use strict"; return ('+oe+").constructor;")()}catch{}},d=Object.getOwnPropertyDescriptor;if(d)try{d({},"")}catch{d=null}var p=function(){throw new i},m=d?function(){try{return arguments.callee,p}catch{try{return d(arguments,"callee").get}catch{return p}}}():p,h=S0()(),f=V0()(),w=Object.getPrototypeOf||(f?function(oe){return oe.__proto__}:null),v={},S=typeof Uint8Array>"u"||!w?u:w(Uint8Array),b={__proto__:null,"%AggregateError%":typeof AggregateError>"u"?u:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?u:ArrayBuffer,"%ArrayIteratorPrototype%":h&&w?w([][Symbol.iterator]()):u,"%AsyncFromSyncIteratorPrototype%":u,"%AsyncFunction%":v,"%AsyncGenerator%":v,"%AsyncGeneratorFunction%":v,"%AsyncIteratorPrototype%":v,"%Atomics%":typeof Atomics>"u"?u:Atomics,"%BigInt%":typeof BigInt>"u"?u:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?u:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?u:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?u:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":r,"%eval%":eval,"%EvalError%":t,"%Float32Array%":typeof Float32Array>"u"?u:Float32Array,"%Float64Array%":typeof Float64Array>"u"?u:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?u:FinalizationRegistry,"%Function%":s,"%GeneratorFunction%":v,"%Int8Array%":typeof Int8Array>"u"?u:Int8Array,"%Int16Array%":typeof Int16Array>"u"?u:Int16Array,"%Int32Array%":typeof Int32Array>"u"?u:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":h&&w?w(w([][Symbol.iterator]())):u,"%JSON%":typeof JSON=="object"?JSON:u,"%Map%":typeof Map>"u"?u:Map,"%MapIteratorPrototype%":typeof Map>"u"||!h||!w?u:w(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?u:Promise,"%Proxy%":typeof Proxy>"u"?u:Proxy,"%RangeError%":l,"%ReferenceError%":n,"%Reflect%":typeof Reflect>"u"?u:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?u:Set,"%SetIteratorPrototype%":typeof Set>"u"||!h||!w?u:w(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?u:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":h&&w?w(""[Symbol.iterator]()):u,"%Symbol%":h?Symbol:u,"%SyntaxError%":o,"%ThrowTypeError%":m,"%TypedArray%":S,"%TypeError%":i,"%Uint8Array%":typeof Uint8Array>"u"?u:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?u:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?u:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?u:Uint32Array,"%URIError%":a,"%WeakMap%":typeof WeakMap>"u"?u:WeakMap,"%WeakRef%":typeof WeakRef>"u"?u:WeakRef,"%WeakSet%":typeof WeakSet>"u"?u:WeakSet};if(w)try{null.error}catch(oe){var _=w(w(oe));b["%Error.prototype%"]=_}var k=function oe(re){var fe;if(re==="%AsyncFunction%")fe=c("async function () {}");else if(re==="%GeneratorFunction%")fe=c("function* () {}");else if(re==="%AsyncGeneratorFunction%")fe=c("async function* () {}");else if(re==="%AsyncGenerator%"){var J=oe("%AsyncGeneratorFunction%");J&&(fe=J.prototype)}else if(re==="%AsyncIteratorPrototype%"){var se=oe("%AsyncGenerator%");se&&w&&(fe=w(se.prototype))}return b[re]=fe,fe},E={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},I=Un(),x=I0(),V=I.call(Function.call,Array.prototype.concat),$=I.call(Function.apply,Array.prototype.splice),C=I.call(Function.call,String.prototype.replace),P=I.call(Function.call,String.prototype.slice),A=I.call(Function.call,RegExp.prototype.exec),U=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,Y=/\\(\\)?/g,z=function(oe){var re=P(oe,0,1),fe=P(oe,-1);if(re==="%"&&fe!=="%")throw new o("invalid intrinsic syntax, expected closing `%`");if(fe==="%"&&re!=="%")throw new o("invalid intrinsic syntax, expected opening `%`");var J=[];return C(oe,U,function(se,R,Z,ge){J[J.length]=Z?C(ge,Y,"$1"):R||se}),J},ue=function(oe,re){var fe=oe,J;if(x(E,fe)&&(J=E[fe],fe="%"+J[0]+"%"),x(b,fe)){var se=b[fe];if(se===v&&(se=k(fe)),typeof se>"u"&&!re)throw new i("intrinsic "+oe+" exists, but is not available. Please file an issue!");return{alias:J,name:fe,value:se}}throw new o("intrinsic "+oe+" does not exist!")};return Ur=function(oe,re){if(typeof oe!="string"||oe.length===0)throw new i("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof re!="boolean")throw new i('"allowMissing" argument must be a boolean');if(A(/^%?[^%]*%?$/,oe)===null)throw new o("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var fe=z(oe),J=fe.length>0?fe[0]:"",se=ue("%"+J+"%",re),R=se.name,Z=se.value,ge=!1,H=se.alias;H&&(J=H[0],$(fe,V([0,1],H)));for(var Ve=1,ee=!0;Ve<fe.length;Ve+=1){var G=fe[Ve],le=P(G,0,1),X=P(G,-1);if((le==='"'||le==="'"||le==="`"||X==='"'||X==="'"||X==="`")&&le!==X)throw new o("property names with quotes must have matching quotes");if((G==="constructor"||!ee)&&(ge=!0),J+="."+G,R="%"+J+"%",x(b,R))Z=b[R];else if(Z!=null){if(!(G in Z)){if(!re)throw new i("base intrinsic for "+oe+" exists, but the property is not available.");return}if(d&&Ve+1>=fe.length){var te=d(Z,G);ee=!!te,ee&&"get"in te&&!("originalValue"in te.get)?Z=te.get:Z=Z[G]}else ee=x(Z,G),Z=Z[G];ee&&!ge&&(b[R]=Z)}}return Z},Ur}function Fn(){if(ui)return Fr;ui=!0;var u=sr(),r=u("%Object.defineProperty%",!0)||!1;if(r)try{r({},"a",{value:1})}catch{r=!1}return Fr=r,Fr}function fa(){if(fi)return zr;fi=!0;var u=sr(),r=u("%Object.getOwnPropertyDescriptor%",!0);if(r)try{r([],"length")}catch{r=null}return zr=r,zr}function A0(){if(pi)return Wr;pi=!0;var u=Fn(),r=ua(),t=yr(),l=fa();return Wr=function(n,o,i){if(!n||typeof n!="object"&&typeof n!="function")throw new t("`obj` must be an object or a function`");if(typeof o!="string"&&typeof o!="symbol")throw new t("`property` must be a string or a symbol`");if(arguments.length>3&&typeof arguments[3]!="boolean"&&arguments[3]!==null)throw new t("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&typeof arguments[4]!="boolean"&&arguments[4]!==null)throw new t("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&typeof arguments[5]!="boolean"&&arguments[5]!==null)throw new t("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&typeof arguments[6]!="boolean")throw new t("`loose`, if provided, must be a boolean");var a=arguments.length>3?arguments[3]:null,s=arguments.length>4?arguments[4]:null,c=arguments.length>5?arguments[5]:null,d=arguments.length>6?arguments[6]:!1,p=!!l&&l(n,o);if(u)u(n,o,{configurable:c===null&&p?p.configurable:!c,enumerable:a===null&&p?p.enumerable:!a,value:i,writable:s===null&&p?p.writable:!s});else if(d||!a&&!s&&!c)n[o]=i;else throw new r("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.")},Wr}function $0(){if(hi)return qr;hi=!0;var u=Fn(),r=function(){return!!u};return r.hasArrayLengthDefineBug=function(){if(!u)return null;try{return u([],"length",{value:1}).length!==1}catch{return!0}},qr=r,qr}function T0(){if(mi)return Gr;mi=!0;var u=sr(),r=A0(),t=$0()(),l=fa(),n=yr(),o=u("%Math.floor%");return Gr=function(i,a){if(typeof i!="function")throw new n("`fn` is not a function");if(typeof a!="number"||a<0||a>4294967295||o(a)!==a)throw new n("`length` must be a positive 32-bit integer");var s=arguments.length>2&&!!arguments[2],c=!0,d=!0;if("length"in i&&l){var p=l(i,"length");p&&!p.configurable&&(c=!1),p&&!p.writable&&(d=!1)}return(c||d||!s)&&(t?r(i,"length",a,!0,!0):r(i,"length",a)),i},Gr}function B0(){if(gi)return ar;gi=!0;var u=Un(),r=sr(),t=T0(),l=yr(),n=r("%Function.prototype.apply%"),o=r("%Function.prototype.call%"),i=r("%Reflect.apply%",!0)||u.call(o,n),a=Fn(),s=r("%Math.max%");ar=function(d){if(typeof d!="function")throw new l("a function is required");var p=i(u,o,arguments);return t(p,1+s(0,d.length-(arguments.length-1)),!0)};var c=function(){return i(u,n,arguments)};return a?a(ar,"apply",{value:c}):ar.apply=c,ar}function D0(){if(yi)return Hr;yi=!0;var u=sr(),r=B0(),t=r(u("String.prototype.indexOf"));return Hr=function(l,n){var o=u(l,!!n);return typeof o=="function"&&t(l,".prototype.")>-1?r(o):o},Hr}var zn,Wn,qn,Gn,Hn,Kn,Yn,Qn,Jn,Xn,Zn,ei,ti,ri,oi,ni,Or,ii,Mr,si,Rr,ai,jr,li,Lr,ci,Ur,di,Fr,ui,zr,fi,Wr,pi,qr,hi,Gr,mi,ar,gi,Hr,yi,P0=dt(()=>{be(),Ee(),we(),zn={},Wn=!1,qn={},Gn=!1,Hn={},Kn=!1,Yn={},Qn=!1,Jn={},Xn=!1,Zn={},ei=!1,ti={},ri=!1,oi={},ni=!1,Or={},ii=!1,Mr={},si=!1,Rr={},ai=!1,jr={},li=!1,Lr={},ci=!1,Ur={},di=!1,Fr={},ui=!1,zr={},fi=!1,Wr={},pi=!1,qr={},hi=!1,Gr={},mi=!1,ar={},gi=!1,Hr={},yi=!1});function bi(u){throw new Error("Node.js process "+u+" is not supported by JSPM core outside of Node.js")}function O0(){!Yt||!Qt||(Yt=!1,Qt.length?yt=Qt.concat(yt):br=-1,yt.length&&pa())}function pa(){if(!Yt){var u=setTimeout(O0,0);Yt=!0;for(var r=yt.length;r;){for(Qt=yt,yt=[];++br<r;)Qt&&Qt[br].run();br=-1,r=yt.length}Qt=null,Yt=!1,clearTimeout(u)}}function M0(u){var r=new Array(arguments.length-1);if(arguments.length>1)for(var t=1;t<arguments.length;t++)r[t-1]=arguments[t];yt.push(new ha(u,r)),yt.length===1&&!Yt&&setTimeout(pa,0)}function ha(u,r){this.fun=u,this.array=r}function st(){}function R0(u){bi("_linkedBinding")}function j0(u){bi("dlopen")}function L0(){return[]}function U0(){return[]}function F0(u,r){if(!u)throw new Error(r||"assertion error")}function z0(){return!1}function W0(){return Ct.now()/1e3}function wi(u){var r=Math.floor((Date.now()-Ct.now())*.001),t=Ct.now()*.001,l=Math.floor(t)+r,n=Math.floor(t%1*1e9);return u&&(l=l-u[0],n=n-u[1],n<0&&(l--,n+=Yr)),[l,n]}function Pt(){return vi}function q0(u){return[]}var yt,Yt,Qt,br,ma,ga,ya,ba,wa,Ea,va,ka,_a,Na,xa,Sa,Va,Ca,Ia,Aa,$a,Ta,Ba,Da,Pa,Kr,Oa,Ma,Ra,ja,La,Ua,Fa,za,Wa,qa,Ga,Ha,Ka,Ya,Qa,Ja,Xa,Za,el,tl,rl,ol,nl,il,sl,Ct,Ei,Yr,al,ll,cl,dl,ul,fl,pl,hl,ml,gl,yl,vi,bl=dt(()=>{be(),Ee(),we(),yt=[],Yt=!1,br=-1,ha.prototype.run=function(){this.fun.apply(null,this.array)},ma="browser",ga="x64",ya="browser",ba={PATH:"/usr/bin",LANG:navigator.language+".UTF-8",PWD:"/",HOME:"/home",TMP:"/tmp"},wa=["/usr/bin/node"],Ea=[],va="v16.8.0",ka={},_a=function(u,r){console.warn((r?r+": ":"")+u)},Na=function(u){bi("binding")},xa=function(u){return 0},Sa=function(){return"/"},Va=function(u){},Ca={name:"node",sourceUrl:"",headersUrl:"",libUrl:""},Ia=st,Aa=[],$a={},Ta=!1,Ba={},Da=st,Pa=st,Kr=function(){return{}},Oa=Kr,Ma=Kr,Ra=st,ja=st,La=st,Ua={},Fa={inspector:!1,debug:!1,uv:!1,ipv6:!1,tls_alpn:!1,tls_sni:!1,tls_ocsp:!1,tls:!1,cached_builtins:!0},za=st,Wa=st,qa=st,Ga=st,Ha=st,Ka=st,Ya=st,Qa=void 0,Ja=void 0,Xa=void 0,Za=st,el=2,tl=1,rl="/bin/usr/node",ol=9229,nl="node",il=[],sl=st,Ct={now:typeof performance<"u"?performance.now.bind(performance):void 0,timing:typeof performance<"u"?performance.timing:void 0},Ct.now===void 0&&(Ei=Date.now(),Ct.timing&&Ct.timing.navigationStart&&(Ei=Ct.timing.navigationStart),Ct.now=()=>Date.now()-Ei),Yr=1e9,wi.bigint=function(u){var r=wi(u);return typeof BigInt>"u"?r[0]*Yr+r[1]:BigInt(r[0]*Yr)+BigInt(r[1])},al=10,ll={},cl=0,dl=Pt,ul=Pt,fl=Pt,pl=Pt,hl=Pt,ml=st,gl=Pt,yl=Pt,vi={version:va,versions:ka,arch:ga,platform:ya,release:Ca,_rawDebug:Ia,moduleLoadList:Aa,binding:Na,_linkedBinding:R0,_events:ll,_eventsCount:cl,_maxListeners:al,on:Pt,addListener:dl,once:ul,off:fl,removeListener:pl,removeAllListeners:hl,emit:ml,prependListener:gl,prependOnceListener:yl,listeners:q0,domain:$a,_exiting:Ta,config:Ba,dlopen:j0,uptime:W0,_getActiveRequests:L0,_getActiveHandles:U0,reallyExit:Da,_kill:Pa,cpuUsage:Kr,resourceUsage:Oa,memoryUsage:Ma,kill:Ra,exit:ja,openStdin:La,allowedNodeEnvironmentFlags:Ua,assert:F0,features:Fa,_fatalExceptions:za,setUncaughtExceptionCaptureCallback:Wa,hasUncaughtExceptionCaptureCallback:z0,emitWarning:_a,nextTick:M0,_tickCallback:qa,_debugProcess:Ga,_debugEnd:Ha,_startProfilerIdleNotifier:Ka,_stopProfilerIdleNotifier:Ya,stdout:Qa,stdin:Xa,stderr:Ja,abort:Za,umask:xa,chdir:Va,cwd:Sa,env:ba,title:ma,argv:wa,execArgv:Ea,pid:el,ppid:tl,execPath:rl,debugPort:ol,hrtime:wi,argv0:nl,_preload_modules:il,setSourceMapsEnabled:sl}});function G0(){if(ki)return Qr;ki=!0;var u=vi;function r(o){if(typeof o!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(o))}function t(o,i){for(var a="",s=0,c=-1,d=0,p,m=0;m<=o.length;++m){if(m<o.length)p=o.charCodeAt(m);else{if(p===47)break;p=47}if(p===47){if(!(c===m-1||d===1))if(c!==m-1&&d===2){if(a.length<2||s!==2||a.charCodeAt(a.length-1)!==46||a.charCodeAt(a.length-2)!==46){if(a.length>2){var h=a.lastIndexOf("/");if(h!==a.length-1){h===-1?(a="",s=0):(a=a.slice(0,h),s=a.length-1-a.lastIndexOf("/")),c=m,d=0;continue}}else if(a.length===2||a.length===1){a="",s=0,c=m,d=0;continue}}i&&(a.length>0?a+="/..":a="..",s=2)}else a.length>0?a+="/"+o.slice(c+1,m):a=o.slice(c+1,m),s=m-c-1;c=m,d=0}else p===46&&d!==-1?++d:d=-1}return a}function l(o,i){var a=i.dir||i.root,s=i.base||(i.name||"")+(i.ext||"");return a?a===i.root?a+s:a+o+s:s}var n={resolve:function(){for(var o="",i=!1,a,s=arguments.length-1;s>=-1&&!i;s--){var c;s>=0?c=arguments[s]:(a===void 0&&(a=u.cwd()),c=a),r(c),c.length!==0&&(o=c+"/"+o,i=c.charCodeAt(0)===47)}return o=t(o,!i),i?o.length>0?"/"+o:"/":o.length>0?o:"."},normalize:function(o){if(r(o),o.length===0)return".";var i=o.charCodeAt(0)===47,a=o.charCodeAt(o.length-1)===47;return o=t(o,!i),o.length===0&&!i&&(o="."),o.length>0&&a&&(o+="/"),i?"/"+o:o},isAbsolute:function(o){return r(o),o.length>0&&o.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var o,i=0;i<arguments.length;++i){var a=arguments[i];r(a),a.length>0&&(o===void 0?o=a:o+="/"+a)}return o===void 0?".":n.normalize(o)},relative:function(o,i){if(r(o),r(i),o===i||(o=n.resolve(o),i=n.resolve(i),o===i))return"";for(var a=1;a<o.length&&o.charCodeAt(a)===47;++a);for(var s=o.length,c=s-a,d=1;d<i.length&&i.charCodeAt(d)===47;++d);for(var p=i.length,m=p-d,h=c<m?c:m,f=-1,w=0;w<=h;++w){if(w===h){if(m>h){if(i.charCodeAt(d+w)===47)return i.slice(d+w+1);if(w===0)return i.slice(d+w)}else c>h&&(o.charCodeAt(a+w)===47?f=w:w===0&&(f=0));break}var v=o.charCodeAt(a+w),S=i.charCodeAt(d+w);if(v!==S)break;v===47&&(f=w)}var b="";for(w=a+f+1;w<=s;++w)(w===s||o.charCodeAt(w)===47)&&(b.length===0?b+="..":b+="/..");return b.length>0?b+i.slice(d+f):(d+=f,i.charCodeAt(d)===47&&++d,i.slice(d))},_makeLong:function(o){return o},dirname:function(o){if(r(o),o.length===0)return".";for(var i=o.charCodeAt(0),a=i===47,s=-1,c=!0,d=o.length-1;d>=1;--d)if(i=o.charCodeAt(d),i===47){if(!c){s=d;break}}else c=!1;return s===-1?a?"/":".":a&&s===1?"//":o.slice(0,s)},basename:function(o,i){if(i!==void 0&&typeof i!="string")throw new TypeError('"ext" argument must be a string');r(o);var a=0,s=-1,c=!0,d;if(i!==void 0&&i.length>0&&i.length<=o.length){if(i.length===o.length&&i===o)return"";var p=i.length-1,m=-1;for(d=o.length-1;d>=0;--d){var h=o.charCodeAt(d);if(h===47){if(!c){a=d+1;break}}else m===-1&&(c=!1,m=d+1),p>=0&&(h===i.charCodeAt(p)?--p===-1&&(s=d):(p=-1,s=m))}return a===s?s=m:s===-1&&(s=o.length),o.slice(a,s)}else{for(d=o.length-1;d>=0;--d)if(o.charCodeAt(d)===47){if(!c){a=d+1;break}}else s===-1&&(c=!1,s=d+1);return s===-1?"":o.slice(a,s)}},extname:function(o){r(o);for(var i=-1,a=0,s=-1,c=!0,d=0,p=o.length-1;p>=0;--p){var m=o.charCodeAt(p);if(m===47){if(!c){a=p+1;break}continue}s===-1&&(c=!1,s=p+1),m===46?i===-1?i=p:d!==1&&(d=1):i!==-1&&(d=-1)}return i===-1||s===-1||d===0||d===1&&i===s-1&&i===a+1?"":o.slice(i,s)},format:function(o){if(o===null||typeof o!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof o);return l("/",o)},parse:function(o){r(o);var i={root:"",dir:"",base:"",ext:"",name:""};if(o.length===0)return i;var a=o.charCodeAt(0),s=a===47,c;s?(i.root="/",c=1):c=0;for(var d=-1,p=0,m=-1,h=!0,f=o.length-1,w=0;f>=c;--f){if(a=o.charCodeAt(f),a===47){if(!h){p=f+1;break}continue}m===-1&&(h=!1,m=f+1),a===46?d===-1?d=f:w!==1&&(w=1):d!==-1&&(w=-1)}return d===-1||m===-1||w===0||w===1&&d===m-1&&d===p+1?m!==-1&&(p===0&&s?i.base=i.name=o.slice(1,m):i.base=i.name=o.slice(p,m)):(p===0&&s?(i.name=o.slice(1,d),i.base=o.slice(1,m)):(i.name=o.slice(p,d),i.base=o.slice(p,m)),i.ext=o.slice(d,m)),p>0?i.dir=o.slice(0,p-1):s&&(i.dir="/"),i},sep:"/",delimiter:":",win32:null,posix:null};return n.posix=n,Qr=n,Qr}var Qr,ki,_i,H0=dt(()=>{be(),Ee(),we(),bl(),Qr={},ki=!1,_i=G0()}),wl={};tr(wl,{URL:()=>Al,Url:()=>xl,default:()=>at,fileURLToPath:()=>vl,format:()=>Sl,parse:()=>Il,pathToFileURL:()=>kl,resolve:()=>Vl,resolveObject:()=>Cl});function K0(){if(xi)return Jr;xi=!0;var u=typeof Map=="function"&&Map.prototype,r=Object.getOwnPropertyDescriptor&&u?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,t=u&&r&&typeof r.get=="function"?r.get:null,l=u&&Map.prototype.forEach,n=typeof Set=="function"&&Set.prototype,o=Object.getOwnPropertyDescriptor&&n?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,i=n&&o&&typeof o.get=="function"?o.get:null,a=n&&Set.prototype.forEach,s=typeof WeakMap=="function"&&WeakMap.prototype,c=s?WeakMap.prototype.has:null,d=typeof WeakSet=="function"&&WeakSet.prototype,p=d?WeakSet.prototype.has:null,m=typeof WeakRef=="function"&&WeakRef.prototype,h=m?WeakRef.prototype.deref:null,f=Boolean.prototype.valueOf,w=Object.prototype.toString,v=Function.prototype.toString,S=String.prototype.match,b=String.prototype.slice,_=String.prototype.replace,k=String.prototype.toUpperCase,E=String.prototype.toLowerCase,I=RegExp.prototype.test,x=Array.prototype.concat,V=Array.prototype.join,$=Array.prototype.slice,C=Math.floor,P=typeof BigInt=="function"?BigInt.prototype.valueOf:null,A=Object.getOwnPropertySymbols,U=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Symbol.prototype.toString:null,Y=typeof Symbol=="function"&&typeof Symbol.iterator=="object",z=typeof Symbol=="function"&&Symbol.toStringTag&&(typeof Symbol.toStringTag===Y||!0)?Symbol.toStringTag:null,ue=Object.prototype.propertyIsEnumerable,oe=(typeof Reflect=="function"?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(D){return D.__proto__}:null);function re(D,O){if(D===1/0||D===-1/0||D!==D||D&&D>-1e3&&D<1e3||I.call(/e/,O))return O;var he=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if(typeof D=="number"){var _e=D<0?-C(-D):C(D);if(_e!==D){var xe=String(_e),De=b.call(O,xe.length+1);return _.call(xe,he,"$&_")+"."+_.call(_.call(De,/([0-9]{3})/g,"$&_"),/_$/,"")}}return _.call(O,he,"$&_")}var fe=_l,J=fe.custom,se=te(J)?J:null;Jr=function D(O,he,_e,xe){var De=he||{};if(F(De,"quoteStyle")&&De.quoteStyle!=="single"&&De.quoteStyle!=="double")throw new TypeError('option "quoteStyle" must be "single" or "double"');if(F(De,"maxStringLength")&&(typeof De.maxStringLength=="number"?De.maxStringLength<0&&De.maxStringLength!==1/0:De.maxStringLength!==null))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var Ge=F(De,"customInspect")?De.customInspect:!0;if(typeof Ge!="boolean"&&Ge!=="symbol")throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(F(De,"indent")&&De.indent!==null&&De.indent!==" "&&!(parseInt(De.indent,10)===De.indent&&De.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(F(De,"numericSeparator")&&typeof De.numericSeparator!="boolean")throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var et=De.numericSeparator;if(typeof O>"u")return"undefined";if(O===null)return"null";if(typeof O=="boolean")return O?"true":"false";if(typeof O=="string")return ce(O,De);if(typeof O=="number"){if(O===0)return 1/0/O>0?"0":"-0";var Re=String(O);return et?re(O,Re):Re}if(typeof O=="bigint"){var He=String(O)+"n";return et?re(O,He):He}var Pe=typeof De.depth>"u"?5:De.depth;if(typeof _e>"u"&&(_e=0),_e>=Pe&&Pe>0&&typeof O=="object")return ge(O)?"[Array]":"[Object]";var Ue=L(De,_e);if(typeof xe>"u")xe=[];else if(ie(xe,O)>=0)return"[Circular]";function qe(bt,jt,Zt){if(jt&&(xe=$.call(xe),xe.push(jt)),Zt){var wt={depth:De.depth};return F(De,"quoteStyle")&&(wt.quoteStyle=De.quoteStyle),D(bt,wt,_e+1,xe)}return D(bt,De,_e+1,xe)}if(typeof O=="function"&&!Ve(O)){var Ze=j(O),nt=ae(O,qe);return"[Function"+(Ze?": "+Ze:" (anonymous)")+"]"+(nt.length>0?" { "+V.call(nt,", ")+" }":"")}if(te(O)){var ht=Y?_.call(String(O),/^(Symbol\(.*\))_[^)]*$/,"$1"):U.call(O);return typeof O=="object"&&!Y?g(ht):ht}if(Ne(O)){for(var M="<"+E.call(String(O.nodeName)),W=O.attributes||[],Ce=0;Ce<W.length;Ce++)M+=" "+W[Ce].name+"="+R(Z(W[Ce].value),"double",De);return M+=">",O.childNodes&&O.childNodes.length&&(M+="..."),M+="</"+E.call(String(O.nodeName))+">",M}if(ge(O)){if(O.length===0)return"[]";var Ae=ae(O,qe);return Ue&&!T(Ae)?"["+Q(Ae,Ue)+"]":"[ "+V.call(Ae,", ")+" ]"}if(ee(O)){var Te=ae(O,qe);return!("cause"in Error.prototype)&&"cause"in O&&!ue.call(O,"cause")?"{ ["+String(O)+"] "+V.call(x.call("[cause]: "+qe(O.cause),Te),", ")+" }":Te.length===0?"["+String(O)+"]":"{ ["+String(O)+"] "+V.call(Te,", ")+" }"}if(typeof O=="object"&&Ge){if(se&&typeof O[se]=="function"&&fe)return fe(O,{depth:Pe-_e});if(Ge!=="symbol"&&typeof O.inspect=="function")return O.inspect()}if(de(O)){var tt=[];return l&&l.call(O,function(bt,jt){tt.push(qe(jt,O,!0)+" => "+qe(bt,O))}),N("Map",t.call(O),tt,Ue)}if(K(O)){var ct=[];return a&&a.call(O,function(bt){ct.push(qe(bt,O))}),N("Set",i.call(O),ct,Ue)}if(pe(O))return y("WeakMap");if(me(O))return y("WeakSet");if(ye(O))return y("WeakRef");if(le(O))return g(qe(Number(O)));if(ne(O))return g(qe(P.call(O)));if(X(O))return g(f.call(O));if(G(O))return g(qe(String(O)));if(typeof window<"u"&&O===window)return"{ [object Window] }";if(typeof globalThis<"u"&&O===globalThis||typeof Xr<"u"&&O===Xr)return"{ [object globalThis] }";if(!H(O)&&!Ve(O)){var mt=ae(O,qe),vr=oe?oe(O)===Object.prototype:O instanceof Object||O.constructor===Object,kr=O instanceof Object?"":"null prototype",_r=!vr&&z&&Object(O)===O&&z in O?b.call(B(O),8,-1):kr?"Object":"",uo=vr||typeof O.constructor!="function"?"":O.constructor.name?O.constructor.name+" ":"",Xt=uo+(_r||kr?"["+V.call(x.call([],_r||[],kr||[]),": ")+"] ":"");return mt.length===0?Xt+"{}":Ue?Xt+"{"+Q(mt,Ue)+"}":Xt+"{ "+V.call(mt,", ")+" }"}return String(O)};function R(D,O,he){var _e=(he.quoteStyle||O)==="double"?'"':"'";return _e+D+_e}function Z(D){return _.call(String(D),/"/g,"&quot;")}function ge(D){return B(D)==="[object Array]"&&(!z||!(typeof D=="object"&&z in D))}function H(D){return B(D)==="[object Date]"&&(!z||!(typeof D=="object"&&z in D))}function Ve(D){return B(D)==="[object RegExp]"&&(!z||!(typeof D=="object"&&z in D))}function ee(D){return B(D)==="[object Error]"&&(!z||!(typeof D=="object"&&z in D))}function G(D){return B(D)==="[object String]"&&(!z||!(typeof D=="object"&&z in D))}function le(D){return B(D)==="[object Number]"&&(!z||!(typeof D=="object"&&z in D))}function X(D){return B(D)==="[object Boolean]"&&(!z||!(typeof D=="object"&&z in D))}function te(D){if(Y)return D&&typeof D=="object"&&D instanceof Symbol;if(typeof D=="symbol")return!0;if(!D||typeof D!="object"||!U)return!1;try{return U.call(D),!0}catch{}return!1}function ne(D){if(!D||typeof D!="object"||!P)return!1;try{return P.call(D),!0}catch{}return!1}var ve=Object.prototype.hasOwnProperty||function(D){return D in(this||Xr)};function F(D,O){return ve.call(D,O)}function B(D){return w.call(D)}function j(D){if(D.name)return D.name;var O=S.call(v.call(D),/^function\s*([\w$]+)/);return O?O[1]:null}function ie(D,O){if(D.indexOf)return D.indexOf(O);for(var he=0,_e=D.length;he<_e;he++)if(D[he]===O)return he;return-1}function de(D){if(!t||!D||typeof D!="object")return!1;try{t.call(D);try{i.call(D)}catch{return!0}return D instanceof Map}catch{}return!1}function pe(D){if(!c||!D||typeof D!="object")return!1;try{c.call(D,c);try{p.call(D,p)}catch{return!0}return D instanceof WeakMap}catch{}return!1}function ye(D){if(!h||!D||typeof D!="object")return!1;try{return h.call(D),!0}catch{}return!1}function K(D){if(!i||!D||typeof D!="object")return!1;try{i.call(D);try{t.call(D)}catch{return!0}return D instanceof Set}catch{}return!1}function me(D){if(!p||!D||typeof D!="object")return!1;try{p.call(D,p);try{c.call(D,c)}catch{return!0}return D instanceof WeakSet}catch{}return!1}function Ne(D){return!D||typeof D!="object"?!1:typeof HTMLElement<"u"&&D instanceof HTMLElement?!0:typeof D.nodeName=="string"&&typeof D.getAttribute=="function"}function ce(D,O){if(D.length>O.maxStringLength){var he=D.length-O.maxStringLength,_e="... "+he+" more character"+(he>1?"s":"");return ce(b.call(D,0,O.maxStringLength),O)+_e}var xe=_.call(_.call(D,/(['\\])/g,"\\$1"),/[\x00-\x1f]/g,Ie);return R(xe,"single",O)}function Ie(D){var O=D.charCodeAt(0),he={8:"b",9:"t",10:"n",12:"f",13:"r"}[O];return he?"\\"+he:"\\x"+(O<16?"0":"")+k.call(O.toString(16))}function g(D){return"Object("+D+")"}function y(D){return D+" { ? }"}function N(D,O,he,_e){var xe=_e?Q(he,_e):V.call(he,", ");return D+" ("+O+") {"+xe+"}"}function T(D){for(var O=0;O<D.length;O++)if(ie(D[O],`
9
- `)>=0)return!1;return!0}function L(D,O){var he;if(D.indent===" ")he=" ";else if(typeof D.indent=="number"&&D.indent>0)he=V.call(Array(D.indent+1)," ");else return null;return{base:he,prev:V.call(Array(O+1),he)}}function Q(D,O){if(D.length===0)return"";var he=`
10
- `+O.prev+O.base;return he+V.call(D,","+he)+`
11
- `+O.prev}function ae(D,O){var he=ge(D),_e=[];if(he){_e.length=D.length;for(var xe=0;xe<D.length;xe++)_e[xe]=F(D,xe)?O(D[xe],D):""}var De=typeof A=="function"?A(D):[],Ge;if(Y){Ge={};for(var et=0;et<De.length;et++)Ge["$"+De[et]]=De[et]}for(var Re in D)F(D,Re)&&(he&&String(Number(Re))===Re&&Re<D.length||Y&&Ge["$"+Re]instanceof Symbol||(I.call(/[^\w$]/,Re)?_e.push(O(Re,D)+": "+O(D[Re],D)):_e.push(Re+": "+O(D[Re],D))));if(typeof A=="function")for(var He=0;He<De.length;He++)ue.call(D,De[He])&&_e.push("["+O(De[He])+"]: "+O(D[De[He]],D));return _e}return Jr}function Y0(){if(Si)return Zr;Si=!0;var u=sr(),r=D0(),t=K0(),l=yr(),n=u("%WeakMap%",!0),o=u("%Map%",!0),i=r("WeakMap.prototype.get",!0),a=r("WeakMap.prototype.set",!0),s=r("WeakMap.prototype.has",!0),c=r("Map.prototype.get",!0),d=r("Map.prototype.set",!0),p=r("Map.prototype.has",!0),m=function(v,S){for(var b=v,_;(_=b.next)!==null;b=_)if(_.key===S)return b.next=_.next,_.next=v.next,v.next=_,_},h=function(v,S){var b=m(v,S);return b&&b.value},f=function(v,S,b){var _=m(v,S);_?_.value=b:v.next={key:S,next:v.next,value:b}},w=function(v,S){return!!m(v,S)};return Zr=function(){var v,S,b,_={assert:function(k){if(!_.has(k))throw new l("Side channel does not contain "+t(k))},get:function(k){if(n&&k&&(typeof k=="object"||typeof k=="function")){if(v)return i(v,k)}else if(o){if(S)return c(S,k)}else if(b)return h(b,k)},has:function(k){if(n&&k&&(typeof k=="object"||typeof k=="function")){if(v)return s(v,k)}else if(o){if(S)return p(S,k)}else if(b)return w(b,k);return!1},set:function(k,E){n&&k&&(typeof k=="object"||typeof k=="function")?(v||(v=new n),a(v,k,E)):o?(S||(S=new o),d(S,k,E)):(b||(b={key:{},next:null}),f(b,k,E))}};return _},Zr}function Ni(){if(Vi)return eo;Vi=!0;var u=String.prototype.replace,r=/%20/g,t={RFC1738:"RFC1738",RFC3986:"RFC3986"};return eo={default:t.RFC3986,formatters:{RFC1738:function(l){return u.call(l,r,"+")},RFC3986:function(l){return String(l)}},RFC1738:t.RFC1738,RFC3986:t.RFC3986},eo}function El(){if(Ci)return to;Ci=!0;var u=Ni(),r=Object.prototype.hasOwnProperty,t=Array.isArray,l=function(){for(var v=[],S=0;S<256;++S)v.push("%"+((S<16?"0":"")+S.toString(16)).toUpperCase());return v}(),n=function(v){for(;v.length>1;){var S=v.pop(),b=S.obj[S.prop];if(t(b)){for(var _=[],k=0;k<b.length;++k)typeof b[k]<"u"&&_.push(b[k]);S.obj[S.prop]=_}}},o=function(v,S){for(var b=S&&S.plainObjects?Object.create(null):{},_=0;_<v.length;++_)typeof v[_]<"u"&&(b[_]=v[_]);return b},i=function v(S,b,_){if(!b)return S;if(typeof b!="object"){if(t(S))S.push(b);else if(S&&typeof S=="object")(_&&(_.plainObjects||_.allowPrototypes)||!r.call(Object.prototype,b))&&(S[b]=!0);else return[S,b];return S}if(!S||typeof S!="object")return[S].concat(b);var k=S;return t(S)&&!t(b)&&(k=o(S,_)),t(S)&&t(b)?(b.forEach(function(E,I){if(r.call(S,I)){var x=S[I];x&&typeof x=="object"&&E&&typeof E=="object"?S[I]=v(x,E,_):S.push(E)}else S[I]=E}),S):Object.keys(b).reduce(function(E,I){var x=b[I];return r.call(E,I)?E[I]=v(E[I],x,_):E[I]=x,E},k)},a=function(v,S){return Object.keys(S).reduce(function(b,_){return b[_]=S[_],b},v)},s=function(v,S,b){var _=v.replace(/\+/g," ");if(b==="iso-8859-1")return _.replace(/%[0-9a-f]{2}/gi,unescape);try{return decodeURIComponent(_)}catch{return _}},c=1024,d=function(v,S,b,_,k){if(v.length===0)return v;var E=v;if(typeof v=="symbol"?E=Symbol.prototype.toString.call(v):typeof v!="string"&&(E=String(v)),b==="iso-8859-1")return escape(E).replace(/%u[0-9a-f]{4}/gi,function(A){return"%26%23"+parseInt(A.slice(2),16)+"%3B"});for(var I="",x=0;x<E.length;x+=c){for(var V=E.length>=c?E.slice(x,x+c):E,$=[],C=0;C<V.length;++C){var P=V.charCodeAt(C);if(P===45||P===46||P===95||P===126||P>=48&&P<=57||P>=65&&P<=90||P>=97&&P<=122||k===u.RFC1738&&(P===40||P===41)){$[$.length]=V.charAt(C);continue}if(P<128){$[$.length]=l[P];continue}if(P<2048){$[$.length]=l[192|P>>6]+l[128|P&63];continue}if(P<55296||P>=57344){$[$.length]=l[224|P>>12]+l[128|P>>6&63]+l[128|P&63];continue}C+=1,P=65536+((P&1023)<<10|V.charCodeAt(C)&1023),$[$.length]=l[240|P>>18]+l[128|P>>12&63]+l[128|P>>6&63]+l[128|P&63]}I+=$.join("")}return I},p=function(v){for(var S=[{obj:{o:v},prop:"o"}],b=[],_=0;_<S.length;++_)for(var k=S[_],E=k.obj[k.prop],I=Object.keys(E),x=0;x<I.length;++x){var V=I[x],$=E[V];typeof $=="object"&&$!==null&&b.indexOf($)===-1&&(S.push({obj:E,prop:V}),b.push($))}return n(S),v},m=function(v){return Object.prototype.toString.call(v)==="[object RegExp]"},h=function(v){return!v||typeof v!="object"?!1:!!(v.constructor&&v.constructor.isBuffer&&v.constructor.isBuffer(v))},f=function(v,S){return[].concat(v,S)},w=function(v,S){if(t(v)){for(var b=[],_=0;_<v.length;_+=1)b.push(S(v[_]));return b}return S(v)};return to={arrayToObject:o,assign:a,combine:f,compact:p,decode:s,encode:d,isBuffer:h,isRegExp:m,maybeMap:w,merge:i},to}function Q0(){if(Ii)return ro;Ii=!0;var u=Y0(),r=El(),t=Ni(),l=Object.prototype.hasOwnProperty,n={brackets:function(w){return w+"[]"},comma:"comma",indices:function(w,v){return w+"["+v+"]"},repeat:function(w){return w}},o=Array.isArray,i=Array.prototype.push,a=function(w,v){i.apply(w,o(v)?v:[v])},s=Date.prototype.toISOString,c=t.default,d={addQueryPrefix:!1,allowDots:!1,allowEmptyArrays:!1,arrayFormat:"indices",charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encodeDotInKeys:!1,encoder:r.encode,encodeValuesOnly:!1,format:c,formatter:t.formatters[c],indices:!1,serializeDate:function(w){return s.call(w)},skipNulls:!1,strictNullHandling:!1},p=function(w){return typeof w=="string"||typeof w=="number"||typeof w=="boolean"||typeof w=="symbol"||typeof w=="bigint"},m={},h=function w(v,S,b,_,k,E,I,x,V,$,C,P,A,U,Y,z,ue,oe){for(var re=v,fe=oe,J=0,se=!1;(fe=fe.get(m))!==void 0&&!se;){var R=fe.get(v);if(J+=1,typeof R<"u"){if(R===J)throw new RangeError("Cyclic object value");se=!0}typeof fe.get(m)>"u"&&(J=0)}if(typeof $=="function"?re=$(S,re):re instanceof Date?re=A(re):b==="comma"&&o(re)&&(re=r.maybeMap(re,function(B){return B instanceof Date?A(B):B})),re===null){if(E)return V&&!z?V(S,d.encoder,ue,"key",U):S;re=""}if(p(re)||r.isBuffer(re)){if(V){var Z=z?S:V(S,d.encoder,ue,"key",U);return[Y(Z)+"="+Y(V(re,d.encoder,ue,"value",U))]}return[Y(S)+"="+Y(String(re))]}var ge=[];if(typeof re>"u")return ge;var H;if(b==="comma"&&o(re))z&&V&&(re=r.maybeMap(re,V)),H=[{value:re.length>0?re.join(",")||null:void 0}];else if(o($))H=$;else{var Ve=Object.keys(re);H=C?Ve.sort(C):Ve}var ee=x?S.replace(/\./g,"%2E"):S,G=_&&o(re)&&re.length===1?ee+"[]":ee;if(k&&o(re)&&re.length===0)return G+"[]";for(var le=0;le<H.length;++le){var X=H[le],te=typeof X=="object"&&typeof X.value<"u"?X.value:re[X];if(!(I&&te===null)){var ne=P&&x?X.replace(/\./g,"%2E"):X,ve=o(re)?typeof b=="function"?b(G,ne):G:G+(P?"."+ne:"["+ne+"]");oe.set(v,J);var F=u();F.set(m,oe),a(ge,w(te,ve,b,_,k,E,I,x,b==="comma"&&z&&o(re)?null:V,$,C,P,A,U,Y,z,ue,F))}}return ge},f=function(w){if(!w)return d;if(typeof w.allowEmptyArrays<"u"&&typeof w.allowEmptyArrays!="boolean")throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(typeof w.encodeDotInKeys<"u"&&typeof w.encodeDotInKeys!="boolean")throw new TypeError("`encodeDotInKeys` option can only be `true` or `false`, when provided");if(w.encoder!==null&&typeof w.encoder<"u"&&typeof w.encoder!="function")throw new TypeError("Encoder has to be a function.");var v=w.charset||d.charset;if(typeof w.charset<"u"&&w.charset!=="utf-8"&&w.charset!=="iso-8859-1")throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var S=t.default;if(typeof w.format<"u"){if(!l.call(t.formatters,w.format))throw new TypeError("Unknown format option provided.");S=w.format}var b=t.formatters[S],_=d.filter;(typeof w.filter=="function"||o(w.filter))&&(_=w.filter);var k;if(w.arrayFormat in n?k=w.arrayFormat:"indices"in w?k=w.indices?"indices":"repeat":k=d.arrayFormat,"commaRoundTrip"in w&&typeof w.commaRoundTrip!="boolean")throw new TypeError("`commaRoundTrip` must be a boolean, or absent");var E=typeof w.allowDots>"u"?w.encodeDotInKeys===!0?!0:d.allowDots:!!w.allowDots;return{addQueryPrefix:typeof w.addQueryPrefix=="boolean"?w.addQueryPrefix:d.addQueryPrefix,allowDots:E,allowEmptyArrays:typeof w.allowEmptyArrays=="boolean"?!!w.allowEmptyArrays:d.allowEmptyArrays,arrayFormat:k,charset:v,charsetSentinel:typeof w.charsetSentinel=="boolean"?w.charsetSentinel:d.charsetSentinel,commaRoundTrip:w.commaRoundTrip,delimiter:typeof w.delimiter>"u"?d.delimiter:w.delimiter,encode:typeof w.encode=="boolean"?w.encode:d.encode,encodeDotInKeys:typeof w.encodeDotInKeys=="boolean"?w.encodeDotInKeys:d.encodeDotInKeys,encoder:typeof w.encoder=="function"?w.encoder:d.encoder,encodeValuesOnly:typeof w.encodeValuesOnly=="boolean"?w.encodeValuesOnly:d.encodeValuesOnly,filter:_,format:S,formatter:b,serializeDate:typeof w.serializeDate=="function"?w.serializeDate:d.serializeDate,skipNulls:typeof w.skipNulls=="boolean"?w.skipNulls:d.skipNulls,sort:typeof w.sort=="function"?w.sort:null,strictNullHandling:typeof w.strictNullHandling=="boolean"?w.strictNullHandling:d.strictNullHandling}};return ro=function(w,v){var S=w,b=f(v),_,k;typeof b.filter=="function"?(k=b.filter,S=k("",S)):o(b.filter)&&(k=b.filter,_=k);var E=[];if(typeof S!="object"||S===null)return"";var I=n[b.arrayFormat],x=I==="comma"&&b.commaRoundTrip;_||(_=Object.keys(S)),b.sort&&_.sort(b.sort);for(var V=u(),$=0;$<_.length;++$){var C=_[$];b.skipNulls&&S[C]===null||a(E,h(S[C],C,I,x,b.allowEmptyArrays,b.strictNullHandling,b.skipNulls,b.encodeDotInKeys,b.encode?b.encoder:null,b.filter,b.sort,b.allowDots,b.serializeDate,b.format,b.formatter,b.encodeValuesOnly,b.charset,V))}var P=E.join(b.delimiter),A=b.addQueryPrefix===!0?"?":"";return b.charsetSentinel&&(b.charset==="iso-8859-1"?A+="utf8=%26%2310003%3B&":A+="utf8=%E2%9C%93&"),P.length>0?A+P:""},ro}function J0(){if(Ai)return oo;Ai=!0;var u=El(),r=Object.prototype.hasOwnProperty,t=Array.isArray,l={allowDots:!1,allowEmptyArrays:!1,allowPrototypes:!1,allowSparse:!1,arrayLimit:20,charset:"utf-8",charsetSentinel:!1,comma:!1,decodeDotInKeys:!1,decoder:u.decode,delimiter:"&",depth:5,duplicates:"combine",ignoreQueryPrefix:!1,interpretNumericEntities:!1,parameterLimit:1e3,parseArrays:!0,plainObjects:!1,strictDepth:!1,strictNullHandling:!1},n=function(m){return m.replace(/&#(\d+);/g,function(h,f){return String.fromCharCode(parseInt(f,10))})},o=function(m,h){return m&&typeof m=="string"&&h.comma&&m.indexOf(",")>-1?m.split(","):m},i="utf8=%26%2310003%3B",a="utf8=%E2%9C%93",s=function(m,h){var f={__proto__:null},w=h.ignoreQueryPrefix?m.replace(/^\?/,""):m;w=w.replace(/%5B/gi,"[").replace(/%5D/gi,"]");var v=h.parameterLimit===1/0?void 0:h.parameterLimit,S=w.split(h.delimiter,v),b=-1,_,k=h.charset;if(h.charsetSentinel)for(_=0;_<S.length;++_)S[_].indexOf("utf8=")===0&&(S[_]===a?k="utf-8":S[_]===i&&(k="iso-8859-1"),b=_,_=S.length);for(_=0;_<S.length;++_)if(_!==b){var E=S[_],I=E.indexOf("]="),x=I===-1?E.indexOf("="):I+1,V,$;x===-1?(V=h.decoder(E,l.decoder,k,"key"),$=h.strictNullHandling?null:""):(V=h.decoder(E.slice(0,x),l.decoder,k,"key"),$=u.maybeMap(o(E.slice(x+1),h),function(P){return h.decoder(P,l.decoder,k,"value")})),$&&h.interpretNumericEntities&&k==="iso-8859-1"&&($=n($)),E.indexOf("[]=")>-1&&($=t($)?[$]:$);var C=r.call(f,V);C&&h.duplicates==="combine"?f[V]=u.combine(f[V],$):(!C||h.duplicates==="last")&&(f[V]=$)}return f},c=function(m,h,f,w){for(var v=w?h:o(h,f),S=m.length-1;S>=0;--S){var b,_=m[S];if(_==="[]"&&f.parseArrays)b=f.allowEmptyArrays&&(v===""||f.strictNullHandling&&v===null)?[]:[].concat(v);else{b=f.plainObjects?Object.create(null):{};var k=_.charAt(0)==="["&&_.charAt(_.length-1)==="]"?_.slice(1,-1):_,E=f.decodeDotInKeys?k.replace(/%2E/g,"."):k,I=parseInt(E,10);!f.parseArrays&&E===""?b={0:v}:!isNaN(I)&&_!==E&&String(I)===E&&I>=0&&f.parseArrays&&I<=f.arrayLimit?(b=[],b[I]=v):E!=="__proto__"&&(b[E]=v)}v=b}return v},d=function(m,h,f,w){if(m){var v=f.allowDots?m.replace(/\.([^.[]+)/g,"[$1]"):m,S=/(\[[^[\]]*])/,b=/(\[[^[\]]*])/g,_=f.depth>0&&S.exec(v),k=_?v.slice(0,_.index):v,E=[];if(k){if(!f.plainObjects&&r.call(Object.prototype,k)&&!f.allowPrototypes)return;E.push(k)}for(var I=0;f.depth>0&&(_=b.exec(v))!==null&&I<f.depth;){if(I+=1,!f.plainObjects&&r.call(Object.prototype,_[1].slice(1,-1))&&!f.allowPrototypes)return;E.push(_[1])}if(_){if(f.strictDepth===!0)throw new RangeError("Input depth exceeded depth option of "+f.depth+" and strictDepth is true");E.push("["+v.slice(_.index)+"]")}return c(E,h,f,w)}},p=function(m){if(!m)return l;if(typeof m.allowEmptyArrays<"u"&&typeof m.allowEmptyArrays!="boolean")throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(typeof m.decodeDotInKeys<"u"&&typeof m.decodeDotInKeys!="boolean")throw new TypeError("`decodeDotInKeys` option can only be `true` or `false`, when provided");if(m.decoder!==null&&typeof m.decoder<"u"&&typeof m.decoder!="function")throw new TypeError("Decoder has to be a function.");if(typeof m.charset<"u"&&m.charset!=="utf-8"&&m.charset!=="iso-8859-1")throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var h=typeof m.charset>"u"?l.charset:m.charset,f=typeof m.duplicates>"u"?l.duplicates:m.duplicates;if(f!=="combine"&&f!=="first"&&f!=="last")throw new TypeError("The duplicates option must be either combine, first, or last");var w=typeof m.allowDots>"u"?m.decodeDotInKeys===!0?!0:l.allowDots:!!m.allowDots;return{allowDots:w,allowEmptyArrays:typeof m.allowEmptyArrays=="boolean"?!!m.allowEmptyArrays:l.allowEmptyArrays,allowPrototypes:typeof m.allowPrototypes=="boolean"?m.allowPrototypes:l.allowPrototypes,allowSparse:typeof m.allowSparse=="boolean"?m.allowSparse:l.allowSparse,arrayLimit:typeof m.arrayLimit=="number"?m.arrayLimit:l.arrayLimit,charset:h,charsetSentinel:typeof m.charsetSentinel=="boolean"?m.charsetSentinel:l.charsetSentinel,comma:typeof m.comma=="boolean"?m.comma:l.comma,decodeDotInKeys:typeof m.decodeDotInKeys=="boolean"?m.decodeDotInKeys:l.decodeDotInKeys,decoder:typeof m.decoder=="function"?m.decoder:l.decoder,delimiter:typeof m.delimiter=="string"||u.isRegExp(m.delimiter)?m.delimiter:l.delimiter,depth:typeof m.depth=="number"||m.depth===!1?+m.depth:l.depth,duplicates:f,ignoreQueryPrefix:m.ignoreQueryPrefix===!0,interpretNumericEntities:typeof m.interpretNumericEntities=="boolean"?m.interpretNumericEntities:l.interpretNumericEntities,parameterLimit:typeof m.parameterLimit=="number"?m.parameterLimit:l.parameterLimit,parseArrays:m.parseArrays!==!1,plainObjects:typeof m.plainObjects=="boolean"?m.plainObjects:l.plainObjects,strictDepth:typeof m.strictDepth=="boolean"?!!m.strictDepth:l.strictDepth,strictNullHandling:typeof m.strictNullHandling=="boolean"?m.strictNullHandling:l.strictNullHandling}};return oo=function(m,h){var f=p(h);if(m===""||m===null||typeof m>"u")return f.plainObjects?Object.create(null):{};for(var w=typeof m=="string"?s(m,f):m,v=f.plainObjects?Object.create(null):{},S=Object.keys(w),b=0;b<S.length;++b){var _=S[b],k=d(_,w[_],f,typeof m=="string");v=u.merge(v,k,f)}return f.allowSparse===!0?v:u.compact(v)},oo}function X0(){if($i)return no;$i=!0;var u=Q0(),r=J0(),t=Ni();return no={formats:t,parse:r,stringify:u},no}function Z0(){if(Ti)return Ot;Ti=!0;var u=Dt;function r(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}var t=/^([a-z0-9.+-]+:)/i,l=/:[0-9]*$/,n=/^(\/\/?(?!\/)[^?\s]*)(\?[^\s]*)?$/,o=["<",">",'"',"`"," ","\r",`
12
- `," "],i=["{","}","|","\\","^","`"].concat(o),a=["'"].concat(i),s=["%","/","?",";","#"].concat(a),c=["/","?","#"],d=255,p=/^[+a-z0-9A-Z_-]{0,63}$/,m=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,h={javascript:!0,"javascript:":!0},f={javascript:!0,"javascript:":!0},w={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},v=X0();function S(E,I,x){if(E&&typeof E=="object"&&E instanceof r)return E;var V=new r;return V.parse(E,I,x),V}r.prototype.parse=function(E,I,x){if(typeof E!="string")throw new TypeError("Parameter 'url' must be a string, not "+typeof E);var V=E.indexOf("?"),$=V!==-1&&V<E.indexOf("#")?"?":"#",C=E.split($),P=/\\/g;C[0]=C[0].replace(P,"/"),E=C.join($);var A=E;if(A=A.trim(),!x&&E.split("#").length===1){var U=n.exec(A);if(U)return this.path=A,this.href=A,this.pathname=U[1],U[2]?(this.search=U[2],I?this.query=v.parse(this.search.substr(1)):this.query=this.search.substr(1)):I&&(this.search="",this.query={}),this}var Y=t.exec(A);if(Y){Y=Y[0];var z=Y.toLowerCase();this.protocol=z,A=A.substr(Y.length)}if(x||Y||A.match(/^\/\/[^@/]+@[^@/]+/)){var ue=A.substr(0,2)==="//";ue&&!(Y&&f[Y])&&(A=A.substr(2),this.slashes=!0)}if(!f[Y]&&(ue||Y&&!w[Y])){for(var oe=-1,re=0;re<c.length;re++){var fe=A.indexOf(c[re]);fe!==-1&&(oe===-1||fe<oe)&&(oe=fe)}var J,se;oe===-1?se=A.lastIndexOf("@"):se=A.lastIndexOf("@",oe),se!==-1&&(J=A.slice(0,se),A=A.slice(se+1),this.auth=decodeURIComponent(J)),oe=-1;for(var re=0;re<s.length;re++){var fe=A.indexOf(s[re]);fe!==-1&&(oe===-1||fe<oe)&&(oe=fe)}oe===-1&&(oe=A.length),this.host=A.slice(0,oe),A=A.slice(oe),this.parseHost(),this.hostname=this.hostname||"";var R=this.hostname[0]==="["&&this.hostname[this.hostname.length-1]==="]";if(!R)for(var Z=this.hostname.split(/\./),re=0,ge=Z.length;re<ge;re++){var H=Z[re];if(H&&!H.match(p)){for(var Ve="",ee=0,G=H.length;ee<G;ee++)H.charCodeAt(ee)>127?Ve+="x":Ve+=H[ee];if(!Ve.match(p)){var le=Z.slice(0,re),X=Z.slice(re+1),te=H.match(m);te&&(le.push(te[1]),X.unshift(te[2])),X.length&&(A="/"+X.join(".")+A),this.hostname=le.join(".");break}}}this.hostname.length>d?this.hostname="":this.hostname=this.hostname.toLowerCase(),R||(this.hostname=u.toASCII(this.hostname));var ne=this.port?":"+this.port:"",ve=this.hostname||"";this.host=ve+ne,this.href+=this.host,R&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),A[0]!=="/"&&(A="/"+A))}if(!h[z])for(var re=0,ge=a.length;re<ge;re++){var F=a[re];if(A.indexOf(F)!==-1){var B=encodeURIComponent(F);B===F&&(B=escape(F)),A=A.split(F).join(B)}}var j=A.indexOf("#");j!==-1&&(this.hash=A.substr(j),A=A.slice(0,j));var ie=A.indexOf("?");if(ie!==-1?(this.search=A.substr(ie),this.query=A.substr(ie+1),I&&(this.query=v.parse(this.query)),A=A.slice(0,ie)):I&&(this.search="",this.query={}),A&&(this.pathname=A),w[z]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){var ne=this.pathname||"",de=this.search||"";this.path=ne+de}return this.href=this.format(),this};function b(E){return typeof E=="string"&&(E=S(E)),E instanceof r?E.format():r.prototype.format.call(E)}r.prototype.format=function(){var E=this.auth||"";E&&(E=encodeURIComponent(E),E=E.replace(/%3A/i,":"),E+="@");var I=this.protocol||"",x=this.pathname||"",V=this.hash||"",$=!1,C="";this.host?$=E+this.host:this.hostname&&($=E+(this.hostname.indexOf(":")===-1?this.hostname:"["+this.hostname+"]"),this.port&&($+=":"+this.port)),this.query&&typeof this.query=="object"&&Object.keys(this.query).length&&(C=v.stringify(this.query,{arrayFormat:"repeat",addQueryPrefix:!1}));var P=this.search||C&&"?"+C||"";return I&&I.substr(-1)!==":"&&(I+=":"),this.slashes||(!I||w[I])&&$!==!1?($="//"+($||""),x&&x.charAt(0)!=="/"&&(x="/"+x)):$||($=""),V&&V.charAt(0)!=="#"&&(V="#"+V),P&&P.charAt(0)!=="?"&&(P="?"+P),x=x.replace(/[?#]/g,function(A){return encodeURIComponent(A)}),P=P.replace("#","%23"),I+$+x+P+V};function _(E,I){return S(E,!1,!0).resolve(I)}r.prototype.resolve=function(E){return this.resolveObject(S(E,!1,!0)).format()};function k(E,I){return E?S(E,!1,!0).resolveObject(I):I}return r.prototype.resolveObject=function(E){if(typeof E=="string"){var I=new r;I.parse(E,!1,!0),E=I}for(var x=new r,V=Object.keys(this),$=0;$<V.length;$++){var C=V[$];x[C]=this[C]}if(x.hash=E.hash,E.href==="")return x.href=x.format(),x;if(E.slashes&&!E.protocol){for(var P=Object.keys(E),A=0;A<P.length;A++){var U=P[A];U!=="protocol"&&(x[U]=E[U])}return w[x.protocol]&&x.hostname&&!x.pathname&&(x.pathname="/",x.path=x.pathname),x.href=x.format(),x}if(E.protocol&&E.protocol!==x.protocol){if(!w[E.protocol]){for(var Y=Object.keys(E),z=0;z<Y.length;z++){var ue=Y[z];x[ue]=E[ue]}return x.href=x.format(),x}if(x.protocol=E.protocol,!E.host&&!f[E.protocol]){for(var ge=(E.pathname||"").split("/");ge.length&&!(E.host=ge.shift()););E.host||(E.host=""),E.hostname||(E.hostname=""),ge[0]!==""&&ge.unshift(""),ge.length<2&&ge.unshift(""),x.pathname=ge.join("/")}else x.pathname=E.pathname;if(x.search=E.search,x.query=E.query,x.host=E.host||"",x.auth=E.auth,x.hostname=E.hostname||E.host,x.port=E.port,x.pathname||x.search){var oe=x.pathname||"",re=x.search||"";x.path=oe+re}return x.slashes=x.slashes||E.slashes,x.href=x.format(),x}var fe=x.pathname&&x.pathname.charAt(0)==="/",J=E.host||E.pathname&&E.pathname.charAt(0)==="/",se=J||fe||x.host&&E.pathname,R=se,Z=x.pathname&&x.pathname.split("/")||[],ge=E.pathname&&E.pathname.split("/")||[],H=x.protocol&&!w[x.protocol];if(H&&(x.hostname="",x.port=null,x.host&&(Z[0]===""?Z[0]=x.host:Z.unshift(x.host)),x.host="",E.protocol&&(E.hostname=null,E.port=null,E.host&&(ge[0]===""?ge[0]=E.host:ge.unshift(E.host)),E.host=null),se=se&&(ge[0]===""||Z[0]==="")),J)x.host=E.host||E.host===""?E.host:x.host,x.hostname=E.hostname||E.hostname===""?E.hostname:x.hostname,x.search=E.search,x.query=E.query,Z=ge;else if(ge.length)Z||(Z=[]),Z.pop(),Z=Z.concat(ge),x.search=E.search,x.query=E.query;else if(E.search!=null){if(H){x.host=Z.shift(),x.hostname=x.host;var Ve=x.host&&x.host.indexOf("@")>0?x.host.split("@"):!1;Ve&&(x.auth=Ve.shift(),x.hostname=Ve.shift(),x.host=x.hostname)}return x.search=E.search,x.query=E.query,(x.pathname!==null||x.search!==null)&&(x.path=(x.pathname?x.pathname:"")+(x.search?x.search:"")),x.href=x.format(),x}if(!Z.length)return x.pathname=null,x.search?x.path="/"+x.search:x.path=null,x.href=x.format(),x;for(var ee=Z.slice(-1)[0],G=(x.host||E.host||Z.length>1)&&(ee==="."||ee==="..")||ee==="",le=0,X=Z.length;X>=0;X--)ee=Z[X],ee==="."?Z.splice(X,1):ee===".."?(Z.splice(X,1),le++):le&&(Z.splice(X,1),le--);if(!se&&!R)for(;le--;le)Z.unshift("..");se&&Z[0]!==""&&(!Z[0]||Z[0].charAt(0)!=="/")&&Z.unshift(""),G&&Z.join("/").substr(-1)!=="/"&&Z.push("");var te=Z[0]===""||Z[0]&&Z[0].charAt(0)==="/";if(H){x.hostname=te?"":Z.length?Z.shift():"",x.host=x.hostname;var Ve=x.host&&x.host.indexOf("@")>0?x.host.split("@"):!1;Ve&&(x.auth=Ve.shift(),x.hostname=Ve.shift(),x.host=x.hostname)}return se=se||x.host&&Z.length,se&&!te&&Z.unshift(""),Z.length>0?x.pathname=Z.join("/"):(x.pathname=null,x.path=null),(x.pathname!==null||x.search!==null)&&(x.path=(x.pathname?x.pathname:"")+(x.search?x.search:"")),x.auth=E.auth||x.auth,x.slashes=x.slashes||E.slashes,x.href=x.format(),x},r.prototype.parseHost=function(){var E=this.host,I=l.exec(E);I&&(I=I[0],I!==":"&&(this.port=I.substr(1)),E=E.substr(0,E.length-I.length)),E&&(this.hostname=E)},Ot.parse=S,Ot.resolve=_,Ot.resolveObject=k,Ot.format=b,Ot.Url=r,Ot}function vl(u){if(typeof u=="string")u=new URL(u);else if(!(u instanceof URL))throw new Deno.errors.InvalidData("invalid argument path , must be a string or URL");if(u.protocol!=="file:")throw new Deno.errors.InvalidData("invalid url scheme");return io?eb(u):tb(u)}function eb(u){let r=u.hostname,t=u.pathname;for(let l=0;l<t.length;l++)if(t[l]==="%"){let n=t.codePointAt(l+2)||32;if(t[l+1]==="2"&&n===102||t[l+1]==="5"&&n===99)throw new Deno.errors.InvalidData("must not include encoded \\ or / characters")}if(t=t.replace(Pl,"\\"),t=decodeURIComponent(t),r!=="")return`\\\\${r}${t}`;{let l=t.codePointAt(1)|32,n=t[2];if(l<Bl||l>Dl||n!==":")throw new Deno.errors.InvalidData("file url path must be absolute");return t.slice(1)}}function tb(u){if(u.hostname!=="")throw new Deno.errors.InvalidData("invalid file url hostname");let r=u.pathname;for(let t=0;t<r.length;t++)if(r[t]==="%"){let l=r.codePointAt(t+2)||32;if(r[t+1]==="2"&&l===102)throw new Deno.errors.InvalidData("must not include encoded / characters")}return decodeURIComponent(r)}function kl(u){let r=_i.resolve(u),t=u.charCodeAt(u.length-1);(t===Tl||io&&t===$l)&&r[r.length-1]!==_i.sep&&(r+="/");let l=new URL("file://");return r.includes("%")&&(r=r.replace(Ol,"%25")),!io&&r.includes("\\")&&(r=r.replace(Ml,"%5C")),r.includes(`
13
- `)&&(r=r.replace(Rl,"%0A")),r.includes("\r")&&(r=r.replace(jl,"%0D")),r.includes(" ")&&(r=r.replace(Ll,"%09")),l.pathname=r,l}var _l,Jr,xi,Xr,Zr,Si,eo,Vi,to,Ci,ro,Ii,oo,Ai,no,$i,Ot,Ti,at,Nl,xl,Sl,Vl,Cl,Il,Al,$l,Tl,Bl,Dl,io,Pl,Ol,Ml,Rl,jl,Ll,rb=dt(()=>{be(),Ee(),we(),w0(),P0(),H0(),bl(),_l=Object.freeze(Object.create(null)),Jr={},xi=!1,Xr=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global,Zr={},Si=!1,eo={},Vi=!1,to={},Ci=!1,ro={},Ii=!1,oo={},Ai=!1,no={},$i=!1,Ot={},Ti=!1,at=Z0(),at.parse,at.resolve,at.resolveObject,at.format,at.Url,Nl=typeof Deno<"u"?Deno.build.os==="windows"?"win32":Deno.build.os:void 0,at.URL=typeof URL<"u"?URL:null,at.pathToFileURL=kl,at.fileURLToPath=vl,xl=at.Url,Sl=at.format,Vl=at.resolve,Cl=at.resolveObject,Il=at.parse,Al=at.URL,$l=92,Tl=47,Bl=97,Dl=122,io=Nl==="win32",Pl=/\//g,Ol=/%/g,Ml=/\\/g,Rl=/\n/g,jl=/\r/g,Ll=/\t/g}),ob=ke((u,r)=>{be(),Ee(),we(),r.exports=function(){throw new Error("ws does not work in the browser. Browser clients must use the native WebSocket object")}}),Bi=ke(u=>{be(),Ee(),we(),Object.defineProperty(u,"__esModule",{value:!0}),u.BufferedDuplex=void 0,u.writev=l;var r=Kt(),t=(ot(),We(rt));function l(o,i){let a=new Array(o.length);for(let s=0;s<o.length;s++)typeof o[s].chunk=="string"?a[s]=t.Buffer.from(o[s].chunk,"utf8"):a[s]=o[s].chunk;this._write(t.Buffer.concat(a),"binary",i)}var n=class extends r.Duplex{constructor(i,a,s){super({objectMode:!0});Se(this,"socket");Se(this,"proxy");Se(this,"isSocketOpen");Se(this,"writeQueue");this.proxy=a,this.socket=s,this.writeQueue=[],i.objectMode||(this._writev=l.bind(this)),this.isSocketOpen=!1,this.proxy.on("data",c=>{!this.destroyed&&this.readable&&this.push(c)})}_read(i){this.proxy.read(i)}_write(i,a,s){this.isSocketOpen?this.writeToProxy(i,a,s):this.writeQueue.push({chunk:i,encoding:a,cb:s})}_final(i){this.writeQueue=[],this.proxy.end(i)}_destroy(i,a){this.writeQueue=[],this.proxy.destroy(),a(i)}socketReady(){this.emit("connect"),this.isSocketOpen=!0,this.processWriteQueue()}writeToProxy(i,a,s){this.proxy.write(i,a)===!1?this.proxy.once("drain",s):s()}processWriteQueue(){for(;this.writeQueue.length>0;){let{chunk:i,encoding:a,cb:s}=this.writeQueue.shift();this.writeToProxy(i,a,s)}}};u.BufferedDuplex=n}),so=ke(u=>{be(),Ee(),we();var r=u&&u.__importDefault||function(S){return S&&S.__esModule?S:{default:S}};Object.defineProperty(u,"__esModule",{value:!0}),u.streamBuilder=u.browserStreamBuilder=void 0;var t=(ot(),We(rt)),l=r(ob()),n=r(xt()),o=Kt(),i=r(Dr()),a=Bi(),s=(0,n.default)("mqttjs:ws"),c=["rejectUnauthorized","ca","cert","key","pfx","passphrase"];function d(S,b){let _=`${S.protocol}://${S.hostname}:${S.port}${S.path}`;return typeof S.transformWsUrl=="function"&&(_=S.transformWsUrl(_,S,b)),_}function p(S){let b=S;return S.port||(S.protocol==="wss"?b.port=443:b.port=80),S.path||(b.path="/"),S.wsOptions||(b.wsOptions={}),!i.default&&!S.forceNativeWebSocket&&S.protocol==="wss"&&c.forEach(_=>{Object.prototype.hasOwnProperty.call(S,_)&&!Object.prototype.hasOwnProperty.call(S.wsOptions,_)&&(b.wsOptions[_]=S[_])}),b}function m(S){let b=p(S);if(b.hostname||(b.hostname=b.host),!b.hostname){if(typeof document>"u")throw new Error("Could not determine host. Specify host manually.");let _=new URL(document.URL);b.hostname=_.hostname,b.port||(b.port=Number(_.port))}return b.objectMode===void 0&&(b.objectMode=!(b.binary===!0||b.binary===void 0)),b}function h(S,b,_){s("createWebSocket"),s(`protocol: ${_.protocolId} ${_.protocolVersion}`);let k=_.protocolId==="MQIsdp"&&_.protocolVersion===3?"mqttv3.1":"mqtt";s(`creating new Websocket for url: ${b} and protocol: ${k}`);let E;return _.createWebsocket?E=_.createWebsocket(b,[k],_):E=new l.default(b,[k],_.wsOptions),E}function f(S,b){let _=b.protocolId==="MQIsdp"&&b.protocolVersion===3?"mqttv3.1":"mqtt",k=d(b,S),E;return b.createWebsocket?E=b.createWebsocket(k,[_],b):E=new WebSocket(k,[_]),E.binaryType="arraybuffer",E}var w=(S,b)=>{s("streamBuilder");let _=p(b);_.hostname=_.hostname||_.host||"localhost";let k=d(_,S),E=h(S,k,_),I=l.default.createWebSocketStream(E,_.wsOptions);return I.url=k,E.on("close",()=>{I.destroy()}),I};u.streamBuilder=w;var v=(S,b)=>{s("browserStreamBuilder");let _,k=m(b).browserBufferSize||1024*512,E=b.browserBufferTimeout||1e3,I=!b.objectMode,x=f(S,b),V=C(b,z,ue);b.objectMode||(V._writev=a.writev.bind(V)),V.on("close",()=>{x.close()});let $=typeof x.addEventListener<"u";x.readyState===x.OPEN?(_=V,_.socket=x):(_=new a.BufferedDuplex(b,V,x),$?x.addEventListener("open",P):x.onopen=P),$?(x.addEventListener("close",A),x.addEventListener("error",U),x.addEventListener("message",Y)):(x.onclose=A,x.onerror=U,x.onmessage=Y);function C(oe,re,fe){let J=new o.Transform({objectMode:oe.objectMode});return J._write=re,J._flush=fe,J}function P(){s("WebSocket onOpen"),_ instanceof a.BufferedDuplex&&_.socketReady()}function A(oe){s("WebSocket onClose",oe),_.end(),_.destroy()}function U(oe){s("WebSocket onError",oe);let re=new Error("WebSocket error");re.event=oe,_.destroy(re)}async function Y(oe){if(!V||!V.readable||!V.writable)return;let{data:re}=oe;re instanceof ArrayBuffer?re=t.Buffer.from(re):re instanceof Blob?re=t.Buffer.from(await new Response(re).arrayBuffer()):re=t.Buffer.from(re,"utf8"),V.push(re)}function z(oe,re,fe){if(x.bufferedAmount>k){setTimeout(z,E,oe,re,fe);return}I&&typeof oe=="string"&&(oe=t.Buffer.from(oe,"utf8"));try{x.send(oe)}catch(J){return fe(J)}fe()}function ue(oe){x.close(),oe()}return _};u.browserStreamBuilder=v}),Di={};tr(Di,{Server:()=>Qe,Socket:()=>Qe,Stream:()=>Qe,_createServerHandle:()=>Qe,_normalizeArgs:()=>Qe,_setSimultaneousAccepts:()=>Qe,connect:()=>Qe,createConnection:()=>Qe,createServer:()=>Qe,default:()=>Ul,isIP:()=>Qe,isIPv4:()=>Qe,isIPv6:()=>Qe});function Qe(){throw new Error("Node.js net module is not supported by JSPM core outside of Node.js")}var Ul,Fl=dt(()=>{be(),Ee(),we(),Ul={_createServerHandle:Qe,_normalizeArgs:Qe,_setSimultaneousAccepts:Qe,connect:Qe,createConnection:Qe,createServer:Qe,isIP:Qe,isIPv4:Qe,isIPv6:Qe,Server:Qe,Socket:Qe,Stream:Qe}}),zl=ke((u,r)=>{be(),Ee(),we(),r.exports={}}),Wl=ke(u=>{be(),Ee(),we();var r=u&&u.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(u,"__esModule",{value:!0});var t=r((Fl(),We(Di))),l=r(xt()),n=r(zl()),o=(0,l.default)("mqttjs:tcp"),i=(a,s)=>{if(s.port=s.port||1883,s.hostname=s.hostname||s.host||"localhost",s.socksProxy)return(0,n.default)(s.hostname,s.port,s.socksProxy,{timeout:s.socksTimeout});let{port:c,path:d}=s,p=s.hostname;return o("port %d and host %s",c,p),t.default.createConnection({port:c,host:p,path:d})};u.default=i}),ql={};tr(ql,{default:()=>Gl});var Gl,nb=dt(()=>{be(),Ee(),we(),Gl={}}),Hl=ke(u=>{be(),Ee(),we();var r=u&&u.__importDefault||function(c){return c&&c.__esModule?c:{default:c}};Object.defineProperty(u,"__esModule",{value:!0});var t=(nb(),We(ql)),l=r((Fl(),We(Di))),n=r(xt()),o=r(zl()),i=(0,n.default)("mqttjs:tls");function a(c){let{host:d,port:p,socksProxy:m,...h}=c;if(m!==void 0){let f=(0,o.default)(d,p,m,{timeout:c.socksTimeout});return(0,t.connect)({...h,socket:f})}return(0,t.connect)(c)}var s=(c,d)=>{d.port=d.port||8883,d.host=d.hostname||d.host||"localhost",l.default.isIP(d.host)===0&&(d.servername=d.host),d.rejectUnauthorized=d.rejectUnauthorized!==!1,delete d.path,i("port %d host %s rejectUnauthorized %b",d.port,d.host,d.rejectUnauthorized);let p=a(d);p.on("secureConnect",()=>{d.rejectUnauthorized&&!p.authorized?p.emit("error",new Error("TLS not authorized")):p.removeListener("error",m)});function m(h){d.rejectUnauthorized&&c.emit("error",h),p.end()}return p.on("error",m),p};u.default=s}),Kl=ke(u=>{be(),Ee(),we(),Object.defineProperty(u,"__esModule",{value:!0});var r=(ot(),We(rt)),t=Kt(),l=Bi(),n,o,i;function a(){let m=new t.Transform;return m._write=(h,f,w)=>{n.send({data:h.buffer,success(){w()},fail(v){w(new Error(v))}})},m._flush=h=>{n.close({success(){h()}})},m}function s(m){m.hostname||(m.hostname="localhost"),m.path||(m.path="/"),m.wsOptions||(m.wsOptions={})}function c(m,h){let f=m.protocol==="wxs"?"wss":"ws",w=`${f}://${m.hostname}${m.path}`;return m.port&&m.port!==80&&m.port!==443&&(w=`${f}://${m.hostname}:${m.port}${m.path}`),typeof m.transformWsUrl=="function"&&(w=m.transformWsUrl(w,m,h)),w}function d(){n.onOpen(()=>{i.socketReady()}),n.onMessage(m=>{let{data:h}=m;h instanceof ArrayBuffer?h=r.Buffer.from(h):h=r.Buffer.from(h,"utf8"),o.push(h)}),n.onClose(()=>{i.emit("close"),i.end(),i.destroy()}),n.onError(m=>{let h=new Error(m.errMsg);i.destroy(h)})}var p=(m,h)=>{if(h.hostname=h.hostname||h.host,!h.hostname)throw new Error("Could not determine host. Specify host manually.");let f=h.protocolId==="MQIsdp"&&h.protocolVersion===3?"mqttv3.1":"mqtt";s(h);let w=c(h,m);n=wx.connectSocket({url:w,protocols:[f]}),o=a(),i=new l.BufferedDuplex(h,o,n),i._destroy=(S,b)=>{n.close({success(){b&&b(S)}})};let v=i.destroy;return i.destroy=(S,b)=>(i.destroy=v,setTimeout(()=>{n.close({fail(){i._destroy(S,b)}})},0),i),d(),i};u.default=p}),Yl=ke(u=>{be(),Ee(),we(),Object.defineProperty(u,"__esModule",{value:!0});var r=(ot(),We(rt)),t=Kt(),l=Bi(),n,o,i,a=!1;function s(){let h=new t.Transform;return h._write=(f,w,v)=>{n.sendSocketMessage({data:f.buffer,success(){v()},fail(){v(new Error)}})},h._flush=f=>{n.closeSocket({success(){f()}})},h}function c(h){h.hostname||(h.hostname="localhost"),h.path||(h.path="/"),h.wsOptions||(h.wsOptions={})}function d(h,f){let w=h.protocol==="alis"?"wss":"ws",v=`${w}://${h.hostname}${h.path}`;return h.port&&h.port!==80&&h.port!==443&&(v=`${w}://${h.hostname}:${h.port}${h.path}`),typeof h.transformWsUrl=="function"&&(v=h.transformWsUrl(v,h,f)),v}function p(){a||(a=!0,n.onSocketOpen(()=>{i.socketReady()}),n.onSocketMessage(h=>{if(typeof h.data=="string"){let f=r.Buffer.from(h.data,"base64");o.push(f)}else{let f=new FileReader;f.addEventListener("load",()=>{if(f.result instanceof ArrayBuffer){o.push(r.Buffer.from(f.result));return}o.push(r.Buffer.from(f.result,"utf-8"))}),f.readAsArrayBuffer(h.data)}}),n.onSocketClose(()=>{i.end(),i.destroy()}),n.onSocketError(h=>{i.destroy(h)}))}var m=(h,f)=>{if(f.hostname=f.hostname||f.host,!f.hostname)throw new Error("Could not determine host. Specify host manually.");let w=f.protocolId==="MQIsdp"&&f.protocolVersion===3?"mqttv3.1":"mqtt";c(f);let v=d(f,h);return n=f.my,n.connectSocket({url:v,protocols:w}),o=s(),i=new l.BufferedDuplex(f,o,n),p(),i};u.default=m}),ib=ke(u=>{be(),Ee(),we();var r=u&&u.__importDefault||function(p){return p&&p.__esModule?p:{default:p}};Object.defineProperty(u,"__esModule",{value:!0}),u.connectAsync=d;var t=r(xt()),l=r((rb(),We(wl))),n=r(jn()),o=r(Dr());typeof(ze==null?void 0:ze.nextTick)!="function"&&(ze.nextTick=setImmediate);var i=(0,t.default)("mqttjs"),a=null;function s(p){let m;if(p.auth)if(m=p.auth.match(/^(.+):(.+)$/),m){let[,h,f]=m;p.username=h,p.password=f}else p.username=p.auth}function c(p,m){var w,v,S;if(i("connecting to an MQTT broker..."),typeof p=="object"&&!m&&(m=p,p=""),m=m||{},p&&typeof p=="string"){let b=l.default.parse(p,!0),_={};if(b.port!=null&&(_.port=Number(b.port)),_.host=b.hostname,_.query=b.query,_.auth=b.auth,_.protocol=b.protocol,_.path=b.path,m={..._,...m},!m.protocol)throw new Error("Missing protocol");m.protocol=m.protocol.replace(/:$/,"")}if(m.unixSocket=m.unixSocket||((w=m.protocol)==null?void 0:w.includes("+unix")),m.unixSocket?m.protocol=m.protocol.replace("+unix",""):!((v=m.protocol)!=null&&v.startsWith("ws"))&&!((S=m.protocol)!=null&&S.startsWith("wx"))&&delete m.path,s(m),m.query&&typeof m.query.clientId=="string"&&(m.clientId=m.query.clientId),o.default||m.unixSocket?m.socksProxy=void 0:m.socksProxy===void 0&&typeof ze<"u"&&(m.socksProxy=ze.env.MQTTJS_SOCKS_PROXY),m.cert&&m.key)if(m.protocol){if(["mqtts","wss","wxs","alis"].indexOf(m.protocol)===-1)switch(m.protocol){case"mqtt":m.protocol="mqtts";break;case"ws":m.protocol="wss";break;case"wx":m.protocol="wxs";break;case"ali":m.protocol="alis";break;default:throw new Error(`Unknown protocol for secure connection: "${m.protocol}"!`)}}else throw new Error("Missing secure protocol key");if(a||(a={},!o.default&&!m.forceNativeWebSocket?(a.ws=so().streamBuilder,a.wss=so().streamBuilder,a.mqtt=Wl().default,a.tcp=Wl().default,a.ssl=Hl().default,a.tls=a.ssl,a.mqtts=Hl().default):(a.ws=so().browserStreamBuilder,a.wss=so().browserStreamBuilder,a.wx=Kl().default,a.wxs=Kl().default,a.ali=Yl().default,a.alis=Yl().default)),!a[m.protocol]){let b=["mqtts","wss"].indexOf(m.protocol)!==-1;m.protocol=["mqtt","mqtts","ws","wss","wx","wxs","ali","alis"].filter((_,k)=>b&&k%2===0?!1:typeof a[_]=="function")[0]}if(m.clean===!1&&!m.clientId)throw new Error("Missing clientId for unclean clients");m.protocol&&(m.defaultProtocol=m.protocol);function h(b){return m.servers&&((!b._reconnectCount||b._reconnectCount===m.servers.length)&&(b._reconnectCount=0),m.host=m.servers[b._reconnectCount].host,m.port=m.servers[b._reconnectCount].port,m.protocol=m.servers[b._reconnectCount].protocol?m.servers[b._reconnectCount].protocol:m.defaultProtocol,m.hostname=m.host,b._reconnectCount++),i("calling streambuilder for",m.protocol),a[m.protocol](b,m)}let f=new n.default(h,m);return f.on("error",()=>{}),f}function d(p,m,h=!0){return new Promise((f,w)=>{let v=c(p,m),S={connect:_=>{b(),f(v)},end:()=>{b(),f(v)},error:_=>{b(),v.end(),w(_)}};h===!1&&(S.close=()=>{S.error(new Error("Couldn't connect to server"))});function b(){Object.keys(S).forEach(_=>{v.off(_,S[_])})}Object.keys(S).forEach(_=>{v.on(_,S[_])})})}u.default=c}),Ql=ke(u=>{be(),Ee(),we();var r=u&&u.__createBinding||(Object.create?function(h,f,w,v){v===void 0&&(v=w);var S=Object.getOwnPropertyDescriptor(f,w);(!S||("get"in S?!f.__esModule:S.writable||S.configurable))&&(S={enumerable:!0,get:function(){return f[w]}}),Object.defineProperty(h,v,S)}:function(h,f,w,v){v===void 0&&(v=w),h[v]=f[w]}),t=u&&u.__setModuleDefault||(Object.create?function(h,f){Object.defineProperty(h,"default",{enumerable:!0,value:f})}:function(h,f){h.default=f}),l=u&&u.__importStar||function(){var h=function(f){return h=Object.getOwnPropertyNames||function(w){var v=[];for(var S in w)Object.prototype.hasOwnProperty.call(w,S)&&(v[v.length]=S);return v},h(f)};return function(f){if(f&&f.__esModule)return f;var w={};if(f!=null)for(var v=h(f),S=0;S<v.length;S++)v[S]!=="default"&&r(w,f,v[S]);return t(w,f),w}}(),n=u&&u.__exportStar||function(h,f){for(var w in h)w!=="default"&&!Object.prototype.hasOwnProperty.call(f,w)&&r(f,h,w)},o=u&&u.__importDefault||function(h){return h&&h.__esModule?h:{default:h}};Object.defineProperty(u,"__esModule",{value:!0}),u.ReasonCodes=u.KeepaliveManager=u.UniqueMessageIdProvider=u.DefaultMessageIdProvider=u.Store=u.MqttClient=u.connectAsync=u.connect=u.Client=void 0;var i=o(jn());u.MqttClient=i.default;var a=o(oa());u.DefaultMessageIdProvider=a.default;var s=o(y0());u.UniqueMessageIdProvider=s.default;var c=o(Qs());u.Store=c.default;var d=l(ib());u.connect=d.default,Object.defineProperty(u,"connectAsync",{enumerable:!0,get:function(){return d.connectAsync}});var p=o(da());u.KeepaliveManager=p.default,u.Client=i.default,n(jn(),u),n(ir(),u);var m=Tr();Object.defineProperty(u,"ReasonCodes",{enumerable:!0,get:function(){return m.ReasonCodes}})}),sb=ke(u=>{be(),Ee(),we();var r=u&&u.__createBinding||(Object.create?function(i,a,s,c){c===void 0&&(c=s);var d=Object.getOwnPropertyDescriptor(a,s);(!d||("get"in d?!a.__esModule:d.writable||d.configurable))&&(d={enumerable:!0,get:function(){return a[s]}}),Object.defineProperty(i,c,d)}:function(i,a,s,c){c===void 0&&(c=s),i[c]=a[s]}),t=u&&u.__setModuleDefault||(Object.create?function(i,a){Object.defineProperty(i,"default",{enumerable:!0,value:a})}:function(i,a){i.default=a}),l=u&&u.__importStar||function(){var i=function(a){return i=Object.getOwnPropertyNames||function(s){var c=[];for(var d in s)Object.prototype.hasOwnProperty.call(s,d)&&(c[c.length]=d);return c},i(a)};return function(a){if(a&&a.__esModule)return a;var s={};if(a!=null)for(var c=i(a),d=0;d<c.length;d++)c[d]!=="default"&&r(s,a,c[d]);return t(s,a),s}}(),n=u&&u.__exportStar||function(i,a){for(var s in i)s!=="default"&&!Object.prototype.hasOwnProperty.call(a,s)&&r(a,i,s)};Object.defineProperty(u,"__esModule",{value:!0});var o=l(Ql());u.default=o,n(Ql(),u)});const ab=sb();/*! Bundled license information:
6
+ */function _c(u){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(u){for(const r in u)if(r!=="default"){const a=Object.getOwnPropertyDescriptor(u,r);Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:()=>u[r]})}}return t.default=u,Object.freeze(t)}const Zi=_c(kc);class ea extends Le.Node{}(function(u){function t(r){const a=[],n=Le.Markup.getForeignObjectMarkup();return r?a.push({tagName:r,selector:"body"},n):a.push(n),a}u.config({view:"vue-shape-view",markup:t(),attrs:{body:{fill:"none",stroke:"none",refWidth:"100%",refHeight:"100%"},fo:{refWidth:"100%",refHeight:"100%"}},propHooks(r){if(r.markup==null){const a=r.primer;if(a){r.markup=t(a);let n={};switch(a){case"circle":n={refCx:"50%",refCy:"50%",refR:"50%"};break;case"ellipse":n={refCx:"50%",refCy:"50%",refRx:"50%",refRy:"50%"};break}r.attrs=Le.ObjectExt.merge({},{body:Object.assign({refWidth:null,refHeight:null},n)},r.attrs||{})}}return r}}),Le.Node.registry.register("vue-shape",u,!0)})(ea||(ea={}));var Nc=function(u,t){var r={};for(var a in u)Object.prototype.hasOwnProperty.call(u,a)&&t.indexOf(a)<0&&(r[a]=u[a]);if(u!=null&&typeof Object.getOwnPropertySymbols=="function")for(var n=0,a=Object.getOwnPropertySymbols(u);n<a.length;n++)t.indexOf(a[n])<0&&Object.prototype.propertyIsEnumerable.call(u,a[n])&&(r[a[n]]=u[a[n]]);return r};const ta={};function Sc(u){const{shape:t,component:r,inherit:a}=u,n=Nc(u,["shape","component","inherit"]);if(!t)throw new Error("should specify shape in config");ta[t]={component:r},Le.Graph.registerNode(t,Object.assign({inherit:a||"vue-shape"},n),!0)}e.reactive({});class xr extends Le.NodeView{getComponentContainer(){return this.selectors&&this.selectors.foContent}confirmUpdate(t){const r=super.confirmUpdate(t);return this.handleAction(r,xr.action,()=>{this.renderVueComponent()})}targetId(){return`${this.graph.view.cid}:${this.cell.id}`}renderVueComponent(){this.unmountVueComponent();const t=this.getComponentContainer(),r=this.cell,a=this.graph;if(t){const{component:n}=ta[r.shape];n&&(this.vm=e.createApp({render(){return e.h(n,{node:r,graph:a})},provide(){return{getNode:()=>r,getGraph:()=>a}}}),this.vm.mount(t))}}unmountVueComponent(){const t=this.getComponentContainer();return this.vm&&(this.vm.unmount(),this.vm=null),t&&(t.innerHTML=""),t}onMouseDown(t,r,a){const n=t.target;if(n.tagName.toLowerCase()==="input"){const i=n.getAttribute("type");if(i==null||["text","password","number","email","search","tel","url"].includes(i))return}super.onMouseDown(t,r,a)}unmount(){return this.unmountVueComponent(),super.unmount(),this}}(function(u){u.action="vue",u.config({bootstrap:[u.action],actions:{component:u.action}}),Le.NodeView.registry.register("vue-shape-view",u,!0)})(xr||(xr={}));const xc={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 32 32"},Vc=e.defineComponent({name:"AlignHorizontalCenter",render:function(t,r){return e.openBlock(),e.createElementBlock("svg",xc,r[0]||(r[0]=[e.createElementVNode("path",{d:"M24 18h-7v-4h3a2.002 2.002 0 0 0 2-2V8a2.002 2.002 0 0 0-2-2h-3V2h-2v4h-3a2.002 2.002 0 0 0-2 2v4a2.002 2.002 0 0 0 2 2h3v4H8a2.002 2.002 0 0 0-2 2v4a2.002 2.002 0 0 0 2 2h7v4h2v-4h7a2.002 2.002 0 0 0 2-2v-4a2.002 2.002 0 0 0-2-2zM12 8h8v4h-8zm12 16H8v-4h16z",fill:"currentColor"},null,-1)]))}}),Cc={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 32 32"},Ic=e.defineComponent({name:"AlignHorizontalLeft",render:function(t,r){return e.openBlock(),e.createElementBlock("svg",Cc,r[0]||(r[0]=[e.createElementVNode("path",{d:"M26 26H11a2.002 2.002 0 0 1-2-2v-4a2.002 2.002 0 0 1 2-2h15a2.002 2.002 0 0 1 2 2v4a2.002 2.002 0 0 1-2 2zm0-6.001L11 20v4h15z",fill:"currentColor"},null,-1),e.createElementVNode("path",{d:"M18 14h-7a2.002 2.002 0 0 1-2-2V8a2.002 2.002 0 0 1 2-2h7a2.002 2.002 0 0 1 2 2v4a2.002 2.002 0 0 1-2 2zm0-6.001L11 8v4h7z",fill:"currentColor"},null,-1),e.createElementVNode("path",{d:"M4 2h2v28H4z",fill:"currentColor"},null,-1)]))}}),Ac={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 32 32"},Tc=e.defineComponent({name:"AlignHorizontalRight",render:function(t,r){return e.openBlock(),e.createElementBlock("svg",Ac,r[0]||(r[0]=[e.createElementVNode("path",{d:"M4 24v-4a2.002 2.002 0 0 1 2-2h15a2.002 2.002 0 0 1 2 2v4a2.002 2.002 0 0 1-2 2H6a2.002 2.002 0 0 1-2-2zm2 0h15v-4l-15-.001z",fill:"currentColor"},null,-1),e.createElementVNode("path",{d:"M12 12V8a2.002 2.002 0 0 1 2-2h7a2.002 2.002 0 0 1 2 2v4a2.002 2.002 0 0 1-2 2h-7a2.002 2.002 0 0 1-2-2zm2 0h7V8l-7-.001z",fill:"currentColor"},null,-1),e.createElementVNode("path",{d:"M28 30h-2V2h2z",fill:"currentColor"},null,-1)]))}}),$c={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 32 32"},Bc=e.defineComponent({name:"AlignVerticalBottom",render:function(t,r){return e.openBlock(),e.createElementBlock("svg",$c,r[0]||(r[0]=[e.createElementVNode("path",{d:"M2 26h28v2H2z",fill:"currentColor"},null,-1),e.createElementVNode("path",{d:"M24 23h-4a2.002 2.002 0 0 1-2-2v-7a2.002 2.002 0 0 1 2-2h4a2.002 2.002 0 0 1 2 2v7a2.002 2.002 0 0 1-2 2zm-4-9v7h4.001L24 14z",fill:"currentColor"},null,-1),e.createElementVNode("path",{d:"M12 23H8a2.002 2.002 0 0 1-2-2V6a2.002 2.002 0 0 1 2-2h4a2.002 2.002 0 0 1 2 2v15a2.002 2.002 0 0 1-2 2zM8 6v15h4.001L12 6z",fill:"currentColor"},null,-1)]))}}),Dc={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 32 32"},Pc=e.defineComponent({name:"AlignVerticalCenter",render:function(t,r){return e.openBlock(),e.createElementBlock("svg",Dc,r[0]||(r[0]=[e.createElementVNode("path",{d:"M30 15h-4v-3a2.002 2.002 0 0 0-2-2h-4a2.002 2.002 0 0 0-2 2v3h-4V8a2.002 2.002 0 0 0-2-2H8a2.002 2.002 0 0 0-2 2v7H2v2h4v7a2.002 2.002 0 0 0 2 2h4a2.002 2.002 0 0 0 2-2v-7h4v3a2.002 2.002 0 0 0 2 2h4a2.002 2.002 0 0 0 2-2v-3h4zM8 24V8h4l.001 16zm12-4v-8h4l.001 8z",fill:"currentColor"},null,-1)]))}}),Oc={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 32 32"},Mc=e.defineComponent({name:"AlignVerticalTop",render:function(t,r){return e.openBlock(),e.createElementBlock("svg",Oc,r[0]||(r[0]=[e.createElementVNode("path",{d:"M24 20h-4a2.002 2.002 0 0 1-2-2v-7a2.002 2.002 0 0 1 2-2h4a2.002 2.002 0 0 1 2 2v7a2.002 2.002 0 0 1-2 2zm-4-9v7h4.001L24 11z",fill:"currentColor"},null,-1),e.createElementVNode("path",{d:"M12 28H8a2.002 2.002 0 0 1-2-2V11a2.002 2.002 0 0 1 2-2h4a2.002 2.002 0 0 1 2 2v15a2.002 2.002 0 0 1-2 2zM8 11v15h4.001L12 11z",fill:"currentColor"},null,-1),e.createElementVNode("path",{d:"M2 4h28v2H2z",fill:"currentColor"},null,-1)]))}}),Rc={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 32 32"},jc=e.defineComponent({name:"DistributeHorizontalCenter",render:function(t,r){return e.openBlock(),e.createElementBlock("svg",Rc,r[0]||(r[0]=[e.createElementVNode("path",{d:"M24 10h-1V2h-2v8h-1a2.002 2.002 0 0 0-2 2v8a2.002 2.002 0 0 0 2 2h1v8h2v-8h1a2.002 2.002 0 0 0 2-2v-8a2.002 2.002 0 0 0-2-2zm0 10h-4v-8h4z",fill:"currentColor"},null,-1),e.createElementVNode("path",{d:"M12 6h-1V2H9v4H8a2.002 2.002 0 0 0-2 2v16a2.002 2.002 0 0 0 2 2h1v4h2v-4h1a2.002 2.002 0 0 0 2-2V8a2.002 2.002 0 0 0-2-2zm0 18H8V8h4z",fill:"currentColor"},null,-1)]))}}),Lc={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 32 32"},Uc=e.defineComponent({name:"DistributeVerticalCenter",render:function(t,r){return e.openBlock(),e.createElementBlock("svg",Lc,r[0]||(r[0]=[e.createElementVNode("path",{d:"M30 21h-4v-1a2.002 2.002 0 0 0-2-2H8a2.002 2.002 0 0 0-2 2v1H2v2h4v1a2.002 2.002 0 0 0 2 2h16a2.002 2.002 0 0 0 2-2v-1h4zm-6 3H8v-4l16-.001z",fill:"currentColor"},null,-1),e.createElementVNode("path",{d:"M30 9h-8V8a2.002 2.002 0 0 0-2-2h-8a2.002 2.002 0 0 0-2 2v1H2v2h8v1a2.002 2.002 0 0 0 2 2h8a2.002 2.002 0 0 0 2-2v-1h8zm-10 3h-8V8l8-.001z",fill:"currentColor"},null,-1)]))}}),Fc={version:"1.1.28"},zc={class:"scada-header"},Wc={class:"header-left"},qc={class:"version"},Gc={class:"header-center"},Hc={class:"tool-group"},Kc={key:0,class:"divider"},Yc={key:1,class:"tool-group"},Qc={key:2,class:"divider"},Jc={key:3,class:"tool-group"},Xc={class:"header-right"},Zc={class:"tool-group"},ed=e.defineComponent({__name:"Header",props:{selectedNodesCount:{default:0}},emits:["save","import","workflow","preview","export","dataSource","zoomIn","zoomOut","clearAll","alignLeft","alignCenter","alignRight","alignTop","alignMiddle","alignBottom","distributeHorizontal","distributeVertical"],setup(u,{emit:t}){const r=Fc.version,a=u,n=t;return(o,i)=>(e.openBlock(),e.createElementBlock("header",zc,[e.createElementVNode("div",Wc,[e.renderSlot(o.$slots,"left",{},()=>[i[17]||(i[17]=e.createElementVNode("h1",{class:"logo"},"SCADA 组态引擎",-1)),e.createElementVNode("span",qc,"v"+e.toDisplayString(e.unref(r)),1)],!0)]),e.createElementVNode("div",Gc,[e.createElementVNode("div",Hc,[e.createElementVNode("button",{class:"toolbar-btn",onClick:i[0]||(i[0]=l=>n("zoomIn")),title:"放大"},[...i[18]||(i[18]=[e.createElementVNode("span",{class:"icon"},"+",-1)])]),e.createElementVNode("button",{class:"toolbar-btn",onClick:i[1]||(i[1]=l=>n("zoomOut")),title:"缩小"},[...i[19]||(i[19]=[e.createElementVNode("span",{class:"icon"},"-",-1)])]),e.createElementVNode("button",{class:"toolbar-btn",onClick:i[2]||(i[2]=l=>n("clearAll")),title:"清空画布"},[...i[20]||(i[20]=[e.createElementVNode("span",{class:"icon"},"🗑",-1)])])]),a.selectedNodesCount>=2?(e.openBlock(),e.createElementBlock("div",Kc)):e.createCommentVNode("",!0),a.selectedNodesCount>=2?(e.openBlock(),e.createElementBlock("div",Yc,[e.createElementVNode("button",{class:"toolbar-btn",onClick:i[3]||(i[3]=l=>n("alignLeft")),title:"左对齐"},[e.createVNode(e.unref(Ic),{class:"icon-svg"})]),e.createElementVNode("button",{class:"toolbar-btn",onClick:i[4]||(i[4]=l=>n("alignCenter")),title:"水平居中"},[e.createVNode(e.unref(Vc),{class:"icon-svg"})]),e.createElementVNode("button",{class:"toolbar-btn",onClick:i[5]||(i[5]=l=>n("alignRight")),title:"右对齐"},[e.createVNode(e.unref(Tc),{class:"icon-svg"})]),e.createElementVNode("button",{class:"toolbar-btn",onClick:i[6]||(i[6]=l=>n("alignTop")),title:"顶部对齐"},[e.createVNode(e.unref(Mc),{class:"icon-svg"})]),e.createElementVNode("button",{class:"toolbar-btn",onClick:i[7]||(i[7]=l=>n("alignMiddle")),title:"垂直居中"},[e.createVNode(e.unref(Pc),{class:"icon-svg"})]),e.createElementVNode("button",{class:"toolbar-btn",onClick:i[8]||(i[8]=l=>n("alignBottom")),title:"底部对齐"},[e.createVNode(e.unref(Bc),{class:"icon-svg"})])])):e.createCommentVNode("",!0),a.selectedNodesCount>=3?(e.openBlock(),e.createElementBlock("div",Qc)):e.createCommentVNode("",!0),a.selectedNodesCount>=3?(e.openBlock(),e.createElementBlock("div",Jc,[e.createElementVNode("button",{class:"toolbar-btn",onClick:i[9]||(i[9]=l=>n("distributeHorizontal")),title:"横向分布"},[e.createVNode(e.unref(jc),{class:"icon-svg"})]),e.createElementVNode("button",{class:"toolbar-btn",onClick:i[10]||(i[10]=l=>n("distributeVertical")),title:"纵向分布"},[e.createVNode(e.unref(Uc),{class:"icon-svg"})])])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Xc,[e.createElementVNode("div",Zc,[e.createElementVNode("button",{class:"header-btn",onClick:i[11]||(i[11]=l=>n("dataSource")),title:"数据源管理"},[...i[21]||(i[21]=[e.createElementVNode("span",{class:"icon"},"📡",-1),e.createElementVNode("span",null,"数据源",-1)])]),e.createElementVNode("button",{class:"header-btn",onClick:i[12]||(i[12]=l=>n("workflow")),title:"流程编排"},[...i[22]||(i[22]=[e.createElementVNode("span",{class:"icon"},"⚡",-1),e.createElementVNode("span",null,"流程编排",-1)])]),e.createElementVNode("button",{class:"header-btn",onClick:i[13]||(i[13]=l=>n("import")),title:"导入"},[...i[23]||(i[23]=[e.createElementVNode("span",{class:"icon"},"📂",-1),e.createElementVNode("span",null,"导入",-1)])]),e.createElementVNode("button",{class:"header-btn",onClick:i[14]||(i[14]=l=>n("export")),title:"导出"},[...i[24]||(i[24]=[e.createElementVNode("span",{class:"icon"},"📤",-1),e.createElementVNode("span",null,"导出",-1)])]),e.createElementVNode("button",{class:"header-btn",onClick:i[15]||(i[15]=l=>n("preview")),title:"预览"},[...i[25]||(i[25]=[e.createElementVNode("span",{class:"icon"},"👁",-1),e.createElementVNode("span",null,"预览",-1)])]),e.createElementVNode("button",{class:"header-btn",onClick:i[16]||(i[16]=l=>n("save")),title:"保存"},[...i[26]||(i[26]=[e.createElementVNode("span",{class:"icon"},"💾",-1),e.createElementVNode("span",null,"保存",-1)])])])])]))}}),Me=(u,t)=>{const r=u.__vccOpts||u;for(const[a,n]of t)r[a]=n;return r},yo=Me(ed,[["__scopeId","data-v-70211483"]]),bo=[{key:"animationEnabled",label:"启用动画",type:"boolean",path:"data.animation.enabled",defaultValue:!1,description:"是否启用动画效果",bindable:!0},{key:"animationType",label:"动画类型",type:"select",path:"data.animation.type",defaultValue:"none",options:[{label:"无动画",value:"none"},{label:"闪烁",value:"blink"},{label:"缩放",value:"scale"},{label:"旋转",value:"rotate"},{label:"浮动",value:"float"},{label:"脉冲",value:"pulse"}],description:"组件动画效果类型",bindable:!1},{key:"animationDuration",label:"动画时长(ms)",type:"number",path:"data.animation.duration",defaultValue:1e3,min:100,max:5e3,step:100,description:"动画完成一次所需时间",bindable:!1},{key:"animationLoop",label:"循环播放",type:"boolean",path:"data.animation.loop",defaultValue:!0,description:"是否循环播放动画",bindable:!1}],ra={metadata:{id:"rect",name:"矩形",category:"basic",icon:"▢",description:"基础矩形图形组件",version:"1.0.0"},shape:"rect",width:120,height:60,label:"矩形",attrs:{body:{fill:"#3b82f6",stroke:"#2563eb",strokeWidth:2},label:{fill:"#fff",fontSize:14}},ports:{groups:{top:{position:"top",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},right:{position:"right",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},bottom:{position:"bottom",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},left:{position:"left",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}}},items:[{id:"port-top",group:"top"},{id:"port-right",group:"right"},{id:"port-bottom",group:"bottom"},{id:"port-left",group:"left"}]},props:[{key:"name",label:"按钮文本",type:"text",path:"attrs.label.text",defaultValue:"矩形",description:"矩形名称"},{key:"fill",label:"填充色",type:"color",path:"attrs.body.fill",defaultValue:"#3b82f6",description:"矩形填充颜色"},{key:"stroke",label:"边框色",type:"color",path:"attrs.body.stroke",defaultValue:"#2563eb",description:"矩形边框颜色"},{key:"strokeWidth",label:"边框宽度",type:"number",path:"attrs.body.strokeWidth",defaultValue:2,min:0,max:10,description:"矩形边框宽度"},{key:"opacity",label:"透明度",type:"slider",path:"attrs.body.opacity",defaultValue:1,min:0,max:1,step:.1,description:"矩形透明度"},...bo]},oa={metadata:{id:"circle",name:"圆形",category:"basic",icon:"○",description:"基础圆形图形组件",version:"1.0.0"},shape:"circle",width:80,height:80,label:"圆形",attrs:{body:{fill:"#10b981",stroke:"#059669",strokeWidth:2},label:{fill:"#fff",fontSize:14}},ports:{groups:{top:{position:"top",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},right:{position:"right",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},bottom:{position:"bottom",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},left:{position:"left",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}}},items:[{id:"port-top",group:"top"},{id:"port-right",group:"right"},{id:"port-bottom",group:"bottom"},{id:"port-left",group:"left"}]},props:[{key:"text",label:"初始文本",type:"text",path:"attrs.label.text",defaultValue:"圆形",description:"圆形初始文本"},{key:"fill",label:"填充色",type:"color",path:"attrs.body.fill",defaultValue:"#10b981",description:"圆形填充颜色"},{key:"stroke",label:"边框色",type:"color",path:"attrs.body.stroke",defaultValue:"#059669",description:"圆形边框颜色"},{key:"strokeWidth",label:"边框宽度",type:"number",path:"attrs.body.strokeWidth",defaultValue:2,min:0,max:10,description:"圆形边框宽度"},{key:"opacity",label:"透明度",type:"slider",path:"attrs.body.opacity",defaultValue:1,min:0,max:1,step:.1,description:"圆形透明度"},...bo]},na={metadata:{id:"text",name:"文本",category:"basic",icon:"T",description:"文本标签组件",version:"1.0.0"},shape:"rect",width:100,height:40,label:"文本",attrs:{body:{fill:"transparent",stroke:"#64748b",strokeWidth:1,strokeDasharray:"5 5"},label:{fill:"#e2e8f0",fontSize:16}},props:[{key:"label",label:"文本内容",type:"text",path:"attrs.label.text",defaultValue:"文本",description:"显示的文本内容"},{key:"fontSize",label:"字体大小",type:"number",path:"attrs.label.fontSize",defaultValue:16,min:12,max:48,description:"文本字体大小"},{key:"fontColor",label:"字体颜色",type:"color",path:"attrs.label.fill",defaultValue:"#e2e8f0",description:"文本字体颜色"},{key:"stroke",label:"边框色",type:"color",path:"attrs.body.stroke",defaultValue:"#64748b",description:"边框颜色"},...bo]},td=Object.freeze(Object.defineProperty({__proto__:null,CircleComponent:oa,RectComponent:ra,TextComponent:na},Symbol.toStringTag,{value:"Module"})),rd={class:"light-3d-container"},od={viewBox:"0 0 100 100",xmlns:"http://www.w3.org/2000/svg"},nd=["id"],id=["stop-color"],ad=["stop-color"],sd=["stop-color"],ld=["id"],cd=["id"],dd=["id"],ud=["flood-color"],fd=["fill","filter"],pd=["fill","filter"],hd=["opacity"],md={key:1,opacity:"0.8"},gd=["fill"],yd=["fill"],bd=["fill"],wd=["fill"],Ed=["fill"],ia={metadata:{id:"light",name:"3D灯泡",category:"iot",icon:"💡",description:"3D仿真IoT灯泡控制组件",version:"2.0.0"},shape:"light-3d-vue",component:Me(e.defineComponent({__name:"Light3D",props:{node:{}},setup(u){const t=u,r=e.ref(`light-${Math.random().toString(36).substr(2,9)}`),a=()=>t.node?t.node.getData?t.node.getData():t.node.data||{}:{},n=e.ref(!1),o=e.ref("#fbbf24"),i=(s,c)=>{const d=s.replace("#",""),h=parseInt(d.substring(0,2),16),m=parseInt(d.substring(2,4),16),p=parseInt(d.substring(4,6),16),f=Math.max(0,Math.floor(h*(1-c))),w=Math.max(0,Math.floor(m*(1-c))),N=Math.max(0,Math.floor(p*(1-c)));return`#${f.toString(16).padStart(2,"0")}${w.toString(16).padStart(2,"0")}${N.toString(16).padStart(2,"0")}`},l=()=>{const s=a();n.value=s.state===!0||s.state==="on",o.value=s.color||"#fbbf24"};return e.watch(()=>t.node,()=>{l()},{deep:!0}),e.onMounted(()=>{l(),t.node&&typeof t.node.on=="function"&&t.node.on("change:data",()=>{l()})}),(s,c)=>(e.openBlock(),e.createElementBlock("div",rd,[(e.openBlock(),e.createElementBlock("svg",od,[e.createElementVNode("defs",null,[e.createElementVNode("radialGradient",{id:`bulb-gradient-${r.value}`,cx:"40%",cy:"30%"},[e.createElementVNode("stop",{offset:"0%","stop-color":n.value?"#fff9e6":"#e5e7eb"},null,8,id),e.createElementVNode("stop",{offset:"50%","stop-color":n.value?o.value:"#d1d5db"},null,8,ad),e.createElementVNode("stop",{offset:"100%","stop-color":n.value?i(o.value,.3):"#9ca3af"},null,8,sd)],8,nd),e.createElementVNode("linearGradient",{id:`base-gradient-${r.value}`,x1:"0%",y1:"0%",x2:"0%",y2:"100%"},[...c[0]||(c[0]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#94a3b8"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#64748b"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#475569"},null,-1)])],8,ld),e.createElementVNode("filter",{id:`glow-${r.value}`},[...c[1]||(c[1]=[e.createElementVNode("feGaussianBlur",{stdDeviation:"3",result:"coloredBlur"},null,-1),e.createElementVNode("feMerge",null,[e.createElementVNode("feMergeNode",{in:"coloredBlur"}),e.createElementVNode("feMergeNode",{in:"SourceGraphic"})],-1)])],8,cd),e.createElementVNode("filter",{id:`outer-glow-${r.value}`},[c[2]||(c[2]=e.createElementVNode("feGaussianBlur",{stdDeviation:"5",result:"blur"},null,-1)),e.createElementVNode("feFlood",{"flood-color":o.value,"flood-opacity":"0.6",result:"color"},null,8,ud),c[3]||(c[3]=e.createElementVNode("feComposite",{in:"color",in2:"blur",operator:"in",result:"glow"},null,-1)),c[4]||(c[4]=e.createElementVNode("feMerge",null,[e.createElementVNode("feMergeNode",{in:"glow"}),e.createElementVNode("feMergeNode",{in:"SourceGraphic"})],-1))],8,dd)]),n.value?(e.openBlock(),e.createElementBlock("circle",{key:0,cx:"50",cy:"35",r:"32",fill:o.value,opacity:"0.3",filter:`url(#outer-glow-${r.value})`},null,8,fd)):e.createCommentVNode("",!0),e.createElementVNode("ellipse",{cx:"50",cy:"35",rx:"25",ry:"28",fill:`url(#bulb-gradient-${r.value})`,stroke:"#cbd5e1","stroke-width":"0.5",filter:n.value?`url(#glow-${r.value})`:"none"},null,8,pd),e.createElementVNode("ellipse",{cx:"42",cy:"25",rx:"8",ry:"10",fill:"#ffffff",opacity:n.value?.7:.3},null,8,hd),n.value?(e.openBlock(),e.createElementBlock("g",md,[...c[5]||(c[5]=[e.createElementVNode("path",{d:"M 45 30 Q 47 35 45 40",stroke:"#ff9500","stroke-width":"1.5",fill:"none"},null,-1),e.createElementVNode("path",{d:"M 55 30 Q 53 35 55 40",stroke:"#ff9500","stroke-width":"1.5",fill:"none"},null,-1)])])):e.createCommentVNode("",!0),c[10]||(c[10]=e.createElementVNode("ellipse",{cx:"50",cy:"60",rx:"15",ry:"4",fill:"#94a3b8"},null,-1)),e.createElementVNode("g",null,[e.createElementVNode("rect",{x:"40",y:"63",width:"20",height:"3",fill:`url(#base-gradient-${r.value})`,rx:"1"},null,8,gd),e.createElementVNode("rect",{x:"40",y:"67",width:"20",height:"3",fill:`url(#base-gradient-${r.value})`,rx:"1"},null,8,yd),e.createElementVNode("rect",{x:"40",y:"71",width:"20",height:"3",fill:`url(#base-gradient-${r.value})`,rx:"1"},null,8,bd),e.createElementVNode("rect",{x:"40",y:"75",width:"20",height:"3",fill:`url(#base-gradient-${r.value})`,rx:"1"},null,8,wd),c[6]||(c[6]=e.createElementVNode("rect",{x:"40",y:"66",width:"20",height:"1",fill:"#1e293b",opacity:"0.3"},null,-1)),c[7]||(c[7]=e.createElementVNode("rect",{x:"40",y:"70",width:"20",height:"1",fill:"#1e293b",opacity:"0.3"},null,-1)),c[8]||(c[8]=e.createElementVNode("rect",{x:"40",y:"74",width:"20",height:"1",fill:"#1e293b",opacity:"0.3"},null,-1)),c[9]||(c[9]=e.createElementVNode("rect",{x:"40",y:"78",width:"20",height:"1",fill:"#1e293b",opacity:"0.3"},null,-1))]),e.createElementVNode("ellipse",{cx:"50",cy:"80",rx:"12",ry:"5",fill:`url(#base-gradient-${r.value})`},null,8,Ed),c[11]||(c[11]=e.createElementVNode("ellipse",{cx:"50",cy:"83",rx:"8",ry:"3",fill:"#334155"},null,-1)),c[12]||(c[12]=e.createElementVNode("circle",{cx:"50",cy:"85",r:"2",fill:"#475569"},null,-1))])),e.createElementVNode("div",{class:e.normalizeClass(["status-text",{"is-on":n.value}])},e.toDisplayString(n.value?"开启":"关闭"),3)]))}}),[["__scopeId","data-v-7237b5fc"]]),width:100,height:120,label:"",attrs:{body:{fill:"transparent",stroke:"transparent"}},data:{type:"light",state:!1,color:"#fbbf24",deviceId:"",property:""},ports:{groups:{left:{position:"left",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},right:{position:"right",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}}},items:[{id:"port-left",group:"left"},{id:"port-right",group:"right"}]},props:[{key:"state",label:"灯泡状态",type:"select",path:"data.state",defaultValue:!1,options:[{label:"关闭",value:!1},{label:"开启",value:!0}],description:"灯泡开关状态",bindable:!0},{key:"color",label:"灯光颜色",type:"color",path:"data.color",defaultValue:"#fbbf24",description:"灯泡发光颜色",bindable:!0},{key:"deviceId",label:"设备ID",type:"text",path:"data.deviceId",defaultValue:"",description:"绑定的设备ID"},{key:"property",label:"设备属性",type:"text",path:"data.property",defaultValue:"",description:"绑定的设备属性名称"}],points:[{id:"status",name:"开关状态",description:"灯泡开关状态(开/关)",dataType:"boolean",defaultValue:!1,required:!0},{id:"color",name:"灯光颜色",description:"灯泡发光颜色(十六进制颜色值)",dataType:"string",defaultValue:"#fbbf24",required:!1},{id:"brightness",name:"亮度",description:"灯泡亮度百分比",dataType:"number",unit:"%",defaultValue:100,required:!1,range:{min:0,max:100}}]},vd={class:"switch-3d-container"},kd={viewBox:"0 0 120 80",xmlns:"http://www.w3.org/2000/svg"},_d=["id"],Nd=["id"],Sd=["id"],xd=["id"],Vd=["fill"],Cd=["fill"],Id=["fill"],Ad=["transform"],Td=["fill"],$d=["fill","filter"],Bd=["opacity"],Dd=["fill","filter"],Pd=["opacity"],aa={metadata:{id:"switch",name:"3D开关",category:"iot",icon:"🔘",description:"3D仿真IoT开关控制组件",version:"2.0.0"},shape:"switch-3d-vue",component:Me(e.defineComponent({__name:"Switch3D",props:{node:{}},setup(u){const t=u,r=e.ref(`switch-${Math.random().toString(36).substr(2,9)}`),a=()=>t.node?t.node.getData?t.node.getData():t.node.data||{}:{},n=e.ref(!1),o=e.computed(()=>n.value?72:48),i=()=>{const l=a();n.value=l.state===!0||l.state==="on"};return e.watch(()=>t.node,()=>{i()},{deep:!0}),e.onMounted(()=>{i(),t.node&&typeof t.node.on=="function"&&t.node.on("change:data",()=>{i()})}),(l,s)=>(e.openBlock(),e.createElementBlock("div",vd,[(e.openBlock(),e.createElementBlock("svg",kd,[e.createElementVNode("defs",null,[e.createElementVNode("linearGradient",{id:`base-gradient-${r.value}`,x1:"0%",y1:"0%",x2:"0%",y2:"100%"},[...s[0]||(s[0]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#475569"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#334155"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#1e293b"},null,-1)])],8,_d),e.createElementVNode("linearGradient",{id:`track-gradient-${r.value}`,x1:"0%",y1:"0%",x2:"0%",y2:"100%"},[...s[1]||(s[1]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#1e293b"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#0f172a"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#1e293b"},null,-1)])],8,Nd),e.createElementVNode("linearGradient",{id:`handle-gradient-${r.value}`,x1:"0%",y1:"0%",x2:"0%",y2:"100%"},[...s[2]||(s[2]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#e2e8f0"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#cbd5e1"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#94a3b8"},null,-1)])],8,Sd),e.createElementVNode("filter",{id:`indicator-glow-${r.value}`},[...s[3]||(s[3]=[e.createElementVNode("feGaussianBlur",{stdDeviation:"3",result:"coloredBlur"},null,-1),e.createElementVNode("feMerge",null,[e.createElementVNode("feMergeNode",{in:"coloredBlur"}),e.createElementVNode("feMergeNode",{in:"SourceGraphic"})],-1)])],8,xd)]),e.createElementVNode("rect",{x:"20",y:"25",width:"80",height:"50",rx:"8",fill:`url(#base-gradient-${r.value})`,stroke:"#0f172a","stroke-width":"1"},null,8,Vd),s[6]||(s[6]=e.createStaticVNode('<g data-v-09d0019e><circle cx="30" cy="35" r="3" fill="#0f172a" data-v-09d0019e></circle><circle cx="30" cy="35" r="1.5" fill="#475569" data-v-09d0019e></circle><line x1="28" y1="35" x2="32" y2="35" stroke="#1e293b" stroke-width="0.5" data-v-09d0019e></line><circle cx="90" cy="35" r="3" fill="#0f172a" data-v-09d0019e></circle><circle cx="90" cy="35" r="1.5" fill="#475569" data-v-09d0019e></circle><line x1="88" y1="35" x2="92" y2="35" stroke="#1e293b" stroke-width="0.5" data-v-09d0019e></line><circle cx="30" cy="65" r="3" fill="#0f172a" data-v-09d0019e></circle><circle cx="30" cy="65" r="1.5" fill="#475569" data-v-09d0019e></circle><line x1="28" y1="65" x2="32" y2="65" stroke="#1e293b" stroke-width="0.5" data-v-09d0019e></line><circle cx="90" cy="65" r="3" fill="#0f172a" data-v-09d0019e></circle><circle cx="90" cy="65" r="1.5" fill="#475569" data-v-09d0019e></circle><line x1="88" y1="65" x2="92" y2="65" stroke="#1e293b" stroke-width="0.5" data-v-09d0019e></line></g>',1)),e.createElementVNode("rect",{x:"40",y:"38",width:"40",height:"24",rx:"12",fill:`url(#track-gradient-${r.value})`,stroke:"#0f172a","stroke-width":"1"},null,8,Cd),s[7]||(s[7]=e.createElementVNode("text",{x:"48",y:"53","font-size":"8",fill:"#64748b","text-anchor":"middle","font-weight":"bold"},"OFF",-1)),e.createElementVNode("text",{x:"72",y:"53","font-size":"8",fill:n.value?"#22c55e":"#64748b","text-anchor":"middle","font-weight":"bold"},"ON",8,Id),e.createElementVNode("g",{transform:`translate(${o.value}, 0)`,style:{transition:"transform 0.3s ease"}},[s[4]||(s[4]=e.createElementVNode("ellipse",{cx:"0",cy:"52",rx:"10",ry:"3",fill:"#000",opacity:"0.3"},null,-1)),e.createElementVNode("rect",{x:"-8",y:"40",width:"16",height:"20",rx:"8",fill:`url(#handle-gradient-${r.value})`,stroke:"#94a3b8","stroke-width":"1"},null,8,Td),s[5]||(s[5]=e.createStaticVNode('<g opacity="0.3" data-v-09d0019e><line x1="-4" y1="43" x2="-4" y2="57" stroke="#64748b" stroke-width="0.5" data-v-09d0019e></line><line x1="0" y1="43" x2="0" y2="57" stroke="#64748b" stroke-width="0.5" data-v-09d0019e></line><line x1="4" y1="43" x2="4" y2="57" stroke="#64748b" stroke-width="0.5" data-v-09d0019e></line></g><rect x="-6" y="42" width="4" height="8" rx="2" fill="#ffffff" opacity="0.4" data-v-09d0019e></rect>',2))],8,Ad),e.createElementVNode("g",null,[e.createElementVNode("circle",{cx:"35",cy:"50",r:"3",fill:n.value?"#334155":"#ef4444",filter:n.value?"none":`url(#indicator-glow-${r.value})`},null,8,$d),e.createElementVNode("circle",{cx:"35",cy:"50",r:"1.5",fill:"#ffffff",opacity:n.value?.1:.6},null,8,Bd),e.createElementVNode("circle",{cx:"85",cy:"50",r:"3",fill:n.value?"#22c55e":"#334155",filter:n.value?`url(#indicator-glow-${r.value})`:"none"},null,8,Dd),e.createElementVNode("circle",{cx:"85",cy:"50",r:"1.5",fill:"#ffffff",opacity:n.value?.6:.1},null,8,Pd)]),s[8]||(s[8]=e.createStaticVNode('<g data-v-09d0019e><rect x="15" y="47" width="8" height="6" rx="1" fill="#64748b" stroke="#475569" stroke-width="0.5" data-v-09d0019e></rect><circle cx="19" cy="50" r="1.5" fill="#94a3b8" data-v-09d0019e></circle><rect x="97" y="47" width="8" height="6" rx="1" fill="#64748b" stroke="#475569" stroke-width="0.5" data-v-09d0019e></rect><circle cx="101" cy="50" r="1.5" fill="#94a3b8" data-v-09d0019e></circle></g><rect x="50" y="67" width="20" height="6" rx="1" fill="#0f172a" opacity="0.7" data-v-09d0019e></rect><text x="60" y="71" font-size="3" fill="#64748b" text-anchor="middle" font-family="monospace" data-v-09d0019e>KCD1-101</text>',3))])),e.createElementVNode("div",{class:e.normalizeClass(["status-text",{"is-on":n.value}])},e.toDisplayString(n.value?"开启":"关闭"),3)]))}}),[["__scopeId","data-v-09d0019e"]]),width:140,height:100,label:"",attrs:{body:{fill:"transparent",stroke:"transparent"}},data:{type:"switch",state:!1,deviceId:"",property:""},ports:{groups:{left:{position:"left",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},right:{position:"right",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}}},items:[{id:"port-left",group:"left"},{id:"port-right",group:"right"}]},props:[{key:"state",label:"开关状态",type:"select",path:"data.state",defaultValue:!1,options:[{label:"关闭",value:!1},{label:"开启",value:!0}],description:"开关当前状态",bindable:!0},{key:"deviceId",label:"设备ID",type:"text",path:"data.deviceId",defaultValue:"",description:"绑定的设备ID"},{key:"property",label:"设备属性",type:"text",path:"data.property",defaultValue:"",description:"绑定的设备属性名称"}],points:[{id:"status",name:"开关状态",description:"开关当前状态(开/关)",dataType:"boolean",defaultValue:!1,required:!0},{id:"enabled",name:"启用状态",description:"开关是否可用",dataType:"boolean",defaultValue:!0,required:!1}]},sa=[{id:"basic",name:"基础仪表盘",config:{min:0,max:100,splitNumber:5,radius:"100%",axisLine:{lineStyle:{width:10,color:[[.3,"#67e0e3"],[.7,"#37a2da"],[1,"#fd666d"]]}},axisTick:{distance:2,length:5,lineStyle:{color:"#fff",width:1}},splitLine:{distance:2,length:10,lineStyle:{color:"#fff",width:2}},axisLabel:{distance:20,fontSize:12,color:"#999"},title:{offsetCenter:[0,"90%"],fontSize:14,color:"#999"},detail:{fontSize:30,offsetCenter:[0,"45%"],color:"#fff",formatter:"{value}"}}},{id:"temperature",name:"温度仪表盘",config:{min:-20,max:50,splitNumber:5,radius:"100%",axisLine:{lineStyle:{width:10,color:[[.2,"#2563eb"],[.5,"#22c55e"],[.8,"#f59e0b"],[1,"#ef4444"]]}},axisTick:{distance:2,length:5,lineStyle:{color:"#fff",width:1}},splitLine:{distance:2,length:10,lineStyle:{color:"#fff",width:2}},axisLabel:{distance:10,fontSize:12,color:"#999"},title:{offsetCenter:[0,"90%"],fontSize:14,color:"#999"},detail:{fontSize:30,offsetCenter:[0,"45%"],color:"#fff",formatter:"{value}°C"}}},{id:"humidity",name:"湿度仪表盘",config:{min:0,max:100,splitNumber:5,radius:"100%",axisLine:{lineStyle:{width:10,color:[[.3,"#fbbf24"],[.7,"#3b82f6"],[1,"#1e40af"]]}},axisTick:{distance:2,length:5,lineStyle:{color:"#fff",width:1}},splitLine:{distance:2,length:10,lineStyle:{color:"#fff",width:2}},axisLabel:{distance:20,fontSize:12,color:"#999"},title:{offsetCenter:[0,"90%"],fontSize:14,color:"#999"},detail:{fontSize:30,offsetCenter:[0,"45%"],color:"#fff",formatter:"{value}%"}}},{id:"speed",name:"速度仪表盘",config:{min:0,max:200,splitNumber:10,startAngle:225,endAngle:-45,radius:"100%",axisLine:{lineStyle:{width:10,color:[[.4,"#10b981"],[.7,"#f59e0b"],[1,"#ef4444"]]}},axisTick:{distance:2,length:5,lineStyle:{color:"#fff",width:1}},splitLine:{distance:2,length:10,lineStyle:{color:"#fff",width:2}},axisLabel:{distance:20,fontSize:12,color:"#999"},title:{offsetCenter:[0,"90%"],fontSize:14,color:"#999"},detail:{fontSize:30,offsetCenter:[0,"45%"],color:"#fff",formatter:"{value} km/h"}}},{id:"pressure",name:"压力仪表盘",config:{min:0,max:10,splitNumber:5,radius:"100%",axisLine:{lineStyle:{width:10,color:[[.5,"#22c55e"],[.8,"#f59e0b"],[1,"#dc2626"]]}},axisTick:{distance:2,length:5,lineStyle:{color:"#fff",width:1}},splitLine:{distance:2,length:10,lineStyle:{color:"#fff",width:2}},axisLabel:{distance:20,fontSize:12,color:"#999"},title:{offsetCenter:[0,"90%"],fontSize:14,color:"#999"},detail:{fontSize:30,offsetCenter:[0,"45%"],color:"#fff",formatter:"{value} MPa"}}},{id:"rpm",name:"转速仪表盘",config:{min:0,max:8e3,splitNumber:8,startAngle:225,endAngle:-45,radius:"100%",axisLine:{lineStyle:{width:10,color:[[.6,"#06b6d4"],[.85,"#eab308"],[1,"#dc2626"]]}},axisTick:{distance:2,length:5,lineStyle:{color:"#fff",width:1}},splitLine:{distance:2,length:10,lineStyle:{color:"#fff",width:2}},axisLabel:{distance:20,fontSize:12,color:"#999"},title:{offsetCenter:[0,"90%"],fontSize:14,color:"#999"},detail:{fontSize:30,offsetCenter:[0,"45%"],color:"#fff",formatter:"{value} RPM"}}},{id:"battery",name:"电池仪表盘",config:{min:0,max:100,splitNumber:5,radius:"100%",axisLine:{lineStyle:{width:10,color:[[.2,"#dc2626"],[.5,"#f59e0b"],[1,"#22c55e"]]}},axisTick:{distance:2,length:5,lineStyle:{color:"#fff",width:1}},splitLine:{distance:2,length:10,lineStyle:{color:"#fff",width:2}},axisLabel:{distance:10,fontSize:12,color:"#999"},title:{offsetCenter:[0,"80%"],fontSize:12,color:"#999"},detail:{fontSize:20,offsetCenter:[0,"45%"],color:"#fff",formatter:"{value}%"}}},{id:"power",name:"功率仪表盘",config:{min:0,max:100,splitNumber:5,radius:"100%",axisLine:{lineStyle:{width:10,color:[[.3,"#64748b"],[.7,"#3b82f6"],[1,"#8b5cf6"]]}},axisTick:{distance:2,length:5,lineStyle:{color:"#fff",width:1}},splitLine:{distance:2,length:10,lineStyle:{color:"#fff",width:2}},axisLabel:{distance:10,fontSize:12,color:"#999"},title:{offsetCenter:[0,"90%"],fontSize:12,color:"#999"},detail:{fontSize:20,offsetCenter:[0,"45%"],color:"#fff",formatter:"{value} kW"}}}];function Od(u){return sa.find(t=>t.id===u)}const la={metadata:{id:"echarts-gauge",name:"ECharts仪表盘",category:"iot",icon:"📈",description:"ECharts 仪表盘数据展示组件,支持丰富的配置选项",version:"1.0.0"},shape:"echarts-vue",component:Me(e.defineComponent({__name:"EChartsGauge",props:{node:{}},setup(u){const t=u,r=e.ref();let a=null;const n=()=>t.node?t.node.getData?t.node.getData():t.node.data||{}:{},o=()=>{r.value&&(a&&a.dispose(),a=Zi.init(r.value),i())},i=()=>{if(!a)return;const l=n(),s=l.presetId||"basic",c=Od(s),d={tooltip:{formatter:"{a} <br/>{b} : {c}%"},series:[{name:l.name||"Pressure",type:"gauge",data:[{value:l.value??50,name:l.title||"SCORE"}]}]};c&&c.config&&Object.assign(d.series[0],c.config),a.setOption(d,!0)};return e.watch(()=>{var l;return(l=t.node)==null?void 0:l.data},(l,s)=>{i()},{deep:!0}),e.watch(()=>{var l,s;return(s=(l=t.node)==null?void 0:l.data)==null?void 0:s.presetId},(l,s)=>{l!==s&&i()}),e.watch(()=>{var l;return(l=t.node)==null?void 0:l.size},()=>{if(a&&t.node){const l=t.node.getSize?t.node.getSize():t.node.size||{width:200,height:200};a.resize({width:l.width,height:l.height})}},{deep:!0}),e.onMounted(()=>{setTimeout(()=>{o(),t.node&&typeof t.node.on=="function"&&t.node.on("change:data",({current:l})=>{i()})},100)}),e.onUnmounted(()=>{a&&(a.dispose(),a=null)}),(l,s)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"chartRef",ref:r,class:"echarts-gauge-component",style:{width:"100%",height:"100%"}},null,512))}}),[["__scopeId","data-v-08427ff6"]]),width:200,height:200,label:"",attrs:{body:{fill:"transparent",stroke:"transparent"}},data:{type:"echarts-gauge",presetId:"basic",value:50,title:"SCORE",name:"Pressure"},ports:{groups:{top:{position:"top",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},right:{position:"right",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},bottom:{position:"bottom",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},left:{position:"left",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}}},items:[{id:"port-top",group:"top"},{id:"port-right",group:"right"},{id:"port-bottom",group:"bottom"},{id:"port-left",group:"left"}]},props:[{key:"presetId",label:"仪表盘类型",type:"select",path:"data.presetId",defaultValue:"basic",options:sa.map(u=>({label:u.name,value:u.id})),description:"选择预设的仪表盘类型,会自动应用对应的配置"},{key:"value",label:"当前值",type:"number",path:"data.value",defaultValue:50,description:"仪表盘当前显示值",bindable:!0},{key:"title",label:"标题",type:"text",path:"data.title",defaultValue:"SCORE",description:"仪表盘标题"},{key:"name",label:"系列名称",type:"text",path:"data.name",defaultValue:"Pressure",description:"显示在 tooltip 中的系列名称"}],points:[{id:"value",name:"当前值",description:"仪表盘当前显示的数值",dataType:"number",defaultValue:50,required:!0,range:{min:0,max:100}},{id:"min",name:"最小值",description:"仪表盘刻度最小值",dataType:"number",defaultValue:0,required:!1},{id:"max",name:"最大值",description:"仪表盘刻度最大值",dataType:"number",defaultValue:100,required:!1},{id:"title",name:"标题",description:"仪表盘显示标题",dataType:"string",defaultValue:"SCORE",required:!1}]},ca=[{id:"basic",name:"基础折线图",config:{smooth:!1,lineStyle:{width:2,color:"#5470c6"},areaStyle:null,symbol:"circle",symbolSize:6,radius:"100%"}},{id:"smooth",name:"平滑曲线",config:{smooth:!0,lineStyle:{width:2,color:"#91cc75"},areaStyle:null,symbol:"circle",symbolSize:6}},{id:"area",name:"区域折线图",config:{smooth:!1,lineStyle:{width:2,color:"#5470c6"},areaStyle:{color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:"rgba(84, 112, 198, 0.3)"},{offset:1,color:"rgba(84, 112, 198, 0.05)"}]}},symbol:"circle",symbolSize:6}},{id:"smooth-area",name:"平滑区域图",config:{smooth:!0,lineStyle:{width:2,color:"#91cc75"},areaStyle:{color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:"rgba(145, 204, 117, 0.3)"},{offset:1,color:"rgba(145, 204, 117, 0.05)"}]}},symbol:"circle",symbolSize:6}},{id:"dashed",name:"虚线折线图",config:{smooth:!1,lineStyle:{width:2,color:"#fac858",type:"dashed"},areaStyle:null,symbol:"circle",symbolSize:6}},{id:"step",name:"阶梯折线图",config:{smooth:!1,step:"middle",lineStyle:{width:2,color:"#ee6666"},areaStyle:null,symbol:"circle",symbolSize:6}}];function Md(u){return ca.find(t=>t.id===u)}const da={metadata:{id:"echarts-line",name:"ECharts折线图",category:"iot",icon:"📉",description:"ECharts 折线图数据展示组件,支持时序数据可视化",version:"1.0.0"},shape:"echarts-line-vue",component:e.defineComponent({__name:"EChartsLine",props:{node:{}},setup(u){const t=u,r=e.ref();let a=null;const n=()=>t.node?t.node.getData?t.node.getData():t.node.data||{}:{},o=()=>{r.value&&(a=Zi.init(r.value),i())},i=()=>{if(!a)return;const l=n(),s=l.presetId||"basic",c=Md(s),d={title:{text:l.title||"数据趋势",left:"center",top:10,textStyle:{color:"#fff",fontSize:14}},tooltip:{trigger:"axis",backgroundColor:"rgba(0, 0, 0, 0.7)",borderColor:"#333",textStyle:{color:"#fff"}},grid:{left:"10%",right:"10%",top:"20%",bottom:"15%",containLabel:!0},xAxis:{type:"category",boundaryGap:!1,data:l.xAxisData||["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],axisLine:{lineStyle:{color:"#999"}},axisLabel:{color:"#999"}},yAxis:{type:"value",axisLine:{lineStyle:{color:"#999"}},axisLabel:{color:"#999"},splitLine:{lineStyle:{color:"rgba(255, 255, 255, 0.1)"}}},series:[{name:l.seriesName||"Data",type:"line",data:l.seriesData||[120,200,150,80,70,110,130]}]};c&&c.config&&Object.assign(d.series[0],c.config),a.setOption(d,!0)};return e.onMounted(()=>{setTimeout(()=>{o(),t.node&&typeof t.node.on=="function"&&t.node.on("change:data",({current:l})=>{i()})},100)}),e.onUnmounted(()=>{a&&(a.dispose(),a=null)}),(l,s)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"chartContainer",ref:r,style:{width:"100%",height:"100%"}},null,512))}}),width:400,height:300,label:"",attrs:{body:{fill:"transparent",stroke:"transparent"}},data:{type:"echarts-line",presetId:"basic",title:"数据趋势",xAxisData:["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],seriesData:[120,200,150,80,70,110,130],seriesName:"Data"},ports:{groups:{top:{position:"top",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},right:{position:"right",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},bottom:{position:"bottom",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},left:{position:"left",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}}},items:[{id:"port-top",group:"top"},{id:"port-right",group:"right"},{id:"port-bottom",group:"bottom"},{id:"port-left",group:"left"}]},props:[{key:"presetId",label:"折线图类型",type:"select",path:"data.presetId",defaultValue:"basic",options:ca.map(u=>({label:u.name,value:u.id})),description:"选择预设的折线图类型"},{key:"title",label:"图表标题",type:"text",path:"data.title",defaultValue:"数据趋势",description:"折线图标题"},{key:"seriesName",label:"系列名称",type:"text",path:"data.seriesName",defaultValue:"Data",description:"显示在 tooltip 和 legend 中的系列名称"}],points:[{id:"series_data",name:"系列数据",description:"折线图Y轴数据数组",dataType:"json",defaultValue:[120,200,150,80,70,110,130],required:!0},{id:"x_axis_data",name:"X轴数据",description:"折线图X轴标签数组",dataType:"json",defaultValue:["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],required:!1},{id:"title",name:"图表标题",description:"折线图显示标题",dataType:"string",defaultValue:"数据趋势",required:!1}]},Rd={class:"motor-3d-container"},jd={viewBox:"0 0 120 100",xmlns:"http://www.w3.org/2000/svg"},Ld=["id"],Ud=["id"],Fd=["id"],zd=["fill"],Wd=["fill"],qd=["fill"],Gd=["transform"],Hd=["fill","filter"],Kd=["opacity"],Yd={x:"60",y:"61","font-size":"4",fill:"#cbd5e1","text-anchor":"middle","font-family":"monospace"},Qd=Me(e.defineComponent({__name:"Motor3D",props:{node:{}},setup(u){const t=u,r=e.ref(`motor-${Math.random().toString(36).substr(2,9)}`),a=()=>t.node?t.node.getData?t.node.getData():t.node.data||{}:{},n=e.ref(!1),o=e.ref(1500),i=e.ref(7.5),l=e.ref(0);let s=null;const c=()=>{if(n.value){const h=o.value/300;l.value=(l.value+h)%360}s=requestAnimationFrame(c)},d=()=>{const h=a();n.value=h.state==="running"||h.state===!0,o.value=h.speed||1500,i.value=h.power||7.5};return e.watch(()=>t.node,()=>{d()},{deep:!0}),e.onMounted(()=>{d(),n.value&&c(),t.node&&typeof t.node.on=="function"&&t.node.on("change:data",()=>{const h=n.value;d(),n.value&&!h?c():!n.value&&h&&s&&(cancelAnimationFrame(s),s=null)})}),e.onUnmounted(()=>{s&&cancelAnimationFrame(s)}),(h,m)=>(e.openBlock(),e.createElementBlock("div",Rd,[(e.openBlock(),e.createElementBlock("svg",jd,[e.createElementVNode("defs",null,[e.createElementVNode("linearGradient",{id:`motor-body-${r.value}`,x1:"0%",y1:"0%",x2:"0%",y2:"100%"},[...m[0]||(m[0]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#94a3b8"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#64748b"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#475569"},null,-1)])],8,Ld),e.createElementVNode("linearGradient",{id:`shaft-gradient-${r.value}`,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},[...m[1]||(m[1]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#94a3b8"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#cbd5e1"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#64748b"},null,-1)])],8,Ud),e.createElementVNode("filter",{id:`indicator-glow-${r.value}`},[...m[2]||(m[2]=[e.createElementVNode("feGaussianBlur",{stdDeviation:"2",result:"coloredBlur"},null,-1),e.createElementVNode("feMerge",null,[e.createElementVNode("feMergeNode",{in:"coloredBlur"}),e.createElementVNode("feMergeNode",{in:"SourceGraphic"})],-1)])],8,Fd)]),e.createElementVNode("rect",{x:"20",y:"70",width:"80",height:"25",rx:"3",fill:`url(#motor-body-${r.value})`},null,8,zd),m[4]||(m[4]=e.createStaticVNode('<rect x="20" y="70" width="80" height="3" fill="#1e293b" opacity="0.3" data-v-14ee96e9></rect><circle cx="30" cy="82" r="3" fill="#334155" data-v-14ee96e9></circle><circle cx="30" cy="82" r="1.5" fill="#64748b" data-v-14ee96e9></circle><circle cx="90" cy="82" r="3" fill="#334155" data-v-14ee96e9></circle><circle cx="90" cy="82" r="1.5" fill="#64748b" data-v-14ee96e9></circle>',5)),e.createElementVNode("ellipse",{cx:"60",cy:"45",rx:"35",ry:"25",fill:`url(#motor-body-${r.value})`,stroke:"#334155","stroke-width":"1"},null,8,Wd),m[5]||(m[5]=e.createStaticVNode('<g opacity="0.3" data-v-14ee96e9><line x1="30" y1="30" x2="30" y2="60" stroke="#1e293b" stroke-width="1" data-v-14ee96e9></line><line x1="40" y1="25" x2="40" y2="65" stroke="#1e293b" stroke-width="1" data-v-14ee96e9></line><line x1="50" y1="22" x2="50" y2="68" stroke="#1e293b" stroke-width="1" data-v-14ee96e9></line><line x1="60" y1="20" x2="60" y2="70" stroke="#1e293b" stroke-width="1" data-v-14ee96e9></line><line x1="70" y1="22" x2="70" y2="68" stroke="#1e293b" stroke-width="1" data-v-14ee96e9></line><line x1="80" y1="25" x2="80" y2="65" stroke="#1e293b" stroke-width="1" data-v-14ee96e9></line><line x1="90" y1="30" x2="90" y2="60" stroke="#1e293b" stroke-width="1" data-v-14ee96e9></line></g><rect x="25" y="40" width="2" height="10" fill="#475569" opacity="0.6" data-v-14ee96e9></rect><rect x="30" y="38" width="2" height="14" fill="#475569" opacity="0.6" data-v-14ee96e9></rect><rect x="35" y="36" width="2" height="18" fill="#475569" opacity="0.6" data-v-14ee96e9></rect>',4)),e.createElementVNode("rect",{x:"95",y:"42",width:"20",height:"6",rx:"1",fill:`url(#shaft-gradient-${r.value})`,stroke:"#475569","stroke-width":"0.5"},null,8,qd),e.createElementVNode("g",{transform:`rotate(${l.value} 105 45)`},[...m[3]||(m[3]=[e.createStaticVNode('<g opacity="0.8" data-v-14ee96e9><rect x="103" y="40" width="4" height="10" rx="1" fill="#94a3b8" data-v-14ee96e9></rect><rect x="100" y="43" width="10" height="4" rx="1" fill="#94a3b8" data-v-14ee96e9></rect><line x1="102" y1="42" x2="108" y2="48" stroke="#94a3b8" stroke-width="3" stroke-linecap="round" data-v-14ee96e9></line><line x1="108" y1="42" x2="102" y2="48" stroke="#94a3b8" stroke-width="3" stroke-linecap="round" data-v-14ee96e9></line></g>',1)])],8,Gd),m[6]||(m[6]=e.createStaticVNode('<circle cx="105" cy="45" r="3" fill="#334155" stroke="#64748b" stroke-width="1" data-v-14ee96e9></circle><rect x="45" y="15" width="15" height="10" rx="1" fill="#334155" stroke="#475569" stroke-width="0.5" data-v-14ee96e9></rect><circle cx="48" cy="20" r="1" fill="#dc2626" data-v-14ee96e9></circle><circle cx="52" cy="20" r="1" fill="#22c55e" data-v-14ee96e9></circle><circle cx="56" cy="20" r="1" fill="#3b82f6" data-v-14ee96e9></circle>',5)),e.createElementVNode("circle",{cx:"15",cy:"45",r:"4",fill:n.value?"#22c55e":"#ef4444",filter:n.value?`url(#indicator-glow-${r.value})`:"none"},null,8,Hd),e.createElementVNode("circle",{cx:"15",cy:"45",r:"2",fill:"#ffffff",opacity:n.value?.6:.2},null,8,Kd),m[7]||(m[7]=e.createElementVNode("rect",{x:"40",y:"55",width:"40",height:"8",rx:"1",fill:"#1e293b",opacity:"0.7"},null,-1)),e.createElementVNode("text",Yd,e.toDisplayString(i.value)+"kW "+e.toDisplayString(o.value)+"rpm ",1)])),e.createElementVNode("div",{class:e.normalizeClass(["status-text",{"is-running":n.value}])},e.toDisplayString(n.value?"运行中":"已停止"),3)]))}}),[["__scopeId","data-v-14ee96e9"]]),Jd={class:"valve-3d-container"},Xd={viewBox:"0 0 100 120",xmlns:"http://www.w3.org/2000/svg"},Zd=["id"],eu=["id"],tu=["fill"],ru=["fill"],ou=["fill"],nu=["fill"],iu={transform:"translate(50, 60)"},au=["fill","transform"],su=["transform"],lu=["fill"],cu=["fill"],du={x:"12.5",y:"62","font-size":"6",fill:"#ffffff","text-anchor":"middle","font-weight":"bold"},uu={x:"85",y:"62","font-size":"8",fill:"#cbd5e1","text-anchor":"middle","font-family":"monospace"},fu=Me(e.defineComponent({__name:"Valve3D",props:{node:{}},setup(u){const t=u,r=e.ref(`valve-${Math.random().toString(36).substr(2,9)}`),a=()=>t.node?t.node.getData?t.node.getData():t.node.data||{}:{},n=e.ref(!1),o=e.ref(0),i=e.computed(()=>o.value/100*720),l=()=>{const s=a();n.value=s.state==="open"||s.state===!0,o.value=s.openness!==void 0?s.openness:n.value?100:0};return e.watch(()=>t.node,()=>{l()},{deep:!0}),e.onMounted(()=>{l(),t.node&&typeof t.node.on=="function"&&t.node.on("change:data",()=>{l()})}),(s,c)=>(e.openBlock(),e.createElementBlock("div",Jd,[(e.openBlock(),e.createElementBlock("svg",Xd,[e.createElementVNode("defs",null,[e.createElementVNode("linearGradient",{id:`valve-body-${r.value}`,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},[...c[0]||(c[0]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#64748b"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#94a3b8"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#64748b"},null,-1)])],8,Zd),e.createElementVNode("linearGradient",{id:`handle-gradient-${r.value}`,x1:"0%",y1:"0%",x2:"0%",y2:"100%"},[...c[1]||(c[1]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#ef4444"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#dc2626"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#b91c1c"},null,-1)])],8,eu)]),e.createElementVNode("rect",{x:"40",y:"85",width:"20",height:"30",fill:`url(#valve-body-${r.value})`,stroke:"#475569","stroke-width":"1"},null,8,tu),c[3]||(c[3]=e.createElementVNode("ellipse",{cx:"50",cy:"85",rx:"10",ry:"5",fill:"#94a3b8",stroke:"#475569","stroke-width":"1"},null,-1)),c[4]||(c[4]=e.createElementVNode("ellipse",{cx:"50",cy:"115",rx:"10",ry:"5",fill:"#64748b",stroke:"#475569","stroke-width":"1"},null,-1)),e.createElementVNode("ellipse",{cx:"50",cy:"60",rx:"25",ry:"15",fill:`url(#valve-body-${r.value})`,stroke:"#475569","stroke-width":"1"},null,8,ru),e.createElementVNode("rect",{x:"25",y:"50",width:"50",height:"20",fill:`url(#valve-body-${r.value})`,stroke:"#475569","stroke-width":"1"},null,8,ou),c[5]||(c[5]=e.createStaticVNode('<ellipse cx="50" cy="50" rx="25" ry="15" fill="#94a3b8" stroke="#475569" stroke-width="1" data-v-9c6b9014></ellipse><g data-v-9c6b9014><circle cx="30" cy="55" r="2" fill="#334155" data-v-9c6b9014></circle><circle cx="30" cy="65" r="2" fill="#334155" data-v-9c6b9014></circle><circle cx="70" cy="55" r="2" fill="#334155" data-v-9c6b9014></circle><circle cx="70" cy="65" r="2" fill="#334155" data-v-9c6b9014></circle></g>',2)),e.createElementVNode("rect",{x:"40",y:"10",width:"20",height:"30",fill:`url(#valve-body-${r.value})`,stroke:"#475569","stroke-width":"1"},null,8,nu),c[6]||(c[6]=e.createElementVNode("ellipse",{cx:"50",cy:"10",rx:"10",ry:"5",fill:"#94a3b8",stroke:"#475569","stroke-width":"1"},null,-1)),c[7]||(c[7]=e.createElementVNode("ellipse",{cx:"50",cy:"40",rx:"10",ry:"5",fill:"#64748b",stroke:"#475569","stroke-width":"1"},null,-1)),e.createElementVNode("g",iu,[e.createElementVNode("rect",{x:"-3",y:"-20",width:"6",height:"40",rx:"3",fill:n.value?"#22c55e":"#ef4444",transform:`rotate(${n.value?0:90})`,style:{transition:"transform 0.5s ease"}},null,8,au)]),c[8]||(c[8]=e.createElementVNode("rect",{x:"47",y:"40",width:"6",height:"40",rx:"1",fill:"#475569",stroke:"#334155","stroke-width":"0.5"},null,-1)),e.createElementVNode("g",{transform:`rotate(${i.value} 50 25)`,style:{transformOrigin:"50px 25px"}},[e.createElementVNode("circle",{cx:"50",cy:"25",r:"15",fill:`url(#handle-gradient-${r.value})`,stroke:"#991b1b","stroke-width":"1"},null,8,lu),c[2]||(c[2]=e.createStaticVNode('<circle cx="50" cy="25" r="12" fill="none" stroke="#7f1d1d" stroke-width="2" data-v-9c6b9014></circle><circle cx="50" cy="25" r="5" fill="#7f1d1d" data-v-9c6b9014></circle><line x1="50" y1="25" x2="50" y2="12" stroke="#7f1d1d" stroke-width="2" data-v-9c6b9014></line><line x1="50" y1="25" x2="50" y2="38" stroke="#7f1d1d" stroke-width="2" data-v-9c6b9014></line><line x1="50" y1="25" x2="37" y2="25" stroke="#7f1d1d" stroke-width="2" data-v-9c6b9014></line><line x1="50" y1="25" x2="63" y2="25" stroke="#7f1d1d" stroke-width="2" data-v-9c6b9014></line><rect x="63" y="23" width="8" height="4" rx="2" fill="#991b1b" data-v-9c6b9014></rect>',7))],8,su),e.createElementVNode("g",null,[e.createElementVNode("rect",{x:"5",y:"55",width:"15",height:"10",rx:"2",fill:n.value?"#22c55e":"#ef4444",opacity:"0.9"},null,8,cu),e.createElementVNode("text",du,e.toDisplayString(n.value?"ON":"OFF"),1)]),e.createElementVNode("text",uu,e.toDisplayString(o.value)+"% ",1)])),e.createElementVNode("div",{class:e.normalizeClass(["status-text",{"is-open":n.value}])},e.toDisplayString(n.value?"开启":"关闭")+" - "+e.toDisplayString(o.value)+"% ",3)]))}}),[["__scopeId","data-v-9c6b9014"]]),pu={class:"tank-3d-container"},hu={viewBox:"0 0 100 140",xmlns:"http://www.w3.org/2000/svg"},mu=["id"],gu=["id"],yu=["stop-color"],bu=["stop-color"],wu=["id"],Eu=["fill"],vu=["y","height","fill","filter"],ku=["cy","fill"],_u=["fill"],Nu=["height"],Su={x:"65",y:"38","font-size":"5",fill:"#22c55e","text-anchor":"middle"},xu=["height"],Vu={x:"50",y:"127","font-size":"6",fill:"#22c55e","text-anchor":"middle","font-family":"monospace"},Cu={class:"status-text"},Iu=Me(e.defineComponent({__name:"Tank3D",props:{node:{}},setup(u){const t=u,r=e.ref(`tank-${Math.random().toString(36).substr(2,9)}`),a=()=>t.node?t.node.getData?t.node.getData():t.node.data||{}:{},n=e.ref(50),o=e.ref(100),i=e.ref(25),l=e.ref(101),s=e.ref("#3b82f6"),c=e.computed(()=>(n.value/100*o.value).toFixed(1)),d=e.computed(()=>90*n.value/100),h=e.computed(()=>110-d.value),m=()=>{const p=a();n.value=Math.max(0,Math.min(100,p.level||50)),o.value=p.capacity||100,i.value=p.temperature||25,l.value=p.pressure||101,s.value=p.liquidColor||"#3b82f6"};return e.watch(()=>t.node,()=>{m()},{deep:!0}),e.onMounted(()=>{m(),t.node&&typeof t.node.on=="function"&&t.node.on("change:data",()=>{m()})}),(p,f)=>(e.openBlock(),e.createElementBlock("div",pu,[(e.openBlock(),e.createElementBlock("svg",hu,[e.createElementVNode("defs",null,[e.createElementVNode("linearGradient",{id:`tank-body-${r.value}`,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},[...f[0]||(f[0]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#64748b"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#cbd5e1"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#64748b"},null,-1)])],8,mu),e.createElementVNode("linearGradient",{id:`liquid-${r.value}`,x1:"0%",y1:"0%",x2:"0%",y2:"100%"},[e.createElementVNode("stop",{offset:"0%","stop-color":s.value,"stop-opacity":"0.9"},null,8,yu),e.createElementVNode("stop",{offset:"100%","stop-color":s.value,"stop-opacity":"0.7"},null,8,bu)],8,gu),e.createElementVNode("filter",{id:`wave-${r.value}`},[...f[1]||(f[1]=[e.createElementVNode("feTurbulence",{type:"fractalNoise",baseFrequency:"0.02",numOctaves:"2",result:"turbulence"},null,-1),e.createElementVNode("feDisplacementMap",{in:"SourceGraphic",in2:"turbulence",scale:"2",xChannelSelector:"R",yChannelSelector:"G"},null,-1)])],8,wu)]),f[2]||(f[2]=e.createElementVNode("ellipse",{cx:"50",cy:"20",rx:"30",ry:"8",fill:"#94a3b8",stroke:"#475569","stroke-width":"1"},null,-1)),f[3]||(f[3]=e.createElementVNode("ellipse",{cx:"50",cy:"20",rx:"25",ry:"6",fill:"#cbd5e1"},null,-1)),e.createElementVNode("rect",{x:"20",y:"20",width:"60",height:"90",fill:`url(#tank-body-${r.value})`,stroke:"#475569","stroke-width":"1"},null,8,Eu),f[4]||(f[4]=e.createStaticVNode('<g opacity="0.6" data-v-13c65d9d><line x1="15" y1="30" x2="20" y2="30" stroke="#94a3b8" stroke-width="1" data-v-13c65d9d></line><text x="12" y="32" font-size="5" fill="#94a3b8" text-anchor="end" data-v-13c65d9d>100%</text><line x1="15" y1="52.5" x2="20" y2="52.5" stroke="#94a3b8" stroke-width="1" data-v-13c65d9d></line><text x="12" y="54.5" font-size="5" fill="#94a3b8" text-anchor="end" data-v-13c65d9d>75%</text><line x1="15" y1="75" x2="20" y2="75" stroke="#94a3b8" stroke-width="1" data-v-13c65d9d></line><text x="12" y="77" font-size="5" fill="#94a3b8" text-anchor="end" data-v-13c65d9d>50%</text><line x1="15" y1="97.5" x2="20" y2="97.5" stroke="#94a3b8" stroke-width="1" data-v-13c65d9d></line><text x="12" y="99.5" font-size="5" fill="#94a3b8" text-anchor="end" data-v-13c65d9d>25%</text><line x1="15" y1="110" x2="20" y2="110" stroke="#94a3b8" stroke-width="1" data-v-13c65d9d></line><text x="12" y="112" font-size="5" fill="#94a3b8" text-anchor="end" data-v-13c65d9d>0%</text></g>',1)),e.createElementVNode("rect",{x:"20",y:h.value,width:"60",height:d.value,fill:`url(#liquid-${r.value})`,filter:`url(#wave-${r.value})`,opacity:"0.85"},null,8,vu),n.value>0?(e.openBlock(),e.createElementBlock("ellipse",{key:0,cx:"50",cy:h.value,rx:"30",ry:"5",fill:s.value,opacity:"0.6"},null,8,ku)):e.createCommentVNode("",!0),e.createElementVNode("ellipse",{cx:"50",cy:"110",rx:"30",ry:"8",fill:`url(#tank-body-${r.value})`,stroke:"#475569","stroke-width":"1"},null,8,_u),f[5]||(f[5]=e.createStaticVNode('<g data-v-13c65d9d><rect x="23" y="110" width="4" height="15" fill="#475569" data-v-13c65d9d></rect><rect x="73" y="110" width="4" height="15" fill="#475569" data-v-13c65d9d></rect><rect x="20" y="123" width="10" height="3" rx="1" fill="#64748b" data-v-13c65d9d></rect><rect x="70" y="123" width="10" height="3" rx="1" fill="#64748b" data-v-13c65d9d></rect></g><rect x="45" y="12" width="10" height="8" rx="1" fill="#64748b" stroke="#475569" stroke-width="0.5" data-v-13c65d9d></rect><ellipse cx="50" cy="12" rx="5" ry="3" fill="#94a3b8" data-v-13c65d9d></ellipse><rect x="75" y="105" width="8" height="4" rx="1" fill="#64748b" stroke="#475569" stroke-width="0.5" data-v-13c65d9d></rect><rect x="82" y="30" width="6" height="80" rx="1" fill="#334155" opacity="0.7" data-v-13c65d9d></rect>',5)),e.createElementVNode("rect",{x:"84",y:"32",width:"2",height:76*(n.value/100),fill:"#22c55e"},null,8,Nu),f[6]||(f[6]=e.createElementVNode("circle",{cx:"65",cy:"35",r:"8",fill:"#1e293b",stroke:"#475569","stroke-width":"1"},null,-1)),e.createElementVNode("text",Su,e.toDisplayString(l.value),1),f[7]||(f[7]=e.createElementVNode("text",{x:"65",y:"42","font-size":"3",fill:"#94a3b8","text-anchor":"middle"},"kPa",-1)),f[8]||(f[8]=e.createElementVNode("rect",{x:"32",y:"35",width:"4",height:"15",rx:"2",fill:"#1e293b",stroke:"#475569","stroke-width":"0.5"},null,-1)),e.createElementVNode("rect",{x:"33",y:"37",width:"2",height:i.value/10,fill:"#ef4444"},null,8,xu),f[9]||(f[9]=e.createElementVNode("circle",{cx:"34",cy:"52",r:"2",fill:"#ef4444"},null,-1)),f[10]||(f[10]=e.createElementVNode("rect",{x:"25",y:"120",width:"50",height:"12",rx:"2",fill:"#1e293b",opacity:"0.9"},null,-1)),e.createElementVNode("text",Vu,e.toDisplayString(n.value)+"% | "+e.toDisplayString(c.value)+"m³ ",1)])),e.createElementVNode("div",Cu," 液位: "+e.toDisplayString(n.value)+"% | 容量: "+e.toDisplayString(c.value)+"m³ ",1)]))}}),[["__scopeId","data-v-13c65d9d"]]),Au={class:"pump-3d-container"},Tu={viewBox:"0 0 140 100",xmlns:"http://www.w3.org/2000/svg"},$u=["id"],Bu=["id"],Du=["id"],Pu={key:0,attributeName:"x1",values:"-100%;100%",dur:"1s",repeatCount:"indefinite"},Ou={key:1,attributeName:"x2",values:"0%;200%",dur:"1s",repeatCount:"indefinite"},Mu=["fill"],Ru=["fill"],ju=["fill"],Lu=["fill"],Uu=["transform"],Fu=["fill"],zu={transform:"translate(100, 25)"},Wu={x:"0",y:"2","font-size":"5",fill:"#22c55e","text-anchor":"middle"},qu={transform:"translate(115, 35)"},Gu={x:"0",y:"1","font-size":"4",fill:"#3b82f6","text-anchor":"middle"},Hu=["fill"],Ku=["opacity"],Yu={x:"60",y:"68","font-size":"4",fill:"#cbd5e1","text-anchor":"middle","font-family":"monospace"},Qu=Me(e.defineComponent({__name:"Pump3D",props:{node:{}},setup(u){const t=u,r=e.ref(`pump-${Math.random().toString(36).substr(2,9)}`),a=()=>t.node?t.node.getData?t.node.getData():t.node.data||{}:{},n=e.ref(!1),o=e.ref(2900),i=e.ref(5.5),l=e.ref(0),s=e.ref(0),c=e.ref(0);let d=null;const h=()=>{if(n.value){const p=o.value/360;c.value=(c.value+p)%360}d=requestAnimationFrame(h)},m=()=>{const p=a();n.value=p.state==="running"||p.state===!0,o.value=p.speed||2900,i.value=p.power||5.5,l.value=n.value?p.flowRate||15:0,s.value=n.value?(p.pressure||3.5).toFixed(1):0};return e.watch(()=>t.node,()=>{m()},{deep:!0}),e.onMounted(()=>{m(),n.value&&h(),t.node&&typeof t.node.on=="function"&&t.node.on("change:data",()=>{const p=n.value;m(),n.value&&!p?h():!n.value&&p&&d&&(cancelAnimationFrame(d),d=null)})}),e.onUnmounted(()=>{d&&cancelAnimationFrame(d)}),(p,f)=>(e.openBlock(),e.createElementBlock("div",Au,[(e.openBlock(),e.createElementBlock("svg",Tu,[e.createElementVNode("defs",null,[e.createElementVNode("radialGradient",{id:`pump-body-${r.value}`,cx:"50%",cy:"50%"},[...f[0]||(f[0]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#cbd5e1"},null,-1),e.createElementVNode("stop",{offset:"70%","stop-color":"#94a3b8"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#64748b"},null,-1)])],8,$u),e.createElementVNode("linearGradient",{id:`motor-gradient-${r.value}`,x1:"0%",y1:"0%",x2:"0%",y2:"100%"},[...f[1]||(f[1]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#94a3b8"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#64748b"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#475569"},null,-1)])],8,Bu),e.createElementVNode("linearGradient",{id:`flow-gradient-${r.value}`,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},[f[2]||(f[2]=e.createElementVNode("stop",{offset:"0%","stop-color":"#3b82f6","stop-opacity":"0.3"},null,-1)),f[3]||(f[3]=e.createElementVNode("stop",{offset:"50%","stop-color":"#60a5fa","stop-opacity":"0.6"},null,-1)),f[4]||(f[4]=e.createElementVNode("stop",{offset:"100%","stop-color":"#3b82f6","stop-opacity":"0.3"},null,-1)),n.value?(e.openBlock(),e.createElementBlock("animate",Pu)):e.createCommentVNode("",!0),n.value?(e.openBlock(),e.createElementBlock("animate",Ou)):e.createCommentVNode("",!0)],8,Du)]),e.createElementVNode("rect",{x:"30",y:"75",width:"60",height:"20",rx:"2",fill:`url(#motor-gradient-${r.value})`},null,8,Mu),f[15]||(f[15]=e.createElementVNode("rect",{x:"30",y:"75",width:"60",height:"2",fill:"#1e293b",opacity:"0.4"},null,-1)),f[16]||(f[16]=e.createElementVNode("circle",{cx:"35",cy:"85",r:"2",fill:"#334155"},null,-1)),f[17]||(f[17]=e.createElementVNode("circle",{cx:"85",cy:"85",r:"2",fill:"#334155"},null,-1)),e.createElementVNode("ellipse",{cx:"60",cy:"50",rx:"28",ry:"25",fill:`url(#pump-body-${r.value})`,stroke:"#475569","stroke-width":"1.5"},null,8,Ru),f[18]||(f[18]=e.createElementVNode("g",null,[e.createElementVNode("circle",{cx:"40",cy:"40",r:"3",fill:"#334155"}),e.createElementVNode("circle",{cx:"40",cy:"60",r:"3",fill:"#334155"}),e.createElementVNode("circle",{cx:"80",cy:"40",r:"3",fill:"#334155"}),e.createElementVNode("circle",{cx:"80",cy:"60",r:"3",fill:"#334155"})],-1)),e.createElementVNode("g",null,[f[5]||(f[5]=e.createElementVNode("rect",{x:"5",y:"45",width:"28",height:"10",rx:"2",fill:"#64748b",stroke:"#475569","stroke-width":"1"},null,-1)),f[6]||(f[6]=e.createElementVNode("ellipse",{cx:"5",cy:"50",rx:"5",ry:"5",fill:"#94a3b8",stroke:"#475569","stroke-width":"1"},null,-1)),n.value?(e.openBlock(),e.createElementBlock("rect",{key:0,x:"5",y:"46",width:"28",height:"8",fill:`url(#flow-gradient-${r.value})`,opacity:"0.7"},null,8,ju)):e.createCommentVNode("",!0)]),e.createElementVNode("g",null,[f[7]||(f[7]=e.createElementVNode("rect",{x:"87",y:"45",width:"48",height:"10",rx:"2",fill:"#64748b",stroke:"#475569","stroke-width":"1"},null,-1)),f[8]||(f[8]=e.createElementVNode("ellipse",{cx:"135",cy:"50",rx:"5",ry:"5",fill:"#94a3b8",stroke:"#475569","stroke-width":"1"},null,-1)),n.value?(e.openBlock(),e.createElementBlock("rect",{key:0,x:"87",y:"46",width:"48",height:"8",fill:`url(#flow-gradient-${r.value})`,opacity:"0.7"},null,8,Lu)):e.createCommentVNode("",!0)]),e.createElementVNode("g",{transform:`rotate(${c.value} 60 50)`},[...f[9]||(f[9]=[e.createStaticVNode('<circle cx="60" cy="50" r="15" fill="#475569" opacity="0.6" data-v-71be9db7></circle><path d="M 60 50 L 70 35 Q 75 40 70 50 Z" fill="#64748b" data-v-71be9db7></path><path d="M 60 50 L 75 50 Q 75 55 65 60 Z" fill="#64748b" data-v-71be9db7></path><path d="M 60 50 L 60 65 Q 55 65 50 60 Z" fill="#64748b" data-v-71be9db7></path><path d="M 60 50 L 45 50 Q 45 45 50 40 Z" fill="#64748b" data-v-71be9db7></path>',5)])],8,Uu),f[19]||(f[19]=e.createElementVNode("circle",{cx:"60",cy:"50",r:"5",fill:"#334155",stroke:"#64748b","stroke-width":"1"},null,-1)),e.createElementVNode("rect",{x:"50",y:"20",width:"20",height:"10",rx:"2",fill:`url(#motor-gradient-${r.value})`,stroke:"#475569","stroke-width":"1"},null,8,Fu),f[20]||(f[20]=e.createElementVNode("rect",{x:"58",y:"30",width:"4",height:"20",fill:"#475569"},null,-1)),e.createElementVNode("g",zu,[f[10]||(f[10]=e.createElementVNode("circle",{cx:"0",cy:"0",r:"10",fill:"#1e293b",stroke:"#475569","stroke-width":"1"},null,-1)),f[11]||(f[11]=e.createElementVNode("circle",{cx:"0",cy:"0",r:"8",fill:"none",stroke:"#64748b","stroke-width":"0.5"},null,-1)),e.createElementVNode("text",Wu,e.toDisplayString(s.value),1),f[12]||(f[12]=e.createElementVNode("text",{x:"0",y:"6","font-size":"2.5",fill:"#94a3b8","text-anchor":"middle"},"bar",-1))]),e.createElementVNode("g",qu,[f[13]||(f[13]=e.createElementVNode("rect",{x:"-8",y:"-6",width:"16",height:"12",rx:"1",fill:"#1e293b",stroke:"#475569","stroke-width":"0.5"},null,-1)),e.createElementVNode("text",Gu,e.toDisplayString(l.value),1),f[14]||(f[14]=e.createElementVNode("text",{x:"0",y:"4.5","font-size":"2",fill:"#94a3b8","text-anchor":"middle"},"m³/h",-1))]),e.createElementVNode("circle",{cx:"25",cy:"30",r:"4",fill:n.value?"#22c55e":"#ef4444"},null,8,Hu),e.createElementVNode("circle",{cx:"25",cy:"30",r:"2",fill:"#ffffff",opacity:n.value?.6:.2},null,8,Ku),f[21]||(f[21]=e.createElementVNode("rect",{x:"45",y:"62",width:"30",height:"8",rx:"1",fill:"#1e293b",opacity:"0.7"},null,-1)),e.createElementVNode("text",Yu,e.toDisplayString(i.value)+"kW "+e.toDisplayString(o.value)+"rpm ",1)])),e.createElementVNode("div",{class:e.normalizeClass(["status-text",{"is-running":n.value}])},e.toDisplayString(n.value?"运行中":"已停止")+" | "+e.toDisplayString(l.value)+"m³/h ",3)]))}}),[["__scopeId","data-v-71be9db7"]]),ua={metadata:{id:"motor-3d",name:"3D电机",category:"iot",icon:"⚡",description:"3D仿真电机组件,支持运行状态和转速显示",version:"1.0.0"},shape:"motor-3d-vue",component:Qd,width:140,height:110,label:"",attrs:{body:{fill:"transparent",stroke:"transparent"}},data:{type:"motor",state:!1,speed:1500,power:7.5,deviceId:"",property:""},ports:{groups:{left:{position:"left",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},right:{position:"right",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}}},items:[{id:"port-left",group:"left"},{id:"port-right",group:"right"}]},props:[{key:"state",label:"运行状态",type:"select",path:"data.state",defaultValue:!1,options:[{label:"停止",value:!1},{label:"运行",value:"running"}],bindable:!0},{key:"speed",label:"转速(rpm)",type:"number",path:"data.speed",defaultValue:1500,min:0,bindable:!0},{key:"power",label:"功率(kW)",type:"number",path:"data.power",defaultValue:7.5,min:0,bindable:!0},{key:"deviceId",label:"设备ID",type:"text",path:"data.deviceId",defaultValue:""},{key:"property",label:"设备属性",type:"text",path:"data.property",defaultValue:""}],points:[{id:"status",name:"运行状态",description:"电机当前运行状态",dataType:"boolean",defaultValue:!1,required:!0},{id:"speed",name:"转速",description:"电机当前转速",dataType:"number",unit:"rpm",defaultValue:0,required:!0,range:{min:0,max:5e3}},{id:"power",name:"功率",description:"电机当前功率",dataType:"number",unit:"kW",defaultValue:0,required:!1,range:{min:0}},{id:"current",name:"电流",description:"电机运行电流",dataType:"number",unit:"A",defaultValue:0,required:!1},{id:"temperature",name:"温度",description:"电机轴承温度",dataType:"number",unit:"℃",defaultValue:25,required:!1},{id:"alarm",name:"告警状态",description:"是否处于告警状态",dataType:"boolean",defaultValue:!1,required:!1}]},fa={metadata:{id:"valve-3d",name:"3D阀门",category:"iot",icon:"🚰",description:"3D仿真阀门组件,支持开关状态和开度显示",version:"1.0.0"},shape:"valve-3d-vue",component:fu,width:100,height:140,label:"",attrs:{body:{fill:"transparent",stroke:"transparent"}},data:{type:"valve",state:!1,openness:0,deviceId:"",property:""},ports:{groups:{top:{position:"top",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},bottom:{position:"bottom",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}}},items:[{id:"port-top",group:"top"},{id:"port-bottom",group:"bottom"}]},props:[{key:"state",label:"阀门状态",type:"select",path:"data.state",defaultValue:!1,options:[{label:"关闭",value:!1},{label:"开启",value:"open"}],bindable:!0},{key:"openness",label:"开度(%)",type:"number",path:"data.openness",defaultValue:0,min:0,max:100,bindable:!0},{key:"deviceId",label:"设备ID",type:"text",path:"data.deviceId",defaultValue:""},{key:"property",label:"设备属性",type:"text",path:"data.property",defaultValue:""}],points:[{id:"status",name:"阀门状态",description:"阀门当前开关状态",dataType:"boolean",defaultValue:!1,required:!0},{id:"openness",name:"开度",description:"阀门当前开度百分比",dataType:"number",unit:"%",defaultValue:0,required:!0,range:{min:0,max:100}},{id:"flow_rate",name:"流量",description:"通过阀门的流量",dataType:"number",unit:"m³/h",defaultValue:0,required:!1},{id:"pressure_diff",name:"压差",description:"阀门两端压差",dataType:"number",unit:"kPa",defaultValue:0,required:!1},{id:"alarm",name:"告警状态",description:"是否处于告警状态",dataType:"boolean",defaultValue:!1,required:!1}]},pa={metadata:{id:"tank-3d",name:"3D储罐",category:"iot",icon:"🛢️",description:"3D仿真储罐组件,支持液位、温度、压力显示",version:"1.0.0"},shape:"tank-3d-vue",component:Iu,width:120,height:160,label:"",attrs:{body:{fill:"transparent",stroke:"transparent"}},data:{type:"tank",level:50,capacity:100,temperature:25,pressure:101,liquidColor:"#3b82f6",deviceId:"",property:""},ports:{groups:{top:{position:"top",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},right:{position:"right",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},bottom:{position:"bottom",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}}},items:[{id:"port-top",group:"top"},{id:"port-right",group:"right"},{id:"port-bottom",group:"bottom"}]},props:[{key:"level",label:"液位(%)",type:"number",path:"data.level",defaultValue:50,min:0,max:100,bindable:!0},{key:"capacity",label:"容量(m³)",type:"number",path:"data.capacity",defaultValue:100,min:0,bindable:!0},{key:"temperature",label:"温度(°C)",type:"number",path:"data.temperature",defaultValue:25,bindable:!0},{key:"pressure",label:"压力(kPa)",type:"number",path:"data.pressure",defaultValue:101,min:0,bindable:!0},{key:"liquidColor",label:"液体颜色",type:"color",path:"data.liquidColor",defaultValue:"#3b82f6",bindable:!0},{key:"deviceId",label:"设备ID",type:"text",path:"data.deviceId",defaultValue:""},{key:"property",label:"设备属性",type:"text",path:"data.property",defaultValue:""}],points:[{id:"liquid_level",name:"液位高度",description:"储罐当前液位百分比",dataType:"number",unit:"%",defaultValue:50,required:!0,range:{min:0,max:100}},{id:"temperature",name:"温度",description:"储罐内液体温度",dataType:"number",unit:"℃",defaultValue:25,required:!1},{id:"pressure",name:"压力",description:"储罐内部压力",dataType:"number",unit:"kPa",defaultValue:101,required:!1,range:{min:0}},{id:"capacity",name:"实际容量",description:"当前实际存储量",dataType:"number",unit:"m³",defaultValue:50,required:!1},{id:"alarm",name:"告警状态",description:"是否处于告警状态",dataType:"boolean",defaultValue:!1,required:!1}]},ha={metadata:{id:"pump-3d",name:"3D水泵",category:"iot",icon:"🌊",description:"3D仿真水泵组件,支持运行状态、流量、压力显示",version:"1.0.0"},shape:"pump-3d-vue",component:Qu,width:160,height:120,label:"",attrs:{body:{fill:"transparent",stroke:"transparent"}},data:{type:"pump",state:!1,speed:2900,power:5.5,flowRate:15,pressure:3.5,deviceId:"",property:""},ports:{groups:{left:{position:"left",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},right:{position:"right",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}}},items:[{id:"port-left",group:"left"},{id:"port-right",group:"right"}]},props:[{key:"state",label:"运行状态",type:"select",path:"data.state",defaultValue:!1,options:[{label:"停止",value:!1},{label:"运行",value:"running"}],bindable:!0},{key:"speed",label:"转速(rpm)",type:"number",path:"data.speed",defaultValue:2900,min:0,bindable:!0},{key:"power",label:"功率(kW)",type:"number",path:"data.power",defaultValue:5.5,min:0,bindable:!0},{key:"flowRate",label:"流量(m³/h)",type:"number",path:"data.flowRate",defaultValue:15,min:0,bindable:!0},{key:"pressure",label:"压力(bar)",type:"number",path:"data.pressure",defaultValue:3.5,min:0,bindable:!0},{key:"deviceId",label:"设备ID",type:"text",path:"data.deviceId",defaultValue:""},{key:"property",label:"设备属性",type:"text",path:"data.property",defaultValue:""}],points:[{id:"status",name:"运行状态",description:"泵当前运行状态",dataType:"boolean",defaultValue:!1,required:!0},{id:"speed",name:"转速",description:"泵轴转速",dataType:"number",unit:"rpm",defaultValue:0,required:!0,range:{min:0,max:5e3}},{id:"flow_rate",name:"流量",description:"当前流量",dataType:"number",unit:"m³/h",defaultValue:0,required:!0,range:{min:0,max:200}},{id:"pressure",name:"出口压力",description:"泵出口压力",dataType:"number",unit:"bar",defaultValue:0,required:!0,range:{min:0,max:20}},{id:"power",name:"功率",description:"当前功率",dataType:"number",unit:"kW",defaultValue:0,required:!1},{id:"temperature",name:"温度",description:"泵体温度",dataType:"number",unit:"℃",defaultValue:25,required:!1},{id:"vibration",name:"振动",description:"振动值",dataType:"number",unit:"mm/s",defaultValue:0,required:!1},{id:"alarm",name:"告警状态",description:"是否处于告警状态",dataType:"boolean",defaultValue:!1,required:!1}]},Ju={class:"conveyor-3d-container"},Xu={viewBox:"0 0 200 80",xmlns:"http://www.w3.org/2000/svg"},Zu=["id"],ef=["id"],tf=["id"],rf=["fill","transform"],of=["transform"],nf=["fill","transform"],af=["transform"],sf=["fill"],lf=["x1","x2"],cf=["x","fill"],df=["fill","opacity"],uf={key:0,attributeName:"opacity",values:"1;0.4;1",dur:"1s",repeatCount:"indefinite"},ff={x:"100",y:"20","font-size":"10",fill:"#94a3b8","text-anchor":"middle","font-family":"monospace"},pf=Me(e.defineComponent({__name:"Conveyor3D",props:{node:{}},setup(u){const t=u,r=e.ref(`conveyor-${Math.random().toString(36).substr(2,9)}`),a=()=>t.node?t.node.getData?t.node.getData():t.node.data||{}:{},n=e.ref(!1),o=e.ref(10),i=e.ref("forward"),l=e.ref(0),s=e.ref(0),c=e.ref(30);let d=null;const h=()=>{if(n.value){const p=o.value/10,f=o.value/5;i.value==="forward"?(l.value=(l.value+p)%360,s.value=(s.value+f)%15,c.value=c.value+f,c.value>180&&(c.value=20)):(l.value=(l.value-p+360)%360,s.value=(s.value-f+15)%15,c.value=c.value-f,c.value<20&&(c.value=180))}d=requestAnimationFrame(h)},m=()=>{const p=a();n.value=p.state==="running"||p.state===!0,o.value=p.speed||10,i.value=p.direction||"forward"};return e.watch(()=>t.node,()=>{m()},{deep:!0}),e.onMounted(()=>{m(),h(),t.node&&typeof t.node.on=="function"&&t.node.on("change:data",()=>{m()})}),e.onUnmounted(()=>{d&&cancelAnimationFrame(d)}),(p,f)=>(e.openBlock(),e.createElementBlock("div",Ju,[(e.openBlock(),e.createElementBlock("svg",Xu,[e.createElementVNode("defs",null,[e.createElementVNode("linearGradient",{id:`belt-gradient-${r.value}`,x1:"0%",y1:"0%",x2:"0%",y2:"100%"},[...f[0]||(f[0]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#1e293b"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#334155"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#1e293b"},null,-1)])],8,Zu),e.createElementVNode("radialGradient",{id:`roller-gradient-${r.value}`},[...f[1]||(f[1]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#64748b"},null,-1),e.createElementVNode("stop",{offset:"70%","stop-color":"#475569"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#334155"},null,-1)])],8,ef),e.createElementVNode("linearGradient",{id:`cargo-gradient-${r.value}`,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},[...f[2]||(f[2]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#3b82f6"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#60a5fa"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#3b82f6"},null,-1)])],8,tf)]),f[3]||(f[3]=e.createElementVNode("rect",{x:"10",y:"45",width:"180",height:"25",rx:"3",fill:"#0f172a",stroke:"#475569","stroke-width":"1"},null,-1)),e.createElementVNode("circle",{cx:"25",cy:"50",r:"12",fill:`url(#roller-gradient-${r.value})`,stroke:"#1e293b","stroke-width":"2",transform:`rotate(${l.value}, 25, 50)`},null,8,rf),(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(8,w=>e.createElementVNode("g",{key:`left-${w}`},[e.createElementVNode("line",{x1:25,y1:38,x2:25,y2:42,stroke:"#1e293b","stroke-width":"1.5",transform:`rotate(${l.value+w*45}, 25, 50)`},null,8,of)])),64)),e.createElementVNode("circle",{cx:"175",cy:"50",r:"12",fill:`url(#roller-gradient-${r.value})`,stroke:"#1e293b","stroke-width":"2",transform:`rotate(${l.value}, 175, 50)`},null,8,nf),(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(8,w=>e.createElementVNode("g",{key:`right-${w}`},[e.createElementVNode("line",{x1:175,y1:38,x2:175,y2:42,stroke:"#1e293b","stroke-width":"1.5",transform:`rotate(${l.value+w*45}, 175, 50)`},null,8,af)])),64)),e.createElementVNode("rect",{x:"25",y:"38",width:"150",height:"24",fill:`url(#belt-gradient-${r.value})`},null,8,sf),(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(10,w=>e.createElementVNode("g",{key:`line-${w}`},[e.createElementVNode("line",{x1:25+w*15+s.value,y1:38,x2:25+w*15+s.value,y2:62,stroke:"#475569","stroke-width":"1.5",opacity:"0.5"},null,8,lf)])),64)),n.value?(e.openBlock(),e.createElementBlock("rect",{key:0,x:c.value,y:"30",width:"30",height:"20",rx:"2",fill:`url(#cargo-gradient-${r.value})`,stroke:"#2563eb","stroke-width":"1",opacity:"0.9"},null,8,cf)):e.createCommentVNode("",!0),f[4]||(f[4]=e.createStaticVNode('<g data-v-eb26bad8><rect x="20" y="68" width="4" height="8" fill="#475569" data-v-eb26bad8></rect><rect x="96" y="68" width="4" height="8" fill="#475569" data-v-eb26bad8></rect><rect x="172" y="68" width="4" height="8" fill="#475569" data-v-eb26bad8></rect><rect x="18" y="74" width="8" height="2" rx="1" fill="#64748b" data-v-eb26bad8></rect><rect x="94" y="74" width="8" height="2" rx="1" fill="#64748b" data-v-eb26bad8></rect><rect x="170" y="74" width="8" height="2" rx="1" fill="#64748b" data-v-eb26bad8></rect></g><rect x="180" y="52" width="15" height="18" rx="2" fill="#334155" stroke="#475569" stroke-width="1" data-v-eb26bad8></rect><circle cx="187.5" cy="61" r="3" fill="#64748b" data-v-eb26bad8></circle>',3)),e.createElementVNode("circle",{cx:"15",cy:"55",r:"3",fill:n.value?"#22c55e":"#ef4444",opacity:n.value?1:.5},[n.value?(e.openBlock(),e.createElementBlock("animate",uf)):e.createCommentVNode("",!0)],8,df),e.createElementVNode("text",ff,e.toDisplayString(o.value)+" m/min ",1)])),e.createElementVNode("div",{class:e.normalizeClass(["status-text",{"is-running":n.value}])},e.toDisplayString(n.value?"运行中":"停止")+" | "+e.toDisplayString(o.value)+" m/min ",3)]))}}),[["__scopeId","data-v-eb26bad8"]]),hf={class:"alarm-light-3d-container"},mf={viewBox:"0 0 80 100",xmlns:"http://www.w3.org/2000/svg"},gf=["id"],yf=["stop-color"],bf=["stop-color"],wf=["stop-color"],Ef=["id"],vf=["stop-color"],kf=["stop-color"],_f=["stop-color"],Nf=["id"],Sf=["fill","opacity"],xf=["transform"],Vf=["fill","opacity"],Cf=["fill"],If=["fill"],Af=["fill"],Tf=["fill"],$f={x:"40",y:"85","font-size":"4",fill:"#64748b","text-anchor":"middle","font-family":"Arial"},Bf=Me(e.defineComponent({__name:"AlarmLight3D",props:{node:{}},setup(u){const t=u,r=e.ref(`alarm-${Math.random().toString(36).substr(2,9)}`),a=()=>t.node?t.node.getData?t.node.getData():t.node.data||{}:{},n=e.ref(!1),o=e.ref("rotating"),i=e.ref("#ef4444"),l=e.ref(0),s=e.ref(.8);let c=null;const d=e.computed(()=>n.value?i.value:"#475569"),h=e.computed(()=>n.value?o.value==="rotating"?"旋转报警":o.value==="flashing"?"闪烁报警":"持续报警":"正常"),m=()=>{n.value?o.value==="rotating"?(l.value=(l.value+5)%360,s.value=.8):o.value==="flashing"?s.value=Math.abs(Math.sin(Date.now()/300)):s.value=.8:s.value=0,c=requestAnimationFrame(m)},p=()=>{const f=a();n.value=f.state==="active"||f.state===!0,o.value=f.mode||"rotating",i.value=f.color||"#ef4444"};return e.watch(()=>t.node,()=>{p()},{deep:!0}),e.onMounted(()=>{p(),m(),t.node&&typeof t.node.on=="function"&&t.node.on("change:data",()=>{p()})}),e.onUnmounted(()=>{c&&cancelAnimationFrame(c)}),(f,w)=>(e.openBlock(),e.createElementBlock("div",hf,[(e.openBlock(),e.createElementBlock("svg",mf,[e.createElementVNode("defs",null,[e.createElementVNode("linearGradient",{id:`dome-gradient-${r.value}`,x1:"0%",y1:"0%",x2:"0%",y2:"100%"},[e.createElementVNode("stop",{offset:"0%","stop-color":d.value,"stop-opacity":"0.9"},null,8,yf),e.createElementVNode("stop",{offset:"50%","stop-color":d.value,"stop-opacity":"0.7"},null,8,bf),e.createElementVNode("stop",{offset:"100%","stop-color":d.value,"stop-opacity":"0.5"},null,8,wf)],8,gf),e.createElementVNode("radialGradient",{id:`glow-${r.value}`},[e.createElementVNode("stop",{offset:"0%","stop-color":d.value,"stop-opacity":"0.8"},null,8,vf),e.createElementVNode("stop",{offset:"50%","stop-color":d.value,"stop-opacity":"0.3"},null,8,kf),e.createElementVNode("stop",{offset:"100%","stop-color":d.value,"stop-opacity":"0"},null,8,_f)],8,Ef),e.createElementVNode("linearGradient",{id:`base-gradient-${r.value}`,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},[...w[0]||(w[0]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#1e293b"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#334155"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#1e293b"},null,-1)])],8,Nf)]),n.value?(e.openBlock(),e.createElementBlock("circle",{key:0,cx:"40",cy:"35",r:"35",fill:`url(#glow-${r.value})`,opacity:s.value},null,8,Sf)):e.createCommentVNode("",!0),w[3]||(w[3]=e.createElementVNode("ellipse",{cx:"40",cy:"35",rx:"25",ry:"22",fill:"#1e293b",stroke:"#475569","stroke-width":"1.5",opacity:"0.3"},null,-1)),e.createElementVNode("g",{transform:`rotate(${l.value}, 40, 35)`},[e.createElementVNode("ellipse",{cx:"40",cy:"35",rx:"23",ry:"20",fill:`url(#dome-gradient-${r.value})`,opacity:n.value?1:.3},null,8,Vf),w[1]||(w[1]=e.createElementVNode("path",{d:"M 17,35 Q 40,25 63,35",stroke:"#ffffff","stroke-width":"1",fill:"none",opacity:"0.3"},null,-1)),w[2]||(w[2]=e.createElementVNode("path",{d:"M 17,35 Q 40,45 63,35",stroke:"#000000","stroke-width":"1",fill:"none",opacity:"0.2"},null,-1))],8,xf),w[4]||(w[4]=e.createElementVNode("rect",{x:"35",y:"55",width:"10",height:"8",rx:"2",fill:"#334155",stroke:"#475569","stroke-width":"1"},null,-1)),e.createElementVNode("ellipse",{cx:"40",cy:"63",rx:"18",ry:"5",fill:`url(#base-gradient-${r.value})`,stroke:"#475569","stroke-width":"1"},null,8,Cf),e.createElementVNode("rect",{x:"22",y:"63",width:"36",height:"12",fill:`url(#base-gradient-${r.value})`,stroke:"#475569","stroke-width":"1"},null,8,If),e.createElementVNode("ellipse",{cx:"40",cy:"75",rx:"18",ry:"5",fill:`url(#base-gradient-${r.value})`,stroke:"#475569","stroke-width":"1"},null,8,Af),w[5]||(w[5]=e.createElementVNode("circle",{cx:"28",cy:"69",r:"2",fill:"#64748b",stroke:"#1e293b","stroke-width":"0.5"},null,-1)),w[6]||(w[6]=e.createElementVNode("circle",{cx:"52",cy:"69",r:"2",fill:"#64748b",stroke:"#1e293b","stroke-width":"0.5"},null,-1)),w[7]||(w[7]=e.createElementVNode("line",{x1:"27",y1:"68",x2:"29",y2:"70",stroke:"#1e293b","stroke-width":"0.5"},null,-1)),w[8]||(w[8]=e.createElementVNode("line",{x1:"51",y1:"68",x2:"53",y2:"70",stroke:"#1e293b","stroke-width":"0.5"},null,-1)),e.createElementVNode("circle",{cx:"40",cy:"69",r:"1.5",fill:n.value?"#22c55e":"#64748b"},null,8,Tf),e.createElementVNode("text",$f," AL-"+e.toDisplayString(o.value.toUpperCase()),1)])),e.createElementVNode("div",{class:e.normalizeClass(["status-text",{"is-active":n.value}])},e.toDisplayString(h.value),3)]))}}),[["__scopeId","data-v-80aba40a"]]),Df={class:"temperature-sensor-3d-container"},Pf={viewBox:"0 0 80 120",xmlns:"http://www.w3.org/2000/svg"},Of=["id"],Mf=["id"],Rf=["stop-color"],jf=["stop-color"],Lf=["id"],Uf=["stop-color"],Ff=["stop-color"],zf=["fill"],Wf=["y","height","fill"],qf=["fill"],Gf=["fill"],Hf=["fill","opacity"],Kf={key:0,attributeName:"opacity",values:"1;0.3;1",dur:"0.8s",repeatCount:"indefinite"},Yf=Me(e.defineComponent({__name:"TemperatureSensor3D",props:{node:{}},setup(u){const t=u,r=e.ref(`temp-sensor-${Math.random().toString(36).substr(2,9)}`),a=()=>t.node?t.node.getData?t.node.getData():t.node.data||{}:{},n=e.ref(25),o=e.ref(100),i=e.ref(0),l=e.ref(80),s=e.ref(10),c=e.computed(()=>{const w=o.value-i.value;return Math.max(0,Math.min(1,(n.value-i.value)/w))*45}),d=e.computed(()=>65-c.value),h=e.computed(()=>n.value>=l.value?"#ef4444":n.value<=s.value?"#3b82f6":n.value>=60?"#f97316":n.value>=40?"#fbbf24":"#22c55e"),m=e.computed(()=>n.value>=l.value?"#ef4444":n.value<=s.value?"#3b82f6":"#22c55e"),p=e.computed(()=>n.value>=l.value||n.value<=s.value),f=()=>{const w=a();n.value=Math.round(w.temperature??25),o.value=w.maxTemp||100,i.value=w.minTemp||0,l.value=w.alarmHighLimit||80,s.value=w.alarmLowLimit||10};return e.watch(()=>t.node,()=>{f()},{deep:!0}),e.onMounted(()=>{f(),t.node&&typeof t.node.on=="function"&&t.node.on("change:data",()=>{f()})}),(w,N)=>(e.openBlock(),e.createElementBlock("div",Df,[(e.openBlock(),e.createElementBlock("svg",Pf,[e.createElementVNode("defs",null,[e.createElementVNode("linearGradient",{id:`shell-gradient-${r.value}`,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},[...N[0]||(N[0]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#64748b"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#cbd5e1"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#64748b"},null,-1)])],8,Of),e.createElementVNode("linearGradient",{id:`liquid-gradient-${r.value}`,x1:"0%",y1:"0%",x2:"0%",y2:"100%"},[e.createElementVNode("stop",{offset:"0%","stop-color":h.value},null,8,Rf),e.createElementVNode("stop",{offset:"100%","stop-color":h.value,"stop-opacity":"0.7"},null,8,jf)],8,Mf),e.createElementVNode("radialGradient",{id:`bulb-gradient-${r.value}`},[e.createElementVNode("stop",{offset:"0%","stop-color":h.value,"stop-opacity":"0.9"},null,8,Uf),e.createElementVNode("stop",{offset:"70%","stop-color":h.value},null,8,Ff),N[1]||(N[1]=e.createElementVNode("stop",{offset:"100%","stop-color":"#991b1b"},null,-1))],8,Lf)]),e.createElementVNode("rect",{x:"30",y:"15",width:"20",height:"60",rx:"10",fill:`url(#shell-gradient-${r.value})`,stroke:"#475569","stroke-width":"1.5"},null,8,zf),N[2]||(N[2]=e.createStaticVNode('<rect x="35" y="20" width="10" height="50" rx="5" fill="#f8fafc" stroke="#cbd5e1" stroke-width="1" opacity="0.8" data-v-1b4c4bcc></rect><g opacity="0.6" data-v-1b4c4bcc><line x1="32" y1="25" x2="35" y2="25" stroke="#64748b" stroke-width="0.8" data-v-1b4c4bcc></line><text x="29" y="27" font-size="5" fill="#64748b" text-anchor="end" data-v-1b4c4bcc>100</text><line x1="32" y1="35" x2="35" y2="35" stroke="#64748b" stroke-width="0.8" data-v-1b4c4bcc></line><text x="29" y="37" font-size="5" fill="#64748b" text-anchor="end" data-v-1b4c4bcc>75</text><line x1="32" y1="45" x2="35" y2="45" stroke="#64748b" stroke-width="0.8" data-v-1b4c4bcc></line><text x="29" y="47" font-size="5" fill="#64748b" text-anchor="end" data-v-1b4c4bcc>50</text><line x1="32" y1="55" x2="35" y2="55" stroke="#64748b" stroke-width="0.8" data-v-1b4c4bcc></line><text x="29" y="57" font-size="5" fill="#64748b" text-anchor="end" data-v-1b4c4bcc>25</text><line x1="32" y1="65" x2="35" y2="65" stroke="#64748b" stroke-width="0.8" data-v-1b4c4bcc></line><text x="29" y="67" font-size="5" fill="#64748b" text-anchor="end" data-v-1b4c4bcc>0</text></g>',2)),e.createElementVNode("rect",{x:"37",y:d.value,width:"6",height:c.value,rx:"3",fill:`url(#liquid-gradient-${r.value})`},null,8,Wf),e.createElementVNode("circle",{cx:"40",cy:"75",r:"10",fill:`url(#bulb-gradient-${r.value})`,stroke:"#991b1b","stroke-width":"1.5"},null,8,qf),N[3]||(N[3]=e.createStaticVNode('<ellipse cx="37" cy="72" rx="3" ry="4" fill="#ffffff" opacity="0.4" data-v-1b4c4bcc></ellipse><path d="M 40,85 Q 45,90 45,95 L 45,105" stroke="#1e293b" stroke-width="3" fill="none" stroke-linecap="round" data-v-1b4c4bcc></path><path d="M 40,85 Q 35,90 35,95 L 35,105" stroke="#ef4444" stroke-width="3" fill="none" stroke-linecap="round" data-v-1b4c4bcc></path><rect x="32" y="103" width="6" height="8" rx="1" fill="#fbbf24" stroke="#b45309" stroke-width="0.5" data-v-1b4c4bcc></rect><rect x="42" y="103" width="6" height="8" rx="1" fill="#1e293b" stroke="#475569" stroke-width="0.5" data-v-1b4c4bcc></rect><rect x="50" y="35" width="25" height="18" rx="2" fill="#0f172a" stroke="#334155" stroke-width="1" data-v-1b4c4bcc></rect>',6)),e.createElementVNode("text",{x:"62.5",y:"47","font-size":"10",fill:m.value,"text-anchor":"middle","font-family":"monospace"},e.toDisplayString(n.value),9,Gf),N[4]||(N[4]=e.createElementVNode("text",{x:"62.5",y:"51","font-size":"4",fill:"#64748b","text-anchor":"middle"},"°C",-1)),e.createElementVNode("circle",{cx:"58",cy:"29",r:"2.5",fill:p.value?"#ef4444":"#64748b",opacity:p.value?1:.3},[p.value?(e.openBlock(),e.createElementBlock("animate",Kf)):e.createCommentVNode("",!0)],8,Hf),N[5]||(N[5]=e.createElementVNode("text",{x:"40",y:"115","font-size":"5",fill:"#64748b","text-anchor":"middle","font-family":"Arial"}," PT100 ",-1))])),e.createElementVNode("div",{class:e.normalizeClass(["status-text",{"is-alarm":p.value}])},e.toDisplayString(n.value)+"°C "+e.toDisplayString(p.value?"- 超限":""),3)]))}}),[["__scopeId","data-v-1b4c4bcc"]]),Qf={class:"cylinder-3d-container"},Jf={viewBox:"0 0 60 140",xmlns:"http://www.w3.org/2000/svg"},Xf=["id"],Zf=["id"],ep=["id"],tp=["fill"],rp=["fill"],op=["fill"],np=["y","height","fill"],ip=["cy"],ap=["cy"],sp=["x","fill"],lp=["x","fill"],cp={x:"30",y:"125","font-size":"5",fill:"#64748b","text-anchor":"middle","font-family":"Arial"},dp={x:"30",y:"18","font-size":"8",fill:"#22c55e","text-anchor":"middle","font-family":"monospace"},up=Me(e.defineComponent({__name:"Cylinder3D",props:{node:{}},setup(u){const t=u,r=e.ref(`cylinder-${Math.random().toString(36).substr(2,9)}`),a=()=>t.node?t.node.getData?t.node.getData():t.node.data||{}:{},n=e.ref(0),o=e.ref(50),i=e.ref(200),l=e.ref("stop");let s=null,c=Date.now();const d=e.computed(()=>n.value>=o.value),h=e.computed(()=>n.value<=0),m=e.computed(()=>30+n.value/o.value*40),p=e.computed(()=>50-m.value),f=e.computed(()=>110-n.value/o.value*60),w=e.computed(()=>d.value?"伸出到位":h.value?"缩回到位":l.value==="extend"?"正在伸出":l.value==="retract"?"正在缩回":"停止"),N=e.computed(()=>d.value||h.value?"is-positioned":l.value!=="stop"?"is-moving":""),S=()=>{const E=Date.now(),k=(E-c)/1e3;c=E,l.value==="extend"&&n.value<o.value?n.value=Math.min(o.value,n.value+i.value*k):l.value==="retract"&&n.value>0&&(n.value=Math.max(0,n.value-i.value*k)),n.value=Math.round(n.value),s=requestAnimationFrame(S)},b=()=>{const E=a();l.value=E.action||"stop",o.value=E.stroke||50,i.value=E.speed||200,typeof E.position=="number"&&(n.value=Math.max(0,Math.min(o.value,E.position)))};return e.watch(()=>t.node,()=>{b()},{deep:!0}),e.onMounted(()=>{b(),c=Date.now(),S(),t.node&&typeof t.node.on=="function"&&t.node.on("change:data",()=>{b()})}),e.onUnmounted(()=>{s&&cancelAnimationFrame(s)}),(E,k)=>(e.openBlock(),e.createElementBlock("div",Qf,[(e.openBlock(),e.createElementBlock("svg",Jf,[e.createElementVNode("defs",null,[e.createElementVNode("linearGradient",{id:`cylinder-gradient-${r.value}`,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},[...k[0]||(k[0]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#475569"},null,-1),e.createElementVNode("stop",{offset:"30%","stop-color":"#94a3b8"},null,-1),e.createElementVNode("stop",{offset:"70%","stop-color":"#cbd5e1"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#475569"},null,-1)])],8,Xf),e.createElementVNode("linearGradient",{id:`rod-gradient-${r.value}`,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},[...k[1]||(k[1]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#64748b"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#94a3b8"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#64748b"},null,-1)])],8,Zf),e.createElementVNode("radialGradient",{id:`cap-gradient-${r.value}`},[...k[2]||(k[2]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#64748b"},null,-1),e.createElementVNode("stop",{offset:"70%","stop-color":"#475569"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#334155"},null,-1)])],8,ep)]),e.createElementVNode("ellipse",{cx:"30",cy:"80",rx:"15",ry:"8",fill:`url(#cap-gradient-${r.value})`,stroke:"#1e293b","stroke-width":"1"},null,8,tp),e.createElementVNode("rect",{x:"15",y:"50",width:"30",height:"60",fill:`url(#cylinder-gradient-${r.value})`,stroke:"#334155","stroke-width":"1"},null,8,rp),k[3]||(k[3]=e.createStaticVNode('<g opacity="0.2" data-v-7429604c><line x1="15" y1="55" x2="45" y2="55" stroke="#1e293b" stroke-width="0.5" data-v-7429604c></line><line x1="15" y1="65" x2="45" y2="65" stroke="#1e293b" stroke-width="0.5" data-v-7429604c></line><line x1="15" y1="75" x2="45" y2="75" stroke="#1e293b" stroke-width="0.5" data-v-7429604c></line><line x1="15" y1="85" x2="45" y2="85" stroke="#1e293b" stroke-width="0.5" data-v-7429604c></line><line x1="15" y1="95" x2="45" y2="95" stroke="#1e293b" stroke-width="0.5" data-v-7429604c></line><line x1="15" y1="105" x2="45" y2="105" stroke="#1e293b" stroke-width="0.5" data-v-7429604c></line></g>',1)),e.createElementVNode("ellipse",{cx:"30",cy:"50",rx:"15",ry:"8",fill:`url(#cap-gradient-${r.value})`,stroke:"#1e293b","stroke-width":"1"},null,8,op),e.createElementVNode("rect",{x:"26",y:p.value,width:"8",height:m.value,fill:`url(#rod-gradient-${r.value})`,stroke:"#475569","stroke-width":"0.5"},null,8,np),e.createElementVNode("ellipse",{cx:"30",cy:p.value,rx:"4",ry:"2",fill:"#94a3b8",stroke:"#64748b","stroke-width":"0.5"},null,8,ip),e.createElementVNode("ellipse",{cx:"30",cy:f.value,rx:"13",ry:"6",fill:"#64748b",stroke:"#334155","stroke-width":"1"},null,8,ap),k[4]||(k[4]=e.createElementVNode("circle",{cx:"48",cy:"58",r:"3",fill:"#3b82f6",stroke:"#1e40af","stroke-width":"1"},null,-1)),k[5]||(k[5]=e.createElementVNode("text",{x:"55",y:"60","font-size":"6",fill:"#3b82f6","font-weight":"bold"},"A",-1)),k[6]||(k[6]=e.createElementVNode("circle",{cx:"48",cy:"102",r:"3",fill:"#ef4444",stroke:"#991b1b","stroke-width":"1"},null,-1)),k[7]||(k[7]=e.createElementVNode("text",{x:"55",y:"104","font-size":"6",fill:"#ef4444","font-weight":"bold"},"B",-1)),e.createElementVNode("rect",{x:d.value?48:50,y:"52",width:"6",height:"4",rx:"1",fill:d.value?"#22c55e":"#64748b",stroke:"#334155","stroke-width":"0.5"},null,8,sp),e.createElementVNode("rect",{x:h.value?48:50,y:"104",width:"6",height:"4",rx:"1",fill:h.value?"#22c55e":"#64748b",stroke:"#334155","stroke-width":"0.5"},null,8,lp),k[8]||(k[8]=e.createElementVNode("g",null,[e.createElementVNode("rect",{x:"5",y:"78",width:"8",height:"4",rx:"1",fill:"#334155"}),e.createElementVNode("circle",{cx:"7",cy:"80",r:"2",fill:"#64748b",stroke:"#1e293b","stroke-width":"0.5"}),e.createElementVNode("rect",{x:"47",y:"78",width:"8",height:"4",rx:"1",fill:"#334155"}),e.createElementVNode("circle",{cx:"53",cy:"80",r:"2",fill:"#64748b",stroke:"#1e293b","stroke-width":"0.5"})],-1)),e.createElementVNode("text",cp,e.toDisplayString(o.value)+"mm ",1),e.createElementVNode("text",dp,e.toDisplayString(n.value)+"mm ",1)])),e.createElementVNode("div",{class:e.normalizeClass(["status-text",N.value])},e.toDisplayString(w.value),3)]))}}),[["__scopeId","data-v-7429604c"]]),ma={metadata:{id:"conveyor-3d",name:"3D传送带",category:"iot",icon:"🔄",description:"3D仿真传送带组件,支持正反转和速度控制",version:"1.0.0"},shape:"conveyor-3d-vue",component:pf,width:220,height:100,label:"",attrs:{body:{fill:"transparent",stroke:"transparent"}},data:{type:"conveyor",state:!1,speed:10,direction:"forward",deviceId:"",property:""},ports:{groups:{left:{position:"left",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},right:{position:"right",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}}},items:[{id:"port-left",group:"left"},{id:"port-right",group:"right"}]},props:[{key:"state",label:"运行状态",type:"select",path:"data.state",defaultValue:!1,options:[{label:"停止",value:!1},{label:"运行",value:"running"}],description:"传送带运行状态",bindable:!0},{key:"speed",label:"速度(m/min)",type:"number",path:"data.speed",defaultValue:10,min:0,max:100,description:"传送带运行速度",bindable:!0},{key:"direction",label:"运行方向",type:"select",path:"data.direction",defaultValue:"forward",options:[{label:"正向",value:"forward"},{label:"反向",value:"reverse"}],description:"传送带运行方向",bindable:!0},{key:"deviceId",label:"设备ID",type:"text",path:"data.deviceId",defaultValue:"",description:"绑定的设备ID"},{key:"property",label:"设备属性",type:"text",path:"data.property",defaultValue:"",description:"绑定的设备属性名称"}],points:[{id:"status",name:"运行状态",description:"传送带当前运行状态",dataType:"boolean",defaultValue:!1,required:!0},{id:"speed",name:"运行速度",description:"传送带当前运行速度",dataType:"number",unit:"m/min",defaultValue:0,required:!0,range:{min:0,max:100}},{id:"direction",name:"运行方向",description:"传送带运行方向",dataType:"string",defaultValue:"forward",required:!1},{id:"load",name:"负载状态",description:"传送带上是否有物体",dataType:"boolean",defaultValue:!1,required:!1},{id:"alarm",name:"告警状态",description:"是否处于告警状态",dataType:"boolean",defaultValue:!1,required:!1}]},ga={metadata:{id:"alarm-light-3d",name:"3D报警灯",category:"iot",icon:"🚨",description:"3D仿真报警灯组件,支持旋转、闪烁、持续三种模式",version:"1.0.0"},shape:"alarm-light-3d-vue",component:Bf,width:100,height:120,label:"",attrs:{body:{fill:"transparent",stroke:"transparent"}},data:{type:"alarm-light",state:!1,mode:"rotating",color:"#ef4444",deviceId:"",property:""},ports:{groups:{bottom:{position:"bottom",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}}},items:[{id:"port-bottom",group:"bottom"}]},props:[{key:"state",label:"报警状态",type:"select",path:"data.state",defaultValue:!1,options:[{label:"正常",value:!1},{label:"报警",value:"active"}],description:"报警灯激活状态",bindable:!0},{key:"mode",label:"报警模式",type:"select",path:"data.mode",defaultValue:"rotating",options:[{label:"旋转",value:"rotating"},{label:"闪烁",value:"flashing"},{label:"持续",value:"steady"}],description:"报警灯工作模式",bindable:!0},{key:"color",label:"灯光颜色",type:"color",path:"data.color",defaultValue:"#ef4444",description:"报警灯颜色",bindable:!0},{key:"deviceId",label:"设备ID",type:"text",path:"data.deviceId",defaultValue:"",description:"绑定的设备ID"},{key:"property",label:"设备属性",type:"text",path:"data.property",defaultValue:"",description:"绑定的设备属性名称"}],points:[{id:"status",name:"报警状态",description:"报警灯当前状态",dataType:"boolean",defaultValue:!1,required:!0},{id:"mode",name:"报警模式",description:"报警灯工作模式",dataType:"string",defaultValue:"rotating",required:!1},{id:"level",name:"报警级别",description:"报警级别 (0-正常, 1-警告, 2-危险, 3-严重)",dataType:"number",defaultValue:0,required:!1,range:{min:0,max:3}}]},ya={metadata:{id:"temperature-sensor-3d",name:"3D温度传感器",category:"iot",icon:"🌡️",description:"3D仿真温度传感器,支持温度显示和报警",version:"1.0.0"},shape:"temperature-sensor-3d-vue",component:Yf,width:100,height:140,label:"",attrs:{body:{fill:"transparent",stroke:"transparent"}},data:{type:"temperature-sensor",temperature:25,maxTemp:100,minTemp:0,alarmHighLimit:80,alarmLowLimit:10,deviceId:"",property:""},ports:{groups:{bottom:{position:"bottom",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}}},items:[{id:"port-bottom",group:"bottom"}]},props:[{key:"temperature",label:"当前温度(°C)",type:"number",path:"data.temperature",defaultValue:25,description:"当前测量温度值",bindable:!0},{key:"maxTemp",label:"最大量程(°C)",type:"number",path:"data.maxTemp",defaultValue:100,description:"传感器最大测量温度"},{key:"minTemp",label:"最小量程(°C)",type:"number",path:"data.minTemp",defaultValue:0,description:"传感器最小测量温度"},{key:"alarmHighLimit",label:"高温报警(°C)",type:"number",path:"data.alarmHighLimit",defaultValue:80,description:"高温报警阈值"},{key:"alarmLowLimit",label:"低温报警(°C)",type:"number",path:"data.alarmLowLimit",defaultValue:10,description:"低温报警阈值"},{key:"deviceId",label:"设备ID",type:"text",path:"data.deviceId",defaultValue:"",description:"绑定的设备ID"},{key:"property",label:"设备属性",type:"text",path:"data.property",defaultValue:"",description:"绑定的设备属性名称"}],points:[{id:"temperature",name:"温度",description:"当前测量温度值",dataType:"number",unit:"℃",defaultValue:25,required:!0},{id:"alarm_high",name:"高温报警",description:"是否超过高温阈值",dataType:"boolean",defaultValue:!1,required:!1},{id:"alarm_low",name:"低温报警",description:"是否低于低温阈值",dataType:"boolean",defaultValue:!1,required:!1},{id:"quality",name:"信号质量",description:"传感器信号质量 (0-100)",dataType:"number",unit:"%",defaultValue:100,required:!1,range:{min:0,max:100}}]},ba={metadata:{id:"cylinder-3d",name:"3D气缸",category:"iot",icon:"🔩",description:"3D仿真气缸组件,支持伸缩动作和位置显示",version:"1.0.0"},shape:"cylinder-3d-vue",component:up,width:80,height:160,label:"",attrs:{body:{fill:"transparent",stroke:"transparent"}},data:{type:"cylinder",action:"stop",position:0,stroke:50,speed:200,deviceId:"",property:""},ports:{groups:{left:{position:"left",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},right:{position:"right",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}}},items:[{id:"port-left",group:"left"},{id:"port-right",group:"right"}]},props:[{key:"action",label:"动作指令",type:"select",path:"data.action",defaultValue:"stop",options:[{label:"停止",value:"stop"},{label:"伸出",value:"extend"},{label:"缩回",value:"retract"}],description:"气缸动作指令",bindable:!0},{key:"position",label:"当前位置(mm)",type:"number",path:"data.position",defaultValue:0,min:0,description:"活塞杆当前位置",bindable:!0},{key:"stroke",label:"行程(mm)",type:"number",path:"data.stroke",defaultValue:50,min:10,max:200,description:"气缸最大行程"},{key:"speed",label:"速度(mm/s)",type:"number",path:"data.speed",defaultValue:200,min:10,max:1e3,description:"活塞杆运动速度"},{key:"deviceId",label:"设备ID",type:"text",path:"data.deviceId",defaultValue:"",description:"绑定的设备ID"},{key:"property",label:"设备属性",type:"text",path:"data.property",defaultValue:"",description:"绑定的设备属性名称"}],points:[{id:"action",name:"动作指令",description:"气缸当前动作指令",dataType:"string",defaultValue:"stop",required:!0},{id:"position",name:"当前位置",description:"活塞杆当前位置",dataType:"number",unit:"mm",defaultValue:0,required:!0},{id:"extended",name:"伸出到位",description:"活塞杆是否已伸出到位",dataType:"boolean",defaultValue:!1,required:!1},{id:"retracted",name:"缩回到位",description:"活塞杆是否已缩回到位",dataType:"boolean",defaultValue:!0,required:!1},{id:"pressure",name:"气压",description:"工作气压",dataType:"number",unit:"bar",defaultValue:6,required:!1}]},fp={class:"pipe-3d-container"},pp=["viewBox"],hp=["id"],mp=["id"],gp=["stop-color"],yp=["stop-color"],bp=["stop-color"],wp={key:0},Ep=["y","width","height","fill"],vp=["y","width","height"],kp=["x","y","width","height","fill"],_p=["cy","rx","ry"],Np=["cx","cy","rx","ry"],Sp=["cy"],xp=["cy"],Vp=["cx","cy"],Cp=["cx","cy"],Ip={key:1},Ap=["x","width","height","fill"],Tp=["x","width","height"],$p=["x","y","width","height","fill"],Bp=["cx","rx","ry"],Dp=["cx","cy","rx","ry"],Pp=["cx"],Op=["cx"],Mp=["cx","cy"],Rp=["cx","cy"],jp={key:2},Lp=["id"],Up=["fill"],Fp=["x1","y1","x2","y2","stroke","marker-end"],zp=["x1","y1","x2","y2","stroke","marker-end"],Wp=Me(e.defineComponent({__name:"Pipe3D",props:{node:{}},setup(u){const t=u,r=e.ref(`pipe-${Math.random().toString(36).substr(2,9)}`),a=()=>t.node?t.node.getData?t.node.getData():t.node.data||{}:{},n=e.ref(!1),o=e.ref(10),i=e.ref("horizontal"),l=e.ref("#3b82f6"),s=e.ref(40),c=e.ref(200),d=e.computed(()=>s.value/2),h=e.computed(()=>c.value),m=e.computed(()=>i.value==="horizontal"?`0 0 ${h.value} ${s.value+10}`:`0 0 ${s.value+10} ${h.value}`),p=e.computed(()=>(s.value+10)/2),f=e.computed(()=>(s.value+10)/2),w=e.ref(0);let N=null;const S=()=>{if(n.value){const E=o.value/5;w.value=(w.value+E)%h.value}N=requestAnimationFrame(S)},b=()=>{const E=a();n.value=E.state==="flowing"||E.state===!0,o.value=E.flowRate||10,i.value=E.direction||"horizontal",l.value=E.fluidColor||"#3b82f6",s.value=E.diameter||40,c.value=E.length||200};return e.watch(()=>t.node,()=>{b()},{deep:!0}),e.onMounted(()=>{b(),S(),t.node&&typeof t.node.on=="function"&&t.node.on("change:data",()=>{b()})}),e.onUnmounted(()=>{N&&cancelAnimationFrame(N)}),(E,k)=>(e.openBlock(),e.createElementBlock("div",fp,[(e.openBlock(),e.createElementBlock("svg",{viewBox:m.value,xmlns:"http://www.w3.org/2000/svg"},[e.createElementVNode("defs",null,[e.createElementVNode("linearGradient",{id:`pipe-gradient-${r.value}`,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},[...k[0]||(k[0]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#475569"},null,-1),e.createElementVNode("stop",{offset:"30%","stop-color":"#94a3b8"},null,-1),e.createElementVNode("stop",{offset:"70%","stop-color":"#cbd5e1"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#475569"},null,-1)])],8,hp),e.createElementVNode("linearGradient",{id:`flow-gradient-${r.value}`,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},[e.createElementVNode("stop",{offset:"0%","stop-color":l.value,"stop-opacity":"0.3"},null,8,gp),e.createElementVNode("stop",{offset:"50%","stop-color":l.value,"stop-opacity":"0.8"},null,8,yp),e.createElementVNode("stop",{offset:"100%","stop-color":l.value,"stop-opacity":"0.3"},null,8,bp)],8,mp)]),i.value==="horizontal"?(e.openBlock(),e.createElementBlock("g",wp,[e.createElementVNode("rect",{x:"0",y:p.value-d.value,width:h.value,height:d.value*2,fill:`url(#pipe-gradient-${r.value})`,stroke:"#334155","stroke-width":"1"},null,8,Ep),e.createElementVNode("rect",{x:"0",y:p.value-d.value+3,width:h.value,height:d.value*2-6,fill:"#0f172a"},null,8,vp),n.value?(e.openBlock(),e.createElementBlock("rect",{key:0,x:w.value,y:p.value-d.value+5,width:h.value/2,height:d.value*2-10,fill:`url(#flow-gradient-${r.value})`},null,8,kp)):e.createCommentVNode("",!0),e.createElementVNode("g",null,[e.createElementVNode("ellipse",{cx:0,cy:p.value,rx:d.value+2,ry:d.value+2,fill:"#64748b",stroke:"#334155","stroke-width":"1"},null,8,_p),e.createElementVNode("ellipse",{cx:h.value,cy:p.value,rx:d.value+2,ry:d.value+2,fill:"#64748b",stroke:"#334155","stroke-width":"1"},null,8,Np),e.createElementVNode("circle",{cx:0,cy:p.value-d.value-2,r:"1.5",fill:"#1e293b"},null,8,Sp),e.createElementVNode("circle",{cx:0,cy:p.value+d.value+2,r:"1.5",fill:"#1e293b"},null,8,xp),e.createElementVNode("circle",{cx:h.value,cy:p.value-d.value-2,r:"1.5",fill:"#1e293b"},null,8,Vp),e.createElementVNode("circle",{cx:h.value,cy:p.value+d.value+2,r:"1.5",fill:"#1e293b"},null,8,Cp)])])):(e.openBlock(),e.createElementBlock("g",Ip,[e.createElementVNode("rect",{x:f.value-d.value,y:"0",width:d.value*2,height:h.value,fill:`url(#pipe-gradient-${r.value})`,stroke:"#334155","stroke-width":"1"},null,8,Ap),e.createElementVNode("rect",{x:f.value-d.value+3,y:"0",width:d.value*2-6,height:h.value,fill:"#0f172a"},null,8,Tp),n.value?(e.openBlock(),e.createElementBlock("rect",{key:0,x:f.value-d.value+5,y:w.value,width:d.value*2-10,height:h.value/2,fill:`url(#flow-gradient-${r.value})`},null,8,$p)):e.createCommentVNode("",!0),e.createElementVNode("g",null,[e.createElementVNode("ellipse",{cx:f.value,cy:0,rx:d.value+2,ry:d.value+2,fill:"#64748b",stroke:"#334155","stroke-width":"1"},null,8,Bp),e.createElementVNode("ellipse",{cx:f.value,cy:h.value,rx:d.value+2,ry:d.value+2,fill:"#64748b",stroke:"#334155","stroke-width":"1"},null,8,Dp),e.createElementVNode("circle",{cx:f.value-d.value-2,cy:0,r:"1.5",fill:"#1e293b"},null,8,Pp),e.createElementVNode("circle",{cx:f.value+d.value+2,cy:0,r:"1.5",fill:"#1e293b"},null,8,Op),e.createElementVNode("circle",{cx:f.value-d.value-2,cy:h.value,r:"1.5",fill:"#1e293b"},null,8,Mp),e.createElementVNode("circle",{cx:f.value+d.value+2,cy:h.value,r:"1.5",fill:"#1e293b"},null,8,Rp)])])),n.value?(e.openBlock(),e.createElementBlock("g",jp,[e.createElementVNode("defs",null,[e.createElementVNode("marker",{id:`arrow-${r.value}`,markerWidth:"10",markerHeight:"10",refX:"8",refY:"3",orient:"auto",markerUnits:"strokeWidth"},[e.createElementVNode("path",{d:"M0,0 L0,6 L9,3 z",fill:l.value},null,8,Up)],8,Lp)]),i.value==="horizontal"?(e.openBlock(),e.createElementBlock("line",{key:0,x1:h.value/2-20,y1:p.value,x2:h.value/2+20,y2:p.value,stroke:l.value,"stroke-width":"2","marker-end":`url(#arrow-${r.value})`},null,8,Fp)):(e.openBlock(),e.createElementBlock("line",{key:1,x1:f.value,y1:h.value/2-20,x2:f.value,y2:h.value/2+20,stroke:l.value,"stroke-width":"2","marker-end":`url(#arrow-${r.value})`},null,8,zp))])):e.createCommentVNode("",!0)],8,pp)),e.createElementVNode("div",{class:e.normalizeClass(["status-text",{"is-flowing":n.value}])},e.toDisplayString(n.value?"流动中":"停止")+" | "+e.toDisplayString(o.value)+" m³/h ",3)]))}}),[["__scopeId","data-v-5c3ec02f"]]),qp={class:"filter-3d-container"},Gp={viewBox:"0 0 120 100",xmlns:"http://www.w3.org/2000/svg"},Hp=["id"],Kp=["id"],Yp=["stop-color"],Qp=["stop-color"],Jp=["fill"],Xp=["fill"],Zp={opacity:"0.5"},eh=["x1","x2"],th=["y1","y2"],rh=["y","height"],oh={transform:"translate(80, 30)"},nh=["fill"],ih=["fill","opacity"],ah={key:0,attributeName:"opacity",values:"1;0.3;1",dur:"0.8s",repeatCount:"indefinite"},sh={x:"60",y:"95","font-size":"5",fill:"#64748b","text-anchor":"middle","font-family":"Arial"},lh=Me(e.defineComponent({__name:"Filter3D",props:{node:{}},setup(u){const t=u,r=e.ref(`filter-${Math.random().toString(36).substr(2,9)}`),a=()=>t.node?t.node.getData?t.node.getData():t.node.data||{}:{},n=e.ref(20),o=e.ref(5),i=e.ref(50),l=e.ref(70),s=e.computed(()=>n.value>=l.value?"#7f1d1d":n.value>=50?"#b45309":"#15803d"),c=e.computed(()=>n.value>=l.value?"#991b1b":n.value>=50?"#d97706":"#166534"),d=e.computed(()=>o.value>=15?"#ef4444":o.value>=10?"#f97316":"#22c55e"),h=e.computed(()=>n.value>=l.value),m=()=>{const p=a();n.value=Math.max(0,Math.min(100,p.clogLevel||20)),o.value=p.pressureDrop||5,i.value=p.diameter||50,l.value=p.alarmThreshold||70};return e.watch(()=>t.node,()=>{m()},{deep:!0}),e.onMounted(()=>{m(),t.node&&typeof t.node.on=="function"&&t.node.on("change:data",()=>{m()})}),(p,f)=>(e.openBlock(),e.createElementBlock("div",qp,[(e.openBlock(),e.createElementBlock("svg",Gp,[e.createElementVNode("defs",null,[e.createElementVNode("linearGradient",{id:`shell-gradient-${r.value}`,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},[...f[0]||(f[0]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#475569"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#94a3b8"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#475569"},null,-1)])],8,Hp),e.createElementVNode("linearGradient",{id:`filter-element-${r.value}`,x1:"0%",y1:"0%",x2:"0%",y2:"100%"},[e.createElementVNode("stop",{offset:"0%","stop-color":s.value},null,8,Yp),e.createElementVNode("stop",{offset:"100%","stop-color":c.value},null,8,Qp)],8,Kp)]),f[3]||(f[3]=e.createElementVNode("rect",{x:"0",y:"43",width:"25",height:"14",fill:"#64748b",stroke:"#334155","stroke-width":"1"},null,-1)),e.createElementVNode("rect",{x:"25",y:"20",width:"70",height:"60",rx:"5",fill:`url(#shell-gradient-${r.value})`,stroke:"#334155","stroke-width":"2"},null,8,Jp),f[4]||(f[4]=e.createElementVNode("ellipse",{cx:"60",cy:"50",rx:"15",ry:"20",fill:"#1e293b",stroke:"#64748b","stroke-width":"2",opacity:"0.7"},null,-1)),e.createElementVNode("g",null,[e.createElementVNode("rect",{x:"50",y:"30",width:"20",height:"40",rx:"2",fill:`url(#filter-element-${r.value})`,stroke:"#475569","stroke-width":"1"},null,8,Xp),e.createElementVNode("g",Zp,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(8,w=>e.createElementVNode("line",{key:`v-${w}`,x1:50+w*2.5,y1:"30",x2:50+w*2.5,y2:"70",stroke:"#1e293b","stroke-width":"0.5"},null,8,eh)),64)),(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(8,w=>e.createElementVNode("line",{key:`h-${w}`,x1:"50",y1:30+w*5,x2:"70",y2:30+w*5,stroke:"#1e293b","stroke-width":"0.5"},null,8,th)),64))]),e.createElementVNode("rect",{x:"52",y:70-n.value*.4,width:"16",height:n.value*.4,fill:"#ef4444",opacity:"0.6"},null,8,rh)]),f[5]||(f[5]=e.createElementVNode("rect",{x:"95",y:"43",width:"25",height:"14",fill:"#64748b",stroke:"#334155","stroke-width":"1"},null,-1)),f[6]||(f[6]=e.createElementVNode("rect",{x:"55",y:"78",width:"10",height:"8",rx:"1",fill:"#334155",stroke:"#1e293b","stroke-width":"1"},null,-1)),f[7]||(f[7]=e.createElementVNode("path",{d:"M 57,86 L 60,90 L 63,86",stroke:"#64748b","stroke-width":"1.5",fill:"none"},null,-1)),e.createElementVNode("g",oh,[f[1]||(f[1]=e.createElementVNode("circle",{cx:"0",cy:"0",r:"12",fill:"#0f172a",stroke:"#475569","stroke-width":"1.5"},null,-1)),e.createElementVNode("text",{x:"0",y:"4","font-size":"7",fill:d.value,"text-anchor":"middle","font-family":"monospace"},e.toDisplayString(o.value),9,nh),f[2]||(f[2]=e.createElementVNode("text",{x:"0",y:"10","font-size":"3",fill:"#64748b","text-anchor":"middle"},"kPa",-1))]),e.createElementVNode("circle",{cx:"35",cy:"28",r:"3",fill:h.value?"#ef4444":"#64748b",opacity:h.value?1:.3},[h.value?(e.openBlock(),e.createElementBlock("animate",ah)):e.createCommentVNode("",!0)],8,ih),e.createElementVNode("text",sh," FLT-"+e.toDisplayString(i.value),1)])),e.createElementVNode("div",{class:e.normalizeClass(["status-text",{"is-alarm":h.value}])}," 堵塞度: "+e.toDisplayString(n.value)+"% | 压差: "+e.toDisplayString(o.value)+" kPa ",3)]))}}),[["__scopeId","data-v-1bb1c80a"]]),ch={class:"heat-exchanger-3d-container"},dh={viewBox:"0 0 140 120",xmlns:"http://www.w3.org/2000/svg"},uh=["id"],fh=["id"],ph=["id"],hh=["fill"],mh={opacity:"0.6"},gh=["y1","y2"],yh=["y","fill"],bh=["y","fill"],wh=["x","fill"],Eh=["x","fill"],vh={transform:"translate(70, 60)"},kh=["fill"],_h={transform:"translate(95, 50)"},Nh={x:"0",y:"-1","font-size":"6",fill:"#ef4444","text-anchor":"middle"},Sh={x:"0",y:"6","font-size":"5",fill:"#f97316","text-anchor":"middle"},xh={transform:"translate(45, 70)"},Vh={x:"0",y:"-1","font-size":"6",fill:"#3b82f6","text-anchor":"middle"},Ch={x:"0",y:"6","font-size":"5",fill:"#60a5fa","text-anchor":"middle"},Ih=["fill","opacity"],Ah={key:0,attributeName:"opacity",values:"1;0.5;1",dur:"1.5s",repeatCount:"indefinite"},Th={x:"70",y:"115","font-size":"5",fill:"#64748b","text-anchor":"middle","font-family":"Arial"},$h=Me(e.defineComponent({__name:"HeatExchanger3D",props:{node:{}},setup(u){const t=u,r=e.ref(`hex-${Math.random().toString(36).substr(2,9)}`),a=()=>t.node?t.node.getData?t.node.getData():t.node.data||{}:{},n=e.ref(!1),o=e.ref(80),i=e.ref(50),l=e.ref(20),s=e.ref(40),c=e.ref(10),d=e.computed(()=>{if(o.value<=i.value)return 0;const E=o.value-l.value,k=o.value-i.value,v=Math.round(k/E*100);return Math.max(0,Math.min(100,v))}),h=e.computed(()=>d.value>=80?"#22c55e":d.value>=60?"#fbbf24":d.value>=40?"#f97316":"#ef4444"),m=e.ref(0),p=e.ref(0),f=e.ref(0),w=e.ref(0);let N=null;const S=()=>{n.value&&(m.value=(m.value+.5)%20,p.value=(p.value+.5)%20,f.value=(f.value+.5)%20,w.value=(w.value+.5)%20),N=requestAnimationFrame(S)},b=()=>{const E=a();n.value=E.state==="working"||E.state===!0,o.value=E.hotTempIn||80,i.value=E.hotTempOut||50,l.value=E.coldTempIn||20,s.value=E.coldTempOut||40,c.value=E.heatTransferArea||10};return e.watch(()=>t.node,()=>{b()},{deep:!0}),e.onMounted(()=>{b(),S(),t.node&&typeof t.node.on=="function"&&t.node.on("change:data",()=>{b()})}),e.onUnmounted(()=>{N&&cancelAnimationFrame(N)}),(E,k)=>(e.openBlock(),e.createElementBlock("div",ch,[(e.openBlock(),e.createElementBlock("svg",dh,[e.createElementVNode("defs",null,[e.createElementVNode("linearGradient",{id:`shell-gradient-${r.value}`,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},[...k[0]||(k[0]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#475569"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#94a3b8"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#475569"},null,-1)])],8,uh),e.createElementVNode("linearGradient",{id:`hot-fluid-${r.value}`,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},[...k[1]||(k[1]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#ef4444","stop-opacity":"0.3"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#ef4444","stop-opacity":"0.7"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#ef4444","stop-opacity":"0.3"},null,-1)])],8,fh),e.createElementVNode("linearGradient",{id:`cold-fluid-${r.value}`,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},[...k[2]||(k[2]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#3b82f6","stop-opacity":"0.3"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#3b82f6","stop-opacity":"0.7"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#3b82f6","stop-opacity":"0.3"},null,-1)])],8,ph)]),e.createElementVNode("rect",{x:"20",y:"30",width:"100",height:"60",rx:"8",fill:`url(#shell-gradient-${r.value})`,stroke:"#334155","stroke-width":"2"},null,8,hh),k[15]||(k[15]=e.createElementVNode("line",{x1:"70",y1:"30",x2:"70",y2:"90",stroke:"#64748b","stroke-width":"2"},null,-1)),e.createElementVNode("g",mh,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(8,v=>e.createElementVNode("line",{key:`tube-${v}`,x1:"25",y1:35+v*7,x2:"115",y2:35+v*7,stroke:"#475569","stroke-width":"1.5"},null,8,gh)),64))]),e.createElementVNode("g",null,[k[3]||(k[3]=e.createElementVNode("rect",{x:"60",y:"10",width:"20",height:"20",rx:"2",fill:"#64748b",stroke:"#334155","stroke-width":"1"},null,-1)),k[4]||(k[4]=e.createElementVNode("text",{x:"70",y:"23","font-size":"6",fill:"#ef4444","text-anchor":"middle","font-weight":"bold"},"H-IN",-1)),n.value?(e.openBlock(),e.createElementBlock("rect",{key:0,x:"65",y:10+m.value,width:"10",height:"8",fill:`url(#hot-fluid-${r.value})`},null,8,yh)):e.createCommentVNode("",!0)]),e.createElementVNode("g",null,[k[5]||(k[5]=e.createElementVNode("rect",{x:"60",y:"90",width:"20",height:"20",rx:"2",fill:"#64748b",stroke:"#334155","stroke-width":"1"},null,-1)),k[6]||(k[6]=e.createElementVNode("text",{x:"70",y:"103","font-size":"6",fill:"#f97316","text-anchor":"middle","font-weight":"bold"},"H-OUT",-1)),n.value?(e.openBlock(),e.createElementBlock("rect",{key:0,x:"65",y:90+p.value,width:"10",height:"8",fill:`url(#hot-fluid-${r.value})`,opacity:"0.7"},null,8,bh)):e.createCommentVNode("",!0)]),e.createElementVNode("g",null,[k[7]||(k[7]=e.createElementVNode("rect",{x:"0",y:"53",width:"20",height:"14",rx:"2",fill:"#64748b",stroke:"#334155","stroke-width":"1"},null,-1)),k[8]||(k[8]=e.createElementVNode("text",{x:"10",y:"62","font-size":"5",fill:"#3b82f6","text-anchor":"middle","font-weight":"bold"},"C-IN",-1)),n.value?(e.openBlock(),e.createElementBlock("rect",{key:0,x:f.value,y:"56",width:"8",height:"8",fill:`url(#cold-fluid-${r.value})`},null,8,wh)):e.createCommentVNode("",!0)]),e.createElementVNode("g",null,[k[9]||(k[9]=e.createElementVNode("rect",{x:"120",y:"53",width:"20",height:"14",rx:"2",fill:"#64748b",stroke:"#334155","stroke-width":"1"},null,-1)),k[10]||(k[10]=e.createElementVNode("text",{x:"130",y:"62","font-size":"5",fill:"#60a5fa","text-anchor":"middle","font-weight":"bold"},"C-OUT",-1)),n.value?(e.openBlock(),e.createElementBlock("rect",{key:0,x:120+w.value,y:"56",width:"8",height:"8",fill:`url(#cold-fluid-${r.value})`,opacity:"0.7"},null,8,Eh)):e.createCommentVNode("",!0)]),e.createElementVNode("g",vh,[k[11]||(k[11]=e.createElementVNode("circle",{cx:"0",cy:"0",r:"15",fill:"#0f172a",stroke:"#475569","stroke-width":"2"},null,-1)),e.createElementVNode("text",{x:"0",y:"2","font-size":"10",fill:h.value,"text-anchor":"middle","font-family":"monospace","font-weight":"bold"},e.toDisplayString(d.value),9,kh),k[12]||(k[12]=e.createElementVNode("text",{x:"0",y:"8","font-size":"4",fill:"#64748b","text-anchor":"middle"},"%",-1))]),e.createElementVNode("g",_h,[k[13]||(k[13]=e.createElementVNode("rect",{x:"-15",y:"-8",width:"30",height:"16",rx:"2",fill:"#1e293b",stroke:"#ef4444","stroke-width":"1"},null,-1)),e.createElementVNode("text",Nh,e.toDisplayString(o.value)+"°C",1),e.createElementVNode("text",Sh,"→"+e.toDisplayString(i.value)+"°C",1)]),e.createElementVNode("g",xh,[k[14]||(k[14]=e.createElementVNode("rect",{x:"-15",y:"-8",width:"30",height:"16",rx:"2",fill:"#1e293b",stroke:"#3b82f6","stroke-width":"1"},null,-1)),e.createElementVNode("text",Vh,e.toDisplayString(l.value)+"°C",1),e.createElementVNode("text",Ch,"→"+e.toDisplayString(s.value)+"°C",1)]),e.createElementVNode("circle",{cx:"30",cy:"38",r:"3",fill:n.value?"#22c55e":"#64748b",opacity:n.value?1:.3},[n.value?(e.openBlock(),e.createElementBlock("animate",Ah)):e.createCommentVNode("",!0)],8,Ih),e.createElementVNode("text",Th," HEX-"+e.toDisplayString(c.value)+"m² ",1)])),e.createElementVNode("div",{class:e.normalizeClass(["status-text",{"is-working":n.value}])},e.toDisplayString(n.value?"运行中":"停止")+" | 效率: "+e.toDisplayString(d.value)+"% ",3)]))}}),[["__scopeId","data-v-ed672204"]]),Bh={class:"tee-3d-container"},Dh={viewBox:"0 0 100 100",xmlns:"http://www.w3.org/2000/svg"},Ph=["id"],Oh=["id"],Mh=["stop-color"],Rh=["stop-color"],jh=["fill"],Lh=["fill"],Uh=["fill"],Fh={key:0},zh=["fill"],Wh=["x","fill"],qh=["x","fill"],Gh=["y","fill"],Hh=["y","fill"],Kh={key:1},Yh=["id"],Qh=["fill"],Jh=["stroke","marker-end"],Xh=["stroke","marker-end"],Zh=["stroke","marker-end"],em={transform:"translate(50, 50)"},tm=["fill"],rm=Me(e.defineComponent({__name:"Tee3D",props:{node:{}},setup(u){const t=u,r=e.ref(`tee-${Math.random().toString(36).substr(2,9)}`),a=()=>t.node?t.node.getData?t.node.getData():t.node.data||{}:{},n=e.ref(!1),o=e.ref("#3b82f6"),i=e.ref(!0),l=e.ref(!0),s=e.ref(0),c=e.ref(0),d=e.ref(0),h=e.ref(0);let m=null;const p=()=>{n.value&&(s.value=(s.value+1)%40,c.value=(c.value+1)%20,d.value=(d.value+1)%20,h.value=(h.value+1)%20),m=requestAnimationFrame(p)},f=()=>{const w=a();n.value=w.state==="flowing"||w.state===!0,o.value=w.fluidColor||"#3b82f6",i.value=w.topFlowEnabled!==!1,l.value=w.bottomFlowEnabled!==!1};return e.watch(()=>t.node,()=>{f()},{deep:!0}),e.onMounted(()=>{f(),p(),t.node&&typeof t.node.on=="function"&&t.node.on("change:data",()=>{f()})}),e.onUnmounted(()=>{m&&cancelAnimationFrame(m)}),(w,N)=>(e.openBlock(),e.createElementBlock("div",Bh,[(e.openBlock(),e.createElementBlock("svg",Dh,[e.createElementVNode("defs",null,[e.createElementVNode("linearGradient",{id:`pipe-gradient-${r.value}`,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},[...N[0]||(N[0]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#475569"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#94a3b8"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#475569"},null,-1)])],8,Ph),e.createElementVNode("radialGradient",{id:`flow-gradient-${r.value}`},[e.createElementVNode("stop",{offset:"0%","stop-color":o.value,"stop-opacity":"0.8"},null,8,Mh),e.createElementVNode("stop",{offset:"100%","stop-color":o.value,"stop-opacity":"0.2"},null,8,Rh)],8,Oh)]),e.createElementVNode("rect",{x:"0",y:"40",width:"100",height:"20",fill:`url(#pipe-gradient-${r.value})`,stroke:"#334155","stroke-width":"1.5"},null,8,jh),e.createElementVNode("rect",{x:"40",y:"0",width:"20",height:"100",fill:`url(#pipe-gradient-${r.value})`,stroke:"#334155","stroke-width":"1.5"},null,8,Lh),e.createElementVNode("circle",{cx:"50",cy:"50",r:"18",fill:`url(#pipe-gradient-${r.value})`,stroke:"#334155","stroke-width":"2"},null,8,Uh),N[3]||(N[3]=e.createElementVNode("rect",{x:"0",y:"43",width:"100",height:"14",fill:"#0f172a"},null,-1)),N[4]||(N[4]=e.createElementVNode("rect",{x:"43",y:"0",width:"14",height:"100",fill:"#0f172a"},null,-1)),N[5]||(N[5]=e.createElementVNode("circle",{cx:"50",cy:"50",r:"15",fill:"#0f172a"},null,-1)),n.value?(e.openBlock(),e.createElementBlock("g",Fh,[e.createElementVNode("circle",{cx:"50",cy:"50",r:"12",fill:`url(#flow-gradient-${r.value})`},[...N[1]||(N[1]=[e.createElementVNode("animate",{attributeName:"r",values:"8;14;8",dur:"1.5s",repeatCount:"indefinite"},null,-1)])],8,zh),e.createElementVNode("rect",{x:s.value,y:"45",width:"20",height:"10",fill:o.value,opacity:"0.6"},null,8,Wh),e.createElementVNode("rect",{x:60+c.value,y:"45",width:"20",height:"10",fill:o.value,opacity:"0.4"},null,8,qh),e.createElementVNode("rect",{x:"45",y:d.value,width:"10",height:"20",fill:o.value,opacity:"0.4"},null,8,Gh),e.createElementVNode("rect",{x:"45",y:60+h.value,width:"10",height:"20",fill:o.value,opacity:"0.4"},null,8,Hh)])):e.createCommentVNode("",!0),N[6]||(N[6]=e.createStaticVNode('<g data-v-cd328987><ellipse cx="0" cy="50" rx="3" ry="10" fill="#64748b" stroke="#334155" stroke-width="1" data-v-cd328987></ellipse><circle cx="0" cy="45" r="1" fill="#1e293b" data-v-cd328987></circle><circle cx="0" cy="55" r="1" fill="#1e293b" data-v-cd328987></circle><ellipse cx="100" cy="50" rx="3" ry="10" fill="#64748b" stroke="#334155" stroke-width="1" data-v-cd328987></ellipse><circle cx="100" cy="45" r="1" fill="#1e293b" data-v-cd328987></circle><circle cx="100" cy="55" r="1" fill="#1e293b" data-v-cd328987></circle><ellipse cx="50" cy="0" rx="10" ry="3" fill="#64748b" stroke="#334155" stroke-width="1" data-v-cd328987></ellipse><circle cx="45" cy="0" r="1" fill="#1e293b" data-v-cd328987></circle><circle cx="55" cy="0" r="1" fill="#1e293b" data-v-cd328987></circle><ellipse cx="50" cy="100" rx="10" ry="3" fill="#64748b" stroke="#334155" stroke-width="1" data-v-cd328987></ellipse><circle cx="45" cy="100" r="1" fill="#1e293b" data-v-cd328987></circle><circle cx="55" cy="100" r="1" fill="#1e293b" data-v-cd328987></circle></g>',1)),n.value?(e.openBlock(),e.createElementBlock("g",Kh,[e.createElementVNode("defs",null,[e.createElementVNode("marker",{id:`arrow-${r.value}`,markerWidth:"8",markerHeight:"8",refX:"6",refY:"3",orient:"auto"},[e.createElementVNode("path",{d:"M0,0 L0,6 L6,3 z",fill:o.value},null,8,Qh)],8,Yh)]),e.createElementVNode("line",{x1:"20",y1:"50",x2:"35",y2:"50",stroke:o.value,"stroke-width":"2","marker-end":`url(#arrow-${r.value})`},null,8,Jh),i.value?(e.openBlock(),e.createElementBlock("line",{key:0,x1:"50",y1:"35",x2:"50",y2:"20",stroke:o.value,"stroke-width":"2","marker-end":`url(#arrow-${r.value})`},null,8,Xh)):e.createCommentVNode("",!0),l.value?(e.openBlock(),e.createElementBlock("line",{key:1,x1:"50",y1:"65",x2:"50",y2:"80",stroke:o.value,"stroke-width":"2","marker-end":`url(#arrow-${r.value})`},null,8,Zh)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.createElementVNode("g",em,[N[2]||(N[2]=e.createElementVNode("circle",{cx:"0",cy:"0",r:"6",fill:"#0f172a",stroke:"#475569","stroke-width":"1"},null,-1)),e.createElementVNode("circle",{cx:"0",cy:"0",r:"3",fill:n.value?"#22c55e":"#64748b"},null,8,tm)])])),e.createElementVNode("div",{class:e.normalizeClass(["status-text",{"is-flowing":n.value}])},e.toDisplayString(n.value?"流动中":"关闭"),3)]))}}),[["__scopeId","data-v-cd328987"]]),wa={metadata:{id:"pipe-3d",name:"3D管道",category:"iot",icon:"🔧",description:"3D仿真管道组件,支持横向/纵向和流体动画",version:"1.0.0"},shape:"pipe-3d-vue",component:Wp,width:220,height:60,label:"",attrs:{body:{fill:"transparent",stroke:"transparent"}},data:{type:"pipe",state:!1,flowRate:10,direction:"horizontal",fluidColor:"#3b82f6",diameter:40,length:200,deviceId:"",property:""},ports:{groups:{left:{position:"left",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},right:{position:"right",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}}},items:[{id:"port-left",group:"left"},{id:"port-right",group:"right"}]},props:[{key:"state",label:"流动状态",type:"select",path:"data.state",defaultValue:!1,options:[{label:"停止",value:!1},{label:"流动",value:"flowing"}],description:"管道流体状态",bindable:!0},{key:"flowRate",label:"流量(m³/h)",type:"number",path:"data.flowRate",defaultValue:10,min:0,description:"流体流量",bindable:!0},{key:"direction",label:"管道方向",type:"select",path:"data.direction",defaultValue:"horizontal",options:[{label:"横向",value:"horizontal"},{label:"纵向",value:"vertical"}],description:"管道布置方向"},{key:"fluidColor",label:"流体颜色",type:"color",path:"data.fluidColor",defaultValue:"#3b82f6",description:"流体显示颜色",bindable:!0},{key:"diameter",label:"管径(mm)",type:"number",path:"data.diameter",defaultValue:40,min:20,max:100,description:"管道直径"},{key:"length",label:"长度(mm)",type:"number",path:"data.length",defaultValue:200,min:100,max:500,description:"管道长度"},{key:"deviceId",label:"设备ID",type:"text",path:"data.deviceId",defaultValue:"",description:"绑定的设备ID"},{key:"property",label:"设备属性",type:"text",path:"data.property",defaultValue:"",description:"绑定的设备属性名称"}],points:[{id:"status",name:"流动状态",description:"管道流体流动状态",dataType:"boolean",defaultValue:!1,required:!0},{id:"flow_rate",name:"流量",description:"管道流体流量",dataType:"number",unit:"m³/h",defaultValue:0,required:!0,range:{min:0}},{id:"pressure",name:"压力",description:"管道内压力",dataType:"number",unit:"kPa",defaultValue:0,required:!1},{id:"temperature",name:"温度",description:"流体温度",dataType:"number",unit:"℃",defaultValue:25,required:!1}]},Ea={metadata:{id:"filter-3d",name:"3D过滤器",category:"iot",icon:"🧹",description:"3D仿真过滤器,支持堵塞度和压差显示",version:"1.0.0"},shape:"filter-3d-vue",component:lh,width:140,height:120,label:"",attrs:{body:{fill:"transparent",stroke:"transparent"}},data:{type:"filter",clogLevel:20,pressureDrop:5,diameter:50,alarmThreshold:70,deviceId:"",property:""},ports:{groups:{left:{position:"left",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},right:{position:"right",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}}},items:[{id:"port-left",group:"left"},{id:"port-right",group:"right"}]},props:[{key:"clogLevel",label:"堵塞度(%)",type:"number",path:"data.clogLevel",defaultValue:20,min:0,max:100,description:"滤芯堵塞程度",bindable:!0},{key:"pressureDrop",label:"压差(kPa)",type:"number",path:"data.pressureDrop",defaultValue:5,min:0,description:"过滤器压差",bindable:!0},{key:"diameter",label:"口径(mm)",type:"number",path:"data.diameter",defaultValue:50,min:20,max:100,description:"过滤器口径"},{key:"alarmThreshold",label:"报警阈值(%)",type:"number",path:"data.alarmThreshold",defaultValue:70,min:0,max:100,description:"堵塞度报警阈值"},{key:"deviceId",label:"设备ID",type:"text",path:"data.deviceId",defaultValue:"",description:"绑定的设备ID"},{key:"property",label:"设备属性",type:"text",path:"data.property",defaultValue:"",description:"绑定的设备属性名称"}],points:[{id:"clog_level",name:"堵塞度",description:"滤芯堵塞程度百分比",dataType:"number",unit:"%",defaultValue:0,required:!0,range:{min:0,max:100}},{id:"pressure_drop",name:"压差",description:"过滤器进出口压差",dataType:"number",unit:"kPa",defaultValue:0,required:!0,range:{min:0}},{id:"flow_rate",name:"流量",description:"通过过滤器的流量",dataType:"number",unit:"m³/h",defaultValue:0,required:!1},{id:"alarm",name:"告警状态",description:"是否触发堵塞告警",dataType:"boolean",defaultValue:!1,required:!1}]},va={metadata:{id:"heat-exchanger-3d",name:"3D换热器",category:"iot",icon:"🔥",description:"3D仿真换热器,支持热冷流体交换和效率显示",version:"1.0.0"},shape:"heat-exchanger-3d-vue",component:$h,width:160,height:140,label:"",attrs:{body:{fill:"transparent",stroke:"transparent"}},data:{type:"heat-exchanger",state:!1,hotTempIn:80,hotTempOut:50,coldTempIn:20,coldTempOut:40,heatTransferArea:10,deviceId:"",property:""},ports:{groups:{top:{position:"top",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},bottom:{position:"bottom",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},left:{position:"left",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},right:{position:"right",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}}},items:[{id:"port-top",group:"top"},{id:"port-bottom",group:"bottom"},{id:"port-left",group:"left"},{id:"port-right",group:"right"}]},props:[{key:"state",label:"运行状态",type:"select",path:"data.state",defaultValue:!1,options:[{label:"停止",value:!1},{label:"运行",value:"working"}],description:"换热器运行状态",bindable:!0},{key:"hotTempIn",label:"热侧进口(°C)",type:"number",path:"data.hotTempIn",defaultValue:80,description:"热流体进口温度",bindable:!0},{key:"hotTempOut",label:"热侧出口(°C)",type:"number",path:"data.hotTempOut",defaultValue:50,description:"热流体出口温度",bindable:!0},{key:"coldTempIn",label:"冷侧进口(°C)",type:"number",path:"data.coldTempIn",defaultValue:20,description:"冷流体进口温度",bindable:!0},{key:"coldTempOut",label:"冷侧出口(°C)",type:"number",path:"data.coldTempOut",defaultValue:40,description:"冷流体出口温度",bindable:!0},{key:"heatTransferArea",label:"换热面积(m²)",type:"number",path:"data.heatTransferArea",defaultValue:10,min:1,description:"换热器换热面积"},{key:"deviceId",label:"设备ID",type:"text",path:"data.deviceId",defaultValue:"",description:"绑定的设备ID"},{key:"property",label:"设备属性",type:"text",path:"data.property",defaultValue:"",description:"绑定的设备属性名称"}],points:[{id:"status",name:"运行状态",description:"换热器运行状态",dataType:"boolean",defaultValue:!1,required:!0},{id:"hot_temp_in",name:"热侧进口温度",description:"热流体进口温度",dataType:"number",unit:"℃",defaultValue:80,required:!0},{id:"hot_temp_out",name:"热侧出口温度",description:"热流体出口温度",dataType:"number",unit:"℃",defaultValue:50,required:!0},{id:"cold_temp_in",name:"冷侧进口温度",description:"冷流体进口温度",dataType:"number",unit:"℃",defaultValue:20,required:!0},{id:"cold_temp_out",name:"冷侧出口温度",description:"冷流体出口温度",dataType:"number",unit:"℃",defaultValue:40,required:!0},{id:"efficiency",name:"换热效率",description:"换热器当前效率",dataType:"number",unit:"%",defaultValue:85,required:!1,range:{min:0,max:100}}]},ka={metadata:{id:"tee-3d",name:"3D三通",category:"iot",icon:"⛓️",description:"3D仿真三通管件,支持流体分流和汇流",version:"1.0.0"},shape:"tee-3d-vue",component:rm,width:120,height:120,label:"",attrs:{body:{fill:"transparent",stroke:"transparent"}},data:{type:"tee",state:!1,fluidColor:"#3b82f6",topFlowEnabled:!0,bottomFlowEnabled:!0,deviceId:"",property:""},ports:{groups:{left:{position:"left",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},right:{position:"right",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},top:{position:"top",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},bottom:{position:"bottom",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}}},items:[{id:"port-left",group:"left"},{id:"port-right",group:"right"},{id:"port-top",group:"top"},{id:"port-bottom",group:"bottom"}]},props:[{key:"state",label:"流动状态",type:"select",path:"data.state",defaultValue:!1,options:[{label:"关闭",value:!1},{label:"流动",value:"flowing"}],description:"三通管件流动状态",bindable:!0},{key:"fluidColor",label:"流体颜色",type:"color",path:"data.fluidColor",defaultValue:"#3b82f6",description:"流体显示颜色"},{key:"topFlowEnabled",label:"上方分流",type:"boolean",path:"data.topFlowEnabled",defaultValue:!0,description:"是否启用上方分流",bindable:!0},{key:"bottomFlowEnabled",label:"下方分流",type:"boolean",path:"data.bottomFlowEnabled",defaultValue:!0,description:"是否启用下方分流",bindable:!0},{key:"deviceId",label:"设备ID",type:"text",path:"data.deviceId",defaultValue:"",description:"绑定的设备ID"},{key:"property",label:"设备属性",type:"text",path:"data.property",defaultValue:"",description:"绑定的设备属性名称"}],points:[{id:"status",name:"流动状态",description:"三通管件流动状态",dataType:"boolean",defaultValue:!1,required:!0},{id:"top_flow_enabled",name:"上方分流",description:"上方分流是否启用",dataType:"boolean",defaultValue:!0,required:!1},{id:"bottom_flow_enabled",name:"下方分流",description:"下方分流是否启用",dataType:"boolean",defaultValue:!0,required:!1},{id:"inlet_flow",name:"入口流量",description:"三通入口流量",dataType:"number",unit:"m³/h",defaultValue:0,required:!1}]},om=Object.freeze(Object.defineProperty({__proto__:null,AlarmLight3DComponent:ga,Conveyor3DComponent:ma,Cylinder3DComponent:ba,EChartsGaugeComponent:la,EChartsLineComponent:da,Filter3DComponent:Ea,HeatExchanger3DComponent:va,LightComponent:ia,Motor3DComponent:ua,Pipe3DComponent:wa,Pump3DComponent:ha,SwitchComponent:aa,Tank3DComponent:pa,Tee3DComponent:ka,TemperatureSensor3DComponent:ya,Valve3DComponent:fa},Symbol.toStringTag,{value:"Module"}));class nm{constructor(){ve(this,"registry",{});this.registerDefaultComponents()}registerDefaultComponents(){this.register(ra),this.register(oa),this.register(na),this.register(ia),this.register(aa),this.register(la),this.register(da),this.register(ua),this.register(fa),this.register(pa),this.register(ha),this.register(ma),this.register(ga),this.register(ya),this.register(ba),this.register(wa),this.register(Ea),this.register(va),this.register(ka)}register(t){const{id:r}=t.metadata;this.registry[r]&&console.warn(`组件 ${r} 已存在,将被覆盖`),this.registry[r]=t}registerBatch(t){t.forEach(r=>this.register(r))}getComponent(t){return this.registry[t]}getComponentByShape(t){return Object.values(this.registry).find(r=>r.shape===t)}getAllComponents(){return{...this.registry}}getComponentsByCategory(t){return Object.values(this.registry).filter(r=>r.metadata.category===t)}getComponentList(){return Object.values(this.registry)}hasComponent(t){return t in this.registry}unregister(t){return this.registry[t]?(delete this.registry[t],!0):(console.warn(`组件 ${t} 不存在`),!1)}getCount(){return Object.keys(this.registry).length}clear(){this.registry={}}}const $t=new nm,wo={size:{width:1920,height:1080,preset:"1920*1080"},zoom:{scale:1,min:.1,max:5},offset:{x:0,y:0},background:{color:"#1e293b",size:"origin",repeat:"repeat"},grid:{enabled:!0,size:10,color:"#475569",type:"dot"},snap:{enabled:!0,threshold:10},guides:{enabled:!1,color:"#3b82f6"},magnetism:{enabled:!0,threshold:10}},im=[{key:"sizePreset",label:"画布尺寸",type:"select",category:"basic",path:"size.preset",defaultValue:"1920*1080",options:[{label:"1920*1080",value:"1920*1080"},{label:"1366*768",value:"1366*768"},{label:"1280*720",value:"1280*720"},{label:"800*600",value:"800*600"}],description:"预设画布尺寸"},{key:"scale",label:"缩放倍数",type:"slider",category:"transform",path:"zoom.scale",defaultValue:1,min:.1,max:5,step:.1,description:"画布缩放比例"},{key:"offsetX",label:"画布X轴偏移",type:"number",category:"transform",path:"offset.x",defaultValue:0,description:"X轴偏移量"},{key:"offsetY",label:"画布Y轴偏移",type:"number",category:"transform",path:"offset.y",defaultValue:0,description:"Y轴偏移量"},{key:"backgroundColor",label:"背景颜色",type:"color",category:"background",path:"background.color",defaultValue:"#1e293b",description:"画布背景颜色"},{key:"backgroundImage",label:"背景图片",type:"image",category:"background",path:"background.image",defaultValue:"",description:"背景图片URL"},{key:"backgroundSize",label:"背景大小",type:"select",category:"background",path:"background.size",defaultValue:"origin",options:[{label:"原始",value:"origin"},{label:"包含",value:"contain"},{label:"覆盖",value:"cover"},{label:"拉伸",value:"stretch"}],description:"背景图片尺寸模式"},{key:"backgroundRepeat",label:"图像重复",type:"select",category:"background",path:"background.repeat",defaultValue:"repeat",options:[{label:"重复",value:"repeat"},{label:"X轴重复",value:"repeat-x"},{label:"Y轴重复",value:"repeat-y"},{label:"不重复",value:"no-repeat"}],description:"背景图片重复模式"},{key:"gridEnabled",label:"网格",type:"boolean",category:"assist",path:"grid.enabled",defaultValue:!0,description:"显示网格"},{key:"gridSize",label:"网格大小",type:"number",category:"assist",path:"grid.size",defaultValue:10,min:5,max:50,description:"网格单元格大小"},{key:"snapEnabled",label:"网格对齐",type:"boolean",category:"assist",path:"snap.enabled",defaultValue:!0,description:"启用网格对齐"},{key:"guidesEnabled",label:"参考线",type:"boolean",category:"assist",path:"guides.enabled",defaultValue:!0,description:"显示参考线"},{key:"magnetismEnabled",label:"吸附",type:"boolean",category:"assist",path:"magnetism.enabled",defaultValue:!0,description:"启用吸附功能"}],ur={"1920*1080":{width:1920,height:1080},"1366*768":{width:1366,height:768},"1280*720":{width:1280,height:720},"800*600":{width:800,height:600}};class am{constructor(){ve(this,"config");this.config=e.reactive({...wo})}getConfig(){return this.config}updateConfig(t){Object.assign(this.config,t)}updateByPath(t,r){const a=t.split(".");let n=this.config;for(let o=0;o<a.length-1;o++)n=n[a[o]];if(n[a[a.length-1]]=r,t==="size.preset"&&r in ur){const{width:o,height:i}=ur[r];this.config.size.width=o,this.config.size.height=i}}getByPath(t){const r=t.split(".");let a=this.config;for(const n of r)a=a==null?void 0:a[n];return a}setSize(t,r,a){this.config.size.width=t,this.config.size.height=r,a&&(this.config.size.preset=a)}updateSize(t){this.config.size.width=t.width,this.config.size.height=t.height}setZoom(t){const{min:r=.1,max:a=5}=this.config.zoom;this.config.zoom.scale=Math.max(r,Math.min(a,t))}setOffset(t,r){this.config.offset.x=t,this.config.offset.y=r}setBackgroundColor(t){this.config.background.color=t}updateBackground(t){t.color!==void 0&&(this.config.background.color=t.color),t.image!==void 0&&(this.config.background.image=t.image),t.size!==void 0&&(this.config.background.size=t.size),t.repeat!==void 0&&(this.config.background.repeat=t.repeat)}setBackgroundImage(t){this.config.background.image=t}toggleGrid(t){this.config.grid.enabled=t??!this.config.grid.enabled}setGridSize(t){this.config.grid.size=t}toggleSnap(t){this.config.snap.enabled=t??!this.config.snap.enabled}toggleGuides(t){this.config.guides.enabled=t??!this.config.guides.enabled}toggleMagnetism(t){this.config.magnetism.enabled=t??!this.config.magnetism.enabled}reset(){Object.assign(this.config,wo)}export(){return JSON.stringify(this.config,null,2)}import(t){try{const r=JSON.parse(t);Object.assign(this.config,r)}catch(r){console.error("导入画布配置失败:",r)}}}const je=new am,sm=["title"],lm={class:"library-content"},cm={key:0,class:"component-section"},dm={class:"component-grid"},um=["onClick","title"],fm={class:"component-icon"},pm={class:"component-name"},hm={key:1,class:"component-section"},mm={class:"component-grid"},gm=["onClick","title"],ym={class:"component-icon"},bm={class:"component-name"},Eo=Me(e.defineComponent({__name:"ComponentLibrary",props:{isCollapsed:{type:Boolean,default:!1}},emits:["addComponent","update:collapsed"],setup(u,{emit:t}){const r=u,a=t,n=()=>{a("update:collapsed",!r.isCollapsed)},o=e.reactive({basic:!1,iot:!1}),i=d=>{o[d]=!o[d]},l=e.computed(()=>$t.getComponentsByCategory("basic")),s=e.computed(()=>$t.getComponentsByCategory("iot")),c=d=>{a("addComponent",d.metadata.id)};return(d,h)=>(e.openBlock(),e.createElementBlock("aside",{class:e.normalizeClass(["component-library",{collapsed:u.isCollapsed}])},[e.createElementVNode("button",{class:"collapse-btn",onClick:n,title:u.isCollapsed?"展开组件库":"折叠组件库"},[...h[2]||(h[2]=[e.createElementVNode("span",{class:"collapse-icon"},"◀",-1)])],8,sm),h[5]||(h[5]=e.createElementVNode("div",{class:"library-header"},[e.createElementVNode("h3",null,"组件库")],-1)),e.createElementVNode("div",lm,[l.value.length>0?(e.openBlock(),e.createElementBlock("div",cm,[e.createElementVNode("div",{class:"section-header",onClick:h[0]||(h[0]=m=>i("basic"))},[h[3]||(h[3]=e.createElementVNode("h4",{class:"section-title"},"基础组件",-1)),e.createElementVNode("span",{class:e.normalizeClass(["toggle-icon",{collapsed:o.basic}])},"▼",2)]),e.withDirectives(e.createElementVNode("div",dm,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,m=>(e.openBlock(),e.createElementBlock("div",{key:m.metadata.id,class:"component-item",onClick:p=>c(m),title:m.metadata.description||m.metadata.name},[e.createElementVNode("span",fm,e.toDisplayString(m.metadata.icon),1),e.createElementVNode("span",pm,e.toDisplayString(m.metadata.name),1)],8,um))),128))],512),[[e.vShow,!o.basic]])])):e.createCommentVNode("",!0),s.value.length>0?(e.openBlock(),e.createElementBlock("div",hm,[e.createElementVNode("div",{class:"section-header",onClick:h[1]||(h[1]=m=>i("iot"))},[h[4]||(h[4]=e.createElementVNode("h4",{class:"section-title"},"IoT组件",-1)),e.createElementVNode("span",{class:e.normalizeClass(["toggle-icon",{collapsed:o.iot}])},"▼",2)]),e.withDirectives(e.createElementVNode("div",mm,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,m=>(e.openBlock(),e.createElementBlock("div",{key:m.metadata.id,class:"component-item",onClick:p=>c(m),title:m.metadata.description||m.metadata.name},[e.createElementVNode("span",ym,e.toDisplayString(m.metadata.icon),1),e.createElementVNode("span",bm,e.toDisplayString(m.metadata.name),1)],8,gm))),128))],512),[[e.vShow,!o.iot]])])):e.createCommentVNode("",!0)])],2))}}),[["__scopeId","data-v-d0dd96c9"]]),wm={class:"canvas-area"},Em=Me(e.defineComponent({__name:"CanvasArea",setup(u,{expose:t}){const r=e.ref();return t({containerRef:r}),(a,n)=>(e.openBlock(),e.createElementBlock("div",wm,[e.createElementVNode("div",{ref_key:"containerRef",ref:r,class:"canvas-container"},null,512)]))}}),[["__scopeId","data-v-8493cde1"]]),vm={class:"canvas-config-panel"},km={class:"panel-content"},_m={class:"config-section"},Nm={class:"config-item"},Sm={key:0,class:"config-item"},xm={class:"number-input-group"},Vm={key:1,class:"config-item"},Cm={class:"number-input-group"},Im={class:"config-section"},Am={class:"config-item"},Tm={class:"slider-group"},$m={class:"value-display"},Bm={class:"config-item"},Dm={class:"number-input-group"},Pm={class:"config-item"},Om={class:"number-input-group"},Mm={class:"config-section"},Rm={class:"config-item"},jm={class:"config-item"},Lm={class:"image-upload"},Um={class:"config-item"},Fm={class:"config-item"},zm={class:"config-section"},Wm={class:"config-item"},qm={class:"switch"},Gm={class:"config-item"},Hm={class:"switch"},Km={class:"config-item"},Ym={class:"switch"},Qm={key:0,class:"config-item"},Jm={class:"number-input-group"},vo=Me(e.defineComponent({__name:"CanvasConfigPanel",setup(u){const t=e.computed(()=>je.getConfig()),r=e.ref(),a=e.ref(t.value.size.width),n=e.ref(t.value.size.height),o=()=>{const p=t.value.size.preset;if(p==="custom")a.value=t.value.size.width,n.value=t.value.size.height;else if(p&&p in ur){const{width:f,height:w}=ur[p];je.setSize(f,w,p)}},i=()=>{t.value.size.preset==="custom"&&je.setSize(a.value,n.value,"custom")},l=(p,f)=>{p==="width"?a.value=Math.max(800,Math.min(7680,a.value+f)):n.value=Math.max(600,Math.min(4320,n.value+f)),i()},s=(p,f)=>{const w=t.value.offset[p];je.setOffset(p==="x"?w+f:t.value.offset.x,p==="y"?w+f:t.value.offset.y)},c=p=>{const f=Math.max(5,Math.min(50,t.value.grid.size+p));je.setGridSize(f)},d=()=>{var p;(p=r.value)==null||p.click()},h=p=>{var N;const w=(N=p.target.files)==null?void 0:N[0];if(w){const S=new FileReader;S.onload=b=>{var k;const E=(k=b.target)==null?void 0:k.result;je.updateByPath("background.image",E)},S.readAsDataURL(w)}},m=()=>{je.updateByPath("background.image",""),r.value&&(r.value.value="")};return(p,f)=>(e.openBlock(),e.createElementBlock("div",vm,[f[48]||(f[48]=e.createElementVNode("div",{class:"panel-header"},[e.createElementVNode("h3",null,"画布配置")],-1)),e.createElementVNode("div",km,[e.createElementVNode("div",_m,[f[27]||(f[27]=e.createElementVNode("h4",{class:"section-title"},"基础配置",-1)),e.createElementVNode("div",Nm,[f[24]||(f[24]=e.createElementVNode("label",null,"画布尺寸",-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":f[0]||(f[0]=w=>t.value.size.preset=w),onChange:o,class:"config-select"},[...f[23]||(f[23]=[e.createStaticVNode('<option value="1920*1080" data-v-be44eb59>1920*1080</option><option value="1366*768" data-v-be44eb59>1366*768</option><option value="1280*720" data-v-be44eb59>1280*720</option><option value="800*600" data-v-be44eb59>800*600</option><option value="custom" data-v-be44eb59>自定义</option>',5)])],544),[[e.vModelSelect,t.value.size.preset]])]),t.value.size.preset==="custom"?(e.openBlock(),e.createElementBlock("div",Sm,[f[25]||(f[25]=e.createElementVNode("label",null,"宽度",-1)),e.createElementVNode("div",xm,[e.createElementVNode("button",{onClick:f[1]||(f[1]=w=>l("width",-100)),class:"adjust-btn"},"-"),e.withDirectives(e.createElementVNode("input",{type:"number","onUpdate:modelValue":f[2]||(f[2]=w=>a.value=w),onChange:i,min:800,max:7680,class:"config-number"},null,544),[[e.vModelText,a.value,void 0,{number:!0}]]),e.createElementVNode("button",{onClick:f[3]||(f[3]=w=>l("width",100)),class:"adjust-btn"},"+")])])):e.createCommentVNode("",!0),t.value.size.preset==="custom"?(e.openBlock(),e.createElementBlock("div",Vm,[f[26]||(f[26]=e.createElementVNode("label",null,"高度",-1)),e.createElementVNode("div",Cm,[e.createElementVNode("button",{onClick:f[4]||(f[4]=w=>l("height",-100)),class:"adjust-btn"},"-"),e.withDirectives(e.createElementVNode("input",{type:"number","onUpdate:modelValue":f[5]||(f[5]=w=>n.value=w),onChange:i,min:600,max:4320,class:"config-number"},null,544),[[e.vModelText,n.value,void 0,{number:!0}]]),e.createElementVNode("button",{onClick:f[6]||(f[6]=w=>l("height",100)),class:"adjust-btn"},"+")])])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Im,[f[31]||(f[31]=e.createElementVNode("h4",{class:"section-title"},"变换",-1)),e.createElementVNode("div",Am,[f[28]||(f[28]=e.createElementVNode("label",null,"缩放倍数",-1)),e.createElementVNode("div",Tm,[e.withDirectives(e.createElementVNode("input",{type:"range","onUpdate:modelValue":f[7]||(f[7]=w=>t.value.zoom.scale=w),min:.1,max:5,step:.1,class:"config-slider"},null,512),[[e.vModelText,t.value.zoom.scale,void 0,{number:!0}]]),e.createElementVNode("span",$m,e.toDisplayString(t.value.zoom.scale.toFixed(1)),1)])]),e.createElementVNode("div",Bm,[f[29]||(f[29]=e.createElementVNode("label",null,"画布X轴偏移",-1)),e.createElementVNode("div",Dm,[e.createElementVNode("button",{onClick:f[8]||(f[8]=w=>s("x",-10)),class:"adjust-btn"},"-"),e.withDirectives(e.createElementVNode("input",{type:"number","onUpdate:modelValue":f[9]||(f[9]=w=>t.value.offset.x=w),class:"config-number"},null,512),[[e.vModelText,t.value.offset.x,void 0,{number:!0}]]),e.createElementVNode("button",{onClick:f[10]||(f[10]=w=>s("x",10)),class:"adjust-btn"},"+")])]),e.createElementVNode("div",Pm,[f[30]||(f[30]=e.createElementVNode("label",null,"画布Y轴偏移",-1)),e.createElementVNode("div",Om,[e.createElementVNode("button",{onClick:f[11]||(f[11]=w=>s("y",-10)),class:"adjust-btn"},"-"),e.withDirectives(e.createElementVNode("input",{type:"number","onUpdate:modelValue":f[12]||(f[12]=w=>t.value.offset.y=w),class:"config-number"},null,512),[[e.vModelText,t.value.offset.y,void 0,{number:!0}]]),e.createElementVNode("button",{onClick:f[13]||(f[13]=w=>s("y",10)),class:"adjust-btn"},"+")])])]),e.createElementVNode("div",Mm,[f[39]||(f[39]=e.createElementVNode("h4",{class:"section-title"},"背景",-1)),e.createElementVNode("div",Rm,[f[32]||(f[32]=e.createElementVNode("label",null,"背景颜色",-1)),e.withDirectives(e.createElementVNode("input",{type:"color","onUpdate:modelValue":f[14]||(f[14]=w=>t.value.background.color=w),class:"config-color"},null,512),[[e.vModelText,t.value.background.color]])]),e.createElementVNode("div",jm,[f[34]||(f[34]=e.createElementVNode("label",null,"背景图片",-1)),e.createElementVNode("div",Lm,[e.createElementVNode("input",{type:"file",accept:"image/*",onChange:h,ref_key:"fileInput",ref:r,style:{display:"none"}},null,544),e.createElementVNode("button",{onClick:d,class:"upload-btn"},[...f[33]||(f[33]=[e.createElementVNode("span",null,"📄",-1)])]),t.value.background.image?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:m,class:"clear-btn",title:"清除背景图"}," ✕ ")):e.createCommentVNode("",!0)])]),e.createElementVNode("div",Um,[f[36]||(f[36]=e.createElementVNode("label",null,"背景大小",-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":f[15]||(f[15]=w=>t.value.background.size=w),class:"config-select"},[...f[35]||(f[35]=[e.createElementVNode("option",{value:"origin"},"原始",-1),e.createElementVNode("option",{value:"contain"},"包含",-1),e.createElementVNode("option",{value:"cover"},"覆盖",-1),e.createElementVNode("option",{value:"stretch"},"拉伸",-1)])],512),[[e.vModelSelect,t.value.background.size]])]),e.createElementVNode("div",Fm,[f[38]||(f[38]=e.createElementVNode("label",null,"图像重复",-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":f[16]||(f[16]=w=>t.value.background.repeat=w),class:"config-select"},[...f[37]||(f[37]=[e.createElementVNode("option",{value:"repeat"},"重复",-1),e.createElementVNode("option",{value:"repeat-x"},"X轴重复",-1),e.createElementVNode("option",{value:"repeat-y"},"Y轴重复",-1),e.createElementVNode("option",{value:"no-repeat"},"不重复",-1)])],512),[[e.vModelSelect,t.value.background.repeat]])])]),e.createElementVNode("div",zm,[f[47]||(f[47]=e.createElementVNode("h4",{class:"section-title"},"辅助",-1)),e.createElementVNode("div",Wm,[f[41]||(f[41]=e.createElementVNode("label",null,"吸附",-1)),e.createElementVNode("label",qm,[e.withDirectives(e.createElementVNode("input",{type:"checkbox","onUpdate:modelValue":f[17]||(f[17]=w=>t.value.magnetism.enabled=w)},null,512),[[e.vModelCheckbox,t.value.magnetism.enabled]]),f[40]||(f[40]=e.createElementVNode("span",{class:"slider"},null,-1))])]),e.createElementVNode("div",Gm,[f[43]||(f[43]=e.createElementVNode("label",null,"网格",-1)),e.createElementVNode("label",Hm,[e.withDirectives(e.createElementVNode("input",{type:"checkbox","onUpdate:modelValue":f[18]||(f[18]=w=>t.value.grid.enabled=w)},null,512),[[e.vModelCheckbox,t.value.grid.enabled]]),f[42]||(f[42]=e.createElementVNode("span",{class:"slider"},null,-1))])]),e.createElementVNode("div",Km,[f[45]||(f[45]=e.createElementVNode("label",null,"网格对齐",-1)),e.createElementVNode("label",Ym,[e.withDirectives(e.createElementVNode("input",{type:"checkbox","onUpdate:modelValue":f[19]||(f[19]=w=>t.value.snap.enabled=w)},null,512),[[e.vModelCheckbox,t.value.snap.enabled]]),f[44]||(f[44]=e.createElementVNode("span",{class:"slider"},null,-1))])]),t.value.grid.enabled?(e.openBlock(),e.createElementBlock("div",Qm,[f[46]||(f[46]=e.createElementVNode("label",null,"网格大小",-1)),e.createElementVNode("div",Jm,[e.createElementVNode("button",{onClick:f[20]||(f[20]=w=>c(-5)),class:"adjust-btn"},"-"),e.withDirectives(e.createElementVNode("input",{type:"number","onUpdate:modelValue":f[21]||(f[21]=w=>t.value.grid.size=w),min:5,max:50,class:"config-number"},null,512),[[e.vModelText,t.value.grid.size,void 0,{number:!0}]]),e.createElementVNode("button",{onClick:f[22]||(f[22]=w=>c(5)),class:"adjust-btn"},"+")])])):e.createCommentVNode("",!0)])])]))}}),[["__scopeId","data-v-be44eb59"]]),Xm={class:"tab-pane"},Zm={class:"property-section"},eg={class:"property-item-inline"},tg=["value"],rg={class:"property-item-inline"},og=["value"],ng={class:"property-item-inline"},ig=["value"],ag={class:"property-section"},sg={class:"property-row"},lg={class:"property-item"},cg=["value"],dg={class:"property-item"},ug=["value"],fg={class:"property-row"},pg={class:"property-item"},hg=["value"],mg={class:"property-item"},gg=["value"],yg={class:"property-section"},bg={class:"property-item-inline"},wg=["value"],Eg={class:"property-item-inline"},vg={class:"color-input-wrapper"},kg=["value"],_g={class:"color-value"},Ng={class:"property-item-inline"},Sg={class:"color-input-wrapper"},xg=["value"],Vg={class:"color-value"},Cg={class:"property-item-inline"},Ig=["value"],Ag={class:"property-item-inline"},Tg=["value"],$g={key:0,class:"property-section"},Bg={key:0,class:"property-hint"},Dg=["value","onInput","placeholder"],Pg=["value","onInput","min","max","step"],Og={key:2,class:"color-input-wrapper"},Mg=["value","onInput"],Rg={class:"color-value"},jg={key:3,class:"checkbox-wrapper"},Lg=["checked","onChange"],Ug={class:"checkbox-label"},Fg=["value","onChange"],zg=["value"],ko=Me(e.defineComponent({__name:"BasicPropertiesTab",props:{selectedNode:{},nodePosition:{},nodeSize:{},nodeAttrs:{}},emits:["update-position","update-size","update-label","update-fill","update-stroke","update-stroke-width","update-opacity","update-component-name","update-dynamic-prop"],setup(u,{emit:t}){const r=u,a=t,n=e.computed(()=>{var c,d;if(!((d=(c=r.selectedNode)==null?void 0:c.data)!=null&&d.props))return[];const s=["label","fill","stroke","strokeWidth","opacity"];return r.selectedNode.data.props.filter(h=>!s.includes(h.key))}),o=s=>{if(!s.path)return s.defaultValue;const c=s.path.split(".");let d=r.selectedNode;for(const h of c)if(d&&typeof d=="object")d=d[h];else return s.defaultValue;return d!==void 0?d:s.defaultValue},i=s=>!s||s==="transparent"?"#000000":typeof s=="string"&&s.startsWith("#")?s:"#000000",l=(s,c)=>{var m;const d=c.target;let h;if(s.type==="number")h=Number(d.value);else if(s.type==="boolean")h=d.checked;else if(s.type==="select"){const p=(m=s.options)==null?void 0:m.find(f=>String(f.value)===d.value);h=p?p.value:d.value}else h=d.value;a("update-dynamic-prop",s.path,h)};return(s,c)=>{var d,h,m,p,f,w,N,S,b,E,k,v,V,T,C,A,I;return e.openBlock(),e.createElementBlock("div",Xm,[e.createElementVNode("div",Zm,[c[13]||(c[13]=e.createElementVNode("h4",null,"基础信息",-1)),e.createElementVNode("div",eg,[c[10]||(c[10]=e.createElementVNode("label",null,"组件名称",-1)),e.createElementVNode("input",{type:"text",value:((d=u.selectedNode.getData())==null?void 0:d.componentName)||"",onInput:c[0]||(c[0]=$=>s.$emit("update-component-name",$)),placeholder:"请输入组件名称"},null,40,tg)]),e.createElementVNode("div",rg,[c[11]||(c[11]=e.createElementVNode("label",null,"ID",-1)),e.createElementVNode("input",{type:"text",value:u.selectedNode.id,disabled:""},null,8,og)]),e.createElementVNode("div",ng,[c[12]||(c[12]=e.createElementVNode("label",null,"类型",-1)),e.createElementVNode("input",{type:"text",value:u.selectedNode.shape,disabled:""},null,8,ig)])]),e.createElementVNode("div",ag,[c[18]||(c[18]=e.createElementVNode("h4",null,"位置和尺寸",-1)),e.createElementVNode("div",sg,[e.createElementVNode("div",lg,[c[14]||(c[14]=e.createElementVNode("label",null,"X",-1)),e.createElementVNode("input",{type:"number",value:u.nodePosition.x,onInput:c[1]||(c[1]=$=>s.$emit("update-position","x",$))},null,40,cg)]),e.createElementVNode("div",dg,[c[15]||(c[15]=e.createElementVNode("label",null,"Y",-1)),e.createElementVNode("input",{type:"number",value:u.nodePosition.y,onInput:c[2]||(c[2]=$=>s.$emit("update-position","y",$))},null,40,ug)])]),e.createElementVNode("div",fg,[e.createElementVNode("div",pg,[c[16]||(c[16]=e.createElementVNode("label",null,"宽度",-1)),e.createElementVNode("input",{type:"number",value:u.nodeSize.width,onInput:c[3]||(c[3]=$=>s.$emit("update-size","width",$))},null,40,hg)]),e.createElementVNode("div",mg,[c[17]||(c[17]=e.createElementVNode("label",null,"高度",-1)),e.createElementVNode("input",{type:"number",value:u.nodeSize.height,onInput:c[4]||(c[4]=$=>s.$emit("update-size","height",$))},null,40,gg)])])]),e.createElementVNode("div",yg,[c[24]||(c[24]=e.createElementVNode("h4",null,"样式",-1)),e.createElementVNode("div",bg,[c[19]||(c[19]=e.createElementVNode("label",null,"初始文本",-1)),e.createElementVNode("input",{type:"text",value:((m=(h=u.nodeAttrs)==null?void 0:h.text)==null?void 0:m.text)||((f=(p=u.nodeAttrs)==null?void 0:p.label)==null?void 0:f.text)||u.selectedNode.getProp("label")||"",onInput:c[5]||(c[5]=$=>s.$emit("update-label",$)),placeholder:"设置默认显示文本"},null,40,wg)]),e.createElementVNode("div",Eg,[c[20]||(c[20]=e.createElementVNode("label",null,"填充颜色",-1)),e.createElementVNode("div",vg,[e.createElementVNode("input",{type:"color",value:i((N=(w=u.nodeAttrs)==null?void 0:w.body)==null?void 0:N.fill)||"#3b82f6",onInput:c[6]||(c[6]=$=>s.$emit("update-fill",$))},null,40,kg),e.createElementVNode("span",_g,e.toDisplayString(((b=(S=u.nodeAttrs)==null?void 0:S.body)==null?void 0:b.fill)||"#3b82f6"),1)])]),e.createElementVNode("div",Ng,[c[21]||(c[21]=e.createElementVNode("label",null,"边框颜色",-1)),e.createElementVNode("div",Sg,[e.createElementVNode("input",{type:"color",value:i((k=(E=u.nodeAttrs)==null?void 0:E.body)==null?void 0:k.stroke)||"#2563eb",onInput:c[7]||(c[7]=$=>s.$emit("update-stroke",$))},null,40,xg),e.createElementVNode("span",Vg,e.toDisplayString(((V=(v=u.nodeAttrs)==null?void 0:v.body)==null?void 0:V.stroke)||"#2563eb"),1)])]),e.createElementVNode("div",Cg,[c[22]||(c[22]=e.createElementVNode("label",null,"边框宽度",-1)),e.createElementVNode("input",{type:"number",min:"0",max:"10",value:((C=(T=u.nodeAttrs)==null?void 0:T.body)==null?void 0:C.strokeWidth)||2,onInput:c[8]||(c[8]=$=>s.$emit("update-stroke-width",$))},null,40,Ig)]),e.createElementVNode("div",Ag,[c[23]||(c[23]=e.createElementVNode("label",null,"透明度",-1)),e.createElementVNode("input",{type:"number",min:"0",max:"1",step:"0.1",value:((I=(A=u.nodeAttrs)==null?void 0:A.body)==null?void 0:I.opacity)!==void 0?u.nodeAttrs.body.opacity:1,onInput:c[9]||(c[9]=$=>s.$emit("update-opacity",$))},null,40,Tg)])]),n.value.length>0?(e.openBlock(),e.createElementBlock("div",$g,[c[25]||(c[25]=e.createElementVNode("h4",null,"组件属性",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,$=>(e.openBlock(),e.createElementBlock("div",{key:$.key,class:"property-item-inline"},[e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString($.label)+" ",1),$.description?(e.openBlock(),e.createElementBlock("span",Bg,e.toDisplayString($.description),1)):e.createCommentVNode("",!0)]),$.type==="text"?(e.openBlock(),e.createElementBlock("input",{key:0,type:"text",value:o($),onInput:x=>l($,x),placeholder:$.defaultValue},null,40,Dg)):$.type==="number"?(e.openBlock(),e.createElementBlock("input",{key:1,type:"number",value:o($),onInput:x=>l($,x),min:$.min,max:$.max,step:$.step},null,40,Pg)):$.type==="color"?(e.openBlock(),e.createElementBlock("div",Og,[e.createElementVNode("input",{type:"color",value:i(o($)),onInput:x=>l($,x)},null,40,Mg),e.createElementVNode("span",Rg,e.toDisplayString(o($)),1)])):$.type==="boolean"?(e.openBlock(),e.createElementBlock("div",jg,[e.createElementVNode("input",{type:"checkbox",checked:o($),onChange:x=>l($,x)},null,40,Lg),e.createElementVNode("span",Ug,e.toDisplayString(o($)?"是":"否"),1)])):$.type==="select"?(e.openBlock(),e.createElementBlock("select",{key:4,value:o($),onChange:x=>l($,x)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList($.options,x=>(e.openBlock(),e.createElementBlock("option",{key:x.value,value:x.value},e.toDisplayString(x.label),9,zg))),128))],40,Fg)):e.createCommentVNode("",!0)]))),128))])):e.createCommentVNode("",!0)])}}}),[["__scopeId","data-v-9adee2cc"]]);var _o=Object.defineProperty,Wg=Object.getOwnPropertyDescriptor,qg=Object.getOwnPropertyNames,Gg=Object.prototype.hasOwnProperty,dt=(u,t)=>()=>(u&&(t=u(u=0)),t),_e=(u,t)=>()=>(t||u((t={exports:{}}).exports,t),t.exports),rr=(u,t)=>{for(var r in t)_o(u,r,{get:t[r],enumerable:!0})},Hg=(u,t,r,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of qg(t))!Gg.call(u,n)&&n!==r&&_o(u,n,{get:()=>t[n],enumerable:!(a=Wg(t,n))||a.enumerable});return u},We=u=>Hg(_o({},"__esModule",{value:!0}),u),ye=dt(()=>{}),ze={};rr(ze,{_debugEnd:()=>nn,_debugProcess:()=>on,_events:()=>vn,_eventsCount:()=>kn,_exiting:()=>zo,_fatalExceptions:()=>en,_getActiveHandles:()=>Ia,_getActiveRequests:()=>Ca,_kill:()=>Go,_linkedBinding:()=>xa,_maxListeners:()=>En,_preload_modules:()=>yn,_rawDebug:()=>Lo,_startProfilerIdleNotifier:()=>an,_stopProfilerIdleNotifier:()=>sn,_tickCallback:()=>rn,abort:()=>un,addListener:()=>_n,allowedNodeEnvironmentFlags:()=>Xo,arch:()=>xo,argv:()=>Io,argv0:()=>gn,assert:()=>Aa,binding:()=>Do,browser:()=>jo,chdir:()=>Mo,config:()=>Wo,cpuUsage:()=>pr,cwd:()=>Oo,debugPort:()=>mn,default:()=>Tn,dlopen:()=>Va,domain:()=>Fo,emit:()=>Cn,emitWarning:()=>Bo,env:()=>Co,execArgv:()=>Ao,execPath:()=>hn,exit:()=>Qo,features:()=>Zo,hasUncaughtExceptionCaptureCallback:()=>Ta,hrtime:()=>Vr,kill:()=>Yo,listeners:()=>Ba,memoryUsage:()=>Ko,moduleLoadList:()=>Uo,nextTick:()=>Na,off:()=>Sn,on:()=>vt,once:()=>Nn,openStdin:()=>Jo,pid:()=>fn,platform:()=>Vo,ppid:()=>pn,prependListener:()=>In,prependOnceListener:()=>An,reallyExit:()=>qo,release:()=>Ro,removeAllListeners:()=>Vn,removeListener:()=>xn,resourceUsage:()=>Ho,setSourceMapsEnabled:()=>bn,setUncaughtExceptionCaptureCallback:()=>tn,stderr:()=>cn,stdin:()=>dn,stdout:()=>ln,title:()=>So,umask:()=>Po,uptime:()=>$a,version:()=>To,versions:()=>$o});function No(u){throw new Error("Node.js process "+u+" is not supported by JSPM core outside of Node.js")}function Kg(){!Ht||!Kt||(Ht=!1,Kt.length?yt=Kt.concat(yt):fr=-1,yt.length&&_a())}function _a(){if(!Ht){var u=setTimeout(Kg,0);Ht=!0;for(var t=yt.length;t;){for(Kt=yt,yt=[];++fr<t;)Kt&&Kt[fr].run();fr=-1,t=yt.length}Kt=null,Ht=!1,clearTimeout(u)}}function Na(u){var t=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];yt.push(new Sa(u,t)),yt.length===1&&!Ht&&setTimeout(_a,0)}function Sa(u,t){this.fun=u,this.array=t}function it(){}function xa(u){No("_linkedBinding")}function Va(u){No("dlopen")}function Ca(){return[]}function Ia(){return[]}function Aa(u,t){if(!u)throw new Error(t||"assertion error")}function Ta(){return!1}function $a(){return kt.now()/1e3}function Vr(u){var t=Math.floor((Date.now()-kt.now())*.001),r=kt.now()*.001,a=Math.floor(r)+t,n=Math.floor(r%1*1e9);return u&&(a=a-u[0],n=n-u[1],n<0&&(a--,n+=Cr)),[a,n]}function vt(){return Tn}function Ba(u){return[]}var yt,Ht,Kt,fr,So,xo,Vo,Co,Io,Ao,To,$o,Bo,Do,Po,Oo,Mo,Ro,jo,Lo,Uo,Fo,zo,Wo,qo,Go,pr,Ho,Ko,Yo,Qo,Jo,Xo,Zo,en,tn,rn,on,nn,an,sn,ln,cn,dn,un,fn,pn,hn,mn,gn,yn,bn,kt,wn,Cr,En,vn,kn,_n,Nn,Sn,xn,Vn,Cn,In,An,Tn,Yg=dt(()=>{ye(),we(),be(),yt=[],Ht=!1,fr=-1,Sa.prototype.run=function(){this.fun.apply(null,this.array)},So="browser",xo="x64",Vo="browser",Co={PATH:"/usr/bin",LANG:typeof navigator<"u"?navigator.language+".UTF-8":void 0,PWD:"/",HOME:"/home",TMP:"/tmp"},Io=["/usr/bin/node"],Ao=[],To="v16.8.0",$o={},Bo=function(u,t){console.warn((t?t+": ":"")+u)},Do=function(u){No("binding")},Po=function(u){return 0},Oo=function(){return"/"},Mo=function(u){},Ro={name:"node",sourceUrl:"",headersUrl:"",libUrl:""},jo=!0,Lo=it,Uo=[],Fo={},zo=!1,Wo={},qo=it,Go=it,pr=function(){return{}},Ho=pr,Ko=pr,Yo=it,Qo=it,Jo=it,Xo={},Zo={inspector:!1,debug:!1,uv:!1,ipv6:!1,tls_alpn:!1,tls_sni:!1,tls_ocsp:!1,tls:!1,cached_builtins:!0},en=it,tn=it,rn=it,on=it,nn=it,an=it,sn=it,ln=void 0,cn=void 0,dn=void 0,un=it,fn=2,pn=1,hn="/bin/usr/node",mn=9229,gn="node",yn=[],bn=it,kt={now:typeof performance<"u"?performance.now.bind(performance):void 0,timing:typeof performance<"u"?performance.timing:void 0},kt.now===void 0&&(wn=Date.now(),kt.timing&&kt.timing.navigationStart&&(wn=kt.timing.navigationStart),kt.now=()=>Date.now()-wn),Cr=1e9,Vr.bigint=function(u){var t=Vr(u);return typeof BigInt>"u"?t[0]*Cr+t[1]:BigInt(t[0]*Cr)+BigInt(t[1])},En=10,vn={},kn=0,_n=vt,Nn=vt,Sn=vt,xn=vt,Vn=vt,Cn=it,In=vt,An=vt,Tn={version:To,versions:$o,arch:xo,platform:Vo,browser:jo,release:Ro,_rawDebug:Lo,moduleLoadList:Uo,binding:Do,_linkedBinding:xa,_events:vn,_eventsCount:kn,_maxListeners:En,on:vt,addListener:_n,once:Nn,off:Sn,removeListener:xn,removeAllListeners:Vn,emit:Cn,prependListener:In,prependOnceListener:An,listeners:Ba,domain:Fo,_exiting:zo,config:Wo,dlopen:Va,uptime:$a,_getActiveRequests:Ca,_getActiveHandles:Ia,reallyExit:qo,_kill:Go,cpuUsage:pr,resourceUsage:Ho,memoryUsage:Ko,kill:Yo,exit:Qo,openStdin:Jo,allowedNodeEnvironmentFlags:Xo,assert:Aa,features:Zo,_fatalExceptions:en,setUncaughtExceptionCaptureCallback:tn,hasUncaughtExceptionCaptureCallback:Ta,emitWarning:Bo,nextTick:Na,_tickCallback:rn,_debugProcess:on,_debugEnd:nn,_startProfilerIdleNotifier:an,_stopProfilerIdleNotifier:sn,stdout:ln,stdin:dn,stderr:cn,abort:un,umask:Po,chdir:Mo,cwd:Oo,env:Co,title:So,argv:Io,execArgv:Ao,pid:fn,ppid:pn,execPath:hn,debugPort:mn,hrtime:Vr,argv0:gn,_preload_modules:yn,setSourceMapsEnabled:bn}}),be=dt(()=>{Yg()});function Qg(){if($n)return or;$n=!0,or.byteLength=l,or.toByteArray=c,or.fromByteArray=m;for(var u=[],t=[],r=typeof Uint8Array<"u"?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",n=0,o=a.length;n<o;++n)u[n]=a[n],t[a.charCodeAt(n)]=n;t[45]=62,t[95]=63;function i(p){var f=p.length;if(f%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var w=p.indexOf("=");w===-1&&(w=f);var N=w===f?0:4-w%4;return[w,N]}function l(p){var f=i(p),w=f[0],N=f[1];return(w+N)*3/4-N}function s(p,f,w){return(f+w)*3/4-w}function c(p){var f,w=i(p),N=w[0],S=w[1],b=new r(s(p,N,S)),E=0,k=S>0?N-4:N,v;for(v=0;v<k;v+=4)f=t[p.charCodeAt(v)]<<18|t[p.charCodeAt(v+1)]<<12|t[p.charCodeAt(v+2)]<<6|t[p.charCodeAt(v+3)],b[E++]=f>>16&255,b[E++]=f>>8&255,b[E++]=f&255;return S===2&&(f=t[p.charCodeAt(v)]<<2|t[p.charCodeAt(v+1)]>>4,b[E++]=f&255),S===1&&(f=t[p.charCodeAt(v)]<<10|t[p.charCodeAt(v+1)]<<4|t[p.charCodeAt(v+2)]>>2,b[E++]=f>>8&255,b[E++]=f&255),b}function d(p){return u[p>>18&63]+u[p>>12&63]+u[p>>6&63]+u[p&63]}function h(p,f,w){for(var N,S=[],b=f;b<w;b+=3)N=(p[b]<<16&16711680)+(p[b+1]<<8&65280)+(p[b+2]&255),S.push(d(N));return S.join("")}function m(p){for(var f,w=p.length,N=w%3,S=[],b=16383,E=0,k=w-N;E<k;E+=b)S.push(h(p,E,E+b>k?k:E+b));return N===1?(f=p[w-1],S.push(u[f>>2]+u[f<<4&63]+"==")):N===2&&(f=(p[w-2]<<8)+p[w-1],S.push(u[f>>10]+u[f>>4&63]+u[f<<2&63]+"=")),S.join("")}return or}function Jg(){return Bn?hr:(Bn=!0,hr.read=function(u,t,r,a,n){var o,i,l=n*8-a-1,s=(1<<l)-1,c=s>>1,d=-7,h=r?n-1:0,m=r?-1:1,p=u[t+h];for(h+=m,o=p&(1<<-d)-1,p>>=-d,d+=l;d>0;o=o*256+u[t+h],h+=m,d-=8);for(i=o&(1<<-d)-1,o>>=-d,d+=a;d>0;i=i*256+u[t+h],h+=m,d-=8);if(o===0)o=1-c;else{if(o===s)return i?NaN:(p?-1:1)*(1/0);i=i+Math.pow(2,a),o=o-c}return(p?-1:1)*i*Math.pow(2,o-a)},hr.write=function(u,t,r,a,n,o){var i,l,s,c=o*8-n-1,d=(1<<c)-1,h=d>>1,m=n===23?Math.pow(2,-24)-Math.pow(2,-77):0,p=a?0:o-1,f=a?1:-1,w=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(l=isNaN(t)?1:0,i=d):(i=Math.floor(Math.log(t)/Math.LN2),t*(s=Math.pow(2,-i))<1&&(i--,s*=2),i+h>=1?t+=m/s:t+=m*Math.pow(2,1-h),t*s>=2&&(i++,s/=2),i+h>=d?(l=0,i=d):i+h>=1?(l=(t*s-1)*Math.pow(2,n),i=i+h):(l=t*Math.pow(2,h-1)*Math.pow(2,n),i=0));n>=8;u[r+p]=l&255,p+=f,l/=256,n-=8);for(i=i<<n|l,c+=n;c>0;u[r+p]=i&255,p+=f,i/=256,c-=8);u[r+p-f]|=w*128},hr)}function Xg(){if(Dn)return Bt;Dn=!0;let u=Qg(),t=Jg(),r=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;Bt.Buffer=i,Bt.SlowBuffer=S,Bt.INSPECT_MAX_BYTES=50;let a=2147483647;Bt.kMaxLength=a,i.TYPED_ARRAY_SUPPORT=n(),!i.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function n(){try{let g=new Uint8Array(1),y={foo:function(){return 42}};return Object.setPrototypeOf(y,Uint8Array.prototype),Object.setPrototypeOf(g,y),g.foo()===42}catch{return!1}}Object.defineProperty(i.prototype,"parent",{enumerable:!0,get:function(){if(i.isBuffer(this))return this.buffer}}),Object.defineProperty(i.prototype,"offset",{enumerable:!0,get:function(){if(i.isBuffer(this))return this.byteOffset}});function o(g){if(g>a)throw new RangeError('The value "'+g+'" is invalid for option "size"');let y=new Uint8Array(g);return Object.setPrototypeOf(y,i.prototype),y}function i(g,y,_){if(typeof g=="number"){if(typeof y=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return d(g)}return l(g,y,_)}i.poolSize=8192;function l(g,y,_){if(typeof g=="string")return h(g,y);if(ArrayBuffer.isView(g))return p(g);if(g==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof g);if(X(g,ArrayBuffer)||g&&X(g.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(X(g,SharedArrayBuffer)||g&&X(g.buffer,SharedArrayBuffer)))return f(g,y,_);if(typeof g=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let B=g.valueOf&&g.valueOf();if(B!=null&&B!==g)return i.from(B,y,_);let L=w(g);if(L)return L;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof g[Symbol.toPrimitive]=="function")return i.from(g[Symbol.toPrimitive]("string"),y,_);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof g)}i.from=function(g,y,_){return l(g,y,_)},Object.setPrototypeOf(i.prototype,Uint8Array.prototype),Object.setPrototypeOf(i,Uint8Array);function s(g){if(typeof g!="number")throw new TypeError('"size" argument must be of type number');if(g<0)throw new RangeError('The value "'+g+'" is invalid for option "size"')}function c(g,y,_){return s(g),g<=0?o(g):y!==void 0?typeof _=="string"?o(g).fill(y,_):o(g).fill(y):o(g)}i.alloc=function(g,y,_){return c(g,y,_)};function d(g){return s(g),o(g<0?0:N(g)|0)}i.allocUnsafe=function(g){return d(g)},i.allocUnsafeSlow=function(g){return d(g)};function h(g,y){if((typeof y!="string"||y==="")&&(y="utf8"),!i.isEncoding(y))throw new TypeError("Unknown encoding: "+y);let _=b(g,y)|0,B=o(_),L=B.write(g,y);return L!==_&&(B=B.slice(0,L)),B}function m(g){let y=g.length<0?0:N(g.length)|0,_=o(y);for(let B=0;B<y;B+=1)_[B]=g[B]&255;return _}function p(g){if(X(g,Uint8Array)){let y=new Uint8Array(g);return f(y.buffer,y.byteOffset,y.byteLength)}return m(g)}function f(g,y,_){if(y<0||g.byteLength<y)throw new RangeError('"offset" is outside of buffer bounds');if(g.byteLength<y+(_||0))throw new RangeError('"length" is outside of buffer bounds');let B;return y===void 0&&_===void 0?B=new Uint8Array(g):_===void 0?B=new Uint8Array(g,y):B=new Uint8Array(g,y,_),Object.setPrototypeOf(B,i.prototype),B}function w(g){if(i.isBuffer(g)){let y=N(g.length)|0,_=o(y);return _.length===0||g.copy(_,0,0,y),_}if(g.length!==void 0)return typeof g.length!="number"||me(g.length)?o(0):m(g);if(g.type==="Buffer"&&Array.isArray(g.data))return m(g.data)}function N(g){if(g>=a)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a.toString(16)+" bytes");return g|0}function S(g){return+g!=g&&(g=0),i.alloc(+g)}i.isBuffer=function(g){return g!=null&&g._isBuffer===!0&&g!==i.prototype},i.compare=function(g,y){if(X(g,Uint8Array)&&(g=i.from(g,g.offset,g.byteLength)),X(y,Uint8Array)&&(y=i.from(y,y.offset,y.byteLength)),!i.isBuffer(g)||!i.isBuffer(y))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(g===y)return 0;let _=g.length,B=y.length;for(let L=0,P=Math.min(_,B);L<P;++L)if(g[L]!==y[L]){_=g[L],B=y[L];break}return _<B?-1:B<_?1:0},i.isEncoding=function(g){switch(String(g).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},i.concat=function(g,y){if(!Array.isArray(g))throw new TypeError('"list" argument must be an Array of Buffers');if(g.length===0)return i.alloc(0);let _;if(y===void 0)for(y=0,_=0;_<g.length;++_)y+=g[_].length;let B=i.allocUnsafe(y),L=0;for(_=0;_<g.length;++_){let P=g[_];if(X(P,Uint8Array))L+P.length>B.length?(i.isBuffer(P)||(P=i.from(P)),P.copy(B,L)):Uint8Array.prototype.set.call(B,P,L);else if(i.isBuffer(P))P.copy(B,L);else throw new TypeError('"list" argument must be an Array of Buffers');L+=P.length}return B};function b(g,y){if(i.isBuffer(g))return g.length;if(ArrayBuffer.isView(g)||X(g,ArrayBuffer))return g.byteLength;if(typeof g!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof g);let _=g.length,B=arguments.length>2&&arguments[2]===!0;if(!B&&_===0)return 0;let L=!1;for(;;)switch(y){case"ascii":case"latin1":case"binary":return _;case"utf8":case"utf-8":return F(g).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return _*2;case"hex":return _>>>1;case"base64":return fe(g).length;default:if(L)return B?-1:F(g).length;y=(""+y).toLowerCase(),L=!0}}i.byteLength=b;function E(g,y,_){let B=!1;if((y===void 0||y<0)&&(y=0),y>this.length||((_===void 0||_>this.length)&&(_=this.length),_<=0)||(_>>>=0,y>>>=0,_<=y))return"";for(g||(g="utf8");;)switch(g){case"hex":return re(this,y,_);case"utf8":case"utf-8":return U(this,y,_);case"ascii":return pe(this,y,_);case"latin1":case"binary":return ne(this,y,_);case"base64":return x(this,y,_);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return de(this,y,_);default:if(B)throw new TypeError("Unknown encoding: "+g);g=(g+"").toLowerCase(),B=!0}}i.prototype._isBuffer=!0;function k(g,y,_){let B=g[y];g[y]=g[_],g[_]=B}i.prototype.swap16=function(){let g=this.length;if(g%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let y=0;y<g;y+=2)k(this,y,y+1);return this},i.prototype.swap32=function(){let g=this.length;if(g%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let y=0;y<g;y+=4)k(this,y,y+3),k(this,y+1,y+2);return this},i.prototype.swap64=function(){let g=this.length;if(g%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let y=0;y<g;y+=8)k(this,y,y+7),k(this,y+1,y+6),k(this,y+2,y+5),k(this,y+3,y+4);return this},i.prototype.toString=function(){let g=this.length;return g===0?"":arguments.length===0?U(this,0,g):E.apply(this,arguments)},i.prototype.toLocaleString=i.prototype.toString,i.prototype.equals=function(g){if(!i.isBuffer(g))throw new TypeError("Argument must be a Buffer");return this===g?!0:i.compare(this,g)===0},i.prototype.inspect=function(){let g="",y=Bt.INSPECT_MAX_BYTES;return g=this.toString("hex",0,y).replace(/(.{2})/g,"$1 ").trim(),this.length>y&&(g+=" ... "),"<Buffer "+g+">"},r&&(i.prototype[r]=i.prototype.inspect),i.prototype.compare=function(g,y,_,B,L){if(X(g,Uint8Array)&&(g=i.from(g,g.offset,g.byteLength)),!i.isBuffer(g))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof g);if(y===void 0&&(y=0),_===void 0&&(_=g?g.length:0),B===void 0&&(B=0),L===void 0&&(L=this.length),y<0||_>g.length||B<0||L>this.length)throw new RangeError("out of range index");if(B>=L&&y>=_)return 0;if(B>=L)return-1;if(y>=_)return 1;if(y>>>=0,_>>>=0,B>>>=0,L>>>=0,this===g)return 0;let P=L-B,j=_-y,M=Math.min(P,j),z=this.slice(B,L),ke=g.slice(y,_);for(let Ce=0;Ce<M;++Ce)if(z[Ce]!==ke[Ce]){P=z[Ce],j=ke[Ce];break}return P<j?-1:j<P?1:0};function v(g,y,_,B,L){if(g.length===0)return-1;if(typeof _=="string"?(B=_,_=0):_>2147483647?_=2147483647:_<-2147483648&&(_=-2147483648),_=+_,me(_)&&(_=L?0:g.length-1),_<0&&(_=g.length+_),_>=g.length){if(L)return-1;_=g.length-1}else if(_<0)if(L)_=0;else return-1;if(typeof y=="string"&&(y=i.from(y,B)),i.isBuffer(y))return y.length===0?-1:V(g,y,_,B,L);if(typeof y=="number")return y=y&255,typeof Uint8Array.prototype.indexOf=="function"?L?Uint8Array.prototype.indexOf.call(g,y,_):Uint8Array.prototype.lastIndexOf.call(g,y,_):V(g,[y],_,B,L);throw new TypeError("val must be string, number or Buffer")}function V(g,y,_,B,L){let P=1,j=g.length,M=y.length;if(B!==void 0&&(B=String(B).toLowerCase(),B==="ucs2"||B==="ucs-2"||B==="utf16le"||B==="utf-16le")){if(g.length<2||y.length<2)return-1;P=2,j/=2,M/=2,_/=2}function z(Ce,Te){return P===1?Ce[Te]:Ce.readUInt16BE(Te*P)}let ke;if(L){let Ce=-1;for(ke=_;ke<j;ke++)if(z(g,ke)===z(y,Ce===-1?0:ke-Ce)){if(Ce===-1&&(Ce=ke),ke-Ce+1===M)return Ce*P}else Ce!==-1&&(ke-=ke-Ce),Ce=-1}else for(_+M>j&&(_=j-M),ke=_;ke>=0;ke--){let Ce=!0;for(let Te=0;Te<M;Te++)if(z(g,ke+Te)!==z(y,Te)){Ce=!1;break}if(Ce)return ke}return-1}i.prototype.includes=function(g,y,_){return this.indexOf(g,y,_)!==-1},i.prototype.indexOf=function(g,y,_){return v(this,g,y,_,!0)},i.prototype.lastIndexOf=function(g,y,_){return v(this,g,y,_,!1)};function T(g,y,_,B){_=Number(_)||0;let L=g.length-_;B?(B=Number(B),B>L&&(B=L)):B=L;let P=y.length;B>P/2&&(B=P/2);let j;for(j=0;j<B;++j){let M=parseInt(y.substr(j*2,2),16);if(me(M))return j;g[_+j]=M}return j}function C(g,y,_,B){return ge(F(y,g.length-_),g,_,B)}function A(g,y,_,B){return ge(ae(y),g,_,B)}function I(g,y,_,B){return ge(fe(y),g,_,B)}function $(g,y,_,B){return ge(ue(y,g.length-_),g,_,B)}i.prototype.write=function(g,y,_,B){if(y===void 0)B="utf8",_=this.length,y=0;else if(_===void 0&&typeof y=="string")B=y,_=this.length,y=0;else if(isFinite(y))y=y>>>0,isFinite(_)?(_=_>>>0,B===void 0&&(B="utf8")):(B=_,_=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let L=this.length-y;if((_===void 0||_>L)&&(_=L),g.length>0&&(_<0||y<0)||y>this.length)throw new RangeError("Attempt to write outside buffer bounds");B||(B="utf8");let P=!1;for(;;)switch(B){case"hex":return T(this,g,y,_);case"utf8":case"utf-8":return C(this,g,y,_);case"ascii":case"latin1":case"binary":return A(this,g,y,_);case"base64":return I(this,g,y,_);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return $(this,g,y,_);default:if(P)throw new TypeError("Unknown encoding: "+B);B=(""+B).toLowerCase(),P=!0}},i.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function x(g,y,_){return y===0&&_===g.length?u.fromByteArray(g):u.fromByteArray(g.slice(y,_))}function U(g,y,_){_=Math.min(g.length,_);let B=[],L=y;for(;L<_;){let P=g[L],j=null,M=P>239?4:P>223?3:P>191?2:1;if(L+M<=_){let z,ke,Ce,Te;switch(M){case 1:P<128&&(j=P);break;case 2:z=g[L+1],(z&192)===128&&(Te=(P&31)<<6|z&63,Te>127&&(j=Te));break;case 3:z=g[L+1],ke=g[L+2],(z&192)===128&&(ke&192)===128&&(Te=(P&15)<<12|(z&63)<<6|ke&63,Te>2047&&(Te<55296||Te>57343)&&(j=Te));break;case 4:z=g[L+1],ke=g[L+2],Ce=g[L+3],(z&192)===128&&(ke&192)===128&&(Ce&192)===128&&(Te=(P&15)<<18|(z&63)<<12|(ke&63)<<6|Ce&63,Te>65535&&Te<1114112&&(j=Te))}}j===null?(j=65533,M=1):j>65535&&(j-=65536,B.push(j>>>10&1023|55296),j=56320|j&1023),B.push(j),L+=M}return W(B)}let Q=4096;function W(g){let y=g.length;if(y<=Q)return String.fromCharCode.apply(String,g);let _="",B=0;for(;B<y;)_+=String.fromCharCode.apply(String,g.slice(B,B+=Q));return _}function pe(g,y,_){let B="";_=Math.min(g.length,_);for(let L=y;L<_;++L)B+=String.fromCharCode(g[L]&127);return B}function ne(g,y,_){let B="";_=Math.min(g.length,_);for(let L=y;L<_;++L)B+=String.fromCharCode(g[L]);return B}function re(g,y,_){let B=g.length;(!y||y<0)&&(y=0),(!_||_<0||_>B)&&(_=B);let L="";for(let P=y;P<_;++P)L+=Ne[g[P]];return L}function de(g,y,_){let B=g.slice(y,_),L="";for(let P=0;P<B.length-1;P+=2)L+=String.fromCharCode(B[P]+B[P+1]*256);return L}i.prototype.slice=function(g,y){let _=this.length;g=~~g,y=y===void 0?_:~~y,g<0?(g+=_,g<0&&(g=0)):g>_&&(g=_),y<0?(y+=_,y<0&&(y=0)):y>_&&(y=_),y<g&&(y=g);let B=this.subarray(g,y);return Object.setPrototypeOf(B,i.prototype),B};function Z(g,y,_){if(g%1!==0||g<0)throw new RangeError("offset is not uint");if(g+y>_)throw new RangeError("Trying to access beyond buffer length")}i.prototype.readUintLE=i.prototype.readUIntLE=function(g,y,_){g=g>>>0,y=y>>>0,_||Z(g,y,this.length);let B=this[g],L=1,P=0;for(;++P<y&&(L*=256);)B+=this[g+P]*L;return B},i.prototype.readUintBE=i.prototype.readUIntBE=function(g,y,_){g=g>>>0,y=y>>>0,_||Z(g,y,this.length);let B=this[g+--y],L=1;for(;y>0&&(L*=256);)B+=this[g+--y]*L;return B},i.prototype.readUint8=i.prototype.readUInt8=function(g,y){return g=g>>>0,y||Z(g,1,this.length),this[g]},i.prototype.readUint16LE=i.prototype.readUInt16LE=function(g,y){return g=g>>>0,y||Z(g,2,this.length),this[g]|this[g+1]<<8},i.prototype.readUint16BE=i.prototype.readUInt16BE=function(g,y){return g=g>>>0,y||Z(g,2,this.length),this[g]<<8|this[g+1]},i.prototype.readUint32LE=i.prototype.readUInt32LE=function(g,y){return g=g>>>0,y||Z(g,4,this.length),(this[g]|this[g+1]<<8|this[g+2]<<16)+this[g+3]*16777216},i.prototype.readUint32BE=i.prototype.readUInt32BE=function(g,y){return g=g>>>0,y||Z(g,4,this.length),this[g]*16777216+(this[g+1]<<16|this[g+2]<<8|this[g+3])},i.prototype.readBigUInt64LE=ce(function(g){g=g>>>0,ie(g,"offset");let y=this[g],_=this[g+7];(y===void 0||_===void 0)&&Ee(g,this.length-8);let B=y+this[++g]*2**8+this[++g]*2**16+this[++g]*2**24,L=this[++g]+this[++g]*2**8+this[++g]*2**16+_*2**24;return BigInt(B)+(BigInt(L)<<BigInt(32))}),i.prototype.readBigUInt64BE=ce(function(g){g=g>>>0,ie(g,"offset");let y=this[g],_=this[g+7];(y===void 0||_===void 0)&&Ee(g,this.length-8);let B=y*2**24+this[++g]*2**16+this[++g]*2**8+this[++g],L=this[++g]*2**24+this[++g]*2**16+this[++g]*2**8+_;return(BigInt(B)<<BigInt(32))+BigInt(L)}),i.prototype.readIntLE=function(g,y,_){g=g>>>0,y=y>>>0,_||Z(g,y,this.length);let B=this[g],L=1,P=0;for(;++P<y&&(L*=256);)B+=this[g+P]*L;return L*=128,B>=L&&(B-=Math.pow(2,8*y)),B},i.prototype.readIntBE=function(g,y,_){g=g>>>0,y=y>>>0,_||Z(g,y,this.length);let B=y,L=1,P=this[g+--B];for(;B>0&&(L*=256);)P+=this[g+--B]*L;return L*=128,P>=L&&(P-=Math.pow(2,8*y)),P},i.prototype.readInt8=function(g,y){return g=g>>>0,y||Z(g,1,this.length),this[g]&128?(255-this[g]+1)*-1:this[g]},i.prototype.readInt16LE=function(g,y){g=g>>>0,y||Z(g,2,this.length);let _=this[g]|this[g+1]<<8;return _&32768?_|4294901760:_},i.prototype.readInt16BE=function(g,y){g=g>>>0,y||Z(g,2,this.length);let _=this[g+1]|this[g]<<8;return _&32768?_|4294901760:_},i.prototype.readInt32LE=function(g,y){return g=g>>>0,y||Z(g,4,this.length),this[g]|this[g+1]<<8|this[g+2]<<16|this[g+3]<<24},i.prototype.readInt32BE=function(g,y){return g=g>>>0,y||Z(g,4,this.length),this[g]<<24|this[g+1]<<16|this[g+2]<<8|this[g+3]},i.prototype.readBigInt64LE=ce(function(g){g=g>>>0,ie(g,"offset");let y=this[g],_=this[g+7];(y===void 0||_===void 0)&&Ee(g,this.length-8);let B=this[g+4]+this[g+5]*2**8+this[g+6]*2**16+(_<<24);return(BigInt(B)<<BigInt(32))+BigInt(y+this[++g]*2**8+this[++g]*2**16+this[++g]*2**24)}),i.prototype.readBigInt64BE=ce(function(g){g=g>>>0,ie(g,"offset");let y=this[g],_=this[g+7];(y===void 0||_===void 0)&&Ee(g,this.length-8);let B=(y<<24)+this[++g]*2**16+this[++g]*2**8+this[++g];return(BigInt(B)<<BigInt(32))+BigInt(this[++g]*2**24+this[++g]*2**16+this[++g]*2**8+_)}),i.prototype.readFloatLE=function(g,y){return g=g>>>0,y||Z(g,4,this.length),t.read(this,g,!0,23,4)},i.prototype.readFloatBE=function(g,y){return g=g>>>0,y||Z(g,4,this.length),t.read(this,g,!1,23,4)},i.prototype.readDoubleLE=function(g,y){return g=g>>>0,y||Z(g,8,this.length),t.read(this,g,!0,52,8)},i.prototype.readDoubleBE=function(g,y){return g=g>>>0,y||Z(g,8,this.length),t.read(this,g,!1,52,8)};function se(g,y,_,B,L,P){if(!i.isBuffer(g))throw new TypeError('"buffer" argument must be a Buffer instance');if(y>L||y<P)throw new RangeError('"value" argument is out of bounds');if(_+B>g.length)throw new RangeError("Index out of range")}i.prototype.writeUintLE=i.prototype.writeUIntLE=function(g,y,_,B){if(g=+g,y=y>>>0,_=_>>>0,!B){let j=Math.pow(2,8*_)-1;se(this,g,y,_,j,0)}let L=1,P=0;for(this[y]=g&255;++P<_&&(L*=256);)this[y+P]=g/L&255;return y+_},i.prototype.writeUintBE=i.prototype.writeUIntBE=function(g,y,_,B){if(g=+g,y=y>>>0,_=_>>>0,!B){let j=Math.pow(2,8*_)-1;se(this,g,y,_,j,0)}let L=_-1,P=1;for(this[y+L]=g&255;--L>=0&&(P*=256);)this[y+L]=g/P&255;return y+_},i.prototype.writeUint8=i.prototype.writeUInt8=function(g,y,_){return g=+g,y=y>>>0,_||se(this,g,y,1,255,0),this[y]=g&255,y+1},i.prototype.writeUint16LE=i.prototype.writeUInt16LE=function(g,y,_){return g=+g,y=y>>>0,_||se(this,g,y,2,65535,0),this[y]=g&255,this[y+1]=g>>>8,y+2},i.prototype.writeUint16BE=i.prototype.writeUInt16BE=function(g,y,_){return g=+g,y=y>>>0,_||se(this,g,y,2,65535,0),this[y]=g>>>8,this[y+1]=g&255,y+2},i.prototype.writeUint32LE=i.prototype.writeUInt32LE=function(g,y,_){return g=+g,y=y>>>0,_||se(this,g,y,4,4294967295,0),this[y+3]=g>>>24,this[y+2]=g>>>16,this[y+1]=g>>>8,this[y]=g&255,y+4},i.prototype.writeUint32BE=i.prototype.writeUInt32BE=function(g,y,_){return g=+g,y=y>>>0,_||se(this,g,y,4,4294967295,0),this[y]=g>>>24,this[y+1]=g>>>16,this[y+2]=g>>>8,this[y+3]=g&255,y+4};function R(g,y,_,B,L){oe(y,B,L,g,_,7);let P=Number(y&BigInt(4294967295));g[_++]=P,P=P>>8,g[_++]=P,P=P>>8,g[_++]=P,P=P>>8,g[_++]=P;let j=Number(y>>BigInt(32)&BigInt(4294967295));return g[_++]=j,j=j>>8,g[_++]=j,j=j>>8,g[_++]=j,j=j>>8,g[_++]=j,_}function ee(g,y,_,B,L){oe(y,B,L,g,_,7);let P=Number(y&BigInt(4294967295));g[_+7]=P,P=P>>8,g[_+6]=P,P=P>>8,g[_+5]=P,P=P>>8,g[_+4]=P;let j=Number(y>>BigInt(32)&BigInt(4294967295));return g[_+3]=j,j=j>>8,g[_+2]=j,j=j>>8,g[_+1]=j,j=j>>8,g[_]=j,_+8}i.prototype.writeBigUInt64LE=ce(function(g,y=0){return R(this,g,y,BigInt(0),BigInt("0xffffffffffffffff"))}),i.prototype.writeBigUInt64BE=ce(function(g,y=0){return ee(this,g,y,BigInt(0),BigInt("0xffffffffffffffff"))}),i.prototype.writeIntLE=function(g,y,_,B){if(g=+g,y=y>>>0,!B){let M=Math.pow(2,8*_-1);se(this,g,y,_,M-1,-M)}let L=0,P=1,j=0;for(this[y]=g&255;++L<_&&(P*=256);)g<0&&j===0&&this[y+L-1]!==0&&(j=1),this[y+L]=(g/P>>0)-j&255;return y+_},i.prototype.writeIntBE=function(g,y,_,B){if(g=+g,y=y>>>0,!B){let M=Math.pow(2,8*_-1);se(this,g,y,_,M-1,-M)}let L=_-1,P=1,j=0;for(this[y+L]=g&255;--L>=0&&(P*=256);)g<0&&j===0&&this[y+L+1]!==0&&(j=1),this[y+L]=(g/P>>0)-j&255;return y+_},i.prototype.writeInt8=function(g,y,_){return g=+g,y=y>>>0,_||se(this,g,y,1,127,-128),g<0&&(g=255+g+1),this[y]=g&255,y+1},i.prototype.writeInt16LE=function(g,y,_){return g=+g,y=y>>>0,_||se(this,g,y,2,32767,-32768),this[y]=g&255,this[y+1]=g>>>8,y+2},i.prototype.writeInt16BE=function(g,y,_){return g=+g,y=y>>>0,_||se(this,g,y,2,32767,-32768),this[y]=g>>>8,this[y+1]=g&255,y+2},i.prototype.writeInt32LE=function(g,y,_){return g=+g,y=y>>>0,_||se(this,g,y,4,2147483647,-2147483648),this[y]=g&255,this[y+1]=g>>>8,this[y+2]=g>>>16,this[y+3]=g>>>24,y+4},i.prototype.writeInt32BE=function(g,y,_){return g=+g,y=y>>>0,_||se(this,g,y,4,2147483647,-2147483648),g<0&&(g=4294967295+g+1),this[y]=g>>>24,this[y+1]=g>>>16,this[y+2]=g>>>8,this[y+3]=g&255,y+4},i.prototype.writeBigInt64LE=ce(function(g,y=0){return R(this,g,y,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),i.prototype.writeBigInt64BE=ce(function(g,y=0){return ee(this,g,y,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function he(g,y,_,B,L,P){if(_+B>g.length)throw new RangeError("Index out of range");if(_<0)throw new RangeError("Index out of range")}function Y(g,y,_,B,L){return y=+y,_=_>>>0,L||he(g,y,_,4),t.write(g,y,_,B,23,4),_+4}i.prototype.writeFloatLE=function(g,y,_){return Y(this,g,y,!0,_)},i.prototype.writeFloatBE=function(g,y,_){return Y(this,g,y,!1,_)};function Se(g,y,_,B,L){return y=+y,_=_>>>0,L||he(g,y,_,8),t.write(g,y,_,B,52,8),_+8}i.prototype.writeDoubleLE=function(g,y,_){return Se(this,g,y,!0,_)},i.prototype.writeDoubleBE=function(g,y,_){return Se(this,g,y,!1,_)},i.prototype.copy=function(g,y,_,B){if(!i.isBuffer(g))throw new TypeError("argument should be a Buffer");if(_||(_=0),!B&&B!==0&&(B=this.length),y>=g.length&&(y=g.length),y||(y=0),B>0&&B<_&&(B=_),B===_||g.length===0||this.length===0)return 0;if(y<0)throw new RangeError("targetStart out of bounds");if(_<0||_>=this.length)throw new RangeError("Index out of range");if(B<0)throw new RangeError("sourceEnd out of bounds");B>this.length&&(B=this.length),g.length-y<B-_&&(B=g.length-y+_);let L=B-_;return this===g&&typeof Uint8Array.prototype.copyWithin=="function"?this.copyWithin(y,_,B):Uint8Array.prototype.set.call(g,this.subarray(_,B),y),L},i.prototype.fill=function(g,y,_,B){if(typeof g=="string"){if(typeof y=="string"?(B=y,y=0,_=this.length):typeof _=="string"&&(B=_,_=this.length),B!==void 0&&typeof B!="string")throw new TypeError("encoding must be a string");if(typeof B=="string"&&!i.isEncoding(B))throw new TypeError("Unknown encoding: "+B);if(g.length===1){let P=g.charCodeAt(0);(B==="utf8"&&P<128||B==="latin1")&&(g=P)}}else typeof g=="number"?g=g&255:typeof g=="boolean"&&(g=Number(g));if(y<0||this.length<y||this.length<_)throw new RangeError("Out of range index");if(_<=y)return this;y=y>>>0,_=_===void 0?this.length:_>>>0,g||(g=0);let L;if(typeof g=="number")for(L=y;L<_;++L)this[L]=g;else{let P=i.isBuffer(g)?g:i.from(g,B),j=P.length;if(j===0)throw new TypeError('The value "'+g+'" is invalid for argument "value"');for(L=0;L<_-y;++L)this[L+y]=P[L%j]}return this};let te={};function q(g,y,_){te[g]=class extends _{constructor(){super(),Object.defineProperty(this,"message",{value:y.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${g}]`,this.stack,delete this.name}get code(){return g}set code(B){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:B,writable:!0})}toString(){return`${this.name} [${g}]: ${this.message}`}}}q("ERR_BUFFER_OUT_OF_BOUNDS",function(g){return g?`${g} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),q("ERR_INVALID_ARG_TYPE",function(g,y){return`The "${g}" argument must be of type number. Received type ${typeof y}`},TypeError),q("ERR_OUT_OF_RANGE",function(g,y,_){let B=`The value of "${g}" is out of range.`,L=_;return Number.isInteger(_)&&Math.abs(_)>2**32?L=le(String(_)):typeof _=="bigint"&&(L=String(_),(_>BigInt(2)**BigInt(32)||_<-(BigInt(2)**BigInt(32)))&&(L=le(L)),L+="n"),B+=` It must be ${y}. Received ${L}`,B},RangeError);function le(g){let y="",_=g.length,B=g[0]==="-"?1:0;for(;_>=B+4;_-=3)y=`_${g.slice(_-3,_)}${y}`;return`${g.slice(0,_)}${y}`}function J(g,y,_){ie(y,"offset"),(g[y]===void 0||g[y+_]===void 0)&&Ee(y,g.length-(_+1))}function oe(g,y,_,B,L,P){if(g>_||g<y){let j=typeof y=="bigint"?"n":"",M;throw y===0||y===BigInt(0)?M=`>= 0${j} and < 2${j} ** ${(P+1)*8}${j}`:M=`>= -(2${j} ** ${(P+1)*8-1}${j}) and < 2 ** ${(P+1)*8-1}${j}`,new te.ERR_OUT_OF_RANGE("value",M,g)}J(B,L,P)}function ie(g,y){if(typeof g!="number")throw new te.ERR_INVALID_ARG_TYPE(y,"number",g)}function Ee(g,y,_){throw Math.floor(g)!==g?(ie(g,_),new te.ERR_OUT_OF_RANGE("offset","an integer",g)):y<0?new te.ERR_BUFFER_OUT_OF_BOUNDS:new te.ERR_OUT_OF_RANGE("offset",`>= 0 and <= ${y}`,g)}let K=/[^+/0-9A-Za-z-_]/g;function D(g){if(g=g.split("=")[0],g=g.trim().replace(K,""),g.length<2)return"";for(;g.length%4!==0;)g=g+"=";return g}function F(g,y){y=y||1/0;let _,B=g.length,L=null,P=[];for(let j=0;j<B;++j){if(_=g.charCodeAt(j),_>55295&&_<57344){if(!L){if(_>56319){(y-=3)>-1&&P.push(239,191,189);continue}else if(j+1===B){(y-=3)>-1&&P.push(239,191,189);continue}L=_;continue}if(_<56320){(y-=3)>-1&&P.push(239,191,189),L=_;continue}_=(L-55296<<10|_-56320)+65536}else L&&(y-=3)>-1&&P.push(239,191,189);if(L=null,_<128){if((y-=1)<0)break;P.push(_)}else if(_<2048){if((y-=2)<0)break;P.push(_>>6|192,_&63|128)}else if(_<65536){if((y-=3)<0)break;P.push(_>>12|224,_>>6&63|128,_&63|128)}else if(_<1114112){if((y-=4)<0)break;P.push(_>>18|240,_>>12&63|128,_>>6&63|128,_&63|128)}else throw new Error("Invalid code point")}return P}function ae(g){let y=[];for(let _=0;_<g.length;++_)y.push(g.charCodeAt(_)&255);return y}function ue(g,y){let _,B,L,P=[];for(let j=0;j<g.length&&!((y-=2)<0);++j)_=g.charCodeAt(j),B=_>>8,L=_%256,P.push(L),P.push(B);return P}function fe(g){return u.toByteArray(D(g))}function ge(g,y,_,B){let L;for(L=0;L<B&&!(L+_>=y.length||L>=g.length);++L)y[L+_]=g[L];return L}function X(g,y){return g instanceof y||g!=null&&g.constructor!=null&&g.constructor.name!=null&&g.constructor.name===y.name}function me(g){return g!==g}let Ne=function(){let g="0123456789abcdef",y=new Array(256);for(let _=0;_<16;++_){let B=_*16;for(let L=0;L<16;++L)y[B+L]=g[_]+g[L]}return y}();function ce(g){return typeof BigInt>"u"?Ve:g}function Ve(){throw new Error("BigInt not supported")}return Bt}var or,$n,hr,Bn,Bt,Dn,Zg=dt(()=>{ye(),we(),be(),or={},$n=!1,hr={},Bn=!1,Bt={},Dn=!1}),rt={};rr(rt,{Buffer:()=>Ir,INSPECT_MAX_BYTES:()=>Da,default:()=>_t,kMaxLength:()=>Pa});var _t,Ir,Da,Pa,ot=dt(()=>{ye(),we(),be(),Zg(),_t=Xg(),_t.Buffer,_t.SlowBuffer,_t.INSPECT_MAX_BYTES,_t.kMaxLength,Ir=_t.Buffer,Da=_t.INSPECT_MAX_BYTES,Pa=_t.kMaxLength}),we=dt(()=>{ot()}),Qe=_e((u,t)=>{ye(),we(),be();var r=class extends Error{constructor(a){if(!Array.isArray(a))throw new TypeError(`Expected input to be an Array, got ${typeof a}`);let n="";for(let o=0;o<a.length;o++)n+=` ${a[o].stack}
7
+ `;super(n),this.name="AggregateError",this.errors=a}};t.exports={AggregateError:r,ArrayIsArray(a){return Array.isArray(a)},ArrayPrototypeIncludes(a,n){return a.includes(n)},ArrayPrototypeIndexOf(a,n){return a.indexOf(n)},ArrayPrototypeJoin(a,n){return a.join(n)},ArrayPrototypeMap(a,n){return a.map(n)},ArrayPrototypePop(a,n){return a.pop(n)},ArrayPrototypePush(a,n){return a.push(n)},ArrayPrototypeSlice(a,n,o){return a.slice(n,o)},Error,FunctionPrototypeCall(a,n,...o){return a.call(n,...o)},FunctionPrototypeSymbolHasInstance(a,n){return Function.prototype[Symbol.hasInstance].call(a,n)},MathFloor:Math.floor,Number,NumberIsInteger:Number.isInteger,NumberIsNaN:Number.isNaN,NumberMAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER,NumberMIN_SAFE_INTEGER:Number.MIN_SAFE_INTEGER,NumberParseInt:Number.parseInt,ObjectDefineProperties(a,n){return Object.defineProperties(a,n)},ObjectDefineProperty(a,n,o){return Object.defineProperty(a,n,o)},ObjectGetOwnPropertyDescriptor(a,n){return Object.getOwnPropertyDescriptor(a,n)},ObjectKeys(a){return Object.keys(a)},ObjectSetPrototypeOf(a,n){return Object.setPrototypeOf(a,n)},Promise,PromisePrototypeCatch(a,n){return a.catch(n)},PromisePrototypeThen(a,n,o){return a.then(n,o)},PromiseReject(a){return Promise.reject(a)},PromiseResolve(a){return Promise.resolve(a)},ReflectApply:Reflect.apply,RegExpPrototypeTest(a,n){return a.test(n)},SafeSet:Set,String,StringPrototypeSlice(a,n,o){return a.slice(n,o)},StringPrototypeToLowerCase(a){return a.toLowerCase()},StringPrototypeToUpperCase(a){return a.toUpperCase()},StringPrototypeTrim(a){return a.trim()},Symbol,SymbolFor:Symbol.for,SymbolAsyncIterator:Symbol.asyncIterator,SymbolHasInstance:Symbol.hasInstance,SymbolIterator:Symbol.iterator,SymbolDispose:Symbol.dispose||Symbol("Symbol.dispose"),SymbolAsyncDispose:Symbol.asyncDispose||Symbol("Symbol.asyncDispose"),TypedArrayPrototypeSet(a,n,o){return a.set(n,o)},Boolean,Uint8Array}}),Oa=_e((u,t)=>{ye(),we(),be(),t.exports={format(r,...a){return r.replace(/%([sdifj])/g,function(...[n,o]){let i=a.shift();return o==="f"?i.toFixed(6):o==="j"?JSON.stringify(i):o==="s"&&typeof i=="object"?`${i.constructor!==Object?i.constructor.name:""} {}`.trim():i.toString()})},inspect(r){switch(typeof r){case"string":if(r.includes("'"))if(r.includes('"')){if(!r.includes("`")&&!r.includes("${"))return`\`${r}\``}else return`"${r}"`;return`'${r}'`;case"number":return isNaN(r)?"NaN":Object.is(r,-0)?String(r):r;case"bigint":return`${String(r)}n`;case"boolean":case"undefined":return String(r);case"object":return"{}"}}}}),lt=_e((u,t)=>{ye(),we(),be();var{format:r,inspect:a}=Oa(),{AggregateError:n}=Qe(),o=globalThis.AggregateError||n,i=Symbol("kIsNodeError"),l=["string","function","number","object","Function","Object","boolean","bigint","symbol"],s=/^([A-Z][a-z0-9]*)+$/,c="__node_internal_",d={};function h(b,E){if(!b)throw new d.ERR_INTERNAL_ASSERTION(E)}function m(b){let E="",k=b.length,v=b[0]==="-"?1:0;for(;k>=v+4;k-=3)E=`_${b.slice(k-3,k)}${E}`;return`${b.slice(0,k)}${E}`}function p(b,E,k){if(typeof E=="function")return h(E.length<=k.length,`Code: ${b}; The provided arguments length (${k.length}) does not match the required ones (${E.length}).`),E(...k);let v=(E.match(/%[dfijoOs]/g)||[]).length;return h(v===k.length,`Code: ${b}; The provided arguments length (${k.length}) does not match the required ones (${v}).`),k.length===0?E:r(E,...k)}function f(b,E,k){k||(k=Error);class v extends k{constructor(...T){super(p(b,E,T))}toString(){return`${this.name} [${b}]: ${this.message}`}}Object.defineProperties(v.prototype,{name:{value:k.name,writable:!0,enumerable:!1,configurable:!0},toString:{value(){return`${this.name} [${b}]: ${this.message}`},writable:!0,enumerable:!1,configurable:!0}}),v.prototype.code=b,v.prototype[i]=!0,d[b]=v}function w(b){let E=c+b.name;return Object.defineProperty(b,"name",{value:E}),b}function N(b,E){if(b&&E&&b!==E){if(Array.isArray(E.errors))return E.errors.push(b),E;let k=new o([E,b],E.message);return k.code=E.code,k}return b||E}var S=class extends Error{constructor(b="The operation was aborted",E=void 0){if(E!==void 0&&typeof E!="object")throw new d.ERR_INVALID_ARG_TYPE("options","Object",E);super(b,E),this.code="ABORT_ERR",this.name="AbortError"}};f("ERR_ASSERTION","%s",Error),f("ERR_INVALID_ARG_TYPE",(b,E,k)=>{h(typeof b=="string","'name' must be a string"),Array.isArray(E)||(E=[E]);let v="The ";b.endsWith(" argument")?v+=`${b} `:v+=`"${b}" ${b.includes(".")?"property":"argument"} `,v+="must be ";let V=[],T=[],C=[];for(let I of E)h(typeof I=="string","All expected entries have to be of type string"),l.includes(I)?V.push(I.toLowerCase()):s.test(I)?T.push(I):(h(I!=="object",'The value "object" should be written as "Object"'),C.push(I));if(T.length>0){let I=V.indexOf("object");I!==-1&&(V.splice(V,I,1),T.push("Object"))}if(V.length>0){switch(V.length){case 1:v+=`of type ${V[0]}`;break;case 2:v+=`one of type ${V[0]} or ${V[1]}`;break;default:{let I=V.pop();v+=`one of type ${V.join(", ")}, or ${I}`}}(T.length>0||C.length>0)&&(v+=" or ")}if(T.length>0){switch(T.length){case 1:v+=`an instance of ${T[0]}`;break;case 2:v+=`an instance of ${T[0]} or ${T[1]}`;break;default:{let I=T.pop();v+=`an instance of ${T.join(", ")}, or ${I}`}}C.length>0&&(v+=" or ")}switch(C.length){case 0:break;case 1:C[0].toLowerCase()!==C[0]&&(v+="an "),v+=`${C[0]}`;break;case 2:v+=`one of ${C[0]} or ${C[1]}`;break;default:{let I=C.pop();v+=`one of ${C.join(", ")}, or ${I}`}}if(k==null)v+=`. Received ${k}`;else if(typeof k=="function"&&k.name)v+=`. Received function ${k.name}`;else if(typeof k=="object"){var A;if((A=k.constructor)!==null&&A!==void 0&&A.name)v+=`. Received an instance of ${k.constructor.name}`;else{let I=a(k,{depth:-1});v+=`. Received ${I}`}}else{let I=a(k,{colors:!1});I.length>25&&(I=`${I.slice(0,25)}...`),v+=`. Received type ${typeof k} (${I})`}return v},TypeError),f("ERR_INVALID_ARG_VALUE",(b,E,k="is invalid")=>{let v=a(E);return v.length>128&&(v=v.slice(0,128)+"..."),`The ${b.includes(".")?"property":"argument"} '${b}' ${k}. Received ${v}`},TypeError),f("ERR_INVALID_RETURN_VALUE",(b,E,k)=>{var v;let V=k!=null&&(v=k.constructor)!==null&&v!==void 0&&v.name?`instance of ${k.constructor.name}`:`type ${typeof k}`;return`Expected ${b} to be returned from the "${E}" function but got ${V}.`},TypeError),f("ERR_MISSING_ARGS",(...b)=>{h(b.length>0,"At least one arg needs to be specified");let E,k=b.length;switch(b=(Array.isArray(b)?b:[b]).map(v=>`"${v}"`).join(" or "),k){case 1:E+=`The ${b[0]} argument`;break;case 2:E+=`The ${b[0]} and ${b[1]} arguments`;break;default:{let v=b.pop();E+=`The ${b.join(", ")}, and ${v} arguments`}break}return`${E} must be specified`},TypeError),f("ERR_OUT_OF_RANGE",(b,E,k)=>{h(E,'Missing "range" argument');let v;if(Number.isInteger(k)&&Math.abs(k)>2**32)v=m(String(k));else if(typeof k=="bigint"){v=String(k);let V=BigInt(2)**BigInt(32);(k>V||k<-V)&&(v=m(v)),v+="n"}else v=a(k);return`The value of "${b}" is out of range. It must be ${E}. Received ${v}`},RangeError),f("ERR_MULTIPLE_CALLBACK","Callback called multiple times",Error),f("ERR_METHOD_NOT_IMPLEMENTED","The %s method is not implemented",Error),f("ERR_STREAM_ALREADY_FINISHED","Cannot call %s after a stream was finished",Error),f("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable",Error),f("ERR_STREAM_DESTROYED","Cannot call %s after a stream was destroyed",Error),f("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),f("ERR_STREAM_PREMATURE_CLOSE","Premature close",Error),f("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF",Error),f("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event",Error),f("ERR_STREAM_WRITE_AFTER_END","write after end",Error),f("ERR_UNKNOWN_ENCODING","Unknown encoding: %s",TypeError),t.exports={AbortError:S,aggregateTwoErrors:w(N),hideStackFrames:w,codes:d}}),mr=_e((u,t)=>{ye(),we(),be();var{AbortController:r,AbortSignal:a}=typeof self<"u"?self:typeof window<"u"?window:void 0;t.exports=r,t.exports.AbortSignal=a,t.exports.default=r}),Dt={};rr(Dt,{EventEmitter:()=>Ma,default:()=>nr,defaultMaxListeners:()=>Ra,init:()=>ja,listenerCount:()=>La,on:()=>Ua,once:()=>Fa});function ey(){if(Pn)return gr;Pn=!0;var u=typeof Reflect=="object"?Reflect:null,t=u&&typeof u.apply=="function"?u.apply:function(k,v,V){return Function.prototype.apply.call(k,v,V)},r;u&&typeof u.ownKeys=="function"?r=u.ownKeys:Object.getOwnPropertySymbols?r=function(k){return Object.getOwnPropertyNames(k).concat(Object.getOwnPropertySymbols(k))}:r=function(k){return Object.getOwnPropertyNames(k)};function a(k){console&&console.warn&&console.warn(k)}var n=Number.isNaN||function(k){return k!==k};function o(){o.init.call(this)}gr=o,gr.once=S,o.EventEmitter=o,o.prototype._events=void 0,o.prototype._eventsCount=0,o.prototype._maxListeners=void 0;var i=10;function l(k){if(typeof k!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof k)}Object.defineProperty(o,"defaultMaxListeners",{enumerable:!0,get:function(){return i},set:function(k){if(typeof k!="number"||k<0||n(k))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+k+".");i=k}}),o.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},o.prototype.setMaxListeners=function(k){if(typeof k!="number"||k<0||n(k))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+k+".");return this._maxListeners=k,this};function s(k){return k._maxListeners===void 0?o.defaultMaxListeners:k._maxListeners}o.prototype.getMaxListeners=function(){return s(this)},o.prototype.emit=function(k){for(var v=[],V=1;V<arguments.length;V++)v.push(arguments[V]);var T=k==="error",C=this._events;if(C!==void 0)T=T&&C.error===void 0;else if(!T)return!1;if(T){var A;if(v.length>0&&(A=v[0]),A instanceof Error)throw A;var I=new Error("Unhandled error."+(A?" ("+A.message+")":""));throw I.context=A,I}var $=C[k];if($===void 0)return!1;if(typeof $=="function")t($,this,v);else for(var x=$.length,U=f($,x),V=0;V<x;++V)t(U[V],this,v);return!0};function c(k,v,V,T){var C,A,I;if(l(V),A=k._events,A===void 0?(A=k._events=Object.create(null),k._eventsCount=0):(A.newListener!==void 0&&(k.emit("newListener",v,V.listener?V.listener:V),A=k._events),I=A[v]),I===void 0)I=A[v]=V,++k._eventsCount;else if(typeof I=="function"?I=A[v]=T?[V,I]:[I,V]:T?I.unshift(V):I.push(V),C=s(k),C>0&&I.length>C&&!I.warned){I.warned=!0;var $=new Error("Possible EventEmitter memory leak detected. "+I.length+" "+String(v)+" listeners added. Use emitter.setMaxListeners() to increase limit");$.name="MaxListenersExceededWarning",$.emitter=k,$.type=v,$.count=I.length,a($)}return k}o.prototype.addListener=function(k,v){return c(this,k,v,!1)},o.prototype.on=o.prototype.addListener,o.prototype.prependListener=function(k,v){return c(this,k,v,!0)};function d(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function h(k,v,V){var T={fired:!1,wrapFn:void 0,target:k,type:v,listener:V},C=d.bind(T);return C.listener=V,T.wrapFn=C,C}o.prototype.once=function(k,v){return l(v),this.on(k,h(this,k,v)),this},o.prototype.prependOnceListener=function(k,v){return l(v),this.prependListener(k,h(this,k,v)),this},o.prototype.removeListener=function(k,v){var V,T,C,A,I;if(l(v),T=this._events,T===void 0)return this;if(V=T[k],V===void 0)return this;if(V===v||V.listener===v)--this._eventsCount===0?this._events=Object.create(null):(delete T[k],T.removeListener&&this.emit("removeListener",k,V.listener||v));else if(typeof V!="function"){for(C=-1,A=V.length-1;A>=0;A--)if(V[A]===v||V[A].listener===v){I=V[A].listener,C=A;break}if(C<0)return this;C===0?V.shift():w(V,C),V.length===1&&(T[k]=V[0]),T.removeListener!==void 0&&this.emit("removeListener",k,I||v)}return this},o.prototype.off=o.prototype.removeListener,o.prototype.removeAllListeners=function(k){var v,V,T;if(V=this._events,V===void 0)return this;if(V.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):V[k]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete V[k]),this;if(arguments.length===0){var C=Object.keys(V),A;for(T=0;T<C.length;++T)A=C[T],A!=="removeListener"&&this.removeAllListeners(A);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(v=V[k],typeof v=="function")this.removeListener(k,v);else if(v!==void 0)for(T=v.length-1;T>=0;T--)this.removeListener(k,v[T]);return this};function m(k,v,V){var T=k._events;if(T===void 0)return[];var C=T[v];return C===void 0?[]:typeof C=="function"?V?[C.listener||C]:[C]:V?N(C):f(C,C.length)}o.prototype.listeners=function(k){return m(this,k,!0)},o.prototype.rawListeners=function(k){return m(this,k,!1)},o.listenerCount=function(k,v){return typeof k.listenerCount=="function"?k.listenerCount(v):p.call(k,v)},o.prototype.listenerCount=p;function p(k){var v=this._events;if(v!==void 0){var V=v[k];if(typeof V=="function")return 1;if(V!==void 0)return V.length}return 0}o.prototype.eventNames=function(){return this._eventsCount>0?r(this._events):[]};function f(k,v){for(var V=new Array(v),T=0;T<v;++T)V[T]=k[T];return V}function w(k,v){for(;v+1<k.length;v++)k[v]=k[v+1];k.pop()}function N(k){for(var v=new Array(k.length),V=0;V<v.length;++V)v[V]=k[V].listener||k[V];return v}function S(k,v){return new Promise(function(V,T){function C(I){k.removeListener(v,A),T(I)}function A(){typeof k.removeListener=="function"&&k.removeListener("error",C),V([].slice.call(arguments))}E(k,v,A,{once:!0}),v!=="error"&&b(k,C,{once:!0})})}function b(k,v,V){typeof k.on=="function"&&E(k,"error",v,V)}function E(k,v,V,T){if(typeof k.on=="function")T.once?k.once(v,V):k.on(v,V);else if(typeof k.addEventListener=="function")k.addEventListener(v,function C(A){T.once&&k.removeEventListener(v,C),V(A)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof k)}return gr}var gr,Pn,nr,Ma,Ra,ja,La,Ua,Fa,Yt=dt(()=>{ye(),we(),be(),gr={},Pn=!1,nr=ey(),nr.once,nr.once=function(u,t){return new Promise((r,a)=>{function n(...i){o!==void 0&&u.removeListener("error",o),r(i)}let o;t!=="error"&&(o=i=>{u.removeListener(name,n),a(i)},u.once("error",o)),u.once(t,n)})},nr.on=function(u,t){let r=[],a=[],n=null,o=!1,i={async next(){let c=r.shift();if(c)return createIterResult(c,!1);if(n){let d=Promise.reject(n);return n=null,d}return o?createIterResult(void 0,!0):new Promise((d,h)=>a.push({resolve:d,reject:h}))},async return(){u.removeListener(t,l),u.removeListener("error",s),o=!0;for(let c of a)c.resolve(createIterResult(void 0,!0));return createIterResult(void 0,!0)},throw(c){n=c,u.removeListener(t,l),u.removeListener("error",s)},[Symbol.asyncIterator](){return this}};return u.on(t,l),u.on("error",s),i;function l(...c){let d=a.shift();d?d.resolve(createIterResult(c,!1)):r.push(c)}function s(c){o=!0;let d=a.shift();d?d.reject(c):n=c,i.return()}},{EventEmitter:Ma,defaultMaxListeners:Ra,init:ja,listenerCount:La,on:Ua,once:Fa}=nr}),ut=_e((u,t)=>{ye(),we(),be();var r=(ot(),We(rt)),{format:a,inspect:n}=Oa(),{codes:{ERR_INVALID_ARG_TYPE:o}}=lt(),{kResistStopPropagation:i,AggregateError:l,SymbolDispose:s}=Qe(),c=globalThis.AbortSignal||mr().AbortSignal,d=globalThis.AbortController||mr().AbortController,h=Object.getPrototypeOf(async function(){}).constructor,m=globalThis.Blob||r.Blob,p=typeof m<"u"?function(N){return N instanceof m}:function(N){return!1},f=(N,S)=>{if(N!==void 0&&(N===null||typeof N!="object"||!("aborted"in N)))throw new o(S,"AbortSignal",N)},w=(N,S)=>{if(typeof N!="function")throw new o(S,"Function",N)};t.exports={AggregateError:l,kEmptyObject:Object.freeze({}),once(N){let S=!1;return function(...b){S||(S=!0,N.apply(this,b))}},createDeferredPromise:function(){let N,S;return{promise:new Promise((b,E)=>{N=b,S=E}),resolve:N,reject:S}},promisify(N){return new Promise((S,b)=>{N((E,...k)=>E?b(E):S(...k))})},debuglog(){return function(){}},format:a,inspect:n,types:{isAsyncFunction(N){return N instanceof h},isArrayBufferView(N){return ArrayBuffer.isView(N)}},isBlob:p,deprecate(N,S){return N},addAbortListener:(Yt(),We(Dt)).addAbortListener||function(N,S){if(N===void 0)throw new o("signal","AbortSignal",N);f(N,"signal"),w(S,"listener");let b;return N.aborted?queueMicrotask(()=>S()):(N.addEventListener("abort",S,{__proto__:null,once:!0,[i]:!0}),b=()=>{N.removeEventListener("abort",S)}),{__proto__:null,[s](){var E;(E=b)===null||E===void 0||E()}}},AbortSignalAny:c.any||function(N){if(N.length===1)return N[0];let S=new d,b=()=>S.abort();return N.forEach(E=>{f(E,"signals"),E.addEventListener("abort",b,{once:!0})}),S.signal.addEventListener("abort",()=>{N.forEach(E=>E.removeEventListener("abort",b))},{once:!0}),S.signal}},t.exports.promisify.custom=Symbol.for("nodejs.util.promisify.custom")}),yr=_e((u,t)=>{ye(),we(),be();var{ArrayIsArray:r,ArrayPrototypeIncludes:a,ArrayPrototypeJoin:n,ArrayPrototypeMap:o,NumberIsInteger:i,NumberIsNaN:l,NumberMAX_SAFE_INTEGER:s,NumberMIN_SAFE_INTEGER:c,NumberParseInt:d,ObjectPrototypeHasOwnProperty:h,RegExpPrototypeExec:m,String:p,StringPrototypeToUpperCase:f,StringPrototypeTrim:w}=Qe(),{hideStackFrames:N,codes:{ERR_SOCKET_BAD_PORT:S,ERR_INVALID_ARG_TYPE:b,ERR_INVALID_ARG_VALUE:E,ERR_OUT_OF_RANGE:k,ERR_UNKNOWN_SIGNAL:v}}=lt(),{normalizeEncoding:V}=ut(),{isAsyncFunction:T,isArrayBufferView:C}=ut().types,A={};function I(X){return X===(X|0)}function $(X){return X===X>>>0}var x=/^[0-7]+$/,U="must be a 32-bit unsigned integer or an octal string";function Q(X,me,Ne){if(typeof X>"u"&&(X=Ne),typeof X=="string"){if(m(x,X)===null)throw new E(me,X,U);X=d(X,8)}return ne(X,me),X}var W=N((X,me,Ne=c,ce=s)=>{if(typeof X!="number")throw new b(me,"number",X);if(!i(X))throw new k(me,"an integer",X);if(X<Ne||X>ce)throw new k(me,`>= ${Ne} && <= ${ce}`,X)}),pe=N((X,me,Ne=-2147483648,ce=2147483647)=>{if(typeof X!="number")throw new b(me,"number",X);if(!i(X))throw new k(me,"an integer",X);if(X<Ne||X>ce)throw new k(me,`>= ${Ne} && <= ${ce}`,X)}),ne=N((X,me,Ne=!1)=>{if(typeof X!="number")throw new b(me,"number",X);if(!i(X))throw new k(me,"an integer",X);let ce=Ne?1:0,Ve=4294967295;if(X<ce||X>Ve)throw new k(me,`>= ${ce} && <= ${Ve}`,X)});function re(X,me){if(typeof X!="string")throw new b(me,"string",X)}function de(X,me,Ne=void 0,ce){if(typeof X!="number")throw new b(me,"number",X);if(Ne!=null&&X<Ne||ce!=null&&X>ce||(Ne!=null||ce!=null)&&l(X))throw new k(me,`${Ne!=null?`>= ${Ne}`:""}${Ne!=null&&ce!=null?" && ":""}${ce!=null?`<= ${ce}`:""}`,X)}var Z=N((X,me,Ne)=>{if(!a(Ne,X)){let ce="must be one of: "+n(o(Ne,Ve=>typeof Ve=="string"?`'${Ve}'`:p(Ve)),", ");throw new E(me,X,ce)}});function se(X,me){if(typeof X!="boolean")throw new b(me,"boolean",X)}function R(X,me,Ne){return X==null||!h(X,me)?Ne:X[me]}var ee=N((X,me,Ne=null)=>{let ce=R(Ne,"allowArray",!1),Ve=R(Ne,"allowFunction",!1);if(!R(Ne,"nullable",!1)&&X===null||!ce&&r(X)||typeof X!="object"&&(!Ve||typeof X!="function"))throw new b(me,"Object",X)}),he=N((X,me)=>{if(X!=null&&typeof X!="object"&&typeof X!="function")throw new b(me,"a dictionary",X)}),Y=N((X,me,Ne=0)=>{if(!r(X))throw new b(me,"Array",X);if(X.length<Ne){let ce=`must be longer than ${Ne}`;throw new E(me,X,ce)}});function Se(X,me){Y(X,me);for(let Ne=0;Ne<X.length;Ne++)re(X[Ne],`${me}[${Ne}]`)}function te(X,me){Y(X,me);for(let Ne=0;Ne<X.length;Ne++)se(X[Ne],`${me}[${Ne}]`)}function q(X,me){Y(X,me);for(let Ne=0;Ne<X.length;Ne++){let ce=X[Ne],Ve=`${me}[${Ne}]`;if(ce==null)throw new b(Ve,"AbortSignal",ce);Ee(ce,Ve)}}function le(X,me="signal"){if(re(X,me),A[X]===void 0)throw A[f(X)]!==void 0?new v(X+" (signals must use all capital letters)"):new v(X)}var J=N((X,me="buffer")=>{if(!C(X))throw new b(me,["Buffer","TypedArray","DataView"],X)});function oe(X,me){let Ne=V(me),ce=X.length;if(Ne==="hex"&&ce%2!==0)throw new E("encoding",me,`is invalid for data of length ${ce}`)}function ie(X,me="Port",Ne=!0){if(typeof X!="number"&&typeof X!="string"||typeof X=="string"&&w(X).length===0||+X!==+X>>>0||X>65535||X===0&&!Ne)throw new S(me,X,Ne);return X|0}var Ee=N((X,me)=>{if(X!==void 0&&(X===null||typeof X!="object"||!("aborted"in X)))throw new b(me,"AbortSignal",X)}),K=N((X,me)=>{if(typeof X!="function")throw new b(me,"Function",X)}),D=N((X,me)=>{if(typeof X!="function"||T(X))throw new b(me,"Function",X)}),F=N((X,me)=>{if(X!==void 0)throw new b(me,"undefined",X)});function ae(X,me,Ne){if(!a(Ne,X))throw new b(me,`('${n(Ne,"|")}')`,X)}var ue=/^(?:<[^>]*>)(?:\s*;\s*[^;"\s]+(?:=(")?[^;"\s]*\1)?)*$/;function fe(X,me){if(typeof X>"u"||!m(ue,X))throw new E(me,X,'must be an array or string of format "</styles.css>; rel=preload; as=style"')}function ge(X){if(typeof X=="string")return fe(X,"hints"),X;if(r(X)){let me=X.length,Ne="";if(me===0)return Ne;for(let ce=0;ce<me;ce++){let Ve=X[ce];fe(Ve,"hints"),Ne+=Ve,ce!==me-1&&(Ne+=", ")}return Ne}throw new E("hints",X,'must be an array or string of format "</styles.css>; rel=preload; as=style"')}t.exports={isInt32:I,isUint32:$,parseFileMode:Q,validateArray:Y,validateStringArray:Se,validateBooleanArray:te,validateAbortSignalArray:q,validateBoolean:se,validateBuffer:J,validateDictionary:he,validateEncoding:oe,validateFunction:K,validateInt32:pe,validateInteger:W,validateNumber:de,validateObject:ee,validateOneOf:Z,validatePlainFunction:D,validatePort:ie,validateSignalName:le,validateString:re,validateUint32:ne,validateUndefined:F,validateUnion:ae,validateAbortSignal:Ee,validateLinkHeaderValue:ge}}),Qt=_e((u,t)=>{ye(),we(),be();var r=t.exports={},a,n;function o(){throw new Error("setTimeout has not been defined")}function i(){throw new Error("clearTimeout has not been defined")}(function(){try{typeof setTimeout=="function"?a=setTimeout:a=o}catch{a=o}try{typeof clearTimeout=="function"?n=clearTimeout:n=i}catch{n=i}})();function l(S){if(a===setTimeout)return setTimeout(S,0);if((a===o||!a)&&setTimeout)return a=setTimeout,setTimeout(S,0);try{return a(S,0)}catch{try{return a.call(null,S,0)}catch{return a.call(this,S,0)}}}function s(S){if(n===clearTimeout)return clearTimeout(S);if((n===i||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(S);try{return n(S)}catch{try{return n.call(null,S)}catch{return n.call(this,S)}}}var c=[],d=!1,h,m=-1;function p(){!d||!h||(d=!1,h.length?c=h.concat(c):m=-1,c.length&&f())}function f(){if(!d){var S=l(p);d=!0;for(var b=c.length;b;){for(h=c,c=[];++m<b;)h&&h[m].run();m=-1,b=c.length}h=null,d=!1,s(S)}}r.nextTick=function(S){var b=new Array(arguments.length-1);if(arguments.length>1)for(var E=1;E<arguments.length;E++)b[E-1]=arguments[E];c.push(new w(S,b)),c.length===1&&!d&&l(f)};function w(S,b){this.fun=S,this.array=b}w.prototype.run=function(){this.fun.apply(null,this.array)},r.title="browser",r.browser=!0,r.env={},r.argv=[],r.version="",r.versions={};function N(){}r.on=N,r.addListener=N,r.once=N,r.off=N,r.removeListener=N,r.removeAllListeners=N,r.emit=N,r.prependListener=N,r.prependOnceListener=N,r.listeners=function(S){return[]},r.binding=function(S){throw new Error("process.binding is not supported")},r.cwd=function(){return"/"},r.chdir=function(S){throw new Error("process.chdir is not supported")},r.umask=function(){return 0}}),Nt=_e((u,t)=>{ye(),we(),be();var{SymbolAsyncIterator:r,SymbolIterator:a,SymbolFor:n}=Qe(),o=n("nodejs.stream.destroyed"),i=n("nodejs.stream.errored"),l=n("nodejs.stream.readable"),s=n("nodejs.stream.writable"),c=n("nodejs.stream.disturbed"),d=n("nodejs.webstream.isClosedPromise"),h=n("nodejs.webstream.controllerErrorFunction");function m(R,ee=!1){var he;return!!(R&&typeof R.pipe=="function"&&typeof R.on=="function"&&(!ee||typeof R.pause=="function"&&typeof R.resume=="function")&&(!R._writableState||((he=R._readableState)===null||he===void 0?void 0:he.readable)!==!1)&&(!R._writableState||R._readableState))}function p(R){var ee;return!!(R&&typeof R.write=="function"&&typeof R.on=="function"&&(!R._readableState||((ee=R._writableState)===null||ee===void 0?void 0:ee.writable)!==!1))}function f(R){return!!(R&&typeof R.pipe=="function"&&R._readableState&&typeof R.on=="function"&&typeof R.write=="function")}function w(R){return R&&(R._readableState||R._writableState||typeof R.write=="function"&&typeof R.on=="function"||typeof R.pipe=="function"&&typeof R.on=="function")}function N(R){return!!(R&&!w(R)&&typeof R.pipeThrough=="function"&&typeof R.getReader=="function"&&typeof R.cancel=="function")}function S(R){return!!(R&&!w(R)&&typeof R.getWriter=="function"&&typeof R.abort=="function")}function b(R){return!!(R&&!w(R)&&typeof R.readable=="object"&&typeof R.writable=="object")}function E(R){return N(R)||S(R)||b(R)}function k(R,ee){return R==null?!1:ee===!0?typeof R[r]=="function":ee===!1?typeof R[a]=="function":typeof R[r]=="function"||typeof R[a]=="function"}function v(R){if(!w(R))return null;let ee=R._writableState,he=R._readableState,Y=ee||he;return!!(R.destroyed||R[o]||Y!=null&&Y.destroyed)}function V(R){if(!p(R))return null;if(R.writableEnded===!0)return!0;let ee=R._writableState;return ee!=null&&ee.errored?!1:typeof(ee==null?void 0:ee.ended)!="boolean"?null:ee.ended}function T(R,ee){if(!p(R))return null;if(R.writableFinished===!0)return!0;let he=R._writableState;return he!=null&&he.errored?!1:typeof(he==null?void 0:he.finished)!="boolean"?null:!!(he.finished||ee===!1&&he.ended===!0&&he.length===0)}function C(R){if(!m(R))return null;if(R.readableEnded===!0)return!0;let ee=R._readableState;return!ee||ee.errored?!1:typeof(ee==null?void 0:ee.ended)!="boolean"?null:ee.ended}function A(R,ee){if(!m(R))return null;let he=R._readableState;return he!=null&&he.errored?!1:typeof(he==null?void 0:he.endEmitted)!="boolean"?null:!!(he.endEmitted||ee===!1&&he.ended===!0&&he.length===0)}function I(R){return R&&R[l]!=null?R[l]:typeof(R==null?void 0:R.readable)!="boolean"?null:v(R)?!1:m(R)&&R.readable&&!A(R)}function $(R){return R&&R[s]!=null?R[s]:typeof(R==null?void 0:R.writable)!="boolean"?null:v(R)?!1:p(R)&&R.writable&&!V(R)}function x(R,ee){return w(R)?v(R)?!0:!((ee==null?void 0:ee.readable)!==!1&&I(R)||(ee==null?void 0:ee.writable)!==!1&&$(R)):null}function U(R){var ee,he;return w(R)?R.writableErrored?R.writableErrored:(ee=(he=R._writableState)===null||he===void 0?void 0:he.errored)!==null&&ee!==void 0?ee:null:null}function Q(R){var ee,he;return w(R)?R.readableErrored?R.readableErrored:(ee=(he=R._readableState)===null||he===void 0?void 0:he.errored)!==null&&ee!==void 0?ee:null:null}function W(R){if(!w(R))return null;if(typeof R.closed=="boolean")return R.closed;let ee=R._writableState,he=R._readableState;return typeof(ee==null?void 0:ee.closed)=="boolean"||typeof(he==null?void 0:he.closed)=="boolean"?(ee==null?void 0:ee.closed)||(he==null?void 0:he.closed):typeof R._closed=="boolean"&&pe(R)?R._closed:null}function pe(R){return typeof R._closed=="boolean"&&typeof R._defaultKeepAlive=="boolean"&&typeof R._removedConnection=="boolean"&&typeof R._removedContLen=="boolean"}function ne(R){return typeof R._sent100=="boolean"&&pe(R)}function re(R){var ee;return typeof R._consuming=="boolean"&&typeof R._dumped=="boolean"&&((ee=R.req)===null||ee===void 0?void 0:ee.upgradeOrConnect)===void 0}function de(R){if(!w(R))return null;let ee=R._writableState,he=R._readableState,Y=ee||he;return!Y&&ne(R)||!!(Y&&Y.autoDestroy&&Y.emitClose&&Y.closed===!1)}function Z(R){var ee;return!!(R&&((ee=R[c])!==null&&ee!==void 0?ee:R.readableDidRead||R.readableAborted))}function se(R){var ee,he,Y,Se,te,q,le,J,oe,ie;return!!(R&&((ee=(he=(Y=(Se=(te=(q=R[i])!==null&&q!==void 0?q:R.readableErrored)!==null&&te!==void 0?te:R.writableErrored)!==null&&Se!==void 0?Se:(le=R._readableState)===null||le===void 0?void 0:le.errorEmitted)!==null&&Y!==void 0?Y:(J=R._writableState)===null||J===void 0?void 0:J.errorEmitted)!==null&&he!==void 0?he:(oe=R._readableState)===null||oe===void 0?void 0:oe.errored)!==null&&ee!==void 0?ee:!((ie=R._writableState)===null||ie===void 0)&&ie.errored))}t.exports={isDestroyed:v,kIsDestroyed:o,isDisturbed:Z,kIsDisturbed:c,isErrored:se,kIsErrored:i,isReadable:I,kIsReadable:l,kIsClosedPromise:d,kControllerErrorFunction:h,kIsWritable:s,isClosed:W,isDuplexNodeStream:f,isFinished:x,isIterable:k,isReadableNodeStream:m,isReadableStream:N,isReadableEnded:C,isReadableFinished:A,isReadableErrored:Q,isNodeStream:w,isWebStream:E,isWritable:$,isWritableNodeStream:p,isWritableStream:S,isWritableEnded:V,isWritableFinished:T,isWritableErrored:U,isServerRequest:re,isServerResponse:ne,willEmitClose:de,isTransformStream:b}}),Pt=_e((u,t)=>{ye(),we(),be();var r=Qt(),{AbortError:a,codes:n}=lt(),{ERR_INVALID_ARG_TYPE:o,ERR_STREAM_PREMATURE_CLOSE:i}=n,{kEmptyObject:l,once:s}=ut(),{validateAbortSignal:c,validateFunction:d,validateObject:h,validateBoolean:m}=yr(),{Promise:p,PromisePrototypeThen:f,SymbolDispose:w}=Qe(),{isClosed:N,isReadable:S,isReadableNodeStream:b,isReadableStream:E,isReadableFinished:k,isReadableErrored:v,isWritable:V,isWritableNodeStream:T,isWritableStream:C,isWritableFinished:A,isWritableErrored:I,isNodeStream:$,willEmitClose:x,kIsClosedPromise:U}=Nt(),Q;function W(Z){return Z.setHeader&&typeof Z.abort=="function"}var pe=()=>{};function ne(Z,se,R){var ee,he;if(arguments.length===2?(R=se,se=l):se==null?se=l:h(se,"options"),d(R,"callback"),c(se.signal,"options.signal"),R=s(R),E(Z)||C(Z))return re(Z,se,R);if(!$(Z))throw new o("stream",["ReadableStream","WritableStream","Stream"],Z);let Y=(ee=se.readable)!==null&&ee!==void 0?ee:b(Z),Se=(he=se.writable)!==null&&he!==void 0?he:T(Z),te=Z._writableState,q=Z._readableState,le=()=>{Z.writable||ie()},J=x(Z)&&b(Z)===Y&&T(Z)===Se,oe=A(Z,!1),ie=()=>{oe=!0,Z.destroyed&&(J=!1),!(J&&(!Z.readable||Y))&&(!Y||Ee)&&R.call(Z)},Ee=k(Z,!1),K=()=>{Ee=!0,Z.destroyed&&(J=!1),!(J&&(!Z.writable||Se))&&(!Se||oe)&&R.call(Z)},D=X=>{R.call(Z,X)},F=N(Z),ae=()=>{F=!0;let X=I(Z)||v(Z);if(X&&typeof X!="boolean")return R.call(Z,X);if(Y&&!Ee&&b(Z,!0)&&!k(Z,!1))return R.call(Z,new i);if(Se&&!oe&&!A(Z,!1))return R.call(Z,new i);R.call(Z)},ue=()=>{F=!0;let X=I(Z)||v(Z);if(X&&typeof X!="boolean")return R.call(Z,X);R.call(Z)},fe=()=>{Z.req.on("finish",ie)};W(Z)?(Z.on("complete",ie),J||Z.on("abort",ae),Z.req?fe():Z.on("request",fe)):Se&&!te&&(Z.on("end",le),Z.on("close",le)),!J&&typeof Z.aborted=="boolean"&&Z.on("aborted",ae),Z.on("end",K),Z.on("finish",ie),se.error!==!1&&Z.on("error",D),Z.on("close",ae),F?r.nextTick(ae):te!=null&&te.errorEmitted||q!=null&&q.errorEmitted?J||r.nextTick(ue):(!Y&&(!J||S(Z))&&(oe||V(Z)===!1)||!Se&&(!J||V(Z))&&(Ee||S(Z)===!1)||q&&Z.req&&Z.aborted)&&r.nextTick(ue);let ge=()=>{R=pe,Z.removeListener("aborted",ae),Z.removeListener("complete",ie),Z.removeListener("abort",ae),Z.removeListener("request",fe),Z.req&&Z.req.removeListener("finish",ie),Z.removeListener("end",le),Z.removeListener("close",le),Z.removeListener("finish",ie),Z.removeListener("end",K),Z.removeListener("error",D),Z.removeListener("close",ae)};if(se.signal&&!F){let X=()=>{let me=R;ge(),me.call(Z,new a(void 0,{cause:se.signal.reason}))};if(se.signal.aborted)r.nextTick(X);else{Q=Q||ut().addAbortListener;let me=Q(se.signal,X),Ne=R;R=s((...ce)=>{me[w](),Ne.apply(Z,ce)})}}return ge}function re(Z,se,R){let ee=!1,he=pe;if(se.signal)if(he=()=>{ee=!0,R.call(Z,new a(void 0,{cause:se.signal.reason}))},se.signal.aborted)r.nextTick(he);else{Q=Q||ut().addAbortListener;let Se=Q(se.signal,he),te=R;R=s((...q)=>{Se[w](),te.apply(Z,q)})}let Y=(...Se)=>{ee||r.nextTick(()=>R.apply(Z,Se))};return f(Z[U].promise,Y,Y),pe}function de(Z,se){var R;let ee=!1;return se===null&&(se=l),(R=se)!==null&&R!==void 0&&R.cleanup&&(m(se.cleanup,"cleanup"),ee=se.cleanup),new p((he,Y)=>{let Se=ne(Z,se,te=>{ee&&Se(),te?Y(te):he()})})}t.exports=ne,t.exports.finished=de}),ir=_e((u,t)=>{ye(),we(),be();var r=Qt(),{aggregateTwoErrors:a,codes:{ERR_MULTIPLE_CALLBACK:n},AbortError:o}=lt(),{Symbol:i}=Qe(),{kIsDestroyed:l,isDestroyed:s,isFinished:c,isServerRequest:d}=Nt(),h=i("kDestroy"),m=i("kConstruct");function p(x,U,Q){x&&(x.stack,U&&!U.errored&&(U.errored=x),Q&&!Q.errored&&(Q.errored=x))}function f(x,U){let Q=this._readableState,W=this._writableState,pe=W||Q;return W!=null&&W.destroyed||Q!=null&&Q.destroyed?(typeof U=="function"&&U(),this):(p(x,W,Q),W&&(W.destroyed=!0),Q&&(Q.destroyed=!0),pe.constructed?w(this,x,U):this.once(h,function(ne){w(this,a(ne,x),U)}),this)}function w(x,U,Q){let W=!1;function pe(ne){if(W)return;W=!0;let re=x._readableState,de=x._writableState;p(ne,de,re),de&&(de.closed=!0),re&&(re.closed=!0),typeof Q=="function"&&Q(ne),ne?r.nextTick(N,x,ne):r.nextTick(S,x)}try{x._destroy(U||null,pe)}catch(ne){pe(ne)}}function N(x,U){b(x,U),S(x)}function S(x){let U=x._readableState,Q=x._writableState;Q&&(Q.closeEmitted=!0),U&&(U.closeEmitted=!0),(Q!=null&&Q.emitClose||U!=null&&U.emitClose)&&x.emit("close")}function b(x,U){let Q=x._readableState,W=x._writableState;W!=null&&W.errorEmitted||Q!=null&&Q.errorEmitted||(W&&(W.errorEmitted=!0),Q&&(Q.errorEmitted=!0),x.emit("error",U))}function E(){let x=this._readableState,U=this._writableState;x&&(x.constructed=!0,x.closed=!1,x.closeEmitted=!1,x.destroyed=!1,x.errored=null,x.errorEmitted=!1,x.reading=!1,x.ended=x.readable===!1,x.endEmitted=x.readable===!1),U&&(U.constructed=!0,U.destroyed=!1,U.closed=!1,U.closeEmitted=!1,U.errored=null,U.errorEmitted=!1,U.finalCalled=!1,U.prefinished=!1,U.ended=U.writable===!1,U.ending=U.writable===!1,U.finished=U.writable===!1)}function k(x,U,Q){let W=x._readableState,pe=x._writableState;if(pe!=null&&pe.destroyed||W!=null&&W.destroyed)return this;W!=null&&W.autoDestroy||pe!=null&&pe.autoDestroy?x.destroy(U):U&&(U.stack,pe&&!pe.errored&&(pe.errored=U),W&&!W.errored&&(W.errored=U),Q?r.nextTick(b,x,U):b(x,U))}function v(x,U){if(typeof x._construct!="function")return;let Q=x._readableState,W=x._writableState;Q&&(Q.constructed=!1),W&&(W.constructed=!1),x.once(m,U),!(x.listenerCount(m)>1)&&r.nextTick(V,x)}function V(x){let U=!1;function Q(W){if(U){k(x,W??new n);return}U=!0;let pe=x._readableState,ne=x._writableState,re=ne||pe;pe&&(pe.constructed=!0),ne&&(ne.constructed=!0),re.destroyed?x.emit(h,W):W?k(x,W,!0):r.nextTick(T,x)}try{x._construct(W=>{r.nextTick(Q,W)})}catch(W){r.nextTick(Q,W)}}function T(x){x.emit(m)}function C(x){return(x==null?void 0:x.setHeader)&&typeof x.abort=="function"}function A(x){x.emit("close")}function I(x,U){x.emit("error",U),r.nextTick(A,x)}function $(x,U){!x||s(x)||(!U&&!c(x)&&(U=new o),d(x)?(x.socket=null,x.destroy(U)):C(x)?x.abort():C(x.req)?x.req.abort():typeof x.destroy=="function"?x.destroy(U):typeof x.close=="function"?x.close():U?r.nextTick(I,x,U):r.nextTick(A,x),x.destroyed||(x[l]=!0))}t.exports={construct:v,destroyer:$,destroy:f,undestroy:E,errorOrDestroy:k}}),On=_e((u,t)=>{ye(),we(),be();var{ArrayIsArray:r,ObjectSetPrototypeOf:a}=Qe(),{EventEmitter:n}=(Yt(),We(Dt));function o(l){n.call(this,l)}a(o.prototype,n.prototype),a(o,n),o.prototype.pipe=function(l,s){let c=this;function d(S){l.writable&&l.write(S)===!1&&c.pause&&c.pause()}c.on("data",d);function h(){c.readable&&c.resume&&c.resume()}l.on("drain",h),!l._isStdio&&(!s||s.end!==!1)&&(c.on("end",p),c.on("close",f));let m=!1;function p(){m||(m=!0,l.end())}function f(){m||(m=!0,typeof l.destroy=="function"&&l.destroy())}function w(S){N(),n.listenerCount(this,"error")===0&&this.emit("error",S)}i(c,"error",w),i(l,"error",w);function N(){c.removeListener("data",d),l.removeListener("drain",h),c.removeListener("end",p),c.removeListener("close",f),c.removeListener("error",w),l.removeListener("error",w),c.removeListener("end",N),c.removeListener("close",N),l.removeListener("close",N)}return c.on("end",N),c.on("close",N),l.on("close",N),l.emit("pipe",c),l};function i(l,s,c){if(typeof l.prependListener=="function")return l.prependListener(s,c);!l._events||!l._events[s]?l.on(s,c):r(l._events[s])?l._events[s].unshift(c):l._events[s]=[c,l._events[s]]}t.exports={Stream:o,prependListener:i}}),Ar=_e((u,t)=>{ye(),we(),be();var{SymbolDispose:r}=Qe(),{AbortError:a,codes:n}=lt(),{isNodeStream:o,isWebStream:i,kControllerErrorFunction:l}=Nt(),s=Pt(),{ERR_INVALID_ARG_TYPE:c}=n,d,h=(m,p)=>{if(typeof m!="object"||!("aborted"in m))throw new c(p,"AbortSignal",m)};t.exports.addAbortSignal=function(m,p){if(h(m,"signal"),!o(p)&&!i(p))throw new c("stream",["ReadableStream","WritableStream","Stream"],p);return t.exports.addAbortSignalNoValidate(m,p)},t.exports.addAbortSignalNoValidate=function(m,p){if(typeof m!="object"||!("aborted"in m))return p;let f=o(p)?()=>{p.destroy(new a(void 0,{cause:m.reason}))}:()=>{p[l](new a(void 0,{cause:m.reason}))};if(m.aborted)f();else{d=d||ut().addAbortListener;let w=d(m,f);s(p,w[r])}return p}}),ty=_e((u,t)=>{ye(),we(),be();var{StringPrototypeSlice:r,SymbolIterator:a,TypedArrayPrototypeSet:n,Uint8Array:o}=Qe(),{Buffer:i}=(ot(),We(rt)),{inspect:l}=ut();t.exports=class{constructor(){this.head=null,this.tail=null,this.length=0}push(s){let c={data:s,next:null};this.length>0?this.tail.next=c:this.head=c,this.tail=c,++this.length}unshift(s){let c={data:s,next:this.head};this.length===0&&(this.tail=c),this.head=c,++this.length}shift(){if(this.length===0)return;let s=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,s}clear(){this.head=this.tail=null,this.length=0}join(s){if(this.length===0)return"";let c=this.head,d=""+c.data;for(;(c=c.next)!==null;)d+=s+c.data;return d}concat(s){if(this.length===0)return i.alloc(0);let c=i.allocUnsafe(s>>>0),d=this.head,h=0;for(;d;)n(c,d.data,h),h+=d.data.length,d=d.next;return c}consume(s,c){let d=this.head.data;if(s<d.length){let h=d.slice(0,s);return this.head.data=d.slice(s),h}return s===d.length?this.shift():c?this._getString(s):this._getBuffer(s)}first(){return this.head.data}*[a](){for(let s=this.head;s;s=s.next)yield s.data}_getString(s){let c="",d=this.head,h=0;do{let m=d.data;if(s>m.length)c+=m,s-=m.length;else{s===m.length?(c+=m,++h,d.next?this.head=d.next:this.head=this.tail=null):(c+=r(m,0,s),this.head=d,d.data=r(m,s));break}++h}while((d=d.next)!==null);return this.length-=h,c}_getBuffer(s){let c=i.allocUnsafe(s),d=s,h=this.head,m=0;do{let p=h.data;if(s>p.length)n(c,p,d-s),s-=p.length;else{s===p.length?(n(c,p,d-s),++m,h.next?this.head=h.next:this.head=this.tail=null):(n(c,new o(p.buffer,p.byteOffset,s),d-s),this.head=h,h.data=p.slice(s));break}++m}while((h=h.next)!==null);return this.length-=m,c}[Symbol.for("nodejs.util.inspect.custom")](s,c){return l(this,{...c,depth:0,customInspect:!1})}}}),Tr=_e((u,t)=>{ye(),we(),be();var{MathFloor:r,NumberIsInteger:a}=Qe(),{validateInteger:n}=yr(),{ERR_INVALID_ARG_VALUE:o}=lt().codes,i=16*1024,l=16;function s(m,p,f){return m.highWaterMark!=null?m.highWaterMark:p?m[f]:null}function c(m){return m?l:i}function d(m,p){n(p,"value",0),m?l=p:i=p}function h(m,p,f,w){let N=s(p,w,f);if(N!=null){if(!a(N)||N<0){let S=w?`options.${f}`:"options.highWaterMark";throw new o(S,N)}return r(N)}return c(m.objectMode)}t.exports={getHighWaterMark:h,getDefaultHighWaterMark:c,setDefaultHighWaterMark:d}}),ry=_e((u,t)=>{ye(),we(),be();var r=(ot(),We(rt)),a=r.Buffer;function n(i,l){for(var s in i)l[s]=i[s]}a.from&&a.alloc&&a.allocUnsafe&&a.allocUnsafeSlow?t.exports=r:(n(r,u),u.Buffer=o);function o(i,l,s){return a(i,l,s)}o.prototype=Object.create(a.prototype),n(a,o),o.from=function(i,l,s){if(typeof i=="number")throw new TypeError("Argument must not be a number");return a(i,l,s)},o.alloc=function(i,l,s){if(typeof i!="number")throw new TypeError("Argument must be a number");var c=a(i);return l!==void 0?typeof s=="string"?c.fill(l,s):c.fill(l):c.fill(0),c},o.allocUnsafe=function(i){if(typeof i!="number")throw new TypeError("Argument must be a number");return a(i)},o.allocUnsafeSlow=function(i){if(typeof i!="number")throw new TypeError("Argument must be a number");return r.SlowBuffer(i)}}),oy=_e(u=>{ye(),we(),be();var t=ry().Buffer,r=t.isEncoding||function(b){switch(b=""+b,b&&b.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function a(b){if(!b)return"utf8";for(var E;;)switch(b){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return b;default:if(E)return;b=(""+b).toLowerCase(),E=!0}}function n(b){var E=a(b);if(typeof E!="string"&&(t.isEncoding===r||!r(b)))throw new Error("Unknown encoding: "+b);return E||b}u.StringDecoder=o;function o(b){this.encoding=n(b);var E;switch(this.encoding){case"utf16le":this.text=m,this.end=p,E=4;break;case"utf8":this.fillLast=c,E=4;break;case"base64":this.text=f,this.end=w,E=3;break;default:this.write=N,this.end=S;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=t.allocUnsafe(E)}o.prototype.write=function(b){if(b.length===0)return"";var E,k;if(this.lastNeed){if(E=this.fillLast(b),E===void 0)return"";k=this.lastNeed,this.lastNeed=0}else k=0;return k<b.length?E?E+this.text(b,k):this.text(b,k):E||""},o.prototype.end=h,o.prototype.text=d,o.prototype.fillLast=function(b){if(this.lastNeed<=b.length)return b.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);b.copy(this.lastChar,this.lastTotal-this.lastNeed,0,b.length),this.lastNeed-=b.length};function i(b){return b<=127?0:b>>5===6?2:b>>4===14?3:b>>3===30?4:b>>6===2?-1:-2}function l(b,E,k){var v=E.length-1;if(v<k)return 0;var V=i(E[v]);return V>=0?(V>0&&(b.lastNeed=V-1),V):--v<k||V===-2?0:(V=i(E[v]),V>=0?(V>0&&(b.lastNeed=V-2),V):--v<k||V===-2?0:(V=i(E[v]),V>=0?(V>0&&(V===2?V=0:b.lastNeed=V-3),V):0))}function s(b,E,k){if((E[0]&192)!==128)return b.lastNeed=0,"�";if(b.lastNeed>1&&E.length>1){if((E[1]&192)!==128)return b.lastNeed=1,"�";if(b.lastNeed>2&&E.length>2&&(E[2]&192)!==128)return b.lastNeed=2,"�"}}function c(b){var E=this.lastTotal-this.lastNeed,k=s(this,b);if(k!==void 0)return k;if(this.lastNeed<=b.length)return b.copy(this.lastChar,E,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);b.copy(this.lastChar,E,0,b.length),this.lastNeed-=b.length}function d(b,E){var k=l(this,b,E);if(!this.lastNeed)return b.toString("utf8",E);this.lastTotal=k;var v=b.length-(k-this.lastNeed);return b.copy(this.lastChar,0,v),b.toString("utf8",E,v)}function h(b){var E=b&&b.length?this.write(b):"";return this.lastNeed?E+"�":E}function m(b,E){if((b.length-E)%2===0){var k=b.toString("utf16le",E);if(k){var v=k.charCodeAt(k.length-1);if(v>=55296&&v<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=b[b.length-2],this.lastChar[1]=b[b.length-1],k.slice(0,-1)}return k}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=b[b.length-1],b.toString("utf16le",E,b.length-1)}function p(b){var E=b&&b.length?this.write(b):"";if(this.lastNeed){var k=this.lastTotal-this.lastNeed;return E+this.lastChar.toString("utf16le",0,k)}return E}function f(b,E){var k=(b.length-E)%3;return k===0?b.toString("base64",E):(this.lastNeed=3-k,this.lastTotal=3,k===1?this.lastChar[0]=b[b.length-1]:(this.lastChar[0]=b[b.length-2],this.lastChar[1]=b[b.length-1]),b.toString("base64",E,b.length-k))}function w(b){var E=b&&b.length?this.write(b):"";return this.lastNeed?E+this.lastChar.toString("base64",0,3-this.lastNeed):E}function N(b){return b.toString(this.encoding)}function S(b){return b&&b.length?this.write(b):""}}),za=_e((u,t)=>{ye(),we(),be();var r=Qt(),{PromisePrototypeThen:a,SymbolAsyncIterator:n,SymbolIterator:o}=Qe(),{Buffer:i}=(ot(),We(rt)),{ERR_INVALID_ARG_TYPE:l,ERR_STREAM_NULL_VALUES:s}=lt().codes;function c(d,h,m){let p;if(typeof h=="string"||h instanceof i)return new d({objectMode:!0,...m,read(){this.push(h),this.push(null)}});let f;if(h&&h[n])f=!0,p=h[n]();else if(h&&h[o])f=!1,p=h[o]();else throw new l("iterable",["Iterable"],h);let w=new d({objectMode:!0,highWaterMark:1,...m}),N=!1;w._read=function(){N||(N=!0,b())},w._destroy=function(E,k){a(S(E),()=>r.nextTick(k,E),v=>r.nextTick(k,v||E))};async function S(E){let k=E!=null,v=typeof p.throw=="function";if(k&&v){let{value:V,done:T}=await p.throw(E);if(await V,T)return}if(typeof p.return=="function"){let{value:V}=await p.return();await V}}async function b(){for(;;){try{let{value:E,done:k}=f?await p.next():p.next();if(k)w.push(null);else{let v=E&&typeof E.then=="function"?await E:E;if(v===null)throw N=!1,new s;if(w.push(v))continue;N=!1}}catch(E){w.destroy(E)}break}}return w}t.exports=c}),$r=_e((u,t)=>{ye(),we(),be();var r=Qt(),{ArrayPrototypeIndexOf:a,NumberIsInteger:n,NumberIsNaN:o,NumberParseInt:i,ObjectDefineProperties:l,ObjectKeys:s,ObjectSetPrototypeOf:c,Promise:d,SafeSet:h,SymbolAsyncDispose:m,SymbolAsyncIterator:p,Symbol:f}=Qe();t.exports=ce,ce.ReadableState=Ne;var{EventEmitter:w}=(Yt(),We(Dt)),{Stream:N,prependListener:S}=On(),{Buffer:b}=(ot(),We(rt)),{addAbortSignal:E}=Ar(),k=Pt(),v=ut().debuglog("stream",O=>{v=O}),V=ty(),T=ir(),{getHighWaterMark:C,getDefaultHighWaterMark:A}=Tr(),{aggregateTwoErrors:I,codes:{ERR_INVALID_ARG_TYPE:$,ERR_METHOD_NOT_IMPLEMENTED:x,ERR_OUT_OF_RANGE:U,ERR_STREAM_PUSH_AFTER_EOF:Q,ERR_STREAM_UNSHIFT_AFTER_END_EVENT:W},AbortError:pe}=lt(),{validateObject:ne}=yr(),re=f("kPaused"),{StringDecoder:de}=oy(),Z=za();c(ce.prototype,N.prototype),c(ce,N);var se=()=>{},{errorOrDestroy:R}=T,ee=1,he=2,Y=4,Se=8,te=16,q=32,le=64,J=128,oe=256,ie=512,Ee=1024,K=2048,D=4096,F=8192,ae=16384,ue=32768,fe=65536,ge=1<<17,X=1<<18;function me(O){return{enumerable:!1,get(){return(this.state&O)!==0},set(G){G?this.state|=O:this.state&=~O}}}l(Ne.prototype,{objectMode:me(ee),ended:me(he),endEmitted:me(Y),reading:me(Se),constructed:me(te),sync:me(q),needReadable:me(le),emittedReadable:me(J),readableListening:me(oe),resumeScheduled:me(ie),errorEmitted:me(Ee),emitClose:me(K),autoDestroy:me(D),destroyed:me(F),closed:me(ae),closeEmitted:me(ue),multiAwaitDrain:me(fe),readingMore:me(ge),dataEmitted:me(X)});function Ne(O,G,xe){typeof xe!="boolean"&&(xe=G instanceof St()),this.state=K|D|te|q,O&&O.objectMode&&(this.state|=ee),xe&&O&&O.readableObjectMode&&(this.state|=ee),this.highWaterMark=O?C(this,O,"readableHighWaterMark",xe):A(!1),this.buffer=new V,this.length=0,this.pipes=[],this.flowing=null,this[re]=null,O&&O.emitClose===!1&&(this.state&=~K),O&&O.autoDestroy===!1&&(this.state&=~D),this.errored=null,this.defaultEncoding=O&&O.defaultEncoding||"utf8",this.awaitDrainWriters=null,this.decoder=null,this.encoding=null,O&&O.encoding&&(this.decoder=new de(O.encoding),this.encoding=O.encoding)}function ce(O){if(!(this instanceof ce))return new ce(O);let G=this instanceof St();this._readableState=new Ne(O,this,G),O&&(typeof O.read=="function"&&(this._read=O.read),typeof O.destroy=="function"&&(this._destroy=O.destroy),typeof O.construct=="function"&&(this._construct=O.construct),O.signal&&!G&&E(O.signal,this)),N.call(this,O),T.construct(this,()=>{this._readableState.needReadable&&M(this,this._readableState)})}ce.prototype.destroy=T.destroy,ce.prototype._undestroy=T.undestroy,ce.prototype._destroy=function(O,G){G(O)},ce.prototype[w.captureRejectionSymbol]=function(O){this.destroy(O)},ce.prototype[m]=function(){let O;return this.destroyed||(O=this.readableEnded?null:new pe,this.destroy(O)),new d((G,xe)=>k(this,Ie=>Ie&&Ie!==O?xe(Ie):G(null)))},ce.prototype.push=function(O,G){return Ve(this,O,G,!1)},ce.prototype.unshift=function(O,G){return Ve(this,O,G,!0)};function Ve(O,G,xe,Ie){v("readableAddChunk",G);let $e=O._readableState,tt;if(!($e.state&ee)&&(typeof G=="string"?(xe=xe||$e.defaultEncoding,$e.encoding!==xe&&(Ie&&$e.encoding?G=b.from(G,xe).toString($e.encoding):(G=b.from(G,xe),xe=""))):G instanceof b?xe="":N._isUint8Array(G)?(G=N._uint8ArrayToBuffer(G),xe=""):G!=null&&(tt=new $("chunk",["string","Buffer","Uint8Array"],G))),tt)R(O,tt);else if(G===null)$e.state&=~Se,L(O,$e);else if($e.state&ee||G&&G.length>0)if(Ie)if($e.state&Y)R(O,new W);else{if($e.destroyed||$e.errored)return!1;g(O,$e,G,!0)}else if($e.ended)R(O,new Q);else{if($e.destroyed||$e.errored)return!1;$e.state&=~Se,$e.decoder&&!xe?(G=$e.decoder.write(G),$e.objectMode||G.length!==0?g(O,$e,G,!1):M(O,$e)):g(O,$e,G,!1)}else Ie||($e.state&=~Se,M(O,$e));return!$e.ended&&($e.length<$e.highWaterMark||$e.length===0)}function g(O,G,xe,Ie){G.flowing&&G.length===0&&!G.sync&&O.listenerCount("data")>0?(G.state&fe?G.awaitDrainWriters.clear():G.awaitDrainWriters=null,G.dataEmitted=!0,O.emit("data",xe)):(G.length+=G.objectMode?1:xe.length,Ie?G.buffer.unshift(xe):G.buffer.push(xe),G.state&le&&P(O)),M(O,G)}ce.prototype.isPaused=function(){let O=this._readableState;return O[re]===!0||O.flowing===!1},ce.prototype.setEncoding=function(O){let G=new de(O);this._readableState.decoder=G,this._readableState.encoding=this._readableState.decoder.encoding;let xe=this._readableState.buffer,Ie="";for(let $e of xe)Ie+=G.write($e);return xe.clear(),Ie!==""&&xe.push(Ie),this._readableState.length=Ie.length,this};var y=1073741824;function _(O){if(O>y)throw new U("size","<= 1GiB",O);return O--,O|=O>>>1,O|=O>>>2,O|=O>>>4,O|=O>>>8,O|=O>>>16,O++,O}function B(O,G){return O<=0||G.length===0&&G.ended?0:G.state&ee?1:o(O)?G.flowing&&G.length?G.buffer.first().length:G.length:O<=G.length?O:G.ended?G.length:0}ce.prototype.read=function(O){v("read",O),O===void 0?O=NaN:n(O)||(O=i(O,10));let G=this._readableState,xe=O;if(O>G.highWaterMark&&(G.highWaterMark=_(O)),O!==0&&(G.state&=~J),O===0&&G.needReadable&&((G.highWaterMark!==0?G.length>=G.highWaterMark:G.length>0)||G.ended))return v("read: emitReadable",G.length,G.ended),G.length===0&&G.ended?Ue(this):P(this),null;if(O=B(O,G),O===0&&G.ended)return G.length===0&&Ue(this),null;let Ie=(G.state&le)!==0;if(v("need readable",Ie),(G.length===0||G.length-O<G.highWaterMark)&&(Ie=!0,v("length less than watermark",Ie)),G.ended||G.reading||G.destroyed||G.errored||!G.constructed)Ie=!1,v("reading, ended or constructing",Ie);else if(Ie){v("do read"),G.state|=Se|q,G.length===0&&(G.state|=le);try{this._read(G.highWaterMark)}catch(tt){R(this,tt)}G.state&=~q,G.reading||(O=B(xe,G))}let $e;return O>0?$e=De(O,G):$e=null,$e===null?(G.needReadable=G.length<=G.highWaterMark,O=0):(G.length-=O,G.multiAwaitDrain?G.awaitDrainWriters.clear():G.awaitDrainWriters=null),G.length===0&&(G.ended||(G.needReadable=!0),xe!==O&&G.ended&&Ue(this)),$e!==null&&!G.errorEmitted&&!G.closeEmitted&&(G.dataEmitted=!0,this.emit("data",$e)),$e};function L(O,G){if(v("onEofChunk"),!G.ended){if(G.decoder){let xe=G.decoder.end();xe&&xe.length&&(G.buffer.push(xe),G.length+=G.objectMode?1:xe.length)}G.ended=!0,G.sync?P(O):(G.needReadable=!1,G.emittedReadable=!0,j(O))}}function P(O){let G=O._readableState;v("emitReadable",G.needReadable,G.emittedReadable),G.needReadable=!1,G.emittedReadable||(v("emitReadable",G.flowing),G.emittedReadable=!0,r.nextTick(j,O))}function j(O){let G=O._readableState;v("emitReadable_",G.destroyed,G.length,G.ended),!G.destroyed&&!G.errored&&(G.length||G.ended)&&(O.emit("readable"),G.emittedReadable=!1),G.needReadable=!G.flowing&&!G.ended&&G.length<=G.highWaterMark,et(O)}function M(O,G){!G.readingMore&&G.constructed&&(G.readingMore=!0,r.nextTick(z,O,G))}function z(O,G){for(;!G.reading&&!G.ended&&(G.length<G.highWaterMark||G.flowing&&G.length===0);){let xe=G.length;if(v("maybeReadMore read 0"),O.read(0),xe===G.length)break}G.readingMore=!1}ce.prototype._read=function(O){throw new x("_read()")},ce.prototype.pipe=function(O,G){let xe=this,Ie=this._readableState;Ie.pipes.length===1&&(Ie.multiAwaitDrain||(Ie.multiAwaitDrain=!0,Ie.awaitDrainWriters=new h(Ie.awaitDrainWriters?[Ie.awaitDrainWriters]:[]))),Ie.pipes.push(O),v("pipe count=%d opts=%j",Ie.pipes.length,G);let $e=(!G||G.end!==!1)&&O!==r.stdout&&O!==r.stderr?ct:tr;Ie.endEmitted?r.nextTick($e):xe.once("end",$e),O.on("unpipe",tt);function tt(Et,Tt){v("onunpipe"),Et===xe&&Tt&&Tt.hasUnpiped===!1&&(Tt.hasUnpiped=!0,_r())}function ct(){v("onend"),O.end()}let gt,kr=!1;function _r(){v("cleanup"),O.removeListener("close",wt),O.removeListener("finish",Ft),gt&&O.removeListener("drain",gt),O.removeListener("error",er),O.removeListener("unpipe",tt),xe.removeListener("end",ct),xe.removeListener("end",tr),xe.removeListener("data",fo),kr=!0,gt&&Ie.awaitDrainWriters&&(!O._writableState||O._writableState.needDrain)&&gt()}function Nr(){kr||(Ie.pipes.length===1&&Ie.pipes[0]===O?(v("false write response, pause",0),Ie.awaitDrainWriters=O,Ie.multiAwaitDrain=!1):Ie.pipes.length>1&&Ie.pipes.includes(O)&&(v("false write response, pause",Ie.awaitDrainWriters.size),Ie.awaitDrainWriters.add(O)),xe.pause()),gt||(gt=ke(xe,O),O.on("drain",gt))}xe.on("data",fo);function fo(Et){v("ondata");let Tt=O.write(Et);v("dest.write",Tt),Tt===!1&&Nr()}function er(Et){if(v("onerror",Et),tr(),O.removeListener("error",er),O.listenerCount("error")===0){let Tt=O._writableState||O._readableState;Tt&&!Tt.errorEmitted?R(O,Et):O.emit("error",Et)}}S(O,"error",er);function wt(){O.removeListener("finish",Ft),tr()}O.once("close",wt);function Ft(){v("onfinish"),O.removeListener("close",wt),tr()}O.once("finish",Ft);function tr(){v("unpipe"),xe.unpipe(O)}return O.emit("pipe",xe),O.writableNeedDrain===!0?Nr():Ie.flowing||(v("pipe resume"),xe.resume()),O};function ke(O,G){return function(){let xe=O._readableState;xe.awaitDrainWriters===G?(v("pipeOnDrain",1),xe.awaitDrainWriters=null):xe.multiAwaitDrain&&(v("pipeOnDrain",xe.awaitDrainWriters.size),xe.awaitDrainWriters.delete(G)),(!xe.awaitDrainWriters||xe.awaitDrainWriters.size===0)&&O.listenerCount("data")&&O.resume()}}ce.prototype.unpipe=function(O){let G=this._readableState,xe={hasUnpiped:!1};if(G.pipes.length===0)return this;if(!O){let $e=G.pipes;G.pipes=[],this.pause();for(let tt=0;tt<$e.length;tt++)$e[tt].emit("unpipe",this,{hasUnpiped:!1});return this}let Ie=a(G.pipes,O);return Ie===-1?this:(G.pipes.splice(Ie,1),G.pipes.length===0&&this.pause(),O.emit("unpipe",this,xe),this)},ce.prototype.on=function(O,G){let xe=N.prototype.on.call(this,O,G),Ie=this._readableState;return O==="data"?(Ie.readableListening=this.listenerCount("readable")>0,Ie.flowing!==!1&&this.resume()):O==="readable"&&!Ie.endEmitted&&!Ie.readableListening&&(Ie.readableListening=Ie.needReadable=!0,Ie.flowing=!1,Ie.emittedReadable=!1,v("on readable",Ie.length,Ie.reading),Ie.length?P(this):Ie.reading||r.nextTick(Te,this)),xe},ce.prototype.addListener=ce.prototype.on,ce.prototype.removeListener=function(O,G){let xe=N.prototype.removeListener.call(this,O,G);return O==="readable"&&r.nextTick(Ce,this),xe},ce.prototype.off=ce.prototype.removeListener,ce.prototype.removeAllListeners=function(O){let G=N.prototype.removeAllListeners.apply(this,arguments);return(O==="readable"||O===void 0)&&r.nextTick(Ce,this),G};function Ce(O){let G=O._readableState;G.readableListening=O.listenerCount("readable")>0,G.resumeScheduled&&G[re]===!1?G.flowing=!0:O.listenerCount("data")>0?O.resume():G.readableListening||(G.flowing=null)}function Te(O){v("readable nexttick read 0"),O.read(0)}ce.prototype.resume=function(){let O=this._readableState;return O.flowing||(v("resume"),O.flowing=!O.readableListening,Oe(this,O)),O[re]=!1,this};function Oe(O,G){G.resumeScheduled||(G.resumeScheduled=!0,r.nextTick(Xe,O,G))}function Xe(O,G){v("resume",G.reading),G.reading||O.read(0),G.resumeScheduled=!1,O.emit("resume"),et(O),G.flowing&&!G.reading&&O.read(0)}ce.prototype.pause=function(){return v("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(v("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState[re]=!0,this};function et(O){let G=O._readableState;for(v("flow",G.flowing);G.flowing&&O.read()!==null;);}ce.prototype.wrap=function(O){let G=!1;O.on("data",Ie=>{!this.push(Ie)&&O.pause&&(G=!0,O.pause())}),O.on("end",()=>{this.push(null)}),O.on("error",Ie=>{R(this,Ie)}),O.on("close",()=>{this.destroy()}),O.on("destroy",()=>{this.destroy()}),this._read=()=>{G&&O.resume&&(G=!1,O.resume())};let xe=s(O);for(let Ie=1;Ie<xe.length;Ie++){let $e=xe[Ie];this[$e]===void 0&&typeof O[$e]=="function"&&(this[$e]=O[$e].bind(O))}return this},ce.prototype[p]=function(){return Re(this)},ce.prototype.iterator=function(O){return O!==void 0&&ne(O,"options"),Re(this,O)};function Re(O,G){typeof O.read!="function"&&(O=ce.wrap(O,{objectMode:!0}));let xe=Ge(O,G);return xe.stream=O,xe}async function*Ge(O,G){let xe=se;function Ie(ct){this===O?(xe(),xe=se):xe=ct}O.on("readable",Ie);let $e,tt=k(O,{writable:!1},ct=>{$e=ct?I($e,ct):null,xe(),xe=se});try{for(;;){let ct=O.destroyed?null:O.read();if(ct!==null)yield ct;else{if($e)throw $e;if($e===null)return;await new d(Ie)}}}catch(ct){throw $e=I($e,ct),$e}finally{($e||(G==null?void 0:G.destroyOnReturn)!==!1)&&($e===void 0||O._readableState.autoDestroy)?T.destroyer(O,null):(O.off("readable",Ie),tt())}}l(ce.prototype,{readable:{__proto__:null,get(){let O=this._readableState;return!!O&&O.readable!==!1&&!O.destroyed&&!O.errorEmitted&&!O.endEmitted},set(O){this._readableState&&(this._readableState.readable=!!O)}},readableDidRead:{__proto__:null,enumerable:!1,get:function(){return this._readableState.dataEmitted}},readableAborted:{__proto__:null,enumerable:!1,get:function(){return!!(this._readableState.readable!==!1&&(this._readableState.destroyed||this._readableState.errored)&&!this._readableState.endEmitted)}},readableHighWaterMark:{__proto__:null,enumerable:!1,get:function(){return this._readableState.highWaterMark}},readableBuffer:{__proto__:null,enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}},readableFlowing:{__proto__:null,enumerable:!1,get:function(){return this._readableState.flowing},set:function(O){this._readableState&&(this._readableState.flowing=O)}},readableLength:{__proto__:null,enumerable:!1,get(){return this._readableState.length}},readableObjectMode:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.objectMode:!1}},readableEncoding:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.encoding:null}},errored:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.errored:null}},closed:{__proto__:null,get(){return this._readableState?this._readableState.closed:!1}},destroyed:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.destroyed:!1},set(O){this._readableState&&(this._readableState.destroyed=O)}},readableEnded:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.endEmitted:!1}}}),l(Ne.prototype,{pipesCount:{__proto__:null,get(){return this.pipes.length}},paused:{__proto__:null,get(){return this[re]!==!1},set(O){this[re]=!!O}}}),ce._fromList=De;function De(O,G){if(G.length===0)return null;let xe;return G.objectMode?xe=G.buffer.shift():!O||O>=G.length?(G.decoder?xe=G.buffer.join(""):G.buffer.length===1?xe=G.buffer.first():xe=G.buffer.concat(G.length),G.buffer.clear()):xe=G.buffer.consume(O,G.decoder),xe}function Ue(O){let G=O._readableState;v("endReadable",G.endEmitted),G.endEmitted||(G.ended=!0,r.nextTick(qe,G,O))}function qe(O,G){if(v("endReadableNT",O.endEmitted,O.length),!O.errored&&!O.closeEmitted&&!O.endEmitted&&O.length===0){if(O.endEmitted=!0,G.emit("end"),G.writable&&G.allowHalfOpen===!1)r.nextTick(Ze,G);else if(O.autoDestroy){let xe=G._writableState;(!xe||xe.autoDestroy&&(xe.finished||xe.writable===!1))&&G.destroy()}}}function Ze(O){O.writable&&!O.writableEnded&&!O.destroyed&&O.end()}ce.from=function(O,G){return Z(ce,O,G)};var nt;function mt(){return nt===void 0&&(nt={}),nt}ce.fromWeb=function(O,G){return mt().newStreamReadableFromReadableStream(O,G)},ce.toWeb=function(O,G){return mt().newReadableStreamFromStreamReadable(O,G)},ce.wrap=function(O,G){var xe,Ie;return new ce({objectMode:(xe=(Ie=O.readableObjectMode)!==null&&Ie!==void 0?Ie:O.objectMode)!==null&&xe!==void 0?xe:!0,...G,destroy($e,tt){T.destroyer(O,$e),tt($e)}}).wrap(O)}}),Mn=_e((u,t)=>{ye(),we(),be();var r=Qt(),{ArrayPrototypeSlice:a,Error:n,FunctionPrototypeSymbolHasInstance:o,ObjectDefineProperty:i,ObjectDefineProperties:l,ObjectSetPrototypeOf:s,StringPrototypeToLowerCase:c,Symbol:d,SymbolHasInstance:h}=Qe();t.exports=ne,ne.WritableState=W;var{EventEmitter:m}=(Yt(),We(Dt)),p=On().Stream,{Buffer:f}=(ot(),We(rt)),w=ir(),{addAbortSignal:N}=Ar(),{getHighWaterMark:S,getDefaultHighWaterMark:b}=Tr(),{ERR_INVALID_ARG_TYPE:E,ERR_METHOD_NOT_IMPLEMENTED:k,ERR_MULTIPLE_CALLBACK:v,ERR_STREAM_CANNOT_PIPE:V,ERR_STREAM_DESTROYED:T,ERR_STREAM_ALREADY_FINISHED:C,ERR_STREAM_NULL_VALUES:A,ERR_STREAM_WRITE_AFTER_END:I,ERR_UNKNOWN_ENCODING:$}=lt().codes,{errorOrDestroy:x}=w;s(ne.prototype,p.prototype),s(ne,p);function U(){}var Q=d("kOnFinished");function W(D,F,ae){typeof ae!="boolean"&&(ae=F instanceof St()),this.objectMode=!!(D&&D.objectMode),ae&&(this.objectMode=this.objectMode||!!(D&&D.writableObjectMode)),this.highWaterMark=D?S(this,D,"writableHighWaterMark",ae):b(!1),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;let ue=!!(D&&D.decodeStrings===!1);this.decodeStrings=!ue,this.defaultEncoding=D&&D.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=R.bind(void 0,F),this.writecb=null,this.writelen=0,this.afterWriteTickInfo=null,pe(this),this.pendingcb=0,this.constructed=!0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!D||D.emitClose!==!1,this.autoDestroy=!D||D.autoDestroy!==!1,this.errored=null,this.closed=!1,this.closeEmitted=!1,this[Q]=[]}function pe(D){D.buffered=[],D.bufferedIndex=0,D.allBuffers=!0,D.allNoop=!0}W.prototype.getBuffer=function(){return a(this.buffered,this.bufferedIndex)},i(W.prototype,"bufferedRequestCount",{__proto__:null,get(){return this.buffered.length-this.bufferedIndex}});function ne(D){let F=this instanceof St();if(!F&&!o(ne,this))return new ne(D);this._writableState=new W(D,this,F),D&&(typeof D.write=="function"&&(this._write=D.write),typeof D.writev=="function"&&(this._writev=D.writev),typeof D.destroy=="function"&&(this._destroy=D.destroy),typeof D.final=="function"&&(this._final=D.final),typeof D.construct=="function"&&(this._construct=D.construct),D.signal&&N(D.signal,this)),p.call(this,D),w.construct(this,()=>{let ae=this._writableState;ae.writing||Se(this,ae),J(this,ae)})}i(ne,h,{__proto__:null,value:function(D){return o(this,D)?!0:this!==ne?!1:D&&D._writableState instanceof W}}),ne.prototype.pipe=function(){x(this,new V)};function re(D,F,ae,ue){let fe=D._writableState;if(typeof ae=="function")ue=ae,ae=fe.defaultEncoding;else{if(!ae)ae=fe.defaultEncoding;else if(ae!=="buffer"&&!f.isEncoding(ae))throw new $(ae);typeof ue!="function"&&(ue=U)}if(F===null)throw new A;if(!fe.objectMode)if(typeof F=="string")fe.decodeStrings!==!1&&(F=f.from(F,ae),ae="buffer");else if(F instanceof f)ae="buffer";else if(p._isUint8Array(F))F=p._uint8ArrayToBuffer(F),ae="buffer";else throw new E("chunk",["string","Buffer","Uint8Array"],F);let ge;return fe.ending?ge=new I:fe.destroyed&&(ge=new T("write")),ge?(r.nextTick(ue,ge),x(D,ge,!0),ge):(fe.pendingcb++,de(D,fe,F,ae,ue))}ne.prototype.write=function(D,F,ae){return re(this,D,F,ae)===!0},ne.prototype.cork=function(){this._writableState.corked++},ne.prototype.uncork=function(){let D=this._writableState;D.corked&&(D.corked--,D.writing||Se(this,D))},ne.prototype.setDefaultEncoding=function(D){if(typeof D=="string"&&(D=c(D)),!f.isEncoding(D))throw new $(D);return this._writableState.defaultEncoding=D,this};function de(D,F,ae,ue,fe){let ge=F.objectMode?1:ae.length;F.length+=ge;let X=F.length<F.highWaterMark;return X||(F.needDrain=!0),F.writing||F.corked||F.errored||!F.constructed?(F.buffered.push({chunk:ae,encoding:ue,callback:fe}),F.allBuffers&&ue!=="buffer"&&(F.allBuffers=!1),F.allNoop&&fe!==U&&(F.allNoop=!1)):(F.writelen=ge,F.writecb=fe,F.writing=!0,F.sync=!0,D._write(ae,ue,F.onwrite),F.sync=!1),X&&!F.errored&&!F.destroyed}function Z(D,F,ae,ue,fe,ge,X){F.writelen=ue,F.writecb=X,F.writing=!0,F.sync=!0,F.destroyed?F.onwrite(new T("write")):ae?D._writev(fe,F.onwrite):D._write(fe,ge,F.onwrite),F.sync=!1}function se(D,F,ae,ue){--F.pendingcb,ue(ae),Y(F),x(D,ae)}function R(D,F){let ae=D._writableState,ue=ae.sync,fe=ae.writecb;if(typeof fe!="function"){x(D,new v);return}ae.writing=!1,ae.writecb=null,ae.length-=ae.writelen,ae.writelen=0,F?(F.stack,ae.errored||(ae.errored=F),D._readableState&&!D._readableState.errored&&(D._readableState.errored=F),ue?r.nextTick(se,D,ae,F,fe):se(D,ae,F,fe)):(ae.buffered.length>ae.bufferedIndex&&Se(D,ae),ue?ae.afterWriteTickInfo!==null&&ae.afterWriteTickInfo.cb===fe?ae.afterWriteTickInfo.count++:(ae.afterWriteTickInfo={count:1,cb:fe,stream:D,state:ae},r.nextTick(ee,ae.afterWriteTickInfo)):he(D,ae,1,fe))}function ee({stream:D,state:F,count:ae,cb:ue}){return F.afterWriteTickInfo=null,he(D,F,ae,ue)}function he(D,F,ae,ue){for(!F.ending&&!D.destroyed&&F.length===0&&F.needDrain&&(F.needDrain=!1,D.emit("drain"));ae-- >0;)F.pendingcb--,ue();F.destroyed&&Y(F),J(D,F)}function Y(D){if(D.writing)return;for(let fe=D.bufferedIndex;fe<D.buffered.length;++fe){var F;let{chunk:ge,callback:X}=D.buffered[fe],me=D.objectMode?1:ge.length;D.length-=me,X((F=D.errored)!==null&&F!==void 0?F:new T("write"))}let ae=D[Q].splice(0);for(let fe=0;fe<ae.length;fe++){var ue;ae[fe]((ue=D.errored)!==null&&ue!==void 0?ue:new T("end"))}pe(D)}function Se(D,F){if(F.corked||F.bufferProcessing||F.destroyed||!F.constructed)return;let{buffered:ae,bufferedIndex:ue,objectMode:fe}=F,ge=ae.length-ue;if(!ge)return;let X=ue;if(F.bufferProcessing=!0,ge>1&&D._writev){F.pendingcb-=ge-1;let me=F.allNoop?U:ce=>{for(let Ve=X;Ve<ae.length;++Ve)ae[Ve].callback(ce)},Ne=F.allNoop&&X===0?ae:a(ae,X);Ne.allBuffers=F.allBuffers,Z(D,F,!0,F.length,Ne,"",me),pe(F)}else{do{let{chunk:me,encoding:Ne,callback:ce}=ae[X];ae[X++]=null;let Ve=fe?1:me.length;Z(D,F,!1,Ve,me,Ne,ce)}while(X<ae.length&&!F.writing);X===ae.length?pe(F):X>256?(ae.splice(0,X),F.bufferedIndex=0):F.bufferedIndex=X}F.bufferProcessing=!1}ne.prototype._write=function(D,F,ae){if(this._writev)this._writev([{chunk:D,encoding:F}],ae);else throw new k("_write()")},ne.prototype._writev=null,ne.prototype.end=function(D,F,ae){let ue=this._writableState;typeof D=="function"?(ae=D,D=null,F=null):typeof F=="function"&&(ae=F,F=null);let fe;if(D!=null){let ge=re(this,D,F);ge instanceof n&&(fe=ge)}return ue.corked&&(ue.corked=1,this.uncork()),fe||(!ue.errored&&!ue.ending?(ue.ending=!0,J(this,ue,!0),ue.ended=!0):ue.finished?fe=new C("end"):ue.destroyed&&(fe=new T("end"))),typeof ae=="function"&&(fe||ue.finished?r.nextTick(ae,fe):ue[Q].push(ae)),this};function te(D){return D.ending&&!D.destroyed&&D.constructed&&D.length===0&&!D.errored&&D.buffered.length===0&&!D.finished&&!D.writing&&!D.errorEmitted&&!D.closeEmitted}function q(D,F){let ae=!1;function ue(fe){if(ae){x(D,fe??v());return}if(ae=!0,F.pendingcb--,fe){let ge=F[Q].splice(0);for(let X=0;X<ge.length;X++)ge[X](fe);x(D,fe,F.sync)}else te(F)&&(F.prefinished=!0,D.emit("prefinish"),F.pendingcb++,r.nextTick(oe,D,F))}F.sync=!0,F.pendingcb++;try{D._final(ue)}catch(fe){ue(fe)}F.sync=!1}function le(D,F){!F.prefinished&&!F.finalCalled&&(typeof D._final=="function"&&!F.destroyed?(F.finalCalled=!0,q(D,F)):(F.prefinished=!0,D.emit("prefinish")))}function J(D,F,ae){te(F)&&(le(D,F),F.pendingcb===0&&(ae?(F.pendingcb++,r.nextTick((ue,fe)=>{te(fe)?oe(ue,fe):fe.pendingcb--},D,F)):te(F)&&(F.pendingcb++,oe(D,F))))}function oe(D,F){F.pendingcb--,F.finished=!0;let ae=F[Q].splice(0);for(let ue=0;ue<ae.length;ue++)ae[ue]();if(D.emit("finish"),F.autoDestroy){let ue=D._readableState;(!ue||ue.autoDestroy&&(ue.endEmitted||ue.readable===!1))&&D.destroy()}}l(ne.prototype,{closed:{__proto__:null,get(){return this._writableState?this._writableState.closed:!1}},destroyed:{__proto__:null,get(){return this._writableState?this._writableState.destroyed:!1},set(D){this._writableState&&(this._writableState.destroyed=D)}},writable:{__proto__:null,get(){let D=this._writableState;return!!D&&D.writable!==!1&&!D.destroyed&&!D.errored&&!D.ending&&!D.ended},set(D){this._writableState&&(this._writableState.writable=!!D)}},writableFinished:{__proto__:null,get(){return this._writableState?this._writableState.finished:!1}},writableObjectMode:{__proto__:null,get(){return this._writableState?this._writableState.objectMode:!1}},writableBuffer:{__proto__:null,get(){return this._writableState&&this._writableState.getBuffer()}},writableEnded:{__proto__:null,get(){return this._writableState?this._writableState.ending:!1}},writableNeedDrain:{__proto__:null,get(){let D=this._writableState;return D?!D.destroyed&&!D.ending&&D.needDrain:!1}},writableHighWaterMark:{__proto__:null,get(){return this._writableState&&this._writableState.highWaterMark}},writableCorked:{__proto__:null,get(){return this._writableState?this._writableState.corked:0}},writableLength:{__proto__:null,get(){return this._writableState&&this._writableState.length}},errored:{__proto__:null,enumerable:!1,get(){return this._writableState?this._writableState.errored:null}},writableAborted:{__proto__:null,enumerable:!1,get:function(){return!!(this._writableState.writable!==!1&&(this._writableState.destroyed||this._writableState.errored)&&!this._writableState.finished)}}});var ie=w.destroy;ne.prototype.destroy=function(D,F){let ae=this._writableState;return!ae.destroyed&&(ae.bufferedIndex<ae.buffered.length||ae[Q].length)&&r.nextTick(Y,ae),ie.call(this,D,F),this},ne.prototype._undestroy=w.undestroy,ne.prototype._destroy=function(D,F){F(D)},ne.prototype[m.captureRejectionSymbol]=function(D){this.destroy(D)};var Ee;function K(){return Ee===void 0&&(Ee={}),Ee}ne.fromWeb=function(D,F){return K().newStreamWritableFromWritableStream(D,F)},ne.toWeb=function(D){return K().newWritableStreamFromStreamWritable(D)}}),ny=_e((u,t)=>{ye(),we(),be();var r=Qt(),a=(ot(),We(rt)),{isReadable:n,isWritable:o,isIterable:i,isNodeStream:l,isReadableNodeStream:s,isWritableNodeStream:c,isDuplexNodeStream:d,isReadableStream:h,isWritableStream:m}=Nt(),p=Pt(),{AbortError:f,codes:{ERR_INVALID_ARG_TYPE:w,ERR_INVALID_RETURN_VALUE:N}}=lt(),{destroyer:S}=ir(),b=St(),E=$r(),k=Mn(),{createDeferredPromise:v}=ut(),V=za(),T=globalThis.Blob||a.Blob,C=typeof T<"u"?function(Q){return Q instanceof T}:function(Q){return!1},A=globalThis.AbortController||mr().AbortController,{FunctionPrototypeCall:I}=Qe(),$=class extends b{constructor(Q){super(Q),(Q==null?void 0:Q.readable)===!1&&(this._readableState.readable=!1,this._readableState.ended=!0,this._readableState.endEmitted=!0),(Q==null?void 0:Q.writable)===!1&&(this._writableState.writable=!1,this._writableState.ending=!0,this._writableState.ended=!0,this._writableState.finished=!0)}};t.exports=function Q(W,pe){if(d(W))return W;if(s(W))return U({readable:W});if(c(W))return U({writable:W});if(l(W))return U({writable:!1,readable:!1});if(h(W))return U({readable:E.fromWeb(W)});if(m(W))return U({writable:k.fromWeb(W)});if(typeof W=="function"){let{value:re,write:de,final:Z,destroy:se}=x(W);if(i(re))return V($,re,{objectMode:!0,write:de,final:Z,destroy:se});let R=re==null?void 0:re.then;if(typeof R=="function"){let ee,he=I(R,re,Y=>{if(Y!=null)throw new N("nully","body",Y)},Y=>{S(ee,Y)});return ee=new $({objectMode:!0,readable:!1,write:de,final(Y){Z(async()=>{try{await he,r.nextTick(Y,null)}catch(Se){r.nextTick(Y,Se)}})},destroy:se})}throw new N("Iterable, AsyncIterable or AsyncFunction",pe,re)}if(C(W))return Q(W.arrayBuffer());if(i(W))return V($,W,{objectMode:!0,writable:!1});if(h(W==null?void 0:W.readable)&&m(W==null?void 0:W.writable))return $.fromWeb(W);if(typeof(W==null?void 0:W.writable)=="object"||typeof(W==null?void 0:W.readable)=="object"){let re=W!=null&&W.readable?s(W==null?void 0:W.readable)?W==null?void 0:W.readable:Q(W.readable):void 0,de=W!=null&&W.writable?c(W==null?void 0:W.writable)?W==null?void 0:W.writable:Q(W.writable):void 0;return U({readable:re,writable:de})}let ne=W==null?void 0:W.then;if(typeof ne=="function"){let re;return I(ne,W,de=>{de!=null&&re.push(de),re.push(null)},de=>{S(re,de)}),re=new $({objectMode:!0,writable:!1,read(){}})}throw new w(pe,["Blob","ReadableStream","WritableStream","Stream","Iterable","AsyncIterable","Function","{ readable, writable } pair","Promise"],W)};function x(Q){let{promise:W,resolve:pe}=v(),ne=new A,re=ne.signal;return{value:Q(async function*(){for(;;){let de=W;W=null;let{chunk:Z,done:se,cb:R}=await de;if(r.nextTick(R),se)return;if(re.aborted)throw new f(void 0,{cause:re.reason});({promise:W,resolve:pe}=v()),yield Z}}(),{signal:re}),write(de,Z,se){let R=pe;pe=null,R({chunk:de,done:!1,cb:se})},final(de){let Z=pe;pe=null,Z({done:!0,cb:de})},destroy(de,Z){ne.abort(),Z(de)}}}function U(Q){let W=Q.readable&&typeof Q.readable.read!="function"?E.wrap(Q.readable):Q.readable,pe=Q.writable,ne=!!n(W),re=!!o(pe),de,Z,se,R,ee;function he(Y){let Se=R;R=null,Se?Se(Y):Y&&ee.destroy(Y)}return ee=new $({readableObjectMode:!!(W!=null&&W.readableObjectMode),writableObjectMode:!!(pe!=null&&pe.writableObjectMode),readable:ne,writable:re}),re&&(p(pe,Y=>{re=!1,Y&&S(W,Y),he(Y)}),ee._write=function(Y,Se,te){pe.write(Y,Se)?te():de=te},ee._final=function(Y){pe.end(),Z=Y},pe.on("drain",function(){if(de){let Y=de;de=null,Y()}}),pe.on("finish",function(){if(Z){let Y=Z;Z=null,Y()}})),ne&&(p(W,Y=>{ne=!1,Y&&S(W,Y),he(Y)}),W.on("readable",function(){if(se){let Y=se;se=null,Y()}}),W.on("end",function(){ee.push(null)}),ee._read=function(){for(;;){let Y=W.read();if(Y===null){se=ee._read;return}if(!ee.push(Y))return}}),ee._destroy=function(Y,Se){!Y&&R!==null&&(Y=new f),se=null,de=null,Z=null,R===null?Se(Y):(R=Se,S(pe,Y),S(W,Y))},ee}}),St=_e((u,t)=>{ye(),we(),be();var{ObjectDefineProperties:r,ObjectGetOwnPropertyDescriptor:a,ObjectKeys:n,ObjectSetPrototypeOf:o}=Qe();t.exports=s;var i=$r(),l=Mn();o(s.prototype,i.prototype),o(s,i);{let m=n(l.prototype);for(let p=0;p<m.length;p++){let f=m[p];s.prototype[f]||(s.prototype[f]=l.prototype[f])}}function s(m){if(!(this instanceof s))return new s(m);i.call(this,m),l.call(this,m),m?(this.allowHalfOpen=m.allowHalfOpen!==!1,m.readable===!1&&(this._readableState.readable=!1,this._readableState.ended=!0,this._readableState.endEmitted=!0),m.writable===!1&&(this._writableState.writable=!1,this._writableState.ending=!0,this._writableState.ended=!0,this._writableState.finished=!0)):this.allowHalfOpen=!0}r(s.prototype,{writable:{__proto__:null,...a(l.prototype,"writable")},writableHighWaterMark:{__proto__:null,...a(l.prototype,"writableHighWaterMark")},writableObjectMode:{__proto__:null,...a(l.prototype,"writableObjectMode")},writableBuffer:{__proto__:null,...a(l.prototype,"writableBuffer")},writableLength:{__proto__:null,...a(l.prototype,"writableLength")},writableFinished:{__proto__:null,...a(l.prototype,"writableFinished")},writableCorked:{__proto__:null,...a(l.prototype,"writableCorked")},writableEnded:{__proto__:null,...a(l.prototype,"writableEnded")},writableNeedDrain:{__proto__:null,...a(l.prototype,"writableNeedDrain")},destroyed:{__proto__:null,get(){return this._readableState===void 0||this._writableState===void 0?!1:this._readableState.destroyed&&this._writableState.destroyed},set(m){this._readableState&&this._writableState&&(this._readableState.destroyed=m,this._writableState.destroyed=m)}}});var c;function d(){return c===void 0&&(c={}),c}s.fromWeb=function(m,p){return d().newStreamDuplexFromReadableWritablePair(m,p)},s.toWeb=function(m){return d().newReadableWritablePairFromDuplex(m)};var h;s.from=function(m){return h||(h=ny()),h(m,"body")}}),Wa=_e((u,t)=>{ye(),we(),be();var{ObjectSetPrototypeOf:r,Symbol:a}=Qe();t.exports=s;var{ERR_METHOD_NOT_IMPLEMENTED:n}=lt().codes,o=St(),{getHighWaterMark:i}=Tr();r(s.prototype,o.prototype),r(s,o);var l=a("kCallback");function s(h){if(!(this instanceof s))return new s(h);let m=h?i(this,h,"readableHighWaterMark",!0):null;m===0&&(h={...h,highWaterMark:null,readableHighWaterMark:m,writableHighWaterMark:h.writableHighWaterMark||0}),o.call(this,h),this._readableState.sync=!1,this[l]=null,h&&(typeof h.transform=="function"&&(this._transform=h.transform),typeof h.flush=="function"&&(this._flush=h.flush)),this.on("prefinish",d)}function c(h){typeof this._flush=="function"&&!this.destroyed?this._flush((m,p)=>{if(m){h?h(m):this.destroy(m);return}p!=null&&this.push(p),this.push(null),h&&h()}):(this.push(null),h&&h())}function d(){this._final!==c&&c.call(this)}s.prototype._final=c,s.prototype._transform=function(h,m,p){throw new n("_transform()")},s.prototype._write=function(h,m,p){let f=this._readableState,w=this._writableState,N=f.length;this._transform(h,m,(S,b)=>{if(S){p(S);return}b!=null&&this.push(b),w.ended||N===f.length||f.length<f.highWaterMark?p():this[l]=p})},s.prototype._read=function(){if(this[l]){let h=this[l];this[l]=null,h()}}}),qa=_e((u,t)=>{ye(),we(),be();var{ObjectSetPrototypeOf:r}=Qe();t.exports=n;var a=Wa();r(n.prototype,a.prototype),r(n,a);function n(o){if(!(this instanceof n))return new n(o);a.call(this,o)}n.prototype._transform=function(o,i,l){l(null,o)}}),Rn=_e((u,t)=>{ye(),we(),be();var r=Qt(),{ArrayIsArray:a,Promise:n,SymbolAsyncIterator:o,SymbolDispose:i}=Qe(),l=Pt(),{once:s}=ut(),c=ir(),d=St(),{aggregateTwoErrors:h,codes:{ERR_INVALID_ARG_TYPE:m,ERR_INVALID_RETURN_VALUE:p,ERR_MISSING_ARGS:f,ERR_STREAM_DESTROYED:w,ERR_STREAM_PREMATURE_CLOSE:N},AbortError:S}=lt(),{validateFunction:b,validateAbortSignal:E}=yr(),{isIterable:k,isReadable:v,isReadableNodeStream:V,isNodeStream:T,isTransformStream:C,isWebStream:A,isReadableStream:I,isReadableFinished:$}=Nt(),x=globalThis.AbortController||mr().AbortController,U,Q,W;function pe(Y,Se,te){let q=!1;Y.on("close",()=>{q=!0});let le=l(Y,{readable:Se,writable:te},J=>{q=!J});return{destroy:J=>{q||(q=!0,c.destroyer(Y,J||new w("pipe")))},cleanup:le}}function ne(Y){return b(Y[Y.length-1],"streams[stream.length - 1]"),Y.pop()}function re(Y){if(k(Y))return Y;if(V(Y))return de(Y);throw new m("val",["Readable","Iterable","AsyncIterable"],Y)}async function*de(Y){Q||(Q=$r()),yield*Q.prototype[o].call(Y)}async function Z(Y,Se,te,{end:q}){let le,J=null,oe=K=>{if(K&&(le=K),J){let D=J;J=null,D()}},ie=()=>new n((K,D)=>{le?D(le):J=()=>{le?D(le):K()}});Se.on("drain",oe);let Ee=l(Se,{readable:!1},oe);try{Se.writableNeedDrain&&await ie();for await(let K of Y)Se.write(K)||await ie();q&&(Se.end(),await ie()),te()}catch(K){te(le!==K?h(le,K):K)}finally{Ee(),Se.off("drain",oe)}}async function se(Y,Se,te,{end:q}){C(Se)&&(Se=Se.writable);let le=Se.getWriter();try{for await(let J of Y)await le.ready,le.write(J).catch(()=>{});await le.ready,q&&await le.close(),te()}catch(J){try{await le.abort(J),te(J)}catch(oe){te(oe)}}}function R(...Y){return ee(Y,s(ne(Y)))}function ee(Y,Se,te){if(Y.length===1&&a(Y[0])&&(Y=Y[0]),Y.length<2)throw new f("streams");let q=new x,le=q.signal,J=te==null?void 0:te.signal,oe=[];E(J,"options.signal");function ie(){fe(new S)}W=W||ut().addAbortListener;let Ee;J&&(Ee=W(J,ie));let K,D,F=[],ae=0;function ue(Ne){fe(Ne,--ae===0)}function fe(Ne,ce){var Ve;if(Ne&&(!K||K.code==="ERR_STREAM_PREMATURE_CLOSE")&&(K=Ne),!(!K&&!ce)){for(;F.length;)F.shift()(K);(Ve=Ee)===null||Ve===void 0||Ve[i](),q.abort(),ce&&(K||oe.forEach(g=>g()),r.nextTick(Se,K,D))}}let ge;for(let Ne=0;Ne<Y.length;Ne++){let ce=Y[Ne],Ve=Ne<Y.length-1,g=Ne>0,y=Ve||(te==null?void 0:te.end)!==!1,_=Ne===Y.length-1;if(T(ce)){let B=function(L){L&&L.name!=="AbortError"&&L.code!=="ERR_STREAM_PREMATURE_CLOSE"&&ue(L)};if(y){let{destroy:L,cleanup:P}=pe(ce,Ve,g);F.push(L),v(ce)&&_&&oe.push(P)}ce.on("error",B),v(ce)&&_&&oe.push(()=>{ce.removeListener("error",B)})}if(Ne===0)if(typeof ce=="function"){if(ge=ce({signal:le}),!k(ge))throw new p("Iterable, AsyncIterable or Stream","source",ge)}else k(ce)||V(ce)||C(ce)?ge=ce:ge=d.from(ce);else if(typeof ce=="function"){if(C(ge)){var X;ge=re((X=ge)===null||X===void 0?void 0:X.readable)}else ge=re(ge);if(ge=ce(ge,{signal:le}),Ve){if(!k(ge,!0))throw new p("AsyncIterable",`transform[${Ne-1}]`,ge)}else{var me;U||(U=qa());let B=new U({objectMode:!0}),L=(me=ge)===null||me===void 0?void 0:me.then;if(typeof L=="function")ae++,L.call(ge,M=>{D=M,M!=null&&B.write(M),y&&B.end(),r.nextTick(ue)},M=>{B.destroy(M),r.nextTick(ue,M)});else if(k(ge,!0))ae++,Z(ge,B,ue,{end:y});else if(I(ge)||C(ge)){let M=ge.readable||ge;ae++,Z(M,B,ue,{end:y})}else throw new p("AsyncIterable or Promise","destination",ge);ge=B;let{destroy:P,cleanup:j}=pe(ge,!1,!0);F.push(P),_&&oe.push(j)}}else if(T(ce)){if(V(ge)){ae+=2;let B=he(ge,ce,ue,{end:y});v(ce)&&_&&oe.push(B)}else if(C(ge)||I(ge)){let B=ge.readable||ge;ae++,Z(B,ce,ue,{end:y})}else if(k(ge))ae++,Z(ge,ce,ue,{end:y});else throw new m("val",["Readable","Iterable","AsyncIterable","ReadableStream","TransformStream"],ge);ge=ce}else if(A(ce)){if(V(ge))ae++,se(re(ge),ce,ue,{end:y});else if(I(ge)||k(ge))ae++,se(ge,ce,ue,{end:y});else if(C(ge))ae++,se(ge.readable,ce,ue,{end:y});else throw new m("val",["Readable","Iterable","AsyncIterable","ReadableStream","TransformStream"],ge);ge=ce}else ge=d.from(ce)}return(le!=null&&le.aborted||J!=null&&J.aborted)&&r.nextTick(ie),ge}function he(Y,Se,te,{end:q}){let le=!1;if(Se.on("close",()=>{le||te(new N)}),Y.pipe(Se,{end:!1}),q){let J=function(){le=!0,Se.end()};$(Y)?r.nextTick(J):Y.once("end",J)}else te();return l(Y,{readable:!0,writable:!1},J=>{let oe=Y._readableState;J&&J.code==="ERR_STREAM_PREMATURE_CLOSE"&&oe&&oe.ended&&!oe.errored&&!oe.errorEmitted?Y.once("end",te).once("error",te):te(J)}),l(Se,{readable:!1,writable:!0},te)}t.exports={pipelineImpl:ee,pipeline:R}}),Ga=_e((u,t)=>{ye(),we(),be();var{pipeline:r}=Rn(),a=St(),{destroyer:n}=ir(),{isNodeStream:o,isReadable:i,isWritable:l,isWebStream:s,isTransformStream:c,isWritableStream:d,isReadableStream:h}=Nt(),{AbortError:m,codes:{ERR_INVALID_ARG_VALUE:p,ERR_MISSING_ARGS:f}}=lt(),w=Pt();t.exports=function(...N){if(N.length===0)throw new f("streams");if(N.length===1)return a.from(N[0]);let S=[...N];if(typeof N[0]=="function"&&(N[0]=a.from(N[0])),typeof N[N.length-1]=="function"){let x=N.length-1;N[x]=a.from(N[x])}for(let x=0;x<N.length;++x)if(!(!o(N[x])&&!s(N[x]))){if(x<N.length-1&&!(i(N[x])||h(N[x])||c(N[x])))throw new p(`streams[${x}]`,S[x],"must be readable");if(x>0&&!(l(N[x])||d(N[x])||c(N[x])))throw new p(`streams[${x}]`,S[x],"must be writable")}let b,E,k,v,V;function T(x){let U=v;v=null,U?U(x):x?V.destroy(x):!$&&!I&&V.destroy()}let C=N[0],A=r(N,T),I=!!(l(C)||d(C)||c(C)),$=!!(i(A)||h(A)||c(A));if(V=new a({writableObjectMode:!!(C!=null&&C.writableObjectMode),readableObjectMode:!!(A!=null&&A.readableObjectMode),writable:I,readable:$}),I){if(o(C))V._write=function(U,Q,W){C.write(U,Q)?W():b=W},V._final=function(U){C.end(),E=U},C.on("drain",function(){if(b){let U=b;b=null,U()}});else if(s(C)){let U=(c(C)?C.writable:C).getWriter();V._write=async function(Q,W,pe){try{await U.ready,U.write(Q).catch(()=>{}),pe()}catch(ne){pe(ne)}},V._final=async function(Q){try{await U.ready,U.close().catch(()=>{}),E=Q}catch(W){Q(W)}}}let x=c(A)?A.readable:A;w(x,()=>{if(E){let U=E;E=null,U()}})}if($){if(o(A))A.on("readable",function(){if(k){let x=k;k=null,x()}}),A.on("end",function(){V.push(null)}),V._read=function(){for(;;){let x=A.read();if(x===null){k=V._read;return}if(!V.push(x))return}};else if(s(A)){let x=(c(A)?A.readable:A).getReader();V._read=async function(){for(;;)try{let{value:U,done:Q}=await x.read();if(!V.push(U))return;if(Q){V.push(null);return}}catch{return}}}}return V._destroy=function(x,U){!x&&v!==null&&(x=new m),k=null,b=null,E=null,v===null?U(x):(v=U,o(A)&&n(A,x))},V}}),iy=_e((u,t)=>{ye(),we(),be();var r=globalThis.AbortController||mr().AbortController,{codes:{ERR_INVALID_ARG_VALUE:a,ERR_INVALID_ARG_TYPE:n,ERR_MISSING_ARGS:o,ERR_OUT_OF_RANGE:i},AbortError:l}=lt(),{validateAbortSignal:s,validateInteger:c,validateObject:d}=yr(),h=Qe().Symbol("kWeak"),m=Qe().Symbol("kResistStopPropagation"),{finished:p}=Pt(),f=Ga(),{addAbortSignalNoValidate:w}=Ar(),{isWritable:N,isNodeStream:S}=Nt(),{deprecate:b}=ut(),{ArrayPrototypePush:E,Boolean:k,MathFloor:v,Number:V,NumberIsNaN:T,Promise:C,PromiseReject:A,PromiseResolve:I,PromisePrototypeThen:$,Symbol:x}=Qe(),U=x("kEmpty"),Q=x("kEof");function W(J,oe){if(oe!=null&&d(oe,"options"),(oe==null?void 0:oe.signal)!=null&&s(oe.signal,"options.signal"),S(J)&&!N(J))throw new a("stream",J,"must be writable");let ie=f(this,J);return oe!=null&&oe.signal&&w(oe.signal,ie),ie}function pe(J,oe){if(typeof J!="function")throw new n("fn",["Function","AsyncFunction"],J);oe!=null&&d(oe,"options"),(oe==null?void 0:oe.signal)!=null&&s(oe.signal,"options.signal");let ie=1;(oe==null?void 0:oe.concurrency)!=null&&(ie=v(oe.concurrency));let Ee=ie-1;return(oe==null?void 0:oe.highWaterMark)!=null&&(Ee=v(oe.highWaterMark)),c(ie,"options.concurrency",1),c(Ee,"options.highWaterMark",0),Ee+=ie,(async function*(){let K=ut().AbortSignalAny([oe==null?void 0:oe.signal].filter(k)),D=this,F=[],ae={signal:K},ue,fe,ge=!1,X=0;function me(){ge=!0,Ne()}function Ne(){X-=1,ce()}function ce(){fe&&!ge&&X<ie&&F.length<Ee&&(fe(),fe=null)}async function Ve(){try{for await(let g of D){if(ge)return;if(K.aborted)throw new l;try{if(g=J(g,ae),g===U)continue;g=I(g)}catch(y){g=A(y)}X+=1,$(g,Ne,me),F.push(g),ue&&(ue(),ue=null),!ge&&(F.length>=Ee||X>=ie)&&await new C(y=>{fe=y})}F.push(Q)}catch(g){let y=A(g);$(y,Ne,me),F.push(y)}finally{ge=!0,ue&&(ue(),ue=null)}}Ve();try{for(;;){for(;F.length>0;){let g=await F[0];if(g===Q)return;if(K.aborted)throw new l;g!==U&&(yield g),F.shift(),ce()}await new C(g=>{ue=g})}}finally{ge=!0,fe&&(fe(),fe=null)}}).call(this)}function ne(J=void 0){return J!=null&&d(J,"options"),(J==null?void 0:J.signal)!=null&&s(J.signal,"options.signal"),(async function*(){let oe=0;for await(let Ee of this){var ie;if(J!=null&&(ie=J.signal)!==null&&ie!==void 0&&ie.aborted)throw new l({cause:J.signal.reason});yield[oe++,Ee]}}).call(this)}async function re(J,oe=void 0){for await(let ie of R.call(this,J,oe))return!0;return!1}async function de(J,oe=void 0){if(typeof J!="function")throw new n("fn",["Function","AsyncFunction"],J);return!await re.call(this,async(...ie)=>!await J(...ie),oe)}async function Z(J,oe){for await(let ie of R.call(this,J,oe))return ie}async function se(J,oe){if(typeof J!="function")throw new n("fn",["Function","AsyncFunction"],J);async function ie(Ee,K){return await J(Ee,K),U}for await(let Ee of pe.call(this,ie,oe));}function R(J,oe){if(typeof J!="function")throw new n("fn",["Function","AsyncFunction"],J);async function ie(Ee,K){return await J(Ee,K)?Ee:U}return pe.call(this,ie,oe)}var ee=class extends o{constructor(){super("reduce"),this.message="Reduce of an empty stream requires an initial value"}};async function he(J,oe,ie){var Ee;if(typeof J!="function")throw new n("reducer",["Function","AsyncFunction"],J);ie!=null&&d(ie,"options"),(ie==null?void 0:ie.signal)!=null&&s(ie.signal,"options.signal");let K=arguments.length>1;if(ie!=null&&(Ee=ie.signal)!==null&&Ee!==void 0&&Ee.aborted){let fe=new l(void 0,{cause:ie.signal.reason});throw this.once("error",()=>{}),await p(this.destroy(fe)),fe}let D=new r,F=D.signal;if(ie!=null&&ie.signal){let fe={once:!0,[h]:this,[m]:!0};ie.signal.addEventListener("abort",()=>D.abort(),fe)}let ae=!1;try{for await(let fe of this){var ue;if(ae=!0,ie!=null&&(ue=ie.signal)!==null&&ue!==void 0&&ue.aborted)throw new l;K?oe=await J(oe,fe,{signal:F}):(oe=fe,K=!0)}if(!ae&&!K)throw new ee}finally{D.abort()}return oe}async function Y(J){J!=null&&d(J,"options"),(J==null?void 0:J.signal)!=null&&s(J.signal,"options.signal");let oe=[];for await(let Ee of this){var ie;if(J!=null&&(ie=J.signal)!==null&&ie!==void 0&&ie.aborted)throw new l(void 0,{cause:J.signal.reason});E(oe,Ee)}return oe}function Se(J,oe){let ie=pe.call(this,J,oe);return(async function*(){for await(let Ee of ie)yield*Ee}).call(this)}function te(J){if(J=V(J),T(J))return 0;if(J<0)throw new i("number",">= 0",J);return J}function q(J,oe=void 0){return oe!=null&&d(oe,"options"),(oe==null?void 0:oe.signal)!=null&&s(oe.signal,"options.signal"),J=te(J),(async function*(){var ie;if(oe!=null&&(ie=oe.signal)!==null&&ie!==void 0&&ie.aborted)throw new l;for await(let K of this){var Ee;if(oe!=null&&(Ee=oe.signal)!==null&&Ee!==void 0&&Ee.aborted)throw new l;J--<=0&&(yield K)}}).call(this)}function le(J,oe=void 0){return oe!=null&&d(oe,"options"),(oe==null?void 0:oe.signal)!=null&&s(oe.signal,"options.signal"),J=te(J),(async function*(){var ie;if(oe!=null&&(ie=oe.signal)!==null&&ie!==void 0&&ie.aborted)throw new l;for await(let K of this){var Ee;if(oe!=null&&(Ee=oe.signal)!==null&&Ee!==void 0&&Ee.aborted)throw new l;if(J-- >0&&(yield K),J<=0)return}}).call(this)}t.exports.streamReturningOperators={asIndexedPairs:b(ne,"readable.asIndexedPairs will be removed in a future version."),drop:q,filter:R,flatMap:Se,map:pe,take:le,compose:W},t.exports.promiseReturningOperators={every:de,forEach:se,reduce:he,toArray:Y,some:re,find:Z}}),Ha=_e((u,t)=>{ye(),we(),be();var{ArrayPrototypePop:r,Promise:a}=Qe(),{isIterable:n,isNodeStream:o,isWebStream:i}=Nt(),{pipelineImpl:l}=Rn(),{finished:s}=Pt();Ka();function c(...d){return new a((h,m)=>{let p,f,w=d[d.length-1];if(w&&typeof w=="object"&&!o(w)&&!n(w)&&!i(w)){let N=r(d);p=N.signal,f=N.end}l(d,(N,S)=>{N?m(N):h(S)},{signal:p,end:f})})}t.exports={finished:s,pipeline:c}}),Ka=_e((u,t)=>{ye(),we(),be();var{Buffer:r}=(ot(),We(rt)),{ObjectDefineProperty:a,ObjectKeys:n,ReflectApply:o}=Qe(),{promisify:{custom:i}}=ut(),{streamReturningOperators:l,promiseReturningOperators:s}=iy(),{codes:{ERR_ILLEGAL_CONSTRUCTOR:c}}=lt(),d=Ga(),{setDefaultHighWaterMark:h,getDefaultHighWaterMark:m}=Tr(),{pipeline:p}=Rn(),{destroyer:f}=ir(),w=Pt(),N=Ha(),S=Nt(),b=t.exports=On().Stream;b.isDestroyed=S.isDestroyed,b.isDisturbed=S.isDisturbed,b.isErrored=S.isErrored,b.isReadable=S.isReadable,b.isWritable=S.isWritable,b.Readable=$r();for(let k of n(l)){let v=function(...T){if(new.target)throw c();return b.Readable.from(o(V,this,T))},V=l[k];a(v,"name",{__proto__:null,value:V.name}),a(v,"length",{__proto__:null,value:V.length}),a(b.Readable.prototype,k,{__proto__:null,value:v,enumerable:!1,configurable:!0,writable:!0})}for(let k of n(s)){let v=function(...T){if(new.target)throw c();return o(V,this,T)},V=s[k];a(v,"name",{__proto__:null,value:V.name}),a(v,"length",{__proto__:null,value:V.length}),a(b.Readable.prototype,k,{__proto__:null,value:v,enumerable:!1,configurable:!0,writable:!0})}b.Writable=Mn(),b.Duplex=St(),b.Transform=Wa(),b.PassThrough=qa(),b.pipeline=p;var{addAbortSignal:E}=Ar();b.addAbortSignal=E,b.finished=w,b.destroy=f,b.compose=d,b.setDefaultHighWaterMark=h,b.getDefaultHighWaterMark=m,a(b,"promises",{__proto__:null,configurable:!0,enumerable:!0,get(){return N}}),a(p,i,{__proto__:null,enumerable:!0,get(){return N.pipeline}}),a(w,i,{__proto__:null,enumerable:!0,get(){return N.finished}}),b.Stream=b,b._isUint8Array=function(k){return k instanceof Uint8Array},b._uint8ArrayToBuffer=function(k){return r.from(k.buffer,k.byteOffset,k.byteLength)}}),Jt=_e((u,t)=>{ye(),we(),be();var r=Ka(),a=Ha(),n=r.Readable.destroy;t.exports=r.Readable,t.exports._uint8ArrayToBuffer=r._uint8ArrayToBuffer,t.exports._isUint8Array=r._isUint8Array,t.exports.isDisturbed=r.isDisturbed,t.exports.isErrored=r.isErrored,t.exports.isReadable=r.isReadable,t.exports.Readable=r.Readable,t.exports.Writable=r.Writable,t.exports.Duplex=r.Duplex,t.exports.Transform=r.Transform,t.exports.PassThrough=r.PassThrough,t.exports.addAbortSignal=r.addAbortSignal,t.exports.finished=r.finished,t.exports.destroy=r.destroy,t.exports.destroy=n,t.exports.pipeline=r.pipeline,t.exports.compose=r.compose,Object.defineProperty(r,"promises",{configurable:!0,enumerable:!0,get(){return a}}),t.exports.Stream=r.Stream,t.exports.default=t.exports}),ay=_e((u,t)=>{ye(),we(),be(),typeof Object.create=="function"?t.exports=function(r,a){a&&(r.super_=a,r.prototype=Object.create(a.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}))}:t.exports=function(r,a){if(a){r.super_=a;var n=function(){};n.prototype=a.prototype,r.prototype=new n,r.prototype.constructor=r}}}),sy=_e((u,t)=>{ye(),we(),be();var{Buffer:r}=(ot(),We(rt)),a=Symbol.for("BufferList");function n(o){if(!(this instanceof n))return new n(o);n._init.call(this,o)}n._init=function(o){Object.defineProperty(this,a,{value:!0}),this._bufs=[],this.length=0,o&&this.append(o)},n.prototype._new=function(o){return new n(o)},n.prototype._offset=function(o){if(o===0)return[0,0];let i=0;for(let l=0;l<this._bufs.length;l++){let s=i+this._bufs[l].length;if(o<s||l===this._bufs.length-1)return[l,o-i];i=s}},n.prototype._reverseOffset=function(o){let i=o[0],l=o[1];for(let s=0;s<i;s++)l+=this._bufs[s].length;return l},n.prototype.getBuffers=function(){return this._bufs},n.prototype.get=function(o){if(o>this.length||o<0)return;let i=this._offset(o);return this._bufs[i[0]][i[1]]},n.prototype.slice=function(o,i){return typeof o=="number"&&o<0&&(o+=this.length),typeof i=="number"&&i<0&&(i+=this.length),this.copy(null,0,o,i)},n.prototype.copy=function(o,i,l,s){if((typeof l!="number"||l<0)&&(l=0),(typeof s!="number"||s>this.length)&&(s=this.length),l>=this.length||s<=0)return o||r.alloc(0);let c=!!o,d=this._offset(l),h=s-l,m=h,p=c&&i||0,f=d[1];if(l===0&&s===this.length){if(!c)return this._bufs.length===1?this._bufs[0]:r.concat(this._bufs,this.length);for(let w=0;w<this._bufs.length;w++)this._bufs[w].copy(o,p),p+=this._bufs[w].length;return o}if(m<=this._bufs[d[0]].length-f)return c?this._bufs[d[0]].copy(o,i,f,f+m):this._bufs[d[0]].slice(f,f+m);c||(o=r.allocUnsafe(h));for(let w=d[0];w<this._bufs.length;w++){let N=this._bufs[w].length-f;if(m>N)this._bufs[w].copy(o,p,f),p+=N;else{this._bufs[w].copy(o,p,f,f+m),p+=N;break}m-=N,f&&(f=0)}return o.length>p?o.slice(0,p):o},n.prototype.shallowSlice=function(o,i){if(o=o||0,i=typeof i!="number"?this.length:i,o<0&&(o+=this.length),i<0&&(i+=this.length),o===i)return this._new();let l=this._offset(o),s=this._offset(i),c=this._bufs.slice(l[0],s[0]+1);return s[1]===0?c.pop():c[c.length-1]=c[c.length-1].slice(0,s[1]),l[1]!==0&&(c[0]=c[0].slice(l[1])),this._new(c)},n.prototype.toString=function(o,i,l){return this.slice(i,l).toString(o)},n.prototype.consume=function(o){if(o=Math.trunc(o),Number.isNaN(o)||o<=0)return this;for(;this._bufs.length;)if(o>=this._bufs[0].length)o-=this._bufs[0].length,this.length-=this._bufs[0].length,this._bufs.shift();else{this._bufs[0]=this._bufs[0].slice(o),this.length-=o;break}return this},n.prototype.duplicate=function(){let o=this._new();for(let i=0;i<this._bufs.length;i++)o.append(this._bufs[i]);return o},n.prototype.append=function(o){return this._attach(o,n.prototype._appendBuffer)},n.prototype.prepend=function(o){return this._attach(o,n.prototype._prependBuffer,!0)},n.prototype._attach=function(o,i,l){if(o==null)return this;if(o.buffer)i.call(this,r.from(o.buffer,o.byteOffset,o.byteLength));else if(Array.isArray(o)){let[s,c]=l?[o.length-1,-1]:[0,1];for(let d=s;d>=0&&d<o.length;d+=c)this._attach(o[d],i,l)}else if(this._isBufferList(o)){let[s,c]=l?[o._bufs.length-1,-1]:[0,1];for(let d=s;d>=0&&d<o._bufs.length;d+=c)this._attach(o._bufs[d],i,l)}else typeof o=="number"&&(o=o.toString()),i.call(this,r.from(o));return this},n.prototype._appendBuffer=function(o){this._bufs.push(o),this.length+=o.length},n.prototype._prependBuffer=function(o){this._bufs.unshift(o),this.length+=o.length},n.prototype.indexOf=function(o,i,l){if(l===void 0&&typeof i=="string"&&(l=i,i=void 0),typeof o=="function"||Array.isArray(o))throw new TypeError('The "value" argument must be one of type string, Buffer, BufferList, or Uint8Array.');if(typeof o=="number"?o=r.from([o]):typeof o=="string"?o=r.from(o,l):this._isBufferList(o)?o=o.slice():Array.isArray(o.buffer)?o=r.from(o.buffer,o.byteOffset,o.byteLength):r.isBuffer(o)||(o=r.from(o)),i=Number(i||0),isNaN(i)&&(i=0),i<0&&(i=this.length+i),i<0&&(i=0),o.length===0)return i>this.length?this.length:i;let s=this._offset(i),c=s[0],d=s[1];for(;c<this._bufs.length;c++){let h=this._bufs[c];for(;d<h.length;)if(h.length-d>=o.length){let m=h.indexOf(o,d);if(m!==-1)return this._reverseOffset([c,m]);d=h.length-o.length+1}else{let m=this._reverseOffset([c,d]);if(this._match(m,o))return m;d++}d=0}return-1},n.prototype._match=function(o,i){if(this.length-o<i.length)return!1;for(let l=0;l<i.length;l++)if(this.get(o+l)!==i[l])return!1;return!0},function(){let o={readDoubleBE:8,readDoubleLE:8,readFloatBE:4,readFloatLE:4,readBigInt64BE:8,readBigInt64LE:8,readBigUInt64BE:8,readBigUInt64LE:8,readInt32BE:4,readInt32LE:4,readUInt32BE:4,readUInt32LE:4,readInt16BE:2,readInt16LE:2,readUInt16BE:2,readUInt16LE:2,readInt8:1,readUInt8:1,readIntBE:null,readIntLE:null,readUIntBE:null,readUIntLE:null};for(let i in o)(function(l){o[l]===null?n.prototype[l]=function(s,c){return this.slice(s,s+c)[l](0,c)}:n.prototype[l]=function(s=0){return this.slice(s,s+o[l])[l](0)}})(i)}(),n.prototype._isBufferList=function(o){return o instanceof n||n.isBufferList(o)},n.isBufferList=function(o){return o!=null&&o[a]},t.exports=n}),ly=_e((u,t)=>{ye(),we(),be();var r=Jt().Duplex,a=ay(),n=sy();function o(i){if(!(this instanceof o))return new o(i);if(typeof i=="function"){this._callback=i;let l=(function(s){this._callback&&(this._callback(s),this._callback=null)}).bind(this);this.on("pipe",function(s){s.on("error",l)}),this.on("unpipe",function(s){s.removeListener("error",l)}),i=null}n._init.call(this,i),r.call(this)}a(o,r),Object.assign(o.prototype,n.prototype),o.prototype._new=function(i){return new o(i)},o.prototype._write=function(i,l,s){this._appendBuffer(i),typeof s=="function"&&s()},o.prototype._read=function(i){if(!this.length)return this.push(null);i=Math.min(i,this.length),this.push(this.slice(0,i)),this.consume(i)},o.prototype.end=function(i){r.prototype.end.call(this,i),this._callback&&(this._callback(null,this.slice()),this._callback=null)},o.prototype._destroy=function(i,l){this._bufs.length=0,this.length=0,l(i)},o.prototype._isBufferList=function(i){return i instanceof o||i instanceof n||o.isBufferList(i)},o.isBufferList=n.isBufferList,t.exports=o,t.exports.BufferListStream=o,t.exports.BufferList=n}),cy=_e((u,t)=>{ye(),we(),be();var r=class{constructor(){this.cmd=null,this.retain=!1,this.qos=0,this.dup=!1,this.length=-1,this.topic=null,this.payload=null}};t.exports=r}),Ya=_e((u,t)=>{ye(),we(),be();var r=t.exports,{Buffer:a}=(ot(),We(rt));r.types={0:"reserved",1:"connect",2:"connack",3:"publish",4:"puback",5:"pubrec",6:"pubrel",7:"pubcomp",8:"subscribe",9:"suback",10:"unsubscribe",11:"unsuback",12:"pingreq",13:"pingresp",14:"disconnect",15:"auth"},r.requiredHeaderFlags={1:0,2:0,4:0,5:0,6:2,7:0,8:2,9:0,10:2,11:0,12:0,13:0,14:0,15:0},r.requiredHeaderFlagsErrors={};for(let o in r.requiredHeaderFlags){let i=r.requiredHeaderFlags[o];r.requiredHeaderFlagsErrors[o]="Invalid header flag bits, must be 0x"+i.toString(16)+" for "+r.types[o]+" packet"}r.codes={};for(let o in r.types){let i=r.types[o];r.codes[i]=o}r.CMD_SHIFT=4,r.CMD_MASK=240,r.DUP_MASK=8,r.QOS_MASK=3,r.QOS_SHIFT=1,r.RETAIN_MASK=1,r.VARBYTEINT_MASK=127,r.VARBYTEINT_FIN_MASK=128,r.VARBYTEINT_MAX=268435455,r.SESSIONPRESENT_MASK=1,r.SESSIONPRESENT_HEADER=a.from([r.SESSIONPRESENT_MASK]),r.CONNACK_HEADER=a.from([r.codes.connack<<r.CMD_SHIFT]),r.USERNAME_MASK=128,r.PASSWORD_MASK=64,r.WILL_RETAIN_MASK=32,r.WILL_QOS_MASK=24,r.WILL_QOS_SHIFT=3,r.WILL_FLAG_MASK=4,r.CLEAN_SESSION_MASK=2,r.CONNECT_HEADER=a.from([r.codes.connect<<r.CMD_SHIFT]),r.properties={sessionExpiryInterval:17,willDelayInterval:24,receiveMaximum:33,maximumPacketSize:39,topicAliasMaximum:34,requestResponseInformation:25,requestProblemInformation:23,userProperties:38,authenticationMethod:21,authenticationData:22,payloadFormatIndicator:1,messageExpiryInterval:2,contentType:3,responseTopic:8,correlationData:9,maximumQoS:36,retainAvailable:37,assignedClientIdentifier:18,reasonString:31,wildcardSubscriptionAvailable:40,subscriptionIdentifiersAvailable:41,sharedSubscriptionAvailable:42,serverKeepAlive:19,responseInformation:26,serverReference:28,topicAlias:35,subscriptionIdentifier:11},r.propertiesCodes={};for(let o in r.properties){let i=r.properties[o];r.propertiesCodes[i]=o}r.propertiesTypes={sessionExpiryInterval:"int32",willDelayInterval:"int32",receiveMaximum:"int16",maximumPacketSize:"int32",topicAliasMaximum:"int16",requestResponseInformation:"byte",requestProblemInformation:"byte",userProperties:"pair",authenticationMethod:"string",authenticationData:"binary",payloadFormatIndicator:"byte",messageExpiryInterval:"int32",contentType:"string",responseTopic:"string",correlationData:"binary",maximumQoS:"int8",retainAvailable:"byte",assignedClientIdentifier:"string",reasonString:"string",wildcardSubscriptionAvailable:"byte",subscriptionIdentifiersAvailable:"byte",sharedSubscriptionAvailable:"byte",serverKeepAlive:"int16",responseInformation:"string",serverReference:"string",topicAlias:"int16",subscriptionIdentifier:"var"};function n(o){return[0,1,2].map(i=>[0,1].map(l=>[0,1].map(s=>{let c=a.alloc(1);return c.writeUInt8(r.codes[o]<<r.CMD_SHIFT|(l?r.DUP_MASK:0)|i<<r.QOS_SHIFT|s,0,!0),c})))}r.PUBLISH_HEADER=n("publish"),r.SUBSCRIBE_HEADER=n("subscribe"),r.SUBSCRIBE_OPTIONS_QOS_MASK=3,r.SUBSCRIBE_OPTIONS_NL_MASK=1,r.SUBSCRIBE_OPTIONS_NL_SHIFT=2,r.SUBSCRIBE_OPTIONS_RAP_MASK=1,r.SUBSCRIBE_OPTIONS_RAP_SHIFT=3,r.SUBSCRIBE_OPTIONS_RH_MASK=3,r.SUBSCRIBE_OPTIONS_RH_SHIFT=4,r.SUBSCRIBE_OPTIONS_RH=[0,16,32],r.SUBSCRIBE_OPTIONS_NL=4,r.SUBSCRIBE_OPTIONS_RAP=8,r.SUBSCRIBE_OPTIONS_QOS=[0,1,2],r.UNSUBSCRIBE_HEADER=n("unsubscribe"),r.ACKS={unsuback:n("unsuback"),puback:n("puback"),pubcomp:n("pubcomp"),pubrel:n("pubrel"),pubrec:n("pubrec")},r.SUBACK_HEADER=a.from([r.codes.suback<<r.CMD_SHIFT]),r.VERSION3=a.from([3]),r.VERSION4=a.from([4]),r.VERSION5=a.from([5]),r.VERSION131=a.from([131]),r.VERSION132=a.from([132]),r.QOS=[0,1,2].map(o=>a.from([o])),r.EMPTY={pingreq:a.from([r.codes.pingreq<<4,0]),pingresp:a.from([r.codes.pingresp<<4,0]),disconnect:a.from([r.codes.disconnect<<4,0])},r.MQTT5_PUBACK_PUBREC_CODES={0:"Success",16:"No matching subscribers",128:"Unspecified error",131:"Implementation specific error",135:"Not authorized",144:"Topic Name invalid",145:"Packet identifier in use",151:"Quota exceeded",153:"Payload format invalid"},r.MQTT5_PUBREL_PUBCOMP_CODES={0:"Success",146:"Packet Identifier not found"},r.MQTT5_SUBACK_CODES={0:"Granted QoS 0",1:"Granted QoS 1",2:"Granted QoS 2",128:"Unspecified error",131:"Implementation specific error",135:"Not authorized",143:"Topic Filter invalid",145:"Packet Identifier in use",151:"Quota exceeded",158:"Shared Subscriptions not supported",161:"Subscription Identifiers not supported",162:"Wildcard Subscriptions not supported"},r.MQTT5_UNSUBACK_CODES={0:"Success",17:"No subscription existed",128:"Unspecified error",131:"Implementation specific error",135:"Not authorized",143:"Topic Filter invalid",145:"Packet Identifier in use"},r.MQTT5_DISCONNECT_CODES={0:"Normal disconnection",4:"Disconnect with Will Message",128:"Unspecified error",129:"Malformed Packet",130:"Protocol Error",131:"Implementation specific error",135:"Not authorized",137:"Server busy",139:"Server shutting down",141:"Keep Alive timeout",142:"Session taken over",143:"Topic Filter invalid",144:"Topic Name invalid",147:"Receive Maximum exceeded",148:"Topic Alias invalid",149:"Packet too large",150:"Message rate too high",151:"Quota exceeded",152:"Administrative action",153:"Payload format invalid",154:"Retain not supported",155:"QoS not supported",156:"Use another server",157:"Server moved",158:"Shared Subscriptions not supported",159:"Connection rate exceeded",160:"Maximum connect time",161:"Subscription Identifiers not supported",162:"Wildcard Subscriptions not supported"},r.MQTT5_AUTH_CODES={0:"Success",24:"Continue authentication",25:"Re-authenticate"}}),dy=_e((u,t)=>{ye(),we(),be();var r=1e3,a=r*60,n=a*60,o=n*24,i=o*7,l=o*365.25;t.exports=function(m,p){p=p||{};var f=typeof m;if(f==="string"&&m.length>0)return s(m);if(f==="number"&&isFinite(m))return p.long?d(m):c(m);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(m))};function s(m){if(m=String(m),!(m.length>100)){var p=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(m);if(p){var f=parseFloat(p[1]),w=(p[2]||"ms").toLowerCase();switch(w){case"years":case"year":case"yrs":case"yr":case"y":return f*l;case"weeks":case"week":case"w":return f*i;case"days":case"day":case"d":return f*o;case"hours":case"hour":case"hrs":case"hr":case"h":return f*n;case"minutes":case"minute":case"mins":case"min":case"m":return f*a;case"seconds":case"second":case"secs":case"sec":case"s":return f*r;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return f;default:return}}}}function c(m){var p=Math.abs(m);return p>=o?Math.round(m/o)+"d":p>=n?Math.round(m/n)+"h":p>=a?Math.round(m/a)+"m":p>=r?Math.round(m/r)+"s":m+"ms"}function d(m){var p=Math.abs(m);return p>=o?h(m,p,o,"day"):p>=n?h(m,p,n,"hour"):p>=a?h(m,p,a,"minute"):p>=r?h(m,p,r,"second"):m+" ms"}function h(m,p,f,w){var N=p>=f*1.5;return Math.round(m/f)+" "+w+(N?"s":"")}}),uy=_e((u,t)=>{ye(),we(),be();function r(a){o.debug=o,o.default=o,o.coerce=h,o.disable=c,o.enable=l,o.enabled=d,o.humanize=dy(),o.destroy=m,Object.keys(a).forEach(p=>{o[p]=a[p]}),o.names=[],o.skips=[],o.formatters={};function n(p){let f=0;for(let w=0;w<p.length;w++)f=(f<<5)-f+p.charCodeAt(w),f|=0;return o.colors[Math.abs(f)%o.colors.length]}o.selectColor=n;function o(p){let f,w=null,N,S;function b(...E){if(!b.enabled)return;let k=b,v=Number(new Date),V=v-(f||v);k.diff=V,k.prev=f,k.curr=v,f=v,E[0]=o.coerce(E[0]),typeof E[0]!="string"&&E.unshift("%O");let T=0;E[0]=E[0].replace(/%([a-zA-Z%])/g,(C,A)=>{if(C==="%%")return"%";T++;let I=o.formatters[A];if(typeof I=="function"){let $=E[T];C=I.call(k,$),E.splice(T,1),T--}return C}),o.formatArgs.call(k,E),(k.log||o.log).apply(k,E)}return b.namespace=p,b.useColors=o.useColors(),b.color=o.selectColor(p),b.extend=i,b.destroy=o.destroy,Object.defineProperty(b,"enabled",{enumerable:!0,configurable:!1,get:()=>w!==null?w:(N!==o.namespaces&&(N=o.namespaces,S=o.enabled(p)),S),set:E=>{w=E}}),typeof o.init=="function"&&o.init(b),b}function i(p,f){let w=o(this.namespace+(typeof f>"u"?":":f)+p);return w.log=this.log,w}function l(p){o.save(p),o.namespaces=p,o.names=[],o.skips=[];let f=(typeof p=="string"?p:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let w of f)w[0]==="-"?o.skips.push(w.slice(1)):o.names.push(w)}function s(p,f){let w=0,N=0,S=-1,b=0;for(;w<p.length;)if(N<f.length&&(f[N]===p[w]||f[N]==="*"))f[N]==="*"?(S=N,b=w,N++):(w++,N++);else if(S!==-1)N=S+1,b++,w=b;else return!1;for(;N<f.length&&f[N]==="*";)N++;return N===f.length}function c(){let p=[...o.names,...o.skips.map(f=>"-"+f)].join(",");return o.enable(""),p}function d(p){for(let f of o.skips)if(s(p,f))return!1;for(let f of o.names)if(s(p,f))return!0;return!1}function h(p){return p instanceof Error?p.stack||p.message:p}function m(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return o.enable(o.load()),o}t.exports=r}),xt=_e((u,t)=>{ye(),we(),be(),u.formatArgs=a,u.save=n,u.load=o,u.useColors=r,u.storage=i(),u.destroy=(()=>{let s=!1;return()=>{s||(s=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),u.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function r(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let s;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(s=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(s[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function a(s){if(s[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+s[0]+(this.useColors?"%c ":" ")+"+"+t.exports.humanize(this.diff),!this.useColors)return;let c="color: "+this.color;s.splice(1,0,c,"color: inherit");let d=0,h=0;s[0].replace(/%[a-zA-Z%]/g,m=>{m!=="%%"&&(d++,m==="%c"&&(h=d))}),s.splice(h,0,c)}u.log=console.debug||console.log||(()=>{});function n(s){try{s?u.storage.setItem("debug",s):u.storage.removeItem("debug")}catch{}}function o(){let s;try{s=u.storage.getItem("debug")||u.storage.getItem("DEBUG")}catch{}return!s&&typeof ze<"u"&&"env"in ze&&(s=ze.env.DEBUG),s}function i(){try{return localStorage}catch{}}t.exports=uy()(u);var{formatters:l}=t.exports;l.j=function(s){try{return JSON.stringify(s)}catch(c){return"[UnexpectedJSONParseError]: "+c.message}}}),fy=_e((u,t)=>{ye(),we(),be();var r=ly(),{EventEmitter:a}=(Yt(),We(Dt)),n=cy(),o=Ya(),i=xt()("mqtt-packet:parser"),l=class Ki extends a{constructor(){super(),this.parser=this.constructor.parser}static parser(c){return this instanceof Ki?(this.settings=c||{},this._states=["_parseHeader","_parseLength","_parsePayload","_newPacket"],this._resetState(),this):new Ki().parser(c)}_resetState(){i("_resetState: resetting packet, error, _list, and _stateCounter"),this.packet=new n,this.error=null,this._list=r(),this._stateCounter=0}parse(c){for(this.error&&this._resetState(),this._list.append(c),i("parse: current state: %s",this._states[this._stateCounter]);(this.packet.length!==-1||this._list.length>0)&&this[this._states[this._stateCounter]]()&&!this.error;)this._stateCounter++,i("parse: state complete. _stateCounter is now: %d",this._stateCounter),i("parse: packet.length: %d, buffer list length: %d",this.packet.length,this._list.length),this._stateCounter>=this._states.length&&(this._stateCounter=0);return i("parse: exited while loop. packet: %d, buffer list length: %d",this.packet.length,this._list.length),this._list.length}_parseHeader(){let c=this._list.readUInt8(0),d=c>>o.CMD_SHIFT;this.packet.cmd=o.types[d];let h=c&15,m=o.requiredHeaderFlags[d];return m!=null&&h!==m?this._emitError(new Error(o.requiredHeaderFlagsErrors[d])):(this.packet.retain=(c&o.RETAIN_MASK)!==0,this.packet.qos=c>>o.QOS_SHIFT&o.QOS_MASK,this.packet.qos>2?this._emitError(new Error("Packet must not have both QoS bits set to 1")):(this.packet.dup=(c&o.DUP_MASK)!==0,i("_parseHeader: packet: %o",this.packet),this._list.consume(1),!0))}_parseLength(){let c=this._parseVarByteNum(!0);return c&&(this.packet.length=c.value,this._list.consume(c.bytes)),i("_parseLength %d",c.value),!!c}_parsePayload(){i("_parsePayload: payload %O",this._list);let c=!1;if(this.packet.length===0||this._list.length>=this.packet.length){switch(this._pos=0,this.packet.cmd){case"connect":this._parseConnect();break;case"connack":this._parseConnack();break;case"publish":this._parsePublish();break;case"puback":case"pubrec":case"pubrel":case"pubcomp":this._parseConfirmation();break;case"subscribe":this._parseSubscribe();break;case"suback":this._parseSuback();break;case"unsubscribe":this._parseUnsubscribe();break;case"unsuback":this._parseUnsuback();break;case"pingreq":case"pingresp":break;case"disconnect":this._parseDisconnect();break;case"auth":this._parseAuth();break;default:this._emitError(new Error("Not supported"))}c=!0}return i("_parsePayload complete result: %s",c),c}_parseConnect(){i("_parseConnect");let c,d,h,m,p={},f=this.packet,w=this._parseString();if(w===null)return this._emitError(new Error("Cannot parse protocolId"));if(w!=="MQTT"&&w!=="MQIsdp")return this._emitError(new Error("Invalid protocolId"));if(f.protocolId=w,this._pos>=this._list.length)return this._emitError(new Error("Packet too short"));if(f.protocolVersion=this._list.readUInt8(this._pos),f.protocolVersion>=128&&(f.bridgeMode=!0,f.protocolVersion=f.protocolVersion-128),f.protocolVersion!==3&&f.protocolVersion!==4&&f.protocolVersion!==5)return this._emitError(new Error("Invalid protocol version"));if(this._pos++,this._pos>=this._list.length)return this._emitError(new Error("Packet too short"));if(this._list.readUInt8(this._pos)&1)return this._emitError(new Error("Connect flag bit 0 must be 0, but got 1"));p.username=this._list.readUInt8(this._pos)&o.USERNAME_MASK,p.password=this._list.readUInt8(this._pos)&o.PASSWORD_MASK,p.will=this._list.readUInt8(this._pos)&o.WILL_FLAG_MASK;let N=!!(this._list.readUInt8(this._pos)&o.WILL_RETAIN_MASK),S=(this._list.readUInt8(this._pos)&o.WILL_QOS_MASK)>>o.WILL_QOS_SHIFT;if(p.will)f.will={},f.will.retain=N,f.will.qos=S;else{if(N)return this._emitError(new Error("Will Retain Flag must be set to zero when Will Flag is set to 0"));if(S)return this._emitError(new Error("Will QoS must be set to zero when Will Flag is set to 0"))}if(f.clean=(this._list.readUInt8(this._pos)&o.CLEAN_SESSION_MASK)!==0,this._pos++,f.keepalive=this._parseNum(),f.keepalive===-1)return this._emitError(new Error("Packet too short"));if(f.protocolVersion===5){let E=this._parseProperties();Object.getOwnPropertyNames(E).length&&(f.properties=E)}let b=this._parseString();if(b===null)return this._emitError(new Error("Packet too short"));if(f.clientId=b,i("_parseConnect: packet.clientId: %s",f.clientId),p.will){if(f.protocolVersion===5){let E=this._parseProperties();Object.getOwnPropertyNames(E).length&&(f.will.properties=E)}if(c=this._parseString(),c===null)return this._emitError(new Error("Cannot parse will topic"));if(f.will.topic=c,i("_parseConnect: packet.will.topic: %s",f.will.topic),d=this._parseBuffer(),d===null)return this._emitError(new Error("Cannot parse will payload"));f.will.payload=d,i("_parseConnect: packet.will.paylaod: %s",f.will.payload)}if(p.username){if(m=this._parseString(),m===null)return this._emitError(new Error("Cannot parse username"));f.username=m,i("_parseConnect: packet.username: %s",f.username)}if(p.password){if(h=this._parseBuffer(),h===null)return this._emitError(new Error("Cannot parse password"));f.password=h}return this.settings=f,i("_parseConnect: complete"),f}_parseConnack(){i("_parseConnack");let c=this.packet;if(this._list.length<1)return null;let d=this._list.readUInt8(this._pos++);if(d>1)return this._emitError(new Error("Invalid connack flags, bits 7-1 must be set to 0"));if(c.sessionPresent=!!(d&o.SESSIONPRESENT_MASK),this.settings.protocolVersion===5)this._list.length>=2?c.reasonCode=this._list.readUInt8(this._pos++):c.reasonCode=0;else{if(this._list.length<2)return null;c.returnCode=this._list.readUInt8(this._pos++)}if(c.returnCode===-1||c.reasonCode===-1)return this._emitError(new Error("Cannot parse return code"));if(this.settings.protocolVersion===5){let h=this._parseProperties();Object.getOwnPropertyNames(h).length&&(c.properties=h)}i("_parseConnack: complete")}_parsePublish(){i("_parsePublish");let c=this.packet;if(c.topic=this._parseString(),c.topic===null)return this._emitError(new Error("Cannot parse topic"));if(!(c.qos>0&&!this._parseMessageId())){if(this.settings.protocolVersion===5){let d=this._parseProperties();Object.getOwnPropertyNames(d).length&&(c.properties=d)}c.payload=this._list.slice(this._pos,c.length),i("_parsePublish: payload from buffer list: %o",c.payload)}}_parseSubscribe(){i("_parseSubscribe");let c=this.packet,d,h,m,p,f,w,N;if(c.subscriptions=[],!!this._parseMessageId()){if(this.settings.protocolVersion===5){let S=this._parseProperties();Object.getOwnPropertyNames(S).length&&(c.properties=S)}if(c.length<=0)return this._emitError(new Error("Malformed subscribe, no payload specified"));for(;this._pos<c.length;){if(d=this._parseString(),d===null)return this._emitError(new Error("Cannot parse topic"));if(this._pos>=c.length)return this._emitError(new Error("Malformed Subscribe Payload"));if(h=this._parseByte(),this.settings.protocolVersion===5){if(h&192)return this._emitError(new Error("Invalid subscribe topic flag bits, bits 7-6 must be 0"))}else if(h&252)return this._emitError(new Error("Invalid subscribe topic flag bits, bits 7-2 must be 0"));if(m=h&o.SUBSCRIBE_OPTIONS_QOS_MASK,m>2)return this._emitError(new Error("Invalid subscribe QoS, must be <= 2"));if(w=(h>>o.SUBSCRIBE_OPTIONS_NL_SHIFT&o.SUBSCRIBE_OPTIONS_NL_MASK)!==0,f=(h>>o.SUBSCRIBE_OPTIONS_RAP_SHIFT&o.SUBSCRIBE_OPTIONS_RAP_MASK)!==0,p=h>>o.SUBSCRIBE_OPTIONS_RH_SHIFT&o.SUBSCRIBE_OPTIONS_RH_MASK,p>2)return this._emitError(new Error("Invalid retain handling, must be <= 2"));N={topic:d,qos:m},this.settings.protocolVersion===5?(N.nl=w,N.rap=f,N.rh=p):this.settings.bridgeMode&&(N.rh=0,N.rap=!0,N.nl=!0),i("_parseSubscribe: push subscription `%s` to subscription",N),c.subscriptions.push(N)}}}_parseSuback(){i("_parseSuback");let c=this.packet;if(this.packet.granted=[],!!this._parseMessageId()){if(this.settings.protocolVersion===5){let d=this._parseProperties();Object.getOwnPropertyNames(d).length&&(c.properties=d)}if(c.length<=0)return this._emitError(new Error("Malformed suback, no payload specified"));for(;this._pos<this.packet.length;){let d=this._list.readUInt8(this._pos++);if(this.settings.protocolVersion===5){if(!o.MQTT5_SUBACK_CODES[d])return this._emitError(new Error("Invalid suback code"))}else if(d>2&&d!==128)return this._emitError(new Error("Invalid suback QoS, must be 0, 1, 2 or 128"));this.packet.granted.push(d)}}}_parseUnsubscribe(){i("_parseUnsubscribe");let c=this.packet;if(c.unsubscriptions=[],!!this._parseMessageId()){if(this.settings.protocolVersion===5){let d=this._parseProperties();Object.getOwnPropertyNames(d).length&&(c.properties=d)}if(c.length<=0)return this._emitError(new Error("Malformed unsubscribe, no payload specified"));for(;this._pos<c.length;){let d=this._parseString();if(d===null)return this._emitError(new Error("Cannot parse topic"));i("_parseUnsubscribe: push topic `%s` to unsubscriptions",d),c.unsubscriptions.push(d)}}}_parseUnsuback(){i("_parseUnsuback");let c=this.packet;if(!this._parseMessageId())return this._emitError(new Error("Cannot parse messageId"));if((this.settings.protocolVersion===3||this.settings.protocolVersion===4)&&c.length!==2)return this._emitError(new Error("Malformed unsuback, payload length must be 2"));if(c.length<=0)return this._emitError(new Error("Malformed unsuback, no payload specified"));if(this.settings.protocolVersion===5){let d=this._parseProperties();for(Object.getOwnPropertyNames(d).length&&(c.properties=d),c.granted=[];this._pos<this.packet.length;){let h=this._list.readUInt8(this._pos++);if(!o.MQTT5_UNSUBACK_CODES[h])return this._emitError(new Error("Invalid unsuback code"));this.packet.granted.push(h)}}}_parseConfirmation(){i("_parseConfirmation: packet.cmd: `%s`",this.packet.cmd);let c=this.packet;if(this._parseMessageId(),this.settings.protocolVersion===5){if(c.length>2){switch(c.reasonCode=this._parseByte(),this.packet.cmd){case"puback":case"pubrec":if(!o.MQTT5_PUBACK_PUBREC_CODES[c.reasonCode])return this._emitError(new Error("Invalid "+this.packet.cmd+" reason code"));break;case"pubrel":case"pubcomp":if(!o.MQTT5_PUBREL_PUBCOMP_CODES[c.reasonCode])return this._emitError(new Error("Invalid "+this.packet.cmd+" reason code"));break}i("_parseConfirmation: packet.reasonCode `%d`",c.reasonCode)}else c.reasonCode=0;if(c.length>3){let d=this._parseProperties();Object.getOwnPropertyNames(d).length&&(c.properties=d)}}return!0}_parseDisconnect(){let c=this.packet;if(i("_parseDisconnect"),this.settings.protocolVersion===5){this._list.length>0?(c.reasonCode=this._parseByte(),o.MQTT5_DISCONNECT_CODES[c.reasonCode]||this._emitError(new Error("Invalid disconnect reason code"))):c.reasonCode=0;let d=this._parseProperties();Object.getOwnPropertyNames(d).length&&(c.properties=d)}return i("_parseDisconnect result: true"),!0}_parseAuth(){i("_parseAuth");let c=this.packet;if(this.settings.protocolVersion!==5)return this._emitError(new Error("Not supported auth packet for this version MQTT"));if(c.reasonCode=this._parseByte(),!o.MQTT5_AUTH_CODES[c.reasonCode])return this._emitError(new Error("Invalid auth reason code"));let d=this._parseProperties();return Object.getOwnPropertyNames(d).length&&(c.properties=d),i("_parseAuth: result: true"),!0}_parseMessageId(){let c=this.packet;return c.messageId=this._parseNum(),c.messageId===null?(this._emitError(new Error("Cannot parse messageId")),!1):(i("_parseMessageId: packet.messageId %d",c.messageId),!0)}_parseString(c){let d=this._parseNum(),h=d+this._pos;if(d===-1||h>this._list.length||h>this.packet.length)return null;let m=this._list.toString("utf8",this._pos,h);return this._pos+=d,i("_parseString: result: %s",m),m}_parseStringPair(){return i("_parseStringPair"),{name:this._parseString(),value:this._parseString()}}_parseBuffer(){let c=this._parseNum(),d=c+this._pos;if(c===-1||d>this._list.length||d>this.packet.length)return null;let h=this._list.slice(this._pos,d);return this._pos+=c,i("_parseBuffer: result: %o",h),h}_parseNum(){if(this._list.length-this._pos<2)return-1;let c=this._list.readUInt16BE(this._pos);return this._pos+=2,i("_parseNum: result: %s",c),c}_parse4ByteNum(){if(this._list.length-this._pos<4)return-1;let c=this._list.readUInt32BE(this._pos);return this._pos+=4,i("_parse4ByteNum: result: %s",c),c}_parseVarByteNum(c){i("_parseVarByteNum");let d=4,h=0,m=1,p=0,f=!1,w,N=this._pos?this._pos:0;for(;h<d&&N+h<this._list.length;){if(w=this._list.readUInt8(N+h++),p+=m*(w&o.VARBYTEINT_MASK),m*=128,(w&o.VARBYTEINT_FIN_MASK)===0){f=!0;break}if(this._list.length<=h)break}return!f&&h===d&&this._list.length>=h&&this._emitError(new Error("Invalid variable byte integer")),N&&(this._pos+=h),f?c?f={bytes:h,value:p}:f=p:f=!1,i("_parseVarByteNum: result: %o",f),f}_parseByte(){let c;return this._pos<this._list.length&&(c=this._list.readUInt8(this._pos),this._pos++),i("_parseByte: result: %o",c),c}_parseByType(c){switch(i("_parseByType: type: %s",c),c){case"byte":return this._parseByte()!==0;case"int8":return this._parseByte();case"int16":return this._parseNum();case"int32":return this._parse4ByteNum();case"var":return this._parseVarByteNum();case"string":return this._parseString();case"pair":return this._parseStringPair();case"binary":return this._parseBuffer()}}_parseProperties(){i("_parseProperties");let c=this._parseVarByteNum(),d=this._pos+c,h={};for(;this._pos<d;){let m=this._parseByte();if(!m)return this._emitError(new Error("Cannot parse property code type")),!1;let p=o.propertiesCodes[m];if(!p)return this._emitError(new Error("Unknown property")),!1;if(p==="userProperties"){h[p]||(h[p]=Object.create(null));let f=this._parseByType(o.propertiesTypes[p]);if(h[p][f.name])if(Array.isArray(h[p][f.name]))h[p][f.name].push(f.value);else{let w=h[p][f.name];h[p][f.name]=[w],h[p][f.name].push(f.value)}else h[p][f.name]=f.value;continue}h[p]?Array.isArray(h[p])?h[p].push(this._parseByType(o.propertiesTypes[p])):(h[p]=[h[p]],h[p].push(this._parseByType(o.propertiesTypes[p]))):h[p]=this._parseByType(o.propertiesTypes[p])}return h}_newPacket(){return i("_newPacket"),this.packet&&(this._list.consume(this.packet.length),i("_newPacket: parser emit packet: packet.cmd: %s, packet.payload: %s, packet.length: %d",this.packet.cmd,this.packet.payload,this.packet.length),this.emit("packet",this.packet)),i("_newPacket: new packet"),this.packet=new n,this._pos=0,!0}_emitError(c){i("_emitError",c),this.error=c,this.emit("error",c)}};t.exports=l}),py=_e((u,t)=>{ye(),we(),be();var{Buffer:r}=(ot(),We(rt)),a=65536,n={},o=r.isBuffer(r.from([1,2]).subarray(0,1));function i(d){let h=r.allocUnsafe(2);return h.writeUInt8(d>>8,0),h.writeUInt8(d&255,1),h}function l(){for(let d=0;d<a;d++)n[d]=i(d)}function s(d){let h=0,m=0,p=r.allocUnsafe(4);do h=d%128|0,d=d/128|0,d>0&&(h=h|128),p.writeUInt8(h,m++);while(d>0&&m<4);return d>0&&(m=0),o?p.subarray(0,m):p.slice(0,m)}function c(d){let h=r.allocUnsafe(4);return h.writeUInt32BE(d,0),h}t.exports={cache:n,generateCache:l,generateNumber:i,genBufVariableByteInt:s,generate4ByteBuffer:c}}),hy=_e((u,t)=>{ye(),we(),be(),typeof ze>"u"||!ze.version||ze.version.indexOf("v0.")===0||ze.version.indexOf("v1.")===0&&ze.version.indexOf("v1.8.")!==0?t.exports={nextTick:r}:t.exports=ze;function r(a,n,o,i){if(typeof a!="function")throw new TypeError('"callback" argument must be a function');var l=arguments.length,s,c;switch(l){case 0:case 1:return ze.nextTick(a);case 2:return ze.nextTick(function(){a.call(null,n)});case 3:return ze.nextTick(function(){a.call(null,n,o)});case 4:return ze.nextTick(function(){a.call(null,n,o,i)});default:for(s=new Array(l-1),c=0;c<s.length;)s[c++]=arguments[c];return ze.nextTick(function(){a.apply(null,s)})}}}),Qa=_e((u,t)=>{ye(),we(),be();var r=Ya(),{Buffer:a}=(ot(),We(rt)),n=a.allocUnsafe(0),o=a.from([0]),i=py(),l=hy().nextTick,s=xt()("mqtt-packet:writeToStream"),c=i.cache,d=i.generateNumber,h=i.generateCache,m=i.genBufVariableByteInt,p=i.generate4ByteBuffer,f=ne,w=!0;function N(te,q,le){switch(s("generate called"),q.cork&&(q.cork(),l(S,q)),w&&(w=!1,h()),s("generate: packet.cmd: %s",te.cmd),te.cmd){case"connect":return b(te,q);case"connack":return E(te,q,le);case"publish":return k(te,q,le);case"puback":case"pubrec":case"pubrel":case"pubcomp":return v(te,q,le);case"subscribe":return V(te,q,le);case"suback":return T(te,q,le);case"unsubscribe":return C(te,q,le);case"unsuback":return A(te,q,le);case"pingreq":case"pingresp":return I(te,q);case"disconnect":return $(te,q,le);case"auth":return x(te,q,le);default:return q.destroy(new Error("Unknown command")),!1}}Object.defineProperty(N,"cacheNumbers",{get(){return f===ne},set(te){te?((!c||Object.keys(c).length===0)&&(w=!0),f=ne):(w=!1,f=re)}});function S(te){te.uncork()}function b(te,q,le){let J=te||{},oe=J.protocolId||"MQTT",ie=J.protocolVersion||4,Ee=J.will,K=J.clean,D=J.keepalive||0,F=J.clientId||"",ae=J.username,ue=J.password,fe=J.properties;K===void 0&&(K=!0);let ge=0;if(typeof oe!="string"&&!a.isBuffer(oe))return q.destroy(new Error("Invalid protocolId")),!1;if(ge+=oe.length+2,ie!==3&&ie!==4&&ie!==5)return q.destroy(new Error("Invalid protocol version")),!1;if(ge+=1,(typeof F=="string"||a.isBuffer(F))&&(F||ie>=4)&&(F||K))ge+=a.byteLength(F)+2;else{if(ie<4)return q.destroy(new Error("clientId must be supplied before 3.1.1")),!1;if(K*1===0)return q.destroy(new Error("clientId must be given if cleanSession set to 0")),!1}if(typeof D!="number"||D<0||D>65535||D%1!==0)return q.destroy(new Error("Invalid keepalive")),!1;ge+=2,ge+=1;let X,me;if(ie===5){if(X=se(q,fe),!X)return!1;ge+=X.length}if(Ee){if(typeof Ee!="object")return q.destroy(new Error("Invalid will")),!1;if(!Ee.topic||typeof Ee.topic!="string")return q.destroy(new Error("Invalid will topic")),!1;if(ge+=a.byteLength(Ee.topic)+2,ge+=2,Ee.payload)if(Ee.payload.length>=0)typeof Ee.payload=="string"?ge+=a.byteLength(Ee.payload):ge+=Ee.payload.length;else return q.destroy(new Error("Invalid will payload")),!1;if(me={},ie===5){if(me=se(q,Ee.properties),!me)return!1;ge+=me.length}}let Ne=!1;if(ae!=null)if(Se(ae))Ne=!0,ge+=a.byteLength(ae)+2;else return q.destroy(new Error("Invalid username")),!1;if(ue!=null){if(!Ne)return q.destroy(new Error("Username is required to use password")),!1;if(Se(ue))ge+=Y(ue)+2;else return q.destroy(new Error("Invalid password")),!1}q.write(r.CONNECT_HEADER),Q(q,ge),Z(q,oe),J.bridgeMode&&(ie+=128),q.write(ie===131?r.VERSION131:ie===132?r.VERSION132:ie===4?r.VERSION4:ie===5?r.VERSION5:r.VERSION3);let ce=0;return ce|=ae!=null?r.USERNAME_MASK:0,ce|=ue!=null?r.PASSWORD_MASK:0,ce|=Ee&&Ee.retain?r.WILL_RETAIN_MASK:0,ce|=Ee&&Ee.qos?Ee.qos<<r.WILL_QOS_SHIFT:0,ce|=Ee?r.WILL_FLAG_MASK:0,ce|=K?r.CLEAN_SESSION_MASK:0,q.write(a.from([ce])),f(q,D),ie===5&&X.write(),Z(q,F),Ee&&(ie===5&&me.write(),W(q,Ee.topic),Z(q,Ee.payload)),ae!=null&&Z(q,ae),ue!=null&&Z(q,ue),!0}function E(te,q,le){let J=le?le.protocolVersion:4,oe=te||{},ie=J===5?oe.reasonCode:oe.returnCode,Ee=oe.properties,K=2;if(typeof ie!="number")return q.destroy(new Error("Invalid return code")),!1;let D=null;if(J===5){if(D=se(q,Ee),!D)return!1;K+=D.length}return q.write(r.CONNACK_HEADER),Q(q,K),q.write(oe.sessionPresent?r.SESSIONPRESENT_HEADER:o),q.write(a.from([ie])),D==null||D.write(),!0}function k(te,q,le){s("publish: packet: %o",te);let J=le?le.protocolVersion:4,oe=te||{},ie=oe.qos||0,Ee=oe.retain?r.RETAIN_MASK:0,K=oe.topic,D=oe.payload||n,F=oe.messageId,ae=oe.properties,ue=0;if(typeof K=="string")ue+=a.byteLength(K)+2;else if(a.isBuffer(K))ue+=K.length+2;else return q.destroy(new Error("Invalid topic")),!1;if(a.isBuffer(D)?ue+=D.length:ue+=a.byteLength(D),ie&&typeof F!="number")return q.destroy(new Error("Invalid messageId")),!1;ie&&(ue+=2);let fe=null;if(J===5){if(fe=se(q,ae),!fe)return!1;ue+=fe.length}return q.write(r.PUBLISH_HEADER[ie][oe.dup?1:0][Ee?1:0]),Q(q,ue),f(q,Y(K)),q.write(K),ie>0&&f(q,F),fe==null||fe.write(),s("publish: payload: %o",D),q.write(D)}function v(te,q,le){let J=le?le.protocolVersion:4,oe=te||{},ie=oe.cmd||"puback",Ee=oe.messageId,K=oe.dup&&ie==="pubrel"?r.DUP_MASK:0,D=0,F=oe.reasonCode,ae=oe.properties,ue=J===5?3:2;if(ie==="pubrel"&&(D=1),typeof Ee!="number")return q.destroy(new Error("Invalid messageId")),!1;let fe=null;if(J===5&&typeof ae=="object"){if(fe=R(q,ae,le,ue),!fe)return!1;ue+=fe.length}return q.write(r.ACKS[ie][D][K][0]),ue===3&&(ue+=F!==0?1:-1),Q(q,ue),f(q,Ee),J===5&&ue!==2&&q.write(a.from([F])),fe!==null?fe.write():ue===4&&q.write(a.from([0])),!0}function V(te,q,le){s("subscribe: packet: ");let J=le?le.protocolVersion:4,oe=te||{},ie=oe.dup?r.DUP_MASK:0,Ee=oe.messageId,K=oe.subscriptions,D=oe.properties,F=0;if(typeof Ee!="number")return q.destroy(new Error("Invalid messageId")),!1;F+=2;let ae=null;if(J===5){if(ae=se(q,D),!ae)return!1;F+=ae.length}if(typeof K=="object"&&K.length)for(let fe=0;fe<K.length;fe+=1){let ge=K[fe].topic,X=K[fe].qos;if(typeof ge!="string")return q.destroy(new Error("Invalid subscriptions - invalid topic")),!1;if(typeof X!="number")return q.destroy(new Error("Invalid subscriptions - invalid qos")),!1;if(J===5){if(typeof(K[fe].nl||!1)!="boolean")return q.destroy(new Error("Invalid subscriptions - invalid No Local")),!1;if(typeof(K[fe].rap||!1)!="boolean")return q.destroy(new Error("Invalid subscriptions - invalid Retain as Published")),!1;let me=K[fe].rh||0;if(typeof me!="number"||me>2)return q.destroy(new Error("Invalid subscriptions - invalid Retain Handling")),!1}F+=a.byteLength(ge)+2+1}else return q.destroy(new Error("Invalid subscriptions")),!1;s("subscribe: writing to stream: %o",r.SUBSCRIBE_HEADER),q.write(r.SUBSCRIBE_HEADER[1][ie?1:0][0]),Q(q,F),f(q,Ee),ae!==null&&ae.write();let ue=!0;for(let fe of K){let ge=fe.topic,X=fe.qos,me=+fe.nl,Ne=+fe.rap,ce=fe.rh,Ve;W(q,ge),Ve=r.SUBSCRIBE_OPTIONS_QOS[X],J===5&&(Ve|=me?r.SUBSCRIBE_OPTIONS_NL:0,Ve|=Ne?r.SUBSCRIBE_OPTIONS_RAP:0,Ve|=ce?r.SUBSCRIBE_OPTIONS_RH[ce]:0),ue=q.write(a.from([Ve]))}return ue}function T(te,q,le){let J=le?le.protocolVersion:4,oe=te||{},ie=oe.messageId,Ee=oe.granted,K=oe.properties,D=0;if(typeof ie!="number")return q.destroy(new Error("Invalid messageId")),!1;if(D+=2,typeof Ee=="object"&&Ee.length)for(let ae=0;ae<Ee.length;ae+=1){if(typeof Ee[ae]!="number")return q.destroy(new Error("Invalid qos vector")),!1;D+=1}else return q.destroy(new Error("Invalid qos vector")),!1;let F=null;if(J===5){if(F=R(q,K,le,D),!F)return!1;D+=F.length}return q.write(r.SUBACK_HEADER),Q(q,D),f(q,ie),F!==null&&F.write(),q.write(a.from(Ee))}function C(te,q,le){let J=le?le.protocolVersion:4,oe=te||{},ie=oe.messageId,Ee=oe.dup?r.DUP_MASK:0,K=oe.unsubscriptions,D=oe.properties,F=0;if(typeof ie!="number")return q.destroy(new Error("Invalid messageId")),!1;if(F+=2,typeof K=="object"&&K.length)for(let fe=0;fe<K.length;fe+=1){if(typeof K[fe]!="string")return q.destroy(new Error("Invalid unsubscriptions")),!1;F+=a.byteLength(K[fe])+2}else return q.destroy(new Error("Invalid unsubscriptions")),!1;let ae=null;if(J===5){if(ae=se(q,D),!ae)return!1;F+=ae.length}q.write(r.UNSUBSCRIBE_HEADER[1][Ee?1:0][0]),Q(q,F),f(q,ie),ae!==null&&ae.write();let ue=!0;for(let fe=0;fe<K.length;fe++)ue=W(q,K[fe]);return ue}function A(te,q,le){let J=le?le.protocolVersion:4,oe=te||{},ie=oe.messageId,Ee=oe.dup?r.DUP_MASK:0,K=oe.granted,D=oe.properties,F=oe.cmd,ae=0,ue=2;if(typeof ie!="number")return q.destroy(new Error("Invalid messageId")),!1;if(J===5)if(typeof K=="object"&&K.length)for(let ge=0;ge<K.length;ge+=1){if(typeof K[ge]!="number")return q.destroy(new Error("Invalid qos vector")),!1;ue+=1}else return q.destroy(new Error("Invalid qos vector")),!1;let fe=null;if(J===5){if(fe=R(q,D,le,ue),!fe)return!1;ue+=fe.length}return q.write(r.ACKS[F][ae][Ee][0]),Q(q,ue),f(q,ie),fe!==null&&fe.write(),J===5&&q.write(a.from(K)),!0}function I(te,q,le){return q.write(r.EMPTY[te.cmd])}function $(te,q,le){let J=le?le.protocolVersion:4,oe=te||{},ie=oe.reasonCode,Ee=oe.properties,K=J===5?1:0,D=null;if(J===5){if(D=R(q,Ee,le,K),!D)return!1;K+=D.length}return q.write(a.from([r.codes.disconnect<<4])),Q(q,K),J===5&&q.write(a.from([ie])),D!==null&&D.write(),!0}function x(te,q,le){let J=le?le.protocolVersion:4,oe=te||{},ie=oe.reasonCode,Ee=oe.properties,K=J===5?1:0;J!==5&&q.destroy(new Error("Invalid mqtt version for auth packet"));let D=R(q,Ee,le,K);return D?(K+=D.length,q.write(a.from([r.codes.auth<<4])),Q(q,K),q.write(a.from([ie])),D!==null&&D.write(),!0):!1}var U={};function Q(te,q){if(q>r.VARBYTEINT_MAX)return te.destroy(new Error(`Invalid variable byte integer: ${q}`)),!1;let le=U[q];return le||(le=m(q),q<16384&&(U[q]=le)),s("writeVarByteInt: writing to stream: %o",le),te.write(le)}function W(te,q){let le=a.byteLength(q);return f(te,le),s("writeString: %s",q),te.write(q,"utf8")}function pe(te,q,le){W(te,q),W(te,le)}function ne(te,q){return s("writeNumberCached: number: %d",q),s("writeNumberCached: %o",c[q]),te.write(c[q])}function re(te,q){let le=d(q);return s("writeNumberGenerated: %o",le),te.write(le)}function de(te,q){let le=p(q);return s("write4ByteNumber: %o",le),te.write(le)}function Z(te,q){typeof q=="string"?W(te,q):q?(f(te,q.length),te.write(q)):f(te,0)}function se(te,q){if(typeof q!="object"||q.length!=null)return{length:1,write(){he(te,{},0)}};let le=0;function J(oe,ie){let Ee=r.propertiesTypes[oe],K=0;switch(Ee){case"byte":{if(typeof ie!="boolean")return te.destroy(new Error(`Invalid ${oe}: ${ie}`)),!1;K+=2;break}case"int8":{if(typeof ie!="number"||ie<0||ie>255)return te.destroy(new Error(`Invalid ${oe}: ${ie}`)),!1;K+=2;break}case"binary":{if(ie&&ie===null)return te.destroy(new Error(`Invalid ${oe}: ${ie}`)),!1;K+=1+a.byteLength(ie)+2;break}case"int16":{if(typeof ie!="number"||ie<0||ie>65535)return te.destroy(new Error(`Invalid ${oe}: ${ie}`)),!1;K+=3;break}case"int32":{if(typeof ie!="number"||ie<0||ie>4294967295)return te.destroy(new Error(`Invalid ${oe}: ${ie}`)),!1;K+=5;break}case"var":{if(typeof ie!="number"||ie<0||ie>268435455)return te.destroy(new Error(`Invalid ${oe}: ${ie}`)),!1;K+=1+a.byteLength(m(ie));break}case"string":{if(typeof ie!="string")return te.destroy(new Error(`Invalid ${oe}: ${ie}`)),!1;K+=3+a.byteLength(ie.toString());break}case"pair":{if(typeof ie!="object")return te.destroy(new Error(`Invalid ${oe}: ${ie}`)),!1;K+=Object.getOwnPropertyNames(ie).reduce((D,F)=>{let ae=ie[F];return Array.isArray(ae)?D+=ae.reduce((ue,fe)=>(ue+=3+a.byteLength(F.toString())+2+a.byteLength(fe.toString()),ue),0):D+=3+a.byteLength(F.toString())+2+a.byteLength(ie[F].toString()),D},0);break}default:return te.destroy(new Error(`Invalid property ${oe}: ${ie}`)),!1}return K}if(q)for(let oe in q){let ie=0,Ee=0,K=q[oe];if(K!==void 0){if(Array.isArray(K))for(let D=0;D<K.length;D++){if(Ee=J(oe,K[D]),!Ee)return!1;ie+=Ee}else{if(Ee=J(oe,K),!Ee)return!1;ie=Ee}if(!ie)return!1;le+=ie}}return{length:a.byteLength(m(le))+le,write(){he(te,q,le)}}}function R(te,q,le,J){let oe=["reasonString","userProperties"],ie=le&&le.properties&&le.properties.maximumPacketSize?le.properties.maximumPacketSize:0,Ee=se(te,q);if(ie)for(;J+Ee.length>ie;){let K=oe.shift();if(K&&q[K])delete q[K],Ee=se(te,q);else return!1}return Ee}function ee(te,q,le){switch(r.propertiesTypes[q]){case"byte":{te.write(a.from([r.properties[q]])),te.write(a.from([+le]));break}case"int8":{te.write(a.from([r.properties[q]])),te.write(a.from([le]));break}case"binary":{te.write(a.from([r.properties[q]])),Z(te,le);break}case"int16":{te.write(a.from([r.properties[q]])),f(te,le);break}case"int32":{te.write(a.from([r.properties[q]])),de(te,le);break}case"var":{te.write(a.from([r.properties[q]])),Q(te,le);break}case"string":{te.write(a.from([r.properties[q]])),W(te,le);break}case"pair":{Object.getOwnPropertyNames(le).forEach(J=>{let oe=le[J];Array.isArray(oe)?oe.forEach(ie=>{te.write(a.from([r.properties[q]])),pe(te,J.toString(),ie.toString())}):(te.write(a.from([r.properties[q]])),pe(te,J.toString(),oe.toString()))});break}default:return te.destroy(new Error(`Invalid property ${q} value: ${le}`)),!1}}function he(te,q,le){Q(te,le);for(let J in q)if(Object.prototype.hasOwnProperty.call(q,J)&&q[J]!=null){let oe=q[J];if(Array.isArray(oe))for(let ie=0;ie<oe.length;ie++)ee(te,J,oe[ie]);else ee(te,J,oe)}}function Y(te){return te?te instanceof a?te.length:a.byteLength(te):0}function Se(te){return typeof te=="string"||te instanceof a}t.exports=N}),my=_e((u,t)=>{ye(),we(),be();var r=Qa(),{EventEmitter:a}=(Yt(),We(Dt)),{Buffer:n}=(ot(),We(rt));function o(l,s){let c=new i;return r(l,c,s),c.concat()}var i=class extends a{constructor(){super(),this._array=new Array(20),this._i=0}write(l){return this._array[this._i++]=l,!0}concat(){let l=0,s=new Array(this._array.length),c=this._array,d=0,h;for(h=0;h<c.length&&c[h]!==void 0;h++)typeof c[h]!="string"?s[h]=c[h].length:s[h]=n.byteLength(c[h]),l+=s[h];let m=n.allocUnsafe(l);for(h=0;h<c.length&&c[h]!==void 0;h++)typeof c[h]!="string"?(c[h].copy(m,d),d+=s[h]):(m.write(c[h],d),d+=s[h]);return m}destroy(l){l&&this.emit("error",l)}};t.exports=o}),gy=_e(u=>{ye(),we(),be(),u.parser=fy().parser,u.generate=my(),u.writeToStream=Qa()}),yy=_e((u,t)=>{ye(),we(),be(),t.exports=a;function r(o){return o instanceof Ir?Ir.from(o):new o.constructor(o.buffer.slice(),o.byteOffset,o.length)}function a(o){if(o=o||{},o.circles)return n(o);let i=new Map;if(i.set(Date,h=>new Date(h)),i.set(Map,(h,m)=>new Map(s(Array.from(h),m))),i.set(Set,(h,m)=>new Set(s(Array.from(h),m))),o.constructorHandlers)for(let h of o.constructorHandlers)i.set(h[0],h[1]);let l=null;return o.proto?d:c;function s(h,m){let p=Object.keys(h),f=new Array(p.length);for(let w=0;w<p.length;w++){let N=p[w],S=h[N];typeof S!="object"||S===null?f[N]=S:S.constructor!==Object&&(l=i.get(S.constructor))?f[N]=l(S,m):ArrayBuffer.isView(S)?f[N]=r(S):f[N]=m(S)}return f}function c(h){if(typeof h!="object"||h===null)return h;if(Array.isArray(h))return s(h,c);if(h.constructor!==Object&&(l=i.get(h.constructor)))return l(h,c);let m={};for(let p in h){if(Object.hasOwnProperty.call(h,p)===!1)continue;let f=h[p];typeof f!="object"||f===null?m[p]=f:f.constructor!==Object&&(l=i.get(f.constructor))?m[p]=l(f,c):ArrayBuffer.isView(f)?m[p]=r(f):m[p]=c(f)}return m}function d(h){if(typeof h!="object"||h===null)return h;if(Array.isArray(h))return s(h,d);if(h.constructor!==Object&&(l=i.get(h.constructor)))return l(h,d);let m={};for(let p in h){let f=h[p];typeof f!="object"||f===null?m[p]=f:f.constructor!==Object&&(l=i.get(f.constructor))?m[p]=l(f,d):ArrayBuffer.isView(f)?m[p]=r(f):m[p]=d(f)}return m}}function n(o){let i=[],l=[],s=new Map;if(s.set(Date,p=>new Date(p)),s.set(Map,(p,f)=>new Map(d(Array.from(p),f))),s.set(Set,(p,f)=>new Set(d(Array.from(p),f))),o.constructorHandlers)for(let p of o.constructorHandlers)s.set(p[0],p[1]);let c=null;return o.proto?m:h;function d(p,f){let w=Object.keys(p),N=new Array(w.length);for(let S=0;S<w.length;S++){let b=w[S],E=p[b];if(typeof E!="object"||E===null)N[b]=E;else if(E.constructor!==Object&&(c=s.get(E.constructor)))N[b]=c(E,f);else if(ArrayBuffer.isView(E))N[b]=r(E);else{let k=i.indexOf(E);k!==-1?N[b]=l[k]:N[b]=f(E)}}return N}function h(p){if(typeof p!="object"||p===null)return p;if(Array.isArray(p))return d(p,h);if(p.constructor!==Object&&(c=s.get(p.constructor)))return c(p,h);let f={};i.push(p),l.push(f);for(let w in p){if(Object.hasOwnProperty.call(p,w)===!1)continue;let N=p[w];if(typeof N!="object"||N===null)f[w]=N;else if(N.constructor!==Object&&(c=s.get(N.constructor)))f[w]=c(N,h);else if(ArrayBuffer.isView(N))f[w]=r(N);else{let S=i.indexOf(N);S!==-1?f[w]=l[S]:f[w]=h(N)}}return i.pop(),l.pop(),f}function m(p){if(typeof p!="object"||p===null)return p;if(Array.isArray(p))return d(p,m);if(p.constructor!==Object&&(c=s.get(p.constructor)))return c(p,m);let f={};i.push(p),l.push(f);for(let w in p){let N=p[w];if(typeof N!="object"||N===null)f[w]=N;else if(N.constructor!==Object&&(c=s.get(N.constructor)))f[w]=c(N,m);else if(ArrayBuffer.isView(N))f[w]=r(N);else{let S=i.indexOf(N);S!==-1?f[w]=l[S]:f[w]=m(N)}}return i.pop(),l.pop(),f}}}),by=_e((u,t)=>{ye(),we(),be(),t.exports=yy()()}),wy=_e(u=>{ye(),we(),be(),Object.defineProperty(u,"__esModule",{value:!0}),u.validateTopic=t,u.validateTopics=r;function t(a){let n=a.split("/");for(let o=0;o<n.length;o++)if(n[o]!=="+"){if(n[o]==="#")return o===n.length-1;if(n[o].indexOf("+")!==-1||n[o].indexOf("#")!==-1)return!1}return!0}function r(a){if(a.length===0)return"empty_topic_list";for(let n=0;n<a.length;n++)if(!t(a[n]))return a[n];return null}}),Ja=_e(u=>{ye(),we(),be(),Object.defineProperty(u,"__esModule",{value:!0});var t=Jt(),r={objectMode:!0},a={clean:!0},n=class{constructor(o){ve(this,"options");ve(this,"_inflights");this.options=o||{},this.options={...a,...o},this._inflights=new Map}put(o,i){return this._inflights.set(o.messageId,o),i&&i(),this}createStream(){let o=new t.Readable(r),i=[],l=!1,s=0;return this._inflights.forEach((c,d)=>{i.push(c)}),o._read=()=>{!l&&s<i.length?o.push(i[s++]):o.push(null)},o.destroy=c=>{if(!l)return l=!0,setTimeout(()=>{o.emit("close")},0),o},o}del(o,i){let l=this._inflights.get(o.messageId);return l?(this._inflights.delete(o.messageId),i(null,l)):i&&i(new Error("missing packet")),this}get(o,i){let l=this._inflights.get(o.messageId);return l?i(null,l):i&&i(new Error("missing packet")),this}close(o){this.options.clean&&(this._inflights=null),o&&o()}};u.default=n}),Ey=_e(u=>{ye(),we(),be(),Object.defineProperty(u,"__esModule",{value:!0});var t=[0,16,128,131,135,144,145,151,153],r=(a,n,o)=>{a.log("handlePublish: packet %o",n),o=typeof o<"u"?o:a.noop;let i=n.topic.toString(),l=n.payload,{qos:s}=n,{messageId:c}=n,{options:d}=a;if(a.options.protocolVersion===5){let h;if(n.properties&&(h=n.properties.topicAlias),typeof h<"u")if(i.length===0)if(h>0&&h<=65535){let m=a.topicAliasRecv.getTopicByAlias(h);if(m)i=m,a.log("handlePublish :: topic complemented by alias. topic: %s - alias: %d",i,h);else{a.log("handlePublish :: unregistered topic alias. alias: %d",h),a.emit("error",new Error("Received unregistered Topic Alias"));return}}else{a.log("handlePublish :: topic alias out of range. alias: %d",h),a.emit("error",new Error("Received Topic Alias is out of range"));return}else if(a.topicAliasRecv.put(i,h))a.log("handlePublish :: registered topic: %s - alias: %d",i,h);else{a.log("handlePublish :: topic alias out of range. alias: %d",h),a.emit("error",new Error("Received Topic Alias is out of range"));return}}switch(a.log("handlePublish: qos %d",s),s){case 2:{d.customHandleAcks(i,l,n,(h,m)=>{if(typeof h=="number"&&(m=h,h=null),h)return a.emit("error",h);if(t.indexOf(m)===-1)return a.emit("error",new Error("Wrong reason code for pubrec"));m?a._sendPacket({cmd:"pubrec",messageId:c,reasonCode:m},o):a.incomingStore.put(n,()=>{a._sendPacket({cmd:"pubrec",messageId:c},o)})});break}case 1:{d.customHandleAcks(i,l,n,(h,m)=>{if(typeof h=="number"&&(m=h,h=null),h)return a.emit("error",h);if(t.indexOf(m)===-1)return a.emit("error",new Error("Wrong reason code for puback"));m||a.emit("message",i,l,n),a.handleMessage(n,p=>{if(p)return o&&o(p);a._sendPacket({cmd:"puback",messageId:c,reasonCode:m},o)})});break}case 0:a.emit("message",i,l,n),a.handleMessage(n,o);break;default:a.log("handlePublish: unknown QoS. Doing nothing.");break}};u.default=r}),vy=_e((u,t)=>{t.exports={version:"5.14.1"}}),ar=_e(u=>{ye(),we(),be(),Object.defineProperty(u,"__esModule",{value:!0}),u.MQTTJS_VERSION=u.nextTick=u.ErrorWithSubackPacket=u.ErrorWithReasonCode=void 0,u.applyMixin=a;var t=class fc extends Error{constructor(i,l){super(i);ve(this,"code");this.code=l,Object.setPrototypeOf(this,fc.prototype),Object.getPrototypeOf(this).name="ErrorWithReasonCode"}};u.ErrorWithReasonCode=t;var r=class pc extends Error{constructor(i,l){super(i);ve(this,"packet");this.packet=l,Object.setPrototypeOf(this,pc.prototype),Object.getPrototypeOf(this).name="ErrorWithSubackPacket"}};u.ErrorWithSubackPacket=r;function a(n,o,i=!1){let l=[o];for(;;){let s=l[0],c=Object.getPrototypeOf(s);if(c!=null&&c.prototype)l.unshift(c);else break}for(let s of l)for(let c of Object.getOwnPropertyNames(s.prototype))(i||c!=="constructor")&&Object.defineProperty(n.prototype,c,Object.getOwnPropertyDescriptor(s.prototype,c)??Object.create(null))}u.nextTick=typeof(ze==null?void 0:ze.nextTick)=="function"?ze.nextTick:n=>{setTimeout(n,0)},u.MQTTJS_VERSION=vy().version}),Br=_e(u=>{ye(),we(),be(),Object.defineProperty(u,"__esModule",{value:!0}),u.ReasonCodes=void 0;var t=ar();u.ReasonCodes={0:"",1:"Unacceptable protocol version",2:"Identifier rejected",3:"Server unavailable",4:"Bad username or password",5:"Not authorized",16:"No matching subscribers",17:"No subscription existed",128:"Unspecified error",129:"Malformed Packet",130:"Protocol Error",131:"Implementation specific error",132:"Unsupported Protocol Version",133:"Client Identifier not valid",134:"Bad User Name or Password",135:"Not authorized",136:"Server unavailable",137:"Server busy",138:"Banned",139:"Server shutting down",140:"Bad authentication method",141:"Keep Alive timeout",142:"Session taken over",143:"Topic Filter invalid",144:"Topic Name invalid",145:"Packet identifier in use",146:"Packet Identifier not found",147:"Receive Maximum exceeded",148:"Topic Alias invalid",149:"Packet too large",150:"Message rate too high",151:"Quota exceeded",152:"Administrative action",153:"Payload format invalid",154:"Retain not supported",155:"QoS not supported",156:"Use another server",157:"Server moved",158:"Shared Subscriptions not supported",159:"Connection rate exceeded",160:"Maximum connect time",161:"Subscription Identifiers not supported",162:"Wildcard Subscriptions not supported"};var r=(a,n)=>{let{messageId:o}=n,i=n.cmd,l=null,s=a.outgoing[o]?a.outgoing[o].cb:null,c=null;if(!s){a.log("_handleAck :: Server sent an ack in error. Ignoring.");return}switch(a.log("_handleAck :: packet type",i),i){case"pubcomp":case"puback":{let d=n.reasonCode;d&&d>0&&d!==16?(c=new t.ErrorWithReasonCode(`Publish error: ${u.ReasonCodes[d]}`,d),a._removeOutgoingAndStoreMessage(o,()=>{s(c,n)})):a._removeOutgoingAndStoreMessage(o,s);break}case"pubrec":{l={cmd:"pubrel",qos:2,messageId:o};let d=n.reasonCode;d&&d>0&&d!==16?(c=new t.ErrorWithReasonCode(`Publish error: ${u.ReasonCodes[d]}`,d),a._removeOutgoingAndStoreMessage(o,()=>{s(c,n)})):a._sendPacket(l);break}case"suback":{delete a.outgoing[o],a.messageIdProvider.deallocate(o);let d=n.granted;for(let h=0;h<d.length;h++){let m=d[h];if(m&128){c=new Error(`Subscribe error: ${u.ReasonCodes[m]}`),c.code=m;let p=a.messageIdToTopic[o];p&&p.forEach(f=>{delete a._resubscribeTopics[f]})}}delete a.messageIdToTopic[o],a._invokeStoreProcessingQueue(),s(c,n);break}case"unsuback":{delete a.outgoing[o],a.messageIdProvider.deallocate(o),a._invokeStoreProcessingQueue(),s(null,n);break}default:a.emit("error",new Error("unrecognized packet type"))}a.disconnecting&&Object.keys(a.outgoing).length===0&&a.emit("outgoingEmpty")};u.default=r}),ky=_e(u=>{ye(),we(),be(),Object.defineProperty(u,"__esModule",{value:!0});var t=ar(),r=Br(),a=(n,o)=>{let{options:i}=n,l=i.protocolVersion,s=l===5?o.reasonCode:o.returnCode;if(l!==5){let c=new t.ErrorWithReasonCode(`Protocol error: Auth packets are only supported in MQTT 5. Your version:${l}`,s);n.emit("error",c);return}n.handleAuth(o,(c,d)=>{if(c){n.emit("error",c);return}if(s===24)n.reconnecting=!1,n._sendPacket(d);else{let h=new t.ErrorWithReasonCode(`Connection refused: ${r.ReasonCodes[s]}`,s);n.emit("error",h)}})};u.default=a}),_y=_e(u=>{var p,f,w,N,S,b,E,k,v,V,T,C,A,I,$,x,U,Q,W,pe,ne,re,de,Z,se,R,ee,he,Y,Yi,te,q,le,J,hc,ie,Ee,K,zt,Wt,Qi,ho,mo,Ke,Ji,Sr,qt,Xi,Ve;ye(),we(),be(),Object.defineProperty(u,"__esModule",{value:!0}),u.LRUCache=void 0;var t=typeof performance=="object"&&performance&&typeof performance.now=="function"?performance:Date,r=new Set,a=typeof ze=="object"&&ze?ze:{},n=(g,y,_,B)=>{typeof a.emitWarning=="function"?a.emitWarning(g,y,_,B):console.error(`[${_}] ${y}: ${g}`)},o=globalThis.AbortController,i=globalThis.AbortSignal;if(typeof o>"u"){i=class{constructor(){ve(this,"onabort");ve(this,"_onabort",[]);ve(this,"reason");ve(this,"aborted",!1)}addEventListener(_,B){this._onabort.push(B)}},o=class{constructor(){ve(this,"signal",new i);y()}abort(_){var B,L;if(!this.signal.aborted){this.signal.reason=_,this.signal.aborted=!0;for(let P of this.signal._onabort)P(_);(L=(B=this.signal).onabort)==null||L.call(B,_)}}};let g=((p=a.env)==null?void 0:p.LRU_CACHE_IGNORE_AC_WARNING)!=="1",y=()=>{g&&(g=!1,n("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.","NO_ABORT_CONTROLLER","ENOTSUP",y))}}var l=g=>!r.has(g),s=g=>g&&g===Math.floor(g)&&g>0&&isFinite(g),c=g=>s(g)?g<=Math.pow(2,8)?Uint8Array:g<=Math.pow(2,16)?Uint16Array:g<=Math.pow(2,32)?Uint32Array:g<=Number.MAX_SAFE_INTEGER?d:null:null,d=class extends Array{constructor(g){super(g),this.fill(0)}},h=(f=class{constructor(y,_){ve(this,"heap");ve(this,"length");if(!H(f,w))throw new TypeError("instantiate Stack using Stack.create(n)");this.heap=new _(y),this.length=0}static create(y){let _=c(y);if(!_)return[];Pe(f,w,!0);let B=new f(y,_);return Pe(f,w,!1),B}push(y){this.heap[this.length++]=y}pop(){return this.heap[--this.length]}},w=new WeakMap,Fe(f,w,!1),f),m=(Ve=class{constructor(y){Fe(this,Y);Fe(this,b);Fe(this,E);Fe(this,k);Fe(this,v);Fe(this,V);Fe(this,T);ve(this,"ttl");ve(this,"ttlResolution");ve(this,"ttlAutopurge");ve(this,"updateAgeOnGet");ve(this,"updateAgeOnHas");ve(this,"allowStale");ve(this,"noDisposeOnSet");ve(this,"noUpdateTTL");ve(this,"maxEntrySize");ve(this,"sizeCalculation");ve(this,"noDeleteOnFetchRejection");ve(this,"noDeleteOnStaleGet");ve(this,"allowStaleOnFetchAbort");ve(this,"allowStaleOnFetchRejection");ve(this,"ignoreFetchAbort");Fe(this,C);Fe(this,A);Fe(this,I);Fe(this,$);Fe(this,x);Fe(this,U);Fe(this,Q);Fe(this,W);Fe(this,pe);Fe(this,ne);Fe(this,re);Fe(this,de);Fe(this,Z);Fe(this,se);Fe(this,R);Fe(this,ee);Fe(this,he);Fe(this,te,()=>{});Fe(this,q,()=>{});Fe(this,le,()=>{});Fe(this,J,()=>!1);Fe(this,ie,y=>{});Fe(this,Ee,(y,_,B)=>{});Fe(this,K,(y,_,B,L)=>{if(B||L)throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");return 0});ve(this,N,"LRUCache");let{max:_=0,ttl:B,ttlResolution:L=1,ttlAutopurge:P,updateAgeOnGet:j,updateAgeOnHas:M,allowStale:z,dispose:ke,disposeAfter:Ce,noDisposeOnSet:Te,noUpdateTTL:Oe,maxSize:Xe=0,maxEntrySize:et=0,sizeCalculation:Re,fetchMethod:Ge,memoMethod:De,noDeleteOnFetchRejection:Ue,noDeleteOnStaleGet:qe,allowStaleOnFetchRejection:Ze,allowStaleOnFetchAbort:nt,ignoreFetchAbort:mt}=y;if(_!==0&&!s(_))throw new TypeError("max option must be a nonnegative integer");let O=_?c(_):Array;if(!O)throw new Error("invalid max value: "+_);if(Pe(this,b,_),Pe(this,E,Xe),this.maxEntrySize=et||H(this,E),this.sizeCalculation=Re,this.sizeCalculation){if(!H(this,E)&&!this.maxEntrySize)throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");if(typeof this.sizeCalculation!="function")throw new TypeError("sizeCalculation set to non-function")}if(De!==void 0&&typeof De!="function")throw new TypeError("memoMethod must be a function if defined");if(Pe(this,T,De),Ge!==void 0&&typeof Ge!="function")throw new TypeError("fetchMethod must be a function if specified");if(Pe(this,V,Ge),Pe(this,ee,!!Ge),Pe(this,I,new Map),Pe(this,$,new Array(_).fill(void 0)),Pe(this,x,new Array(_).fill(void 0)),Pe(this,U,new O(_)),Pe(this,Q,new O(_)),Pe(this,W,0),Pe(this,pe,0),Pe(this,ne,h.create(_)),Pe(this,C,0),Pe(this,A,0),typeof ke=="function"&&Pe(this,k,ke),typeof Ce=="function"?(Pe(this,v,Ce),Pe(this,re,[])):(Pe(this,v,void 0),Pe(this,re,void 0)),Pe(this,R,!!H(this,k)),Pe(this,he,!!H(this,v)),this.noDisposeOnSet=!!Te,this.noUpdateTTL=!!Oe,this.noDeleteOnFetchRejection=!!Ue,this.allowStaleOnFetchRejection=!!Ze,this.allowStaleOnFetchAbort=!!nt,this.ignoreFetchAbort=!!mt,this.maxEntrySize!==0){if(H(this,E)!==0&&!s(H(this,E)))throw new TypeError("maxSize must be a positive integer if specified");if(!s(this.maxEntrySize))throw new TypeError("maxEntrySize must be a positive integer if specified");Be(this,Y,hc).call(this)}if(this.allowStale=!!z,this.noDeleteOnStaleGet=!!qe,this.updateAgeOnGet=!!j,this.updateAgeOnHas=!!M,this.ttlResolution=s(L)||L===0?L:1,this.ttlAutopurge=!!P,this.ttl=B||0,this.ttl){if(!s(this.ttl))throw new TypeError("ttl must be a positive integer if specified");Be(this,Y,Yi).call(this)}if(H(this,b)===0&&this.ttl===0&&H(this,E)===0)throw new TypeError("At least one of max, maxSize, or ttl is required");if(!this.ttlAutopurge&&!H(this,b)&&!H(this,E)){let G="LRU_CACHE_UNBOUNDED";l(G)&&(r.add(G),n("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning",G,Ve))}}static unsafeExposeInternals(y){return{starts:H(y,Z),ttls:H(y,se),sizes:H(y,de),keyMap:H(y,I),keyList:H(y,$),valList:H(y,x),next:H(y,U),prev:H(y,Q),get head(){return H(y,W)},get tail(){return H(y,pe)},free:H(y,ne),isBackgroundFetch:_=>{var B;return Be(B=y,Y,Ke).call(B,_)},backgroundFetch:(_,B,L,P)=>{var j;return Be(j=y,Y,mo).call(j,_,B,L,P)},moveToTail:_=>{var B;return Be(B=y,Y,Sr).call(B,_)},indexes:_=>{var B;return Be(B=y,Y,zt).call(B,_)},rindexes:_=>{var B;return Be(B=y,Y,Wt).call(B,_)},isStale:_=>{var B;return H(B=y,J).call(B,_)}}}get max(){return H(this,b)}get maxSize(){return H(this,E)}get calculatedSize(){return H(this,A)}get size(){return H(this,C)}get fetchMethod(){return H(this,V)}get memoMethod(){return H(this,T)}get dispose(){return H(this,k)}get disposeAfter(){return H(this,v)}getRemainingTTL(y){return H(this,I).has(y)?1/0:0}*entries(){for(let y of Be(this,Y,zt).call(this))H(this,x)[y]!==void 0&&H(this,$)[y]!==void 0&&!Be(this,Y,Ke).call(this,H(this,x)[y])&&(yield[H(this,$)[y],H(this,x)[y]])}*rentries(){for(let y of Be(this,Y,Wt).call(this))H(this,x)[y]!==void 0&&H(this,$)[y]!==void 0&&!Be(this,Y,Ke).call(this,H(this,x)[y])&&(yield[H(this,$)[y],H(this,x)[y]])}*keys(){for(let y of Be(this,Y,zt).call(this)){let _=H(this,$)[y];_!==void 0&&!Be(this,Y,Ke).call(this,H(this,x)[y])&&(yield _)}}*rkeys(){for(let y of Be(this,Y,Wt).call(this)){let _=H(this,$)[y];_!==void 0&&!Be(this,Y,Ke).call(this,H(this,x)[y])&&(yield _)}}*values(){for(let y of Be(this,Y,zt).call(this))H(this,x)[y]!==void 0&&!Be(this,Y,Ke).call(this,H(this,x)[y])&&(yield H(this,x)[y])}*rvalues(){for(let y of Be(this,Y,Wt).call(this))H(this,x)[y]!==void 0&&!Be(this,Y,Ke).call(this,H(this,x)[y])&&(yield H(this,x)[y])}[(S=Symbol.iterator,N=Symbol.toStringTag,S)](){return this.entries()}find(y,_={}){for(let B of Be(this,Y,zt).call(this)){let L=H(this,x)[B],P=Be(this,Y,Ke).call(this,L)?L.__staleWhileFetching:L;if(P!==void 0&&y(P,H(this,$)[B],this))return this.get(H(this,$)[B],_)}}forEach(y,_=this){for(let B of Be(this,Y,zt).call(this)){let L=H(this,x)[B],P=Be(this,Y,Ke).call(this,L)?L.__staleWhileFetching:L;P!==void 0&&y.call(_,P,H(this,$)[B],this)}}rforEach(y,_=this){for(let B of Be(this,Y,Wt).call(this)){let L=H(this,x)[B],P=Be(this,Y,Ke).call(this,L)?L.__staleWhileFetching:L;P!==void 0&&y.call(_,P,H(this,$)[B],this)}}purgeStale(){let y=!1;for(let _ of Be(this,Y,Wt).call(this,{allowStale:!0}))H(this,J).call(this,_)&&(Be(this,Y,qt).call(this,H(this,$)[_],"expire"),y=!0);return y}info(y){let _=H(this,I).get(y);if(_===void 0)return;let B=H(this,x)[_],L=Be(this,Y,Ke).call(this,B)?B.__staleWhileFetching:B;if(L===void 0)return;let P={value:L};if(H(this,se)&&H(this,Z)){let j=H(this,se)[_],M=H(this,Z)[_];if(j&&M){let z=j-(t.now()-M);P.ttl=z,P.start=Date.now()}}return H(this,de)&&(P.size=H(this,de)[_]),P}dump(){let y=[];for(let _ of Be(this,Y,zt).call(this,{allowStale:!0})){let B=H(this,$)[_],L=H(this,x)[_],P=Be(this,Y,Ke).call(this,L)?L.__staleWhileFetching:L;if(P===void 0||B===void 0)continue;let j={value:P};if(H(this,se)&&H(this,Z)){j.ttl=H(this,se)[_];let M=t.now()-H(this,Z)[_];j.start=Math.floor(Date.now()-M)}H(this,de)&&(j.size=H(this,de)[_]),y.unshift([B,j])}return y}load(y){this.clear();for(let[_,B]of y){if(B.start){let L=Date.now()-B.start;B.start=t.now()-L}this.set(_,B.value,B)}}set(y,_,B={}){var Oe,Xe,et,Re,Ge;if(_===void 0)return this.delete(y),this;let{ttl:L=this.ttl,start:P,noDisposeOnSet:j=this.noDisposeOnSet,sizeCalculation:M=this.sizeCalculation,status:z}=B,{noUpdateTTL:ke=this.noUpdateTTL}=B,Ce=H(this,K).call(this,y,_,B.size||0,M);if(this.maxEntrySize&&Ce>this.maxEntrySize)return z&&(z.set="miss",z.maxEntrySizeExceeded=!0),Be(this,Y,qt).call(this,y,"set"),this;let Te=H(this,C)===0?void 0:H(this,I).get(y);if(Te===void 0)Te=H(this,C)===0?H(this,pe):H(this,ne).length!==0?H(this,ne).pop():H(this,C)===H(this,b)?Be(this,Y,ho).call(this,!1):H(this,C),H(this,$)[Te]=y,H(this,x)[Te]=_,H(this,I).set(y,Te),H(this,U)[H(this,pe)]=Te,H(this,Q)[Te]=H(this,pe),Pe(this,pe,Te),po(this,C)._++,H(this,Ee).call(this,Te,Ce,z),z&&(z.set="add"),ke=!1;else{Be(this,Y,Sr).call(this,Te);let De=H(this,x)[Te];if(_!==De){if(H(this,ee)&&Be(this,Y,Ke).call(this,De)){De.__abortController.abort(new Error("replaced"));let{__staleWhileFetching:Ue}=De;Ue!==void 0&&!j&&(H(this,R)&&((Oe=H(this,k))==null||Oe.call(this,Ue,y,"set")),H(this,he)&&((Xe=H(this,re))==null||Xe.push([Ue,y,"set"])))}else j||(H(this,R)&&((et=H(this,k))==null||et.call(this,De,y,"set")),H(this,he)&&((Re=H(this,re))==null||Re.push([De,y,"set"])));if(H(this,ie).call(this,Te),H(this,Ee).call(this,Te,Ce,z),H(this,x)[Te]=_,z){z.set="replace";let Ue=De&&Be(this,Y,Ke).call(this,De)?De.__staleWhileFetching:De;Ue!==void 0&&(z.oldValue=Ue)}}else z&&(z.set="update")}if(L!==0&&!H(this,se)&&Be(this,Y,Yi).call(this),H(this,se)&&(ke||H(this,le).call(this,Te,L,P),z&&H(this,q).call(this,z,Te)),!j&&H(this,he)&&H(this,re)){let De=H(this,re),Ue;for(;Ue=De==null?void 0:De.shift();)(Ge=H(this,v))==null||Ge.call(this,...Ue)}return this}pop(){var y;try{for(;H(this,C);){let _=H(this,x)[H(this,W)];if(Be(this,Y,ho).call(this,!0),Be(this,Y,Ke).call(this,_)){if(_.__staleWhileFetching)return _.__staleWhileFetching}else if(_!==void 0)return _}}finally{if(H(this,he)&&H(this,re)){let _=H(this,re),B;for(;B=_==null?void 0:_.shift();)(y=H(this,v))==null||y.call(this,...B)}}}has(y,_={}){let{updateAgeOnHas:B=this.updateAgeOnHas,status:L}=_,P=H(this,I).get(y);if(P!==void 0){let j=H(this,x)[P];if(Be(this,Y,Ke).call(this,j)&&j.__staleWhileFetching===void 0)return!1;if(H(this,J).call(this,P))L&&(L.has="stale",H(this,q).call(this,L,P));else return B&&H(this,te).call(this,P),L&&(L.has="hit",H(this,q).call(this,L,P)),!0}else L&&(L.has="miss");return!1}peek(y,_={}){let{allowStale:B=this.allowStale}=_,L=H(this,I).get(y);if(L===void 0||!B&&H(this,J).call(this,L))return;let P=H(this,x)[L];return Be(this,Y,Ke).call(this,P)?P.__staleWhileFetching:P}async fetch(y,_={}){let{allowStale:B=this.allowStale,updateAgeOnGet:L=this.updateAgeOnGet,noDeleteOnStaleGet:P=this.noDeleteOnStaleGet,ttl:j=this.ttl,noDisposeOnSet:M=this.noDisposeOnSet,size:z=0,sizeCalculation:ke=this.sizeCalculation,noUpdateTTL:Ce=this.noUpdateTTL,noDeleteOnFetchRejection:Te=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:Oe=this.allowStaleOnFetchRejection,ignoreFetchAbort:Xe=this.ignoreFetchAbort,allowStaleOnFetchAbort:et=this.allowStaleOnFetchAbort,context:Re,forceRefresh:Ge=!1,status:De,signal:Ue}=_;if(!H(this,ee))return De&&(De.fetch="get"),this.get(y,{allowStale:B,updateAgeOnGet:L,noDeleteOnStaleGet:P,status:De});let qe={allowStale:B,updateAgeOnGet:L,noDeleteOnStaleGet:P,ttl:j,noDisposeOnSet:M,size:z,sizeCalculation:ke,noUpdateTTL:Ce,noDeleteOnFetchRejection:Te,allowStaleOnFetchRejection:Oe,allowStaleOnFetchAbort:et,ignoreFetchAbort:Xe,status:De,signal:Ue},Ze=H(this,I).get(y);if(Ze===void 0){De&&(De.fetch="miss");let nt=Be(this,Y,mo).call(this,y,Ze,qe,Re);return nt.__returned=nt}else{let nt=H(this,x)[Ze];if(Be(this,Y,Ke).call(this,nt)){let xe=B&&nt.__staleWhileFetching!==void 0;return De&&(De.fetch="inflight",xe&&(De.returnedStale=!0)),xe?nt.__staleWhileFetching:nt.__returned=nt}let mt=H(this,J).call(this,Ze);if(!Ge&&!mt)return De&&(De.fetch="hit"),Be(this,Y,Sr).call(this,Ze),L&&H(this,te).call(this,Ze),De&&H(this,q).call(this,De,Ze),nt;let O=Be(this,Y,mo).call(this,y,Ze,qe,Re),G=O.__staleWhileFetching!==void 0&&B;return De&&(De.fetch=mt?"stale":"refresh",G&&mt&&(De.returnedStale=!0)),G?O.__staleWhileFetching:O.__returned=O}}async forceFetch(y,_={}){let B=await this.fetch(y,_);if(B===void 0)throw new Error("fetch() returned undefined");return B}memo(y,_={}){let B=H(this,T);if(!B)throw new Error("no memoMethod provided to constructor");let{context:L,forceRefresh:P,...j}=_,M=this.get(y,j);if(!P&&M!==void 0)return M;let z=B(y,M,{options:j,context:L});return this.set(y,z,j),z}get(y,_={}){let{allowStale:B=this.allowStale,updateAgeOnGet:L=this.updateAgeOnGet,noDeleteOnStaleGet:P=this.noDeleteOnStaleGet,status:j}=_,M=H(this,I).get(y);if(M!==void 0){let z=H(this,x)[M],ke=Be(this,Y,Ke).call(this,z);return j&&H(this,q).call(this,j,M),H(this,J).call(this,M)?(j&&(j.get="stale"),ke?(j&&B&&z.__staleWhileFetching!==void 0&&(j.returnedStale=!0),B?z.__staleWhileFetching:void 0):(P||Be(this,Y,qt).call(this,y,"expire"),j&&B&&(j.returnedStale=!0),B?z:void 0)):(j&&(j.get="hit"),ke?z.__staleWhileFetching:(Be(this,Y,Sr).call(this,M),L&&H(this,te).call(this,M),z))}else j&&(j.get="miss")}delete(y){return Be(this,Y,qt).call(this,y,"delete")}clear(){return Be(this,Y,Xi).call(this,"delete")}},b=new WeakMap,E=new WeakMap,k=new WeakMap,v=new WeakMap,V=new WeakMap,T=new WeakMap,C=new WeakMap,A=new WeakMap,I=new WeakMap,$=new WeakMap,x=new WeakMap,U=new WeakMap,Q=new WeakMap,W=new WeakMap,pe=new WeakMap,ne=new WeakMap,re=new WeakMap,de=new WeakMap,Z=new WeakMap,se=new WeakMap,R=new WeakMap,ee=new WeakMap,he=new WeakMap,Y=new WeakSet,Yi=function(){let y=new d(H(this,b)),_=new d(H(this,b));Pe(this,se,y),Pe(this,Z,_),Pe(this,le,(P,j,M=t.now())=>{if(_[P]=j!==0?M:0,y[P]=j,j!==0&&this.ttlAutopurge){let z=setTimeout(()=>{H(this,J).call(this,P)&&Be(this,Y,qt).call(this,H(this,$)[P],"expire")},j+1);z.unref&&z.unref()}}),Pe(this,te,P=>{_[P]=y[P]!==0?t.now():0}),Pe(this,q,(P,j)=>{if(y[j]){let M=y[j],z=_[j];if(!M||!z)return;P.ttl=M,P.start=z,P.now=B||L();let ke=P.now-z;P.remainingTTL=M-ke}});let B=0,L=()=>{let P=t.now();if(this.ttlResolution>0){B=P;let j=setTimeout(()=>B=0,this.ttlResolution);j.unref&&j.unref()}return P};this.getRemainingTTL=P=>{let j=H(this,I).get(P);if(j===void 0)return 0;let M=y[j],z=_[j];if(!M||!z)return 1/0;let ke=(B||L())-z;return M-ke},Pe(this,J,P=>{let j=_[P],M=y[P];return!!M&&!!j&&(B||L())-j>M})},te=new WeakMap,q=new WeakMap,le=new WeakMap,J=new WeakMap,hc=function(){let y=new d(H(this,b));Pe(this,A,0),Pe(this,de,y),Pe(this,ie,_=>{Pe(this,A,H(this,A)-y[_]),y[_]=0}),Pe(this,K,(_,B,L,P)=>{if(Be(this,Y,Ke).call(this,B))return 0;if(!s(L))if(P){if(typeof P!="function")throw new TypeError("sizeCalculation must be a function");if(L=P(B,_),!s(L))throw new TypeError("sizeCalculation return invalid (expect positive integer)")}else throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");return L}),Pe(this,Ee,(_,B,L)=>{if(y[_]=B,H(this,E)){let P=H(this,E)-y[_];for(;H(this,A)>P;)Be(this,Y,ho).call(this,!0)}Pe(this,A,H(this,A)+y[_]),L&&(L.entrySize=B,L.totalCalculatedSize=H(this,A))})},ie=new WeakMap,Ee=new WeakMap,K=new WeakMap,zt=function*({allowStale:y=this.allowStale}={}){if(H(this,C))for(let _=H(this,pe);!(!Be(this,Y,Qi).call(this,_)||((y||!H(this,J).call(this,_))&&(yield _),_===H(this,W)));)_=H(this,Q)[_]},Wt=function*({allowStale:y=this.allowStale}={}){if(H(this,C))for(let _=H(this,W);!(!Be(this,Y,Qi).call(this,_)||((y||!H(this,J).call(this,_))&&(yield _),_===H(this,pe)));)_=H(this,U)[_]},Qi=function(y){return y!==void 0&&H(this,I).get(H(this,$)[y])===y},ho=function(y){var P,j;let _=H(this,W),B=H(this,$)[_],L=H(this,x)[_];return H(this,ee)&&Be(this,Y,Ke).call(this,L)?L.__abortController.abort(new Error("evicted")):(H(this,R)||H(this,he))&&(H(this,R)&&((P=H(this,k))==null||P.call(this,L,B,"evict")),H(this,he)&&((j=H(this,re))==null||j.push([L,B,"evict"]))),H(this,ie).call(this,_),y&&(H(this,$)[_]=void 0,H(this,x)[_]=void 0,H(this,ne).push(_)),H(this,C)===1?(Pe(this,W,Pe(this,pe,0)),H(this,ne).length=0):Pe(this,W,H(this,U)[_]),H(this,I).delete(B),po(this,C)._--,_},mo=function(y,_,B,L){let P=_===void 0?void 0:H(this,x)[_];if(Be(this,Y,Ke).call(this,P))return P;let j=new o,{signal:M}=B;M==null||M.addEventListener("abort",()=>j.abort(M.reason),{signal:j.signal});let z={signal:j.signal,options:B,context:L},ke=(Re,Ge=!1)=>{let{aborted:De}=j.signal,Ue=B.ignoreFetchAbort&&Re!==void 0;if(B.status&&(De&&!Ge?(B.status.fetchAborted=!0,B.status.fetchError=j.signal.reason,Ue&&(B.status.fetchAbortIgnored=!0)):B.status.fetchResolved=!0),De&&!Ue&&!Ge)return Te(j.signal.reason);let qe=Xe;return H(this,x)[_]===Xe&&(Re===void 0?qe.__staleWhileFetching?H(this,x)[_]=qe.__staleWhileFetching:Be(this,Y,qt).call(this,y,"fetch"):(B.status&&(B.status.fetchUpdated=!0),this.set(y,Re,z.options))),Re},Ce=Re=>(B.status&&(B.status.fetchRejected=!0,B.status.fetchError=Re),Te(Re)),Te=Re=>{let{aborted:Ge}=j.signal,De=Ge&&B.allowStaleOnFetchAbort,Ue=De||B.allowStaleOnFetchRejection,qe=Ue||B.noDeleteOnFetchRejection,Ze=Xe;if(H(this,x)[_]===Xe&&(!qe||Ze.__staleWhileFetching===void 0?Be(this,Y,qt).call(this,y,"fetch"):De||(H(this,x)[_]=Ze.__staleWhileFetching)),Ue)return B.status&&Ze.__staleWhileFetching!==void 0&&(B.status.returnedStale=!0),Ze.__staleWhileFetching;if(Ze.__returned===Ze)throw Re},Oe=(Re,Ge)=>{var Ue;let De=(Ue=H(this,V))==null?void 0:Ue.call(this,y,P,z);De&&De instanceof Promise&&De.then(qe=>Re(qe===void 0?void 0:qe),Ge),j.signal.addEventListener("abort",()=>{(!B.ignoreFetchAbort||B.allowStaleOnFetchAbort)&&(Re(void 0),B.allowStaleOnFetchAbort&&(Re=qe=>ke(qe,!0)))})};B.status&&(B.status.fetchDispatched=!0);let Xe=new Promise(Oe).then(ke,Ce),et=Object.assign(Xe,{__abortController:j,__staleWhileFetching:P,__returned:void 0});return _===void 0?(this.set(y,et,{...z.options,status:void 0}),_=H(this,I).get(y)):H(this,x)[_]=et,et},Ke=function(y){if(!H(this,ee))return!1;let _=y;return!!_&&_ instanceof Promise&&_.hasOwnProperty("__staleWhileFetching")&&_.__abortController instanceof o},Ji=function(y,_){H(this,Q)[_]=y,H(this,U)[y]=_},Sr=function(y){y!==H(this,pe)&&(y===H(this,W)?Pe(this,W,H(this,U)[y]):Be(this,Y,Ji).call(this,H(this,Q)[y],H(this,U)[y]),Be(this,Y,Ji).call(this,H(this,pe),y),Pe(this,pe,y))},qt=function(y,_){var L,P,j,M;let B=!1;if(H(this,C)!==0){let z=H(this,I).get(y);if(z!==void 0)if(B=!0,H(this,C)===1)Be(this,Y,Xi).call(this,_);else{H(this,ie).call(this,z);let ke=H(this,x)[z];if(Be(this,Y,Ke).call(this,ke)?ke.__abortController.abort(new Error("deleted")):(H(this,R)||H(this,he))&&(H(this,R)&&((L=H(this,k))==null||L.call(this,ke,y,_)),H(this,he)&&((P=H(this,re))==null||P.push([ke,y,_]))),H(this,I).delete(y),H(this,$)[z]=void 0,H(this,x)[z]=void 0,z===H(this,pe))Pe(this,pe,H(this,Q)[z]);else if(z===H(this,W))Pe(this,W,H(this,U)[z]);else{let Ce=H(this,Q)[z];H(this,U)[Ce]=H(this,U)[z];let Te=H(this,U)[z];H(this,Q)[Te]=H(this,Q)[z]}po(this,C)._--,H(this,ne).push(z)}}if(H(this,he)&&((j=H(this,re))!=null&&j.length)){let z=H(this,re),ke;for(;ke=z==null?void 0:z.shift();)(M=H(this,v))==null||M.call(this,...ke)}return B},Xi=function(y){var _,B,L;for(let P of Be(this,Y,Wt).call(this,{allowStale:!0})){let j=H(this,x)[P];if(Be(this,Y,Ke).call(this,j))j.__abortController.abort(new Error("deleted"));else{let M=H(this,$)[P];H(this,R)&&((_=H(this,k))==null||_.call(this,j,M,y)),H(this,he)&&((B=H(this,re))==null||B.push([j,M,y]))}}if(H(this,I).clear(),H(this,x).fill(void 0),H(this,$).fill(void 0),H(this,se)&&H(this,Z)&&(H(this,se).fill(0),H(this,Z).fill(0)),H(this,de)&&H(this,de).fill(0),Pe(this,W,0),Pe(this,pe,0),H(this,ne).length=0,Pe(this,A,0),Pe(this,C,0),H(this,he)&&H(this,re)){let P=H(this,re),j;for(;j=P==null?void 0:P.shift();)(L=H(this,v))==null||L.call(this,...j)}},Ve);u.LRUCache=m}),Vt=_e(u=>{ye(),we(),be(),Object.defineProperty(u,"t",{value:!0}),u.ContainerIterator=u.Container=u.Base=void 0;var t=class{constructor(n=0){this.iteratorType=n}equals(n){return this.o===n.o}};u.ContainerIterator=t;var r=class{constructor(){this.i=0}get length(){return this.i}size(){return this.i}empty(){return this.i===0}};u.Base=r;var a=class extends r{};u.Container=a}),Ny=_e(u=>{ye(),we(),be(),Object.defineProperty(u,"t",{value:!0}),u.default=void 0;var t=Vt(),r=class extends t.Base{constructor(n=[]){super(),this.S=[];let o=this;n.forEach(function(i){o.push(i)})}clear(){this.i=0,this.S=[]}push(n){return this.S.push(n),this.i+=1,this.i}pop(){if(this.i!==0)return this.i-=1,this.S.pop()}top(){return this.S[this.i-1]}},a=r;u.default=a}),Sy=_e(u=>{ye(),we(),be(),Object.defineProperty(u,"t",{value:!0}),u.default=void 0;var t=Vt(),r=class extends t.Base{constructor(n=[]){super(),this.j=0,this.q=[];let o=this;n.forEach(function(i){o.push(i)})}clear(){this.q=[],this.i=this.j=0}push(n){let o=this.q.length;if(this.j/o>.5&&this.j+this.i>=o&&o>4096){let i=this.i;for(let l=0;l<i;++l)this.q[l]=this.q[this.j+l];this.j=0,this.q[this.i]=n}else this.q[this.j+this.i]=n;return++this.i}pop(){if(this.i===0)return;let n=this.q[this.j++];return this.i-=1,n}front(){if(this.i!==0)return this.q[this.j]}},a=r;u.default=a}),xy=_e(u=>{ye(),we(),be(),Object.defineProperty(u,"t",{value:!0}),u.default=void 0;var t=Vt(),r=class extends t.Base{constructor(n=[],o=function(l,s){return l>s?-1:l<s?1:0},i=!0){if(super(),this.v=o,Array.isArray(n))this.C=i?[...n]:n;else{this.C=[];let s=this;n.forEach(function(c){s.C.push(c)})}this.i=this.C.length;let l=this.i>>1;for(let s=this.i-1>>1;s>=0;--s)this.k(s,l)}m(n){let o=this.C[n];for(;n>0;){let i=n-1>>1,l=this.C[i];if(this.v(l,o)<=0)break;this.C[n]=l,n=i}this.C[n]=o}k(n,o){let i=this.C[n];for(;n<o;){let l=n<<1|1,s=l+1,c=this.C[l];if(s<this.i&&this.v(c,this.C[s])>0&&(l=s,c=this.C[s]),this.v(c,i)>=0)break;this.C[n]=c,n=l}this.C[n]=i}clear(){this.i=0,this.C.length=0}push(n){this.C.push(n),this.m(this.i),this.i+=1}pop(){if(this.i===0)return;let n=this.C[0],o=this.C.pop();return this.i-=1,this.i&&(this.C[0]=o,this.k(0,this.i>>1)),n}top(){return this.C[0]}find(n){return this.C.indexOf(n)>=0}remove(n){let o=this.C.indexOf(n);return o<0?!1:(o===0?this.pop():o===this.i-1?(this.C.pop(),this.i-=1):(this.C.splice(o,1,this.C.pop()),this.i-=1,this.m(o),this.k(o,this.i>>1)),!0)}updateItem(n){let o=this.C.indexOf(n);return o<0?!1:(this.m(o),this.k(o,this.i>>1),!0)}toArray(){return[...this.C]}},a=r;u.default=a}),jn=_e(u=>{ye(),we(),be(),Object.defineProperty(u,"t",{value:!0}),u.default=void 0;var t=Vt(),r=class extends t.Container{},a=r;u.default=a}),Ct=_e(u=>{ye(),we(),be(),Object.defineProperty(u,"t",{value:!0}),u.throwIteratorAccessError=t;function t(){throw new RangeError("Iterator access denied!")}}),Xa=_e(u=>{ye(),we(),be(),Object.defineProperty(u,"t",{value:!0}),u.RandomIterator=void 0;var t=Vt(),r=Ct(),a=class extends t.ContainerIterator{constructor(n,o){super(o),this.o=n,this.iteratorType===0?(this.pre=function(){return this.o===0&&(0,r.throwIteratorAccessError)(),this.o-=1,this},this.next=function(){return this.o===this.container.size()&&(0,r.throwIteratorAccessError)(),this.o+=1,this}):(this.pre=function(){return this.o===this.container.size()-1&&(0,r.throwIteratorAccessError)(),this.o+=1,this},this.next=function(){return this.o===-1&&(0,r.throwIteratorAccessError)(),this.o-=1,this})}get pointer(){return this.container.getElementByPos(this.o)}set pointer(n){this.container.setElementByPos(this.o,n)}};u.RandomIterator=a}),Vy=_e(u=>{ye(),we(),be(),Object.defineProperty(u,"t",{value:!0}),u.default=void 0;var t=a(jn()),r=Xa();function a(l){return l&&l.t?l:{default:l}}var n=class mc extends r.RandomIterator{constructor(s,c,d){super(s,d),this.container=c}copy(){return new mc(this.o,this.container,this.iteratorType)}},o=class extends t.default{constructor(l=[],s=!0){if(super(),Array.isArray(l))this.J=s?[...l]:l,this.i=l.length;else{this.J=[];let c=this;l.forEach(function(d){c.pushBack(d)})}}clear(){this.i=0,this.J.length=0}begin(){return new n(0,this)}end(){return new n(this.i,this)}rBegin(){return new n(this.i-1,this,1)}rEnd(){return new n(-1,this,1)}front(){return this.J[0]}back(){return this.J[this.i-1]}getElementByPos(l){if(l<0||l>this.i-1)throw new RangeError;return this.J[l]}eraseElementByPos(l){if(l<0||l>this.i-1)throw new RangeError;return this.J.splice(l,1),this.i-=1,this.i}eraseElementByValue(l){let s=0;for(let c=0;c<this.i;++c)this.J[c]!==l&&(this.J[s++]=this.J[c]);return this.i=this.J.length=s,this.i}eraseElementByIterator(l){let s=l.o;return l=l.next(),this.eraseElementByPos(s),l}pushBack(l){return this.J.push(l),this.i+=1,this.i}popBack(){if(this.i!==0)return this.i-=1,this.J.pop()}setElementByPos(l,s){if(l<0||l>this.i-1)throw new RangeError;this.J[l]=s}insert(l,s,c=1){if(l<0||l>this.i)throw new RangeError;return this.J.splice(l,0,...new Array(c).fill(s)),this.i+=c,this.i}find(l){for(let s=0;s<this.i;++s)if(this.J[s]===l)return new n(s,this);return this.end()}reverse(){this.J.reverse()}unique(){let l=1;for(let s=1;s<this.i;++s)this.J[s]!==this.J[s-1]&&(this.J[l++]=this.J[s]);return this.i=this.J.length=l,this.i}sort(l){this.J.sort(l)}forEach(l){for(let s=0;s<this.i;++s)l(this.J[s],s,this)}[Symbol.iterator](){return(function*(){yield*this.J}).bind(this)()}},i=o;u.default=i}),Cy=_e(u=>{ye(),we(),be(),Object.defineProperty(u,"t",{value:!0}),u.default=void 0;var t=n(jn()),r=Vt(),a=Ct();function n(s){return s&&s.t?s:{default:s}}var o=class gc extends r.ContainerIterator{constructor(c,d,h,m){super(m),this.o=c,this.h=d,this.container=h,this.iteratorType===0?(this.pre=function(){return this.o.L===this.h&&(0,a.throwIteratorAccessError)(),this.o=this.o.L,this},this.next=function(){return this.o===this.h&&(0,a.throwIteratorAccessError)(),this.o=this.o.B,this}):(this.pre=function(){return this.o.B===this.h&&(0,a.throwIteratorAccessError)(),this.o=this.o.B,this},this.next=function(){return this.o===this.h&&(0,a.throwIteratorAccessError)(),this.o=this.o.L,this})}get pointer(){return this.o===this.h&&(0,a.throwIteratorAccessError)(),this.o.l}set pointer(c){this.o===this.h&&(0,a.throwIteratorAccessError)(),this.o.l=c}copy(){return new gc(this.o,this.h,this.container,this.iteratorType)}},i=class extends t.default{constructor(s=[]){super(),this.h={},this.p=this._=this.h.L=this.h.B=this.h;let c=this;s.forEach(function(d){c.pushBack(d)})}V(s){let{L:c,B:d}=s;c.B=d,d.L=c,s===this.p&&(this.p=d),s===this._&&(this._=c),this.i-=1}G(s,c){let d=c.B,h={l:s,L:c,B:d};c.B=h,d.L=h,c===this.h&&(this.p=h),d===this.h&&(this._=h),this.i+=1}clear(){this.i=0,this.p=this._=this.h.L=this.h.B=this.h}begin(){return new o(this.p,this.h,this)}end(){return new o(this.h,this.h,this)}rBegin(){return new o(this._,this.h,this,1)}rEnd(){return new o(this.h,this.h,this,1)}front(){return this.p.l}back(){return this._.l}getElementByPos(s){if(s<0||s>this.i-1)throw new RangeError;let c=this.p;for(;s--;)c=c.B;return c.l}eraseElementByPos(s){if(s<0||s>this.i-1)throw new RangeError;let c=this.p;for(;s--;)c=c.B;return this.V(c),this.i}eraseElementByValue(s){let c=this.p;for(;c!==this.h;)c.l===s&&this.V(c),c=c.B;return this.i}eraseElementByIterator(s){let c=s.o;return c===this.h&&(0,a.throwIteratorAccessError)(),s=s.next(),this.V(c),s}pushBack(s){return this.G(s,this._),this.i}popBack(){if(this.i===0)return;let s=this._.l;return this.V(this._),s}pushFront(s){return this.G(s,this.h),this.i}popFront(){if(this.i===0)return;let s=this.p.l;return this.V(this.p),s}setElementByPos(s,c){if(s<0||s>this.i-1)throw new RangeError;let d=this.p;for(;s--;)d=d.B;d.l=c}insert(s,c,d=1){if(s<0||s>this.i)throw new RangeError;if(d<=0)return this.i;if(s===0)for(;d--;)this.pushFront(c);else if(s===this.i)for(;d--;)this.pushBack(c);else{let h=this.p;for(let p=1;p<s;++p)h=h.B;let m=h.B;for(this.i+=d;d--;)h.B={l:c,L:h},h.B.L=h,h=h.B;h.B=m,m.L=h}return this.i}find(s){let c=this.p;for(;c!==this.h;){if(c.l===s)return new o(c,this.h,this);c=c.B}return this.end()}reverse(){if(this.i<=1)return;let s=this.p,c=this._,d=0;for(;d<<1<this.i;){let h=s.l;s.l=c.l,c.l=h,s=s.B,c=c.L,d+=1}}unique(){if(this.i<=1)return this.i;let s=this.p;for(;s!==this.h;){let c=s;for(;c.B!==this.h&&c.l===c.B.l;)c=c.B,this.i-=1;s.B=c.B,s.B.L=s,s=s.B}return this.i}sort(s){if(this.i<=1)return;let c=[];this.forEach(function(h){c.push(h)}),c.sort(s);let d=this.p;c.forEach(function(h){d.l=h,d=d.B})}merge(s){let c=this;if(this.i===0)s.forEach(function(d){c.pushBack(d)});else{let d=this.p;s.forEach(function(h){for(;d!==c.h&&d.l<=h;)d=d.B;c.G(h,d.L)})}return this.i}forEach(s){let c=this.p,d=0;for(;c!==this.h;)s(c.l,d++,this),c=c.B}[Symbol.iterator](){return(function*(){if(this.i===0)return;let s=this.p;for(;s!==this.h;)yield s.l,s=s.B}).bind(this)()}},l=i;u.default=l}),Iy=_e(u=>{ye(),we(),be(),Object.defineProperty(u,"t",{value:!0}),u.default=void 0;var t=a(jn()),r=Xa();function a(l){return l&&l.t?l:{default:l}}var n=class yc extends r.RandomIterator{constructor(s,c,d){super(s,d),this.container=c}copy(){return new yc(this.o,this.container,this.iteratorType)}},o=class extends t.default{constructor(l=[],s=4096){super(),this.j=0,this.D=0,this.R=0,this.N=0,this.P=0,this.A=[];let c=(()=>{if(typeof l.length=="number")return l.length;if(typeof l.size=="number")return l.size;if(typeof l.size=="function")return l.size();throw new TypeError("Cannot get the length or size of the container")})();this.F=s,this.P=Math.max(Math.ceil(c/this.F),1);for(let m=0;m<this.P;++m)this.A.push(new Array(this.F));let d=Math.ceil(c/this.F);this.j=this.R=(this.P>>1)-(d>>1),this.D=this.N=this.F-c%this.F>>1;let h=this;l.forEach(function(m){h.pushBack(m)})}T(){let l=[],s=Math.max(this.P>>1,1);for(let c=0;c<s;++c)l[c]=new Array(this.F);for(let c=this.j;c<this.P;++c)l[l.length]=this.A[c];for(let c=0;c<this.R;++c)l[l.length]=this.A[c];l[l.length]=[...this.A[this.R]],this.j=s,this.R=l.length-1;for(let c=0;c<s;++c)l[l.length]=new Array(this.F);this.A=l,this.P=l.length}O(l){let s=this.D+l+1,c=s%this.F,d=c-1,h=this.j+(s-c)/this.F;return c===0&&(h-=1),h%=this.P,d<0&&(d+=this.F),{curNodeBucketIndex:h,curNodePointerIndex:d}}clear(){this.A=[new Array(this.F)],this.P=1,this.j=this.R=this.i=0,this.D=this.N=this.F>>1}begin(){return new n(0,this)}end(){return new n(this.i,this)}rBegin(){return new n(this.i-1,this,1)}rEnd(){return new n(-1,this,1)}front(){if(this.i!==0)return this.A[this.j][this.D]}back(){if(this.i!==0)return this.A[this.R][this.N]}pushBack(l){return this.i&&(this.N<this.F-1?this.N+=1:this.R<this.P-1?(this.R+=1,this.N=0):(this.R=0,this.N=0),this.R===this.j&&this.N===this.D&&this.T()),this.i+=1,this.A[this.R][this.N]=l,this.i}popBack(){if(this.i===0)return;let l=this.A[this.R][this.N];return this.i!==1&&(this.N>0?this.N-=1:this.R>0?(this.R-=1,this.N=this.F-1):(this.R=this.P-1,this.N=this.F-1)),this.i-=1,l}pushFront(l){return this.i&&(this.D>0?this.D-=1:this.j>0?(this.j-=1,this.D=this.F-1):(this.j=this.P-1,this.D=this.F-1),this.j===this.R&&this.D===this.N&&this.T()),this.i+=1,this.A[this.j][this.D]=l,this.i}popFront(){if(this.i===0)return;let l=this.A[this.j][this.D];return this.i!==1&&(this.D<this.F-1?this.D+=1:this.j<this.P-1?(this.j+=1,this.D=0):(this.j=0,this.D=0)),this.i-=1,l}getElementByPos(l){if(l<0||l>this.i-1)throw new RangeError;let{curNodeBucketIndex:s,curNodePointerIndex:c}=this.O(l);return this.A[s][c]}setElementByPos(l,s){if(l<0||l>this.i-1)throw new RangeError;let{curNodeBucketIndex:c,curNodePointerIndex:d}=this.O(l);this.A[c][d]=s}insert(l,s,c=1){if(l<0||l>this.i)throw new RangeError;if(l===0)for(;c--;)this.pushFront(s);else if(l===this.i)for(;c--;)this.pushBack(s);else{let d=[];for(let h=l;h<this.i;++h)d.push(this.getElementByPos(h));this.cut(l-1);for(let h=0;h<c;++h)this.pushBack(s);for(let h=0;h<d.length;++h)this.pushBack(d[h])}return this.i}cut(l){if(l<0)return this.clear(),0;let{curNodeBucketIndex:s,curNodePointerIndex:c}=this.O(l);return this.R=s,this.N=c,this.i=l+1,this.i}eraseElementByPos(l){if(l<0||l>this.i-1)throw new RangeError;if(l===0)this.popFront();else if(l===this.i-1)this.popBack();else{let s=[];for(let d=l+1;d<this.i;++d)s.push(this.getElementByPos(d));this.cut(l),this.popBack();let c=this;s.forEach(function(d){c.pushBack(d)})}return this.i}eraseElementByValue(l){if(this.i===0)return 0;let s=[];for(let d=0;d<this.i;++d){let h=this.getElementByPos(d);h!==l&&s.push(h)}let c=s.length;for(let d=0;d<c;++d)this.setElementByPos(d,s[d]);return this.cut(c-1)}eraseElementByIterator(l){let s=l.o;return this.eraseElementByPos(s),l=l.next(),l}find(l){for(let s=0;s<this.i;++s)if(this.getElementByPos(s)===l)return new n(s,this);return this.end()}reverse(){let l=0,s=this.i-1;for(;l<s;){let c=this.getElementByPos(l);this.setElementByPos(l,this.getElementByPos(s)),this.setElementByPos(s,c),l+=1,s-=1}}unique(){if(this.i<=1)return this.i;let l=1,s=this.getElementByPos(0);for(let c=1;c<this.i;++c){let d=this.getElementByPos(c);d!==s&&(s=d,this.setElementByPos(l++,d))}for(;this.i>l;)this.popBack();return this.i}sort(l){let s=[];for(let c=0;c<this.i;++c)s.push(this.getElementByPos(c));s.sort(l);for(let c=0;c<this.i;++c)this.setElementByPos(c,s[c])}shrinkToFit(){if(this.i===0)return;let l=[];this.forEach(function(s){l.push(s)}),this.P=Math.max(Math.ceil(this.i/this.F),1),this.i=this.j=this.R=this.D=this.N=0,this.A=[];for(let s=0;s<this.P;++s)this.A.push(new Array(this.F));for(let s=0;s<l.length;++s)this.pushBack(l[s])}forEach(l){for(let s=0;s<this.i;++s)l(this.getElementByPos(s),s,this)}[Symbol.iterator](){return(function*(){for(let l=0;l<this.i;++l)yield this.getElementByPos(l)}).bind(this)()}},i=o;u.default=i}),Ay=_e(u=>{ye(),we(),be(),Object.defineProperty(u,"t",{value:!0}),u.TreeNodeEnableIndex=u.TreeNode=void 0;var t=class{constructor(a,n){this.ee=1,this.u=void 0,this.l=void 0,this.U=void 0,this.W=void 0,this.tt=void 0,this.u=a,this.l=n}L(){let a=this;if(a.ee===1&&a.tt.tt===a)a=a.W;else if(a.U)for(a=a.U;a.W;)a=a.W;else{let n=a.tt;for(;n.U===a;)a=n,n=a.tt;a=n}return a}B(){let a=this;if(a.W){for(a=a.W;a.U;)a=a.U;return a}else{let n=a.tt;for(;n.W===a;)a=n,n=a.tt;return a.W!==n?n:a}}te(){let a=this.tt,n=this.W,o=n.U;return a.tt===this?a.tt=n:a.U===this?a.U=n:a.W=n,n.tt=a,n.U=this,this.tt=n,this.W=o,o&&(o.tt=this),n}se(){let a=this.tt,n=this.U,o=n.W;return a.tt===this?a.tt=n:a.U===this?a.U=n:a.W=n,n.tt=a,n.W=this,this.tt=n,this.U=o,o&&(o.tt=this),n}};u.TreeNode=t;var r=class extends t{constructor(){super(...arguments),this.rt=1}te(){let a=super.te();return this.ie(),a.ie(),a}se(){let a=super.se();return this.ie(),a.ie(),a}ie(){this.rt=1,this.U&&(this.rt+=this.U.rt),this.W&&(this.rt+=this.W.rt)}};u.TreeNodeEnableIndex=r}),Za=_e(u=>{ye(),we(),be(),Object.defineProperty(u,"t",{value:!0}),u.default=void 0;var t=Ay(),r=Vt(),a=Ct(),n=class extends r.Container{constructor(i=function(s,c){return s<c?-1:s>c?1:0},l=!1){super(),this.Y=void 0,this.v=i,l?(this.re=t.TreeNodeEnableIndex,this.M=function(s,c,d){let h=this.ne(s,c,d);if(h){let m=h.tt;for(;m!==this.h;)m.rt+=1,m=m.tt;let p=this.he(h);if(p){let{parentNode:f,grandParent:w,curNode:N}=p;f.ie(),w.ie(),N.ie()}}return this.i},this.V=function(s){let c=this.fe(s);for(;c!==this.h;)c.rt-=1,c=c.tt}):(this.re=t.TreeNode,this.M=function(s,c,d){let h=this.ne(s,c,d);return h&&this.he(h),this.i},this.V=this.fe),this.h=new this.re}X(i,l){let s=this.h;for(;i;){let c=this.v(i.u,l);if(c<0)i=i.W;else if(c>0)s=i,i=i.U;else return i}return s}Z(i,l){let s=this.h;for(;i;)this.v(i.u,l)<=0?i=i.W:(s=i,i=i.U);return s}$(i,l){let s=this.h;for(;i;){let c=this.v(i.u,l);if(c<0)s=i,i=i.W;else if(c>0)i=i.U;else return i}return s}rr(i,l){let s=this.h;for(;i;)this.v(i.u,l)<0?(s=i,i=i.W):i=i.U;return s}ue(i){for(;;){let l=i.tt;if(l===this.h)return;if(i.ee===1){i.ee=0;return}if(i===l.U){let s=l.W;if(s.ee===1)s.ee=0,l.ee=1,l===this.Y?this.Y=l.te():l.te();else if(s.W&&s.W.ee===1){s.ee=l.ee,l.ee=0,s.W.ee=0,l===this.Y?this.Y=l.te():l.te();return}else s.U&&s.U.ee===1?(s.ee=1,s.U.ee=0,s.se()):(s.ee=1,i=l)}else{let s=l.U;if(s.ee===1)s.ee=0,l.ee=1,l===this.Y?this.Y=l.se():l.se();else if(s.U&&s.U.ee===1){s.ee=l.ee,l.ee=0,s.U.ee=0,l===this.Y?this.Y=l.se():l.se();return}else s.W&&s.W.ee===1?(s.ee=1,s.W.ee=0,s.te()):(s.ee=1,i=l)}}}fe(i){if(this.i===1)return this.clear(),this.h;let l=i;for(;l.U||l.W;){if(l.W)for(l=l.W;l.U;)l=l.U;else l=l.U;[i.u,l.u]=[l.u,i.u],[i.l,l.l]=[l.l,i.l],i=l}this.h.U===l?this.h.U=l.tt:this.h.W===l&&(this.h.W=l.tt),this.ue(l);let s=l.tt;return l===s.U?s.U=void 0:s.W=void 0,this.i-=1,this.Y.ee=0,s}oe(i,l){return i===void 0?!1:this.oe(i.U,l)||l(i)?!0:this.oe(i.W,l)}he(i){for(;;){let l=i.tt;if(l.ee===0)return;let s=l.tt;if(l===s.U){let c=s.W;if(c&&c.ee===1){if(c.ee=l.ee=0,s===this.Y)return;s.ee=1,i=s;continue}else if(i===l.W){if(i.ee=0,i.U&&(i.U.tt=l),i.W&&(i.W.tt=s),l.W=i.U,s.U=i.W,i.U=l,i.W=s,s===this.Y)this.Y=i,this.h.tt=i;else{let d=s.tt;d.U===s?d.U=i:d.W=i}return i.tt=s.tt,l.tt=i,s.tt=i,s.ee=1,{parentNode:l,grandParent:s,curNode:i}}else l.ee=0,s===this.Y?this.Y=s.se():s.se(),s.ee=1}else{let c=s.U;if(c&&c.ee===1){if(c.ee=l.ee=0,s===this.Y)return;s.ee=1,i=s;continue}else if(i===l.U){if(i.ee=0,i.U&&(i.U.tt=s),i.W&&(i.W.tt=l),s.W=i.U,l.U=i.W,i.U=s,i.W=l,s===this.Y)this.Y=i,this.h.tt=i;else{let d=s.tt;d.U===s?d.U=i:d.W=i}return i.tt=s.tt,l.tt=i,s.tt=i,s.ee=1,{parentNode:l,grandParent:s,curNode:i}}else l.ee=0,s===this.Y?this.Y=s.te():s.te(),s.ee=1}return}}ne(i,l,s){if(this.Y===void 0){this.i+=1,this.Y=new this.re(i,l),this.Y.ee=0,this.Y.tt=this.h,this.h.tt=this.Y,this.h.U=this.Y,this.h.W=this.Y;return}let c,d=this.h.U,h=this.v(d.u,i);if(h===0){d.l=l;return}else if(h>0)d.U=new this.re(i,l),d.U.tt=d,c=d.U,this.h.U=c;else{let m=this.h.W,p=this.v(m.u,i);if(p===0){m.l=l;return}else if(p<0)m.W=new this.re(i,l),m.W.tt=m,c=m.W,this.h.W=c;else{if(s!==void 0){let f=s.o;if(f!==this.h){let w=this.v(f.u,i);if(w===0){f.l=l;return}else if(w>0){let N=f.L(),S=this.v(N.u,i);if(S===0){N.l=l;return}else S<0&&(c=new this.re(i,l),N.W===void 0?(N.W=c,c.tt=N):(f.U=c,c.tt=f))}}}if(c===void 0)for(c=this.Y;;){let f=this.v(c.u,i);if(f>0){if(c.U===void 0){c.U=new this.re(i,l),c.U.tt=c,c=c.U;break}c=c.U}else if(f<0){if(c.W===void 0){c.W=new this.re(i,l),c.W.tt=c,c=c.W;break}c=c.W}else{c.l=l;return}}}}return this.i+=1,c}I(i,l){for(;i;){let s=this.v(i.u,l);if(s<0)i=i.W;else if(s>0)i=i.U;else return i}return i||this.h}clear(){this.i=0,this.Y=void 0,this.h.tt=void 0,this.h.U=this.h.W=void 0}updateKeyByIterator(i,l){let s=i.o;if(s===this.h&&(0,a.throwIteratorAccessError)(),this.i===1)return s.u=l,!0;if(s===this.h.U)return this.v(s.B().u,l)>0?(s.u=l,!0):!1;if(s===this.h.W)return this.v(s.L().u,l)<0?(s.u=l,!0):!1;let c=s.L().u;if(this.v(c,l)>=0)return!1;let d=s.B().u;return this.v(d,l)<=0?!1:(s.u=l,!0)}eraseElementByPos(i){if(i<0||i>this.i-1)throw new RangeError;let l=0,s=this;return this.oe(this.Y,function(c){return i===l?(s.V(c),!0):(l+=1,!1)}),this.i}eraseElementByKey(i){if(this.i===0)return!1;let l=this.I(this.Y,i);return l===this.h?!1:(this.V(l),!0)}eraseElementByIterator(i){let l=i.o;l===this.h&&(0,a.throwIteratorAccessError)();let s=l.W===void 0;return i.iteratorType===0?s&&i.next():(!s||l.U===void 0)&&i.next(),this.V(l),i}forEach(i){let l=0;for(let s of this)i(s,l++,this)}getElementByPos(i){if(i<0||i>this.i-1)throw new RangeError;let l,s=0;for(let c of this){if(s===i){l=c;break}s+=1}return l}getHeight(){if(this.i===0)return 0;let i=function(l){return l?Math.max(i(l.U),i(l.W))+1:0};return i(this.Y)}},o=n;u.default=o}),es=_e(u=>{ye(),we(),be(),Object.defineProperty(u,"t",{value:!0}),u.default=void 0;var t=Vt(),r=Ct(),a=class extends t.ContainerIterator{constructor(o,i,l){super(l),this.o=o,this.h=i,this.iteratorType===0?(this.pre=function(){return this.o===this.h.U&&(0,r.throwIteratorAccessError)(),this.o=this.o.L(),this},this.next=function(){return this.o===this.h&&(0,r.throwIteratorAccessError)(),this.o=this.o.B(),this}):(this.pre=function(){return this.o===this.h.W&&(0,r.throwIteratorAccessError)(),this.o=this.o.B(),this},this.next=function(){return this.o===this.h&&(0,r.throwIteratorAccessError)(),this.o=this.o.L(),this})}get index(){let o=this.o,i=this.h.tt;if(o===this.h)return i?i.rt-1:0;let l=0;for(o.U&&(l+=o.U.rt);o!==i;){let s=o.tt;o===s.W&&(l+=1,s.U&&(l+=s.U.rt)),o=s}return l}},n=a;u.default=n}),Ty=_e(u=>{ye(),we(),be(),Object.defineProperty(u,"t",{value:!0}),u.default=void 0;var t=n(Za()),r=n(es()),a=Ct();function n(s){return s&&s.t?s:{default:s}}var o=class bc extends r.default{constructor(c,d,h,m){super(c,d,m),this.container=h}get pointer(){return this.o===this.h&&(0,a.throwIteratorAccessError)(),this.o.u}copy(){return new bc(this.o,this.h,this.container,this.iteratorType)}},i=class extends t.default{constructor(s=[],c,d){super(c,d);let h=this;s.forEach(function(m){h.insert(m)})}*K(s){s!==void 0&&(yield*this.K(s.U),yield s.u,yield*this.K(s.W))}begin(){return new o(this.h.U||this.h,this.h,this)}end(){return new o(this.h,this.h,this)}rBegin(){return new o(this.h.W||this.h,this.h,this,1)}rEnd(){return new o(this.h,this.h,this,1)}front(){return this.h.U?this.h.U.u:void 0}back(){return this.h.W?this.h.W.u:void 0}insert(s,c){return this.M(s,void 0,c)}find(s){let c=this.I(this.Y,s);return new o(c,this.h,this)}lowerBound(s){let c=this.X(this.Y,s);return new o(c,this.h,this)}upperBound(s){let c=this.Z(this.Y,s);return new o(c,this.h,this)}reverseLowerBound(s){let c=this.$(this.Y,s);return new o(c,this.h,this)}reverseUpperBound(s){let c=this.rr(this.Y,s);return new o(c,this.h,this)}union(s){let c=this;return s.forEach(function(d){c.insert(d)}),this.i}[Symbol.iterator](){return this.K(this.Y)}},l=i;u.default=l}),$y=_e(u=>{ye(),we(),be(),Object.defineProperty(u,"t",{value:!0}),u.default=void 0;var t=n(Za()),r=n(es()),a=Ct();function n(s){return s&&s.t?s:{default:s}}var o=class wc extends r.default{constructor(c,d,h,m){super(c,d,m),this.container=h}get pointer(){this.o===this.h&&(0,a.throwIteratorAccessError)();let c=this;return new Proxy([],{get(d,h){if(h==="0")return c.o.u;if(h==="1")return c.o.l},set(d,h,m){if(h!=="1")throw new TypeError("props must be 1");return c.o.l=m,!0}})}copy(){return new wc(this.o,this.h,this.container,this.iteratorType)}},i=class extends t.default{constructor(s=[],c,d){super(c,d);let h=this;s.forEach(function(m){h.setElement(m[0],m[1])})}*K(s){s!==void 0&&(yield*this.K(s.U),yield[s.u,s.l],yield*this.K(s.W))}begin(){return new o(this.h.U||this.h,this.h,this)}end(){return new o(this.h,this.h,this)}rBegin(){return new o(this.h.W||this.h,this.h,this,1)}rEnd(){return new o(this.h,this.h,this,1)}front(){if(this.i===0)return;let s=this.h.U;return[s.u,s.l]}back(){if(this.i===0)return;let s=this.h.W;return[s.u,s.l]}lowerBound(s){let c=this.X(this.Y,s);return new o(c,this.h,this)}upperBound(s){let c=this.Z(this.Y,s);return new o(c,this.h,this)}reverseLowerBound(s){let c=this.$(this.Y,s);return new o(c,this.h,this)}reverseUpperBound(s){let c=this.rr(this.Y,s);return new o(c,this.h,this)}setElement(s,c,d){return this.M(s,c,d)}find(s){let c=this.I(this.Y,s);return new o(c,this.h,this)}getElementByKey(s){return this.I(this.Y,s).l}union(s){let c=this;return s.forEach(function(d){c.setElement(d[0],d[1])}),this.i}[Symbol.iterator](){return this.K(this.Y)}},l=i;u.default=l}),ts=_e(u=>{ye(),we(),be(),Object.defineProperty(u,"t",{value:!0}),u.default=t;function t(r){let a=typeof r;return a==="object"&&r!==null||a==="function"}}),rs=_e(u=>{ye(),we(),be(),Object.defineProperty(u,"t",{value:!0}),u.HashContainerIterator=u.HashContainer=void 0;var t=Vt(),r=n(ts()),a=Ct();function n(l){return l&&l.t?l:{default:l}}var o=class extends t.ContainerIterator{constructor(l,s,c){super(c),this.o=l,this.h=s,this.iteratorType===0?(this.pre=function(){return this.o.L===this.h&&(0,a.throwIteratorAccessError)(),this.o=this.o.L,this},this.next=function(){return this.o===this.h&&(0,a.throwIteratorAccessError)(),this.o=this.o.B,this}):(this.pre=function(){return this.o.B===this.h&&(0,a.throwIteratorAccessError)(),this.o=this.o.B,this},this.next=function(){return this.o===this.h&&(0,a.throwIteratorAccessError)(),this.o=this.o.L,this})}};u.HashContainerIterator=o;var i=class extends t.Container{constructor(){super(),this.H=[],this.g={},this.HASH_TAG=Symbol("@@HASH_TAG"),Object.setPrototypeOf(this.g,null),this.h={},this.h.L=this.h.B=this.p=this._=this.h}V(l){let{L:s,B:c}=l;s.B=c,c.L=s,l===this.p&&(this.p=c),l===this._&&(this._=s),this.i-=1}M(l,s,c){c===void 0&&(c=(0,r.default)(l));let d;if(c){let h=l[this.HASH_TAG];if(h!==void 0)return this.H[h].l=s,this.i;Object.defineProperty(l,this.HASH_TAG,{value:this.H.length,configurable:!0}),d={u:l,l:s,L:this._,B:this.h},this.H.push(d)}else{let h=this.g[l];if(h)return h.l=s,this.i;d={u:l,l:s,L:this._,B:this.h},this.g[l]=d}return this.i===0?(this.p=d,this.h.B=d):this._.B=d,this._=d,this.h.L=d,++this.i}I(l,s){if(s===void 0&&(s=(0,r.default)(l)),s){let c=l[this.HASH_TAG];return c===void 0?this.h:this.H[c]}else return this.g[l]||this.h}clear(){let l=this.HASH_TAG;this.H.forEach(function(s){delete s.u[l]}),this.H=[],this.g={},Object.setPrototypeOf(this.g,null),this.i=0,this.p=this._=this.h.L=this.h.B=this.h}eraseElementByKey(l,s){let c;if(s===void 0&&(s=(0,r.default)(l)),s){let d=l[this.HASH_TAG];if(d===void 0)return!1;delete l[this.HASH_TAG],c=this.H[d],delete this.H[d]}else{if(c=this.g[l],c===void 0)return!1;delete this.g[l]}return this.V(c),!0}eraseElementByIterator(l){let s=l.o;return s===this.h&&(0,a.throwIteratorAccessError)(),this.V(s),l.next()}eraseElementByPos(l){if(l<0||l>this.i-1)throw new RangeError;let s=this.p;for(;l--;)s=s.B;return this.V(s),this.i}};u.HashContainer=i}),By=_e(u=>{ye(),we(),be(),Object.defineProperty(u,"t",{value:!0}),u.default=void 0;var t=rs(),r=Ct(),a=class Ec extends t.HashContainerIterator{constructor(l,s,c,d){super(l,s,d),this.container=c}get pointer(){return this.o===this.h&&(0,r.throwIteratorAccessError)(),this.o.u}copy(){return new Ec(this.o,this.h,this.container,this.iteratorType)}},n=class extends t.HashContainer{constructor(i=[]){super();let l=this;i.forEach(function(s){l.insert(s)})}begin(){return new a(this.p,this.h,this)}end(){return new a(this.h,this.h,this)}rBegin(){return new a(this._,this.h,this,1)}rEnd(){return new a(this.h,this.h,this,1)}front(){return this.p.u}back(){return this._.u}insert(i,l){return this.M(i,void 0,l)}getElementByPos(i){if(i<0||i>this.i-1)throw new RangeError;let l=this.p;for(;i--;)l=l.B;return l.u}find(i,l){let s=this.I(i,l);return new a(s,this.h,this)}forEach(i){let l=0,s=this.p;for(;s!==this.h;)i(s.u,l++,this),s=s.B}[Symbol.iterator](){return(function*(){let i=this.p;for(;i!==this.h;)yield i.u,i=i.B}).bind(this)()}},o=n;u.default=o}),Dy=_e(u=>{ye(),we(),be(),Object.defineProperty(u,"t",{value:!0}),u.default=void 0;var t=rs(),r=n(ts()),a=Ct();function n(s){return s&&s.t?s:{default:s}}var o=class vc extends t.HashContainerIterator{constructor(c,d,h,m){super(c,d,m),this.container=h}get pointer(){this.o===this.h&&(0,a.throwIteratorAccessError)();let c=this;return new Proxy([],{get(d,h){if(h==="0")return c.o.u;if(h==="1")return c.o.l},set(d,h,m){if(h!=="1")throw new TypeError("props must be 1");return c.o.l=m,!0}})}copy(){return new vc(this.o,this.h,this.container,this.iteratorType)}},i=class extends t.HashContainer{constructor(s=[]){super();let c=this;s.forEach(function(d){c.setElement(d[0],d[1])})}begin(){return new o(this.p,this.h,this)}end(){return new o(this.h,this.h,this)}rBegin(){return new o(this._,this.h,this,1)}rEnd(){return new o(this.h,this.h,this,1)}front(){if(this.i!==0)return[this.p.u,this.p.l]}back(){if(this.i!==0)return[this._.u,this._.l]}setElement(s,c,d){return this.M(s,c,d)}getElementByKey(s,c){if(c===void 0&&(c=(0,r.default)(s)),c){let h=s[this.HASH_TAG];return h!==void 0?this.H[h].l:void 0}let d=this.g[s];return d?d.l:void 0}getElementByPos(s){if(s<0||s>this.i-1)throw new RangeError;let c=this.p;for(;s--;)c=c.B;return[c.u,c.l]}find(s,c){let d=this.I(s,c);return new o(d,this.h,this)}forEach(s){let c=0,d=this.p;for(;d!==this.h;)s([d.u,d.l],c++,this),d=d.B}[Symbol.iterator](){return(function*(){let s=this.p;for(;s!==this.h;)yield[s.u,s.l],s=s.B}).bind(this)()}},l=i;u.default=l}),Py=_e(u=>{ye(),we(),be(),Object.defineProperty(u,"t",{value:!0}),Object.defineProperty(u,"Deque",{enumerable:!0,get:function(){return i.default}}),Object.defineProperty(u,"HashMap",{enumerable:!0,get:function(){return d.default}}),Object.defineProperty(u,"HashSet",{enumerable:!0,get:function(){return c.default}}),Object.defineProperty(u,"LinkList",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(u,"OrderedMap",{enumerable:!0,get:function(){return s.default}}),Object.defineProperty(u,"OrderedSet",{enumerable:!0,get:function(){return l.default}}),Object.defineProperty(u,"PriorityQueue",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(u,"Queue",{enumerable:!0,get:function(){return r.default}}),Object.defineProperty(u,"Stack",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(u,"Vector",{enumerable:!0,get:function(){return n.default}});var t=h(Ny()),r=h(Sy()),a=h(xy()),n=h(Vy()),o=h(Cy()),i=h(Iy()),l=h(Ty()),s=h($y()),c=h(By()),d=h(Dy());function h(m){return m&&m.t?m:{default:m}}}),Oy=_e((u,t)=>{ye(),we(),be();var r=Py().OrderedSet,a=xt()("number-allocator:trace"),n=xt()("number-allocator:error");function o(l,s){this.low=l,this.high=s}o.prototype.equals=function(l){return this.low===l.low&&this.high===l.high},o.prototype.compare=function(l){return this.low<l.low&&this.high<l.low?-1:l.low<this.low&&l.high<this.low?1:0};function i(l,s){if(!(this instanceof i))return new i(l,s);this.min=l,this.max=s,this.ss=new r([],(c,d)=>c.compare(d)),a("Create"),this.clear()}i.prototype.firstVacant=function(){return this.ss.size()===0?null:this.ss.front().low},i.prototype.alloc=function(){if(this.ss.size()===0)return a("alloc():empty"),null;let l=this.ss.begin(),s=l.pointer.low,c=l.pointer.high,d=s;return d+1<=c?this.ss.updateKeyByIterator(l,new o(s+1,c)):this.ss.eraseElementByPos(0),a("alloc():"+d),d},i.prototype.use=function(l){let s=new o(l,l),c=this.ss.lowerBound(s);if(!c.equals(this.ss.end())){let d=c.pointer.low,h=c.pointer.high;return c.pointer.equals(s)?(this.ss.eraseElementByIterator(c),a("use():"+l),!0):d>l?!1:d===l?(this.ss.updateKeyByIterator(c,new o(d+1,h)),a("use():"+l),!0):h===l?(this.ss.updateKeyByIterator(c,new o(d,h-1)),a("use():"+l),!0):(this.ss.updateKeyByIterator(c,new o(l+1,h)),this.ss.insert(new o(d,l-1)),a("use():"+l),!0)}return a("use():failed"),!1},i.prototype.free=function(l){if(l<this.min||l>this.max){n("free():"+l+" is out of range");return}let s=new o(l,l),c=this.ss.upperBound(s);if(c.equals(this.ss.end())){if(c.equals(this.ss.begin())){this.ss.insert(s);return}c.pre();let d=c.pointer.high;c.pointer.high+1===l?this.ss.updateKeyByIterator(c,new o(d,l)):this.ss.insert(s)}else if(c.equals(this.ss.begin()))if(l+1===c.pointer.low){let d=c.pointer.high;this.ss.updateKeyByIterator(c,new o(l,d))}else this.ss.insert(s);else{let d=c.pointer.low,h=c.pointer.high;c.pre();let m=c.pointer.low;c.pointer.high+1===l?l+1===d?(this.ss.eraseElementByIterator(c),this.ss.updateKeyByIterator(c,new o(m,h))):this.ss.updateKeyByIterator(c,new o(m,l)):l+1===d?(this.ss.eraseElementByIterator(c.next()),this.ss.insert(new o(l,h))):this.ss.insert(s)}a("free():"+l)},i.prototype.clear=function(){a("clear()"),this.ss.clear(),this.ss.insert(new o(this.min,this.max))},i.prototype.intervalCount=function(){return this.ss.size()},i.prototype.dump=function(){console.log("length:"+this.ss.size());for(let l of this.ss)console.log(l)},t.exports=i}),os=_e((u,t)=>{ye(),we(),be();var r=Oy();t.exports.NumberAllocator=r}),My=_e(u=>{ye(),we(),be(),Object.defineProperty(u,"__esModule",{value:!0});var t=_y(),r=os(),a=class{constructor(n){ve(this,"aliasToTopic");ve(this,"topicToAlias");ve(this,"max");ve(this,"numberAllocator");ve(this,"length");n>0&&(this.aliasToTopic=new t.LRUCache({max:n}),this.topicToAlias={},this.numberAllocator=new r.NumberAllocator(1,n),this.max=n,this.length=0)}put(n,o){if(o===0||o>this.max)return!1;let i=this.aliasToTopic.get(o);return i&&delete this.topicToAlias[i],this.aliasToTopic.set(o,n),this.topicToAlias[n]=o,this.numberAllocator.use(o),this.length=this.aliasToTopic.size,!0}getTopicByAlias(n){return this.aliasToTopic.get(n)}getAliasByTopic(n){let o=this.topicToAlias[n];return typeof o<"u"&&this.aliasToTopic.get(o),o}clear(){this.aliasToTopic.clear(),this.topicToAlias={},this.numberAllocator.clear(),this.length=0}getLruAlias(){return this.numberAllocator.firstVacant()||[...this.aliasToTopic.keys()][this.aliasToTopic.size-1]}};u.default=a}),Ry=_e(u=>{ye(),we(),be();var t=u&&u.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(u,"__esModule",{value:!0});var r=Br(),a=t(My()),n=ar(),o=(i,l)=>{i.log("_handleConnack");let{options:s}=i,c=s.protocolVersion===5?l.reasonCode:l.returnCode;if(clearTimeout(i.connackTimer),delete i.topicAliasSend,l.properties){if(l.properties.topicAliasMaximum){if(l.properties.topicAliasMaximum>65535){i.emit("error",new Error("topicAliasMaximum from broker is out of range"));return}l.properties.topicAliasMaximum>0&&(i.topicAliasSend=new a.default(l.properties.topicAliasMaximum))}l.properties.serverKeepAlive&&s.keepalive&&(s.keepalive=l.properties.serverKeepAlive),l.properties.maximumPacketSize&&(s.properties||(s.properties={}),s.properties.maximumPacketSize=l.properties.maximumPacketSize)}if(c===0)i.reconnecting=!1,i._onConnect(l);else if(c>0){let d=new n.ErrorWithReasonCode(`Connection refused: ${r.ReasonCodes[c]}`,c);i.emit("error",d),i.options.reconnectOnConnackError&&i._cleanUp(!0)}};u.default=o}),jy=_e(u=>{ye(),we(),be(),Object.defineProperty(u,"__esModule",{value:!0});var t=(r,a,n)=>{r.log("handling pubrel packet");let o=typeof n<"u"?n:r.noop,{messageId:i}=a,l={cmd:"pubcomp",messageId:i};r.incomingStore.get(a,(s,c)=>{s?r._sendPacket(l,o):(r.emit("message",c.topic,c.payload,c),r.handleMessage(c,d=>{if(d)return o(d);r.incomingStore.del(c,r.noop),r._sendPacket(l,o)}))})};u.default=t}),Ly=_e(u=>{ye(),we(),be();var t=u&&u.__importDefault||function(s){return s&&s.__esModule?s:{default:s}};Object.defineProperty(u,"__esModule",{value:!0});var r=t(Ey()),a=t(ky()),n=t(Ry()),o=t(Br()),i=t(jy()),l=(s,c,d)=>{let{options:h}=s;if(h.protocolVersion===5&&h.properties&&h.properties.maximumPacketSize&&h.properties.maximumPacketSize<c.length)return s.emit("error",new Error(`exceeding packets size ${c.cmd}`)),s.end({reasonCode:149,properties:{reasonString:"Maximum packet size was exceeded"}}),s;switch(s.log("_handlePacket :: emitting packetreceive"),s.emit("packetreceive",c),c.cmd){case"publish":(0,r.default)(s,c,d);break;case"puback":case"pubrec":case"pubcomp":case"suback":case"unsuback":s.reschedulePing(),(0,o.default)(s,c),d();break;case"pubrel":s.reschedulePing(),(0,i.default)(s,c,d);break;case"connack":(0,n.default)(s,c),d();break;case"auth":s.reschedulePing(),(0,a.default)(s,c),d();break;case"pingresp":s.log("_handlePacket :: received pingresp"),s.reschedulePing(!0),d();break;case"disconnect":s.emit("disconnect",c),d();break;default:s.log("_handlePacket :: unknown command"),d();break}};u.default=l}),ns=_e(u=>{ye(),we(),be(),Object.defineProperty(u,"__esModule",{value:!0});var t=class{constructor(){ve(this,"nextId");this.nextId=Math.max(1,Math.floor(Math.random()*65535))}allocate(){let r=this.nextId++;return this.nextId===65536&&(this.nextId=1),r}getLastAllocated(){return this.nextId===1?65535:this.nextId-1}register(r){return!0}deallocate(r){}clear(){}};u.default=t}),Uy=_e(u=>{ye(),we(),be(),Object.defineProperty(u,"__esModule",{value:!0});var t=class{constructor(r){ve(this,"aliasToTopic");ve(this,"max");ve(this,"length");this.aliasToTopic={},this.max=r}put(r,a){return a===0||a>this.max?!1:(this.aliasToTopic[a]=r,this.length=Object.keys(this.aliasToTopic).length,!0)}getTopicByAlias(r){return this.aliasToTopic[r]}clear(){this.aliasToTopic={}}};u.default=t}),Fy=_e(u=>{ye(),we(),be();var t=u&&u.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(u,"__esModule",{value:!0}),u.TypedEventEmitter=void 0;var r=t((Yt(),We(Dt))),a=ar(),n=class{};u.TypedEventEmitter=n,(0,a.applyMixin)(n,r.default)}),Dr=_e((u,t)=>{ye(),we(),be();function r(a){"@babel/helpers - typeof";return t.exports=r=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},t.exports.__esModule=!0,t.exports.default=t.exports,r(a)}t.exports=r,t.exports.__esModule=!0,t.exports.default=t.exports}),zy=_e((u,t)=>{ye(),we(),be();var r=Dr().default;function a(n,o){if(r(n)!="object"||!n)return n;var i=n[Symbol.toPrimitive];if(i!==void 0){var l=i.call(n,o||"default");if(r(l)!="object")return l;throw new TypeError("@@toPrimitive must return a primitive value.")}return(o==="string"?String:Number)(n)}t.exports=a,t.exports.__esModule=!0,t.exports.default=t.exports}),Wy=_e((u,t)=>{ye(),we(),be();var r=Dr().default,a=zy();function n(o){var i=a(o,"string");return r(i)=="symbol"?i:i+""}t.exports=n,t.exports.__esModule=!0,t.exports.default=t.exports}),qy=_e((u,t)=>{ye(),we(),be();var r=Wy();function a(n,o,i){return(o=r(o))in n?Object.defineProperty(n,o,{value:i,enumerable:!0,configurable:!0,writable:!0}):n[o]=i,n}t.exports=a,t.exports.__esModule=!0,t.exports.default=t.exports}),Gy=_e((u,t)=>{ye(),we(),be();function r(a){if(Array.isArray(a))return a}t.exports=r,t.exports.__esModule=!0,t.exports.default=t.exports}),Hy=_e((u,t)=>{ye(),we(),be();function r(a,n){var o=a==null?null:typeof Symbol<"u"&&a[Symbol.iterator]||a["@@iterator"];if(o!=null){var i,l,s,c,d=[],h=!0,m=!1;try{if(s=(o=o.call(a)).next,n===0){if(Object(o)!==o)return;h=!1}else for(;!(h=(i=s.call(o)).done)&&(d.push(i.value),d.length!==n);h=!0);}catch(p){m=!0,l=p}finally{try{if(!h&&o.return!=null&&(c=o.return(),Object(c)!==c))return}finally{if(m)throw l}}return d}}t.exports=r,t.exports.__esModule=!0,t.exports.default=t.exports}),Ky=_e((u,t)=>{ye(),we(),be();function r(a,n){(n==null||n>a.length)&&(n=a.length);for(var o=0,i=Array(n);o<n;o++)i[o]=a[o];return i}t.exports=r,t.exports.__esModule=!0,t.exports.default=t.exports}),Yy=_e((u,t)=>{ye(),we(),be();var r=Ky();function a(n,o){if(n){if(typeof n=="string")return r(n,o);var i={}.toString.call(n).slice(8,-1);return i==="Object"&&n.constructor&&(i=n.constructor.name),i==="Map"||i==="Set"?Array.from(n):i==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?r(n,o):void 0}}t.exports=a,t.exports.__esModule=!0,t.exports.default=t.exports}),Qy=_e((u,t)=>{ye(),we(),be();function r(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
8
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}t.exports=r,t.exports.__esModule=!0,t.exports.default=t.exports}),Jy=_e((u,t)=>{ye(),we(),be();var r=Gy(),a=Hy(),n=Yy(),o=Qy();function i(l,s){return r(l)||a(l,s)||n(l,s)||o()}t.exports=i,t.exports.__esModule=!0,t.exports.default=t.exports}),is=_e((u,t)=>{ye(),we(),be(),function(r,a){typeof u=="object"&&typeof t<"u"?a(u):typeof define=="function"&&define.amd?define(["exports"],a):(r=typeof globalThis<"u"?globalThis:r||self,a(r.fastUniqueNumbers={}))}(u,function(r){var a=function(p){return function(f){var w=p(f);return f.add(w),w}},n=function(p){return function(f,w){return p.set(f,w),w}},o=Number.MAX_SAFE_INTEGER===void 0?9007199254740991:Number.MAX_SAFE_INTEGER,i=536870912,l=i*2,s=function(p,f){return function(w){var N=f.get(w),S=N===void 0?w.size:N<l?N+1:0;if(!w.has(S))return p(w,S);if(w.size<i){for(;w.has(S);)S=Math.floor(Math.random()*l);return p(w,S)}if(w.size>o)throw new Error("Congratulations, you created a collection of unique numbers which uses all available integers!");for(;w.has(S);)S=Math.floor(Math.random()*o);return p(w,S)}},c=new WeakMap,d=n(c),h=s(d,c),m=a(h);r.addUniqueNumber=m,r.generateUniqueNumber=h})}),Xy=_e((u,t)=>{ye(),we(),be();function r(n,o,i,l,s,c,d){try{var h=n[c](d),m=h.value}catch(p){return void i(p)}h.done?o(m):Promise.resolve(m).then(l,s)}function a(n){return function(){var o=this,i=arguments;return new Promise(function(l,s){var c=n.apply(o,i);function d(m){r(c,l,s,d,h,"next",m)}function h(m){r(c,l,s,d,h,"throw",m)}d(void 0)})}}t.exports=a,t.exports.__esModule=!0,t.exports.default=t.exports}),as=_e((u,t)=>{ye(),we(),be();function r(a,n){this.v=a,this.k=n}t.exports=r,t.exports.__esModule=!0,t.exports.default=t.exports}),ss=_e((u,t)=>{ye(),we(),be();function r(a,n,o,i){var l=Object.defineProperty;try{l({},"",{})}catch{l=0}t.exports=r=function(s,c,d,h){function m(p,f){r(s,p,function(w){return this._invoke(p,f,w)})}c?l?l(s,c,{value:d,enumerable:!h,configurable:!h,writable:!h}):s[c]=d:(m("next",0),m("throw",1),m("return",2))},t.exports.__esModule=!0,t.exports.default=t.exports,r(a,n,o,i)}t.exports=r,t.exports.__esModule=!0,t.exports.default=t.exports}),ls=_e((u,t)=>{ye(),we(),be();var r=ss();function a(){var n,o,i=typeof Symbol=="function"?Symbol:{},l=i.iterator||"@@iterator",s=i.toStringTag||"@@toStringTag";function c(S,b,E,k){var v=b&&b.prototype instanceof h?b:h,V=Object.create(v.prototype);return r(V,"_invoke",function(T,C,A){var I,$,x,U=0,Q=A||[],W=!1,pe={p:0,n:0,v:n,a:ne,f:ne.bind(n,4),d:function(re,de){return I=re,$=0,x=n,pe.n=de,d}};function ne(re,de){for($=re,x=de,o=0;!W&&U&&!Z&&o<Q.length;o++){var Z,se=Q[o],R=pe.p,ee=se[2];re>3?(Z=ee===de)&&(x=se[($=se[4])?5:($=3,3)],se[4]=se[5]=n):se[0]<=R&&((Z=re<2&&R<se[1])?($=0,pe.v=de,pe.n=se[1]):R<ee&&(Z=re<3||se[0]>de||de>ee)&&(se[4]=re,se[5]=de,pe.n=ee,$=0))}if(Z||re>1)return d;throw W=!0,de}return function(re,de,Z){if(U>1)throw TypeError("Generator is already running");for(W&&de===1&&ne(de,Z),$=de,x=Z;(o=$<2?n:x)||!W;){I||($?$<3?($>1&&(pe.n=-1),ne($,x)):pe.n=x:pe.v=x);try{if(U=2,I){if($||(re="next"),o=I[re]){if(!(o=o.call(I,x)))throw TypeError("iterator result is not an object");if(!o.done)return o;x=o.value,$<2&&($=0)}else $===1&&(o=I.return)&&o.call(I),$<2&&(x=TypeError("The iterator does not provide a '"+re+"' method"),$=1);I=n}else if((o=(W=pe.n<0)?x:T.call(C,pe))!==d)break}catch(se){I=n,$=1,x=se}finally{U=1}}return{value:o,done:W}}}(S,E,k),!0),V}var d={};function h(){}function m(){}function p(){}o=Object.getPrototypeOf;var f=[][l]?o(o([][l]())):(r(o={},l,function(){return this}),o),w=p.prototype=h.prototype=Object.create(f);function N(S){return Object.setPrototypeOf?Object.setPrototypeOf(S,p):(S.__proto__=p,r(S,s,"GeneratorFunction")),S.prototype=Object.create(w),S}return m.prototype=p,r(w,"constructor",p),r(p,"constructor",m),m.displayName="GeneratorFunction",r(p,s,"GeneratorFunction"),r(w),r(w,s,"Generator"),r(w,l,function(){return this}),r(w,"toString",function(){return"[object Generator]"}),(t.exports=a=function(){return{w:c,m:N}},t.exports.__esModule=!0,t.exports.default=t.exports)()}t.exports=a,t.exports.__esModule=!0,t.exports.default=t.exports}),cs=_e((u,t)=>{ye(),we(),be();var r=as(),a=ss();function n(o,i){function l(c,d,h,m){try{var p=o[c](d),f=p.value;return f instanceof r?i.resolve(f.v).then(function(w){l("next",w,h,m)},function(w){l("throw",w,h,m)}):i.resolve(f).then(function(w){p.value=w,h(p)},function(w){return l("throw",w,h,m)})}catch(w){m(w)}}var s;this.next||(a(n.prototype),a(n.prototype,typeof Symbol=="function"&&Symbol.asyncIterator||"@asyncIterator",function(){return this})),a(this,"_invoke",function(c,d,h){function m(){return new i(function(p,f){l(c,h,p,f)})}return s=s?s.then(m,m):m()},!0)}t.exports=n,t.exports.__esModule=!0,t.exports.default=t.exports}),ds=_e((u,t)=>{ye(),we(),be();var r=ls(),a=cs();function n(o,i,l,s,c){return new a(r().w(o,i,l,s),c||Promise)}t.exports=n,t.exports.__esModule=!0,t.exports.default=t.exports}),Zy=_e((u,t)=>{ye(),we(),be();var r=ds();function a(n,o,i,l,s){var c=r(n,o,i,l,s);return c.next().then(function(d){return d.done?d.value:c.next()})}t.exports=a,t.exports.__esModule=!0,t.exports.default=t.exports}),e0=_e((u,t)=>{ye(),we(),be();function r(a){var n=Object(a),o=[];for(var i in n)o.unshift(i);return function l(){for(;o.length;)if((i=o.pop())in n)return l.value=i,l.done=!1,l;return l.done=!0,l}}t.exports=r,t.exports.__esModule=!0,t.exports.default=t.exports}),t0=_e((u,t)=>{ye(),we(),be();var r=Dr().default;function a(n){if(n!=null){var o=n[typeof Symbol=="function"&&Symbol.iterator||"@@iterator"],i=0;if(o)return o.call(n);if(typeof n.next=="function")return n;if(!isNaN(n.length))return{next:function(){return n&&i>=n.length&&(n=void 0),{value:n&&n[i++],done:!n}}}}throw new TypeError(r(n)+" is not iterable")}t.exports=a,t.exports.__esModule=!0,t.exports.default=t.exports}),r0=_e((u,t)=>{ye(),we(),be();var r=as(),a=ls(),n=Zy(),o=ds(),i=cs(),l=e0(),s=t0();function c(){var d=a(),h=d.m(c),m=(Object.getPrototypeOf?Object.getPrototypeOf(h):h.__proto__).constructor;function p(N){var S=typeof N=="function"&&N.constructor;return!!S&&(S===m||(S.displayName||S.name)==="GeneratorFunction")}var f={throw:1,return:2,break:3,continue:3};function w(N){var S,b;return function(E){S||(S={stop:function(){return b(E.a,2)},catch:function(){return E.v},abrupt:function(k,v){return b(E.a,f[k],v)},delegateYield:function(k,v,V){return S.resultName=v,b(E.d,s(k),V)},finish:function(k){return b(E.f,k)}},b=function(k,v,V){E.p=S.prev,E.n=S.next;try{return k(v,V)}finally{S.next=E.n}}),S.resultName&&(S[S.resultName]=E.v,S.resultName=void 0),S.sent=E.v,S.next=E.n;try{return N.call(this,S)}finally{E.p=S.prev,E.n=S.next}}}return(t.exports=c=function(){return{wrap:function(N,S,b,E){return d.w(w(N),S,b,E&&E.reverse())},isGeneratorFunction:p,mark:d.m,awrap:function(N,S){return new r(N,S)},AsyncIterator:i,async:function(N,S,b,E,k){return(p(S)?o:n)(w(N),S,b,E,k)},keys:l,values:s}},t.exports.__esModule=!0,t.exports.default=t.exports)()}t.exports=c,t.exports.__esModule=!0,t.exports.default=t.exports}),o0=_e((u,t)=>{ye(),we(),be();var r=r0()();t.exports=r;try{regeneratorRuntime=r}catch{typeof globalThis=="object"?globalThis.regeneratorRuntime=r:Function("r","regeneratorRuntime = r")(r)}}),n0=_e((u,t)=>{ye(),we(),be(),function(r,a){typeof u=="object"&&typeof t<"u"?a(u,qy(),Jy(),is(),Xy(),o0()):typeof define=="function"&&define.amd?define(["exports","@babel/runtime/helpers/defineProperty","@babel/runtime/helpers/slicedToArray","fast-unique-numbers","@babel/runtime/helpers/asyncToGenerator","@babel/runtime/regenerator"],a):(r=typeof globalThis<"u"?globalThis:r||self,a(r.brokerFactory={},r._defineProperty,r._slicedToArray,r.fastUniqueNumbers,r._asyncToGenerator,r._regeneratorRuntime))}(u,function(r,a,n,o,i,l){var s=function(b){return typeof b.start=="function"},c=new WeakMap;function d(b,E){var k=Object.keys(b);if(Object.getOwnPropertySymbols){var v=Object.getOwnPropertySymbols(b);E&&(v=v.filter(function(V){return Object.getOwnPropertyDescriptor(b,V).enumerable})),k.push.apply(k,v)}return k}function h(b){for(var E=1;E<arguments.length;E++){var k=arguments[E]!=null?arguments[E]:{};E%2?d(Object(k),!0).forEach(function(v){a(b,v,k[v])}):Object.getOwnPropertyDescriptors?Object.defineProperties(b,Object.getOwnPropertyDescriptors(k)):d(Object(k)).forEach(function(v){Object.defineProperty(b,v,Object.getOwnPropertyDescriptor(k,v))})}return b}var m=function(b){return h(h({},b),{},{connect:function(E){var k=E.call;return i(l.mark(function v(){var V,T,C,A;return l.wrap(function(I){for(;;)switch(I.prev=I.next){case 0:return V=new MessageChannel,T=V.port1,C=V.port2,I.next=1,k("connect",{port:T},[T]);case 1:return A=I.sent,c.set(C,A),I.abrupt("return",C);case 2:case"end":return I.stop()}},v)}))},disconnect:function(E){var k=E.call;return function(){var v=i(l.mark(function V(T){var C;return l.wrap(function(A){for(;;)switch(A.prev=A.next){case 0:if(C=c.get(T),C!==void 0){A.next=1;break}throw new Error("The given port is not connected.");case 1:return A.next=2,k("disconnect",{portId:C});case 2:case"end":return A.stop()}},V)}));return function(V){return v.apply(this,arguments)}}()},isSupported:function(E){var k=E.call;return function(){return k("isSupported")}}})};function p(b,E){var k=Object.keys(b);if(Object.getOwnPropertySymbols){var v=Object.getOwnPropertySymbols(b);E&&(v=v.filter(function(V){return Object.getOwnPropertyDescriptor(b,V).enumerable})),k.push.apply(k,v)}return k}function f(b){for(var E=1;E<arguments.length;E++){var k=arguments[E]!=null?arguments[E]:{};E%2?p(Object(k),!0).forEach(function(v){a(b,v,k[v])}):Object.getOwnPropertyDescriptors?Object.defineProperties(b,Object.getOwnPropertyDescriptors(k)):p(Object(k)).forEach(function(v){Object.defineProperty(b,v,Object.getOwnPropertyDescriptor(k,v))})}return b}var w=new WeakMap,N=function(b){if(w.has(b))return w.get(b);var E=new Map;return w.set(b,E),E},S=function(b){var E=m(b);return function(k){var v=N(k);k.addEventListener("message",function(Q){var W=Q.data,pe=W.id;if(pe!==null&&v.has(pe)){var ne=v.get(pe),re=ne.reject,de=ne.resolve;v.delete(pe),W.error===void 0?de(W.result):re(new Error(W.error.message))}}),s(k)&&k.start();for(var V=function(Q){var W=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null,pe=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[];return new Promise(function(ne,re){var de=o.generateUniqueNumber(v);v.set(de,{reject:re,resolve:ne}),W===null?k.postMessage({id:de,method:Q},pe):k.postMessage({id:de,method:Q,params:W},pe)})},T=function(Q,W){var pe=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[];k.postMessage({id:null,method:Q,params:W},pe)},C={},A=0,I=Object.entries(E);A<I.length;A++){var $=n(I[A],2),x=$[0],U=$[1];C=f(f({},C),{},a({},x,U({call:V,notify:T})))}return f({},C)}};r.createBroker=S})}),i0=_e((u,t)=>{ye(),we(),be(),function(r,a){typeof u=="object"&&typeof t<"u"?a(u,Dr(),n0(),is()):typeof define=="function"&&define.amd?define(["exports","@babel/runtime/helpers/typeof","broker-factory","fast-unique-numbers"],a):(r=typeof globalThis<"u"?globalThis:r||self,a(r.workerTimersBroker={},r._typeof,r.brokerFactory,r.fastUniqueNumbers))}(u,function(r,a,n,o){var i=new Map([[0,null]]),l=new Map([[0,null]]),s=n.createBroker({clearInterval:function(d){var h=d.call;return function(m){a(i.get(m))==="symbol"&&(i.set(m,null),h("clear",{timerId:m,timerType:"interval"}).then(function(){i.delete(m)}))}},clearTimeout:function(d){var h=d.call;return function(m){a(l.get(m))==="symbol"&&(l.set(m,null),h("clear",{timerId:m,timerType:"timeout"}).then(function(){l.delete(m)}))}},setInterval:function(d){var h=d.call;return function(m){for(var p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,f=arguments.length,w=new Array(f>2?f-2:0),N=2;N<f;N++)w[N-2]=arguments[N];var S=Symbol(),b=o.generateUniqueNumber(i);i.set(b,S);var E=function(){return h("set",{delay:p,now:performance.timeOrigin+performance.now(),timerId:b,timerType:"interval"}).then(function(){var k=i.get(b);if(k===void 0)throw new Error("The timer is in an undefined state.");k===S&&(m.apply(void 0,w),i.get(b)===S&&E())})};return E(),b}},setTimeout:function(d){var h=d.call;return function(m){for(var p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,f=arguments.length,w=new Array(f>2?f-2:0),N=2;N<f;N++)w[N-2]=arguments[N];var S=Symbol(),b=o.generateUniqueNumber(l);return l.set(b,S),h("set",{delay:p,now:performance.timeOrigin+performance.now(),timerId:b,timerType:"timeout"}).then(function(){var E=l.get(b);if(E===void 0)throw new Error("The timer is in an undefined state.");E===S&&(l.delete(b),m.apply(void 0,w))}),b}}}),c=function(d){var h=new Worker(d);return s(h)};r.load=c,r.wrap=s})}),a0=_e((u,t)=>{ye(),we(),be(),function(r,a){typeof u=="object"&&typeof t<"u"?a(u,i0()):typeof define=="function"&&define.amd?define(["exports","worker-timers-broker"],a):(r=typeof globalThis<"u"?globalThis:r||self,a(r.workerTimers={},r.workerTimersBroker))}(u,function(r,a){var n=function(h,m){var p=null;return function(){if(p!==null)return p;var f=new Blob([m],{type:"application/javascript; charset=utf-8"}),w=URL.createObjectURL(f);return p=h(w),setTimeout(function(){return URL.revokeObjectURL(w)}),p}},o=`(()=>{var e={45:(e,t,r)=>{var n=r(738).default;e.exports=function(e,t){if("object"!=n(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,t||"default");if("object"!=n(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)},e.exports.__esModule=!0,e.exports.default=e.exports},79:e=>{e.exports=function(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n},e.exports.__esModule=!0,e.exports.default=e.exports},122:(e,t,r)=>{var n=r(79);e.exports=function(e,t){if(e){if("string"==typeof e)return n(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?n(e,t):void 0}},e.exports.__esModule=!0,e.exports.default=e.exports},156:e=>{e.exports=function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,u,a,i=[],s=!0,c=!1;try{if(u=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=u.call(r)).done)&&(i.push(n.value),i.length!==t);s=!0);}catch(e){c=!0,o=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw o}}return i}},e.exports.__esModule=!0,e.exports.default=e.exports},172:e=>{e.exports=function(e,t){this.v=e,this.k=t},e.exports.__esModule=!0,e.exports.default=e.exports},293:e=>{function t(e,t,r,n,o,u,a){try{var i=e[u](a),s=i.value}catch(e){return void r(e)}i.done?t(s):Promise.resolve(s).then(n,o)}e.exports=function(e){return function(){var r=this,n=arguments;return new Promise((function(o,u){var a=e.apply(r,n);function i(e){t(a,o,u,i,s,"next",e)}function s(e){t(a,o,u,i,s,"throw",e)}i(void 0)}))}},e.exports.__esModule=!0,e.exports.default=e.exports},373:e=>{e.exports=function(e){var t=Object(e),r=[];for(var n in t)r.unshift(n);return function e(){for(;r.length;)if((n=r.pop())in t)return e.value=n,e.done=!1,e;return e.done=!0,e}},e.exports.__esModule=!0,e.exports.default=e.exports},389:function(e,t){!function(e){"use strict";var t=function(e){return function(t){var r=e(t);return t.add(r),r}},r=function(e){return function(t,r){return e.set(t,r),r}},n=void 0===Number.MAX_SAFE_INTEGER?9007199254740991:Number.MAX_SAFE_INTEGER,o=536870912,u=2*o,a=function(e,t){return function(r){var a=t.get(r),i=void 0===a?r.size:a<u?a+1:0;if(!r.has(i))return e(r,i);if(r.size<o){for(;r.has(i);)i=Math.floor(Math.random()*u);return e(r,i)}if(r.size>n)throw new Error("Congratulations, you created a collection of unique numbers which uses all available integers!");for(;r.has(i);)i=Math.floor(Math.random()*n);return e(r,i)}},i=new WeakMap,s=r(i),c=a(s,i),f=t(c);e.addUniqueNumber=f,e.generateUniqueNumber=c}(t)},472:function(e,t,r){!function(e,t,r,n){"use strict";var o=function(e,t){return function(r){var o=t.get(r);if(void 0===o)return Promise.resolve(!1);var u=n(o,2),a=u[0],i=u[1];return e(a),t.delete(r),i(!1),Promise.resolve(!0)}},u=function(e,t){var r=function(n,o,u,a){var i=n-e.now();i>0?o.set(a,[t(r,i,n,o,u,a),u]):(o.delete(a),u(!0))};return r},a=function(e,t,r,n){return function(o,u,a){var i=o+u-t.timeOrigin,s=i-t.now();return new Promise((function(t){e.set(a,[r(n,s,i,e,t,a),t])}))}},i=new Map,s=o(globalThis.clearTimeout,i),c=new Map,f=o(globalThis.clearTimeout,c),l=u(performance,globalThis.setTimeout),p=a(i,performance,globalThis.setTimeout,l),d=a(c,performance,globalThis.setTimeout,l);r.createWorker(self,{clear:function(){var r=e(t.mark((function e(r){var n,o,u;return t.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=r.timerId,o=r.timerType,e.next=1,"interval"===o?s(n):f(n);case 1:return u=e.sent,e.abrupt("return",{result:u});case 2:case"end":return e.stop()}}),e)})));function n(e){return r.apply(this,arguments)}return n}(),set:function(){var r=e(t.mark((function e(r){var n,o,u,a,i;return t.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=r.delay,o=r.now,u=r.timerId,a=r.timerType,e.next=1,("interval"===a?p:d)(n,o,u);case 1:return i=e.sent,e.abrupt("return",{result:i});case 2:case"end":return e.stop()}}),e)})));function n(e){return r.apply(this,arguments)}return n}()})}(r(293),r(756),r(623),r(715))},546:e=>{function t(r,n,o,u){var a=Object.defineProperty;try{a({},"",{})}catch(r){a=0}e.exports=t=function(e,r,n,o){if(r)a?a(e,r,{value:n,enumerable:!o,configurable:!o,writable:!o}):e[r]=n;else{var u=function(r,n){t(e,r,(function(e){return this._invoke(r,n,e)}))};u("next",0),u("throw",1),u("return",2)}},e.exports.__esModule=!0,e.exports.default=e.exports,t(r,n,o,u)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports},579:(e,t,r)=>{var n=r(738).default;e.exports=function(e){if(null!=e){var t=e["function"==typeof Symbol&&Symbol.iterator||"@@iterator"],r=0;if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length))return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}}}throw new TypeError(n(e)+" is not iterable")},e.exports.__esModule=!0,e.exports.default=e.exports},623:function(e,t,r){!function(e,t,r,n,o){"use strict";var u={INTERNAL_ERROR:-32603,INVALID_PARAMS:-32602,METHOD_NOT_FOUND:-32601},a=function(e,t){return Object.assign(new Error(e),{status:t})},i=function(e){return a('The requested method called "'.concat(e,'" is not supported.'),u.METHOD_NOT_FOUND)},s=function(e){return a('The handler of the method called "'.concat(e,'" returned no required result.'),u.INTERNAL_ERROR)},c=function(e){return a('The handler of the method called "'.concat(e,'" returned an unexpected result.'),u.INTERNAL_ERROR)},f=function(e){return a('The specified parameter called "portId" with the given value "'.concat(e,'" does not identify a port connected to this worker.'),u.INVALID_PARAMS)},l=function(e,n){return function(){var o=t(r.mark((function t(o){var u,a,f,l,p,d,v,x,y,b,h,m,_,g,w;return r.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(u=o.data,a=u.id,f=u.method,l=u.params,p=n[f],t.prev=1,void 0!==p){t.next=2;break}throw i(f);case 2:if(void 0!==(d=void 0===l?p():p(l))){t.next=3;break}throw s(f);case 3:if(!(d instanceof Promise)){t.next=5;break}return t.next=4,d;case 4:g=t.sent,t.next=6;break;case 5:g=d;case 6:if(v=g,null!==a){t.next=8;break}if(void 0===v.result){t.next=7;break}throw c(f);case 7:t.next=10;break;case 8:if(void 0!==v.result){t.next=9;break}throw c(f);case 9:x=v.result,y=v.transferables,b=void 0===y?[]:y,e.postMessage({id:a,result:x},b);case 10:t.next=12;break;case 11:t.prev=11,w=t.catch(1),h=w.message,m=w.status,_=void 0===m?-32603:m,e.postMessage({error:{code:_,message:h},id:a});case 12:case"end":return t.stop()}}),t,null,[[1,11]])})));return function(e){return o.apply(this,arguments)}}()},p=function(){return new Promise((function(e){var t=new ArrayBuffer(0),r=new MessageChannel,n=r.port1,o=r.port2;n.onmessage=function(t){var r=t.data;return e(null!==r)},o.postMessage(t,[t])}))};function d(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function v(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?d(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):d(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var x=new Map,y=function(e,n,u){return v(v({},n),{},{connect:function(t){var r=t.port;r.start();var u=e(r,n),a=o.generateUniqueNumber(x);return x.set(a,(function(){u(),r.close(),x.delete(a)})),{result:a}},disconnect:function(e){var t=e.portId,r=x.get(t);if(void 0===r)throw f(t);return r(),{result:null}},isSupported:function(){var e=t(r.mark((function e(){var t,n,o;return r.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=1,p();case 1:if(!e.sent){e.next=5;break}if(!((t=u())instanceof Promise)){e.next=3;break}return e.next=2,t;case 2:o=e.sent,e.next=4;break;case 3:o=t;case 4:return n=o,e.abrupt("return",{result:n});case 5:return e.abrupt("return",{result:!1});case 6:case"end":return e.stop()}}),e)})));function n(){return e.apply(this,arguments)}return n}()})},b=function(e,t){var r=y(b,t,arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){return!0}),n=l(e,r);return e.addEventListener("message",n),function(){return e.removeEventListener("message",n)}};e.createWorker=b,e.isSupported=p}(t,r(293),r(756),r(693),r(389))},633:(e,t,r)=>{var n=r(172),o=r(993),u=r(869),a=r(887),i=r(791),s=r(373),c=r(579);function f(){"use strict";var t=o(),r=t.m(f),l=(Object.getPrototypeOf?Object.getPrototypeOf(r):r.__proto__).constructor;function p(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===l||"GeneratorFunction"===(t.displayName||t.name))}var d={throw:1,return:2,break:3,continue:3};function v(e){var t,r;return function(n){t||(t={stop:function(){return r(n.a,2)},catch:function(){return n.v},abrupt:function(e,t){return r(n.a,d[e],t)},delegateYield:function(e,o,u){return t.resultName=o,r(n.d,c(e),u)},finish:function(e){return r(n.f,e)}},r=function(e,r,o){n.p=t.prev,n.n=t.next;try{return e(r,o)}finally{t.next=n.n}}),t.resultName&&(t[t.resultName]=n.v,t.resultName=void 0),t.sent=n.v,t.next=n.n;try{return e.call(this,t)}finally{n.p=t.prev,n.n=t.next}}}return(e.exports=f=function(){return{wrap:function(e,r,n,o){return t.w(v(e),r,n,o&&o.reverse())},isGeneratorFunction:p,mark:t.m,awrap:function(e,t){return new n(e,t)},AsyncIterator:i,async:function(e,t,r,n,o){return(p(t)?a:u)(v(e),t,r,n,o)},keys:s,values:c}},e.exports.__esModule=!0,e.exports.default=e.exports)()}e.exports=f,e.exports.__esModule=!0,e.exports.default=e.exports},693:(e,t,r)=>{var n=r(736);e.exports=function(e,t,r){return(t=n(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e},e.exports.__esModule=!0,e.exports.default=e.exports},715:(e,t,r)=>{var n=r(987),o=r(156),u=r(122),a=r(752);e.exports=function(e,t){return n(e)||o(e,t)||u(e,t)||a()},e.exports.__esModule=!0,e.exports.default=e.exports},736:(e,t,r)=>{var n=r(738).default,o=r(45);e.exports=function(e){var t=o(e,"string");return"symbol"==n(t)?t:t+""},e.exports.__esModule=!0,e.exports.default=e.exports},738:e=>{function t(r){return e.exports=t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.__esModule=!0,e.exports.default=e.exports,t(r)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports},752:e=>{e.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},e.exports.__esModule=!0,e.exports.default=e.exports},756:(e,t,r)=>{var n=r(633)();e.exports=n;try{regeneratorRuntime=n}catch(e){"object"==typeof globalThis?globalThis.regeneratorRuntime=n:Function("r","regeneratorRuntime = r")(n)}},791:(e,t,r)=>{var n=r(172),o=r(546);e.exports=function e(t,r){function u(e,o,a,i){try{var s=t[e](o),c=s.value;return c instanceof n?r.resolve(c.v).then((function(e){u("next",e,a,i)}),(function(e){u("throw",e,a,i)})):r.resolve(c).then((function(e){s.value=e,a(s)}),(function(e){return u("throw",e,a,i)}))}catch(e){i(e)}}var a;this.next||(o(e.prototype),o(e.prototype,"function"==typeof Symbol&&Symbol.asyncIterator||"@asyncIterator",(function(){return this}))),o(this,"_invoke",(function(e,t,n){function o(){return new r((function(t,r){u(e,n,t,r)}))}return a=a?a.then(o,o):o()}),!0)},e.exports.__esModule=!0,e.exports.default=e.exports},869:(e,t,r)=>{var n=r(887);e.exports=function(e,t,r,o,u){var a=n(e,t,r,o,u);return a.next().then((function(e){return e.done?e.value:a.next()}))},e.exports.__esModule=!0,e.exports.default=e.exports},887:(e,t,r)=>{var n=r(993),o=r(791);e.exports=function(e,t,r,u,a){return new o(n().w(e,t,r,u),a||Promise)},e.exports.__esModule=!0,e.exports.default=e.exports},987:e=>{e.exports=function(e){if(Array.isArray(e))return e},e.exports.__esModule=!0,e.exports.default=e.exports},993:(e,t,r)=>{var n=r(546);function o(){var t,r,u="function"==typeof Symbol?Symbol:{},a=u.iterator||"@@iterator",i=u.toStringTag||"@@toStringTag";function s(e,o,u,a){var i=o&&o.prototype instanceof f?o:f,s=Object.create(i.prototype);return n(s,"_invoke",function(e,n,o){var u,a,i,s=0,f=o||[],l=!1,p={p:0,n:0,v:t,a:d,f:d.bind(t,4),d:function(e,r){return u=e,a=0,i=t,p.n=r,c}};function d(e,n){for(a=e,i=n,r=0;!l&&s&&!o&&r<f.length;r++){var o,u=f[r],d=p.p,v=u[2];e>3?(o=v===n)&&(i=u[(a=u[4])?5:(a=3,3)],u[4]=u[5]=t):u[0]<=d&&((o=e<2&&d<u[1])?(a=0,p.v=n,p.n=u[1]):d<v&&(o=e<3||u[0]>n||n>v)&&(u[4]=e,u[5]=n,p.n=v,a=0))}if(o||e>1)return c;throw l=!0,n}return function(o,f,v){if(s>1)throw TypeError("Generator is already running");for(l&&1===f&&d(f,v),a=f,i=v;(r=a<2?t:i)||!l;){u||(a?a<3?(a>1&&(p.n=-1),d(a,i)):p.n=i:p.v=i);try{if(s=2,u){if(a||(o="next"),r=u[o]){if(!(r=r.call(u,i)))throw TypeError("iterator result is not an object");if(!r.done)return r;i=r.value,a<2&&(a=0)}else 1===a&&(r=u.return)&&r.call(u),a<2&&(i=TypeError("The iterator does not provide a '"+o+"' method"),a=1);u=t}else if((r=(l=p.n<0)?i:e.call(n,p))!==c)break}catch(e){u=t,a=1,i=e}finally{s=1}}return{value:r,done:l}}}(e,u,a),!0),s}var c={};function f(){}function l(){}function p(){}r=Object.getPrototypeOf;var d=[][a]?r(r([][a]())):(n(r={},a,(function(){return this})),r),v=p.prototype=f.prototype=Object.create(d);function x(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,p):(e.__proto__=p,n(e,i,"GeneratorFunction")),e.prototype=Object.create(v),e}return l.prototype=p,n(v,"constructor",p),n(p,"constructor",l),l.displayName="GeneratorFunction",n(p,i,"GeneratorFunction"),n(v),n(v,i,"Generator"),n(v,a,(function(){return this})),n(v,"toString",(function(){return"[object Generator]"})),(e.exports=o=function(){return{w:s,m:x}},e.exports.__esModule=!0,e.exports.default=e.exports)()}e.exports=o,e.exports.__esModule=!0,e.exports.default=e.exports}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var u=t[n]={exports:{}};return e[n].call(u.exports,u,u.exports,r),u.exports}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";r(472)})()})();`,i=n(a.load,o),l=function(h){return i().clearInterval(h)},s=function(h){return i().clearTimeout(h)},c=function(){var h;return(h=i()).setInterval.apply(h,arguments)},d=function(){var h;return(h=i()).setTimeout.apply(h,arguments)};r.clearInterval=l,r.clearTimeout=s,r.setInterval=c,r.setTimeout=d})}),Pr=_e(u=>{ye(),we(),be(),Object.defineProperty(u,"__esModule",{value:!0}),u.isReactNativeBrowser=u.isWebWorker=void 0;var t=()=>{var o;return typeof window<"u"?typeof navigator<"u"&&((o=navigator.userAgent)==null?void 0:o.toLowerCase().indexOf(" electron/"))>-1&&(ze!=null&&ze.versions)?!Object.prototype.hasOwnProperty.call(ze.versions,"electron"):typeof window.document<"u":!1},r=()=>{var o,i;return!!(typeof self=="object"&&((i=(o=self==null?void 0:self.constructor)==null?void 0:o.name)!=null&&i.includes("WorkerGlobalScope"))&&typeof Deno>"u")},a=()=>typeof navigator<"u"&&navigator.product==="ReactNative",n=t()||r()||a();u.isWebWorker=r(),u.isReactNativeBrowser=a(),u.default=n}),s0=_e(u=>{ye(),we(),be();var t=u&&u.__createBinding||(Object.create?function(c,d,h,m){m===void 0&&(m=h);var p=Object.getOwnPropertyDescriptor(d,h);(!p||("get"in p?!d.__esModule:p.writable||p.configurable))&&(p={enumerable:!0,get:function(){return d[h]}}),Object.defineProperty(c,m,p)}:function(c,d,h,m){m===void 0&&(m=h),c[m]=d[h]}),r=u&&u.__setModuleDefault||(Object.create?function(c,d){Object.defineProperty(c,"default",{enumerable:!0,value:d})}:function(c,d){c.default=d}),a=u&&u.__importStar||function(){var c=function(d){return c=Object.getOwnPropertyNames||function(h){var m=[];for(var p in h)Object.prototype.hasOwnProperty.call(h,p)&&(m[m.length]=p);return m},c(d)};return function(d){if(d&&d.__esModule)return d;var h={};if(d!=null)for(var m=c(d),p=0;p<m.length;p++)m[p]!=="default"&&t(h,d,m[p]);return r(h,d),h}}();Object.defineProperty(u,"__esModule",{value:!0});var n=a0(),o=a(Pr()),i={set:n.setInterval,clear:n.clearInterval},l={set:(c,d)=>setInterval(c,d),clear:c=>clearInterval(c)},s=c=>{switch(c){case"native":return l;case"worker":return i;case"auto":default:return o.default&&!o.isWebWorker&&!o.isReactNativeBrowser?i:l}};u.default=s}),us=_e(u=>{ye(),we(),be();var t=u&&u.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(u,"__esModule",{value:!0});var r=t(s0()),a=class{constructor(n,o){ve(this,"_keepalive");ve(this,"timerId");ve(this,"timer");ve(this,"destroyed",!1);ve(this,"counter");ve(this,"client");ve(this,"_keepaliveTimeoutTimestamp");ve(this,"_intervalEvery");this.client=n,this.timer=typeof o=="object"&&"set"in o&&"clear"in o?o:(0,r.default)(o),this.setKeepalive(n.options.keepalive)}get keepaliveTimeoutTimestamp(){return this._keepaliveTimeoutTimestamp}get intervalEvery(){return this._intervalEvery}get keepalive(){return this._keepalive}clear(){this.timerId&&(this.timer.clear(this.timerId),this.timerId=null)}setKeepalive(n){if(n*=1e3,isNaN(n)||n<=0||n>2147483647)throw new Error(`Keepalive value must be an integer between 0 and 2147483647. Provided value is ${n}`);this._keepalive=n,this.reschedule(),this.client.log(`KeepaliveManager: set keepalive to ${n}ms`)}destroy(){this.clear(),this.destroyed=!0}reschedule(){if(this.destroyed)return;this.clear(),this.counter=0;let n=Math.ceil(this._keepalive*1.5);this._keepaliveTimeoutTimestamp=Date.now()+n,this._intervalEvery=Math.ceil(this._keepalive/2),this.timerId=this.timer.set(()=>{this.destroyed||(this.counter+=1,this.counter===2?this.client.sendPing():this.counter>2&&this.client.onKeepaliveTimeout())},this._intervalEvery)}};u.default=a}),Ln=_e(u=>{var v;ye(),we(),be();var t=u&&u.__createBinding||(Object.create?function(V,T,C,A){A===void 0&&(A=C);var I=Object.getOwnPropertyDescriptor(T,C);(!I||("get"in I?!T.__esModule:I.writable||I.configurable))&&(I={enumerable:!0,get:function(){return T[C]}}),Object.defineProperty(V,A,I)}:function(V,T,C,A){A===void 0&&(A=C),V[A]=T[C]}),r=u&&u.__setModuleDefault||(Object.create?function(V,T){Object.defineProperty(V,"default",{enumerable:!0,value:T})}:function(V,T){V.default=T}),a=u&&u.__importStar||function(){var V=function(T){return V=Object.getOwnPropertyNames||function(C){var A=[];for(var I in C)Object.prototype.hasOwnProperty.call(C,I)&&(A[A.length]=I);return A},V(T)};return function(T){if(T&&T.__esModule)return T;var C={};if(T!=null)for(var A=V(T),I=0;I<A.length;I++)A[I]!=="default"&&t(C,T,A[I]);return r(C,T),C}}(),n=u&&u.__importDefault||function(V){return V&&V.__esModule?V:{default:V}};Object.defineProperty(u,"__esModule",{value:!0});var o=n(gy()),i=Jt(),l=n(by()),s=n(xt()),c=a(wy()),d=n(Ja()),h=n(Ly()),m=n(ns()),p=n(Uy()),f=ar(),w=Fy(),N=n(us()),S=a(Pr()),b=globalThis.setImmediate||((...V)=>{let T=V.shift();(0,f.nextTick)(()=>{T(...V)})}),E={keepalive:60,reschedulePings:!0,protocolId:"MQTT",protocolVersion:4,reconnectPeriod:1e3,connectTimeout:30*1e3,clean:!0,resubscribe:!0,subscribeBatchSize:null,writeCache:!0,timerVariant:"auto"},k=(v=class extends w.TypedEventEmitter{constructor(C,A){super();ve(this,"connected");ve(this,"disconnecting");ve(this,"disconnected");ve(this,"reconnecting");ve(this,"incomingStore");ve(this,"outgoingStore");ve(this,"options");ve(this,"queueQoSZero");ve(this,"_reconnectCount");ve(this,"log");ve(this,"messageIdProvider");ve(this,"outgoing");ve(this,"messageIdToTopic");ve(this,"noop");ve(this,"keepaliveManager");ve(this,"stream");ve(this,"queue");ve(this,"streamBuilder");ve(this,"_resubscribeTopics");ve(this,"connackTimer");ve(this,"reconnectTimer");ve(this,"_storeProcessing");ve(this,"_packetIdsDuringStoreProcessing");ve(this,"_storeProcessingQueue");ve(this,"_firstConnection");ve(this,"topicAliasRecv");ve(this,"topicAliasSend");ve(this,"_deferredReconnect");ve(this,"connackPacket");this.options=A||{};for(let I in E)typeof this.options[I]>"u"?this.options[I]=E[I]:this.options[I]=A[I];this.log=this.options.log||(0,s.default)("mqttjs:client"),this.noop=this._noop.bind(this),this.log("MqttClient :: version:",v.VERSION),S.isWebWorker?this.log("MqttClient :: environment","webworker"):this.log("MqttClient :: environment",S.default?"browser":"node"),this.log("MqttClient :: options.protocol",A.protocol),this.log("MqttClient :: options.protocolVersion",A.protocolVersion),this.log("MqttClient :: options.username",A.username),this.log("MqttClient :: options.keepalive",A.keepalive),this.log("MqttClient :: options.reconnectPeriod",A.reconnectPeriod),this.log("MqttClient :: options.rejectUnauthorized",A.rejectUnauthorized),this.log("MqttClient :: options.properties.topicAliasMaximum",A.properties?A.properties.topicAliasMaximum:void 0),this.options.clientId=typeof A.clientId=="string"?A.clientId:v.defaultId(),this.log("MqttClient :: clientId",this.options.clientId),this.options.customHandleAcks=A.protocolVersion===5&&A.customHandleAcks?A.customHandleAcks:(...I)=>{I[3](null,0)},this.options.writeCache||(o.default.writeToStream.cacheNumbers=!1),this.streamBuilder=C,this.messageIdProvider=typeof this.options.messageIdProvider>"u"?new m.default:this.options.messageIdProvider,this.outgoingStore=A.outgoingStore||new d.default,this.incomingStore=A.incomingStore||new d.default,this.queueQoSZero=A.queueQoSZero===void 0?!0:A.queueQoSZero,this._resubscribeTopics={},this.messageIdToTopic={},this.keepaliveManager=null,this.connected=!1,this.disconnecting=!1,this.reconnecting=!1,this.queue=[],this.connackTimer=null,this.reconnectTimer=null,this._storeProcessing=!1,this._packetIdsDuringStoreProcessing={},this._storeProcessingQueue=[],this.outgoing={},this._firstConnection=!0,A.properties&&A.properties.topicAliasMaximum>0&&(A.properties.topicAliasMaximum>65535?this.log("MqttClient :: options.properties.topicAliasMaximum is out of range"):this.topicAliasRecv=new p.default(A.properties.topicAliasMaximum)),this.on("connect",()=>{let{queue:I}=this,$=()=>{let x=I.shift();this.log("deliver :: entry %o",x);let U=null;if(!x){this._resubscribe();return}U=x.packet,this.log("deliver :: call _sendPacket for %o",U);let Q=!0;U.messageId&&U.messageId!==0&&(this.messageIdProvider.register(U.messageId)||(Q=!1)),Q?this._sendPacket(U,W=>{x.cb&&x.cb(W),$()}):(this.log("messageId: %d has already used. The message is skipped and removed.",U.messageId),$())};this.log("connect :: sending queued packets"),$()}),this.on("close",()=>{this.log("close :: connected set to `false`"),this.connected=!1,this.log("close :: clearing connackTimer"),clearTimeout(this.connackTimer),this._destroyKeepaliveManager(),this.topicAliasRecv&&this.topicAliasRecv.clear(),this.log("close :: calling _setupReconnect"),this._setupReconnect()}),this.options.manualConnect||(this.log("MqttClient :: setting up stream"),this.connect())}static defaultId(){return`mqttjs_${Math.random().toString(16).substr(2,8)}`}handleAuth(C,A){A()}handleMessage(C,A){A()}_nextId(){return this.messageIdProvider.allocate()}getLastMessageId(){return this.messageIdProvider.getLastAllocated()}connect(){var pe;let C=new i.Writable,A=o.default.parser(this.options),I=null,$=[];this.log("connect :: calling method to clear reconnect"),this._clearReconnect(),this.disconnected&&!this.reconnecting&&(this.incomingStore=this.options.incomingStore||new d.default,this.outgoingStore=this.options.outgoingStore||new d.default,this.disconnecting=!1,this.disconnected=!1),this.log("connect :: using streamBuilder provided to client to create stream"),this.stream=this.streamBuilder(this),A.on("packet",ne=>{this.log("parser :: on packet push to packets array."),$.push(ne)});let x=()=>{this.log("work :: getting next packet in queue");let ne=$.shift();if(ne)this.log("work :: packet pulled from queue"),(0,h.default)(this,ne,U);else{this.log("work :: no packets in queue");let re=I;I=null,this.log("work :: done flag is %s",!!re),re&&re()}},U=()=>{if($.length)(0,f.nextTick)(x);else{let ne=I;I=null,ne()}};C._write=(ne,re,de)=>{I=de,this.log("writable stream :: parsing buffer"),A.parse(ne),x()};let Q=ne=>{this.log("streamErrorHandler :: error",ne.message),ne.code?(this.log("streamErrorHandler :: emitting error"),this.emit("error",ne)):this.noop(ne)};this.log("connect :: pipe stream to writable stream"),this.stream.pipe(C),this.stream.on("error",Q),this.stream.on("close",()=>{this.log("(%s)stream :: on close",this.options.clientId),this._flushVolatile(),this.log("stream: emit close to MqttClient"),this.emit("close")}),this.log("connect: sending packet `connect`");let W={cmd:"connect",protocolId:this.options.protocolId,protocolVersion:this.options.protocolVersion,clean:this.options.clean,clientId:this.options.clientId,keepalive:this.options.keepalive,username:this.options.username,password:this.options.password,properties:this.options.properties};if(this.options.will&&(W.will={...this.options.will,payload:(pe=this.options.will)==null?void 0:pe.payload}),this.topicAliasRecv&&(W.properties||(W.properties={}),this.topicAliasRecv&&(W.properties.topicAliasMaximum=this.topicAliasRecv.max)),this._writePacket(W),A.on("error",this.emit.bind(this,"error")),this.options.properties){if(!this.options.properties.authenticationMethod&&this.options.properties.authenticationData)return this.end(()=>this.emit("error",new Error("Packet has no Authentication Method"))),this;if(this.options.properties.authenticationMethod&&this.options.authPacket&&typeof this.options.authPacket=="object"){let ne={cmd:"auth",reasonCode:0,...this.options.authPacket};this._writePacket(ne)}}return this.stream.setMaxListeners(1e3),clearTimeout(this.connackTimer),this.connackTimer=setTimeout(()=>{this.log("!!connectTimeout hit!! Calling _cleanUp with force `true`"),this.emit("error",new Error("connack timeout")),this._cleanUp(!0)},this.options.connectTimeout),this}publish(C,A,I,$){this.log("publish :: message `%s` to topic `%s`",A,C);let{options:x}=this;typeof I=="function"&&($=I,I=null),I=I||{},I={qos:0,retain:!1,dup:!1,...I};let{qos:U,retain:Q,dup:W,properties:pe,cbStorePut:ne}=I;if(this._checkDisconnecting($))return this;let re=()=>{let de=0;if((U===1||U===2)&&(de=this._nextId(),de===null))return this.log("No messageId left"),!1;let Z={cmd:"publish",topic:C,payload:A,qos:U,retain:Q,messageId:de,dup:W};switch(x.protocolVersion===5&&(Z.properties=pe),this.log("publish :: qos",U),U){case 1:case 2:this.outgoing[Z.messageId]={volatile:!1,cb:$||this.noop},this.log("MqttClient:publish: packet cmd: %s",Z.cmd),this._sendPacket(Z,void 0,ne);break;default:this.log("MqttClient:publish: packet cmd: %s",Z.cmd),this._sendPacket(Z,$,ne);break}return!0};return(this._storeProcessing||this._storeProcessingQueue.length>0||!re())&&this._storeProcessingQueue.push({invoke:re,cbStorePut:I.cbStorePut,callback:$}),this}publishAsync(C,A,I){return new Promise(($,x)=>{this.publish(C,A,I,(U,Q)=>{U?x(U):$(Q)})})}subscribe(C,A,I){let $=this.options.protocolVersion;typeof A=="function"&&(I=A),I=I||this.noop;let x=!1,U=[];typeof C=="string"?(C=[C],U=C):Array.isArray(C)?U=C:typeof C=="object"&&(x=C.resubscribe,delete C.resubscribe,U=Object.keys(C));let Q=c.validateTopics(U);if(Q!==null)return b(I,new Error(`Invalid topic ${Q}`)),this;if(this._checkDisconnecting(I))return this.log("subscribe: discconecting true"),this;let W={qos:0};$===5&&(W.nl=!1,W.rap=!1,W.rh=0),A={...W,...A};let{properties:pe}=A,ne=[],re=(se,R)=>{if(R=R||A,!Object.prototype.hasOwnProperty.call(this._resubscribeTopics,se)||this._resubscribeTopics[se].qos<R.qos||x){let ee={topic:se,qos:R.qos};$===5&&(ee.nl=R.nl,ee.rap=R.rap,ee.rh=R.rh,ee.properties=pe),this.log("subscribe: pushing topic `%s` and qos `%s` to subs list",ee.topic,ee.qos),ne.push(ee)}};if(Array.isArray(C)?C.forEach(se=>{this.log("subscribe: array topic %s",se),re(se)}):Object.keys(C).forEach(se=>{this.log("subscribe: object topic %s, %o",se,C[se]),re(se,C[se])}),!ne.length)return I(null,[]),this;let de=(se,R)=>{let ee={cmd:"subscribe",subscriptions:se,messageId:R};if(pe&&(ee.properties=pe),this.options.resubscribe){this.log("subscribe :: resubscribe true");let Y=[];se.forEach(Se=>{if(this.options.reconnectPeriod>0){let te={qos:Se.qos};$===5&&(te.nl=Se.nl||!1,te.rap=Se.rap||!1,te.rh=Se.rh||0,te.properties=Se.properties),this._resubscribeTopics[Se.topic]=te,Y.push(Se.topic)}}),this.messageIdToTopic[ee.messageId]=Y}let he=new Promise((Y,Se)=>{this.outgoing[ee.messageId]={volatile:!0,cb(te,q){if(!te){let{granted:le}=q;for(let J=0;J<le.length;J+=1)se[J].qos=le[J]}te?Se(new f.ErrorWithSubackPacket(te.message,q)):Y(q)}}});return this.log("subscribe :: call _sendPacket"),this._sendPacket(ee),he},Z=()=>{let se=this.options.subscribeBatchSize??ne.length,R=[];for(let ee=0;ee<ne.length;ee+=se){let he=ne.slice(ee,ee+se),Y=this._nextId();if(Y===null)return this.log("No messageId left"),!1;R.push(de(he,Y))}return Promise.all(R).then(ee=>{I(null,ne,ee.at(-1))}).catch(ee=>{I(ee,ne,ee.packet)}),!0};return(this._storeProcessing||this._storeProcessingQueue.length>0||!Z())&&this._storeProcessingQueue.push({invoke:Z,callback:I}),this}subscribeAsync(C,A){return new Promise((I,$)=>{this.subscribe(C,A,(x,U)=>{x?$(x):I(U)})})}unsubscribe(C,A,I){typeof C=="string"&&(C=[C]),typeof A=="function"&&(I=A),I=I||this.noop;let $=c.validateTopics(C);if($!==null)return b(I,new Error(`Invalid topic ${$}`)),this;if(this._checkDisconnecting(I))return this;let x=()=>{let U=this._nextId();if(U===null)return this.log("No messageId left"),!1;let Q={cmd:"unsubscribe",messageId:U,unsubscriptions:[]};return typeof C=="string"?Q.unsubscriptions=[C]:Array.isArray(C)&&(Q.unsubscriptions=C),this.options.resubscribe&&Q.unsubscriptions.forEach(W=>{delete this._resubscribeTopics[W]}),typeof A=="object"&&A.properties&&(Q.properties=A.properties),this.outgoing[Q.messageId]={volatile:!0,cb:I},this.log("unsubscribe: call _sendPacket"),this._sendPacket(Q),!0};return(this._storeProcessing||this._storeProcessingQueue.length>0||!x())&&this._storeProcessingQueue.push({invoke:x,callback:I}),this}unsubscribeAsync(C,A){return new Promise((I,$)=>{this.unsubscribe(C,A,(x,U)=>{x?$(x):I(U)})})}end(C,A,I){this.log("end :: (%s)",this.options.clientId),(C==null||typeof C!="boolean")&&(I=I||A,A=C,C=!1),typeof A!="object"&&(I=I||A,A=null),this.log("end :: cb? %s",!!I),(!I||typeof I!="function")&&(I=this.noop);let $=()=>{this.log("end :: closeStores: closing incoming and outgoing stores"),this.disconnected=!0,this.incomingStore.close(U=>{this.outgoingStore.close(Q=>{if(this.log("end :: closeStores: emitting end"),this.emit("end"),I){let W=U||Q;this.log("end :: closeStores: invoking callback with args"),I(W)}})}),this._deferredReconnect?this._deferredReconnect():(this.options.reconnectPeriod===0||this.options.manualConnect)&&(this.disconnecting=!1)},x=()=>{this.log("end :: (%s) :: finish :: calling _cleanUp with force %s",this.options.clientId,C),this._cleanUp(C,()=>{this.log("end :: finish :: calling process.nextTick on closeStores"),(0,f.nextTick)($)},A)};return this.disconnecting?(I(),this):(this._clearReconnect(),this.disconnecting=!0,!C&&Object.keys(this.outgoing).length>0?(this.log("end :: (%s) :: calling finish in 10ms once outgoing is empty",this.options.clientId),this.once("outgoingEmpty",setTimeout.bind(null,x,10))):(this.log("end :: (%s) :: immediately calling finish",this.options.clientId),x()),this)}endAsync(C,A){return new Promise((I,$)=>{this.end(C,A,x=>{x?$(x):I()})})}removeOutgoingMessage(C){if(this.outgoing[C]){let{cb:A}=this.outgoing[C];this._removeOutgoingAndStoreMessage(C,()=>{A(new Error("Message removed"))})}return this}reconnect(C){this.log("client reconnect");let A=()=>{C?(this.options.incomingStore=C.incomingStore,this.options.outgoingStore=C.outgoingStore):(this.options.incomingStore=null,this.options.outgoingStore=null),this.incomingStore=this.options.incomingStore||new d.default,this.outgoingStore=this.options.outgoingStore||new d.default,this.disconnecting=!1,this.disconnected=!1,this._deferredReconnect=null,this._reconnect()};return this.disconnecting&&!this.disconnected?this._deferredReconnect=A:A(),this}_flushVolatile(){this.outgoing&&(this.log("_flushVolatile :: deleting volatile messages from the queue and setting their callbacks as error function"),Object.keys(this.outgoing).forEach(C=>{this.outgoing[C].volatile&&typeof this.outgoing[C].cb=="function"&&(this.outgoing[C].cb(new Error("Connection closed")),delete this.outgoing[C])}))}_flush(){this.outgoing&&(this.log("_flush: queue exists? %b",!!this.outgoing),Object.keys(this.outgoing).forEach(C=>{typeof this.outgoing[C].cb=="function"&&(this.outgoing[C].cb(new Error("Connection closed")),delete this.outgoing[C])}))}_removeTopicAliasAndRecoverTopicName(C){let A;C.properties&&(A=C.properties.topicAlias);let I=C.topic.toString();if(this.log("_removeTopicAliasAndRecoverTopicName :: alias %d, topic %o",A,I),I.length===0){if(typeof A>"u")return new Error("Unregistered Topic Alias");if(I=this.topicAliasSend.getTopicByAlias(A),typeof I>"u")return new Error("Unregistered Topic Alias");C.topic=I}A&&delete C.properties.topicAlias}_checkDisconnecting(C){return this.disconnecting&&(C&&C!==this.noop?C(new Error("client disconnecting")):this.emit("error",new Error("client disconnecting"))),this.disconnecting}_reconnect(){this.log("_reconnect: emitting reconnect to client"),this.emit("reconnect"),this.connected?(this.end(()=>{this.connect()}),this.log("client already connected. disconnecting first.")):(this.log("_reconnect: calling connect"),this.connect())}_setupReconnect(){!this.disconnecting&&!this.reconnectTimer&&this.options.reconnectPeriod>0?(this.reconnecting||(this.log("_setupReconnect :: emit `offline` state"),this.emit("offline"),this.log("_setupReconnect :: set `reconnecting` to `true`"),this.reconnecting=!0),this.log("_setupReconnect :: setting reconnectTimer for %d ms",this.options.reconnectPeriod),this.reconnectTimer=setInterval(()=>{this.log("reconnectTimer :: reconnect triggered!"),this._reconnect()},this.options.reconnectPeriod)):this.log("_setupReconnect :: doing nothing...")}_clearReconnect(){this.log("_clearReconnect : clearing reconnect timer"),this.reconnectTimer&&(clearInterval(this.reconnectTimer),this.reconnectTimer=null)}_cleanUp(C,A,I={}){if(A&&(this.log("_cleanUp :: done callback provided for on stream close"),this.stream.on("close",A)),this.log("_cleanUp :: forced? %s",C),C)this.options.reconnectPeriod===0&&this.options.clean&&this._flush(),this.log("_cleanUp :: (%s) :: destroying stream",this.options.clientId),this.stream.destroy();else{let $={cmd:"disconnect",...I};this.log("_cleanUp :: (%s) :: call _sendPacket with disconnect packet",this.options.clientId),this._sendPacket($,()=>{this.log("_cleanUp :: (%s) :: destroying stream",this.options.clientId),b(()=>{this.stream.end(()=>{this.log("_cleanUp :: (%s) :: stream destroyed",this.options.clientId)})})})}!this.disconnecting&&!this.reconnecting&&(this.log("_cleanUp :: client not disconnecting/reconnecting. Clearing and resetting reconnect."),this._clearReconnect(),this._setupReconnect()),this._destroyKeepaliveManager(),A&&!this.connected&&(this.log("_cleanUp :: (%s) :: removing stream `done` callback `close` listener",this.options.clientId),this.stream.removeListener("close",A),A())}_storeAndSend(C,A,I){this.log("storeAndSend :: store packet with cmd %s to outgoingStore",C.cmd);let $=C,x;if($.cmd==="publish"&&($=(0,l.default)(C),x=this._removeTopicAliasAndRecoverTopicName($),x))return A&&A(x);this.outgoingStore.put($,U=>{if(U)return A&&A(U);I(),this._writePacket(C,A)})}_applyTopicAlias(C){if(this.options.protocolVersion===5&&C.cmd==="publish"){let A;C.properties&&(A=C.properties.topicAlias);let I=C.topic.toString();if(this.topicAliasSend)if(A){if(I.length!==0&&(this.log("applyTopicAlias :: register topic: %s - alias: %d",I,A),!this.topicAliasSend.put(I,A)))return this.log("applyTopicAlias :: error out of range. topic: %s - alias: %d",I,A),new Error("Sending Topic Alias out of range")}else I.length!==0&&(this.options.autoAssignTopicAlias?(A=this.topicAliasSend.getAliasByTopic(I),A?(C.topic="",C.properties={...C.properties,topicAlias:A},this.log("applyTopicAlias :: auto assign(use) topic: %s - alias: %d",I,A)):(A=this.topicAliasSend.getLruAlias(),this.topicAliasSend.put(I,A),C.properties={...C.properties,topicAlias:A},this.log("applyTopicAlias :: auto assign topic: %s - alias: %d",I,A))):this.options.autoUseTopicAlias&&(A=this.topicAliasSend.getAliasByTopic(I),A&&(C.topic="",C.properties={...C.properties,topicAlias:A},this.log("applyTopicAlias :: auto use topic: %s - alias: %d",I,A))));else if(A)return this.log("applyTopicAlias :: error out of range. topic: %s - alias: %d",I,A),new Error("Sending Topic Alias out of range")}}_noop(C){this.log("noop ::",C)}_writePacket(C,A){this.log("_writePacket :: packet: %O",C),this.log("_writePacket :: emitting `packetsend`"),this.emit("packetsend",C),this.log("_writePacket :: writing to stream");let I=o.default.writeToStream(C,this.stream,this.options);this.log("_writePacket :: writeToStream result %s",I),!I&&A&&A!==this.noop?(this.log("_writePacket :: handle events on `drain` once through callback."),this.stream.once("drain",A)):A&&(this.log("_writePacket :: invoking cb"),A())}_sendPacket(C,A,I,$){this.log("_sendPacket :: (%s) :: start",this.options.clientId),I=I||this.noop,A=A||this.noop;let x=this._applyTopicAlias(C);if(x){A(x);return}if(!this.connected){if(C.cmd==="auth"){this._writePacket(C,A);return}this.log("_sendPacket :: client not connected. Storing packet offline."),this._storePacket(C,A,I);return}if($){this._writePacket(C,A);return}switch(C.cmd){case"publish":break;case"pubrel":this._storeAndSend(C,A,I);return;default:this._writePacket(C,A);return}switch(C.qos){case 2:case 1:this._storeAndSend(C,A,I);break;case 0:default:this._writePacket(C,A);break}this.log("_sendPacket :: (%s) :: end",this.options.clientId)}_storePacket(C,A,I){this.log("_storePacket :: packet: %o",C),this.log("_storePacket :: cb? %s",!!A),I=I||this.noop;let $=C;if($.cmd==="publish"){$=(0,l.default)(C);let U=this._removeTopicAliasAndRecoverTopicName($);if(U)return A&&A(U)}let x=$.qos||0;x===0&&this.queueQoSZero||$.cmd!=="publish"?this.queue.push({packet:$,cb:A}):x>0?(A=this.outgoing[$.messageId]?this.outgoing[$.messageId].cb:null,this.outgoingStore.put($,U=>{if(U)return A&&A(U);I()})):A&&A(new Error("No connection to broker"))}_setupKeepaliveManager(){this.log("_setupKeepaliveManager :: keepalive %d (seconds)",this.options.keepalive),!this.keepaliveManager&&this.options.keepalive&&(this.keepaliveManager=new N.default(this,this.options.timerVariant))}_destroyKeepaliveManager(){this.keepaliveManager&&(this.log("_destroyKeepaliveManager :: destroying keepalive manager"),this.keepaliveManager.destroy(),this.keepaliveManager=null)}reschedulePing(C=!1){this.keepaliveManager&&this.options.keepalive&&(C||this.options.reschedulePings)&&this._reschedulePing()}_reschedulePing(){this.log("_reschedulePing :: rescheduling ping"),this.keepaliveManager.reschedule()}sendPing(){this.log("_sendPing :: sending pingreq"),this._sendPacket({cmd:"pingreq"})}onKeepaliveTimeout(){this.emit("error",new Error("Keepalive timeout")),this.log("onKeepaliveTimeout :: calling _cleanUp with force true"),this._cleanUp(!0)}_resubscribe(){this.log("_resubscribe");let C=Object.keys(this._resubscribeTopics);if(!this._firstConnection&&(this.options.clean||this.options.protocolVersion>=4&&!this.connackPacket.sessionPresent)&&C.length>0)if(this.options.resubscribe)if(this.options.protocolVersion===5){this.log("_resubscribe: protocolVersion 5");for(let A=0;A<C.length;A++){let I={};I[C[A]]=this._resubscribeTopics[C[A]],I.resubscribe=!0,this.subscribe(I,{properties:I[C[A]].properties})}}else this._resubscribeTopics.resubscribe=!0,this.subscribe(this._resubscribeTopics);else this._resubscribeTopics={};this._firstConnection=!1}_onConnect(C){if(this.disconnected){this.emit("connect",C);return}this.connackPacket=C,this.messageIdProvider.clear(),this._setupKeepaliveManager(),this.connected=!0;let A=()=>{let I=this.outgoingStore.createStream(),$=()=>{I.destroy(),I=null,this._flushStoreProcessingQueue(),x()},x=()=>{this._storeProcessing=!1,this._packetIdsDuringStoreProcessing={}};this.once("close",$),I.on("error",Q=>{x(),this._flushStoreProcessingQueue(),this.removeListener("close",$),this.emit("error",Q)});let U=()=>{if(!I)return;let Q=I.read(1),W;if(!Q){I.once("readable",U);return}if(this._storeProcessing=!0,this._packetIdsDuringStoreProcessing[Q.messageId]){U();return}!this.disconnecting&&!this.reconnectTimer?(W=this.outgoing[Q.messageId]?this.outgoing[Q.messageId].cb:null,this.outgoing[Q.messageId]={volatile:!1,cb(pe,ne){W&&W(pe,ne),U()}},this._packetIdsDuringStoreProcessing[Q.messageId]=!0,this.messageIdProvider.register(Q.messageId)?this._sendPacket(Q,void 0,void 0,!0):this.log("messageId: %d has already used.",Q.messageId)):I.destroy&&I.destroy()};I.on("end",()=>{let Q=!0;for(let W in this._packetIdsDuringStoreProcessing)if(!this._packetIdsDuringStoreProcessing[W]){Q=!1;break}this.removeListener("close",$),Q?(x(),this._invokeAllStoreProcessingQueue(),this.emit("connect",C)):A()}),U()};A()}_invokeStoreProcessingQueue(){if(!this._storeProcessing&&this._storeProcessingQueue.length>0){let C=this._storeProcessingQueue[0];if(C&&C.invoke())return this._storeProcessingQueue.shift(),!0}return!1}_invokeAllStoreProcessingQueue(){for(;this._invokeStoreProcessingQueue(););}_flushStoreProcessingQueue(){for(let C of this._storeProcessingQueue)C.cbStorePut&&C.cbStorePut(new Error("Connection closed")),C.callback&&C.callback(new Error("Connection closed"));this._storeProcessingQueue.splice(0)}_removeOutgoingAndStoreMessage(C,A){delete this.outgoing[C],this.outgoingStore.del({messageId:C},(I,$)=>{A(I,$),this.messageIdProvider.deallocate(C),this._invokeStoreProcessingQueue()})}},ve(v,"VERSION",f.MQTTJS_VERSION),v);u.default=k}),l0=_e(u=>{ye(),we(),be(),Object.defineProperty(u,"__esModule",{value:!0});var t=os(),r=class{constructor(){ve(this,"numberAllocator");ve(this,"lastId");this.numberAllocator=new t.NumberAllocator(1,65535)}allocate(){return this.lastId=this.numberAllocator.alloc(),this.lastId}getLastAllocated(){return this.lastId}register(a){return this.numberAllocator.use(a)}deallocate(a){this.numberAllocator.free(a)}clear(){this.numberAllocator.clear()}};u.default=r});function c0(){if(Un)return Or;Un=!0;let u=2147483647,t=36,r=1,a=26,n=38,o=700,i=72,l=128,s="-",c=/^xn--/,d=/[^\0-\x7F]/,h=/[\x2E\u3002\uFF0E\uFF61]/g,m={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},p=t-r,f=Math.floor,w=String.fromCharCode;function N(I){throw new RangeError(m[I])}function S(I,$){let x=[],U=I.length;for(;U--;)x[U]=$(I[U]);return x}function b(I,$){let x=I.split("@"),U="";x.length>1&&(U=x[0]+"@",I=x[1]),I=I.replace(h,".");let Q=I.split("."),W=S(Q,$).join(".");return U+W}function E(I){let $=[],x=0,U=I.length;for(;x<U;){let Q=I.charCodeAt(x++);if(Q>=55296&&Q<=56319&&x<U){let W=I.charCodeAt(x++);(W&64512)==56320?$.push(((Q&1023)<<10)+(W&1023)+65536):($.push(Q),x--)}else $.push(Q)}return $}let k=I=>String.fromCodePoint(...I),v=function(I){return I>=48&&I<58?26+(I-48):I>=65&&I<91?I-65:I>=97&&I<123?I-97:t},V=function(I,$){return I+22+75*(I<26)-(($!=0)<<5)},T=function(I,$,x){let U=0;for(I=x?f(I/o):I>>1,I+=f(I/$);I>p*a>>1;U+=t)I=f(I/p);return f(U+(p+1)*I/(I+n))},C=function(I){let $=[],x=I.length,U=0,Q=l,W=i,pe=I.lastIndexOf(s);pe<0&&(pe=0);for(let ne=0;ne<pe;++ne)I.charCodeAt(ne)>=128&&N("not-basic"),$.push(I.charCodeAt(ne));for(let ne=pe>0?pe+1:0;ne<x;){let re=U;for(let Z=1,se=t;;se+=t){ne>=x&&N("invalid-input");let R=v(I.charCodeAt(ne++));R>=t&&N("invalid-input"),R>f((u-U)/Z)&&N("overflow"),U+=R*Z;let ee=se<=W?r:se>=W+a?a:se-W;if(R<ee)break;let he=t-ee;Z>f(u/he)&&N("overflow"),Z*=he}let de=$.length+1;W=T(U-re,de,re==0),f(U/de)>u-Q&&N("overflow"),Q+=f(U/de),U%=de,$.splice(U++,0,Q)}return String.fromCodePoint(...$)},A=function(I){let $=[];I=E(I);let x=I.length,U=l,Q=0,W=i;for(let re of I)re<128&&$.push(w(re));let pe=$.length,ne=pe;for(pe&&$.push(s);ne<x;){let re=u;for(let Z of I)Z>=U&&Z<re&&(re=Z);let de=ne+1;re-U>f((u-Q)/de)&&N("overflow"),Q+=(re-U)*de,U=re;for(let Z of I)if(Z<U&&++Q>u&&N("overflow"),Z===U){let se=Q;for(let R=t;;R+=t){let ee=R<=W?r:R>=W+a?a:R-W;if(se<ee)break;let he=se-ee,Y=t-ee;$.push(w(V(ee+he%Y,0))),se=f(he/Y)}$.push(w(V(se,0))),W=T(Q,de,ne===pe),Q=0,++ne}++Q,++U}return $.join("")};return Or={version:"2.3.1",ucs2:{decode:E,encode:k},decode:C,encode:A,toASCII:function(I){return b(I,function($){return d.test($)?"xn--"+A($):$})},toUnicode:function(I){return b(I,function($){return c.test($)?C($.slice(4).toLowerCase()):$})}},Or}var Or,Un,Ot,d0=dt(()=>{ye(),we(),be(),Or={},Un=!1,Ot=c0(),Ot.decode,Ot.encode,Ot.toASCII,Ot.toUnicode,Ot.ucs2,Ot.version});function u0(){return qn||(qn=!0,Wn=function(){if(typeof Symbol!="function"||typeof Object.getOwnPropertySymbols!="function")return!1;if(typeof Symbol.iterator=="symbol")return!0;var u={},t=Symbol("test"),r=Object(t);if(typeof t=="string"||Object.prototype.toString.call(t)!=="[object Symbol]"||Object.prototype.toString.call(r)!=="[object Symbol]")return!1;var a=42;u[t]=a;for(t in u)return!1;if(typeof Object.keys=="function"&&Object.keys(u).length!==0||typeof Object.getOwnPropertyNames=="function"&&Object.getOwnPropertyNames(u).length!==0)return!1;var n=Object.getOwnPropertySymbols(u);if(n.length!==1||n[0]!==t||!Object.prototype.propertyIsEnumerable.call(u,t))return!1;if(typeof Object.getOwnPropertyDescriptor=="function"){var o=Object.getOwnPropertyDescriptor(u,t);if(o.value!==a||o.enumerable!==!0)return!1}return!0}),Wn}function f0(){return Hn||(Hn=!0,Gn=Error),Gn}function p0(){return Yn||(Yn=!0,Kn=EvalError),Kn}function h0(){return Jn||(Jn=!0,Qn=RangeError),Qn}function m0(){return Zn||(Zn=!0,Xn=ReferenceError),Xn}function fs(){return ti||(ti=!0,ei=SyntaxError),ei}function br(){return oi||(oi=!0,ri=TypeError),ri}function g0(){return ii||(ii=!0,ni=URIError),ni}function y0(){if(ai)return Mr;ai=!0;var u=typeof Symbol<"u"&&Symbol,t=u0();return Mr=function(){return typeof u!="function"||typeof Symbol!="function"||typeof u("foo")!="symbol"||typeof Symbol("bar")!="symbol"?!1:t()},Mr}function b0(){if(si)return Rr;si=!0;var u={__proto__:null,foo:{}},t=Object;return Rr=function(){return{__proto__:u}.foo===u.foo&&!(u instanceof t)},Rr}function w0(){if(li)return jr;li=!0;var u="Function.prototype.bind called on incompatible ",t=Object.prototype.toString,r=Math.max,a="[object Function]",n=function(l,s){for(var c=[],d=0;d<l.length;d+=1)c[d]=l[d];for(var h=0;h<s.length;h+=1)c[h+l.length]=s[h];return c},o=function(l,s){for(var c=[],d=s,h=0;d<l.length;d+=1,h+=1)c[h]=l[d];return c},i=function(l,s){for(var c="",d=0;d<l.length;d+=1)c+=l[d],d+1<l.length&&(c+=s);return c};return jr=function(l){var s=this;if(typeof s!="function"||t.apply(s)!==a)throw new TypeError(u+s);for(var c=o(arguments,1),d,h=function(){if(this instanceof d){var N=s.apply(this,n(c,arguments));return Object(N)===N?N:this}return s.apply(l,n(c,arguments))},m=r(0,s.length-c.length),p=[],f=0;f<m;f++)p[f]="$"+f;if(d=Function("binder","return function ("+i(p,",")+"){ return binder.apply(this,arguments); }")(h),s.prototype){var w=function(){};w.prototype=s.prototype,d.prototype=new w,w.prototype=null}return d},jr}function Fn(){if(ci)return Lr;ci=!0;var u=w0();return Lr=Function.prototype.bind||u,Lr}function E0(){if(di)return Ur;di=!0;var u=Function.prototype.call,t=Object.prototype.hasOwnProperty,r=Fn();return Ur=r.call(u,t),Ur}function sr(){if(ui)return Fr;ui=!0;var u,t=f0(),r=p0(),a=h0(),n=m0(),o=fs(),i=br(),l=g0(),s=Function,c=function(ne){try{return s('"use strict"; return ('+ne+").constructor;")()}catch{}},d=Object.getOwnPropertyDescriptor;if(d)try{d({},"")}catch{d=null}var h=function(){throw new i},m=d?function(){try{return arguments.callee,h}catch{try{return d(arguments,"callee").get}catch{return h}}}():h,p=y0()(),f=b0()(),w=Object.getPrototypeOf||(f?function(ne){return ne.__proto__}:null),N={},S=typeof Uint8Array>"u"||!w?u:w(Uint8Array),b={__proto__:null,"%AggregateError%":typeof AggregateError>"u"?u:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?u:ArrayBuffer,"%ArrayIteratorPrototype%":p&&w?w([][Symbol.iterator]()):u,"%AsyncFromSyncIteratorPrototype%":u,"%AsyncFunction%":N,"%AsyncGenerator%":N,"%AsyncGeneratorFunction%":N,"%AsyncIteratorPrototype%":N,"%Atomics%":typeof Atomics>"u"?u:Atomics,"%BigInt%":typeof BigInt>"u"?u:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?u:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?u:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?u:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":t,"%eval%":eval,"%EvalError%":r,"%Float32Array%":typeof Float32Array>"u"?u:Float32Array,"%Float64Array%":typeof Float64Array>"u"?u:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?u:FinalizationRegistry,"%Function%":s,"%GeneratorFunction%":N,"%Int8Array%":typeof Int8Array>"u"?u:Int8Array,"%Int16Array%":typeof Int16Array>"u"?u:Int16Array,"%Int32Array%":typeof Int32Array>"u"?u:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":p&&w?w(w([][Symbol.iterator]())):u,"%JSON%":typeof JSON=="object"?JSON:u,"%Map%":typeof Map>"u"?u:Map,"%MapIteratorPrototype%":typeof Map>"u"||!p||!w?u:w(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?u:Promise,"%Proxy%":typeof Proxy>"u"?u:Proxy,"%RangeError%":a,"%ReferenceError%":n,"%Reflect%":typeof Reflect>"u"?u:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?u:Set,"%SetIteratorPrototype%":typeof Set>"u"||!p||!w?u:w(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?u:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":p&&w?w(""[Symbol.iterator]()):u,"%Symbol%":p?Symbol:u,"%SyntaxError%":o,"%ThrowTypeError%":m,"%TypedArray%":S,"%TypeError%":i,"%Uint8Array%":typeof Uint8Array>"u"?u:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?u:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?u:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?u:Uint32Array,"%URIError%":l,"%WeakMap%":typeof WeakMap>"u"?u:WeakMap,"%WeakRef%":typeof WeakRef>"u"?u:WeakRef,"%WeakSet%":typeof WeakSet>"u"?u:WeakSet};if(w)try{null.error}catch(ne){var E=w(w(ne));b["%Error.prototype%"]=E}var k=function ne(re){var de;if(re==="%AsyncFunction%")de=c("async function () {}");else if(re==="%GeneratorFunction%")de=c("function* () {}");else if(re==="%AsyncGeneratorFunction%")de=c("async function* () {}");else if(re==="%AsyncGenerator%"){var Z=ne("%AsyncGeneratorFunction%");Z&&(de=Z.prototype)}else if(re==="%AsyncIteratorPrototype%"){var se=ne("%AsyncGenerator%");se&&w&&(de=w(se.prototype))}return b[re]=de,de},v={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},V=Fn(),T=E0(),C=V.call(Function.call,Array.prototype.concat),A=V.call(Function.apply,Array.prototype.splice),I=V.call(Function.call,String.prototype.replace),$=V.call(Function.call,String.prototype.slice),x=V.call(Function.call,RegExp.prototype.exec),U=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,Q=/\\(\\)?/g,W=function(ne){var re=$(ne,0,1),de=$(ne,-1);if(re==="%"&&de!=="%")throw new o("invalid intrinsic syntax, expected closing `%`");if(de==="%"&&re!=="%")throw new o("invalid intrinsic syntax, expected opening `%`");var Z=[];return I(ne,U,function(se,R,ee,he){Z[Z.length]=ee?I(he,Q,"$1"):R||se}),Z},pe=function(ne,re){var de=ne,Z;if(T(v,de)&&(Z=v[de],de="%"+Z[0]+"%"),T(b,de)){var se=b[de];if(se===N&&(se=k(de)),typeof se>"u"&&!re)throw new i("intrinsic "+ne+" exists, but is not available. Please file an issue!");return{alias:Z,name:de,value:se}}throw new o("intrinsic "+ne+" does not exist!")};return Fr=function(ne,re){if(typeof ne!="string"||ne.length===0)throw new i("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof re!="boolean")throw new i('"allowMissing" argument must be a boolean');if(x(/^%?[^%]*%?$/,ne)===null)throw new o("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var de=W(ne),Z=de.length>0?de[0]:"",se=pe("%"+Z+"%",re),R=se.name,ee=se.value,he=!1,Y=se.alias;Y&&(Z=Y[0],A(de,C([0,1],Y)));for(var Se=1,te=!0;Se<de.length;Se+=1){var q=de[Se],le=$(q,0,1),J=$(q,-1);if((le==='"'||le==="'"||le==="`"||J==='"'||J==="'"||J==="`")&&le!==J)throw new o("property names with quotes must have matching quotes");if((q==="constructor"||!te)&&(he=!0),Z+="."+q,R="%"+Z+"%",T(b,R))ee=b[R];else if(ee!=null){if(!(q in ee)){if(!re)throw new i("base intrinsic for "+ne+" exists, but the property is not available.");return}if(d&&Se+1>=de.length){var oe=d(ee,q);te=!!oe,te&&"get"in oe&&!("originalValue"in oe.get)?ee=oe.get:ee=ee[q]}else te=T(ee,q),ee=ee[q];te&&!he&&(b[R]=ee)}}return ee},Fr}function zn(){if(fi)return zr;fi=!0;var u=sr(),t=u("%Object.defineProperty%",!0)||!1;if(t)try{t({},"a",{value:1})}catch{t=!1}return zr=t,zr}function ps(){if(pi)return Wr;pi=!0;var u=sr(),t=u("%Object.getOwnPropertyDescriptor%",!0);if(t)try{t([],"length")}catch{t=null}return Wr=t,Wr}function v0(){if(hi)return qr;hi=!0;var u=zn(),t=fs(),r=br(),a=ps();return qr=function(n,o,i){if(!n||typeof n!="object"&&typeof n!="function")throw new r("`obj` must be an object or a function`");if(typeof o!="string"&&typeof o!="symbol")throw new r("`property` must be a string or a symbol`");if(arguments.length>3&&typeof arguments[3]!="boolean"&&arguments[3]!==null)throw new r("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&typeof arguments[4]!="boolean"&&arguments[4]!==null)throw new r("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&typeof arguments[5]!="boolean"&&arguments[5]!==null)throw new r("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&typeof arguments[6]!="boolean")throw new r("`loose`, if provided, must be a boolean");var l=arguments.length>3?arguments[3]:null,s=arguments.length>4?arguments[4]:null,c=arguments.length>5?arguments[5]:null,d=arguments.length>6?arguments[6]:!1,h=!!a&&a(n,o);if(u)u(n,o,{configurable:c===null&&h?h.configurable:!c,enumerable:l===null&&h?h.enumerable:!l,value:i,writable:s===null&&h?h.writable:!s});else if(d||!l&&!s&&!c)n[o]=i;else throw new t("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.")},qr}function k0(){if(mi)return Gr;mi=!0;var u=zn(),t=function(){return!!u};return t.hasArrayLengthDefineBug=function(){if(!u)return null;try{return u([],"length",{value:1}).length!==1}catch{return!0}},Gr=t,Gr}function _0(){if(gi)return Hr;gi=!0;var u=sr(),t=v0(),r=k0()(),a=ps(),n=br(),o=u("%Math.floor%");return Hr=function(i,l){if(typeof i!="function")throw new n("`fn` is not a function");if(typeof l!="number"||l<0||l>4294967295||o(l)!==l)throw new n("`length` must be a positive 32-bit integer");var s=arguments.length>2&&!!arguments[2],c=!0,d=!0;if("length"in i&&a){var h=a(i,"length");h&&!h.configurable&&(c=!1),h&&!h.writable&&(d=!1)}return(c||d||!s)&&(r?t(i,"length",l,!0,!0):t(i,"length",l)),i},Hr}function N0(){if(yi)return lr;yi=!0;var u=Fn(),t=sr(),r=_0(),a=br(),n=t("%Function.prototype.apply%"),o=t("%Function.prototype.call%"),i=t("%Reflect.apply%",!0)||u.call(o,n),l=zn(),s=t("%Math.max%");lr=function(d){if(typeof d!="function")throw new a("a function is required");var h=i(u,o,arguments);return r(h,1+s(0,d.length-(arguments.length-1)),!0)};var c=function(){return i(u,n,arguments)};return l?l(lr,"apply",{value:c}):lr.apply=c,lr}function S0(){if(bi)return Kr;bi=!0;var u=sr(),t=N0(),r=t(u("String.prototype.indexOf"));return Kr=function(a,n){var o=u(a,!!n);return typeof o=="function"&&r(a,".prototype.")>-1?t(o):o},Kr}var Wn,qn,Gn,Hn,Kn,Yn,Qn,Jn,Xn,Zn,ei,ti,ri,oi,ni,ii,Mr,ai,Rr,si,jr,li,Lr,ci,Ur,di,Fr,ui,zr,fi,Wr,pi,qr,hi,Gr,mi,Hr,gi,lr,yi,Kr,bi,x0=dt(()=>{ye(),we(),be(),Wn={},qn=!1,Gn={},Hn=!1,Kn={},Yn=!1,Qn={},Jn=!1,Xn={},Zn=!1,ei={},ti=!1,ri={},oi=!1,ni={},ii=!1,Mr={},ai=!1,Rr={},si=!1,jr={},li=!1,Lr={},ci=!1,Ur={},di=!1,Fr={},ui=!1,zr={},fi=!1,Wr={},pi=!1,qr={},hi=!1,Gr={},mi=!1,Hr={},gi=!1,lr={},yi=!1,Kr={},bi=!1});function wi(u){throw new Error("Node.js process "+u+" is not supported by JSPM core outside of Node.js")}function V0(){!Xt||!Zt||(Xt=!1,Zt.length?bt=Zt.concat(bt):wr=-1,bt.length&&hs())}function hs(){if(!Xt){var u=setTimeout(V0,0);Xt=!0;for(var t=bt.length;t;){for(Zt=bt,bt=[];++wr<t;)Zt&&Zt[wr].run();wr=-1,t=bt.length}Zt=null,Xt=!1,clearTimeout(u)}}function C0(u){var t=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];bt.push(new ms(u,t)),bt.length===1&&!Xt&&setTimeout(hs,0)}function ms(u,t){this.fun=u,this.array=t}function at(){}function I0(u){wi("_linkedBinding")}function A0(u){wi("dlopen")}function T0(){return[]}function $0(){return[]}function B0(u,t){if(!u)throw new Error(t||"assertion error")}function D0(){return!1}function P0(){return It.now()/1e3}function Ei(u){var t=Math.floor((Date.now()-It.now())*.001),r=It.now()*.001,a=Math.floor(r)+t,n=Math.floor(r%1*1e9);return u&&(a=a-u[0],n=n-u[1],n<0&&(a--,n+=Qr)),[a,n]}function Mt(){return ki}function O0(u){return[]}var bt,Xt,Zt,wr,gs,ys,bs,ws,Es,vs,ks,_s,Ns,Ss,xs,Vs,Cs,Is,As,Ts,$s,Bs,Ds,Ps,Os,Yr,Ms,Rs,js,Ls,Us,Fs,zs,Ws,qs,Gs,Hs,Ks,Ys,Qs,Js,Xs,Zs,el,tl,rl,ol,nl,il,al,sl,It,vi,Qr,ll,cl,dl,ul,fl,pl,hl,ml,gl,yl,bl,ki,wl=dt(()=>{ye(),we(),be(),bt=[],Xt=!1,wr=-1,ms.prototype.run=function(){this.fun.apply(null,this.array)},gs="browser",ys="x64",bs="browser",ws={PATH:"/usr/bin",LANG:navigator.language+".UTF-8",PWD:"/",HOME:"/home",TMP:"/tmp"},Es=["/usr/bin/node"],vs=[],ks="v16.8.0",_s={},Ns=function(u,t){console.warn((t?t+": ":"")+u)},Ss=function(u){wi("binding")},xs=function(u){return 0},Vs=function(){return"/"},Cs=function(u){},Is={name:"node",sourceUrl:"",headersUrl:"",libUrl:""},As=at,Ts=[],$s={},Bs=!1,Ds={},Ps=at,Os=at,Yr=function(){return{}},Ms=Yr,Rs=Yr,js=at,Ls=at,Us=at,Fs={},zs={inspector:!1,debug:!1,uv:!1,ipv6:!1,tls_alpn:!1,tls_sni:!1,tls_ocsp:!1,tls:!1,cached_builtins:!0},Ws=at,qs=at,Gs=at,Hs=at,Ks=at,Ys=at,Qs=at,Js=void 0,Xs=void 0,Zs=void 0,el=at,tl=2,rl=1,ol="/bin/usr/node",nl=9229,il="node",al=[],sl=at,It={now:typeof performance<"u"?performance.now.bind(performance):void 0,timing:typeof performance<"u"?performance.timing:void 0},It.now===void 0&&(vi=Date.now(),It.timing&&It.timing.navigationStart&&(vi=It.timing.navigationStart),It.now=()=>Date.now()-vi),Qr=1e9,Ei.bigint=function(u){var t=Ei(u);return typeof BigInt>"u"?t[0]*Qr+t[1]:BigInt(t[0]*Qr)+BigInt(t[1])},ll=10,cl={},dl=0,ul=Mt,fl=Mt,pl=Mt,hl=Mt,ml=Mt,gl=at,yl=Mt,bl=Mt,ki={version:ks,versions:_s,arch:ys,platform:bs,release:Is,_rawDebug:As,moduleLoadList:Ts,binding:Ss,_linkedBinding:I0,_events:cl,_eventsCount:dl,_maxListeners:ll,on:Mt,addListener:ul,once:fl,off:pl,removeListener:hl,removeAllListeners:ml,emit:gl,prependListener:yl,prependOnceListener:bl,listeners:O0,domain:$s,_exiting:Bs,config:Ds,dlopen:A0,uptime:P0,_getActiveRequests:T0,_getActiveHandles:$0,reallyExit:Ps,_kill:Os,cpuUsage:Yr,resourceUsage:Ms,memoryUsage:Rs,kill:js,exit:Ls,openStdin:Us,allowedNodeEnvironmentFlags:Fs,assert:B0,features:zs,_fatalExceptions:Ws,setUncaughtExceptionCaptureCallback:qs,hasUncaughtExceptionCaptureCallback:D0,emitWarning:Ns,nextTick:C0,_tickCallback:Gs,_debugProcess:Hs,_debugEnd:Ks,_startProfilerIdleNotifier:Ys,_stopProfilerIdleNotifier:Qs,stdout:Js,stdin:Zs,stderr:Xs,abort:el,umask:xs,chdir:Cs,cwd:Vs,env:ws,title:gs,argv:Es,execArgv:vs,pid:tl,ppid:rl,execPath:ol,debugPort:nl,hrtime:Ei,argv0:il,_preload_modules:al,setSourceMapsEnabled:sl}});function M0(){if(_i)return Jr;_i=!0;var u=ki;function t(o){if(typeof o!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(o))}function r(o,i){for(var l="",s=0,c=-1,d=0,h,m=0;m<=o.length;++m){if(m<o.length)h=o.charCodeAt(m);else{if(h===47)break;h=47}if(h===47){if(!(c===m-1||d===1))if(c!==m-1&&d===2){if(l.length<2||s!==2||l.charCodeAt(l.length-1)!==46||l.charCodeAt(l.length-2)!==46){if(l.length>2){var p=l.lastIndexOf("/");if(p!==l.length-1){p===-1?(l="",s=0):(l=l.slice(0,p),s=l.length-1-l.lastIndexOf("/")),c=m,d=0;continue}}else if(l.length===2||l.length===1){l="",s=0,c=m,d=0;continue}}i&&(l.length>0?l+="/..":l="..",s=2)}else l.length>0?l+="/"+o.slice(c+1,m):l=o.slice(c+1,m),s=m-c-1;c=m,d=0}else h===46&&d!==-1?++d:d=-1}return l}function a(o,i){var l=i.dir||i.root,s=i.base||(i.name||"")+(i.ext||"");return l?l===i.root?l+s:l+o+s:s}var n={resolve:function(){for(var o="",i=!1,l,s=arguments.length-1;s>=-1&&!i;s--){var c;s>=0?c=arguments[s]:(l===void 0&&(l=u.cwd()),c=l),t(c),c.length!==0&&(o=c+"/"+o,i=c.charCodeAt(0)===47)}return o=r(o,!i),i?o.length>0?"/"+o:"/":o.length>0?o:"."},normalize:function(o){if(t(o),o.length===0)return".";var i=o.charCodeAt(0)===47,l=o.charCodeAt(o.length-1)===47;return o=r(o,!i),o.length===0&&!i&&(o="."),o.length>0&&l&&(o+="/"),i?"/"+o:o},isAbsolute:function(o){return t(o),o.length>0&&o.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var o,i=0;i<arguments.length;++i){var l=arguments[i];t(l),l.length>0&&(o===void 0?o=l:o+="/"+l)}return o===void 0?".":n.normalize(o)},relative:function(o,i){if(t(o),t(i),o===i||(o=n.resolve(o),i=n.resolve(i),o===i))return"";for(var l=1;l<o.length&&o.charCodeAt(l)===47;++l);for(var s=o.length,c=s-l,d=1;d<i.length&&i.charCodeAt(d)===47;++d);for(var h=i.length,m=h-d,p=c<m?c:m,f=-1,w=0;w<=p;++w){if(w===p){if(m>p){if(i.charCodeAt(d+w)===47)return i.slice(d+w+1);if(w===0)return i.slice(d+w)}else c>p&&(o.charCodeAt(l+w)===47?f=w:w===0&&(f=0));break}var N=o.charCodeAt(l+w),S=i.charCodeAt(d+w);if(N!==S)break;N===47&&(f=w)}var b="";for(w=l+f+1;w<=s;++w)(w===s||o.charCodeAt(w)===47)&&(b.length===0?b+="..":b+="/..");return b.length>0?b+i.slice(d+f):(d+=f,i.charCodeAt(d)===47&&++d,i.slice(d))},_makeLong:function(o){return o},dirname:function(o){if(t(o),o.length===0)return".";for(var i=o.charCodeAt(0),l=i===47,s=-1,c=!0,d=o.length-1;d>=1;--d)if(i=o.charCodeAt(d),i===47){if(!c){s=d;break}}else c=!1;return s===-1?l?"/":".":l&&s===1?"//":o.slice(0,s)},basename:function(o,i){if(i!==void 0&&typeof i!="string")throw new TypeError('"ext" argument must be a string');t(o);var l=0,s=-1,c=!0,d;if(i!==void 0&&i.length>0&&i.length<=o.length){if(i.length===o.length&&i===o)return"";var h=i.length-1,m=-1;for(d=o.length-1;d>=0;--d){var p=o.charCodeAt(d);if(p===47){if(!c){l=d+1;break}}else m===-1&&(c=!1,m=d+1),h>=0&&(p===i.charCodeAt(h)?--h===-1&&(s=d):(h=-1,s=m))}return l===s?s=m:s===-1&&(s=o.length),o.slice(l,s)}else{for(d=o.length-1;d>=0;--d)if(o.charCodeAt(d)===47){if(!c){l=d+1;break}}else s===-1&&(c=!1,s=d+1);return s===-1?"":o.slice(l,s)}},extname:function(o){t(o);for(var i=-1,l=0,s=-1,c=!0,d=0,h=o.length-1;h>=0;--h){var m=o.charCodeAt(h);if(m===47){if(!c){l=h+1;break}continue}s===-1&&(c=!1,s=h+1),m===46?i===-1?i=h:d!==1&&(d=1):i!==-1&&(d=-1)}return i===-1||s===-1||d===0||d===1&&i===s-1&&i===l+1?"":o.slice(i,s)},format:function(o){if(o===null||typeof o!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof o);return a("/",o)},parse:function(o){t(o);var i={root:"",dir:"",base:"",ext:"",name:""};if(o.length===0)return i;var l=o.charCodeAt(0),s=l===47,c;s?(i.root="/",c=1):c=0;for(var d=-1,h=0,m=-1,p=!0,f=o.length-1,w=0;f>=c;--f){if(l=o.charCodeAt(f),l===47){if(!p){h=f+1;break}continue}m===-1&&(p=!1,m=f+1),l===46?d===-1?d=f:w!==1&&(w=1):d!==-1&&(w=-1)}return d===-1||m===-1||w===0||w===1&&d===m-1&&d===h+1?m!==-1&&(h===0&&s?i.base=i.name=o.slice(1,m):i.base=i.name=o.slice(h,m)):(h===0&&s?(i.name=o.slice(1,d),i.base=o.slice(1,m)):(i.name=o.slice(h,d),i.base=o.slice(h,m)),i.ext=o.slice(d,m)),h>0?i.dir=o.slice(0,h-1):s&&(i.dir="/"),i},sep:"/",delimiter:":",win32:null,posix:null};return n.posix=n,Jr=n,Jr}var Jr,_i,Ni,R0=dt(()=>{ye(),we(),be(),wl(),Jr={},_i=!1,Ni=M0()}),El={};rr(El,{URL:()=>Tl,Url:()=>xl,default:()=>st,fileURLToPath:()=>kl,format:()=>Vl,parse:()=>Al,pathToFileURL:()=>_l,resolve:()=>Cl,resolveObject:()=>Il});function j0(){if(xi)return Xr;xi=!0;var u=typeof Map=="function"&&Map.prototype,t=Object.getOwnPropertyDescriptor&&u?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,r=u&&t&&typeof t.get=="function"?t.get:null,a=u&&Map.prototype.forEach,n=typeof Set=="function"&&Set.prototype,o=Object.getOwnPropertyDescriptor&&n?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,i=n&&o&&typeof o.get=="function"?o.get:null,l=n&&Set.prototype.forEach,s=typeof WeakMap=="function"&&WeakMap.prototype,c=s?WeakMap.prototype.has:null,d=typeof WeakSet=="function"&&WeakSet.prototype,h=d?WeakSet.prototype.has:null,m=typeof WeakRef=="function"&&WeakRef.prototype,p=m?WeakRef.prototype.deref:null,f=Boolean.prototype.valueOf,w=Object.prototype.toString,N=Function.prototype.toString,S=String.prototype.match,b=String.prototype.slice,E=String.prototype.replace,k=String.prototype.toUpperCase,v=String.prototype.toLowerCase,V=RegExp.prototype.test,T=Array.prototype.concat,C=Array.prototype.join,A=Array.prototype.slice,I=Math.floor,$=typeof BigInt=="function"?BigInt.prototype.valueOf:null,x=Object.getOwnPropertySymbols,U=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Symbol.prototype.toString:null,Q=typeof Symbol=="function"&&typeof Symbol.iterator=="object",W=typeof Symbol=="function"&&Symbol.toStringTag&&(typeof Symbol.toStringTag===Q||!0)?Symbol.toStringTag:null,pe=Object.prototype.propertyIsEnumerable,ne=(typeof Reflect=="function"?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(M){return M.__proto__}:null);function re(M,z){if(M===1/0||M===-1/0||M!==M||M&&M>-1e3&&M<1e3||V.call(/e/,z))return z;var ke=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if(typeof M=="number"){var Ce=M<0?-I(-M):I(M);if(Ce!==M){var Te=String(Ce),Oe=b.call(z,Te.length+1);return E.call(Te,ke,"$&_")+"."+E.call(E.call(Oe,/([0-9]{3})/g,"$&_"),/_$/,"")}}return E.call(z,ke,"$&_")}var de=Nl,Z=de.custom,se=oe(Z)?Z:null;Xr=function M(z,ke,Ce,Te){var Oe=ke||{};if(K(Oe,"quoteStyle")&&Oe.quoteStyle!=="single"&&Oe.quoteStyle!=="double")throw new TypeError('option "quoteStyle" must be "single" or "double"');if(K(Oe,"maxStringLength")&&(typeof Oe.maxStringLength=="number"?Oe.maxStringLength<0&&Oe.maxStringLength!==1/0:Oe.maxStringLength!==null))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var Xe=K(Oe,"customInspect")?Oe.customInspect:!0;if(typeof Xe!="boolean"&&Xe!=="symbol")throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(K(Oe,"indent")&&Oe.indent!==null&&Oe.indent!==" "&&!(parseInt(Oe.indent,10)===Oe.indent&&Oe.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(K(Oe,"numericSeparator")&&typeof Oe.numericSeparator!="boolean")throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var et=Oe.numericSeparator;if(typeof z>"u")return"undefined";if(z===null)return"null";if(typeof z=="boolean")return z?"true":"false";if(typeof z=="string")return ce(z,Oe);if(typeof z=="number"){if(z===0)return 1/0/z>0?"0":"-0";var Re=String(z);return et?re(z,Re):Re}if(typeof z=="bigint"){var Ge=String(z)+"n";return et?re(z,Ge):Ge}var De=typeof Oe.depth>"u"?5:Oe.depth;if(typeof Ce>"u"&&(Ce=0),Ce>=De&&De>0&&typeof z=="object")return he(z)?"[Array]":"[Object]";var Ue=L(Oe,Ce);if(typeof Te>"u")Te=[];else if(ae(Te,z)>=0)return"[Circular]";function qe(wt,Ft,tr){if(Ft&&(Te=A.call(Te),Te.push(Ft)),tr){var Et={depth:Oe.depth};return K(Oe,"quoteStyle")&&(Et.quoteStyle=Oe.quoteStyle),M(wt,Et,Ce+1,Te)}return M(wt,Oe,Ce+1,Te)}if(typeof z=="function"&&!Se(z)){var Ze=F(z),nt=j(z,qe);return"[Function"+(Ze?": "+Ze:" (anonymous)")+"]"+(nt.length>0?" { "+C.call(nt,", ")+" }":"")}if(oe(z)){var mt=Q?E.call(String(z),/^(Symbol\(.*\))_[^)]*$/,"$1"):U.call(z);return typeof z=="object"&&!Q?g(mt):mt}if(Ne(z)){for(var O="<"+v.call(String(z.nodeName)),G=z.attributes||[],xe=0;xe<G.length;xe++)O+=" "+G[xe].name+"="+R(ee(G[xe].value),"double",Oe);return O+=">",z.childNodes&&z.childNodes.length&&(O+="..."),O+="</"+v.call(String(z.nodeName))+">",O}if(he(z)){if(z.length===0)return"[]";var Ie=j(z,qe);return Ue&&!B(Ie)?"["+P(Ie,Ue)+"]":"[ "+C.call(Ie,", ")+" ]"}if(te(z)){var $e=j(z,qe);return!("cause"in Error.prototype)&&"cause"in z&&!pe.call(z,"cause")?"{ ["+String(z)+"] "+C.call(T.call("[cause]: "+qe(z.cause),$e),", ")+" }":$e.length===0?"["+String(z)+"]":"{ ["+String(z)+"] "+C.call($e,", ")+" }"}if(typeof z=="object"&&Xe){if(se&&typeof z[se]=="function"&&de)return de(z,{depth:De-Ce});if(Xe!=="symbol"&&typeof z.inspect=="function")return z.inspect()}if(ue(z)){var tt=[];return a&&a.call(z,function(wt,Ft){tt.push(qe(Ft,z,!0)+" => "+qe(wt,z))}),_("Map",r.call(z),tt,Ue)}if(X(z)){var ct=[];return l&&l.call(z,function(wt){ct.push(qe(wt,z))}),_("Set",i.call(z),ct,Ue)}if(fe(z))return y("WeakMap");if(me(z))return y("WeakSet");if(ge(z))return y("WeakRef");if(le(z))return g(qe(Number(z)));if(ie(z))return g(qe($.call(z)));if(J(z))return g(f.call(z));if(q(z))return g(qe(String(z)));if(typeof window<"u"&&z===window)return"{ [object Window] }";if(typeof globalThis<"u"&&z===globalThis||typeof Zr<"u"&&z===Zr)return"{ [object globalThis] }";if(!Y(z)&&!Se(z)){var gt=j(z,qe),kr=ne?ne(z)===Object.prototype:z instanceof Object||z.constructor===Object,_r=z instanceof Object?"":"null prototype",Nr=!kr&&W&&Object(z)===z&&W in z?b.call(D(z),8,-1):_r?"Object":"",fo=kr||typeof z.constructor!="function"?"":z.constructor.name?z.constructor.name+" ":"",er=fo+(Nr||_r?"["+C.call(T.call([],Nr||[],_r||[]),": ")+"] ":"");return gt.length===0?er+"{}":Ue?er+"{"+P(gt,Ue)+"}":er+"{ "+C.call(gt,", ")+" }"}return String(z)};function R(M,z,ke){var Ce=(ke.quoteStyle||z)==="double"?'"':"'";return Ce+M+Ce}function ee(M){return E.call(String(M),/"/g,"&quot;")}function he(M){return D(M)==="[object Array]"&&(!W||!(typeof M=="object"&&W in M))}function Y(M){return D(M)==="[object Date]"&&(!W||!(typeof M=="object"&&W in M))}function Se(M){return D(M)==="[object RegExp]"&&(!W||!(typeof M=="object"&&W in M))}function te(M){return D(M)==="[object Error]"&&(!W||!(typeof M=="object"&&W in M))}function q(M){return D(M)==="[object String]"&&(!W||!(typeof M=="object"&&W in M))}function le(M){return D(M)==="[object Number]"&&(!W||!(typeof M=="object"&&W in M))}function J(M){return D(M)==="[object Boolean]"&&(!W||!(typeof M=="object"&&W in M))}function oe(M){if(Q)return M&&typeof M=="object"&&M instanceof Symbol;if(typeof M=="symbol")return!0;if(!M||typeof M!="object"||!U)return!1;try{return U.call(M),!0}catch{}return!1}function ie(M){if(!M||typeof M!="object"||!$)return!1;try{return $.call(M),!0}catch{}return!1}var Ee=Object.prototype.hasOwnProperty||function(M){return M in(this||Zr)};function K(M,z){return Ee.call(M,z)}function D(M){return w.call(M)}function F(M){if(M.name)return M.name;var z=S.call(N.call(M),/^function\s*([\w$]+)/);return z?z[1]:null}function ae(M,z){if(M.indexOf)return M.indexOf(z);for(var ke=0,Ce=M.length;ke<Ce;ke++)if(M[ke]===z)return ke;return-1}function ue(M){if(!r||!M||typeof M!="object")return!1;try{r.call(M);try{i.call(M)}catch{return!0}return M instanceof Map}catch{}return!1}function fe(M){if(!c||!M||typeof M!="object")return!1;try{c.call(M,c);try{h.call(M,h)}catch{return!0}return M instanceof WeakMap}catch{}return!1}function ge(M){if(!p||!M||typeof M!="object")return!1;try{return p.call(M),!0}catch{}return!1}function X(M){if(!i||!M||typeof M!="object")return!1;try{i.call(M);try{r.call(M)}catch{return!0}return M instanceof Set}catch{}return!1}function me(M){if(!h||!M||typeof M!="object")return!1;try{h.call(M,h);try{c.call(M,c)}catch{return!0}return M instanceof WeakSet}catch{}return!1}function Ne(M){return!M||typeof M!="object"?!1:typeof HTMLElement<"u"&&M instanceof HTMLElement?!0:typeof M.nodeName=="string"&&typeof M.getAttribute=="function"}function ce(M,z){if(M.length>z.maxStringLength){var ke=M.length-z.maxStringLength,Ce="... "+ke+" more character"+(ke>1?"s":"");return ce(b.call(M,0,z.maxStringLength),z)+Ce}var Te=E.call(E.call(M,/(['\\])/g,"\\$1"),/[\x00-\x1f]/g,Ve);return R(Te,"single",z)}function Ve(M){var z=M.charCodeAt(0),ke={8:"b",9:"t",10:"n",12:"f",13:"r"}[z];return ke?"\\"+ke:"\\x"+(z<16?"0":"")+k.call(z.toString(16))}function g(M){return"Object("+M+")"}function y(M){return M+" { ? }"}function _(M,z,ke,Ce){var Te=Ce?P(ke,Ce):C.call(ke,", ");return M+" ("+z+") {"+Te+"}"}function B(M){for(var z=0;z<M.length;z++)if(ae(M[z],`
9
+ `)>=0)return!1;return!0}function L(M,z){var ke;if(M.indent===" ")ke=" ";else if(typeof M.indent=="number"&&M.indent>0)ke=C.call(Array(M.indent+1)," ");else return null;return{base:ke,prev:C.call(Array(z+1),ke)}}function P(M,z){if(M.length===0)return"";var ke=`
10
+ `+z.prev+z.base;return ke+C.call(M,","+ke)+`
11
+ `+z.prev}function j(M,z){var ke=he(M),Ce=[];if(ke){Ce.length=M.length;for(var Te=0;Te<M.length;Te++)Ce[Te]=K(M,Te)?z(M[Te],M):""}var Oe=typeof x=="function"?x(M):[],Xe;if(Q){Xe={};for(var et=0;et<Oe.length;et++)Xe["$"+Oe[et]]=Oe[et]}for(var Re in M)K(M,Re)&&(ke&&String(Number(Re))===Re&&Re<M.length||Q&&Xe["$"+Re]instanceof Symbol||(V.call(/[^\w$]/,Re)?Ce.push(z(Re,M)+": "+z(M[Re],M)):Ce.push(Re+": "+z(M[Re],M))));if(typeof x=="function")for(var Ge=0;Ge<Oe.length;Ge++)pe.call(M,Oe[Ge])&&Ce.push("["+z(Oe[Ge])+"]: "+z(M[Oe[Ge]],M));return Ce}return Xr}function L0(){if(Vi)return eo;Vi=!0;var u=sr(),t=S0(),r=j0(),a=br(),n=u("%WeakMap%",!0),o=u("%Map%",!0),i=t("WeakMap.prototype.get",!0),l=t("WeakMap.prototype.set",!0),s=t("WeakMap.prototype.has",!0),c=t("Map.prototype.get",!0),d=t("Map.prototype.set",!0),h=t("Map.prototype.has",!0),m=function(N,S){for(var b=N,E;(E=b.next)!==null;b=E)if(E.key===S)return b.next=E.next,E.next=N.next,N.next=E,E},p=function(N,S){var b=m(N,S);return b&&b.value},f=function(N,S,b){var E=m(N,S);E?E.value=b:N.next={key:S,next:N.next,value:b}},w=function(N,S){return!!m(N,S)};return eo=function(){var N,S,b,E={assert:function(k){if(!E.has(k))throw new a("Side channel does not contain "+r(k))},get:function(k){if(n&&k&&(typeof k=="object"||typeof k=="function")){if(N)return i(N,k)}else if(o){if(S)return c(S,k)}else if(b)return p(b,k)},has:function(k){if(n&&k&&(typeof k=="object"||typeof k=="function")){if(N)return s(N,k)}else if(o){if(S)return h(S,k)}else if(b)return w(b,k);return!1},set:function(k,v){n&&k&&(typeof k=="object"||typeof k=="function")?(N||(N=new n),l(N,k,v)):o?(S||(S=new o),d(S,k,v)):(b||(b={key:{},next:null}),f(b,k,v))}};return E},eo}function Si(){if(Ci)return to;Ci=!0;var u=String.prototype.replace,t=/%20/g,r={RFC1738:"RFC1738",RFC3986:"RFC3986"};return to={default:r.RFC3986,formatters:{RFC1738:function(a){return u.call(a,t,"+")},RFC3986:function(a){return String(a)}},RFC1738:r.RFC1738,RFC3986:r.RFC3986},to}function vl(){if(Ii)return ro;Ii=!0;var u=Si(),t=Object.prototype.hasOwnProperty,r=Array.isArray,a=function(){for(var N=[],S=0;S<256;++S)N.push("%"+((S<16?"0":"")+S.toString(16)).toUpperCase());return N}(),n=function(N){for(;N.length>1;){var S=N.pop(),b=S.obj[S.prop];if(r(b)){for(var E=[],k=0;k<b.length;++k)typeof b[k]<"u"&&E.push(b[k]);S.obj[S.prop]=E}}},o=function(N,S){for(var b=S&&S.plainObjects?Object.create(null):{},E=0;E<N.length;++E)typeof N[E]<"u"&&(b[E]=N[E]);return b},i=function N(S,b,E){if(!b)return S;if(typeof b!="object"){if(r(S))S.push(b);else if(S&&typeof S=="object")(E&&(E.plainObjects||E.allowPrototypes)||!t.call(Object.prototype,b))&&(S[b]=!0);else return[S,b];return S}if(!S||typeof S!="object")return[S].concat(b);var k=S;return r(S)&&!r(b)&&(k=o(S,E)),r(S)&&r(b)?(b.forEach(function(v,V){if(t.call(S,V)){var T=S[V];T&&typeof T=="object"&&v&&typeof v=="object"?S[V]=N(T,v,E):S.push(v)}else S[V]=v}),S):Object.keys(b).reduce(function(v,V){var T=b[V];return t.call(v,V)?v[V]=N(v[V],T,E):v[V]=T,v},k)},l=function(N,S){return Object.keys(S).reduce(function(b,E){return b[E]=S[E],b},N)},s=function(N,S,b){var E=N.replace(/\+/g," ");if(b==="iso-8859-1")return E.replace(/%[0-9a-f]{2}/gi,unescape);try{return decodeURIComponent(E)}catch{return E}},c=1024,d=function(N,S,b,E,k){if(N.length===0)return N;var v=N;if(typeof N=="symbol"?v=Symbol.prototype.toString.call(N):typeof N!="string"&&(v=String(N)),b==="iso-8859-1")return escape(v).replace(/%u[0-9a-f]{4}/gi,function(x){return"%26%23"+parseInt(x.slice(2),16)+"%3B"});for(var V="",T=0;T<v.length;T+=c){for(var C=v.length>=c?v.slice(T,T+c):v,A=[],I=0;I<C.length;++I){var $=C.charCodeAt(I);if($===45||$===46||$===95||$===126||$>=48&&$<=57||$>=65&&$<=90||$>=97&&$<=122||k===u.RFC1738&&($===40||$===41)){A[A.length]=C.charAt(I);continue}if($<128){A[A.length]=a[$];continue}if($<2048){A[A.length]=a[192|$>>6]+a[128|$&63];continue}if($<55296||$>=57344){A[A.length]=a[224|$>>12]+a[128|$>>6&63]+a[128|$&63];continue}I+=1,$=65536+(($&1023)<<10|C.charCodeAt(I)&1023),A[A.length]=a[240|$>>18]+a[128|$>>12&63]+a[128|$>>6&63]+a[128|$&63]}V+=A.join("")}return V},h=function(N){for(var S=[{obj:{o:N},prop:"o"}],b=[],E=0;E<S.length;++E)for(var k=S[E],v=k.obj[k.prop],V=Object.keys(v),T=0;T<V.length;++T){var C=V[T],A=v[C];typeof A=="object"&&A!==null&&b.indexOf(A)===-1&&(S.push({obj:v,prop:C}),b.push(A))}return n(S),N},m=function(N){return Object.prototype.toString.call(N)==="[object RegExp]"},p=function(N){return!N||typeof N!="object"?!1:!!(N.constructor&&N.constructor.isBuffer&&N.constructor.isBuffer(N))},f=function(N,S){return[].concat(N,S)},w=function(N,S){if(r(N)){for(var b=[],E=0;E<N.length;E+=1)b.push(S(N[E]));return b}return S(N)};return ro={arrayToObject:o,assign:l,combine:f,compact:h,decode:s,encode:d,isBuffer:p,isRegExp:m,maybeMap:w,merge:i},ro}function U0(){if(Ai)return oo;Ai=!0;var u=L0(),t=vl(),r=Si(),a=Object.prototype.hasOwnProperty,n={brackets:function(w){return w+"[]"},comma:"comma",indices:function(w,N){return w+"["+N+"]"},repeat:function(w){return w}},o=Array.isArray,i=Array.prototype.push,l=function(w,N){i.apply(w,o(N)?N:[N])},s=Date.prototype.toISOString,c=r.default,d={addQueryPrefix:!1,allowDots:!1,allowEmptyArrays:!1,arrayFormat:"indices",charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encodeDotInKeys:!1,encoder:t.encode,encodeValuesOnly:!1,format:c,formatter:r.formatters[c],indices:!1,serializeDate:function(w){return s.call(w)},skipNulls:!1,strictNullHandling:!1},h=function(w){return typeof w=="string"||typeof w=="number"||typeof w=="boolean"||typeof w=="symbol"||typeof w=="bigint"},m={},p=function w(N,S,b,E,k,v,V,T,C,A,I,$,x,U,Q,W,pe,ne){for(var re=N,de=ne,Z=0,se=!1;(de=de.get(m))!==void 0&&!se;){var R=de.get(N);if(Z+=1,typeof R<"u"){if(R===Z)throw new RangeError("Cyclic object value");se=!0}typeof de.get(m)>"u"&&(Z=0)}if(typeof A=="function"?re=A(S,re):re instanceof Date?re=x(re):b==="comma"&&o(re)&&(re=t.maybeMap(re,function(D){return D instanceof Date?x(D):D})),re===null){if(v)return C&&!W?C(S,d.encoder,pe,"key",U):S;re=""}if(h(re)||t.isBuffer(re)){if(C){var ee=W?S:C(S,d.encoder,pe,"key",U);return[Q(ee)+"="+Q(C(re,d.encoder,pe,"value",U))]}return[Q(S)+"="+Q(String(re))]}var he=[];if(typeof re>"u")return he;var Y;if(b==="comma"&&o(re))W&&C&&(re=t.maybeMap(re,C)),Y=[{value:re.length>0?re.join(",")||null:void 0}];else if(o(A))Y=A;else{var Se=Object.keys(re);Y=I?Se.sort(I):Se}var te=T?S.replace(/\./g,"%2E"):S,q=E&&o(re)&&re.length===1?te+"[]":te;if(k&&o(re)&&re.length===0)return q+"[]";for(var le=0;le<Y.length;++le){var J=Y[le],oe=typeof J=="object"&&typeof J.value<"u"?J.value:re[J];if(!(V&&oe===null)){var ie=$&&T?J.replace(/\./g,"%2E"):J,Ee=o(re)?typeof b=="function"?b(q,ie):q:q+($?"."+ie:"["+ie+"]");ne.set(N,Z);var K=u();K.set(m,ne),l(he,w(oe,Ee,b,E,k,v,V,T,b==="comma"&&W&&o(re)?null:C,A,I,$,x,U,Q,W,pe,K))}}return he},f=function(w){if(!w)return d;if(typeof w.allowEmptyArrays<"u"&&typeof w.allowEmptyArrays!="boolean")throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(typeof w.encodeDotInKeys<"u"&&typeof w.encodeDotInKeys!="boolean")throw new TypeError("`encodeDotInKeys` option can only be `true` or `false`, when provided");if(w.encoder!==null&&typeof w.encoder<"u"&&typeof w.encoder!="function")throw new TypeError("Encoder has to be a function.");var N=w.charset||d.charset;if(typeof w.charset<"u"&&w.charset!=="utf-8"&&w.charset!=="iso-8859-1")throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var S=r.default;if(typeof w.format<"u"){if(!a.call(r.formatters,w.format))throw new TypeError("Unknown format option provided.");S=w.format}var b=r.formatters[S],E=d.filter;(typeof w.filter=="function"||o(w.filter))&&(E=w.filter);var k;if(w.arrayFormat in n?k=w.arrayFormat:"indices"in w?k=w.indices?"indices":"repeat":k=d.arrayFormat,"commaRoundTrip"in w&&typeof w.commaRoundTrip!="boolean")throw new TypeError("`commaRoundTrip` must be a boolean, or absent");var v=typeof w.allowDots>"u"?w.encodeDotInKeys===!0?!0:d.allowDots:!!w.allowDots;return{addQueryPrefix:typeof w.addQueryPrefix=="boolean"?w.addQueryPrefix:d.addQueryPrefix,allowDots:v,allowEmptyArrays:typeof w.allowEmptyArrays=="boolean"?!!w.allowEmptyArrays:d.allowEmptyArrays,arrayFormat:k,charset:N,charsetSentinel:typeof w.charsetSentinel=="boolean"?w.charsetSentinel:d.charsetSentinel,commaRoundTrip:w.commaRoundTrip,delimiter:typeof w.delimiter>"u"?d.delimiter:w.delimiter,encode:typeof w.encode=="boolean"?w.encode:d.encode,encodeDotInKeys:typeof w.encodeDotInKeys=="boolean"?w.encodeDotInKeys:d.encodeDotInKeys,encoder:typeof w.encoder=="function"?w.encoder:d.encoder,encodeValuesOnly:typeof w.encodeValuesOnly=="boolean"?w.encodeValuesOnly:d.encodeValuesOnly,filter:E,format:S,formatter:b,serializeDate:typeof w.serializeDate=="function"?w.serializeDate:d.serializeDate,skipNulls:typeof w.skipNulls=="boolean"?w.skipNulls:d.skipNulls,sort:typeof w.sort=="function"?w.sort:null,strictNullHandling:typeof w.strictNullHandling=="boolean"?w.strictNullHandling:d.strictNullHandling}};return oo=function(w,N){var S=w,b=f(N),E,k;typeof b.filter=="function"?(k=b.filter,S=k("",S)):o(b.filter)&&(k=b.filter,E=k);var v=[];if(typeof S!="object"||S===null)return"";var V=n[b.arrayFormat],T=V==="comma"&&b.commaRoundTrip;E||(E=Object.keys(S)),b.sort&&E.sort(b.sort);for(var C=u(),A=0;A<E.length;++A){var I=E[A];b.skipNulls&&S[I]===null||l(v,p(S[I],I,V,T,b.allowEmptyArrays,b.strictNullHandling,b.skipNulls,b.encodeDotInKeys,b.encode?b.encoder:null,b.filter,b.sort,b.allowDots,b.serializeDate,b.format,b.formatter,b.encodeValuesOnly,b.charset,C))}var $=v.join(b.delimiter),x=b.addQueryPrefix===!0?"?":"";return b.charsetSentinel&&(b.charset==="iso-8859-1"?x+="utf8=%26%2310003%3B&":x+="utf8=%E2%9C%93&"),$.length>0?x+$:""},oo}function F0(){if(Ti)return no;Ti=!0;var u=vl(),t=Object.prototype.hasOwnProperty,r=Array.isArray,a={allowDots:!1,allowEmptyArrays:!1,allowPrototypes:!1,allowSparse:!1,arrayLimit:20,charset:"utf-8",charsetSentinel:!1,comma:!1,decodeDotInKeys:!1,decoder:u.decode,delimiter:"&",depth:5,duplicates:"combine",ignoreQueryPrefix:!1,interpretNumericEntities:!1,parameterLimit:1e3,parseArrays:!0,plainObjects:!1,strictDepth:!1,strictNullHandling:!1},n=function(m){return m.replace(/&#(\d+);/g,function(p,f){return String.fromCharCode(parseInt(f,10))})},o=function(m,p){return m&&typeof m=="string"&&p.comma&&m.indexOf(",")>-1?m.split(","):m},i="utf8=%26%2310003%3B",l="utf8=%E2%9C%93",s=function(m,p){var f={__proto__:null},w=p.ignoreQueryPrefix?m.replace(/^\?/,""):m;w=w.replace(/%5B/gi,"[").replace(/%5D/gi,"]");var N=p.parameterLimit===1/0?void 0:p.parameterLimit,S=w.split(p.delimiter,N),b=-1,E,k=p.charset;if(p.charsetSentinel)for(E=0;E<S.length;++E)S[E].indexOf("utf8=")===0&&(S[E]===l?k="utf-8":S[E]===i&&(k="iso-8859-1"),b=E,E=S.length);for(E=0;E<S.length;++E)if(E!==b){var v=S[E],V=v.indexOf("]="),T=V===-1?v.indexOf("="):V+1,C,A;T===-1?(C=p.decoder(v,a.decoder,k,"key"),A=p.strictNullHandling?null:""):(C=p.decoder(v.slice(0,T),a.decoder,k,"key"),A=u.maybeMap(o(v.slice(T+1),p),function($){return p.decoder($,a.decoder,k,"value")})),A&&p.interpretNumericEntities&&k==="iso-8859-1"&&(A=n(A)),v.indexOf("[]=")>-1&&(A=r(A)?[A]:A);var I=t.call(f,C);I&&p.duplicates==="combine"?f[C]=u.combine(f[C],A):(!I||p.duplicates==="last")&&(f[C]=A)}return f},c=function(m,p,f,w){for(var N=w?p:o(p,f),S=m.length-1;S>=0;--S){var b,E=m[S];if(E==="[]"&&f.parseArrays)b=f.allowEmptyArrays&&(N===""||f.strictNullHandling&&N===null)?[]:[].concat(N);else{b=f.plainObjects?Object.create(null):{};var k=E.charAt(0)==="["&&E.charAt(E.length-1)==="]"?E.slice(1,-1):E,v=f.decodeDotInKeys?k.replace(/%2E/g,"."):k,V=parseInt(v,10);!f.parseArrays&&v===""?b={0:N}:!isNaN(V)&&E!==v&&String(V)===v&&V>=0&&f.parseArrays&&V<=f.arrayLimit?(b=[],b[V]=N):v!=="__proto__"&&(b[v]=N)}N=b}return N},d=function(m,p,f,w){if(m){var N=f.allowDots?m.replace(/\.([^.[]+)/g,"[$1]"):m,S=/(\[[^[\]]*])/,b=/(\[[^[\]]*])/g,E=f.depth>0&&S.exec(N),k=E?N.slice(0,E.index):N,v=[];if(k){if(!f.plainObjects&&t.call(Object.prototype,k)&&!f.allowPrototypes)return;v.push(k)}for(var V=0;f.depth>0&&(E=b.exec(N))!==null&&V<f.depth;){if(V+=1,!f.plainObjects&&t.call(Object.prototype,E[1].slice(1,-1))&&!f.allowPrototypes)return;v.push(E[1])}if(E){if(f.strictDepth===!0)throw new RangeError("Input depth exceeded depth option of "+f.depth+" and strictDepth is true");v.push("["+N.slice(E.index)+"]")}return c(v,p,f,w)}},h=function(m){if(!m)return a;if(typeof m.allowEmptyArrays<"u"&&typeof m.allowEmptyArrays!="boolean")throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(typeof m.decodeDotInKeys<"u"&&typeof m.decodeDotInKeys!="boolean")throw new TypeError("`decodeDotInKeys` option can only be `true` or `false`, when provided");if(m.decoder!==null&&typeof m.decoder<"u"&&typeof m.decoder!="function")throw new TypeError("Decoder has to be a function.");if(typeof m.charset<"u"&&m.charset!=="utf-8"&&m.charset!=="iso-8859-1")throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var p=typeof m.charset>"u"?a.charset:m.charset,f=typeof m.duplicates>"u"?a.duplicates:m.duplicates;if(f!=="combine"&&f!=="first"&&f!=="last")throw new TypeError("The duplicates option must be either combine, first, or last");var w=typeof m.allowDots>"u"?m.decodeDotInKeys===!0?!0:a.allowDots:!!m.allowDots;return{allowDots:w,allowEmptyArrays:typeof m.allowEmptyArrays=="boolean"?!!m.allowEmptyArrays:a.allowEmptyArrays,allowPrototypes:typeof m.allowPrototypes=="boolean"?m.allowPrototypes:a.allowPrototypes,allowSparse:typeof m.allowSparse=="boolean"?m.allowSparse:a.allowSparse,arrayLimit:typeof m.arrayLimit=="number"?m.arrayLimit:a.arrayLimit,charset:p,charsetSentinel:typeof m.charsetSentinel=="boolean"?m.charsetSentinel:a.charsetSentinel,comma:typeof m.comma=="boolean"?m.comma:a.comma,decodeDotInKeys:typeof m.decodeDotInKeys=="boolean"?m.decodeDotInKeys:a.decodeDotInKeys,decoder:typeof m.decoder=="function"?m.decoder:a.decoder,delimiter:typeof m.delimiter=="string"||u.isRegExp(m.delimiter)?m.delimiter:a.delimiter,depth:typeof m.depth=="number"||m.depth===!1?+m.depth:a.depth,duplicates:f,ignoreQueryPrefix:m.ignoreQueryPrefix===!0,interpretNumericEntities:typeof m.interpretNumericEntities=="boolean"?m.interpretNumericEntities:a.interpretNumericEntities,parameterLimit:typeof m.parameterLimit=="number"?m.parameterLimit:a.parameterLimit,parseArrays:m.parseArrays!==!1,plainObjects:typeof m.plainObjects=="boolean"?m.plainObjects:a.plainObjects,strictDepth:typeof m.strictDepth=="boolean"?!!m.strictDepth:a.strictDepth,strictNullHandling:typeof m.strictNullHandling=="boolean"?m.strictNullHandling:a.strictNullHandling}};return no=function(m,p){var f=h(p);if(m===""||m===null||typeof m>"u")return f.plainObjects?Object.create(null):{};for(var w=typeof m=="string"?s(m,f):m,N=f.plainObjects?Object.create(null):{},S=Object.keys(w),b=0;b<S.length;++b){var E=S[b],k=d(E,w[E],f,typeof m=="string");N=u.merge(N,k,f)}return f.allowSparse===!0?N:u.compact(N)},no}function z0(){if($i)return io;$i=!0;var u=U0(),t=F0(),r=Si();return io={formats:r,parse:t,stringify:u},io}function W0(){if(Bi)return Rt;Bi=!0;var u=Ot;function t(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}var r=/^([a-z0-9.+-]+:)/i,a=/:[0-9]*$/,n=/^(\/\/?(?!\/)[^?\s]*)(\?[^\s]*)?$/,o=["<",">",'"',"`"," ","\r",`
12
+ `," "],i=["{","}","|","\\","^","`"].concat(o),l=["'"].concat(i),s=["%","/","?",";","#"].concat(l),c=["/","?","#"],d=255,h=/^[+a-z0-9A-Z_-]{0,63}$/,m=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,p={javascript:!0,"javascript:":!0},f={javascript:!0,"javascript:":!0},w={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},N=z0();function S(v,V,T){if(v&&typeof v=="object"&&v instanceof t)return v;var C=new t;return C.parse(v,V,T),C}t.prototype.parse=function(v,V,T){if(typeof v!="string")throw new TypeError("Parameter 'url' must be a string, not "+typeof v);var C=v.indexOf("?"),A=C!==-1&&C<v.indexOf("#")?"?":"#",I=v.split(A),$=/\\/g;I[0]=I[0].replace($,"/"),v=I.join(A);var x=v;if(x=x.trim(),!T&&v.split("#").length===1){var U=n.exec(x);if(U)return this.path=x,this.href=x,this.pathname=U[1],U[2]?(this.search=U[2],V?this.query=N.parse(this.search.substr(1)):this.query=this.search.substr(1)):V&&(this.search="",this.query={}),this}var Q=r.exec(x);if(Q){Q=Q[0];var W=Q.toLowerCase();this.protocol=W,x=x.substr(Q.length)}if(T||Q||x.match(/^\/\/[^@/]+@[^@/]+/)){var pe=x.substr(0,2)==="//";pe&&!(Q&&f[Q])&&(x=x.substr(2),this.slashes=!0)}if(!f[Q]&&(pe||Q&&!w[Q])){for(var ne=-1,re=0;re<c.length;re++){var de=x.indexOf(c[re]);de!==-1&&(ne===-1||de<ne)&&(ne=de)}var Z,se;ne===-1?se=x.lastIndexOf("@"):se=x.lastIndexOf("@",ne),se!==-1&&(Z=x.slice(0,se),x=x.slice(se+1),this.auth=decodeURIComponent(Z)),ne=-1;for(var re=0;re<s.length;re++){var de=x.indexOf(s[re]);de!==-1&&(ne===-1||de<ne)&&(ne=de)}ne===-1&&(ne=x.length),this.host=x.slice(0,ne),x=x.slice(ne),this.parseHost(),this.hostname=this.hostname||"";var R=this.hostname[0]==="["&&this.hostname[this.hostname.length-1]==="]";if(!R)for(var ee=this.hostname.split(/\./),re=0,he=ee.length;re<he;re++){var Y=ee[re];if(Y&&!Y.match(h)){for(var Se="",te=0,q=Y.length;te<q;te++)Y.charCodeAt(te)>127?Se+="x":Se+=Y[te];if(!Se.match(h)){var le=ee.slice(0,re),J=ee.slice(re+1),oe=Y.match(m);oe&&(le.push(oe[1]),J.unshift(oe[2])),J.length&&(x="/"+J.join(".")+x),this.hostname=le.join(".");break}}}this.hostname.length>d?this.hostname="":this.hostname=this.hostname.toLowerCase(),R||(this.hostname=u.toASCII(this.hostname));var ie=this.port?":"+this.port:"",Ee=this.hostname||"";this.host=Ee+ie,this.href+=this.host,R&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),x[0]!=="/"&&(x="/"+x))}if(!p[W])for(var re=0,he=l.length;re<he;re++){var K=l[re];if(x.indexOf(K)!==-1){var D=encodeURIComponent(K);D===K&&(D=escape(K)),x=x.split(K).join(D)}}var F=x.indexOf("#");F!==-1&&(this.hash=x.substr(F),x=x.slice(0,F));var ae=x.indexOf("?");if(ae!==-1?(this.search=x.substr(ae),this.query=x.substr(ae+1),V&&(this.query=N.parse(this.query)),x=x.slice(0,ae)):V&&(this.search="",this.query={}),x&&(this.pathname=x),w[W]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){var ie=this.pathname||"",ue=this.search||"";this.path=ie+ue}return this.href=this.format(),this};function b(v){return typeof v=="string"&&(v=S(v)),v instanceof t?v.format():t.prototype.format.call(v)}t.prototype.format=function(){var v=this.auth||"";v&&(v=encodeURIComponent(v),v=v.replace(/%3A/i,":"),v+="@");var V=this.protocol||"",T=this.pathname||"",C=this.hash||"",A=!1,I="";this.host?A=v+this.host:this.hostname&&(A=v+(this.hostname.indexOf(":")===-1?this.hostname:"["+this.hostname+"]"),this.port&&(A+=":"+this.port)),this.query&&typeof this.query=="object"&&Object.keys(this.query).length&&(I=N.stringify(this.query,{arrayFormat:"repeat",addQueryPrefix:!1}));var $=this.search||I&&"?"+I||"";return V&&V.substr(-1)!==":"&&(V+=":"),this.slashes||(!V||w[V])&&A!==!1?(A="//"+(A||""),T&&T.charAt(0)!=="/"&&(T="/"+T)):A||(A=""),C&&C.charAt(0)!=="#"&&(C="#"+C),$&&$.charAt(0)!=="?"&&($="?"+$),T=T.replace(/[?#]/g,function(x){return encodeURIComponent(x)}),$=$.replace("#","%23"),V+A+T+$+C};function E(v,V){return S(v,!1,!0).resolve(V)}t.prototype.resolve=function(v){return this.resolveObject(S(v,!1,!0)).format()};function k(v,V){return v?S(v,!1,!0).resolveObject(V):V}return t.prototype.resolveObject=function(v){if(typeof v=="string"){var V=new t;V.parse(v,!1,!0),v=V}for(var T=new t,C=Object.keys(this),A=0;A<C.length;A++){var I=C[A];T[I]=this[I]}if(T.hash=v.hash,v.href==="")return T.href=T.format(),T;if(v.slashes&&!v.protocol){for(var $=Object.keys(v),x=0;x<$.length;x++){var U=$[x];U!=="protocol"&&(T[U]=v[U])}return w[T.protocol]&&T.hostname&&!T.pathname&&(T.pathname="/",T.path=T.pathname),T.href=T.format(),T}if(v.protocol&&v.protocol!==T.protocol){if(!w[v.protocol]){for(var Q=Object.keys(v),W=0;W<Q.length;W++){var pe=Q[W];T[pe]=v[pe]}return T.href=T.format(),T}if(T.protocol=v.protocol,!v.host&&!f[v.protocol]){for(var he=(v.pathname||"").split("/");he.length&&!(v.host=he.shift()););v.host||(v.host=""),v.hostname||(v.hostname=""),he[0]!==""&&he.unshift(""),he.length<2&&he.unshift(""),T.pathname=he.join("/")}else T.pathname=v.pathname;if(T.search=v.search,T.query=v.query,T.host=v.host||"",T.auth=v.auth,T.hostname=v.hostname||v.host,T.port=v.port,T.pathname||T.search){var ne=T.pathname||"",re=T.search||"";T.path=ne+re}return T.slashes=T.slashes||v.slashes,T.href=T.format(),T}var de=T.pathname&&T.pathname.charAt(0)==="/",Z=v.host||v.pathname&&v.pathname.charAt(0)==="/",se=Z||de||T.host&&v.pathname,R=se,ee=T.pathname&&T.pathname.split("/")||[],he=v.pathname&&v.pathname.split("/")||[],Y=T.protocol&&!w[T.protocol];if(Y&&(T.hostname="",T.port=null,T.host&&(ee[0]===""?ee[0]=T.host:ee.unshift(T.host)),T.host="",v.protocol&&(v.hostname=null,v.port=null,v.host&&(he[0]===""?he[0]=v.host:he.unshift(v.host)),v.host=null),se=se&&(he[0]===""||ee[0]==="")),Z)T.host=v.host||v.host===""?v.host:T.host,T.hostname=v.hostname||v.hostname===""?v.hostname:T.hostname,T.search=v.search,T.query=v.query,ee=he;else if(he.length)ee||(ee=[]),ee.pop(),ee=ee.concat(he),T.search=v.search,T.query=v.query;else if(v.search!=null){if(Y){T.host=ee.shift(),T.hostname=T.host;var Se=T.host&&T.host.indexOf("@")>0?T.host.split("@"):!1;Se&&(T.auth=Se.shift(),T.hostname=Se.shift(),T.host=T.hostname)}return T.search=v.search,T.query=v.query,(T.pathname!==null||T.search!==null)&&(T.path=(T.pathname?T.pathname:"")+(T.search?T.search:"")),T.href=T.format(),T}if(!ee.length)return T.pathname=null,T.search?T.path="/"+T.search:T.path=null,T.href=T.format(),T;for(var te=ee.slice(-1)[0],q=(T.host||v.host||ee.length>1)&&(te==="."||te==="..")||te==="",le=0,J=ee.length;J>=0;J--)te=ee[J],te==="."?ee.splice(J,1):te===".."?(ee.splice(J,1),le++):le&&(ee.splice(J,1),le--);if(!se&&!R)for(;le--;le)ee.unshift("..");se&&ee[0]!==""&&(!ee[0]||ee[0].charAt(0)!=="/")&&ee.unshift(""),q&&ee.join("/").substr(-1)!=="/"&&ee.push("");var oe=ee[0]===""||ee[0]&&ee[0].charAt(0)==="/";if(Y){T.hostname=oe?"":ee.length?ee.shift():"",T.host=T.hostname;var Se=T.host&&T.host.indexOf("@")>0?T.host.split("@"):!1;Se&&(T.auth=Se.shift(),T.hostname=Se.shift(),T.host=T.hostname)}return se=se||T.host&&ee.length,se&&!oe&&ee.unshift(""),ee.length>0?T.pathname=ee.join("/"):(T.pathname=null,T.path=null),(T.pathname!==null||T.search!==null)&&(T.path=(T.pathname?T.pathname:"")+(T.search?T.search:"")),T.auth=v.auth||T.auth,T.slashes=T.slashes||v.slashes,T.href=T.format(),T},t.prototype.parseHost=function(){var v=this.host,V=a.exec(v);V&&(V=V[0],V!==":"&&(this.port=V.substr(1)),v=v.substr(0,v.length-V.length)),v&&(this.hostname=v)},Rt.parse=S,Rt.resolve=E,Rt.resolveObject=k,Rt.format=b,Rt.Url=t,Rt}function kl(u){if(typeof u=="string")u=new URL(u);else if(!(u instanceof URL))throw new Deno.errors.InvalidData("invalid argument path , must be a string or URL");if(u.protocol!=="file:")throw new Deno.errors.InvalidData("invalid url scheme");return ao?q0(u):G0(u)}function q0(u){let t=u.hostname,r=u.pathname;for(let a=0;a<r.length;a++)if(r[a]==="%"){let n=r.codePointAt(a+2)||32;if(r[a+1]==="2"&&n===102||r[a+1]==="5"&&n===99)throw new Deno.errors.InvalidData("must not include encoded \\ or / characters")}if(r=r.replace(Ol,"\\"),r=decodeURIComponent(r),t!=="")return`\\\\${t}${r}`;{let a=r.codePointAt(1)|32,n=r[2];if(a<Dl||a>Pl||n!==":")throw new Deno.errors.InvalidData("file url path must be absolute");return r.slice(1)}}function G0(u){if(u.hostname!=="")throw new Deno.errors.InvalidData("invalid file url hostname");let t=u.pathname;for(let r=0;r<t.length;r++)if(t[r]==="%"){let a=t.codePointAt(r+2)||32;if(t[r+1]==="2"&&a===102)throw new Deno.errors.InvalidData("must not include encoded / characters")}return decodeURIComponent(t)}function _l(u){let t=Ni.resolve(u),r=u.charCodeAt(u.length-1);(r===Bl||ao&&r===$l)&&t[t.length-1]!==Ni.sep&&(t+="/");let a=new URL("file://");return t.includes("%")&&(t=t.replace(Ml,"%25")),!ao&&t.includes("\\")&&(t=t.replace(Rl,"%5C")),t.includes(`
13
+ `)&&(t=t.replace(jl,"%0A")),t.includes("\r")&&(t=t.replace(Ll,"%0D")),t.includes(" ")&&(t=t.replace(Ul,"%09")),a.pathname=t,a}var Nl,Xr,xi,Zr,eo,Vi,to,Ci,ro,Ii,oo,Ai,no,Ti,io,$i,Rt,Bi,st,Sl,xl,Vl,Cl,Il,Al,Tl,$l,Bl,Dl,Pl,ao,Ol,Ml,Rl,jl,Ll,Ul,H0=dt(()=>{ye(),we(),be(),d0(),x0(),R0(),wl(),Nl=Object.freeze(Object.create(null)),Xr={},xi=!1,Zr=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global,eo={},Vi=!1,to={},Ci=!1,ro={},Ii=!1,oo={},Ai=!1,no={},Ti=!1,io={},$i=!1,Rt={},Bi=!1,st=W0(),st.parse,st.resolve,st.resolveObject,st.format,st.Url,Sl=typeof Deno<"u"?Deno.build.os==="windows"?"win32":Deno.build.os:void 0,st.URL=typeof URL<"u"?URL:null,st.pathToFileURL=_l,st.fileURLToPath=kl,xl=st.Url,Vl=st.format,Cl=st.resolve,Il=st.resolveObject,Al=st.parse,Tl=st.URL,$l=92,Bl=47,Dl=97,Pl=122,ao=Sl==="win32",Ol=/\//g,Ml=/%/g,Rl=/\\/g,jl=/\n/g,Ll=/\r/g,Ul=/\t/g}),K0=_e((u,t)=>{ye(),we(),be(),t.exports=function(){throw new Error("ws does not work in the browser. Browser clients must use the native WebSocket object")}}),Di=_e(u=>{ye(),we(),be(),Object.defineProperty(u,"__esModule",{value:!0}),u.BufferedDuplex=void 0,u.writev=a;var t=Jt(),r=(ot(),We(rt));function a(o,i){let l=new Array(o.length);for(let s=0;s<o.length;s++)typeof o[s].chunk=="string"?l[s]=r.Buffer.from(o[s].chunk,"utf8"):l[s]=o[s].chunk;this._write(r.Buffer.concat(l),"binary",i)}var n=class extends t.Duplex{constructor(i,l,s){super({objectMode:!0});ve(this,"socket");ve(this,"proxy");ve(this,"isSocketOpen");ve(this,"writeQueue");this.proxy=l,this.socket=s,this.writeQueue=[],i.objectMode||(this._writev=a.bind(this)),this.isSocketOpen=!1,this.proxy.on("data",c=>{!this.destroyed&&this.readable&&this.push(c)})}_read(i){this.proxy.read(i)}_write(i,l,s){this.isSocketOpen?this.writeToProxy(i,l,s):this.writeQueue.push({chunk:i,encoding:l,cb:s})}_final(i){this.writeQueue=[],this.proxy.end(i)}_destroy(i,l){this.writeQueue=[],this.proxy.destroy(),l(i)}socketReady(){this.emit("connect"),this.isSocketOpen=!0,this.processWriteQueue()}writeToProxy(i,l,s){this.proxy.write(i,l)===!1?this.proxy.once("drain",s):s()}processWriteQueue(){for(;this.writeQueue.length>0;){let{chunk:i,encoding:l,cb:s}=this.writeQueue.shift();this.writeToProxy(i,l,s)}}};u.BufferedDuplex=n}),so=_e(u=>{ye(),we(),be();var t=u&&u.__importDefault||function(S){return S&&S.__esModule?S:{default:S}};Object.defineProperty(u,"__esModule",{value:!0}),u.streamBuilder=u.browserStreamBuilder=void 0;var r=(ot(),We(rt)),a=t(K0()),n=t(xt()),o=Jt(),i=t(Pr()),l=Di(),s=(0,n.default)("mqttjs:ws"),c=["rejectUnauthorized","ca","cert","key","pfx","passphrase"];function d(S,b){let E=`${S.protocol}://${S.hostname}:${S.port}${S.path}`;return typeof S.transformWsUrl=="function"&&(E=S.transformWsUrl(E,S,b)),E}function h(S){let b=S;return S.port||(S.protocol==="wss"?b.port=443:b.port=80),S.path||(b.path="/"),S.wsOptions||(b.wsOptions={}),!i.default&&!S.forceNativeWebSocket&&S.protocol==="wss"&&c.forEach(E=>{Object.prototype.hasOwnProperty.call(S,E)&&!Object.prototype.hasOwnProperty.call(S.wsOptions,E)&&(b.wsOptions[E]=S[E])}),b}function m(S){let b=h(S);if(b.hostname||(b.hostname=b.host),!b.hostname){if(typeof document>"u")throw new Error("Could not determine host. Specify host manually.");let E=new URL(document.URL);b.hostname=E.hostname,b.port||(b.port=Number(E.port))}return b.objectMode===void 0&&(b.objectMode=!(b.binary===!0||b.binary===void 0)),b}function p(S,b,E){s("createWebSocket"),s(`protocol: ${E.protocolId} ${E.protocolVersion}`);let k=E.protocolId==="MQIsdp"&&E.protocolVersion===3?"mqttv3.1":"mqtt";s(`creating new Websocket for url: ${b} and protocol: ${k}`);let v;return E.createWebsocket?v=E.createWebsocket(b,[k],E):v=new a.default(b,[k],E.wsOptions),v}function f(S,b){let E=b.protocolId==="MQIsdp"&&b.protocolVersion===3?"mqttv3.1":"mqtt",k=d(b,S),v;return b.createWebsocket?v=b.createWebsocket(k,[E],b):v=new WebSocket(k,[E]),v.binaryType="arraybuffer",v}var w=(S,b)=>{s("streamBuilder");let E=h(b);E.hostname=E.hostname||E.host||"localhost";let k=d(E,S),v=p(S,k,E),V=a.default.createWebSocketStream(v,E.wsOptions);return V.url=k,v.on("close",()=>{V.destroy()}),V};u.streamBuilder=w;var N=(S,b)=>{s("browserStreamBuilder");let E,k=m(b).browserBufferSize||1024*512,v=b.browserBufferTimeout||1e3,V=!b.objectMode,T=f(S,b),C=I(b,W,pe);b.objectMode||(C._writev=l.writev.bind(C)),C.on("close",()=>{T.close()});let A=typeof T.addEventListener<"u";T.readyState===T.OPEN?(E=C,E.socket=T):(E=new l.BufferedDuplex(b,C,T),A?T.addEventListener("open",$):T.onopen=$),A?(T.addEventListener("close",x),T.addEventListener("error",U),T.addEventListener("message",Q)):(T.onclose=x,T.onerror=U,T.onmessage=Q);function I(ne,re,de){let Z=new o.Transform({objectMode:ne.objectMode});return Z._write=re,Z._flush=de,Z}function $(){s("WebSocket onOpen"),E instanceof l.BufferedDuplex&&E.socketReady()}function x(ne){s("WebSocket onClose",ne),E.end(),E.destroy()}function U(ne){s("WebSocket onError",ne);let re=new Error("WebSocket error");re.event=ne,E.destroy(re)}async function Q(ne){if(!C||!C.readable||!C.writable)return;let{data:re}=ne;re instanceof ArrayBuffer?re=r.Buffer.from(re):re instanceof Blob?re=r.Buffer.from(await new Response(re).arrayBuffer()):re=r.Buffer.from(re,"utf8"),C.push(re)}function W(ne,re,de){if(T.bufferedAmount>k){setTimeout(W,v,ne,re,de);return}V&&typeof ne=="string"&&(ne=r.Buffer.from(ne,"utf8"));try{T.send(ne)}catch(Z){return de(Z)}de()}function pe(ne){T.close(),ne()}return E};u.browserStreamBuilder=N}),Pi={};rr(Pi,{Server:()=>Ye,Socket:()=>Ye,Stream:()=>Ye,_createServerHandle:()=>Ye,_normalizeArgs:()=>Ye,_setSimultaneousAccepts:()=>Ye,connect:()=>Ye,createConnection:()=>Ye,createServer:()=>Ye,default:()=>Fl,isIP:()=>Ye,isIPv4:()=>Ye,isIPv6:()=>Ye});function Ye(){throw new Error("Node.js net module is not supported by JSPM core outside of Node.js")}var Fl,zl=dt(()=>{ye(),we(),be(),Fl={_createServerHandle:Ye,_normalizeArgs:Ye,_setSimultaneousAccepts:Ye,connect:Ye,createConnection:Ye,createServer:Ye,isIP:Ye,isIPv4:Ye,isIPv6:Ye,Server:Ye,Socket:Ye,Stream:Ye}}),Wl=_e((u,t)=>{ye(),we(),be(),t.exports={}}),ql=_e(u=>{ye(),we(),be();var t=u&&u.__importDefault||function(l){return l&&l.__esModule?l:{default:l}};Object.defineProperty(u,"__esModule",{value:!0});var r=t((zl(),We(Pi))),a=t(xt()),n=t(Wl()),o=(0,a.default)("mqttjs:tcp"),i=(l,s)=>{if(s.port=s.port||1883,s.hostname=s.hostname||s.host||"localhost",s.socksProxy)return(0,n.default)(s.hostname,s.port,s.socksProxy,{timeout:s.socksTimeout});let{port:c,path:d}=s,h=s.hostname;return o("port %d and host %s",c,h),r.default.createConnection({port:c,host:h,path:d})};u.default=i}),Gl={};rr(Gl,{default:()=>Hl});var Hl,Y0=dt(()=>{ye(),we(),be(),Hl={}}),Kl=_e(u=>{ye(),we(),be();var t=u&&u.__importDefault||function(c){return c&&c.__esModule?c:{default:c}};Object.defineProperty(u,"__esModule",{value:!0});var r=(Y0(),We(Gl)),a=t((zl(),We(Pi))),n=t(xt()),o=t(Wl()),i=(0,n.default)("mqttjs:tls");function l(c){let{host:d,port:h,socksProxy:m,...p}=c;if(m!==void 0){let f=(0,o.default)(d,h,m,{timeout:c.socksTimeout});return(0,r.connect)({...p,socket:f})}return(0,r.connect)(c)}var s=(c,d)=>{d.port=d.port||8883,d.host=d.hostname||d.host||"localhost",a.default.isIP(d.host)===0&&(d.servername=d.host),d.rejectUnauthorized=d.rejectUnauthorized!==!1,delete d.path,i("port %d host %s rejectUnauthorized %b",d.port,d.host,d.rejectUnauthorized);let h=l(d);h.on("secureConnect",()=>{d.rejectUnauthorized&&!h.authorized?h.emit("error",new Error("TLS not authorized")):h.removeListener("error",m)});function m(p){d.rejectUnauthorized&&c.emit("error",p),h.end()}return h.on("error",m),h};u.default=s}),Yl=_e(u=>{ye(),we(),be(),Object.defineProperty(u,"__esModule",{value:!0});var t=(ot(),We(rt)),r=Jt(),a=Di(),n,o,i;function l(){let m=new r.Transform;return m._write=(p,f,w)=>{n.send({data:p.buffer,success(){w()},fail(N){w(new Error(N))}})},m._flush=p=>{n.close({success(){p()}})},m}function s(m){m.hostname||(m.hostname="localhost"),m.path||(m.path="/"),m.wsOptions||(m.wsOptions={})}function c(m,p){let f=m.protocol==="wxs"?"wss":"ws",w=`${f}://${m.hostname}${m.path}`;return m.port&&m.port!==80&&m.port!==443&&(w=`${f}://${m.hostname}:${m.port}${m.path}`),typeof m.transformWsUrl=="function"&&(w=m.transformWsUrl(w,m,p)),w}function d(){n.onOpen(()=>{i.socketReady()}),n.onMessage(m=>{let{data:p}=m;p instanceof ArrayBuffer?p=t.Buffer.from(p):p=t.Buffer.from(p,"utf8"),o.push(p)}),n.onClose(()=>{i.emit("close"),i.end(),i.destroy()}),n.onError(m=>{let p=new Error(m.errMsg);i.destroy(p)})}var h=(m,p)=>{if(p.hostname=p.hostname||p.host,!p.hostname)throw new Error("Could not determine host. Specify host manually.");let f=p.protocolId==="MQIsdp"&&p.protocolVersion===3?"mqttv3.1":"mqtt";s(p);let w=c(p,m);n=wx.connectSocket({url:w,protocols:[f]}),o=l(),i=new a.BufferedDuplex(p,o,n),i._destroy=(S,b)=>{n.close({success(){b&&b(S)}})};let N=i.destroy;return i.destroy=(S,b)=>(i.destroy=N,setTimeout(()=>{n.close({fail(){i._destroy(S,b)}})},0),i),d(),i};u.default=h}),Ql=_e(u=>{ye(),we(),be(),Object.defineProperty(u,"__esModule",{value:!0});var t=(ot(),We(rt)),r=Jt(),a=Di(),n,o,i,l=!1;function s(){let p=new r.Transform;return p._write=(f,w,N)=>{n.sendSocketMessage({data:f.buffer,success(){N()},fail(){N(new Error)}})},p._flush=f=>{n.closeSocket({success(){f()}})},p}function c(p){p.hostname||(p.hostname="localhost"),p.path||(p.path="/"),p.wsOptions||(p.wsOptions={})}function d(p,f){let w=p.protocol==="alis"?"wss":"ws",N=`${w}://${p.hostname}${p.path}`;return p.port&&p.port!==80&&p.port!==443&&(N=`${w}://${p.hostname}:${p.port}${p.path}`),typeof p.transformWsUrl=="function"&&(N=p.transformWsUrl(N,p,f)),N}function h(){l||(l=!0,n.onSocketOpen(()=>{i.socketReady()}),n.onSocketMessage(p=>{if(typeof p.data=="string"){let f=t.Buffer.from(p.data,"base64");o.push(f)}else{let f=new FileReader;f.addEventListener("load",()=>{if(f.result instanceof ArrayBuffer){o.push(t.Buffer.from(f.result));return}o.push(t.Buffer.from(f.result,"utf-8"))}),f.readAsArrayBuffer(p.data)}}),n.onSocketClose(()=>{i.end(),i.destroy()}),n.onSocketError(p=>{i.destroy(p)}))}var m=(p,f)=>{if(f.hostname=f.hostname||f.host,!f.hostname)throw new Error("Could not determine host. Specify host manually.");let w=f.protocolId==="MQIsdp"&&f.protocolVersion===3?"mqttv3.1":"mqtt";c(f);let N=d(f,p);return n=f.my,n.connectSocket({url:N,protocols:w}),o=s(),i=new a.BufferedDuplex(f,o,n),h(),i};u.default=m}),Q0=_e(u=>{ye(),we(),be();var t=u&&u.__importDefault||function(h){return h&&h.__esModule?h:{default:h}};Object.defineProperty(u,"__esModule",{value:!0}),u.connectAsync=d;var r=t(xt()),a=t((H0(),We(El))),n=t(Ln()),o=t(Pr());typeof(ze==null?void 0:ze.nextTick)!="function"&&(ze.nextTick=setImmediate);var i=(0,r.default)("mqttjs"),l=null;function s(h){let m;if(h.auth)if(m=h.auth.match(/^(.+):(.+)$/),m){let[,p,f]=m;h.username=p,h.password=f}else h.username=h.auth}function c(h,m){var w,N,S;if(i("connecting to an MQTT broker..."),typeof h=="object"&&!m&&(m=h,h=""),m=m||{},h&&typeof h=="string"){let b=a.default.parse(h,!0),E={};if(b.port!=null&&(E.port=Number(b.port)),E.host=b.hostname,E.query=b.query,E.auth=b.auth,E.protocol=b.protocol,E.path=b.path,m={...E,...m},!m.protocol)throw new Error("Missing protocol");m.protocol=m.protocol.replace(/:$/,"")}if(m.unixSocket=m.unixSocket||((w=m.protocol)==null?void 0:w.includes("+unix")),m.unixSocket?m.protocol=m.protocol.replace("+unix",""):!((N=m.protocol)!=null&&N.startsWith("ws"))&&!((S=m.protocol)!=null&&S.startsWith("wx"))&&delete m.path,s(m),m.query&&typeof m.query.clientId=="string"&&(m.clientId=m.query.clientId),o.default||m.unixSocket?m.socksProxy=void 0:m.socksProxy===void 0&&typeof ze<"u"&&(m.socksProxy=ze.env.MQTTJS_SOCKS_PROXY),m.cert&&m.key)if(m.protocol){if(["mqtts","wss","wxs","alis"].indexOf(m.protocol)===-1)switch(m.protocol){case"mqtt":m.protocol="mqtts";break;case"ws":m.protocol="wss";break;case"wx":m.protocol="wxs";break;case"ali":m.protocol="alis";break;default:throw new Error(`Unknown protocol for secure connection: "${m.protocol}"!`)}}else throw new Error("Missing secure protocol key");if(l||(l={},!o.default&&!m.forceNativeWebSocket?(l.ws=so().streamBuilder,l.wss=so().streamBuilder,l.mqtt=ql().default,l.tcp=ql().default,l.ssl=Kl().default,l.tls=l.ssl,l.mqtts=Kl().default):(l.ws=so().browserStreamBuilder,l.wss=so().browserStreamBuilder,l.wx=Yl().default,l.wxs=Yl().default,l.ali=Ql().default,l.alis=Ql().default)),!l[m.protocol]){let b=["mqtts","wss"].indexOf(m.protocol)!==-1;m.protocol=["mqtt","mqtts","ws","wss","wx","wxs","ali","alis"].filter((E,k)=>b&&k%2===0?!1:typeof l[E]=="function")[0]}if(m.clean===!1&&!m.clientId)throw new Error("Missing clientId for unclean clients");m.protocol&&(m.defaultProtocol=m.protocol);function p(b){return m.servers&&((!b._reconnectCount||b._reconnectCount===m.servers.length)&&(b._reconnectCount=0),m.host=m.servers[b._reconnectCount].host,m.port=m.servers[b._reconnectCount].port,m.protocol=m.servers[b._reconnectCount].protocol?m.servers[b._reconnectCount].protocol:m.defaultProtocol,m.hostname=m.host,b._reconnectCount++),i("calling streambuilder for",m.protocol),l[m.protocol](b,m)}let f=new n.default(p,m);return f.on("error",()=>{}),f}function d(h,m,p=!0){return new Promise((f,w)=>{let N=c(h,m),S={connect:E=>{b(),f(N)},end:()=>{b(),f(N)},error:E=>{b(),N.end(),w(E)}};p===!1&&(S.close=()=>{S.error(new Error("Couldn't connect to server"))});function b(){Object.keys(S).forEach(E=>{N.off(E,S[E])})}Object.keys(S).forEach(E=>{N.on(E,S[E])})})}u.default=c}),Jl=_e(u=>{ye(),we(),be();var t=u&&u.__createBinding||(Object.create?function(p,f,w,N){N===void 0&&(N=w);var S=Object.getOwnPropertyDescriptor(f,w);(!S||("get"in S?!f.__esModule:S.writable||S.configurable))&&(S={enumerable:!0,get:function(){return f[w]}}),Object.defineProperty(p,N,S)}:function(p,f,w,N){N===void 0&&(N=w),p[N]=f[w]}),r=u&&u.__setModuleDefault||(Object.create?function(p,f){Object.defineProperty(p,"default",{enumerable:!0,value:f})}:function(p,f){p.default=f}),a=u&&u.__importStar||function(){var p=function(f){return p=Object.getOwnPropertyNames||function(w){var N=[];for(var S in w)Object.prototype.hasOwnProperty.call(w,S)&&(N[N.length]=S);return N},p(f)};return function(f){if(f&&f.__esModule)return f;var w={};if(f!=null)for(var N=p(f),S=0;S<N.length;S++)N[S]!=="default"&&t(w,f,N[S]);return r(w,f),w}}(),n=u&&u.__exportStar||function(p,f){for(var w in p)w!=="default"&&!Object.prototype.hasOwnProperty.call(f,w)&&t(f,p,w)},o=u&&u.__importDefault||function(p){return p&&p.__esModule?p:{default:p}};Object.defineProperty(u,"__esModule",{value:!0}),u.ReasonCodes=u.KeepaliveManager=u.UniqueMessageIdProvider=u.DefaultMessageIdProvider=u.Store=u.MqttClient=u.connectAsync=u.connect=u.Client=void 0;var i=o(Ln());u.MqttClient=i.default;var l=o(ns());u.DefaultMessageIdProvider=l.default;var s=o(l0());u.UniqueMessageIdProvider=s.default;var c=o(Ja());u.Store=c.default;var d=a(Q0());u.connect=d.default,Object.defineProperty(u,"connectAsync",{enumerable:!0,get:function(){return d.connectAsync}});var h=o(us());u.KeepaliveManager=h.default,u.Client=i.default,n(Ln(),u),n(ar(),u);var m=Br();Object.defineProperty(u,"ReasonCodes",{enumerable:!0,get:function(){return m.ReasonCodes}})}),J0=_e(u=>{ye(),we(),be();var t=u&&u.__createBinding||(Object.create?function(i,l,s,c){c===void 0&&(c=s);var d=Object.getOwnPropertyDescriptor(l,s);(!d||("get"in d?!l.__esModule:d.writable||d.configurable))&&(d={enumerable:!0,get:function(){return l[s]}}),Object.defineProperty(i,c,d)}:function(i,l,s,c){c===void 0&&(c=s),i[c]=l[s]}),r=u&&u.__setModuleDefault||(Object.create?function(i,l){Object.defineProperty(i,"default",{enumerable:!0,value:l})}:function(i,l){i.default=l}),a=u&&u.__importStar||function(){var i=function(l){return i=Object.getOwnPropertyNames||function(s){var c=[];for(var d in s)Object.prototype.hasOwnProperty.call(s,d)&&(c[c.length]=d);return c},i(l)};return function(l){if(l&&l.__esModule)return l;var s={};if(l!=null)for(var c=i(l),d=0;d<c.length;d++)c[d]!=="default"&&t(s,l,c[d]);return r(s,l),s}}(),n=u&&u.__exportStar||function(i,l){for(var s in i)s!=="default"&&!Object.prototype.hasOwnProperty.call(l,s)&&t(l,i,s)};Object.defineProperty(u,"__esModule",{value:!0});var o=a(Jl());u.default=o,n(Jl(),u)});const X0=J0();/*! Bundled license information:
14
14
 
15
15
  @jspm/core/nodelibs/browser/chunk-DtuTasat.js:
16
16
  (*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> *)
@@ -20,7 +20,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
20
20
 
21
21
  @babel/runtime/helpers/regenerator.js:
22
22
  (*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE *)
23
- */class lb{constructor(){Se(this,"client",null);Se(this,"config",null);Se(this,"onDataCallback",null);Se(this,"onErrorCallback",null);Se(this,"isConnected",!1)}connect(r){return new Promise((t,l)=>{if(!r.enabled){l(new Error("MQTT 连接未启用"));return}this.config=r;let n=r.broker;if(n.startsWith("mqtt://")){const i=n.replace("mqtt://","");i.includes("broker.emqx.io")?n="ws://broker.emqx.io:8083/mqtt":n=`ws://${i}:8083/mqtt`}else if(n.startsWith("mqtts://")){const i=n.replace("mqtts://","");i.includes("broker.emqx.io")?n="wss://broker.emqx.io:8084/mqtt":n=`wss://${i}:8084/mqtt`}else!n.startsWith("ws://")&&!n.startsWith("wss://")&&(n=`ws://${n}:8083/mqtt`);const o={clientId:r.clientId||`scada_${Math.random().toString(16).substring(2,8)}`,clean:!0,reconnectPeriod:0};r.username&&r.username.trim()&&(o.username=r.username),r.password&&r.password.trim()&&(o.password=r.password);try{this.client=ab.connect(n,o),this.client.on("connect",i=>{this.isConnected=!0,this.client&&r.topic&&this.client.subscribe(r.topic,a=>{a?(console.error("[MQTT] 订阅失败:",a),l(a)):t()})}),this.client.on("message",(i,a)=>{try{const s=a.toString();let d=JSON.parse(s);if(r.dataPath){const m=r.dataPath.split(".");for(const h of m)d=d==null?void 0:d[h]}const p=this.parseDeviceData(d);this.onDataCallback&&p&&this.onDataCallback(p)}catch(s){console.error("[MQTT] 消息解析失败:",s),this.onErrorCallback&&this.onErrorCallback(s)}}),this.client.on("error",i=>{console.error("[MQTT] 连接错误:",i),this.isConnected=!1,this.onErrorCallback&&this.onErrorCallback(i)}),this.client.on("close",()=>{console.warn("[MQTT] 连接断开 - 可能原因:认证失败、clientId冲突、权限不足或服务器主动断开"),this.isConnected=!1}),this.client.on("offline",()=>{console.warn("[MQTT] 客户端离线")}),this.client.on("end",()=>{console.log("[MQTT] 连接已结束")})}catch(i){console.error("[MQTT] 创建客户端失败:",i),l(i)}})}parseDeviceData(r){if(!r)return null;if(r.deviceId&&Array.isArray(r.points))return{id:r.deviceId,name:r.deviceName||r.deviceId,points:r.points.map(t=>({id:t.id||t.pointId,name:t.name||t.id||t.pointId,code:t.code||t.id||t.pointId,dataType:t.dataType||(typeof t.value=="boolean"?"boolean":typeof t.value=="number"?"number":"string"),accessMode:t.accessMode||"readWrite",value:t.value,quality:t.quality||"good",timestamp:t.timestamp||new Date().toISOString(),unit:t.unit,enabled:t.enabled!==!1}))};if(r.deviceId&&r.pointId&&r.value!==void 0)return{id:r.deviceId,name:r.deviceName||r.deviceId,points:[{id:r.pointId,name:r.pointName||r.pointId,code:r.pointCode||r.pointId,dataType:r.dataType||(typeof r.value=="boolean"?"boolean":typeof r.value=="number"?"number":"string"),accessMode:r.accessMode||"readWrite",value:r.value,quality:r.quality||"good",timestamp:r.timestamp||new Date().toISOString(),unit:r.unit,enabled:r.enabled!==!1}]};if(r.deviceId){const t=[];for(const l in r)if(l!=="deviceId"&&l!=="deviceName"&&l!=="timestamp"){const n=r[l];t.push({id:l,name:l,code:l,dataType:typeof n=="boolean"?"boolean":typeof n=="number"?"number":"string",accessMode:"readWrite",value:n,quality:"good",timestamp:r.timestamp||new Date().toISOString(),enabled:!0})}if(t.length>0)return{id:r.deviceId,name:r.deviceName||r.deviceId,points:t}}return null}onData(r){this.onDataCallback=r}onError(r){this.onErrorCallback=r}publish(r,t){if(!this.client||!this.isConnected){console.warn("[MQTT] 未连接,无法发布消息");return}const l=typeof t=="string"?t:JSON.stringify(t);this.client.publish(r,l,n=>{n?console.error("[MQTT] 消息发布失败:",n):console.log("[MQTT] 消息发布成功:",r)})}disconnect(){if(this.client){console.log("[MQTT] 断开连接");try{this.client.removeAllListeners(),this.client.end(!0)}catch(r){console.warn("[MQTT] 断开连接时出错:",r)}this.client=null,this.isConnected=!1}}getConnectionStatus(){return this.isConnected}getConfig(){return this.config}}function cb(){return new lb}class db{constructor(){Se(this,"dataSources",e.reactive(new Map));Se(this,"connections",new Map);Se(this,"onDataCallbacks",[])}addDataSource(r){this.dataSources.set(r.id,r),r.enabled&&this.connectDataSource(r.id)}updateDataSource(r,t){const l=this.dataSources.get(r);l&&(Object.assign(l,t),(t.config||t.enabled!==void 0)&&this.reconnectDataSource(r))}removeDataSource(r){this.disconnectDataSource(r),this.dataSources.delete(r)}getDataSource(r){return this.dataSources.get(r)}getAllDataSources(){return Array.from(this.dataSources.values())}getAllDevices(){const r=[];return this.dataSources.forEach(t=>{t.devices.forEach(l=>{r.push({dataSourceId:t.id,dataSourceName:t.name,device:l})})}),r}async connectDataSource(r){const t=this.dataSources.get(r);if(t)try{switch(this.disconnectDataSource(r),t.type){case"MQTT":await this.connectMqtt(r,t);break;case"WebSocket":await this.connectWebSocket(r,t);break;case"HTTP":await this.connectHttp(r,t);break;case"SSE":await this.connectSSE(r,t);break}t.status&&(t.status.connected=!0,t.status.error=void 0)}catch(l){console.error(`[DataSource] 连接失败: ${t.name}`,l),t.status&&(t.status.connected=!1,t.status.error=l.message)}}disconnectDataSource(r){const t=this.connections.get(r);if(!t)return;const l=this.dataSources.get(r);if(l){try{l.type==="MQTT"?t.disconnect():l.type==="WebSocket"?t.close():l.type==="HTTP"?t.intervalId&&clearInterval(t.intervalId):l.type==="SSE"&&t.close()}catch(n){console.error("[DataSource] 断开连接失败:",n)}this.connections.delete(r),l.status&&(l.status.connected=!1)}}async reconnectDataSource(r){const t=this.dataSources.get(r);t&&(t.enabled?await this.connectDataSource(r):this.disconnectDataSource(r))}async connectMqtt(r,t){const l=cb();l.onData(o=>{this.handleDeviceData(r,o)}),l.onError(o=>{console.error(`[MQTT] 数据源 ${t.name} 错误:`,o),t.status&&(t.status.error=o.message)});const n={broker:t.config.broker||"",topic:t.config.topic||"",clientId:t.config.clientId,username:t.config.username,password:t.config.password,dataPath:t.config.dataPath,enabled:!0,retryCount:t.config.retryCount||3};await l.connect(n),this.connections.set(r,l)}async connectWebSocket(r,t){console.log("[WebSocket] 连接功能待实现")}async connectHttp(r,t){console.log("[HTTP] 轮询功能待实现")}async connectSSE(r,t){console.log("[SSE] 连接功能待实现")}handleDeviceData(r,t){const l=this.dataSources.get(r);if(!l)return;const n=l.devices.findIndex(o=>o.id===t.id);if(n>=0){const o=l.devices[n];t.points.forEach(i=>{const a=o.points.findIndex(s=>s.id===i.id);a>=0?o.points[a]={...o.points[a],...i}:o.points.push(i)}),o.name=t.name||o.name}else l.devices.push({id:t.id,name:t.name||t.id,points:t.points});l.status&&(l.status.lastUpdate=new Date().toISOString()),this.onDataCallbacks.forEach(o=>{o(r,t)})}onData(r){this.onDataCallbacks.push(r)}disconnectAll(){this.dataSources.forEach((r,t)=>{this.disconnectDataSource(t)})}getDataSourceStatus(r){const t=this.dataSources.get(r);return(t==null?void 0:t.status)||null}}const Ke=new db,ub={class:"compact-data-binding"},fb={class:"compact-row"},pb=["value"],hb=["value"],mb=["title"],gb={key:0,class:"compact-row"},yb=["value"],bb=["value"],wb={key:1,class:"compact-hint"},Eb={key:2,class:"compact-hint"},vb=Me(e.defineComponent({__name:"DataPropertiesTab",props:{selectedNode:{}},emits:["update-data-source"],setup(u,{emit:r}){const t=u,l=r,n=e.computed(()=>Ke.getAllDataSources()),o=e.ref(""),i=e.ref(""),a=e.computed(()=>o.value?Ke.getDataSource(o.value):null),s=e.computed(()=>a.value?a.value.devices||[]:[]);e.computed(()=>!i.value||!s.value?null:s.value.find(m=>m.id===i.value)),e.watch(()=>t.selectedNode,m=>{if(m){const h=m.getData();h!=null&&h.dataBinding?(o.value=h.dataBinding.dataSourceId||"",i.value=h.dataBinding.deviceId||""):(o.value="",i.value="")}},{immediate:!0});const c=m=>{const h=m.target.value;o.value=h,i.value="",p()},d=m=>{const h=m.target.value;i.value=h,p()},p=()=>{l("update-data-source",{dataSourceId:o.value,deviceId:i.value})};return(m,h)=>{var f,w,v,S;return e.openBlock(),e.createElementBlock("div",ub,[e.createElementVNode("div",fb,[h[1]||(h[1]=e.createElementVNode("label",null,"数据源",-1)),e.createElementVNode("select",{value:o.value,onChange:c,class:"compact-select"},[h[0]||(h[0]=e.createElementVNode("option",{value:""},"无",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,b=>(e.openBlock(),e.createElementBlock("option",{key:b.id,value:b.id},e.toDisplayString(b.name),9,hb))),128))],40,pb),o.value?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["status-dot",(w=(f=a.value)==null?void 0:f.status)!=null&&w.connected?"connected":"disconnected"]),title:(S=(v=a.value)==null?void 0:v.status)!=null&&S.connected?"已连接":"未连接"},null,10,mb)):e.createCommentVNode("",!0)]),o.value&&s.value.length>0?(e.openBlock(),e.createElementBlock("div",gb,[h[3]||(h[3]=e.createElementVNode("label",null,"选择设备",-1)),e.createElementVNode("select",{value:i.value,onChange:d,class:"compact-select"},[h[2]||(h[2]=e.createElementVNode("option",{value:""},"请选择",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,b=>(e.openBlock(),e.createElementBlock("option",{key:b.id,value:b.id},e.toDisplayString(b.name)+" ("+e.toDisplayString(b.points.length)+") ",9,bb))),128))],40,yb)])):e.createCommentVNode("",!0),o.value?s.value.length===0?(e.openBlock(),e.createElementBlock("div",Eb," ℹ️ 该数据源尚无设备数据 ")):e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",wb," 💡 请先配置数据源 "))])}}}),[["__scopeId","data-v-47fdd6c8"]]),kb={class:"edge-properties-tab"},_b={class:"property-section"},Nb={class:"property-item"},xb={class:"color-input-wrapper"},Sb=["value"],Vb=["value"],Cb={class:"property-item"},Ib={class:"number-input-wrapper"},Ab=["value"],$b={class:"property-item"},Tb=["value"],Bb={class:"property-item"},Db={class:"slider-wrapper"},Pb=["value"],Ob={class:"slider-value"},Mb={class:"property-item"},Rb=["value"],jb={key:0,class:"property-item"},Lb={class:"number-input-wrapper"},Ub=["value"],Fb={class:"property-section"},zb={class:"property-item"},Wb=["value"],qb={class:"property-item"},Gb=["value"],Hb={class:"property-section"},Kb={class:"property-item"},Yb=["value"],Qb={class:"property-item"},Jb=["value"],Xb=Me(e.defineComponent({__name:"EdgePropertiesTab",props:{selectedEdge:{}},emits:["updateEdge","deleteEdge"],setup(u,{emit:r}){const t=u,l=r,n=e.computed(()=>{var E;return((E=t.selectedEdge)==null?void 0:E.getAttrs())||{}}),o=E=>{const I=E.target.value;l("updateEdge",{attrs:{line:{stroke:I}}})},i=E=>{const I=Number(E.target.value);l("updateEdge",{attrs:{line:{strokeWidth:I}}})},a=()=>{var I;const E=(I=n.value.line)==null?void 0:I.strokeDasharray;return E?E==="5,5"?"5,5":E==="2,2"?"2,2":E==="10,5,2,5"?"10,5,2,5":"none":"none"},s=E=>{const I=E.target.value;l("updateEdge",{attrs:{line:{strokeDasharray:I==="none"?void 0:I}}})},c=E=>{const I=Number(E.target.value);l("updateEdge",{attrs:{line:{opacity:I}}})},d=E=>{var x;const I=(x=n.value.line)==null?void 0:x[`${E}Marker`];return!I||typeof I!="object"||!I.name?"none":I.name},p=()=>{var x;const E=(x=n.value.line)==null?void 0:x.opacity;return((E!==void 0&&typeof E=="number"?E:1)*100).toFixed(0)},m=E=>{const I=E.target.value;l("updateEdge",{attrs:{line:{sourceMarker:I==="none"?void 0:{name:I,width:8,height:6}}}})},h=E=>{const I=E.target.value;l("updateEdge",{attrs:{line:{targetMarker:I==="none"?void 0:{name:I,width:8,height:6}}}})},f=E=>{const I=E.target.value;l("updateEdge",{router:I})},w=E=>{const I=E.target.value;l("updateEdge",{connector:{name:I,args:I==="rounded"?{radius:8}:void 0}})},v=()=>{l("deleteEdge")},S=()=>{var I,x;const E=(x=(I=t.selectedEdge)==null?void 0:I.data)==null?void 0:x.animation;return E!=null&&E.enabled?"true":"false"},b=()=>{var I,x;const E=(x=(I=t.selectedEdge)==null?void 0:I.data)==null?void 0:x.animation;return E!=null&&E.duration?E.duration/1e3:2},_=E=>{if(!(E.target.value==="true"))l("updateEdge",{data:{animation:{enabled:!1}},animation:{enabled:!1}});else{const x=b()*1e3;l("updateEdge",{data:{animation:{enabled:!0,duration:x}},animation:{enabled:!0,duration:x}})}},k=E=>{const x=Number(E.target.value)*1e3;l("updateEdge",{data:{animation:{enabled:!0,duration:x}},animation:{enabled:!0,duration:x}})};return(E,I)=>{var x,V,$,C,P,A,U,Y;return e.openBlock(),e.createElementBlock("div",kb,[e.createElementVNode("div",_b,[I[10]||(I[10]=e.createElementVNode("h4",{class:"section-title"},"线条样式",-1)),e.createElementVNode("div",Nb,[I[0]||(I[0]=e.createElementVNode("label",{class:"property-label"},"线条颜色",-1)),e.createElementVNode("div",xb,[e.createElementVNode("input",{type:"color",class:"color-input",value:((x=n.value.line)==null?void 0:x.stroke)||"#10b981",onInput:o},null,40,Sb),e.createElementVNode("input",{type:"text",class:"color-text",value:((V=n.value.line)==null?void 0:V.stroke)||"#10b981",onInput:o},null,40,Vb)])]),e.createElementVNode("div",Cb,[I[2]||(I[2]=e.createElementVNode("label",{class:"property-label"},"线条粗细",-1)),e.createElementVNode("div",Ib,[e.createElementVNode("input",{type:"number",class:"property-input",min:"1",max:"20",step:"1",value:(($=n.value.line)==null?void 0:$.strokeWidth)||2,onInput:i},null,40,Ab),I[1]||(I[1]=e.createElementVNode("span",{class:"input-unit"},"px",-1))])]),e.createElementVNode("div",$b,[I[4]||(I[4]=e.createElementVNode("label",{class:"property-label"},"线条样式",-1)),e.createElementVNode("select",{class:"property-select",value:a(),onChange:s},[...I[3]||(I[3]=[e.createElementVNode("option",{value:"none"},"实线",-1),e.createElementVNode("option",{value:"5,5"},"虚线",-1),e.createElementVNode("option",{value:"2,2"},"点线",-1),e.createElementVNode("option",{value:"10,5,2,5"},"点划线",-1)])],40,Tb)]),e.createElementVNode("div",Bb,[I[5]||(I[5]=e.createElementVNode("label",{class:"property-label"},"透明度",-1)),e.createElementVNode("div",Db,[e.createElementVNode("input",{type:"range",class:"property-slider",min:"0",max:"1",step:"0.1",value:((C=n.value.line)==null?void 0:C.opacity)!==void 0?n.value.line.opacity:1,onInput:c},null,40,Pb),e.createElementVNode("span",Ob,e.toDisplayString(p())+"%",1)])]),e.createElementVNode("div",Mb,[I[7]||(I[7]=e.createElementVNode("label",{class:"property-label"},"流动动画",-1)),e.createElementVNode("select",{class:"property-select",value:S(),onChange:_},[...I[6]||(I[6]=[e.createElementVNode("option",{value:"false"},"关闭",-1),e.createElementVNode("option",{value:"true"},"开启",-1)])],40,Rb)]),S()==="true"?(e.openBlock(),e.createElementBlock("div",jb,[I[9]||(I[9]=e.createElementVNode("label",{class:"property-label"},"动画速度",-1)),e.createElementVNode("div",Lb,[e.createElementVNode("input",{type:"number",class:"property-input",min:"0.5",max:"10",step:"0.5",value:b(),onInput:k},null,40,Ub),I[8]||(I[8]=e.createElementVNode("span",{class:"input-unit"},"秒",-1))])])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Fb,[I[15]||(I[15]=e.createElementVNode("h4",{class:"section-title"},"箭头样式",-1)),e.createElementVNode("div",zb,[I[12]||(I[12]=e.createElementVNode("label",{class:"property-label"},"起点箭头",-1)),e.createElementVNode("select",{class:"property-select",value:d("source"),onChange:m},[...I[11]||(I[11]=[e.createStaticVNode('<option value="none" data-v-e47f1784>无</option><option value="block" data-v-e47f1784>实心箭头</option><option value="classic" data-v-e47f1784>经典箭头</option><option value="diamond" data-v-e47f1784>菱形</option><option value="circle" data-v-e47f1784>圆形</option>',5)])],40,Wb)]),e.createElementVNode("div",qb,[I[14]||(I[14]=e.createElementVNode("label",{class:"property-label"},"终点箭头",-1)),e.createElementVNode("select",{class:"property-select",value:d("target"),onChange:h},[...I[13]||(I[13]=[e.createStaticVNode('<option value="none" data-v-e47f1784>无</option><option value="block" data-v-e47f1784>实心箭头</option><option value="classic" data-v-e47f1784>经典箭头</option><option value="diamond" data-v-e47f1784>菱形</option><option value="circle" data-v-e47f1784>圆形</option>',5)])],40,Gb)])]),e.createElementVNode("div",Hb,[I[20]||(I[20]=e.createElementVNode("h4",{class:"section-title"},"连接器",-1)),e.createElementVNode("div",Kb,[I[17]||(I[17]=e.createElementVNode("label",{class:"property-label"},"路由方式",-1)),e.createElementVNode("select",{class:"property-select",value:((A=(P=u.selectedEdge)==null?void 0:P.getRouter())==null?void 0:A.name)||"manhattan",onChange:f},[...I[16]||(I[16]=[e.createElementVNode("option",{value:"manhattan"},"曼哈顿",-1),e.createElementVNode("option",{value:"orth"},"正交",-1),e.createElementVNode("option",{value:"normal"},"直线",-1)])],40,Yb)]),e.createElementVNode("div",Qb,[I[19]||(I[19]=e.createElementVNode("label",{class:"property-label"},"连接器类型",-1)),e.createElementVNode("select",{class:"property-select",value:((Y=(U=u.selectedEdge)==null?void 0:U.getConnector())==null?void 0:Y.name)||"rounded",onChange:w},[...I[18]||(I[18]=[e.createElementVNode("option",{value:"rounded"},"圆角",-1),e.createElementVNode("option",{value:"smooth"},"平滑",-1),e.createElementVNode("option",{value:"normal"},"普通",-1)])],40,Jb)])]),e.createElementVNode("div",{class:"property-section"},[e.createElementVNode("button",{class:"delete-btn",onClick:v}," 删除连线 ")])])}}}),[["__scopeId","data-v-e47f1784"]]),Zb={class:"event-card"},e1={class:"header-left"},t1={class:"collapse-icon"},r1={class:"event-title"},o1={class:"event-card-body"},n1={class:"event-field"},i1=["value"],s1={class:"event-field"},a1=["value"],l1={class:"event-field"},c1=["value"],d1={class:"condition-config"},u1=["value"],f1=["value"],p1=["value"],h1=["value"],m1={key:0,class:"config-section"},g1={key:1,class:"config-section"},y1={key:2,class:"config-section"},b1={key:0,class:"selected-workflow-info"},w1={class:"info-row"},E1={class:"info-value"},v1={class:"event-field"},k1=["value"],Pi=Me(e.defineComponent({__name:"EventCard",props:{event:{},index:{},isCollapsed:{type:Boolean},nodeProperties:{}},emits:["toggle-collapse","remove","update-field","update-condition","update-params","open-attribute-config","open-custom-code","open-workflow-selector"],setup(u){return(r,t)=>{var l,n,o,i,a,s,c;return e.openBlock(),e.createElementBlock("div",Zb,[e.createElementVNode("div",{class:"event-card-header",onClick:t[1]||(t[1]=d=>r.$emit("toggle-collapse"))},[e.createElementVNode("div",e1,[e.createElementVNode("span",t1,e.toDisplayString(u.isCollapsed?"▶":"▼"),1),e.createElementVNode("span",r1,"事件"+e.toDisplayString(u.index+1),1)]),e.createElementVNode("button",{class:"btn-remove",onClick:t[0]||(t[0]=e.withModifiers(d=>r.$emit("remove"),["stop"])),title:"删除事件"},"🗑")]),e.withDirectives(e.createElementVNode("div",o1,[e.createElementVNode("div",n1,[t[12]||(t[12]=e.createElementVNode("label",null,"事件名称",-1)),e.createElementVNode("input",{type:"text",value:u.event.name||"",onInput:t[2]||(t[2]=d=>r.$emit("update-field","name",d)),placeholder:"输入事件名称,如:温度报警、湿度预警"},null,40,i1)]),e.createElementVNode("div",s1,[t[14]||(t[14]=e.createElementVNode("label",null,"事件类型",-1)),e.createElementVNode("select",{value:u.event.type,onChange:t[3]||(t[3]=d=>r.$emit("update-field","type",d))},[...t[13]||(t[13]=[e.createStaticVNode('<option value="click" data-v-af7c633a>单击</option><option value="dblclick" data-v-af7c633a>双击</option><option value="mouseenter" data-v-af7c633a>鼠标移入</option><option value="mouseleave" data-v-af7c633a>鼠标移出</option><option value="focus" data-v-af7c633a>获取焦点</option><option value="blur" data-v-af7c633a>失去焦点</option><option value="input" data-v-af7c633a>输入</option><option value="change" data-v-af7c633a>值变化</option>',8)])],40,a1)]),e.createElementVNode("div",l1,[t[16]||(t[16]=e.createElementVNode("label",null,"事件行为",-1)),e.createElementVNode("select",{value:u.event.action,onChange:t[4]||(t[4]=d=>r.$emit("update-field","action",d))},[...t[15]||(t[15]=[e.createElementVNode("option",{value:"attributeChange"},"更改属性",-1),e.createElementVNode("option",{value:"customCode"},"自定义代码",-1),e.createElementVNode("option",{value:"callProcess"},"调用流程",-1)])],40,c1)]),t[30]||(t[30]=e.createElementVNode("div",{class:"section-title"},"形参配置",-1)),t[31]||(t[31]=e.createElementVNode("div",{class:"field-hint"},"(不填直接触发)",-1)),t[32]||(t[32]=e.createElementVNode("div",{class:"section-title"},"触发规则",-1)),t[33]||(t[33]=e.createElementVNode("div",{class:"field-hint"},"(不填写条件则直接触发,填写后按条件触发)",-1)),e.createElementVNode("div",d1,[t[19]||(t[19]=e.createElementVNode("div",{class:"condition-label"},"当",-1)),t[20]||(t[20]=e.createElementVNode("div",{class:"condition-label"},"当前节点属性",-1)),e.createElementVNode("select",{class:"condition-select",value:((l=u.event.condition)==null?void 0:l.attribute)||"",onChange:t[5]||(t[5]=d=>r.$emit("update-condition","attribute",d))},[t[17]||(t[17]=e.createElementVNode("option",{value:""},"选择属性",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.nodeProperties,d=>(e.openBlock(),e.createElementBlock("option",{key:d.key,value:d.key},e.toDisplayString(d.label),9,f1))),128))],40,u1),t[21]||(t[21]=e.createElementVNode("div",{class:"condition-label"},"运算符",-1)),e.createElementVNode("select",{class:"condition-select",value:((n=u.event.condition)==null?void 0:n.operator)||"==",onChange:t[6]||(t[6]=d=>r.$emit("update-condition","operator",d))},[...t[18]||(t[18]=[e.createStaticVNode('<option value="==" data-v-af7c633a>等于</option><option value="!=" data-v-af7c633a>不等于</option><option value="&gt;" data-v-af7c633a>大于</option><option value="&gt;=" data-v-af7c633a>大于等于</option><option value="&lt;" data-v-af7c633a>小于</option><option value="&lt;=" data-v-af7c633a>小于等于</option><option value="contains" data-v-af7c633a>包含</option>',7)])],40,p1),t[22]||(t[22]=e.createElementVNode("div",{class:"condition-label"},"值",-1)),e.createElementVNode("input",{type:"text",class:"condition-input",value:((o=u.event.condition)==null?void 0:o.value)||"",onInput:t[7]||(t[7]=d=>r.$emit("update-condition","value",d)),placeholder:"输入值"},null,40,h1),t[23]||(t[23]=e.createElementVNode("div",{class:"condition-label"},"时",-1)),t[24]||(t[24]=e.createElementVNode("div",{class:"condition-label"},"触发该事件",-1))]),u.event.action==="attributeChange"?(e.openBlock(),e.createElementBlock("div",m1,[t[25]||(t[25]=e.createElementVNode("div",{class:"section-title"},"属性更改",-1)),e.createElementVNode("button",{class:"btn-config",onClick:t[8]||(t[8]=d=>r.$emit("open-attribute-config"))},"点击配置")])):e.createCommentVNode("",!0),u.event.action==="customCode"?(e.openBlock(),e.createElementBlock("div",g1,[t[26]||(t[26]=e.createElementVNode("div",{class:"section-title"},"自定义代码",-1)),e.createElementVNode("button",{class:"btn-config",onClick:t[9]||(t[9]=d=>r.$emit("open-custom-code"))},"点击配置")])):e.createCommentVNode("",!0),u.event.action==="callProcess"?(e.openBlock(),e.createElementBlock("div",y1,[t[29]||(t[29]=e.createElementVNode("div",{class:"section-title"},"调用流程",-1)),e.createElementVNode("button",{class:"btn-config",onClick:t[10]||(t[10]=d=>r.$emit("open-workflow-selector"))},"选择流程"),(i=u.event.params)!=null&&i.processId?(e.openBlock(),e.createElementBlock("div",b1,[e.createElementVNode("div",w1,[t[27]||(t[27]=e.createElementVNode("span",{class:"info-label"},"已选择:",-1)),e.createElementVNode("span",E1,e.toDisplayString(((a=u.event.params)==null?void 0:a.processName)||((s=u.event.params)==null?void 0:s.processId)),1)]),e.createElementVNode("div",v1,[t[28]||(t[28]=e.createElementVNode("label",null,"传入参数",-1)),e.createElementVNode("textarea",{value:((c=u.event.params)==null?void 0:c.processParams)||"",onInput:t[11]||(t[11]=d=>r.$emit("update-params","processParams",d)),placeholder:'JSON格式: {"param1":"value1","param2":"value2"}',rows:"3"},null,40,k1)])])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)],512),[[e.vShow,!u.isCollapsed]])])}}}),[["__scopeId","data-v-af7c633a"]]),_1={class:"point-selector"},N1={class:"point-list-panel"},x1={class:"panel-header"},S1={class:"point-count"},V1={class:"search-box"},C1={class:"point-list"},I1={key:0,class:"empty-hint"},A1=["onClick"],$1={class:"point-info"},T1={class:"point-name"},B1={class:"point-meta"},D1={class:"point-code"},P1={key:0,class:"point-unit"},O1={class:"point-type"},M1={key:0,class:"point-value"},R1={class:"value"},j1={class:"modal-footer"},L1=["disabled"],U1=Me(e.defineComponent({__name:"DevicePointSelector",props:{visible:{type:Boolean},deviceId:{},deviceName:{},modelValue:{},deviceData:{}},emits:["update:visible","update:modelValue","confirm"],setup(u,{emit:r}){const t=u,l=r,n=e.ref(null),o=e.ref(null),i=e.ref("");e.watch(()=>{var f;return[(f=t.deviceData)==null?void 0:f.devices,t.deviceId]},([f,w])=>{if(f&&w){const v=f.find(S=>S.id===w);n.value=v||null}else n.value=null},{immediate:!0}),e.watch(()=>t.modelValue,f=>{f&&n.value&&(o.value=n.value.points.find(w=>w.id===f)||null)},{immediate:!0});const a=e.computed(()=>{if(!n.value)return[];const f=n.value.points;if(!i.value)return f;const w=i.value.toLowerCase();return f.filter(v=>{var S,b;return((S=v.name)==null?void 0:S.toLowerCase().includes(w))||((b=v.code)==null?void 0:b.toLowerCase().includes(w))})}),s=f=>{f.enabled&&(o.value=f)},c=()=>{l("update:visible",!1)},d=()=>{o.value&&(l("update:modelValue",o.value.id),l("confirm",o.value.id,o.value),l("update:visible",!1))},p=f=>({read:"只读",write:"只写",readWrite:"读写"})[f]||f,m=f=>({boolean:"布尔",number:"数值",string:"字符",json:"JSON"})[f]||f,h=f=>f.value===void 0||f.value===null?"-":f.dataType==="boolean"?f.value?"是":"否":f.dataType==="number"&&f.precision!==void 0?Number(f.value).toFixed(f.precision):String(f.value);return(f,w)=>u.visible?(e.openBlock(),e.createElementBlock("div",{key:0,class:"modal-overlay",onClick:c},[e.createElementVNode("div",{class:"modal-container",onClick:w[1]||(w[1]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",{class:"modal-header"},[w[2]||(w[2]=e.createElementVNode("h3",null,"选择点位",-1)),e.createElementVNode("button",{class:"btn-close",onClick:c},"✕")]),e.createElementVNode("div",_1,[e.createElementVNode("div",N1,[e.createElementVNode("div",x1,[e.createElementVNode("h4",null,e.toDisplayString(u.deviceName||"点位列表"),1),e.createElementVNode("span",S1,e.toDisplayString(a.value.length),1)]),e.createElementVNode("div",V1,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":w[0]||(w[0]=v=>i.value=v),type:"text",placeholder:"搜索点位...",class:"search-input"},null,512),[[e.vModelText,i.value]])]),e.createElementVNode("div",C1,[a.value.length===0?(e.openBlock(),e.createElementBlock("div",I1," 暂无点位 ")):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(a.value,v=>{var S;return e.openBlock(),e.createElementBlock("div",{key:v.id,class:e.normalizeClass(["point-item",{active:((S=o.value)==null?void 0:S.id)===v.id,disabled:!v.enabled}]),onClick:b=>s(v)},[e.createElementVNode("div",$1,[e.createElementVNode("div",T1,[e.createTextVNode(e.toDisplayString(v.name)+" ",1),e.createElementVNode("span",{class:e.normalizeClass(["access-mode",v.accessMode])},e.toDisplayString(p(v.accessMode)),3)]),e.createElementVNode("div",B1,[e.createElementVNode("span",D1,e.toDisplayString(v.code),1),v.unit?(e.openBlock(),e.createElementBlock("span",P1,e.toDisplayString(v.unit),1)):e.createCommentVNode("",!0),e.createElementVNode("span",O1,e.toDisplayString(m(v.dataType)),1)]),v.value!==void 0?(e.openBlock(),e.createElementBlock("div",M1,[w[3]||(w[3]=e.createTextVNode(" 当前值: ",-1)),e.createElementVNode("span",R1,e.toDisplayString(h(v)),1),e.createElementVNode("span",{class:e.normalizeClass(["quality",v.quality])},e.toDisplayString(v.quality),3)])):e.createCommentVNode("",!0)])],10,A1)}),128))])])]),e.createElementVNode("div",j1,[e.createElementVNode("button",{class:"btn-cancel",onClick:c},"取消"),e.createElementVNode("button",{class:"btn-confirm",disabled:!o.value,onClick:d}," 确定 ",8,L1)])])])):e.createCommentVNode("",!0)}}),[["__scopeId","data-v-d75f8845"]]);var Jt=(u=>(u.DIRECT="direct",u.BOOLEAN="boolean",u.RANGE="range",u.ENUM="enum",u))(Jt||{}),wr=(u=>(u.BOOLEAN="boolean",u.NUMBER="number",u.STRING="string",u))(wr||{});const F1={class:"mapping-configurator"},z1={class:"config-item"},W1={key:0,class:"field-hint error"},q1={key:1,class:"field-hint"},G1={class:"config-item"},H1={key:0,class:"field-hint error"},K1={key:1,class:"field-hint"},Y1={key:0,class:"config-item"},Q1={class:"unit-config"},J1={class:"checkbox-label"},X1={key:0,class:"custom-unit"},Z1={key:1,class:"mapping-details"},ew={class:"config-item"},tw={class:"config-item"},rw={key:2,class:"mapping-details"},ow={class:"range-rules"},nw=["onUpdate:modelValue"],iw=["onUpdate:modelValue"],sw=["onUpdate:modelValue"],aw=["onClick"],lw={key:3,class:"mapping-details"},cw={class:"enum-mappings"},dw=["value","onInput"],uw=["onUpdate:modelValue"],fw=["onClick"],pw={key:4,class:"mapping-preview"},hw={class:"preview-content"},mw={class:"preview-item"},gw={class:"preview-output"},yw={class:"preview-item"},bw={class:"preview-output"},ww={class:"preview-input"},Ew={class:"preview-output"},vw={class:"preview-input"},kw={class:"preview-output"},_w=Me(e.defineComponent({__name:"MappingConfigurator",props:{visible:{type:Boolean},modelValue:{}},emits:["update:visible","update:modelValue","confirm"],setup(u,{emit:r}){const t=u,l=r,n=e.ref(t.modelValue||{type:"",valueType:""});e.watch(()=>t.modelValue,S=>{S&&(n.value={...S})},{deep:!0});const o=()=>{n.value.type||(n.value.valueType===wr.BOOLEAN?n.value.type=Jt.BOOLEAN:n.value.valueType===wr.NUMBER?n.value.type=Jt.RANGE:n.value.type=Jt.DIRECT),n.value.valueType!==wr.NUMBER&&(delete n.value.keepOriginalUnit,delete n.value.customUnit)},i=S=>({boolean:"适用于开关状态、是否判断等场景",number:"适用于温度、压力、流量等数值型数据",string:"适用于文本、状态码等字符型数据"})[S]||"",a=S=>({direct:"不做任何转换,直接使用原始值",boolean:"根据 true/false 转换为不同的值",range:"根据数值范围转换为对应值",enum:"根据枚举键值对转换"})[S]||"",s=()=>{const S=n.value.valueType;n.value={type:n.value.type,valueType:S},n.value.type===Jt.RANGE?n.value.rangeRules=[]:n.value.type===Jt.ENUM&&(n.value.enumMappings={})},c=()=>{n.value.rangeRules||(n.value.rangeRules=[]),n.value.rangeRules.push({min:0,max:100,value:""})},d=S=>{var b;(b=n.value.rangeRules)==null||b.splice(S,1)},p=()=>{n.value.enumMappings||(n.value.enumMappings={});const S=`key_${Object.keys(n.value.enumMappings).length+1}`;n.value.enumMappings[S]=""},m=S=>{n.value.enumMappings&&delete n.value.enumMappings[S]},h=(S,b)=>{const _=S.target.value;if(!n.value.enumMappings||_===b)return;const k=n.value.enumMappings[b];delete n.value.enumMappings[b],n.value.enumMappings[_]=k},f=()=>{},w=()=>{l("update:visible",!1)},v=()=>{if(!n.value.valueType){alert("请选择值类型!");return}if(!n.value.type){alert("请选择映射类型!");return}l("update:modelValue",{...n.value}),l("confirm",{...n.value}),l("update:visible",!1)};return(S,b)=>u.visible?(e.openBlock(),e.createElementBlock("div",{key:0,class:"modal-overlay",onClick:w},[e.createElementVNode("div",{class:"modal-container",onClick:b[6]||(b[6]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",{class:"modal-header"},[b[7]||(b[7]=e.createElementVNode("h3",null,"值映射配置",-1)),e.createElementVNode("button",{class:"btn-close",onClick:w},"✕")]),e.createElementVNode("div",F1,[e.createElementVNode("div",z1,[b[9]||(b[9]=e.createElementVNode("label",null,[e.createTextVNode("值类型 "),e.createElementVNode("span",{class:"required"},"*")],-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":b[0]||(b[0]=_=>n.value.valueType=_),onChange:o},[...b[8]||(b[8]=[e.createElementVNode("option",{value:""},"请选择值类型",-1),e.createElementVNode("option",{value:"boolean"},"布尔型 (true/false)",-1),e.createElementVNode("option",{value:"number"},"数值型 (123, 45.6)",-1),e.createElementVNode("option",{value:"string"},'字符串型 ("abc")',-1)])],544),[[e.vModelSelect,n.value.valueType]]),n.value.valueType?(e.openBlock(),e.createElementBlock("div",q1,e.toDisplayString(i(n.value.valueType)),1)):(e.openBlock(),e.createElementBlock("div",W1," 值类型为必填项 "))]),e.createElementVNode("div",G1,[b[11]||(b[11]=e.createElementVNode("label",null,[e.createTextVNode("映射类型 "),e.createElementVNode("span",{class:"required"},"*")],-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":b[1]||(b[1]=_=>n.value.type=_),onChange:s},[...b[10]||(b[10]=[e.createStaticVNode('<option value="" data-v-ef9e0ee1>请选择映射类型</option><option value="direct" data-v-ef9e0ee1>直接映射(无转换)</option><option value="boolean" data-v-ef9e0ee1>布尔映射</option><option value="range" data-v-ef9e0ee1>范围映射</option><option value="enum" data-v-ef9e0ee1>枚举映射</option>',5)])],544),[[e.vModelSelect,n.value.type]]),n.value.type?(e.openBlock(),e.createElementBlock("div",K1,e.toDisplayString(a(n.value.type)),1)):(e.openBlock(),e.createElementBlock("div",H1," 映射类型为必填项 "))]),n.value.valueType==="number"?(e.openBlock(),e.createElementBlock("div",Y1,[b[13]||(b[13]=e.createElementVNode("label",null,"单位配置",-1)),e.createElementVNode("div",Q1,[e.createElementVNode("label",J1,[e.withDirectives(e.createElementVNode("input",{type:"checkbox","onUpdate:modelValue":b[2]||(b[2]=_=>n.value.keepOriginalUnit=_),onChange:f},null,544),[[e.vModelCheckbox,n.value.keepOriginalUnit]]),b[12]||(b[12]=e.createTextVNode(" 保留点位原始单位 ",-1))]),n.value.keepOriginalUnit?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",X1,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":b[3]||(b[3]=_=>n.value.customUnit=_),type:"text",placeholder:"自定义单位,如: °C, MPa, %",onInput:f},null,544),[[e.vModelText,n.value.customUnit]])]))])])):e.createCommentVNode("",!0),n.value.type==="boolean"?(e.openBlock(),e.createElementBlock("div",Z1,[e.createElementVNode("div",ew,[b[14]||(b[14]=e.createElementVNode("label",null,"True 时的值",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":b[4]||(b[4]=_=>n.value.trueValue=_),type:"text",placeholder:"例如: 运行、#00ff00",onInput:f},null,544),[[e.vModelText,n.value.trueValue]])]),e.createElementVNode("div",tw,[b[15]||(b[15]=e.createElementVNode("label",null,"False 时的值",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":b[5]||(b[5]=_=>n.value.falseValue=_),type:"text",placeholder:"例如: 停止、#ff0000",onInput:f},null,544),[[e.vModelText,n.value.falseValue]])])])):e.createCommentVNode("",!0),n.value.type==="range"?(e.openBlock(),e.createElementBlock("div",rw,[e.createElementVNode("div",ow,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value.rangeRules,(_,k)=>(e.openBlock(),e.createElementBlock("div",{key:k,class:"range-rule"},[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":E=>_.min=E,type:"number",placeholder:"最小值",onInput:f},null,40,nw),[[e.vModelText,_.min,void 0,{number:!0}]]),b[16]||(b[16]=e.createElementVNode("span",{class:"range-separator"},"~",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":E=>_.max=E,type:"number",placeholder:"最大值",onInput:f},null,40,iw),[[e.vModelText,_.max,void 0,{number:!0}]]),b[17]||(b[17]=e.createElementVNode("span",{class:"range-arrow"},"→",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":E=>_.value=E,type:"text",placeholder:"映射值",onInput:f},null,40,sw),[[e.vModelText,_.value]]),e.createElementVNode("button",{class:"btn-remove-rule",onClick:E=>d(k),title:"删除规则"}," ✕ ",8,aw)]))),128))]),e.createElementVNode("button",{class:"btn-add-rule",onClick:c}," + 添加范围规则 ")])):e.createCommentVNode("",!0),n.value.type==="enum"?(e.openBlock(),e.createElementBlock("div",lw,[e.createElementVNode("div",cw,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value.enumMappings,(_,k,E)=>(e.openBlock(),e.createElementBlock("div",{key:E,class:"enum-mapping"},[e.createElementVNode("input",{value:k,type:"text",placeholder:"原始值",onInput:I=>h(I,k)},null,40,dw),b[18]||(b[18]=e.createElementVNode("span",{class:"enum-arrow"},"→",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":I=>n.value.enumMappings[k]=I,type:"text",placeholder:"映射值",onInput:f},null,40,uw),[[e.vModelText,n.value.enumMappings[k]]]),e.createElementVNode("button",{class:"btn-remove-rule",onClick:I=>m(k),title:"删除映射"}," ✕ ",8,fw)]))),128))]),e.createElementVNode("button",{class:"btn-add-rule",onClick:p}," + 添加枚举映射 ")])):e.createCommentVNode("",!0),n.value.type!=="direct"?(e.openBlock(),e.createElementBlock("div",pw,[b[25]||(b[25]=e.createElementVNode("label",null,"映射预览",-1)),e.createElementVNode("div",hw,[n.value.type==="boolean"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("div",mw,[b[19]||(b[19]=e.createElementVNode("span",{class:"preview-input"},"true",-1)),b[20]||(b[20]=e.createElementVNode("span",{class:"preview-arrow"},"→",-1)),e.createElementVNode("span",gw,e.toDisplayString(n.value.trueValue||"true"),1)]),e.createElementVNode("div",yw,[b[21]||(b[21]=e.createElementVNode("span",{class:"preview-input"},"false",-1)),b[22]||(b[22]=e.createElementVNode("span",{class:"preview-arrow"},"→",-1)),e.createElementVNode("span",bw,e.toDisplayString(n.value.falseValue||"false"),1)])],64)):n.value.type==="range"?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(n.value.rangeRules,(_,k)=>(e.openBlock(),e.createElementBlock("div",{key:k,class:"preview-item"},[e.createElementVNode("span",ww,"["+e.toDisplayString(_.min)+" ~ "+e.toDisplayString(_.max)+"]",1),b[23]||(b[23]=e.createElementVNode("span",{class:"preview-arrow"},"→",-1)),e.createElementVNode("span",Ew,e.toDisplayString(_.value),1)]))),128)):n.value.type==="enum"?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:2},e.renderList(n.value.enumMappings,(_,k)=>(e.openBlock(),e.createElementBlock("div",{key:k,class:"preview-item"},[e.createElementVNode("span",vw,e.toDisplayString(k),1),b[24]||(b[24]=e.createElementVNode("span",{class:"preview-arrow"},"→",-1)),e.createElementVNode("span",kw,e.toDisplayString(_),1)]))),128)):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0)]),e.createElementVNode("div",{class:"modal-footer"},[e.createElementVNode("button",{class:"btn-cancel",onClick:w},"取消"),e.createElementVNode("button",{class:"btn-confirm",onClick:v},"确定")])])])):e.createCommentVNode("",!0)}}),[["__scopeId","data-v-ef9e0ee1"]]),Nw={class:"event-card"},xw={class:"header-left"},Sw={class:"collapse-icon"},Vw={class:"event-title"},Cw={class:"event-card-body"},Iw={class:"property-item"},Aw={key:0,class:"selected-point"},$w={class:"point-main"},Tw={class:"device-name"},Bw={class:"point-name"},Dw={class:"point-details"},Pw={class:"point-code"},Ow={key:0,class:"point-unit"},Mw={key:1,class:"placeholder"},Rw={class:"property-item"},jw=["value"],Lw=["value"],Uw={class:"property-item"},Fw={key:0,class:"mapping-summary"},zw={class:"mapping-type-label"},Ww={class:"mapping-detail"},qw={key:1,class:"placeholder"},Oi=Me(e.defineComponent({__name:"BindingCard",props:{binding:{},index:{},isCollapsed:{type:Boolean},nodeProperties:{},deviceData:{},nodeDeviceId:{},nodeDeviceName:{}},emits:["toggle-collapse","remove","update-field"],setup(u,{emit:r}){const t=u,l=r,n=e.ref(""),o=e.ref(!1),i=e.ref(!1),a=e.ref(t.binding.mapping||{type:Jt.DIRECT,valueType:wr.NUMBER});if(t.binding.devicePointId){const f=t.binding.devicePointId.split(":");f.length===2?n.value=f[1]:n.value=t.binding.devicePointId}const s=e.computed(()=>t.deviceData||{});e.watch(()=>t.binding.devicePointId,f=>{if(f){const w=f.split(":");w.length===2?n.value=w[1]:n.value=f}else n.value=""}),e.watch(()=>t.binding.mapping,f=>{f&&(a.value=f)},{deep:!0});const c=e.computed(()=>{var b;if(!n.value||!t.nodeDeviceId)return null;const f=t.nodeDeviceId,w=n.value;let v=null,S=null;return t.deviceData&&t.deviceData.devices&&(v=t.deviceData.devices.find(_=>_.id===f),v&&(S=((b=v.points)==null?void 0:b.find(_=>_.id===w))||null)),!v||!S?null:{deviceName:v.name,pointName:S.name,pointCode:S.code,pointUnit:S.unit}}),d=(f,w)=>{const v=`${t.nodeDeviceId}:${f}`,S=new Event("change");Object.defineProperty(S,"target",{value:{value:v},writable:!1}),l("update-field","devicePointId",S),console.log("选择了点位:",{deviceId:t.nodeDeviceId,pointId:f,pointName:w.name,dataType:w.dataType,accessMode:w.accessMode})},p=f=>{const w=new Event("change");Object.defineProperty(w,"target",{value:{value:f},writable:!1}),l("update-field","mapping",w)},m=f=>({direct:"直接映射",boolean:"布尔映射",range:"范围映射",enum:"枚举映射"})[f]||f,h=()=>{const f=a.value;return f.type==="boolean"?`True:${f.trueValue||"true"} / False:${f.falseValue||"false"}`:f.type==="range"&&f.rangeRules?`${f.rangeRules.length} 个范围规则`:f.type==="enum"&&f.enumMappings?`${Object.keys(f.enumMappings).length} 个枚举映射`:""};return(f,w)=>(e.openBlock(),e.createElementBlock("div",Nw,[e.createElementVNode("div",{class:"event-card-header",onClick:w[1]||(w[1]=v=>f.$emit("toggle-collapse"))},[e.createElementVNode("div",xw,[e.createElementVNode("span",Sw,e.toDisplayString(u.isCollapsed?"▶":"▼"),1),e.createElementVNode("span",Vw,"绑定"+e.toDisplayString(u.index+1),1)]),e.createElementVNode("button",{class:"btn-remove",onClick:w[0]||(w[0]=e.withModifiers(v=>f.$emit("remove"),["stop"])),title:"删除绑定"},"🗑")]),e.withDirectives(e.createElementVNode("div",Cw,[e.createElementVNode("div",Iw,[w[10]||(w[10]=e.createElementVNode("label",null,"设备点位",-1)),e.createElementVNode("div",{class:"point-selector-trigger",onClick:w[2]||(w[2]=v=>o.value=!0)},[c.value?(e.openBlock(),e.createElementBlock("div",Aw,[e.createElementVNode("div",$w,[e.createElementVNode("span",Tw,e.toDisplayString(c.value.deviceName),1),e.createElementVNode("span",Bw,e.toDisplayString(c.value.pointName),1)]),e.createElementVNode("div",Dw,[e.createElementVNode("span",Pw,e.toDisplayString(c.value.pointCode),1),c.value.pointUnit?(e.openBlock(),e.createElementBlock("span",Ow,e.toDisplayString(c.value.pointUnit),1)):e.createCommentVNode("",!0)])])):(e.openBlock(),e.createElementBlock("div",Mw," 点击选择设备点位 ")),w[9]||(w[9]=e.createElementVNode("span",{class:"selector-arrow"},"›",-1))])]),e.createVNode(U1,{visible:o.value,"onUpdate:visible":w[3]||(w[3]=v=>o.value=v),modelValue:n.value,"onUpdate:modelValue":w[4]||(w[4]=v=>n.value=v),"device-id":t.nodeDeviceId||"","device-name":t.nodeDeviceName,"device-data":s.value,onConfirm:d},null,8,["visible","modelValue","device-id","device-name","device-data"]),e.createElementVNode("div",Rw,[w[12]||(w[12]=e.createElementVNode("label",null,"目标属性",-1)),e.createElementVNode("select",{value:u.binding.targetProperty||"",onChange:w[5]||(w[5]=v=>f.$emit("update-field","targetProperty",v))},[w[11]||(w[11]=e.createElementVNode("option",{value:""},"选择属性",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.nodeProperties,v=>(e.openBlock(),e.createElementBlock("option",{key:v.key,value:v.key},e.toDisplayString(v.label),9,Lw))),128))],40,jw)]),e.createElementVNode("div",Uw,[w[14]||(w[14]=e.createElementVNode("label",null,"值映射配置",-1)),e.createElementVNode("div",{class:"mapping-trigger",onClick:w[6]||(w[6]=v=>i.value=!0)},[a.value.type!=="direct"?(e.openBlock(),e.createElementBlock("div",Fw,[e.createElementVNode("span",zw,e.toDisplayString(m(a.value.type)),1),e.createElementVNode("span",Ww,e.toDisplayString(h()),1)])):(e.openBlock(),e.createElementBlock("div",qw," 点击配置值映射 ")),w[13]||(w[13]=e.createElementVNode("span",{class:"selector-arrow"},"›",-1))])]),e.createVNode(_w,{visible:i.value,"onUpdate:visible":w[7]||(w[7]=v=>i.value=v),modelValue:a.value,"onUpdate:modelValue":w[8]||(w[8]=v=>a.value=v),onConfirm:p},null,8,["visible","modelValue"])],512),[[e.vShow,!u.isCollapsed]])]))}}),[["__scopeId","data-v-7a57195b"]]),Gw={class:"dialog-content"},Hw={class:"dialog-header"},Kw={class:"dialog-body"},Yw={class:"group-row"},Qw={class:"group-field"},Jw=["value","onChange"],Xw=["value"],Zw={class:"group-field group-field-value"},eE=["value","onInput"],tE=["value","onInput"],rE={key:2,class:"color-input-wrapper"},oE=["value","onInput"],nE={class:"color-value"},iE=["value","onChange"],sE=["onClick"],aE={key:0,class:"empty-hint"},lE={class:"dialog-footer"},Mi=Me(e.defineComponent({__name:"AttributeConfigDialog",props:{attributeGroups:{},nodeProperties:{}},emits:["close","save","add-group","remove-group","update-group"],setup(u,{emit:r}){const t=u,l=r,n=a=>{const s=t.nodeProperties.find(c=>c.key===a);return(s==null?void 0:s.type)||"text"},o=(a,s,c)=>{const d=c.target.value;l("update-group",a,s,d)},i=()=>{for(const a of t.attributeGroups)if(!a.property){alert("请为每组配置选择目标属性");return}l("save")};return(a,s)=>(e.openBlock(),e.createElementBlock("div",{class:"dialog-overlay",onClick:s[3]||(s[3]=e.withModifiers(c=>a.$emit("close"),["self"]))},[e.createElementVNode("div",Gw,[e.createElementVNode("div",Hw,[s[4]||(s[4]=e.createElementVNode("h3",null,"事件属性更改配置",-1)),e.createElementVNode("button",{class:"btn-close",onClick:s[0]||(s[0]=c=>a.$emit("close"))},"×")]),e.createElementVNode("div",Kw,[e.createElementVNode("button",{class:"btn-add-group",onClick:s[1]||(s[1]=c=>a.$emit("add-group"))},"新增一组"),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.attributeGroups,(c,d)=>(e.openBlock(),e.createElementBlock("div",{key:d,class:"attribute-group"},[e.createElementVNode("div",Yw,[e.createElementVNode("div",Qw,[s[6]||(s[6]=e.createElementVNode("label",null,"目标属性",-1)),e.createElementVNode("select",{value:c.property,onChange:p=>o(d,"property",p)},[s[5]||(s[5]=e.createElementVNode("option",{value:""},"选择目标属性",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.nodeProperties,p=>(e.openBlock(),e.createElementBlock("option",{key:p.key,value:p.key},e.toDisplayString(p.label),9,Xw))),128))],40,Jw)]),e.createElementVNode("div",Zw,[s[8]||(s[8]=e.createElementVNode("label",null,"期望值",-1)),!c.property||n(c.property)==="text"?(e.openBlock(),e.createElementBlock("input",{key:0,value:c.value,type:"text",onInput:p=>o(d,"value",p),placeholder:"输入值"},null,40,eE)):n(c.property)==="number"?(e.openBlock(),e.createElementBlock("input",{key:1,value:c.value,type:"number",onInput:p=>o(d,"value",p),placeholder:"输入数字"},null,40,tE)):n(c.property)==="color"?(e.openBlock(),e.createElementBlock("div",rE,[e.createElementVNode("input",{value:c.value,type:"color",onInput:p=>o(d,"value",p)},null,40,oE),e.createElementVNode("span",nE,e.toDisplayString(c.value||"#000000"),1)])):n(c.property)==="boolean"?(e.openBlock(),e.createElementBlock("select",{key:3,value:c.value,onChange:p=>o(d,"value",p)},[...s[7]||(s[7]=[e.createElementVNode("option",{value:"true"},"是",-1),e.createElementVNode("option",{value:"false"},"否",-1)])],40,iE)):e.createCommentVNode("",!0)]),e.createElementVNode("button",{class:"btn-delete-group",onClick:p=>a.$emit("remove-group",d),title:"删除"}," 🗑 ",8,sE)])]))),128)),u.attributeGroups.length===0?(e.openBlock(),e.createElementBlock("div",aE,' 请点击"新增一组"按钮添加属性配置 ')):e.createCommentVNode("",!0)]),e.createElementVNode("div",lE,[e.createElementVNode("button",{class:"btn-cancel",onClick:s[2]||(s[2]=c=>a.$emit("close"))},"取消"),e.createElementVNode("button",{class:"btn-confirm",onClick:i},"确定")])])]))}}),[["__scopeId","data-v-90af9944"]]),cE={class:"dialog-content dialog-large"},dE={class:"dialog-header"},uE={class:"dialog-body dialog-body-split"},fE={class:"code-editor-section"},pE=["value"],hE={class:"code-preview-section"},mE={class:"section-header"},gE={class:"preview-status"},yE={key:0,class:"status-success"},bE={key:1,class:"status-error"},wE={class:"preview-canvas"},EE={key:0,class:"preview-empty"},vE={key:1,class:"preview-error-box"},kE={class:"error-message"},_E={key:2,class:"preview-node-container"},NE={key:0,class:"console-output"},xE={class:"console-logs"},SE={class:"dialog-footer"},VE=`function execute(node) {
23
+ */class Z0{constructor(){ve(this,"client",null);ve(this,"config",null);ve(this,"onDataCallback",null);ve(this,"onErrorCallback",null);ve(this,"onStatusChangeCallback",null);ve(this,"isConnected",!1)}connect(t){return new Promise((r,a)=>{if(!t.enabled){a(new Error("MQTT 连接未启用"));return}this.config=t;let n=t.broker;if(console.log("[MQTT] 原始 broker 地址:",n),n.startsWith("mqtt://")){const i=n.replace("mqtt://","");i.includes("broker.emqx.io")?n="ws://broker.emqx.io:8083/mqtt":n=`ws://${i}:8083/mqtt`,console.log("[MQTT] 协议转换: mqtt:// → WebSocket,目标地址:",n)}else if(n.startsWith("mqtts://")){const i=n.replace("mqtts://","");i.includes("broker.emqx.io")?n="wss://broker.emqx.io:8084/mqtt":n=`wss://${i}:8084/mqtt`,console.log("[MQTT] 协议转换: mqtts:// → WebSocket Secure,目标地址:",n)}else!n.startsWith("ws://")&&!n.startsWith("wss://")?(n=`ws://${n}:8083/mqtt`,console.log("[MQTT] 添加默认协议和端口,目标地址:",n)):console.log("[MQTT] 使用原始 WebSocket 地址:",n);const o={clientId:t.clientId||`scada_${Math.random().toString(16).substring(2,8)}`,clean:!0,reconnectPeriod:0,connectTimeout:30*1e3,keepalive:60};t.username&&t.username.trim()?(o.username=t.username,console.log("[MQTT] 使用认证,用户名:",t.username)):console.log("[MQTT] 使用匿名连接"),t.password&&t.password.trim()&&(o.password=t.password,console.log("[MQTT] 密码已设置")),console.log("[MQTT] 完整连接配置:",{brokerUrl:n,clientId:o.clientId,username:o.username||"无",hasPassword:!!o.password,topic:t.topic});try{this.client=X0.connect(n,o);const i=setTimeout(()=>{a(new Error("MQTT 连接超时")),this.client&&this.client.end(!0)},15e3);this.client.on("connect",l=>{clearTimeout(i),this.isConnected=!0,this.onStatusChangeCallback&&this.onStatusChangeCallback(!0),this.client&&t.topic?this.client.subscribe(t.topic,s=>{s?(console.error("[MQTT] 订阅失败:",s),a(s)):(console.log(`[MQTT] 订阅主题成功: ${t.topic}`),r())}):r()}),this.client.on("message",(l,s)=>{try{const c=s.toString();let h=JSON.parse(c);if(t.dataPath){const m=t.dataPath.split(".");for(const p of m)h=h==null?void 0:h[p]}this.onDataCallback&&h&&this.onDataCallback(h)}catch(c){console.error("[MQTT] 消息解析失败:",c),this.onErrorCallback&&this.onErrorCallback(c)}}),this.client.on("error",l=>{clearTimeout(i),console.error("[MQTT] 连接错误:",l.message),this.isConnected=!1,this.onStatusChangeCallback&&this.onStatusChangeCallback(!1),this.onErrorCallback&&this.onErrorCallback(l),a(l)}),this.client.on("close",()=>{clearTimeout(i),this.isConnected=!1,this.onStatusChangeCallback&&this.onStatusChangeCallback(!1)}),this.client.on("offline",()=>{}),this.client.on("end",()=>{})}catch(i){console.error("[MQTT] 创建客户端失败:",i),a(i)}})}onData(t){this.onDataCallback=t}onError(t){this.onErrorCallback=t}onStatusChange(t){this.onStatusChangeCallback=t}publish(t,r){if(!this.client||!this.isConnected){console.warn("[MQTT] 未连接,无法发布消息");return}const a=typeof r=="string"?r:JSON.stringify(r);this.client.publish(t,a,n=>{n&&console.error("[MQTT] 消息发布失败:",n)})}disconnect(){if(this.client){try{this.client.removeAllListeners(),this.client.end(!0)}catch(t){console.warn("[MQTT] 断开连接时出错:",t)}this.client=null,this.isConnected=!1}}getConnectionStatus(){return this.isConnected}getConfig(){return this.config}}function eb(){return new Z0}class tb{constructor(){ve(this,"ws",null);ve(this,"config",null);ve(this,"onDataCallback",null);ve(this,"onErrorCallback",null);ve(this,"onStatusChangeCallback",null);ve(this,"isConnected",!1);ve(this,"reconnectTimer",null)}connect(t){return new Promise((r,a)=>{if(!t.enabled){a(new Error("WebSocket 连接未启用"));return}if(!t.url){a(new Error("WebSocket URL 未配置"));return}this.config=t;try{this.ws=new WebSocket(t.url),this.ws.onopen=()=>{var n;console.log(`[WebSocket] 连接成功: ${t.url}`),this.isConnected=!0,(n=this.onStatusChangeCallback)==null||n.call(this,!0),this.reconnectTimer&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=null),r()},this.ws.onmessage=n=>{try{let i=JSON.parse(n.data);if(t.dataPath){const l=t.dataPath.split(".");for(const s of l)if(i=i==null?void 0:i[s],!i)break}this.onDataCallback&&i&&this.onDataCallback(i)}catch(o){console.error("[WebSocket] 消息解析失败:",o),this.onErrorCallback&&this.onErrorCallback(o)}},this.ws.onerror=n=>{var o;console.error("[WebSocket] 连接错误:",n),this.isConnected=!1,(o=this.onStatusChangeCallback)==null||o.call(this,!1),this.onErrorCallback&&this.onErrorCallback(new Error("WebSocket 连接错误")),a(new Error("WebSocket 连接错误"))},this.ws.onclose=n=>{var o;if(console.log(`[WebSocket] 连接关闭: ${n.code} ${n.reason}`),this.isConnected=!1,(o=this.onStatusChangeCallback)==null||o.call(this,!1),t.autoReconnect!==!1&&t.enabled){const i=t.reconnectDelay||5e3;console.log(`[WebSocket] ${i}ms 后尝试重连...`),this.reconnectTimer=window.setTimeout(()=>{t.enabled&&this.connect(t).catch(console.error)},i)}}}catch(n){console.error("[WebSocket] 创建连接失败:",n),a(n)}})}send(t){if(!this.ws||!this.isConnected){console.warn("[WebSocket] 未连接,无法发送消息");return}const r=typeof t=="string"?t:JSON.stringify(t);this.ws.send(r)}onData(t){this.onDataCallback=t}onError(t){this.onErrorCallback=t}onStatusChange(t){this.onStatusChangeCallback=t}disconnect(){this.reconnectTimer&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=null),this.ws&&(console.log("[WebSocket] 断开连接"),this.ws.close(),this.ws=null,this.isConnected=!1)}getConnectionStatus(){return this.isConnected}getConfig(){return this.config}}function rb(){return new tb}class ob{constructor(){ve(this,"config",null);ve(this,"onDataCallback",null);ve(this,"onErrorCallback",null);ve(this,"onStatusChangeCallback",null);ve(this,"intervalId",null);ve(this,"isPolling",!1);ve(this,"abortController",null)}async start(t){if(!t.enabled)throw new Error("HTTP 轮询未启用");if(!t.url)throw new Error("HTTP URL 未配置");this.config=t,this.isPolling=!0,await this.poll();const r=t.pollInterval||5e3;this.intervalId=window.setInterval(()=>{this.poll()},r),console.log(`[HTTP] 启动轮询: ${t.url}, 间隔: ${r}ms`)}async poll(){var t,r;if(!(!this.config||!this.isPolling))try{this.abortController=new AbortController;const a=this.config.timeout||3e4,n=setTimeout(()=>{var c;(c=this.abortController)==null||c.abort()},a),o={method:this.config.method||"GET",headers:{"Content-Type":"application/json",...this.config.headers},signal:this.abortController.signal};this.config.body&&(this.config.method==="POST"||this.config.method==="PUT")&&(o.body=typeof this.config.body=="string"?this.config.body:JSON.stringify(this.config.body));const i=await fetch(this.config.url,o);if(clearTimeout(n),!i.ok)throw new Error(`HTTP ${i.status}: ${i.statusText}`);let s=await i.json();if(this.config.dataPath){const c=this.config.dataPath.split(".");for(const d of c)if(s=s==null?void 0:s[d],!s)break}this.onDataCallback&&(Array.isArray(s)?s.forEach(c=>{c&&this.onDataCallback(c)}):s&&this.onDataCallback(s)),(t=this.onStatusChangeCallback)==null||t.call(this,!0)}catch(a){a.name==="AbortError"?console.error("[HTTP] 请求超时"):console.error("[HTTP] 轮询错误:",a),(r=this.onStatusChangeCallback)==null||r.call(this,!1),this.onErrorCallback&&this.onErrorCallback(a)}}onData(t){this.onDataCallback=t}onError(t){this.onErrorCallback=t}onStatusChange(t){this.onStatusChangeCallback=t}stop(){console.log("[HTTP] 停止轮询"),this.isPolling=!1,this.intervalId&&(clearInterval(this.intervalId),this.intervalId=null),this.abortController&&(this.abortController.abort(),this.abortController=null)}getPollingStatus(){return this.isPolling}getConfig(){return this.config}}function nb(){return new ob}class ib{constructor(){ve(this,"eventSource",null);ve(this,"config",null);ve(this,"onDataCallback",null);ve(this,"onErrorCallback",null);ve(this,"onStatusChangeCallback",null);ve(this,"isConnected",!1);ve(this,"reconnectTimer",null)}connect(t){return new Promise((r,a)=>{if(!t.enabled){a(new Error("SSE 连接未启用"));return}if(!t.url){a(new Error("SSE URL 未配置"));return}this.config=t;try{const n={};t.withCredentials&&(n.withCredentials=!0),this.eventSource=new EventSource(t.url,n),this.eventSource.onopen=()=>{var i;console.log(`[SSE] 连接成功: ${t.url}`),this.isConnected=!0,(i=this.onStatusChangeCallback)==null||i.call(this,!0),this.reconnectTimer&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=null),r()},this.eventSource.onmessage=i=>{this.handleMessage(i.data)};const o=t.eventType||"message";o&&o!=="message"&&this.eventSource.addEventListener(o,i=>{this.handleMessage(i.data)}),this.eventSource.onerror=i=>{var l,s;if(console.error("[SSE] 连接错误:",i),this.isConnected=!1,(l=this.onStatusChangeCallback)==null||l.call(this,!1),(s=this.eventSource)==null||s.close(),this.onErrorCallback&&this.onErrorCallback(new Error("SSE 连接错误")),t.autoReconnect!==!1&&t.enabled){const c=t.reconnectDelay||5e3;console.log(`[SSE] ${c}ms 后尝试重连...`),this.reconnectTimer=window.setTimeout(()=>{t.enabled&&this.connect(t).catch(console.error)},c)}}}catch(n){console.error("[SSE] 创建连接失败:",n),a(n)}})}handleMessage(t){var r;try{let n=JSON.parse(t);if((r=this.config)!=null&&r.dataPath){const o=this.config.dataPath.split(".");for(const i of o)if(n=n==null?void 0:n[i],!n)break}this.onDataCallback&&n&&this.onDataCallback(n)}catch(a){console.error("[SSE] 消息解析失败:",a),this.onErrorCallback&&this.onErrorCallback(a)}}onData(t){this.onDataCallback=t}onError(t){this.onErrorCallback=t}onStatusChange(t){this.onStatusChangeCallback=t}disconnect(){this.reconnectTimer&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=null),this.eventSource&&(console.log("[SSE] 断开连接"),this.eventSource.close(),this.eventSource=null,this.isConnected=!1)}getConnectionStatus(){return this.isConnected}getConfig(){return this.config}getReadyState(){var t;return((t=this.eventSource)==null?void 0:t.readyState)??EventSource.CLOSED}}function ab(){return new ib}class jt{static parseDeviceData(t,r,a){return t?this.isSimplifiedPointsArray(t)?this.parseSimplifiedPointsArray(t,r,a):this.isStandardFormat(t)?this.parseStandardFormat(t):this.isSinglePointFormat(t)?this.parseSinglePointFormat(t):this.isFlatFormat(t)?this.parseFlatFormat(t):this.isNestedFormat(t)?this.parseNestedFormat(t):(console.warn("[DataParser] 无法识别的数据格式:",t),null):null}static isSimplifiedPointsArray(t){return Array.isArray(t)&&t.length>0&&t[0].id!==void 0&&t[0].value!==void 0&&!t[0].points}static parseSimplifiedPointsArray(t,r,a){return{id:r||"default-device",name:a||"Default Device",points:t.map(n=>({id:n.id||n.pointId,name:n.name||n.pointName||n.id||n.pointId,value:n.value,quality:n.quality||"good",timestamp:n.timestamp||new Date().toISOString(),unit:n.unit,dataType:n.dataType||this.inferDataType(n.value)}))}}static isStandardFormat(t){return(t.id||t.deviceId)&&Array.isArray(t.points)&&t.points.length>0}static parseStandardFormat(t){return{id:t.id||t.deviceId,name:t.name||t.deviceName||t.id||t.deviceId,points:t.points.map(r=>({id:r.id||r.pointId,name:r.name||r.pointName||r.id||r.pointId,value:r.value,quality:r.quality||"good",timestamp:r.timestamp||new Date().toISOString(),unit:r.unit,dataType:r.dataType||this.inferDataType(r.value)}))}}static isSinglePointFormat(t){return(t.deviceId||t.id)&&(t.pointId||t.point)&&t.value!==void 0}static parseSinglePointFormat(t){const r=t.deviceId||t.id,a=t.pointId||t.point;return{id:r,name:t.deviceName||r,points:[{id:a,name:t.pointName||a,value:t.value,quality:t.quality||"good",timestamp:t.timestamp||new Date().toISOString(),unit:t.unit,dataType:t.dataType||this.inferDataType(t.value)}]}}static isFlatFormat(t){const r=t.deviceId||t.id,a=Object.keys(t).some(n=>!["deviceId","id","deviceName","name","timestamp"].includes(n));return r&&a}static parseFlatFormat(t){const r=t.deviceId||t.id,a=[],n=["deviceId","id","deviceName","name","timestamp"];for(const o in t)n.includes(o)||a.push({id:o,name:o,value:t[o],quality:"good",timestamp:t.timestamp||new Date().toISOString(),dataType:this.inferDataType(t[o])});return{id:r,name:t.deviceName||t.name||r,points:a}}static isNestedFormat(t){return t.device&&(t.device.id||t.device.deviceId)}static parseNestedFormat(t){const r=t.device;return r?r.data||r.points?this.parseDeviceData({...r.data,deviceId:r.id||r.deviceId,deviceName:r.name||r.deviceName,points:r.points}):this.parseDeviceData(r):null}static inferDataType(t){return typeof t=="boolean"?"boolean":typeof t=="number"?"number":"string"}static createCustomParser(t){return r=>{const a=typeof t.deviceId=="function"?t.deviceId(r):this.getValueByPath(r,t.deviceId),n=t.deviceName?typeof t.deviceName=="function"?t.deviceName(r):this.getValueByPath(r,t.deviceName):a;let o=typeof t.points=="function"?t.points(r):this.getValueByPath(r,t.points);Array.isArray(o)||(o=[o]);const i=o.map(l=>{const s=t.pointId?typeof t.pointId=="function"?t.pointId(r,l):this.getValueByPath(l,t.pointId):l.id||l.pointId,c=t.pointValue?typeof t.pointValue=="function"?t.pointValue(r,l):this.getValueByPath(l,t.pointValue):l.value;return{id:s,name:l.name||s,value:c,quality:l.quality||"good",timestamp:l.timestamp||new Date().toISOString(),unit:l.unit,dataType:this.inferDataType(c)}});return{id:a,name:n,points:i}}}static getValueByPath(t,r){if(!r)return t;const a=r.split(".");let n=t;for(const o of a){if(n==null)return;n=n[o]}return n}}jt.createCustomParser({deviceId:"deviceInfo.id",deviceName:"deviceInfo.name",points:"telemetry",pointId:(u,t)=>t.key,pointValue:(u,t)=>t.value}),jt.createCustomParser({deviceId:"slaveId",deviceName:"slaveName",points:"registers",pointId:(u,t)=>`reg_${t.address}`,pointValue:(u,t)=>t.value}),jt.createCustomParser({deviceId:"nodeId",deviceName:"displayName",points:"values",pointId:(u,t)=>t.browseName,pointValue:(u,t)=>t.value.value}),jt.parseDeviceData.bind(jt);class sb{constructor(){ve(this,"dataSources",e.reactive(new Map));ve(this,"connections",new Map);ve(this,"onDataCallbacks",[])}addDataSource(t){this.dataSources.set(t.id,t),t.enabled&&this.connectDataSource(t.id)}updateDataSource(t,r){const a=this.dataSources.get(t);a&&(Object.assign(a,r),(r.config||r.enabled!==void 0)&&this.reconnectDataSource(t))}removeDataSource(t){this.disconnectDataSource(t),this.dataSources.delete(t)}getDataSource(t){return this.dataSources.get(t)}getAllDataSources(){return Array.from(this.dataSources.values())}getAllDevices(){const t=[];return this.dataSources.forEach(r=>{r.devices.forEach(a=>{t.push({dataSourceId:r.id,dataSourceName:r.name,device:a})})}),t}async connectDataSource(t){const r=this.dataSources.get(t);if(r)try{switch(this.disconnectDataSource(t),console.log(`[DataSourceManager] 开始连接数据源: ${r.name} (${r.type})`),r.type){case"MQTT":await this.connectMqtt(t,r);break;case"WebSocket":await this.connectWebSocket(t,r);break;case"HTTP":await this.connectHttp(t,r);break;case"SSE":await this.connectSSE(t,r);break}}catch(a){console.error(`[DataSource] 连接失败: ${r.name}`,a),r.status&&(r.status.connected=!1,r.status.error=a.message)}}disconnectDataSource(t){const r=this.connections.get(t);if(!r)return;const a=this.dataSources.get(t);if(a){try{a.type==="MQTT"||a.type==="WebSocket"?r.disconnect():a.type==="HTTP"?r.stop():a.type==="SSE"&&r.disconnect()}catch(n){console.error("[DataSource] 断开连接失败:",n)}this.connections.delete(t),a.status&&(a.status.connected=!1)}}async reconnectDataSource(t){const r=this.dataSources.get(t);r&&(r.enabled?await this.connectDataSource(t):this.disconnectDataSource(t))}async connectMqtt(t,r){const a=eb();a.onData(o=>{this.handleDeviceData(t,o)}),a.onError(o=>{console.error(`[MQTT] 数据源 ${r.name} 错误:`,o),r.status&&(r.status.error=o.message,r.status.connected=!1)}),a.onStatusChange(o=>{r.status&&(r.status.connected=o,o&&(r.status.error=void 0))});const n={broker:r.config.broker||"",topic:r.config.topic||"",clientId:r.config.clientId,username:r.config.username,password:r.config.password,dataPath:r.config.dataPath,enabled:!0,retryCount:r.config.retryCount||3};await a.connect(n),this.connections.set(t,a)}async connectWebSocket(t,r){const a=rb();a.onData(o=>{this.handleDeviceData(t,o)}),a.onError(o=>{console.error(`[WebSocket] 数据源 ${r.name} 错误:`,o),r.status&&(r.status.error=o.message)}),a.onStatusChange(o=>{r.status&&(r.status.connected=o)});const n={url:r.config.wsUrl||"",dataPath:r.config.dataPath,enabled:!0,autoReconnect:!0,reconnectDelay:5e3};await a.connect(n),this.connections.set(t,a)}async connectHttp(t,r){const a=nb();a.onData(o=>{this.handleDeviceData(t,o)}),a.onError(o=>{console.error(`[HTTP] 数据源 ${r.name} 错误:`,o),r.status&&(r.status.error=o.message,r.status.connected=!1)}),a.onStatusChange(o=>{r.status&&(r.status.connected=o)});const n={url:r.config.url||"",method:r.config.method||"GET",pollInterval:r.config.pollInterval||5e3,headers:r.config.headers,dataPath:r.config.dataPath,enabled:!0};await a.start(n),this.connections.set(t,a)}async connectSSE(t,r){const a=ab();a.onData(o=>{this.handleDeviceData(t,o)}),a.onError(o=>{console.error(`[SSE] 数据源 ${r.name} 错误:`,o),r.status&&(r.status.error=o.message)}),a.onStatusChange(o=>{r.status&&(r.status.connected=o)});const n={url:r.config.sseUrl||"",eventType:r.config.eventType||"message",dataPath:r.config.dataPath,enabled:!0,autoReconnect:!0,reconnectDelay:5e3};await a.connect(n),this.connections.set(t,a)}handleDeviceData(t,r){const a=this.dataSources.get(t);a&&(a.status&&(a.status.lastUpdate=new Date().toISOString()),this.parseAndUpdateDevices(a,r),this.onDataCallbacks.forEach(n=>{n(t,r)}))}parseAndUpdateDevices(t,r){try{let a=r;if(t.config.customParser&&(a=t.config.customParser(r)),a&&Array.isArray(a.devices)){const o=[];for(const i of a.devices){const l=jt.parseDeviceData(i,i.id||i.deviceId||`device-${o.length}`,i.name||i.deviceName);l&&o.push({id:l.id,name:l.name,points:l.points.map(s=>({id:s.id,name:s.name||s.id,code:s.code||s.id,value:s.value,unit:s.unit||"",dataType:s.dataType||"number",accessMode:"read",quality:s.quality,timestamp:s.timestamp}))})}if(o.length>0){t.devices=o;return}}if(Array.isArray(a)&&a.length>0){const o=[];for(const i of a){const l=jt.parseDeviceData(i,i.id||i.deviceId||`device-${o.length}`,i.name||i.deviceName);l&&o.push({id:l.id,name:l.name,points:l.points.map(s=>({id:s.id,name:s.name||s.id,code:s.code||s.id,value:s.value,unit:s.unit||"",dataType:s.dataType||"number",accessMode:"read",quality:s.quality,timestamp:s.timestamp}))})}if(o.length>0){t.devices=o;return}}const n=jt.parseDeviceData(a,"default-device",t.name);if(n){t.devices=[{id:n.id,name:n.name,points:n.points.map(o=>({id:o.id,name:o.name||o.id,code:o.code||o.id,value:o.value,unit:o.unit||"",dataType:o.dataType||"number",accessMode:"read",quality:o.quality,timestamp:o.timestamp}))}];return}console.warn(`[DataSourceManager] 数据源 "${t.name}" 接收到不支持的数据格式:`,a),console.warn("[DataSourceManager] 支持的格式:"),console.warn(" 1. 简化点位数组: [{ id, value }, ...]"),console.warn(" 2. 单设备格式: { id, name, points: [...] }"),console.warn(" 3. 多设备格式: { devices: [{ id, name, points: [...] }] }")}catch(a){console.error(`[DataSourceManager] 解析数据源 "${t.name}" 的数据失败:`,a)}}onData(t){this.onDataCallbacks.push(t)}disconnectAll(){this.dataSources.forEach((t,r)=>{this.disconnectDataSource(r)})}getDataSourceStatus(t){const r=this.dataSources.get(t);return(r==null?void 0:r.status)||null}}const He=new sb,lb={class:"compact-data-binding"},cb={class:"compact-row"},db=["value"],ub=["value"],fb=["title"],pb={key:0,class:"component-points"},hb={class:"points-header-left"},mb={class:"collapse-icon"},gb={class:"points-header-right"},yb={class:"points-count"},bb={class:"points-list"},wb={class:"point-main"},Eb={class:"point-name"},vb={class:"point-id"},kb={class:"point-meta"},_b={class:"point-type"},Nb={key:0,class:"point-unit"},Sb={key:1,class:"point-required"},xb={class:"json-example"},Vb={class:"json-code"},Cb={key:1,class:"compact-hint warning"},Ib=Me(e.defineComponent({__name:"DataPropertiesTab",props:{selectedNode:{}},emits:["update-data-source"],setup(u,{emit:t}){const r=u,a=t,n=e.computed(()=>He.getAllDataSources()),o=e.ref(""),i=e.ref(!1),l=e.ref("list"),s=e.computed(()=>{if(!d.value||d.value.length===0)return"[]";const p=d.value.map(f=>{let w;return f.dataType==="boolean"?w=f.defaultValue??!1:f.dataType==="number"?w=f.defaultValue??(f.range?f.range.min:0):f.dataType==="string"?w=f.defaultValue??"":f.dataType==="json"?w=f.defaultValue??[]:w=null,{id:f.id,value:w}});return JSON.stringify(p,null,2)}),c=e.computed(()=>o.value?He.getDataSource(o.value):null),d=e.computed(()=>{if(!r.selectedNode)return[];const p=r.selectedNode.shape;if(!p)return[];const f=$t.getComponentByShape(p);return!f||!f.points?[]:f.points});e.watch(()=>r.selectedNode,p=>{if(p){const f=p.getData();f!=null&&f.dataBinding?o.value=f.dataBinding.dataSourceId||"":o.value=""}},{immediate:!0});const h=p=>{const f=p.target.value;o.value=f,m()},m=()=>{a("update-data-source",{dataSourceId:o.value})};return(p,f)=>{var w,N,S,b;return e.openBlock(),e.createElementBlock("div",lb,[e.createElementVNode("div",cb,[f[5]||(f[5]=e.createElementVNode("label",null,"数据源",-1)),e.createElementVNode("select",{value:o.value,onChange:h,class:"compact-select"},[f[4]||(f[4]=e.createElementVNode("option",{value:""},"无",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,E=>(e.openBlock(),e.createElementBlock("option",{key:E.id,value:E.id},e.toDisplayString(E.name)+" ("+e.toDisplayString(E.type.toUpperCase())+") ",9,ub))),128))],40,db),o.value?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["status-dot",(N=(w=c.value)==null?void 0:w.status)!=null&&N.connected?"connected":"disconnected"]),title:(b=(S=c.value)==null?void 0:S.status)!=null&&b.connected?"已连接":"未连接"},null,10,fb)):e.createCommentVNode("",!0)]),d.value.length>0?(e.openBlock(),e.createElementBlock("div",pb,[e.createElementVNode("div",{class:"points-header",onClick:f[3]||(f[3]=E=>i.value=!i.value)},[e.createElementVNode("div",hb,[e.createElementVNode("span",mb,e.toDisplayString(i.value?"▼":"▶"),1),f[6]||(f[6]=e.createElementVNode("span",{class:"points-title"},"📊 组件数据点位",-1))]),e.createElementVNode("div",gb,[e.createElementVNode("span",yb,e.toDisplayString(d.value.length)+" 个",1),i.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"display-mode-toggle",onClick:f[2]||(f[2]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("button",{class:e.normalizeClass(["mode-btn",{active:l.value==="list"}]),onClick:f[0]||(f[0]=E=>l.value="list"),title:"列表模式"}," 📋 ",2),e.createElementVNode("button",{class:e.normalizeClass(["mode-btn",{active:l.value==="json"}]),onClick:f[1]||(f[1]=E=>l.value="json"),title:"JSON模式"}," { } ",2)])):e.createCommentVNode("",!0)])]),e.withDirectives(e.createElementVNode("div",bb,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,E=>(e.openBlock(),e.createElementBlock("div",{key:E.id,class:"point-item"},[e.createElementVNode("div",wb,[e.createElementVNode("span",Eb,e.toDisplayString(E.name),1),e.createElementVNode("span",vb,e.toDisplayString(E.id),1)]),e.createElementVNode("div",kb,[e.createElementVNode("span",_b,e.toDisplayString(E.dataType),1),E.unit?(e.openBlock(),e.createElementBlock("span",Nb,e.toDisplayString(E.unit),1)):e.createCommentVNode("",!0),E.required?(e.openBlock(),e.createElementBlock("span",Sb,"必需")):e.createCommentVNode("",!0)])]))),128))],512),[[e.vShow,i.value&&l.value==="list"]]),e.withDirectives(e.createElementVNode("div",xb,[f[7]||(f[7]=e.createElementVNode("div",{class:"json-header"},[e.createElementVNode("span",{class:"json-title"},"📝 后端数据格式示例")],-1)),e.createElementVNode("pre",Vb,e.toDisplayString(s.value),1)],512),[[e.vShow,i.value&&l.value==="json"]]),e.withDirectives(e.createElementVNode("div",{class:"points-tip"}," ℹ️ "+e.toDisplayString(l.value==="list"?"点击右上JSON按钮查看数据格式示例":"后端应返回包含上述点位ID的JSON数据"),513),[[e.vShow,i.value]])])):!d.value||d.value.length===0?(e.openBlock(),e.createElementBlock("div",Cb," ⚠️ 该组件没有定义数据点位,无法进行数据绑定 ")):e.createCommentVNode("",!0)])}}}),[["__scopeId","data-v-ef2e8648"]]),Ab={class:"edge-properties-tab"},Tb={class:"property-section"},$b={class:"property-item"},Bb={class:"color-input-wrapper"},Db=["value"],Pb=["value"],Ob={class:"property-item"},Mb={class:"number-input-wrapper"},Rb=["value"],jb={class:"property-item"},Lb=["value"],Ub={class:"property-item"},Fb={class:"slider-wrapper"},zb=["value"],Wb={class:"slider-value"},qb={class:"property-item"},Gb=["value"],Hb={key:0,class:"property-item"},Kb={class:"number-input-wrapper"},Yb=["value"],Qb={class:"property-section"},Jb={class:"property-item"},Xb=["value"],Zb={class:"property-item"},e1=["value"],t1={class:"property-section"},r1={class:"property-item"},o1=["value"],n1={class:"property-item"},i1=["value"],a1=Me(e.defineComponent({__name:"EdgePropertiesTab",props:{selectedEdge:{}},emits:["updateEdge","deleteEdge"],setup(u,{emit:t}){const r=u,a=t,n=e.computed(()=>{var v;return((v=r.selectedEdge)==null?void 0:v.getAttrs())||{}}),o=v=>{const V=v.target.value;a("updateEdge",{attrs:{line:{stroke:V}}})},i=v=>{const V=Number(v.target.value);a("updateEdge",{attrs:{line:{strokeWidth:V}}})},l=()=>{var V;const v=(V=n.value.line)==null?void 0:V.strokeDasharray;return v?v==="5,5"?"5,5":v==="2,2"?"2,2":v==="10,5,2,5"?"10,5,2,5":"none":"none"},s=v=>{const V=v.target.value;a("updateEdge",{attrs:{line:{strokeDasharray:V==="none"?void 0:V}}})},c=v=>{const V=Number(v.target.value);a("updateEdge",{attrs:{line:{opacity:V}}})},d=v=>{var T;const V=(T=n.value.line)==null?void 0:T[`${v}Marker`];return!V||typeof V!="object"||!V.name?"none":V.name},h=()=>{var T;const v=(T=n.value.line)==null?void 0:T.opacity;return((v!==void 0&&typeof v=="number"?v:1)*100).toFixed(0)},m=v=>{const V=v.target.value;a("updateEdge",{attrs:{line:{sourceMarker:V==="none"?void 0:{name:V,width:8,height:6}}}})},p=v=>{const V=v.target.value;a("updateEdge",{attrs:{line:{targetMarker:V==="none"?void 0:{name:V,width:8,height:6}}}})},f=v=>{const V=v.target.value;a("updateEdge",{router:V})},w=v=>{const V=v.target.value;a("updateEdge",{connector:{name:V,args:V==="rounded"?{radius:8}:void 0}})},N=()=>{a("deleteEdge")},S=()=>{var V,T;const v=(T=(V=r.selectedEdge)==null?void 0:V.data)==null?void 0:T.animation;return v!=null&&v.enabled?"true":"false"},b=()=>{var V,T;const v=(T=(V=r.selectedEdge)==null?void 0:V.data)==null?void 0:T.animation;return v!=null&&v.duration?v.duration/1e3:2},E=v=>{if(!(v.target.value==="true"))a("updateEdge",{data:{animation:{enabled:!1}},animation:{enabled:!1}});else{const T=b()*1e3;a("updateEdge",{data:{animation:{enabled:!0,duration:T}},animation:{enabled:!0,duration:T}})}},k=v=>{const T=Number(v.target.value)*1e3;a("updateEdge",{data:{animation:{enabled:!0,duration:T}},animation:{enabled:!0,duration:T}})};return(v,V)=>{var T,C,A,I,$,x,U,Q;return e.openBlock(),e.createElementBlock("div",Ab,[e.createElementVNode("div",Tb,[V[10]||(V[10]=e.createElementVNode("h4",{class:"section-title"},"线条样式",-1)),e.createElementVNode("div",$b,[V[0]||(V[0]=e.createElementVNode("label",{class:"property-label"},"线条颜色",-1)),e.createElementVNode("div",Bb,[e.createElementVNode("input",{type:"color",class:"color-input",value:((T=n.value.line)==null?void 0:T.stroke)||"#10b981",onInput:o},null,40,Db),e.createElementVNode("input",{type:"text",class:"color-text",value:((C=n.value.line)==null?void 0:C.stroke)||"#10b981",onInput:o},null,40,Pb)])]),e.createElementVNode("div",Ob,[V[2]||(V[2]=e.createElementVNode("label",{class:"property-label"},"线条粗细",-1)),e.createElementVNode("div",Mb,[e.createElementVNode("input",{type:"number",class:"property-input",min:"1",max:"20",step:"1",value:((A=n.value.line)==null?void 0:A.strokeWidth)||2,onInput:i},null,40,Rb),V[1]||(V[1]=e.createElementVNode("span",{class:"input-unit"},"px",-1))])]),e.createElementVNode("div",jb,[V[4]||(V[4]=e.createElementVNode("label",{class:"property-label"},"线条样式",-1)),e.createElementVNode("select",{class:"property-select",value:l(),onChange:s},[...V[3]||(V[3]=[e.createElementVNode("option",{value:"none"},"实线",-1),e.createElementVNode("option",{value:"5,5"},"虚线",-1),e.createElementVNode("option",{value:"2,2"},"点线",-1),e.createElementVNode("option",{value:"10,5,2,5"},"点划线",-1)])],40,Lb)]),e.createElementVNode("div",Ub,[V[5]||(V[5]=e.createElementVNode("label",{class:"property-label"},"透明度",-1)),e.createElementVNode("div",Fb,[e.createElementVNode("input",{type:"range",class:"property-slider",min:"0",max:"1",step:"0.1",value:((I=n.value.line)==null?void 0:I.opacity)!==void 0?n.value.line.opacity:1,onInput:c},null,40,zb),e.createElementVNode("span",Wb,e.toDisplayString(h())+"%",1)])]),e.createElementVNode("div",qb,[V[7]||(V[7]=e.createElementVNode("label",{class:"property-label"},"流动动画",-1)),e.createElementVNode("select",{class:"property-select",value:S(),onChange:E},[...V[6]||(V[6]=[e.createElementVNode("option",{value:"false"},"关闭",-1),e.createElementVNode("option",{value:"true"},"开启",-1)])],40,Gb)]),S()==="true"?(e.openBlock(),e.createElementBlock("div",Hb,[V[9]||(V[9]=e.createElementVNode("label",{class:"property-label"},"动画速度",-1)),e.createElementVNode("div",Kb,[e.createElementVNode("input",{type:"number",class:"property-input",min:"0.5",max:"10",step:"0.5",value:b(),onInput:k},null,40,Yb),V[8]||(V[8]=e.createElementVNode("span",{class:"input-unit"},"秒",-1))])])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Qb,[V[15]||(V[15]=e.createElementVNode("h4",{class:"section-title"},"箭头样式",-1)),e.createElementVNode("div",Jb,[V[12]||(V[12]=e.createElementVNode("label",{class:"property-label"},"起点箭头",-1)),e.createElementVNode("select",{class:"property-select",value:d("source"),onChange:m},[...V[11]||(V[11]=[e.createStaticVNode('<option value="none" data-v-e47f1784>无</option><option value="block" data-v-e47f1784>实心箭头</option><option value="classic" data-v-e47f1784>经典箭头</option><option value="diamond" data-v-e47f1784>菱形</option><option value="circle" data-v-e47f1784>圆形</option>',5)])],40,Xb)]),e.createElementVNode("div",Zb,[V[14]||(V[14]=e.createElementVNode("label",{class:"property-label"},"终点箭头",-1)),e.createElementVNode("select",{class:"property-select",value:d("target"),onChange:p},[...V[13]||(V[13]=[e.createStaticVNode('<option value="none" data-v-e47f1784>无</option><option value="block" data-v-e47f1784>实心箭头</option><option value="classic" data-v-e47f1784>经典箭头</option><option value="diamond" data-v-e47f1784>菱形</option><option value="circle" data-v-e47f1784>圆形</option>',5)])],40,e1)])]),e.createElementVNode("div",t1,[V[20]||(V[20]=e.createElementVNode("h4",{class:"section-title"},"连接器",-1)),e.createElementVNode("div",r1,[V[17]||(V[17]=e.createElementVNode("label",{class:"property-label"},"路由方式",-1)),e.createElementVNode("select",{class:"property-select",value:((x=($=u.selectedEdge)==null?void 0:$.getRouter())==null?void 0:x.name)||"manhattan",onChange:f},[...V[16]||(V[16]=[e.createElementVNode("option",{value:"manhattan"},"曼哈顿",-1),e.createElementVNode("option",{value:"orth"},"正交",-1),e.createElementVNode("option",{value:"normal"},"直线",-1)])],40,o1)]),e.createElementVNode("div",n1,[V[19]||(V[19]=e.createElementVNode("label",{class:"property-label"},"连接器类型",-1)),e.createElementVNode("select",{class:"property-select",value:((Q=(U=u.selectedEdge)==null?void 0:U.getConnector())==null?void 0:Q.name)||"rounded",onChange:w},[...V[18]||(V[18]=[e.createElementVNode("option",{value:"rounded"},"圆角",-1),e.createElementVNode("option",{value:"smooth"},"平滑",-1),e.createElementVNode("option",{value:"normal"},"普通",-1)])],40,i1)])]),e.createElementVNode("div",{class:"property-section"},[e.createElementVNode("button",{class:"delete-btn",onClick:N}," 删除连线 ")])])}}}),[["__scopeId","data-v-e47f1784"]]),s1={class:"event-card"},l1={class:"header-left"},c1={class:"collapse-icon"},d1={class:"event-title"},u1={class:"event-card-body"},f1={class:"event-field"},p1=["value"],h1={class:"event-field"},m1=["value"],g1={class:"event-field"},y1=["value"],b1={class:"condition-config"},w1=["value"],E1=["value"],v1=["value"],k1=["value"],_1={key:0,class:"config-section"},N1={key:1,class:"config-section"},S1={key:2,class:"config-section"},x1={key:0,class:"selected-workflow-info"},V1={class:"info-row"},C1={class:"info-value"},I1={class:"event-field"},A1=["value"],Oi=Me(e.defineComponent({__name:"EventCard",props:{event:{},index:{},isCollapsed:{type:Boolean},nodeProperties:{}},emits:["toggle-collapse","remove","update-field","update-condition","update-params","open-attribute-config","open-custom-code","open-workflow-selector"],setup(u){return(t,r)=>{var a,n,o,i,l,s,c;return e.openBlock(),e.createElementBlock("div",s1,[e.createElementVNode("div",{class:"event-card-header",onClick:r[1]||(r[1]=d=>t.$emit("toggle-collapse"))},[e.createElementVNode("div",l1,[e.createElementVNode("span",c1,e.toDisplayString(u.isCollapsed?"▶":"▼"),1),e.createElementVNode("span",d1,"事件"+e.toDisplayString(u.index+1),1)]),e.createElementVNode("button",{class:"btn-remove",onClick:r[0]||(r[0]=e.withModifiers(d=>t.$emit("remove"),["stop"])),title:"删除事件"},"🗑")]),e.withDirectives(e.createElementVNode("div",u1,[e.createElementVNode("div",f1,[r[12]||(r[12]=e.createElementVNode("label",null,"事件名称",-1)),e.createElementVNode("input",{type:"text",value:u.event.name||"",onInput:r[2]||(r[2]=d=>t.$emit("update-field","name",d)),placeholder:"输入事件名称,如:温度报警、湿度预警"},null,40,p1)]),e.createElementVNode("div",h1,[r[14]||(r[14]=e.createElementVNode("label",null,"事件类型",-1)),e.createElementVNode("select",{value:u.event.type,onChange:r[3]||(r[3]=d=>t.$emit("update-field","type",d))},[...r[13]||(r[13]=[e.createStaticVNode('<option value="click" data-v-af7c633a>单击</option><option value="dblclick" data-v-af7c633a>双击</option><option value="mouseenter" data-v-af7c633a>鼠标移入</option><option value="mouseleave" data-v-af7c633a>鼠标移出</option><option value="focus" data-v-af7c633a>获取焦点</option><option value="blur" data-v-af7c633a>失去焦点</option><option value="input" data-v-af7c633a>输入</option><option value="change" data-v-af7c633a>值变化</option>',8)])],40,m1)]),e.createElementVNode("div",g1,[r[16]||(r[16]=e.createElementVNode("label",null,"事件行为",-1)),e.createElementVNode("select",{value:u.event.action,onChange:r[4]||(r[4]=d=>t.$emit("update-field","action",d))},[...r[15]||(r[15]=[e.createElementVNode("option",{value:"attributeChange"},"更改属性",-1),e.createElementVNode("option",{value:"customCode"},"自定义代码",-1),e.createElementVNode("option",{value:"callProcess"},"调用流程",-1)])],40,y1)]),r[30]||(r[30]=e.createElementVNode("div",{class:"section-title"},"形参配置",-1)),r[31]||(r[31]=e.createElementVNode("div",{class:"field-hint"},"(不填直接触发)",-1)),r[32]||(r[32]=e.createElementVNode("div",{class:"section-title"},"触发规则",-1)),r[33]||(r[33]=e.createElementVNode("div",{class:"field-hint"},"(不填写条件则直接触发,填写后按条件触发)",-1)),e.createElementVNode("div",b1,[r[19]||(r[19]=e.createElementVNode("div",{class:"condition-label"},"当",-1)),r[20]||(r[20]=e.createElementVNode("div",{class:"condition-label"},"当前节点属性",-1)),e.createElementVNode("select",{class:"condition-select",value:((a=u.event.condition)==null?void 0:a.attribute)||"",onChange:r[5]||(r[5]=d=>t.$emit("update-condition","attribute",d))},[r[17]||(r[17]=e.createElementVNode("option",{value:""},"选择属性",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.nodeProperties,d=>(e.openBlock(),e.createElementBlock("option",{key:d.key,value:d.key},e.toDisplayString(d.label),9,E1))),128))],40,w1),r[21]||(r[21]=e.createElementVNode("div",{class:"condition-label"},"运算符",-1)),e.createElementVNode("select",{class:"condition-select",value:((n=u.event.condition)==null?void 0:n.operator)||"==",onChange:r[6]||(r[6]=d=>t.$emit("update-condition","operator",d))},[...r[18]||(r[18]=[e.createStaticVNode('<option value="==" data-v-af7c633a>等于</option><option value="!=" data-v-af7c633a>不等于</option><option value="&gt;" data-v-af7c633a>大于</option><option value="&gt;=" data-v-af7c633a>大于等于</option><option value="&lt;" data-v-af7c633a>小于</option><option value="&lt;=" data-v-af7c633a>小于等于</option><option value="contains" data-v-af7c633a>包含</option>',7)])],40,v1),r[22]||(r[22]=e.createElementVNode("div",{class:"condition-label"},"值",-1)),e.createElementVNode("input",{type:"text",class:"condition-input",value:((o=u.event.condition)==null?void 0:o.value)||"",onInput:r[7]||(r[7]=d=>t.$emit("update-condition","value",d)),placeholder:"输入值"},null,40,k1),r[23]||(r[23]=e.createElementVNode("div",{class:"condition-label"},"时",-1)),r[24]||(r[24]=e.createElementVNode("div",{class:"condition-label"},"触发该事件",-1))]),u.event.action==="attributeChange"?(e.openBlock(),e.createElementBlock("div",_1,[r[25]||(r[25]=e.createElementVNode("div",{class:"section-title"},"属性更改",-1)),e.createElementVNode("button",{class:"btn-config",onClick:r[8]||(r[8]=d=>t.$emit("open-attribute-config"))},"点击配置")])):e.createCommentVNode("",!0),u.event.action==="customCode"?(e.openBlock(),e.createElementBlock("div",N1,[r[26]||(r[26]=e.createElementVNode("div",{class:"section-title"},"自定义代码",-1)),e.createElementVNode("button",{class:"btn-config",onClick:r[9]||(r[9]=d=>t.$emit("open-custom-code"))},"点击配置")])):e.createCommentVNode("",!0),u.event.action==="callProcess"?(e.openBlock(),e.createElementBlock("div",S1,[r[29]||(r[29]=e.createElementVNode("div",{class:"section-title"},"调用流程",-1)),e.createElementVNode("button",{class:"btn-config",onClick:r[10]||(r[10]=d=>t.$emit("open-workflow-selector"))},"选择流程"),(i=u.event.params)!=null&&i.processId?(e.openBlock(),e.createElementBlock("div",x1,[e.createElementVNode("div",V1,[r[27]||(r[27]=e.createElementVNode("span",{class:"info-label"},"已选择:",-1)),e.createElementVNode("span",C1,e.toDisplayString(((l=u.event.params)==null?void 0:l.processName)||((s=u.event.params)==null?void 0:s.processId)),1)]),e.createElementVNode("div",I1,[r[28]||(r[28]=e.createElementVNode("label",null,"传入参数",-1)),e.createElementVNode("textarea",{value:((c=u.event.params)==null?void 0:c.processParams)||"",onInput:r[11]||(r[11]=d=>t.$emit("update-params","processParams",d)),placeholder:'JSON格式: {"param1":"value1","param2":"value2"}',rows:"3"},null,40,A1)])])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)],512),[[e.vShow,!u.isCollapsed]])])}}}),[["__scopeId","data-v-af7c633a"]]),T1={class:"point-selector"},$1={class:"point-list-panel"},B1={class:"panel-header"},D1={class:"point-count"},P1={class:"search-box"},O1={class:"point-list"},M1={key:0,class:"empty-hint"},R1=["onClick"],j1={class:"point-info"},L1={class:"point-name"},U1={key:0,class:"required-badge"},F1={class:"point-meta"},z1={class:"point-code"},W1={key:0,class:"point-unit"},q1={class:"point-type"},G1={key:0,class:"point-description"},H1={key:1,class:"point-range"},K1={class:"modal-footer"},Y1=["disabled"],Q1=Me(e.defineComponent({__name:"ComponentPointSelector",props:{visible:{type:Boolean},modelValue:{},componentPoints:{}},emits:["update:visible","update:modelValue","confirm"],setup(u,{emit:t}){const r=u,a=t,n=e.ref(""),o=e.ref("");e.watch(()=>r.modelValue,h=>{h&&(n.value=h)},{immediate:!0});const i=e.computed(()=>{if(!o.value)return r.componentPoints||[];const h=o.value.toLowerCase();return(r.componentPoints||[]).filter(m=>{var p,f,w;return((p=m.name)==null?void 0:p.toLowerCase().includes(h))||((f=m.id)==null?void 0:f.toLowerCase().includes(h))||((w=m.description)==null?void 0:w.toLowerCase().includes(h))})}),l=h=>{n.value=h.id},s=()=>{a("update:visible",!1)},c=()=>{if(!n.value)return;const h=r.componentPoints.find(m=>m.id===n.value);h&&(a("update:modelValue",n.value),a("confirm",n.value,h),a("update:visible",!1))},d=h=>({boolean:"布尔",number:"数值",string:"字符",json:"JSON"})[h]||h;return(h,m)=>u.visible?(e.openBlock(),e.createElementBlock("div",{key:0,class:"modal-overlay",onClick:s},[e.createElementVNode("div",{class:"modal-container",onClick:m[1]||(m[1]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",{class:"modal-header"},[m[2]||(m[2]=e.createElementVNode("h3",null,"选择组件点位",-1)),e.createElementVNode("button",{class:"btn-close",onClick:s},"✕")]),e.createElementVNode("div",T1,[e.createElementVNode("div",$1,[e.createElementVNode("div",B1,[m[3]||(m[3]=e.createElementVNode("h4",null,"点位列表",-1)),e.createElementVNode("span",D1,e.toDisplayString(u.componentPoints.length),1)]),e.createElementVNode("div",P1,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":m[0]||(m[0]=p=>o.value=p),type:"text",placeholder:"搜索点位...",class:"search-input"},null,512),[[e.vModelText,o.value]])]),e.createElementVNode("div",O1,[i.value.length===0?(e.openBlock(),e.createElementBlock("div",M1," 暂无点位 ")):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(i.value,p=>(e.openBlock(),e.createElementBlock("div",{key:p.id,class:e.normalizeClass(["point-item",{active:n.value===p.id}]),onClick:f=>l(p)},[e.createElementVNode("div",j1,[e.createElementVNode("div",L1,[e.createTextVNode(e.toDisplayString(p.name)+" ",1),p.required?(e.openBlock(),e.createElementBlock("span",U1,"必需")):e.createCommentVNode("",!0)]),e.createElementVNode("div",F1,[e.createElementVNode("span",z1,e.toDisplayString(p.id),1),p.unit?(e.openBlock(),e.createElementBlock("span",W1,e.toDisplayString(p.unit),1)):e.createCommentVNode("",!0),e.createElementVNode("span",q1,e.toDisplayString(d(p.dataType)),1)]),p.description?(e.openBlock(),e.createElementBlock("div",G1,e.toDisplayString(p.description),1)):e.createCommentVNode("",!0),p.range?(e.openBlock(),e.createElementBlock("div",H1," 范围: "+e.toDisplayString(p.range.min!==void 0?p.range.min:"-")+" ~ "+e.toDisplayString(p.range.max!==void 0?p.range.max:"-"),1)):e.createCommentVNode("",!0)])],10,R1))),128))])])]),e.createElementVNode("div",K1,[e.createElementVNode("button",{class:"btn-cancel",onClick:s},"取消"),e.createElementVNode("button",{class:"btn-confirm",disabled:!n.value,onClick:c}," 确定 ",8,Y1)])])])):e.createCommentVNode("",!0)}}),[["__scopeId","data-v-d948fb0f"]]);var ft=(u=>(u.DIRECT="direct",u.BOOLEAN="boolean",u.RANGE="range",u.ENUM="enum",u))(ft||{}),Er=(u=>(u.BOOLEAN="boolean",u.NUMBER="number",u.STRING="string",u))(Er||{});const J1={class:"mapping-configurator"},X1={class:"config-item"},Z1={key:0,class:"field-hint error"},ew={key:1,class:"field-hint"},tw={class:"config-item"},rw={key:0,class:"field-hint error"},ow={key:1,class:"field-hint"},nw={key:0,class:"config-item"},iw={class:"unit-config"},aw={class:"checkbox-label"},sw={key:0,class:"custom-unit"},lw={key:1,class:"mapping-details"},cw={class:"config-item"},dw={class:"config-item"},uw={key:2,class:"mapping-details"},fw={class:"range-rules"},pw=["onUpdate:modelValue"],hw=["onUpdate:modelValue"],mw=["onUpdate:modelValue"],gw=["onClick"],yw={key:3,class:"mapping-details"},bw={class:"enum-mappings"},ww=["value","onInput"],Ew=["onUpdate:modelValue"],vw=["onClick"],kw={key:4,class:"mapping-preview"},_w={class:"preview-content"},Nw={class:"preview-item"},Sw={class:"preview-output"},xw={class:"preview-item"},Vw={class:"preview-output"},Cw={class:"preview-input"},Iw={class:"preview-output"},Aw={class:"preview-input"},Tw={class:"preview-output"},$w=Me(e.defineComponent({__name:"MappingConfigurator",props:{visible:{type:Boolean},modelValue:{}},emits:["update:visible","update:modelValue","confirm"],setup(u,{emit:t}){const r=u,a=t,n=e.ref(r.modelValue||{type:"",valueType:""});e.watch(()=>r.modelValue,S=>{S&&(n.value={...S})},{deep:!0});const o=()=>{n.value.type||(n.value.valueType===Er.BOOLEAN?n.value.type=ft.BOOLEAN:n.value.valueType===Er.NUMBER?n.value.type=ft.RANGE:n.value.type=ft.DIRECT),n.value.valueType!==Er.NUMBER&&(delete n.value.keepOriginalUnit,delete n.value.customUnit)},i=S=>({boolean:"适用于开关状态、是否判断等场景",number:"适用于温度、压力、流量等数值型数据",string:"适用于文本、状态码等字符型数据"})[S]||"",l=S=>({direct:"不做任何转换,直接使用原始值",boolean:"根据 true/false 转换为不同的值",range:"根据数值范围转换为对应值",enum:"根据枚举键值对转换"})[S]||"",s=()=>{const S=n.value.valueType;n.value={type:n.value.type,valueType:S},n.value.type===ft.RANGE?n.value.rangeRules=[]:n.value.type===ft.ENUM&&(n.value.enumMappings={})},c=()=>{n.value.rangeRules||(n.value.rangeRules=[]),n.value.rangeRules.push({min:0,max:100,value:""})},d=S=>{var b;(b=n.value.rangeRules)==null||b.splice(S,1)},h=()=>{n.value.enumMappings||(n.value.enumMappings={});const S=`key_${Object.keys(n.value.enumMappings).length+1}`;n.value.enumMappings[S]=""},m=S=>{n.value.enumMappings&&delete n.value.enumMappings[S]},p=(S,b)=>{const E=S.target.value;if(!n.value.enumMappings||E===b)return;const k=n.value.enumMappings[b];delete n.value.enumMappings[b],n.value.enumMappings[E]=k},f=()=>{},w=()=>{a("update:visible",!1)},N=()=>{if(!n.value.valueType){alert("请选择值类型!");return}if(!n.value.type){alert("请选择映射类型!");return}a("update:modelValue",{...n.value}),a("confirm",{...n.value}),a("update:visible",!1)};return(S,b)=>u.visible?(e.openBlock(),e.createElementBlock("div",{key:0,class:"modal-overlay",onClick:w},[e.createElementVNode("div",{class:"modal-container",onClick:b[6]||(b[6]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",{class:"modal-header"},[b[7]||(b[7]=e.createElementVNode("h3",null,"值映射配置",-1)),e.createElementVNode("button",{class:"btn-close",onClick:w},"✕")]),e.createElementVNode("div",J1,[e.createElementVNode("div",X1,[b[9]||(b[9]=e.createElementVNode("label",null,[e.createTextVNode("值类型 "),e.createElementVNode("span",{class:"required"},"*")],-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":b[0]||(b[0]=E=>n.value.valueType=E),onChange:o},[...b[8]||(b[8]=[e.createElementVNode("option",{value:""},"请选择值类型",-1),e.createElementVNode("option",{value:"boolean"},"布尔型 (true/false)",-1),e.createElementVNode("option",{value:"number"},"数值型 (123, 45.6)",-1),e.createElementVNode("option",{value:"string"},'字符串型 ("abc")',-1)])],544),[[e.vModelSelect,n.value.valueType]]),n.value.valueType?(e.openBlock(),e.createElementBlock("div",ew,e.toDisplayString(i(n.value.valueType)),1)):(e.openBlock(),e.createElementBlock("div",Z1," 值类型为必填项 "))]),e.createElementVNode("div",tw,[b[11]||(b[11]=e.createElementVNode("label",null,[e.createTextVNode("映射类型 "),e.createElementVNode("span",{class:"required"},"*")],-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":b[1]||(b[1]=E=>n.value.type=E),onChange:s},[...b[10]||(b[10]=[e.createStaticVNode('<option value="" data-v-ef9e0ee1>请选择映射类型</option><option value="direct" data-v-ef9e0ee1>直接映射(无转换)</option><option value="boolean" data-v-ef9e0ee1>布尔映射</option><option value="range" data-v-ef9e0ee1>范围映射</option><option value="enum" data-v-ef9e0ee1>枚举映射</option>',5)])],544),[[e.vModelSelect,n.value.type]]),n.value.type?(e.openBlock(),e.createElementBlock("div",ow,e.toDisplayString(l(n.value.type)),1)):(e.openBlock(),e.createElementBlock("div",rw," 映射类型为必填项 "))]),n.value.valueType==="number"?(e.openBlock(),e.createElementBlock("div",nw,[b[13]||(b[13]=e.createElementVNode("label",null,"单位配置",-1)),e.createElementVNode("div",iw,[e.createElementVNode("label",aw,[e.withDirectives(e.createElementVNode("input",{type:"checkbox","onUpdate:modelValue":b[2]||(b[2]=E=>n.value.keepOriginalUnit=E),onChange:f},null,544),[[e.vModelCheckbox,n.value.keepOriginalUnit]]),b[12]||(b[12]=e.createTextVNode(" 保留点位原始单位 ",-1))]),n.value.keepOriginalUnit?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",sw,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":b[3]||(b[3]=E=>n.value.customUnit=E),type:"text",placeholder:"自定义单位,如: °C, MPa, %",onInput:f},null,544),[[e.vModelText,n.value.customUnit]])]))])])):e.createCommentVNode("",!0),n.value.type==="boolean"?(e.openBlock(),e.createElementBlock("div",lw,[e.createElementVNode("div",cw,[b[14]||(b[14]=e.createElementVNode("label",null,"True 时的值",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":b[4]||(b[4]=E=>n.value.trueValue=E),type:"text",placeholder:"例如: 运行、#00ff00",onInput:f},null,544),[[e.vModelText,n.value.trueValue]])]),e.createElementVNode("div",dw,[b[15]||(b[15]=e.createElementVNode("label",null,"False 时的值",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":b[5]||(b[5]=E=>n.value.falseValue=E),type:"text",placeholder:"例如: 停止、#ff0000",onInput:f},null,544),[[e.vModelText,n.value.falseValue]])])])):e.createCommentVNode("",!0),n.value.type==="range"?(e.openBlock(),e.createElementBlock("div",uw,[e.createElementVNode("div",fw,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value.rangeRules,(E,k)=>(e.openBlock(),e.createElementBlock("div",{key:k,class:"range-rule"},[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":v=>E.min=v,type:"number",placeholder:"最小值",onInput:f},null,40,pw),[[e.vModelText,E.min,void 0,{number:!0}]]),b[16]||(b[16]=e.createElementVNode("span",{class:"range-separator"},"~",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":v=>E.max=v,type:"number",placeholder:"最大值",onInput:f},null,40,hw),[[e.vModelText,E.max,void 0,{number:!0}]]),b[17]||(b[17]=e.createElementVNode("span",{class:"range-arrow"},"→",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":v=>E.value=v,type:"text",placeholder:"映射值",onInput:f},null,40,mw),[[e.vModelText,E.value]]),e.createElementVNode("button",{class:"btn-remove-rule",onClick:v=>d(k),title:"删除规则"}," ✕ ",8,gw)]))),128))]),e.createElementVNode("button",{class:"btn-add-rule",onClick:c}," + 添加范围规则 ")])):e.createCommentVNode("",!0),n.value.type==="enum"?(e.openBlock(),e.createElementBlock("div",yw,[e.createElementVNode("div",bw,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value.enumMappings,(E,k,v)=>(e.openBlock(),e.createElementBlock("div",{key:v,class:"enum-mapping"},[e.createElementVNode("input",{value:k,type:"text",placeholder:"原始值",onInput:V=>p(V,k)},null,40,ww),b[18]||(b[18]=e.createElementVNode("span",{class:"enum-arrow"},"→",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":V=>n.value.enumMappings[k]=V,type:"text",placeholder:"映射值",onInput:f},null,40,Ew),[[e.vModelText,n.value.enumMappings[k]]]),e.createElementVNode("button",{class:"btn-remove-rule",onClick:V=>m(k),title:"删除映射"}," ✕ ",8,vw)]))),128))]),e.createElementVNode("button",{class:"btn-add-rule",onClick:h}," + 添加枚举映射 ")])):e.createCommentVNode("",!0),n.value.type!=="direct"?(e.openBlock(),e.createElementBlock("div",kw,[b[25]||(b[25]=e.createElementVNode("label",null,"映射预览",-1)),e.createElementVNode("div",_w,[n.value.type==="boolean"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("div",Nw,[b[19]||(b[19]=e.createElementVNode("span",{class:"preview-input"},"true",-1)),b[20]||(b[20]=e.createElementVNode("span",{class:"preview-arrow"},"→",-1)),e.createElementVNode("span",Sw,e.toDisplayString(n.value.trueValue||"true"),1)]),e.createElementVNode("div",xw,[b[21]||(b[21]=e.createElementVNode("span",{class:"preview-input"},"false",-1)),b[22]||(b[22]=e.createElementVNode("span",{class:"preview-arrow"},"→",-1)),e.createElementVNode("span",Vw,e.toDisplayString(n.value.falseValue||"false"),1)])],64)):n.value.type==="range"?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(n.value.rangeRules,(E,k)=>(e.openBlock(),e.createElementBlock("div",{key:k,class:"preview-item"},[e.createElementVNode("span",Cw,"["+e.toDisplayString(E.min)+" ~ "+e.toDisplayString(E.max)+"]",1),b[23]||(b[23]=e.createElementVNode("span",{class:"preview-arrow"},"→",-1)),e.createElementVNode("span",Iw,e.toDisplayString(E.value),1)]))),128)):n.value.type==="enum"?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:2},e.renderList(n.value.enumMappings,(E,k)=>(e.openBlock(),e.createElementBlock("div",{key:k,class:"preview-item"},[e.createElementVNode("span",Aw,e.toDisplayString(k),1),b[24]||(b[24]=e.createElementVNode("span",{class:"preview-arrow"},"→",-1)),e.createElementVNode("span",Tw,e.toDisplayString(E),1)]))),128)):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0)]),e.createElementVNode("div",{class:"modal-footer"},[e.createElementVNode("button",{class:"btn-cancel",onClick:w},"取消"),e.createElementVNode("button",{class:"btn-confirm",onClick:N},"确定")])])])):e.createCommentVNode("",!0)}}),[["__scopeId","data-v-ef9e0ee1"]]),Bw={class:"binding-row"},Dw={key:0,class:"cell-content-vertical"},Pw={class:"point-name"},Ow={class:"point-id"},Mw={key:1,class:"cell-placeholder"},Rw={class:"binding-col-property"},jw=["value"],Lw=["value"],Uw={key:0,class:"mapping-label"},Fw={key:1,class:"cell-placeholder"},zw={class:"binding-col-actions"},Mi=Me(e.defineComponent({__name:"BindingCard",props:{binding:{},index:{},isCollapsed:{type:Boolean},nodeProperties:{},componentPoints:{}},emits:["toggle-collapse","remove","update-field"],setup(u,{emit:t}){const r=u,a=t,n=e.ref(""),o=e.ref(!1),i=e.ref(!1),l=e.ref(r.binding.mapping||{type:ft.DIRECT,valueType:Er.NUMBER});r.binding.devicePointId&&(n.value=r.binding.devicePointId),e.watch(()=>r.binding.devicePointId,m=>{m?n.value=m:n.value=""}),e.watch(()=>r.binding.mapping,m=>{m&&(l.value=m)},{deep:!0});const s=e.computed(()=>{if(!n.value)return null;const m=r.componentPoints.find(p=>p.id===n.value);return m?{pointId:m.id,pointName:m.name,dataType:m.dataType,pointUnit:m.unit}:null}),c=(m,p)=>{const f=new Event("change");Object.defineProperty(f,"target",{value:{value:m},writable:!1}),a("update-field","devicePointId",f),console.log("选择了组件点位:",{pointId:m,pointName:p.name,dataType:p.dataType})},d=m=>{const p=new Event("change");Object.defineProperty(p,"target",{value:{value:m},writable:!1}),a("update-field","mapping",p)},h=m=>({direct:"直接映射",boolean:"布尔映射",range:"范围映射",enum:"枚举映射"})[m]||m;return(m,p)=>(e.openBlock(),e.createElementBlock("div",Bw,[e.createElementVNode("div",{class:"binding-col-point",onClick:p[0]||(p[0]=f=>o.value=!0)},[s.value?(e.openBlock(),e.createElementBlock("div",Dw,[e.createElementVNode("span",Pw,e.toDisplayString(s.value.pointName),1),e.createElementVNode("span",Ow,e.toDisplayString(s.value.pointId),1)])):(e.openBlock(),e.createElementBlock("span",Mw,"选择点位"))]),e.createElementVNode("div",Rw,[e.createElementVNode("select",{class:"table-select",value:u.binding.targetProperty||"",onChange:p[1]||(p[1]=f=>m.$emit("update-field","targetProperty",f))},[p[8]||(p[8]=e.createElementVNode("option",{value:""},"选择属性",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.nodeProperties,f=>(e.openBlock(),e.createElementBlock("option",{key:f.key,value:f.key},e.toDisplayString(f.label),9,Lw))),128))],40,jw)]),e.createElementVNode("div",{class:"binding-col-mapping",onClick:p[2]||(p[2]=f=>i.value=!0)},[l.value.type!=="direct"?(e.openBlock(),e.createElementBlock("span",Uw,e.toDisplayString(h(l.value.type)),1)):(e.openBlock(),e.createElementBlock("span",Fw,"直接映射"))]),e.createElementVNode("div",zw,[e.createElementVNode("button",{class:"btn-delete",onClick:p[3]||(p[3]=f=>m.$emit("remove")),title:"删除"},"🗑")]),e.createVNode(Q1,{visible:o.value,"onUpdate:visible":p[4]||(p[4]=f=>o.value=f),modelValue:n.value,"onUpdate:modelValue":p[5]||(p[5]=f=>n.value=f),"component-points":u.componentPoints,onConfirm:c},null,8,["visible","modelValue","component-points"]),e.createVNode($w,{visible:i.value,"onUpdate:visible":p[6]||(p[6]=f=>i.value=f),modelValue:l.value,"onUpdate:modelValue":p[7]||(p[7]=f=>l.value=f),onConfirm:d},null,8,["visible","modelValue"])]))}}),[["__scopeId","data-v-8b05eddd"]]),Ww={class:"dialog-content"},qw={class:"dialog-header"},Gw={class:"dialog-body"},Hw={class:"group-row"},Kw={class:"group-field"},Yw=["value","onChange"],Qw=["value"],Jw={class:"group-field group-field-value"},Xw=["value","onInput"],Zw=["value","onInput"],eE={key:2,class:"color-input-wrapper"},tE=["value","onInput"],rE={class:"color-value"},oE=["value","onChange"],nE=["onClick"],iE={key:0,class:"empty-hint"},aE={class:"dialog-footer"},Ri=Me(e.defineComponent({__name:"AttributeConfigDialog",props:{attributeGroups:{},nodeProperties:{}},emits:["close","save","add-group","remove-group","update-group"],setup(u,{emit:t}){const r=u,a=t,n=l=>{const s=r.nodeProperties.find(c=>c.key===l);return(s==null?void 0:s.type)||"text"},o=(l,s,c)=>{const d=c.target.value;a("update-group",l,s,d)},i=()=>{for(const l of r.attributeGroups)if(!l.property){alert("请为每组配置选择目标属性");return}a("save")};return(l,s)=>(e.openBlock(),e.createElementBlock("div",{class:"dialog-overlay",onClick:s[3]||(s[3]=e.withModifiers(c=>l.$emit("close"),["self"]))},[e.createElementVNode("div",Ww,[e.createElementVNode("div",qw,[s[4]||(s[4]=e.createElementVNode("h3",null,"事件属性更改配置",-1)),e.createElementVNode("button",{class:"btn-close",onClick:s[0]||(s[0]=c=>l.$emit("close"))},"×")]),e.createElementVNode("div",Gw,[e.createElementVNode("button",{class:"btn-add-group",onClick:s[1]||(s[1]=c=>l.$emit("add-group"))},"新增一组"),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.attributeGroups,(c,d)=>(e.openBlock(),e.createElementBlock("div",{key:d,class:"attribute-group"},[e.createElementVNode("div",Hw,[e.createElementVNode("div",Kw,[s[6]||(s[6]=e.createElementVNode("label",null,"目标属性",-1)),e.createElementVNode("select",{value:c.property,onChange:h=>o(d,"property",h)},[s[5]||(s[5]=e.createElementVNode("option",{value:""},"选择目标属性",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.nodeProperties,h=>(e.openBlock(),e.createElementBlock("option",{key:h.key,value:h.key},e.toDisplayString(h.label),9,Qw))),128))],40,Yw)]),e.createElementVNode("div",Jw,[s[8]||(s[8]=e.createElementVNode("label",null,"期望值",-1)),!c.property||n(c.property)==="text"?(e.openBlock(),e.createElementBlock("input",{key:0,value:c.value,type:"text",onInput:h=>o(d,"value",h),placeholder:"输入值"},null,40,Xw)):n(c.property)==="number"?(e.openBlock(),e.createElementBlock("input",{key:1,value:c.value,type:"number",onInput:h=>o(d,"value",h),placeholder:"输入数字"},null,40,Zw)):n(c.property)==="color"?(e.openBlock(),e.createElementBlock("div",eE,[e.createElementVNode("input",{value:c.value,type:"color",onInput:h=>o(d,"value",h)},null,40,tE),e.createElementVNode("span",rE,e.toDisplayString(c.value||"#000000"),1)])):n(c.property)==="boolean"?(e.openBlock(),e.createElementBlock("select",{key:3,value:c.value,onChange:h=>o(d,"value",h)},[...s[7]||(s[7]=[e.createElementVNode("option",{value:"true"},"是",-1),e.createElementVNode("option",{value:"false"},"否",-1)])],40,oE)):e.createCommentVNode("",!0)]),e.createElementVNode("button",{class:"btn-delete-group",onClick:h=>l.$emit("remove-group",d),title:"删除"}," 🗑 ",8,nE)])]))),128)),u.attributeGroups.length===0?(e.openBlock(),e.createElementBlock("div",iE,' 请点击"新增一组"按钮添加属性配置 ')):e.createCommentVNode("",!0)]),e.createElementVNode("div",aE,[e.createElementVNode("button",{class:"btn-cancel",onClick:s[2]||(s[2]=c=>l.$emit("close"))},"取消"),e.createElementVNode("button",{class:"btn-confirm",onClick:i},"确定")])])]))}}),[["__scopeId","data-v-90af9944"]]),sE={class:"dialog-content dialog-large"},lE={class:"dialog-header"},cE={class:"dialog-body dialog-body-split"},dE={class:"code-editor-section"},uE=["value"],fE={class:"code-preview-section"},pE={class:"section-header"},hE={class:"preview-status"},mE={key:0,class:"status-success"},gE={key:1,class:"status-error"},yE={class:"preview-canvas"},bE={key:0,class:"preview-empty"},wE={key:1,class:"preview-error-box"},EE={class:"error-message"},vE={key:2,class:"preview-node-container"},kE={key:0,class:"console-output"},_E={class:"console-logs"},NE={class:"dialog-footer"},SE=`function execute(node) {
24
24
  // 修改节点填充颜色为红色
25
25
  node.attr('body/fill', '#ff0000');
26
26
 
@@ -30,7 +30,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
30
30
  // 获取当前节点位置
31
31
  const pos = node.getPosition();
32
32
  console.log('X:', pos.x, 'Y:', pos.y);
33
- }`,Ri=Me(e.defineComponent({__name:"CustomCodeDialog",props:{code:{},selectedNode:{}},emits:["update:code","close","save"],setup(u,{expose:r}){const t=u,l=e.ref(null),n=e.ref(null);let o=null,i=null;const a=async()=>{var m;if(!t.selectedNode){n.value={success:!1,logs:[],error:"没有选中的节点"};return}const c=(m=t.selectedNode.model)==null?void 0:m.graph;if(!c){n.value={success:!1,logs:[],error:"无法获取画布对象"};return}n.value={success:!0,logs:[],result:void 0};const d=[],p=console.log;try{if(await e.nextTick(),await s(),!i||!o){n.value={success:!1,logs:[],error:"预览画布初始化失败"};return}console.log=(...S)=>{d.push(S.map(b=>typeof b=="object"?JSON.stringify(b,null,2):String(b)).join(" ")),p(...S)};let h=t.code.trim();h.startsWith("function")&&(h=`${h}; execute(node, graph, event);`);const f=new Function("node","graph","event",h),w=new Proxy(t.selectedNode,{get(S,b){return b==="attr"?function(..._){return _.length===1?S.attr(_[0]):i?i.attr(_[0],_[1]):void 0}:S[b]}}),v=f(w,c,{});i&&o&&(i.removeTools(),o.drawBackground(),i.toJSON()),n.value={success:!0,logs:d,result:v!==void 0?typeof v=="object"?JSON.stringify(v,null,2):String(v):void 0}}catch(h){n.value={success:!1,logs:d,error:h.message||String(h)}}finally{console.log=p}},s=async()=>{var m;if(!l.value||!t.selectedNode)return;await e.nextTick();const c=l.value.clientWidth,d=l.value.clientHeight;if(c===0||d===0)return;l.value.innerHTML="",o&&(o.dispose(),o=null,i=null),o=new Le.Graph({container:l.value,width:c,height:Math.max(d-100,300),background:{color:"#0f172a"},grid:{size:10,visible:!0,type:"dot",args:{color:"#1e293b",thickness:1}},interacting:!1});const p=t.selectedNode.toJSON();try{i=o.addNode({...p,position:{x:c/2-(((m=p.size)==null?void 0:m.width)||100)/2,y:100}})}catch(h){console.error("添加预览节点失败:",h)}};return r({previewContainer:l,DEFAULT_CODE:VE}),(c,d)=>{var p,m;return e.openBlock(),e.createElementBlock("div",{class:"dialog-overlay",onClick:d[4]||(d[4]=e.withModifiers(h=>c.$emit("close"),["self"]))},[e.createElementVNode("div",cE,[e.createElementVNode("div",dE,[d[5]||(d[5]=e.createElementVNode("h3",null,"自定义代码配置",-1)),e.createElementVNode("button",{class:"btn-close",onClick:d[0]||(d[0]=h=>c.$emit("close"))},"×")]),e.createElementVNode("div",uE,[e.createElementVNode("div",fE,[e.createElementVNode("div",{class:"section-header"},[d[6]||(d[6]=e.createElementVNode("label",null,"JavaScript代码",-1)),e.createElementVNode("button",{class:"btn-test",onClick:a},"测试执行")]),e.createElementVNode("textarea",{value:u.code,onInput:d[1]||(d[1]=h=>c.$emit("update:code",h.target.value)),placeholder:`function execute(node) {
33
+ }`,ji=Me(e.defineComponent({__name:"CustomCodeDialog",props:{code:{},selectedNode:{}},emits:["update:code","close","save"],setup(u,{expose:t}){const r=u,a=e.ref(null),n=e.ref(null);let o=null,i=null;const l=async()=>{var m;if(!r.selectedNode){n.value={success:!1,logs:[],error:"没有选中的节点"};return}const c=(m=r.selectedNode.model)==null?void 0:m.graph;if(!c){n.value={success:!1,logs:[],error:"无法获取画布对象"};return}n.value={success:!0,logs:[],result:void 0};const d=[],h=console.log;try{if(await e.nextTick(),await s(),!i||!o){n.value={success:!1,logs:[],error:"预览画布初始化失败"};return}console.log=(...S)=>{d.push(S.map(b=>typeof b=="object"?JSON.stringify(b,null,2):String(b)).join(" ")),h(...S)};let p=r.code.trim();p.startsWith("function")&&(p=`${p}; execute(node, graph, event);`);const f=new Function("node","graph","event",p),w=new Proxy(r.selectedNode,{get(S,b){return b==="attr"?function(...E){return E.length===1?S.attr(E[0]):i?i.attr(E[0],E[1]):void 0}:S[b]}}),N=f(w,c,{});i&&o&&(i.removeTools(),o.drawBackground(),i.toJSON()),n.value={success:!0,logs:d,result:N!==void 0?typeof N=="object"?JSON.stringify(N,null,2):String(N):void 0}}catch(p){n.value={success:!1,logs:d,error:p.message||String(p)}}finally{console.log=h}},s=async()=>{var m;if(!a.value||!r.selectedNode)return;await e.nextTick();const c=a.value.clientWidth,d=a.value.clientHeight;if(c===0||d===0)return;a.value.innerHTML="",o&&(o.dispose(),o=null,i=null),o=new Le.Graph({container:a.value,width:c,height:Math.max(d-100,300),background:{color:"#0f172a"},grid:{size:10,visible:!0,type:"dot",args:{color:"#1e293b",thickness:1}},interacting:!1});const h=r.selectedNode.toJSON();try{i=o.addNode({...h,position:{x:c/2-(((m=h.size)==null?void 0:m.width)||100)/2,y:100}})}catch(p){console.error("添加预览节点失败:",p)}};return t({previewContainer:a,DEFAULT_CODE:SE}),(c,d)=>{var h,m;return e.openBlock(),e.createElementBlock("div",{class:"dialog-overlay",onClick:d[4]||(d[4]=e.withModifiers(p=>c.$emit("close"),["self"]))},[e.createElementVNode("div",sE,[e.createElementVNode("div",lE,[d[5]||(d[5]=e.createElementVNode("h3",null,"自定义代码配置",-1)),e.createElementVNode("button",{class:"btn-close",onClick:d[0]||(d[0]=p=>c.$emit("close"))},"×")]),e.createElementVNode("div",cE,[e.createElementVNode("div",dE,[e.createElementVNode("div",{class:"section-header"},[d[6]||(d[6]=e.createElementVNode("label",null,"JavaScript代码",-1)),e.createElementVNode("button",{class:"btn-test",onClick:l},"测试执行")]),e.createElementVNode("textarea",{value:u.code,onInput:d[1]||(d[1]=p=>c.$emit("update:code",p.target.value)),placeholder:`function execute(node) {
34
34
  // 修改节点填充颜色为红色
35
35
  node.attr('body/fill', '#ff0000');
36
36
 
@@ -40,23 +40,23 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
40
40
  // 获取当前节点位置
41
41
  const pos = node.getPosition();
42
42
  console.log('X:', pos.x, 'Y:', pos.y);
43
- }`,class:"code-textarea code-textarea-full"},null,40,pE)]),e.createElementVNode("div",hE,[e.createElementVNode("div",mE,[d[7]||(d[7]=e.createElementVNode("label",null,"组件预览",-1)),e.createElementVNode("div",gE,[(p=n.value)!=null&&p.success?(e.openBlock(),e.createElementBlock("span",yE,"✓ 执行成功")):(m=n.value)!=null&&m.error?(e.openBlock(),e.createElementBlock("span",bE,"✗ 执行失败")):e.createCommentVNode("",!0)])]),e.createElementVNode("div",wE,[n.value?n.value.error?(e.openBlock(),e.createElementBlock("div",vE,[d[8]||(d[8]=e.createElementVNode("div",{class:"error-title"},"错误信息:",-1)),e.createElementVNode("div",kE,e.toDisplayString(n.value.error),1)])):(e.openBlock(),e.createElementBlock("div",_E,[e.createElementVNode("div",{ref_key:"previewContainer",ref:l,class:"node-preview"},null,512),n.value.logs.length>0?(e.openBlock(),e.createElementBlock("div",NE,[d[9]||(d[9]=e.createElementVNode("div",{class:"console-title"},"控制台输出:",-1)),e.createElementVNode("div",xE,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value.logs,(h,f)=>(e.openBlock(),e.createElementBlock("div",{key:f,class:"log-item"},e.toDisplayString(h),1))),128))])])):e.createCommentVNode("",!0)])):(e.openBlock(),e.createElementBlock("div",EE,' 点击"测试执行"按钮查看组件预览效果 '))])])]),e.createElementVNode("div",SE,[e.createElementVNode("button",{class:"btn-cancel",onClick:d[2]||(d[2]=h=>c.$emit("close"))},"取消"),e.createElementVNode("button",{class:"btn-confirm",onClick:d[3]||(d[3]=h=>c.$emit("save"))},"确定")])])])}}}),[["__scopeId","data-v-add3567b"]]),CE={class:"dialog-container"},IE={class:"dialog-header"},AE={class:"dialog-body"},$E={key:0,class:"empty-state"},TE={key:1,class:"workflow-list"},BE=["onClick"],DE={class:"workflow-info"},PE={class:"workflow-name"},OE={class:"workflow-meta"},ME={class:"workflow-id"},RE={class:"workflow-date"},jE={class:"workflow-actions"},LE=["onClick"],UE={class:"dialog-footer"},FE=["disabled"],zE=Me(e.defineComponent({__name:"WorkflowSelectorDialog",emits:["close","select"],setup(u,{emit:r}){const t=r,l=e.ref([]),n=e.ref(null),o=()=>{try{const d=localStorage.getItem("saved-workflows");d&&(l.value=JSON.parse(d))}catch(d){console.error("加载流程列表失败:",d)}},i=d=>{n.value=d},a=d=>{console.log("预览流程:",d)},s=()=>{n.value&&t("select",n.value)},c=d=>new Date(d).toLocaleString("zh-CN",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"});return e.onMounted(()=>{o()}),(d,p)=>(e.openBlock(),e.createElementBlock("div",{class:"dialog-overlay",onClick:p[2]||(p[2]=e.withModifiers(m=>d.$emit("close"),["self"]))},[e.createElementVNode("div",CE,[e.createElementVNode("div",IE,[p[3]||(p[3]=e.createElementVNode("h3",null,"选择流程",-1)),e.createElementVNode("button",{class:"btn-close",onClick:p[0]||(p[0]=m=>d.$emit("close"))},"×")]),e.createElementVNode("div",AE,[l.value.length===0?(e.openBlock(),e.createElementBlock("div",$E,[...p[4]||(p[4]=[e.createElementVNode("p",null,"暂无已保存的流程",-1),e.createElementVNode("p",{class:"hint"},"请先在流程编辑器中创建并保存流程",-1)])])):(e.openBlock(),e.createElementBlock("div",TE,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,m=>{var h;return e.openBlock(),e.createElementBlock("div",{key:m.id,class:e.normalizeClass(["workflow-item",{selected:((h=n.value)==null?void 0:h.id)===m.id}]),onClick:f=>i(m)},[e.createElementVNode("div",DE,[e.createElementVNode("div",PE,e.toDisplayString(m.name),1),e.createElementVNode("div",OE,[e.createElementVNode("span",ME,"ID: "+e.toDisplayString(m.id),1),e.createElementVNode("span",RE,e.toDisplayString(c(m.createdAt)),1)])]),e.createElementVNode("div",jE,[e.createElementVNode("button",{class:"btn-icon",onClick:e.withModifiers(f=>a(m),["stop"]),title:"预览"}," 👁️ ",8,LE)])],10,BE)}),128))]))]),e.createElementVNode("div",UE,[e.createElementVNode("button",{class:"btn-secondary",onClick:p[1]||(p[1]=m=>d.$emit("close"))},"取消"),e.createElementVNode("button",{class:"btn-primary",disabled:!n.value,onClick:s}," 确定 ",8,FE)])])]))}}),[["__scopeId","data-v-c9a88e33"]]),WE=(u,r)=>{const t=r.split(".");let l=u;for(const n of t)if(l&&typeof l=="object"&&n in l)l=l[n];else return;return l},qE=(u,r,t)=>{const l=r.split(".");let n=u;for(let o=0;o<l.length-1;o++)n[l[o]]||(n[l[o]]={}),n=n[l[o]];n[l[l.length-1]]=t},GE=(u,r)=>{var o;const t=u.getData(),l=(o=t==null?void 0:t.props)==null?void 0:o.find(i=>i.key===r);if(!l||!l.path)return;const n=l.path.split(".");if(n[0]==="attrs"){const i=n.slice(1).join("/");return u.attr(i)}else if(n[0]==="data"){const i=n.slice(1).join(".");return WE(u.getData(),i)}},HE=(u,r,t)=>{var i;const l=u.getData(),n=(i=l==null?void 0:l.props)==null?void 0:i.find(a=>a.key===r);if(!n||!n.path)return console.warn(`未找到属性配置: ${r}`),!1;const o=n.path.split(".");if(o[0]==="attrs"){const a=o.slice(1).join("/");return u.setAttrByPath(a,t),console.log(`属性已更改: ${r} (${a}) = ${t}`),!0}else if(o[0]==="data"){const a=o.slice(1).join("."),s=u.getData()||{};return qE(s,a,t),u.setData(s),console.log(`数据已更改: ${r} (${a}) = ${t}`),!0}else return console.warn(`未知的属性路径类型: ${n.path}`),!1},ji=(u,r)=>{if(r.conditionType==="always")return!0;if(r.condition&&r.condition.attribute){const t=GE(u,r.condition.attribute),l=t===r.condition.value;return console.log(`条件检查: ${r.condition.attribute} = ${t}, 期望: ${r.condition.value}, 结果: ${l}`),l}return!1},KE=(u,r)=>{r!=null&&r.attributeGroups&&r.attributeGroups.forEach(t=>{const l=t.target==="current"?u:null;l&&HE(l,t.property,t.value)})},YE=(u,r,t)=>{if(t!=null&&t.code)try{new Function("node","event",t.code)(u,r)}catch(l){console.error("自定义代码执行失败:",l)}},QE=(u,r,t)=>{if(!(t!=null&&t.processId)||!(t!=null&&t.processData)){console.error("流程配置不完整:",t);return}try{console.log("开始执行流程:",t.processName||t.processId);let l={};if(t.processParams)try{l=JSON.parse(t.processParams)}catch(o){console.error("流程参数解析失败:",o)}console.log("流程数据:",t.processData),console.log("传入参数:",l);const n=new CustomEvent("workflow-execute",{detail:{processId:t.processId,processName:t.processName,processData:t.processData,params:l,triggerNode:u}});window.dispatchEvent(n)}catch(l){console.error("流程执行失败:",l)}},Li=(u,r)=>{if(r.action)switch(console.log("执行事件动作:",r.action,r.params),r.action){case"attributeChange":KE(u,r.params);break;case"customCode":YE(u,r,r.params);break;case"callProcess":QE(u,r,r.params);break;default:console.warn("未知的事件动作:",r.action)}},JE=(u,r)=>{const t=r.getData();!(t!=null&&t.events)||!Array.isArray(t.events)||t.events.forEach(l=>{const n=l.type;switch(n){case"click":case"dblclick":case"mouseenter":case"mouseleave":u.on(`node:${n}`,({node:o})=>{o.id===r.id&&(console.log(`触发 ${n} 事件:`,l),ji(o,l)&&Li(o,l))});break;case"change":u.on("node:change:attrs",({node:o})=>{o.id===r.id&&(console.log("检查 change 事件:",l),ji(o,l)&&(console.log("条件满足,触发 change 事件:",l),Li(o,l)))});break;case"input":u.on("node:change:data",({node:o})=>{o.id===r.id&&(console.log("触发 input 事件:",l),ji(o,l)&&Li(o,l))});break;case"focus":case"blur":console.warn(`事件类型 ${n} 在预览模式下不支持`);break;default:console.warn(`未知的事件类型: ${n}`)}})},ft={SCADA_EDITOR_DATA:"scada_editor_data"},lr=(u,r)=>{try{const t=JSON.stringify(r);return localStorage.setItem(u,t),!0}catch(t){return console.error(`保存到 localStorage 失败 [${u}]:`,t),!1}},Ui=u=>{try{const r=localStorage.getItem(u);return r?JSON.parse(r):null}catch(r){return console.error(`从 localStorage 读取失败 [${u}]:`,r),null}},ao=u=>{try{localStorage.removeItem(u)}catch(r){console.error(`从 localStorage 删除失败 [${u}]:`,r)}},XE=(u,r)=>{try{const t=JSON.stringify(u,null,2),l=new Blob([t],{type:"application/json;charset=utf-8"}),n=URL.createObjectURL(l),o=document.createElement("a");return o.href=n,o.download=`${r}.json`,o.click(),URL.revokeObjectURL(n),!0}catch(t){return console.error("导出 JSON 文件失败:",t),!1}},Fi=(u="")=>{const r=Date.now(),t=Math.random().toString(36).substring(2,11);return u?`${u}_${r}_${t}`:`${r}_${t}`},Jl=()=>Fi("evt"),ZE=()=>Fi("node"),lo=(u,r="YYYY-MM-DD HH:mm:ss")=>{const t=new Date(u),l=t.getFullYear(),n=String(t.getMonth()+1).padStart(2,"0"),o=String(t.getDate()).padStart(2,"0"),i=String(t.getHours()).padStart(2,"0"),a=String(t.getMinutes()).padStart(2,"0"),s=String(t.getSeconds()).padStart(2,"0");return r.replace("YYYY",String(l)).replace("MM",n).replace("DD",o).replace("HH",i).replace("mm",a).replace("ss",s)},co=()=>Date.now(),Xl=(u=50,r=50,t=400,l=300)=>({x:Math.random()*t+u,y:Math.random()*l+r}),Xe=(u,r="info",t=3e3)=>{const l=document.createElement("div");l.className=`scada-toast scada-toast-${r}`,l.textContent=u,Object.assign(l.style,{position:"fixed",top:"20px",left:"50%",transform:"translateX(-50%)",padding:"12px 24px",borderRadius:"6px",fontSize:"14px",fontWeight:"500",zIndex:"10000",boxShadow:"0 4px 12px rgba(0, 0, 0, 0.15)",maxWidth:"80%",wordBreak:"break-word",opacity:"0",transition:"opacity 0.3s ease, transform 0.3s ease"});const o={success:{bg:"#10b981",text:"#fff"},error:{bg:"#ef4444",text:"#fff"},warning:{bg:"#f59e0b",text:"#fff"},info:{bg:"#3b82f6",text:"#fff"}}[r];l.style.backgroundColor=o.bg,l.style.color=o.text,document.body.appendChild(l),requestAnimationFrame(()=>{l.style.opacity="1"}),setTimeout(()=>{l.style.opacity="0",setTimeout(()=>{l.parentNode&&document.body.removeChild(l)},300)},t)};class ev{constructor(){Se(this,"graph",null)}setGraph(r){this.graph=r}getGraph(){return this.graph}zoomIn(){if(!this.graph)return;const r=je.getConfig().zoom.scale,t=Math.min(5,r+.1);je.setZoom(t)}zoomOut(){if(!this.graph)return;const r=je.getConfig().zoom.scale,t=Math.max(.1,r-.1);je.setZoom(t)}setZoom(r){if(!this.graph)return;const t=Math.max(.1,Math.min(5,r));je.setZoom(t)}clearAll(r){this.graph&&confirm("确定要清空画布吗?")&&(this.graph.clearCells(),r==null||r(),Xe("画布已清空","success"))}getSelectedNodes(){return this.graph?this.graph.getSelectedCells().filter(r=>r.isNode()):[]}validateSelection(r,t){const l=this.getSelectedNodes();return l.length<r?(Xe(t,"warning"),null):l}alignLeft(){const r=this.validateSelection(2,"请选择至少两个节点");if(!r)return;const t=Math.min(...r.map(l=>l.getPosition().x));r.forEach(l=>{l.setPosition({x:t,y:l.getPosition().y})})}alignCenter(){const r=this.validateSelection(2,"请选择至少两个节点");if(!r)return;const t=r.map(n=>n.getPosition().x+n.getSize().width/2),l=t.reduce((n,o)=>n+o,0)/t.length;r.forEach(n=>{const o=l-n.getSize().width/2;n.setPosition({x:o,y:n.getPosition().y})})}alignRight(){const r=this.validateSelection(2,"请选择至少两个节点");if(!r)return;const t=Math.max(...r.map(l=>l.getPosition().x+l.getSize().width));r.forEach(l=>{const n=t-l.getSize().width;l.setPosition({x:n,y:l.getPosition().y})})}alignTop(){const r=this.validateSelection(2,"请选择至少两个节点");if(!r)return;const t=Math.min(...r.map(l=>l.getPosition().y));r.forEach(l=>{l.setPosition({x:l.getPosition().x,y:t})})}alignMiddle(){const r=this.validateSelection(2,"请选择至少两个节点");if(!r)return;const t=r.map(n=>n.getPosition().y+n.getSize().height/2),l=t.reduce((n,o)=>n+o,0)/t.length;r.forEach(n=>{const o=l-n.getSize().height/2;n.setPosition({x:n.getPosition().x,y:o})})}alignBottom(){const r=this.validateSelection(2,"请选择至少两个节点");if(!r)return;const t=Math.max(...r.map(l=>l.getPosition().y+l.getSize().height));r.forEach(l=>{const n=t-l.getSize().height;l.setPosition({x:l.getPosition().x,y:n})})}distributeHorizontal(){const r=this.validateSelection(3,"请选择至少三个节点");if(!r)return;const t=r.sort((a,s)=>a.getPosition().x-s.getPosition().x),l=t[0],i=(t[t.length-1].getPosition().x-l.getPosition().x)/(t.length-1);t.forEach((a,s)=>{if(s===0||s===t.length-1)return;const c=l.getPosition().x+i*s;a.setPosition({x:c,y:a.getPosition().y})})}distributeVertical(){const r=this.validateSelection(3,"请选择至少三个节点");if(!r)return;const t=r.sort((a,s)=>a.getPosition().y-s.getPosition().y),l=t[0],i=(t[t.length-1].getPosition().y-l.getPosition().y)/(t.length-1);t.forEach((a,s)=>{if(s===0||s===t.length-1)return;const c=l.getPosition().y+i*s;a.setPosition({x:a.getPosition().x,y:c})})}selectAll(){this.graph&&this.graph.select(this.graph.getNodes())}clearSelection(){this.graph&&this.graph.unselect(this.graph.getSelectedCells())}calculateFitScale(r,t){const l=je.getConfig(),n=l.size.width,o=l.size.height,i=40,a=r-i,s=t-i,c=a/n,d=s/o;return Math.min(c,d,1)}}const pt=new ev;class tv{constructor(){Se(this,"animations",new Map)}startAnimation(r,t){if(!r||t.type==="none")return;this.stopAnimation(r.id);const l=r.id;let n=null;switch(t.type){case"blink":n=this.createBlinkAnimation(r,t);break;case"scale":n=this.createScaleAnimation(r,t);break;case"rotate":n=this.createRotateAnimation(r,t);break;case"float":n=this.createFloatAnimation(r,t);break;case"pulse":n=this.createPulseAnimation(r,t);break}n&&this.animations.set(l,n)}stopAnimation(r){const t=this.animations.get(r);t&&(t.stop&&t.stop(),t.intervalId&&clearInterval(t.intervalId),this.animations.delete(r))}createBlinkAnimation(r,t){const l=r.getAttrByPath("body/opacity")||1;let n=!0;const o=setInterval(()=>{n=!n,r.setAttrByPath("body/opacity",n?l:.2),t.loop||(clearInterval(o),r.setAttrByPath("body/opacity",l))},t.duration/2);return{intervalId:o,stop:()=>{clearInterval(o),r.setAttrByPath("body/opacity",l)}}}createScaleAnimation(r,t){const l=r.getSize();let n=!0;const o=.05;let i=1;const a=setInterval(()=>{n?(i+=o,i>=1.2&&(n=!1)):(i-=o,i<=.8&&(n=!0)),r.resize(l.width*i,l.height*i),!t.loop&&i>=.99&&i<=1.01&&(clearInterval(a),r.resize(l.width,l.height))},t.duration/20);return{intervalId:a,stop:()=>{clearInterval(a),r.resize(l.width,l.height)}}}createRotateAnimation(r,t){let l=0;const n=360/(t.duration/50),o=setInterval(()=>{l=(l+n)%360,r.rotate(l,{absolute:!0}),!t.loop&&l>=360&&(clearInterval(o),r.rotate(0,{absolute:!0}))},50);return{intervalId:o,stop:()=>{clearInterval(o),r.rotate(0,{absolute:!0})}}}createFloatAnimation(r,t){const l=r.position();let n=!0;const o=2;let i=l.y;const a=setInterval(()=>{n?(i-=o,i<=l.y-10&&(n=!1)):(i+=o,i>=l.y+10&&(n=!0)),r.position(l.x,i),!t.loop&&Math.abs(i-l.y)<1&&(clearInterval(a),r.position(l.x,l.y))},t.duration/40);return{intervalId:a,stop:()=>{clearInterval(a),r.position(l.x,l.y)}}}createPulseAnimation(r,t){const l=r.getAttrByPath("body/fill"),n=r.getAttrByPath("body/stroke");let o=0,i=!0;const a=setInterval(()=>{i?(o+=.1,o>=1&&(i=!1)):(o-=.1,o<=0&&(i=!0)),r.setAttrByPath("body/opacity",.5+o*.5),!t.loop&&o<=.05&&(clearInterval(a),r.setAttrByPath("body/fill",l),r.setAttrByPath("body/stroke",n),r.setAttrByPath("body/opacity",1))},t.duration/20);return{intervalId:a,stop:()=>{clearInterval(a),r.setAttrByPath("body/fill",l),r.setAttrByPath("body/stroke",n),r.setAttrByPath("body/opacity",1)}}}clearAll(){this.animations.forEach((r,t)=>{this.stopAnimation(t)}),this.animations.clear()}}const Mt=new tv;class rv{constructor(){Se(this,"graph",null);Se(this,"componentCounters",{})}setGraph(r){this.graph=r}generateComponentName(r,t){return this.componentCounters[r]||(this.componentCounters[r]=0),this.componentCounters[r]++,`${t}_${this.componentCounters[r]}`}addNode(r,t){var c,d,p,m;if(!this.graph)return null;const l=er.getComponent(r);if(!l)return console.error(`未找到组件配置: ${r}`),null;const n=this.generateComponentName(r,l.metadata.name),o={enabled:!1,type:"none",duration:1e3,loop:!0},i=t||Xl(50,50,400,300),a={x:i.x,y:i.y,shape:l.shape,width:l.width,height:l.height,label:l.label,attrs:l.attrs,ports:l.ports,data:{...l.data,componentType:r,componentName:n,props:l.props,animation:o,originalStroke:((d=(c=l.attrs)==null?void 0:c.body)==null?void 0:d.stroke)||"#2563eb",originalStrokeWidth:((m=(p=l.attrs)==null?void 0:p.body)==null?void 0:m.strokeWidth)||2}},s=this.graph.addNode(a);return console.log("[Node] 添加节点:",l.shape,s.id,a),s}updateNode(r,t){if(r&&(t.attrs&&Object.keys(t.attrs).forEach(l=>{const n=t.attrs[l];typeof n=="object"?Object.keys(n).forEach(o=>{r.attr(`${l}/${o}`,n[o])}):r.attr(l,n)}),t.position&&(typeof t.position.x=="number"&&typeof t.position.y=="number"?r.setPosition(t.position):console.error("position 数据格式错误:",t.position)),t.size&&(typeof t.size.width=="number"&&typeof t.size.height=="number"?r.setSize(t.size):console.error("size 数据格式错误:",t.size)),t.data)){const l={...t.data};delete l.position,delete l.size,r.setData(l)}}deleteNode(r){if(!this.graph)return!1;Mt.stopAnimation(r);try{return this.graph.removeNode(r),!0}catch(t){return console.error("删除节点失败:",t),!1}}selectNode(r){if(!this.graph)return!1;const t=this.graph.getCellById(r);return t?(this.graph.select(t),!0):!1}getNodeById(r){if(!this.graph)return null;const t=this.graph.getCellById(r);return!t||!t.isNode()?null:t}getAllNodes(){return this.graph?this.graph.getNodes().map(r=>({id:r.id,type:r.shape,position:r.getPosition(),size:r.getSize(),label:r.attr("label/text"),data:r.getData()})):[]}cloneNode(r,t={x:20,y:20}){if(!this.graph)return null;try{const l=r.clone();return l.translate(t.x,t.y),this.graph.addNode(l),l}catch(l){return console.error("复制节点失败:",l),null}}deleteNodes(r){if(!this.graph)return 0;let t=0;return r.forEach(l=>{this.deleteNode(l)&&t++}),t}bringToFront(r){const t=this.getNodeById(r);t&&t.toFront()}sendToBack(r){const t=this.getNodeById(r);t&&t.toBack()}}const cr=new rv;class ov{constructor(){Se(this,"graph",null)}setGraph(r){this.graph=r}applyEdgeAnimation(r,t){if(!r||typeof r.attr!="function"){console.warn("applyEdgeAnimation: edge 对象无效",r);return}if(!t||!t.enabled){r.attr("line/strokeDasharray",void 0),r.attr("circle",void 0),typeof r.stopTransition=="function"&&r.stopTransition("attrs/circle/atConnectionRatio");return}const l=t.duration||2e3;r.attr("circle",{r:4,atConnectionRatio:0,fill:{type:"radialGradient",stops:[{offset:"0%",color:"#FFF"},{offset:"100%",color:r.attr("line/stroke")||"#10b981"}]},stroke:r.attr("line/stroke")||"#10b981",strokeWidth:1});const n=()=>{r.attr("circle/atConnectionRatio",0,{silent:!0}),r.transition("attrs/circle/atConnectionRatio",1,{delay:0,duration:l,timing:"linear",complete:()=>{n()}})};n()}updateEdge(r,t){if(r){if(t.attrs){Object.keys(t.attrs).forEach(o=>{const i=t.attrs[o];typeof i=="object"?Object.keys(i).forEach(a=>{var s,c;r.attr(`${o}/${a}`,i[a]),(c=(s=r.data)==null?void 0:s.originalAttrs)!=null&&c[o]&&(r.data.originalAttrs[o][a]=i[a])}):r.attr(o,i)});const l=r.getAttrs(),n=Object.assign({},r.data,{originalAttrs:l});r.setData(n),r.attr("line/stroke","#3b82f6")}t.router&&r.setRouter(t.router),t.connector&&r.setConnector(t.connector),t.animation&&this.applyEdgeAnimation(r,t.animation),t.data&&r.setData(Object.assign({},r.data,t.data))}}deleteEdge(r){if(!this.graph)return!1;try{return this.graph.removeEdge(r),!0}catch(t){return console.error("删除边失败:",t),!1}}getEdgeById(r){if(!this.graph)return null;const t=this.graph.getCellById(r);return!t||!t.isEdge()?null:t}getAllEdges(){return this.graph?this.graph.getEdges().map(r=>({id:r.id,source:r.getSourceCellId(),target:r.getTargetCellId(),data:r.getData()})):[]}applySelectedStyle(r){if(!r)return;const t=r.getAttrs();r.data={...r.data,originalAttrs:t},r.attr("line/stroke","#3b82f6")}restoreOriginalStyle(r){var l,n;if(!r||!((l=r.data)!=null&&l.originalAttrs))return;const t=r.data.originalAttrs;r.attr("line/stroke",((n=t.line)==null?void 0:n.stroke)||"#10b981")}restoreAllEdgeAnimations(){this.graph&&this.graph.getEdges().forEach(r=>{var l;const t=r.getData();(l=t==null?void 0:t.animation)!=null&&l.enabled&&this.applyEdgeAnimation(r,t.animation)})}}const Er=new ov;class nv{constructor(){Se(this,"graph",null)}setGraph(r){this.graph=r}saveToLocal(){if(!this.graph)return!1;try{const r={cells:this.graph.toJSON().cells,dataSources:Ke.getAllDataSources().map(t=>({id:t.id,name:t.name,type:t.type,enabled:t.enabled,config:t.config}))};return lr(ft.SCADA_EDITOR_DATA,r),!0}catch(r){return console.error("保存画布数据失败:",r),!1}}loadFromLocal(r){var t;if(!this.graph)return!1;try{const l=Ui(ft.SCADA_EDITOR_DATA);if(!((t=l==null?void 0:l.cells)!=null&&t.length))return!1;const n=this.cleanCellsData(l.cells);return this.graph.fromJSON({cells:n}),r&&this.graph.getEdges().forEach(o=>{var a;const i=o.getData();(a=i==null?void 0:i.animation)!=null&&a.enabled&&r(o)}),!0}catch(l){return console.error("恢复画布数据失败,清空缓存:",l),ao(ft.SCADA_EDITOR_DATA),!1}}cleanCellsData(r){return r.map(t=>{var l;return t.position&&typeof t.position=="object"&&(typeof t.position.x!="number"||typeof t.position.y!="number")&&(t.position={x:100,y:100}),(t.shape==="edge"||t.shape==="animated-edge")&&(t.router==="manhattan"||((l=t.router)==null?void 0:l.name)==="manhattan")&&(t.router={name:"orth",args:{padding:10}}),t})}exportData(){if(!this.graph)return null;try{const r={version:"1.0.0",timestamp:lo(co()),config:{size:je.getConfig().size,background:je.getConfig().background,grid:je.getConfig().grid,guides:je.getConfig().guides,magnetism:je.getConfig().magnetism,zoom:je.getConfig().zoom},cells:this.graph.toJSON().cells,nodes:this.graph.getNodes().map(t=>({id:t.id,type:t.shape,position:t.getPosition(),size:t.getSize(),label:t.attr("label/text"),data:t.getData()})),edges:this.graph.getEdges().map(t=>({id:t.id,source:t.getSourceCellId(),target:t.getTargetCellId()})),dataSources:Ke.getAllDataSources().map(t=>({id:t.id,name:t.name,type:t.type,enabled:t.enabled,config:t.config})),workflows:[]};return r.workflows=this.collectReferencedWorkflows(),r}catch(r){return console.error("导出数据失败:",r),null}}collectReferencedWorkflows(){if(!this.graph)return[];const r=new Set;if(this.graph.getNodes().forEach(t=>{const l=t.getData();l!=null&&l.events&&Array.isArray(l.events)&&l.events.forEach(n=>{var o;n.action==="callProcess"&&((o=n.params)!=null&&o.processId)&&r.add(n.params.processId)})}),r.size===0)return[];try{const t=localStorage.getItem("saved-workflows");if(t)return JSON.parse(t).filter(n=>r.has(n.id))}catch(t){console.error("加载流程数据失败:",t)}return[]}importData(r,t){if(!this.graph)return!1;try{if(!r.cells)return Xe("无效的JSON文件格式","error"),!1;if(!confirm("导入将清空当前画布,是否继续?"))return!1;this.graph.clearCells(),this.graph.fromJSON({cells:r.cells}),t&&this.graph.getEdges().forEach(n=>{var i;const o=n.getData();(i=o==null?void 0:o.animation)!=null&&i.enabled&&t(n)}),r.config&&je.updateConfig(r.config),this.importDataSources(r.dataSources);const l=this.importWorkflows(r.workflows);return l.imported>0||l.updated>0?Xe(`导入成功 画布已加载,流程: 新增${l.imported}个,更新${l.updated}个`,"success"):Xe("导入成功","success"),!0}catch(l){return console.error("导入失败",l),Xe("导入失败,JSON格式错误","error"),!1}}importDataSources(r){!r||!Array.isArray(r)||(Ke.disconnectAll(),Ke.getAllDataSources().forEach(t=>{Ke.removeDataSource(t.id)}),r.forEach(t=>{const l={id:t.id,name:t.name,type:t.type,enabled:t.enabled,config:t.config,devices:[],status:{connected:!1}};Ke.addDataSource(l)}),console.log(`[CanvasDataHandler] 已导入 ${r.length} 个数据源`))}importWorkflows(r){if(!r||!Array.isArray(r)||r.length===0)return{imported:0,updated:0};try{const t=localStorage.getItem("saved-workflows"),l=t?JSON.parse(t):[];let n=0,o=0;return r.forEach(i=>{const a=l.findIndex(s=>s.id===i.id);a>=0?(l[a]={...i,updatedAt:Date.now()},o++):(l.push(i),n++)}),localStorage.setItem("saved-workflows",JSON.stringify(l)),{imported:n,updated:o}}catch(t){return console.error("导入流程数据失败:",t),Xe("画布导入成功, 但流程数据导入失败","warning"),{imported:0,updated:0}}}exportToFile(r){const t=this.exportData();if(!t)return null;try{const l=new Blob([JSON.stringify(t,null,2)],{type:"application/json"}),n=URL.createObjectURL(l),o=document.createElement("a"),i=r||`scada-export-${Date.now()}.json`;return o.href=n,o.download=i,o.click(),URL.revokeObjectURL(n),i}catch(l){return console.error("导出文件失败:",l),null}}clearCache(){ao(ft.SCADA_EDITOR_DATA)}getCanvasData(){return this.graph?{version:"1.0.0",timestamp:lo(co()),config:je.getConfig(),cells:this.graph.toJSON().cells,nodes:this.graph.getNodes().map(r=>({id:r.id,type:r.shape,position:r.getPosition(),size:r.getSize(),label:r.attr("label/text"),data:r.getData()})),edges:this.graph.getEdges().map(r=>({id:r.id,source:r.getSourceCellId(),target:r.getTargetCellId()}))}:null}}const It=new nv;class iv{constructor(){Se(this,"graph",null);Se(this,"dataCallbackRegistered",!1)}setGraph(r){this.graph=r}initDataBinding(){this.dataCallbackRegistered||(Ke.onData((r,t)=>{this.syncDataToNodes(r,t)}),this.dataCallbackRegistered=!0)}syncDataToNodes(r,t){if(!this.graph)return;this.graph.getNodes().forEach(n=>{const o=n.getData();!o||!o.dataBinding||o.dataBinding.dataSourceId===r&&o.dataBinding.deviceId===t.id&&this.updateNodeFromDeviceData(n,o,t)})}updateNodeFromDeviceData(r,t,l){if(!t.bindings||!Array.isArray(t.bindings))return;let n=!1;if(t.bindings.forEach(o=>{var d;if(!o.devicePointId)return;const i=o.devicePointId.split(":"),a=i.length===2?i[1]:o.devicePointId,s=(d=l.points)==null?void 0:d.find(p=>p.id===a);if(!s||s.value===void 0)return;let c=s.value;o.mapping&&(c=this.applyMapping(s.value,o.mapping)),o.targetProperty==="value"?(t.value=c,n=!0):(t[o.targetProperty]=c,n=!0)}),n){const o=JSON.parse(JSON.stringify(t));r.setData(o,{overwrite:!0}),r.trigger("change:data",{current:o,previous:t})}}applyMapping(r,t){if(!t||t.type==="direct")return r;switch(t.type){case"boolean":return r?t.trueValue??!0:t.falseValue??!1;case"range":if(t.rangeRules&&Array.isArray(t.rangeRules))for(const l of t.rangeRules){const n=Number(r);if(n>=l.min&&n<=l.max)return l.value}return r;case"enum":return t.enumMappings?t.enumMappings[String(r)]??r:r;default:return r}}updateDeviceData(r){!this.graph||!(r!=null&&r.devices)||r.devices.forEach(t=>{var l;(l=t.points)==null||l.forEach(n=>{this.graph.getNodes().forEach(o=>{const i=o.getData();i!=null&&i.bindings&&Object.entries(i.bindings).forEach(([a,s])=>{if(s.deviceId===t.id&&s.dataPoint===n.id){const c=n.value;if(a==="attrs/text/text")o.attr("text/text",c);else if(a==="attrs/body/fill")o.attr("body/fill",c);else{const d=a.split(".");let p=o;for(let h=0;h<d.length-1;h++)p=p[d[h]];const m=d[d.length-1];p&&m&&(p[m]=c)}}})})})})}getNodeBindings(r){if(!this.graph)return[];const t=this.graph.getCellById(r);if(!t||!t.isNode())return[];const l=t.getData();return(l==null?void 0:l.bindings)||[]}updateNodeBindings(r,t){if(!this.graph)return!1;const l=this.graph.getCellById(r);if(!l||!l.isNode())return!1;const n=l.getData();return l.setData({...n,bindings:t}),!0}}const Zl=new iv;class sv{getNodeMenuItems(){return[{key:"delete",label:"删除",icon:"❌",hotkey:"Delete"},{key:"copy",label:"复制",icon:"📋",hotkey:"Ctrl+C"},{key:"divider1",divider:!0},{key:"to-front",label:"置于顶层",icon:"⬆️"},{key:"to-back",label:"置于底层",icon:"⬇️"}]}getEdgeMenuItems(){return[{key:"delete",label:"删除",icon:"❌",hotkey:"Delete"},{key:"divider1",divider:!0},{key:"to-front",label:"置于顶层",icon:"⬆️"},{key:"to-back",label:"置于底层",icon:"⬇️"}]}getCanvasMenuItems(){return[{key:"paste",label:"粘贴",icon:"📋",hotkey:"Ctrl+V",disabled:!0},{key:"divider1",divider:!0},{key:"select-all",label:"全选",icon:"✅",hotkey:"Ctrl+A"},{key:"clear-all",label:"清空画布",icon:"🗑️"}]}getMenuItems(r){switch(r){case"node":return this.getNodeMenuItems();case"edge":return this.getEdgeMenuItems();case"canvas":return this.getCanvasMenuItems();default:return[]}}}const zi=new sv;class av{constructor(){Se(this,"graph",null);Se(this,"config",null);Se(this,"keydownHandler",null)}initialize(r,t){this.graph=r,this.config=t,this.registerSelectionEvents(),this.registerClickEvents(),this.registerChangeEvents(),this.registerContextMenuEvents(),this.registerKeyboardEvents()}registerSelectionEvents(){if(!this.graph||!this.config)return;const{selectedNode:r,selectedEdge:t,selectedNodesCount:l}=this.config;this.graph.on("selection:changed",({selected:n})=>{var i,a;const o=n?n.filter(s=>s.isNode()):[];if(l.value=o.length,n&&n.length>0){const s=n[0];if(s.isNode())r.value=s,t.value=null;else if(s.isEdge()){t.value=s,r.value=null;const c=s.getAttrs();s.data={...s.data,originalAttrs:c},s.attr("line/stroke","#3b82f6")}}else{if(t.value&&((i=t.value.data)!=null&&i.originalAttrs)){const s=t.value.data.originalAttrs;t.value.attr("line/stroke",((a=s.line)==null?void 0:a.stroke)||"#10b981")}r.value=null,t.value=null}})}registerClickEvents(){if(!this.graph||!this.config)return;const{selectedNode:r,selectedEdge:t}=this.config;this.graph.on("edge:click",({edge:l})=>{this.graph.select(l)}),this.graph.on("blank:click",()=>{t.value=null,r.value=null})}registerChangeEvents(){!this.graph||!this.config||(this.graph.on("node:change:position",()=>{}),this.graph.on("node:change:size",()=>{}),this.graph.on("node:change:data",({node:r})=>{const t=r.getData();if(t.animation)if(t.animation.enabled===!0){const l={type:t.animation.type||"none",duration:t.animation.duration||1e3,loop:t.animation.loop!==!1};Mt.startAnimation(r,l)}else Mt.stopAnimation(r.id)}),this.graph.on("edge:change:data",({edge:r})=>{var l;const t=r.getData();t!=null&&t.animation&&((l=this.config)!=null&&l.applyEdgeAnimation)&&this.config.applyEdgeAnimation(r,t.animation)}))}registerContextMenuEvents(){if(!this.graph||!this.config)return;const{contextMenu:r}=this.config;this.graph.on("cell:contextmenu",({e:t,cell:l})=>{t.preventDefault(),r.value.targetCell=l,r.value.position={x:t.clientX,y:t.clientY},l.isNode()?r.value.items=zi.getNodeMenuItems():l.isEdge()&&(r.value.items=zi.getEdgeMenuItems()),r.value.visible=!0}),this.graph.on("blank:contextmenu",({e:t})=>{t.preventDefault(),r.value.targetCell=null,r.value.position={x:t.clientX,y:t.clientY},r.value.items=zi.getCanvasMenuItems(),r.value.visible=!0})}registerKeyboardEvents(){if(!this.graph||!this.config)return;const{selectedNode:r,selectedEdge:t}=this.config,l=this.graph;this.keydownHandler=n=>{if(n.key==="Delete"&&l){if(r.value){const o=r.value.id;Mt.stopAnimation(o),l.removeNode(o),r.value=null}else if(t.value){const o=t.value.id;l.removeEdge(o),t.value=null}}},document.addEventListener("keydown",this.keydownHandler)}destroy(){this.keydownHandler&&(document.removeEventListener("keydown",this.keydownHandler),this.keydownHandler=null),this.graph=null,this.config=null}}const ec=new av;class lv{constructor(){Se(this,"graph",null);Se(this,"containerRef",null);Se(this,"calculateFitScale",null);Se(this,"updateContainerSizeFn",null)}initialize(r,t,l,n){this.graph=r,this.containerRef=t,this.calculateFitScale=l,this.updateContainerSizeFn=n||null}applyConfigChanges(){if(!this.graph)return;const r=je.getConfig();this.updateBackground(r.background),this.updateSizeAndScale(r.size,r.zoom.scale),this.updateGrid(r.grid),this.graph.translate(r.offset.x,r.offset.y)}updateBackground(r){this.graph&&(r.image?this.graph.drawBackground({color:r.color||"#1e293b",image:r.image,size:r.size||"cover",repeat:r.repeat||"no-repeat",position:"center"}):this.graph.drawBackground({color:r.color||"#1e293b"}))}updateSizeAndScale(r,t){var n;if(!this.graph||!this.containerRef)return;const l=(n=this.containerRef.value)==null?void 0:n.containerRef;if(l){if(this.graph.resize(r.width,r.height),this.updateContainerSizeFn)this.updateContainerSizeFn();else if(l.style.width=`${r.width}px`,l.style.height=`${r.height}px`,this.calculateFitScale){const o=this.calculateFitScale(),i=t>o?t:o;this.graph.scale(i,i),this.graph.centerContent()}console.log("🔄 [Config Watcher] 更新尺寸和X6缩放",{size:r,zoomScale:t,containerTransform:l.style.transform||"none",graphScale:this.graph.scale()})}}updateGrid(r){this.graph&&(r.enabled?(this.graph.drawGrid({type:r.type||"dot",args:{color:r.color||"#475569",thickness:1}}),this.graph.showGrid(),r.size&&this.graph.setGridSize(r.size)):this.graph.hideGrid())}destroy(){this.graph=null,this.containerRef=null,this.calculateFitScale=null,this.updateContainerSizeFn=null}}const tc=new lv,cv=["title"],dv={key:1,class:"properties"},uv={key:2,class:"properties"},fv={class:"tabs"},pv={class:"tab-content"},hv={class:"tab-pane"},mv={class:"property-section"},gv={key:0,class:"empty-hint"},yv={class:"event-list"},bv={class:"tab-pane"},wv={class:"property-section"},Ev={key:0,class:"empty-hint"},vv={class:"event-list"},Wi=Me(e.defineComponent({__name:"PropertyPanel",props:{selectedNode:{},selectedEdge:{},deviceData:{},isCollapsed:{type:Boolean,default:!1}},emits:["updateNode","deleteNode","updateEdge","deleteEdge","update:collapsed"],setup(u,{emit:r}){const t=u,l=r,n=()=>{l("update:collapsed",!t.isCollapsed)},o=e.ref("basic"),i=e.ref([]),a=e.ref(new Set),s=e.ref([]),c=e.ref(new Set),d=e.computed(()=>{if(!t.selectedNode)return null;const D=t.selectedNode.getData(),O=D==null?void 0:D.dataBinding;if(!(O!=null&&O.dataSourceId)||!(O!=null&&O.deviceId))return null;const he=Ke.getDataSource(O.dataSourceId);if(!he)return null;const _e=he.devices.find(xe=>xe.id===O.deviceId);return _e?{devices:[{id:_e.id,name:_e.name,points:_e.points||[]}]}:null}),p=e.computed(()=>{var O;if(!t.selectedNode)return;const D=t.selectedNode.getData();return(O=D==null?void 0:D.dataBinding)==null?void 0:O.deviceId}),m=e.computed(()=>{var D,O;if((O=(D=d.value)==null?void 0:D.devices)!=null&&O[0])return d.value.devices[0].name});e.watch(()=>t.selectedNode,D=>{var O,he;if((O=D==null?void 0:D.data)!=null&&O.events){const _e=JSON.parse(JSON.stringify(D.data.events));_e.forEach(xe=>{xe.id||(xe.id=z())}),i.value=_e}else i.value=[];a.value.clear(),(he=D==null?void 0:D.data)!=null&&he.bindings?s.value=JSON.parse(JSON.stringify(D.data.bindings)):s.value=[],c.value.clear()},{immediate:!0});const h=e.ref(0),f=e.ref(0);let w=null,v={x:0,y:0},S={width:0,height:0};e.watch(()=>t.selectedNode,D=>{if(w&&(clearInterval(w),w=null),D){const O=D.getPosition(),he=D.getSize();O&&typeof O.x=="number"&&typeof O.y=="number"?v=O:(v={x:0,y:0},console.warn("节点位置数据异常:",O)),he&&typeof he.width=="number"&&typeof he.height=="number"?S=he:(S={width:0,height:0},console.warn("节点尺寸数据异常:",he)),w=setInterval(()=>{if(t.selectedNode){const _e=t.selectedNode.getPosition(),xe=t.selectedNode.getSize();_e&&typeof _e.x=="number"&&typeof _e.y=="number"&&(_e.x!==v.x||_e.y!==v.y)&&(v=_e,h.value++),xe&&typeof xe.width=="number"&&typeof xe.height=="number"&&(xe.width!==S.width||xe.height!==S.height)&&(S=xe,f.value++)}},50)}}),e.onUnmounted(()=>{w&&clearInterval(w)});const b=e.computed(()=>{var O;return h.value,((O=t.selectedNode)==null?void 0:O.getPosition())||{x:0,y:0}}),_=e.computed(()=>{var O;return f.value,((O=t.selectedNode)==null?void 0:O.getSize())||{width:0,height:0}}),k=e.computed(()=>{var O;return((O=t.selectedNode)==null?void 0:O.getAttrs())||{}}),E=(D,O)=>{const he=Number(O.target.value),_e=t.selectedNode.getPosition(),xe=D==="x"?{x:he,y:_e.y}:{x:_e.x,y:he};l("updateNode",{position:xe})},I=(D,O)=>{const he=Number(O.target.value),_e=t.selectedNode.getSize(),xe=D==="width"?{width:he,height:_e.height}:{width:_e.width,height:he};l("updateNode",{size:xe})},x=D=>{const O=D.target.value;l("updateNode",{attrs:{text:{text:O},label:{text:O}}})},V=D=>{const O=D.target.value;l("updateNode",{attrs:{body:{fill:O}}})},$=D=>{const O=D.target.value;l("updateNode",{attrs:{body:{stroke:O}}})},C=D=>{const O=Number(D.target.value);l("updateNode",{attrs:{body:{strokeWidth:O}}})},P=D=>{const O=Number(D.target.value);l("updateNode",{attrs:{body:{opacity:O}}})},A=D=>{const O=D.target.value,he={...t.selectedNode.data,componentName:O};l("updateNode",{data:he})},U=(D,O)=>{if(!t.selectedNode)return;const he=D.split(".");if(he[0]==="attrs"){const _e=he.slice(1).join("/");l("updateNode",{attrs:{[_e]:O}})}else if(he[0]==="data"){const _e=JSON.parse(JSON.stringify(t.selectedNode.data||{}));let xe=_e;for(let De=1;De<he.length-1;De++){const Ge=he[De];xe[Ge]||(xe[Ge]={}),xe=xe[Ge]}xe[he[he.length-1]]=O,console.log("[PropertyPanel] 更新属性:",D,"=",O),console.log("[PropertyPanel] 节点类型:",t.selectedNode.shape),D==="data.presetId"&&t.selectedNode.shape==="echarts-vue"&&console.log("[PropertyPanel] 检测到预设切换,只更新 presetId"),l("updateNode",{data:_e})}},Y=D=>{if(!t.selectedNode)return;const O={...t.selectedNode.data,dataBinding:D};l("updateNode",{data:O})},z=Jl,ue=()=>{const D={id:z(),name:"",type:"click",conditionType:"always",action:"attributeChange",params:{}};i.value.push(D),se()},oe=D=>{i.value.splice(D,1),se()},re=(D,O,he)=>{const _e=he.target.value;i.value[D][O]=_e,se()},fe=(D,O,he)=>{const xe=he.target.value;i.value[D].condition||(i.value[D].condition={}),i.value[D].condition[O]=xe,se()},J=(D,O,he)=>{const xe=he.target.value;i.value[D].params||(i.value[D].params={}),i.value[D].params[O]=xe,se()},se=()=>{i.value.forEach(O=>{O.id||(O.id=z())});const D={...t.selectedNode.data,events:i.value};l("updateNode",{data:D})},R=D=>{a.value.has(D)?a.value.delete(D):a.value.add(D)},Z=D=>a.value.has(D),ge=()=>{const D={devicePointId:"",targetProperty:"",enabled:!0};s.value.push(D),ee()},H=D=>{s.value.splice(D,1),ee()},Ve=(D,O,he)=>{const xe=he.target.value;s.value[D][O]=xe,ee()},ee=()=>{const D={...t.selectedNode.data,bindings:s.value};l("updateNode",{data:D})},G=D=>{c.value.has(D)?c.value.delete(D):c.value.add(D)},le=D=>c.value.has(D),X=e.ref(!1),te=e.ref(-1),ne=e.ref([]),ve=D=>{var he;te.value=D;const O=i.value[D];(he=O.params)!=null&&he.attributeGroups&&Array.isArray(O.params.attributeGroups)?ne.value=JSON.parse(JSON.stringify(O.params.attributeGroups)):ne.value=[{target:"current",property:"",value:""}],X.value=!0},F=()=>{X.value=!1},B=()=>{ne.value.push({target:"current",property:"",value:""})},j=D=>{ne.value.splice(D,1)},ie=(D,O,he)=>{ne.value[D][O]=he},de=()=>{for(const D of ne.value)if(!D.property){alert("请为每组配置选择目标属性");return}i.value[te.value].params||(i.value[te.value].params={}),i.value[te.value].params.attributeGroups=JSON.parse(JSON.stringify(ne.value)),se(),F()},pe=e.ref(!1),ye=e.ref(""),K=e.ref(-1),me=D=>{var he;K.value=D;const O=i.value[D];ye.value=((he=O.params)==null?void 0:he.code)||"",pe.value=!0},Ne=()=>{pe.value=!1},ce=()=>{i.value[K.value].params||(i.value[K.value].params={}),i.value[K.value].params.code=ye.value,se(),Ne()},Ie=e.ref(!1),g=e.ref(-1),y=D=>{g.value=D,Ie.value=!0},N=()=>{Ie.value=!1},T=D=>{i.value[g.value].params||(i.value[g.value].params={});const O=i.value[g.value].params;O.processId=D.id,O.processName=D.name,O.processData=D.data,se(),N()},L=()=>{var O;if(!t.selectedNode)return[];const D=[];return(O=t.selectedNode.data)!=null&&O.props&&Array.isArray(t.selectedNode.data.props)&&t.selectedNode.data.props.forEach(he=>{he.bindable!==!1&&D.push({key:he.key,label:he.label,type:he.type||"text"})}),D},Q=D=>{l("updateEdge",D)},ae=()=>{l("deleteEdge")};return(D,O)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",{class:e.normalizeClass(["property-panel",{collapsed:u.isCollapsed}])},[e.createElementVNode("button",{class:"collapse-btn",onClick:n,title:u.isCollapsed?"展开属性面板":"折叠属性面板"},[...O[4]||(O[4]=[e.createElementVNode("span",{class:"collapse-icon"},"▶",-1)])],8,cv),!u.selectedNode&&!u.selectedEdge?(e.openBlock(),e.createBlock(Eo,{key:0})):u.selectedEdge?(e.openBlock(),e.createElementBlock("div",dv,[O[5]||(O[5]=e.createElementVNode("h3",{class:"panel-title"},"连线属性",-1)),e.createVNode(Xb,{"selected-edge":u.selectedEdge,onUpdateEdge:Q,onDeleteEdge:ae},null,8,["selected-edge"])])):u.selectedNode?(e.openBlock(),e.createElementBlock("div",uv,[O[11]||(O[11]=e.createElementVNode("h3",{class:"panel-title"},"节点属性",-1)),e.createElementVNode("div",fv,[e.createElementVNode("button",{class:e.normalizeClass(["tab-btn",{active:o.value==="basic"}]),onClick:O[0]||(O[0]=he=>o.value="basic")}," 基础 ",2),e.createElementVNode("button",{class:e.normalizeClass(["tab-btn",{active:o.value==="binding"}]),onClick:O[1]||(O[1]=he=>o.value="binding")}," 数据绑定 ",2),e.createElementVNode("button",{class:e.normalizeClass(["tab-btn",{active:o.value==="event"}]),onClick:O[2]||(O[2]=he=>o.value="event")}," 事件 ",2)]),e.createElementVNode("div",pv,[e.withDirectives(e.createVNode(vo,{"selected-node":u.selectedNode,"node-position":b.value,"node-size":_.value,"node-attrs":k.value,onUpdatePosition:E,onUpdateSize:I,onUpdateLabel:x,onUpdateFill:V,onUpdateStroke:$,onUpdateStrokeWidth:C,onUpdateOpacity:P,onUpdateComponentName:A,onUpdateDynamicProp:U},null,8,["selected-node","node-position","node-size","node-attrs"]),[[e.vShow,o.value==="basic"]]),e.withDirectives(e.createElementVNode("div",hv,[e.createVNode(vb,{"selected-node":u.selectedNode,onUpdateDataSource:Y},null,8,["selected-node"]),O[8]||(O[8]=e.createElementVNode("div",{class:"divider"},null,-1)),e.createElementVNode("div",mv,[e.createElementVNode("div",{class:"section-header"},[O[6]||(O[6]=e.createElementVNode("h4",null,"点位映射",-1)),e.createElementVNode("button",{class:"btn-add",onClick:ge},"+ 添加映射")]),s.value.length===0?(e.openBlock(),e.createElementBlock("div",gv,[...O[7]||(O[7]=[e.createElementVNode("span",null,"暂无点位映射,请先选择设备后点击上方按钮添加",-1)])])):e.createCommentVNode("",!0),e.createElementVNode("div",yv,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,(he,_e)=>(e.openBlock(),e.createBlock(Oi,{key:_e,binding:he,index:_e,"is-collapsed":le(_e),"node-properties":L(),"event-list":i.value,"device-data":d.value,"node-device-id":p.value,"node-device-name":m.value,onToggleCollapse:xe=>G(_e),onRemove:xe=>H(_e),onUpdateField:(xe,De)=>Ve(_e,xe,De)},null,8,["binding","index","is-collapsed","node-properties","event-list","device-data","node-device-id","node-device-name","onToggleCollapse","onRemove","onUpdateField"]))),128))])])],512),[[e.vShow,o.value==="binding"]]),e.withDirectives(e.createElementVNode("div",bv,[e.createElementVNode("div",wv,[e.createElementVNode("div",{class:"section-header"},[O[9]||(O[9]=e.createElementVNode("h4",null,"节点事件",-1)),e.createElementVNode("button",{class:"btn-add",onClick:ue},"+ 添加事件")]),i.value.length===0?(e.openBlock(),e.createElementBlock("div",Ev,[...O[10]||(O[10]=[e.createElementVNode("span",null,"暂无事件,点击上方按钮添加",-1)])])):e.createCommentVNode("",!0),e.createElementVNode("div",vv,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,(he,_e)=>(e.openBlock(),e.createBlock(Pi,{key:_e,event:he,index:_e,"is-collapsed":Z(_e),"node-properties":L(),onToggleCollapse:xe=>R(_e),onRemove:xe=>oe(_e),onUpdateField:(xe,De)=>re(_e,xe,De),onUpdateCondition:(xe,De)=>fe(_e,xe,De),onUpdateParams:(xe,De)=>J(_e,xe,De),onOpenAttributeConfig:xe=>ve(_e),onOpenCustomCode:xe=>me(_e),onOpenWorkflowSelector:xe=>y(_e)},null,8,["event","index","is-collapsed","node-properties","onToggleCollapse","onRemove","onUpdateField","onUpdateCondition","onUpdateParams","onOpenAttributeConfig","onOpenCustomCode","onOpenWorkflowSelector"]))),128))])])],512),[[e.vShow,o.value==="event"]])])])):e.createCommentVNode("",!0)],2),X.value?(e.openBlock(),e.createBlock(Mi,{key:0,"attribute-groups":ne.value,"node-properties":L(),onClose:F,onSave:de,onAddGroup:B,onRemoveGroup:j,onUpdateGroup:ie},null,8,["attribute-groups","node-properties"])):e.createCommentVNode("",!0),pe.value?(e.openBlock(),e.createBlock(Ri,{key:1,code:ye.value,"onUpdate:code":O[3]||(O[3]=he=>ye.value=he),"selected-node":u.selectedNode,onClose:Ne,onSave:ce},null,8,["code","selected-node"])):e.createCommentVNode("",!0),Ie.value?(e.openBlock(),e.createBlock(zE,{key:2,onClose:N,onSelect:T})):e.createCommentVNode("",!0)],64))}}),[["__scopeId","data-v-dbee6e68"]]);function qi(u){const r=u.replace(/-/g,"+").replace(/_/g,"/"),t=r.length%4?"=".repeat(4-r.length%4):"",l=r+t,n=(typeof atob<"u"?atob:i=>Buffer.from(i,"base64").toString("binary"))(l),o=new Uint8Array(n.length);for(let i=0;i<n.length;i++)o[i]=n.charCodeAt(i);return o}function rc(u){const r=new ArrayBuffer(u.byteLength);return new Uint8Array(r).set(u),r}function kv(u){const r=u.replace("-----BEGIN PUBLIC KEY-----","").replace("-----END PUBLIC KEY-----","").replace(/\s+/g,""),t=(typeof atob<"u"?atob:n=>Buffer.from(n,"base64").toString("binary"))(r),l=new Uint8Array(t.length);for(let n=0;n<t.length;n++)l[n]=t.charCodeAt(n);return l.buffer}async function _v(u){const r=kv(u);return await crypto.subtle.importKey("spki",r,{name:"ECDSA",namedCurve:"P-256"},!1,["verify"])}async function Nv(u,r){try{const[t,l]=u.split(".");if(!t||!l)return!1;const n=await _v(r),o=qi(t),i=qi(l),a=rc(o),s=rc(i);return await crypto.subtle.verify({name:"ECDSA",hash:{name:"SHA-256"}},n,s,a)}catch{return!1}}async function xv(u,r){const t=await Nv(u,r);if(!t)return null;const l=u.split(".")[0],n=qi(l),o=new TextDecoder().decode(n),i=JSON.parse(o),a=i.expiryDate?new Date().getTime()<=new Date(i.expiryDate).getTime():!0;return{company:i.company||"未知",expiryDate:i.expiryDate,isValid:!!(t&&a)}}const Sv={key:0,class:"scada-footer"},Vv={key:1,class:"scada-footer"},Cv={class:"footer-content"},Iv={class:"footer-left"},Av={class:"copyright",style:{color:"#94a3b8 !important"}},$v={key:0,class:"divider",style:{color:"#475569 !important"}},Tv={key:1,class:"license",style:{color:"#94a3b8 !important"}},Bv={key:0,class:"footer-right"},Dv={class:"text",style:{color:"#94a3b8 !important"}},Pv={key:2,class:"scada-footer"},Ov={class:"footer-content"},Mv={class:"footer-left"},Rv={class:"authorized-text",style:{color:"#10b981 !important"}},jv={class:"footer-right"},Lv={key:0,class:"expiry-text",style:{color:"#94a3b8 !important"}},Uv={key:1,class:"expiry-text",style:{color:"#94a3b8 !important"}},Fv=Me(e.defineComponent({__name:"Footer",props:{authCode:{default:""},publicKeyPem:{default:void 0},customFooter:{default:void 0}},setup(u){const r=u,t=e.ref(null),l=e.ref(!1);e.watch(()=>[r.authCode,r.publicKeyPem],async()=>{if(!r.authCode||!r.publicKeyPem){l.value=!1,t.value=null;return}const o=await xv(r.authCode,r.publicKeyPem);l.value=!!(o!=null&&o.isValid),t.value=o||null},{immediate:!0});const n=e.computed(()=>l.value);return(o,i)=>{var a,s;return n.value?u.customFooter?(e.openBlock(),e.createElementBlock("footer",Vv,[e.createElementVNode("div",Cv,[e.createElementVNode("div",Iv,[e.createElementVNode("span",Av,e.toDisplayString(u.customFooter.copyright),1),u.customFooter.license?(e.openBlock(),e.createElementBlock("span",$v,"|")):e.createCommentVNode("",!0),u.customFooter.license?(e.openBlock(),e.createElementBlock("span",Tv,e.toDisplayString(u.customFooter.license),1)):e.createCommentVNode("",!0)]),u.customFooter.contact?(e.openBlock(),e.createElementBlock("div",Bv,[e.createElementVNode("span",Dv,e.toDisplayString(u.customFooter.contact),1)])):e.createCommentVNode("",!0)])])):(e.openBlock(),e.createElementBlock("footer",Pv,[e.createElementVNode("div",Ov,[e.createElementVNode("div",Mv,[i[1]||(i[1]=e.createElementVNode("span",{class:"authorized-icon"},"✅",-1)),e.createElementVNode("span",Rv,"已授权: "+e.toDisplayString(((a=t.value)==null?void 0:a.company)||"未知"),1)]),e.createElementVNode("div",jv,[(s=t.value)!=null&&s.expiryDate?(e.openBlock(),e.createElementBlock("span",Lv," 📅 有效期至: "+e.toDisplayString(t.value.expiryDate),1)):(e.openBlock(),e.createElementBlock("span",Uv," ∞ 永久授权 "))])])])):(e.openBlock(),e.createElementBlock("footer",Sv,[...i[0]||(i[0]=[e.createStaticVNode('<div class="footer-content" data-v-7fd5ce26><div class="footer-left" data-v-7fd5ce26><span class="copyright" style="color:#94a3b8 !important;" data-v-7fd5ce26>© 2025 leoncheng</span><span class="divider" style="color:#475569 !important;" data-v-7fd5ce26>|</span><span class="license" style="color:#94a3b8 !important;" data-v-7fd5ce26>仅供学习研究使用,禁止商业用途</span></div><div class="footer-right" data-v-7fd5ce26><div class="contact-item" data-v-7fd5ce26><span class="icon" data-v-7fd5ce26>📧</span><span class="text" style="color:#94a3b8 !important;" data-v-7fd5ce26>nywqs@outlook.com</span></div><span class="divider" style="color:#475569 !important;" data-v-7fd5ce26>|</span><div class="contact-item" data-v-7fd5ce26><span class="icon" data-v-7fd5ce26>📱</span><span class="text" style="color:#94a3b8 !important;" data-v-7fd5ce26>18637762001</span></div></div></div>',1)])]))}}}),[["__scopeId","data-v-7fd5ce26"]]);var Rt=(u=>(u.START="start",u.END="end",u.GET_PROPERTY="getProperty",u.SET_PROPERTY="setProperty",u.CONDITION="condition",u.HTTP_REQUEST="httpRequest",u.CUSTOM_CODE="customCode",u.TIMER="timer",u.CLEAR_TIMER="clearTimer",u))(Rt||{});const zv={class:"dialog-body"},Wv={class:"search-box"},qv={class:"element-list"},Gv=["onClick"],Hv={class:"element-icon"},Kv={class:"element-info"},Yv={class:"element-name"},Qv={class:"element-type"},Jv={key:0,class:"element-check"},Xv={key:0,class:"empty-state"},Zv={class:"dialog-footer"},ek=["disabled"],oc=Me(e.defineComponent({__name:"ElementSelector",props:{visible:{type:Boolean},elements:{default:()=>[]}},emits:["close","select"],setup(u,{emit:r}){const t=u,l=r,n=e.ref(""),o=e.ref(null),i=e.computed(()=>{if(!n.value)return t.elements;const d=n.value.toLowerCase();return t.elements.filter(p=>p.name.toLowerCase().includes(d)||p.id.toLowerCase().includes(d)||p.type.toLowerCase().includes(d))}),a=d=>{o.value=d},s=()=>{n.value="",o.value=null,l("close")},c=()=>{o.value&&(l("select",o.value),s())};return(d,p)=>u.visible?(e.openBlock(),e.createElementBlock("div",{key:0,class:"element-selector-overlay",onClick:s},[e.createElementVNode("div",{class:"element-selector-dialog",onClick:p[1]||(p[1]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",{class:"dialog-header"},[p[2]||(p[2]=e.createElementVNode("h3",null,"选择图元",-1)),e.createElementVNode("button",{class:"btn-close",onClick:s},"×")]),e.createElementVNode("div",zv,[e.createElementVNode("div",Wv,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":p[0]||(p[0]=m=>n.value=m),type:"text",placeholder:"搜索图元名称或ID..."},null,512),[[e.vModelText,n.value]])]),e.createElementVNode("div",qv,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,m=>{var h,f;return e.openBlock(),e.createElementBlock("div",{key:m.id,class:e.normalizeClass(["element-item",{active:((h=o.value)==null?void 0:h.id)===m.id}]),onClick:w=>a(m)},[e.createElementVNode("div",Hv,e.toDisplayString(m.icon),1),e.createElementVNode("div",Kv,[e.createElementVNode("div",Yv,e.toDisplayString(m.name),1),e.createElementVNode("div",Qv,e.toDisplayString(m.type),1)]),((f=o.value)==null?void 0:f.id)===m.id?(e.openBlock(),e.createElementBlock("div",Jv," ✓ ")):e.createCommentVNode("",!0)],10,Gv)}),128)),i.value.length===0?(e.openBlock(),e.createElementBlock("div",Xv,[...p[3]||(p[3]=[e.createElementVNode("p",null,"未找到图元",-1),e.createElementVNode("p",{class:"empty-hint"},"请尝试其他搜索关键词",-1)])])):e.createCommentVNode("",!0)])]),e.createElementVNode("div",Zv,[e.createElementVNode("button",{class:"btn-secondary",onClick:s},"取消"),e.createElementVNode("button",{class:"btn-primary",disabled:!o.value,onClick:c}," 确定 ",8,ek)])])])):e.createCommentVNode("",!0)}}),[["__scopeId","data-v-882704dd"]]),tk={class:"node-config"},rk={class:"config-group"},ok={class:"element-selector"},nk={class:"config-group"},ik=["disabled"],sk=["value"],ak=Me(e.defineComponent({__name:"GetPropertyConfig",props:{modelValue:{}},emits:["update:modelValue"],setup(u,{emit:r}){const t=u,l=r,n=e.reactive({elementId:t.modelValue.elementId||"",propertyName:t.modelValue.propertyName||""}),o=e.ref(""),i=e.ref(!1),a=e.ref([]),s=e.inject("canvasElementService"),c=e.computed(()=>{if(!n.elementId)return[];const h=a.value.find(f=>f.id===n.elementId);return(h==null?void 0:h.properties)||[]}),d=()=>{l("update:modelValue",{...n})},p=()=>{s&&(a.value=s.getElements()),i.value=!0},m=h=>{n.elementId=h.id,o.value=h.name,n.propertyName="",d()};return e.onMounted(()=>{if(s&&(a.value=s.getElements()),n.elementId){const h=a.value.find(f=>f.id===n.elementId);h&&(o.value=h.name)}}),(h,f)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",tk,[e.createElementVNode("div",rk,[f[3]||(f[3]=e.createElementVNode("label",null,"图元选择",-1)),e.createElementVNode("div",ok,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":f[0]||(f[0]=w=>o.value=w),type:"text",placeholder:"点击选择按钮从画布中选择图元",readonly:""},null,512),[[e.vModelText,o.value]]),e.createElementVNode("button",{class:"btn-select",onClick:p}," 选择图元 ")])]),e.createElementVNode("div",nk,[f[5]||(f[5]=e.createElementVNode("label",null,"属性选择",-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":f[1]||(f[1]=w=>n.propertyName=w),onChange:d,disabled:!n.elementId},[f[4]||(f[4]=e.createElementVNode("option",{value:""},"请先选择图元",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,w=>(e.openBlock(),e.createElementBlock("option",{key:w.key,value:w.key},e.toDisplayString(w.label),9,sk))),128))],40,ik),[[e.vModelSelect,n.propertyName]])])]),e.createVNode(oc,{visible:i.value,elements:a.value,onClose:f[2]||(f[2]=w=>i.value=!1),onSelect:m},null,8,["visible","elements"])],64))}}),[["__scopeId","data-v-fa65eb56"]]),lk={class:"node-config"},ck={class:"config-group"},dk={class:"element-selector"},uk={class:"config-group"},fk=["disabled"],pk=["value"],hk={class:"config-group"},mk=Me(e.defineComponent({__name:"SetPropertyConfig",props:{modelValue:{}},emits:["update:modelValue"],setup(u,{emit:r}){const t=u,l=r,n=e.reactive({elementId:t.modelValue.elementId||"",propertyName:t.modelValue.propertyName||"",value:t.modelValue.value||""}),o=e.ref(""),i=e.ref(!1),a=e.ref([]),s=e.inject("canvasElementService"),c=e.computed(()=>{if(!n.elementId)return[];const h=a.value.find(f=>f.id===n.elementId);return(h==null?void 0:h.properties)||[]}),d=()=>{l("update:modelValue",{...n})},p=()=>{s&&(a.value=s.getElements()),i.value=!0},m=h=>{n.elementId=h.id,o.value=h.name,n.propertyName="",d()};return e.onMounted(()=>{if(s&&(a.value=s.getElements()),n.elementId){const h=a.value.find(f=>f.id===n.elementId);h&&(o.value=h.name)}}),(h,f)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",lk,[e.createElementVNode("div",ck,[f[4]||(f[4]=e.createElementVNode("label",null,"图元选择",-1)),e.createElementVNode("div",dk,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":f[0]||(f[0]=w=>o.value=w),type:"text",placeholder:"点击选择按钮从画布中选择图元",readonly:""},null,512),[[e.vModelText,o.value]]),e.createElementVNode("button",{class:"btn-select",onClick:p}," 选择图元 ")])]),e.createElementVNode("div",uk,[f[6]||(f[6]=e.createElementVNode("label",null,"属性选择",-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":f[1]||(f[1]=w=>n.propertyName=w),onChange:d,disabled:!n.elementId},[f[5]||(f[5]=e.createElementVNode("option",{value:""},"请先选择图元",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,w=>(e.openBlock(),e.createElementBlock("option",{key:w.key,value:w.key},e.toDisplayString(w.label),9,pk))),128))],40,fk),[[e.vModelSelect,n.propertyName]])]),e.createElementVNode("div",hk,[f[7]||(f[7]=e.createElementVNode("label",null,"属性值",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":f[2]||(f[2]=w=>n.value=w),type:"text",placeholder:"请输入属性值",onInput:d},null,544),[[e.vModelText,n.value]])])]),e.createVNode(oc,{visible:i.value,elements:a.value,onClose:f[3]||(f[3]=w=>i.value=!1),onSelect:m},null,8,["visible","elements"])],64))}}),[["__scopeId","data-v-42e029d4"]]),gk={class:"node-config"},yk={class:"config-group"},bk={class:"config-group"},wk={class:"branches-section"},Ek={class:"branch-list"},vk={class:"branch-header"},kk={class:"branch-number"},_k=["onClick"],Nk={key:0,class:"branch-config"},xk={class:"config-row"},Sk=["onUpdate:modelValue"],Vk={key:0,class:"config-row"},Ck=["onUpdate:modelValue"],Ik={key:1,class:"config-row"},Ak=["onUpdate:modelValue","type"],$k={key:1,class:"default-branch-label"},Tk=Me(e.defineComponent({__name:"ConditionConfig",props:{modelValue:{}},emits:["update:modelValue"],setup(u,{emit:r}){const t=u,l=r,n=()=>`branch_${Date.now()}_${Math.random().toString(36).substr(2,9)}`,o=()=>t.modelValue.branches&&t.modelValue.branches.length>0?t.modelValue.branches:(t.modelValue.dataType||"boolean")==="boolean"?[{id:n(),label:"True",value:!0},{id:n(),label:"False",value:!1,isDefault:!0}]:[{id:n(),label:"分支1",operator:"eq",value:""},{id:n(),label:"默认",isDefault:!0}],i=e.reactive({sourceNodeId:t.modelValue.sourceNodeId||"prev",dataType:t.modelValue.dataType||"boolean",branches:o()}),a=()=>{l("update:modelValue",{...i})},s=()=>{i.dataType==="boolean"?i.branches=[{id:n(),label:"True",value:!0},{id:n(),label:"False",value:!1,isDefault:!0}]:i.branches=[{id:n(),label:"分支1",operator:"eq",value:""},{id:n(),label:"默认",isDefault:!0}],a()},c=()=>{const p={id:n(),label:`分支${i.branches.length}`,operator:"eq",value:""},m=i.branches.findIndex(h=>h.isDefault);m>-1?i.branches.splice(m,0,p):i.branches.push(p),a()},d=p=>{i.branches.length>2&&(i.branches.splice(p,1),a())};return(p,m)=>(e.openBlock(),e.createElementBlock("div",gk,[e.createElementVNode("div",yk,[m[3]||(m[3]=e.createElementVNode("label",null,"数据来源节点",-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":m[0]||(m[0]=h=>i.sourceNodeId=h),onChange:a},[...m[2]||(m[2]=[e.createElementVNode("option",{value:""},"请选择数据来源节点",-1),e.createElementVNode("option",{value:"prev"},"上一个节点",-1)])],544),[[e.vModelSelect,i.sourceNodeId]])]),e.createElementVNode("div",bk,[m[5]||(m[5]=e.createElementVNode("label",null,"数据类型",-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":m[1]||(m[1]=h=>i.dataType=h),onChange:s},[...m[4]||(m[4]=[e.createElementVNode("option",{value:"boolean"},"布尔类型",-1),e.createElementVNode("option",{value:"number"},"数字类型",-1),e.createElementVNode("option",{value:"string"},"字符串类型",-1),e.createElementVNode("option",{value:"any"},"自定义",-1)])],544),[[e.vModelSelect,i.dataType]])]),e.createElementVNode("div",wk,[e.createElementVNode("div",{class:"section-header"},[m[6]||(m[6]=e.createElementVNode("label",null,"条件分支",-1)),e.createElementVNode("button",{class:"btn-add",onClick:c},"添加分支")]),e.createElementVNode("div",Ek,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.branches,(h,f)=>(e.openBlock(),e.createElementBlock("div",{key:h.id,class:"branch-item"},[e.createElementVNode("div",vk,[e.createElementVNode("span",kk,"分支 "+e.toDisplayString(f+1),1),!h.isDefault&&i.branches&&i.branches.length>1?(e.openBlock(),e.createElementBlock("button",{key:0,class:"btn-remove",onClick:w=>d(f)},"×",8,_k)):e.createCommentVNode("",!0)]),h.isDefault?(e.openBlock(),e.createElementBlock("div",$k," 默认分支(其他情况) ")):(e.openBlock(),e.createElementBlock("div",Nk,[e.createElementVNode("div",xk,[m[7]||(m[7]=e.createElementVNode("label",null,"分支标签",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":w=>h.label=w,type:"text",placeholder:"如: >10, =A, True",onInput:a},null,40,Sk),[[e.vModelText,h.label]])]),i.dataType!=="boolean"?(e.openBlock(),e.createElementBlock("div",Vk,[m[9]||(m[9]=e.createElementVNode("label",null,"运算符",-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":w=>h.operator=w,onChange:a},[...m[8]||(m[8]=[e.createStaticVNode('<option value="eq" data-v-15975920>等于 (==)</option><option value="ne" data-v-15975920>不等于 (!=)</option><option value="gt" data-v-15975920>大于 (&gt;)</option><option value="gte" data-v-15975920>大于等于 (&gt;=)</option><option value="lt" data-v-15975920>小于 (&lt;)</option><option value="lte" data-v-15975920>小于等于 (&lt;=)</option><option value="contains" data-v-15975920>包含</option><option value="notContains" data-v-15975920>不包含</option>',8)])],40,Ck),[[e.vModelSelect,h.operator]])])):e.createCommentVNode("",!0),i.dataType!=="boolean"?(e.openBlock(),e.createElementBlock("div",Ik,[m[10]||(m[10]=e.createElementVNode("label",null,"比较值",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":w=>h.value=w,type:i.dataType==="number"?"number":"text",placeholder:"请输入比较值",onInput:a},null,40,Ak),[[e.vModelDynamic,h.value]])])):e.createCommentVNode("",!0)]))]))),128))])])]))}}),[["__scopeId","data-v-15975920"]]),Bk={class:"node-config"},Dk={class:"config-group"},Pk={class:"config-group"},Ok={class:"config-group"},Mk={class:"config-group"},Rk={class:"config-group"},jk=Me(e.defineComponent({__name:"HttpRequestConfig",props:{modelValue:{}},emits:["update:modelValue"],setup(u,{emit:r}){const t=u,l=r,n=e.reactive({url:t.modelValue.url||"",method:t.modelValue.method||"GET",headers:t.modelValue.headers||{},body:t.modelValue.body||"",outputVariable:t.modelValue.outputVariable||""}),o=e.ref(JSON.stringify(n.headers,null,2)),i=()=>{l("update:modelValue",{...n})},a=()=>{try{n.headers=JSON.parse(o.value),i()}catch{}};return e.watch(()=>t.modelValue.headers,s=>{s&&(o.value=JSON.stringify(s,null,2))}),(s,c)=>(e.openBlock(),e.createElementBlock("div",Bk,[e.createElementVNode("div",Dk,[c[5]||(c[5]=e.createElementVNode("label",null,"请求URL",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":c[0]||(c[0]=d=>n.url=d),type:"text",placeholder:"请输入请求URL",onInput:i},null,544),[[e.vModelText,n.url]])]),e.createElementVNode("div",Pk,[c[7]||(c[7]=e.createElementVNode("label",null,"请求方法",-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":c[1]||(c[1]=d=>n.method=d),onChange:i},[...c[6]||(c[6]=[e.createElementVNode("option",{value:"GET"},"GET",-1),e.createElementVNode("option",{value:"POST"},"POST",-1),e.createElementVNode("option",{value:"PUT"},"PUT",-1),e.createElementVNode("option",{value:"DELETE"},"DELETE",-1)])],544),[[e.vModelSelect,n.method]])]),e.createElementVNode("div",Ok,[c[8]||(c[8]=e.createElementVNode("label",null,"请求头 (JSON格式)",-1)),e.withDirectives(e.createElementVNode("textarea",{"onUpdate:modelValue":c[2]||(c[2]=d=>o.value=d),rows:"3",placeholder:'{"Content-Type": "application/json"}',onInput:a},null,544),[[e.vModelText,o.value]])]),e.createElementVNode("div",Mk,[c[9]||(c[9]=e.createElementVNode("label",null,"请求体",-1)),e.withDirectives(e.createElementVNode("textarea",{"onUpdate:modelValue":c[3]||(c[3]=d=>n.body=d),rows:"4",placeholder:"请输入请求体内容",onInput:i},null,544),[[e.vModelText,n.body]])]),e.createElementVNode("div",Rk,[c[10]||(c[10]=e.createElementVNode("label",null,"输出变量",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":c[4]||(c[4]=d=>n.outputVariable=d),type:"text",placeholder:"请输入输出变量名",onInput:i},null,544),[[e.vModelText,n.outputVariable]])])]))}}),[["__scopeId","data-v-4c312eea"]]),Lk={class:"node-config"},Uk={class:"config-group"},Fk=Me(e.defineComponent({__name:"CustomCodeConfig",props:{modelValue:{}},emits:["update:modelValue"],setup(u,{emit:r}){const t=u,l=r,n=e.reactive({code:t.modelValue.code||""}),o=()=>{l("update:modelValue",{...n})};return(i,a)=>(e.openBlock(),e.createElementBlock("div",Lk,[e.createElementVNode("div",Uk,[a[1]||(a[1]=e.createElementVNode("label",null,"JavaScript代码",-1)),e.withDirectives(e.createElementVNode("textarea",{"onUpdate:modelValue":a[0]||(a[0]=s=>n.code=s),rows:"10",placeholder:"请输入JavaScript代码",onInput:o},null,544),[[e.vModelText,n.code]])]),a[2]||(a[2]=e.createElementVNode("div",{class:"code-hint"},[e.createElementVNode("p",null,"提示:"),e.createElementVNode("ul",null,[e.createElementVNode("li",null,"可以使用 context 对象访问上下文变量"),e.createElementVNode("li",null,"使用 return 返回结果")])],-1))]))}}),[["__scopeId","data-v-f7115383"]]),zk={class:"node-config"},Wk={class:"config-group"},qk={class:"config-group"},Gk=Me(e.defineComponent({__name:"TimerConfig",props:{modelValue:{}},emits:["update:modelValue"],setup(u,{emit:r}){const t=u,l=r,n=e.reactive({interval:t.modelValue.interval||1e3,unit:t.modelValue.unit||"ms"}),o=()=>{l("update:modelValue",{...n})};return(i,a)=>(e.openBlock(),e.createElementBlock("div",zk,[e.createElementVNode("div",Wk,[a[2]||(a[2]=e.createElementVNode("label",null,"时间间隔",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":a[0]||(a[0]=s=>n.interval=s),type:"number",min:"1",placeholder:"请输入时间间隔",onInput:o},null,544),[[e.vModelText,n.interval,void 0,{number:!0}]])]),e.createElementVNode("div",qk,[a[4]||(a[4]=e.createElementVNode("label",null,"时间单位",-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":a[1]||(a[1]=s=>n.unit=s),onChange:o},[...a[3]||(a[3]=[e.createElementVNode("option",{value:"ms"},"毫秒 (ms)",-1),e.createElementVNode("option",{value:"s"},"秒 (s)",-1),e.createElementVNode("option",{value:"m"},"分钟 (m)",-1),e.createElementVNode("option",{value:"h"},"小时 (h)",-1)])],544),[[e.vModelSelect,n.unit]])])]))}}),[["__scopeId","data-v-323381bc"]]),Hk={class:"node-config"},Kk={class:"config-group"},Yk=["value"],Qk={key:0,class:"timer-hint warning"},Jk={key:1,class:"timer-hint"},Xk=Me(e.defineComponent({__name:"ClearTimerConfig",props:{modelValue:{}},emits:["update:modelValue"],setup(u,{emit:r}){const t=u,l=r,n=e.reactive({timerId:t.modelValue.timerId||""}),o=e.ref([]),i=e.inject("getGraph"),a=()=>{if(!i)return[];const c=i();if(!c)return[];const d=c.getNodes(),p=[];return d.forEach(m=>{const h=m.getData();if((h==null?void 0:h.nodeType)==="timer"){const f=m.getAttrByPath("label/text")||"定时器";p.push({id:m.id,label:f})}}),p};e.onMounted(()=>{o.value=a()}),e.watch(()=>t.modelValue,()=>{o.value=a()},{deep:!0});const s=()=>{l("update:modelValue",{...n})};return(c,d)=>(e.openBlock(),e.createElementBlock("div",Hk,[e.createElementVNode("div",Kk,[d[2]||(d[2]=e.createElementVNode("label",null,"选择定时器节点",-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":d[0]||(d[0]=p=>n.timerId=p),onChange:s},[d[1]||(d[1]=e.createElementVNode("option",{value:""},"请选择要清除的定时器",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,p=>(e.openBlock(),e.createElementBlock("option",{key:p.id,value:p.id},e.toDisplayString(p.label),9,Yk))),128))],544),[[e.vModelSelect,n.timerId]])]),o.value.length===0?(e.openBlock(),e.createElementBlock("div",Qk,[...d[3]||(d[3]=[e.createElementVNode("p",null,"提示:当前流程中没有定时器节点",-1)])])):(e.openBlock(),e.createElementBlock("div",Jk,[...d[4]||(d[4]=[e.createElementVNode("p",null,"提示:选择要清除的定时器节点",-1)])]))]))}}),[["__scopeId","data-v-d102fb63"]]),Zk={[Rt.GET_PROPERTY]:ak,[Rt.SET_PROPERTY]:mk,[Rt.CONDITION]:Tk,[Rt.HTTP_REQUEST]:jk,[Rt.CUSTOM_CODE]:Fk,[Rt.TIMER]:Gk,[Rt.CLEAR_TIMER]:Xk};function e2(u){return Zk[u]||null}const t2={class:"property-panel"},r2={key:0,class:"property-content"},o2={class:"property-group"},n2=["value"],i2={class:"property-group"},s2=["value"],a2={key:0,class:"divider"},l2={key:1,class:"property-empty"},c2=Me(e.defineComponent({__name:"PropertyPanel",props:{selectedCell:{}},emits:["update:label","update:config"],setup(u,{emit:r}){const t=u,l=r,n=()=>{var d,p,m;return((m=(p=(d=t.selectedCell)==null?void 0:d.cell)==null?void 0:p.model)==null?void 0:m.graph)||null};e.provide("getGraph",n);const o=e.ref({}),i=e.computed(()=>t.selectedCell?e2(t.selectedCell.nodeType):null);e.watch(()=>t.selectedCell,d=>{if(d!=null&&d.cell){const p=d.cell.getData();o.value=(p==null?void 0:p.config)||{}}else o.value={}},{immediate:!0});const a=d=>{const p=d.target;l("update:label",p.value)},s=d=>{var p;if(o.value=d,(p=t.selectedCell)!=null&&p.cell){const m=t.selectedCell.cell.getData()||{};t.selectedCell.cell.setData({...m,config:d}),t.selectedCell.nodeType==="condition"&&d.branches&&c(d.branches)}l("update:config",d)},c=d=>{var $,C;if(!(($=t.selectedCell)!=null&&$.cell))return;const p=t.selectedCell.cell,m=(C=p.model)==null?void 0:C.graph;if(!m)return;const h=[];m.getConnectedEdges(p,{outgoing:!0}).forEach(P=>{const A=P.getSourcePortId(),U=P.getTargetCell(),Y=P.getTargetPortId();A&&U&&h.push({sourcePortId:A,targetCell:U,targetPortId:Y})});const w=h.length>0?h[0].targetCell:null,v=h.length>0?h[0].targetPortId:"port-in";p.getPorts().forEach(P=>{P.group==="out"&&p.removePort(P.id)});const b=30,_=60,k=Math.max(d.length,1),E=Math.max(_,k*b),I=p.size(),x=p.position(),V=E-I.height;V!==0&&p.position(x.x,x.y-V/2),p.resize(I.width,E),d.forEach((P,A)=>{p.addPort({id:`port-out-${A}`,group:"out",attrs:{circle:{r:5,magnet:!0,stroke:"#34d399",strokeWidth:2,fill:"#1e293b"},portLabel:{text:P.label||`分支${A+1}`,fontSize:10,fill:"#94a3b8"}}})}),setTimeout(()=>{w&&d.forEach((P,A)=>{m.addEdge({source:{cell:p,port:`port-out-${A}`},target:{cell:w,port:v},labels:[{attrs:{label:{text:P.label||`分支${A+1}`,fill:"#e2e8f0",fontSize:12},rect:{fill:"#334155",stroke:"#34d399",strokeWidth:1,rx:4,ry:4}},position:.5}]})})},100)};return(d,p)=>(e.openBlock(),e.createElementBlock("div",t2,[p[4]||(p[4]=e.createElementVNode("h3",null,"属性配置",-1)),u.selectedCell?(e.openBlock(),e.createElementBlock("div",r2,[e.createElementVNode("div",o2,[p[1]||(p[1]=e.createElementVNode("label",null,"节点名称",-1)),e.createElementVNode("input",{value:u.selectedCell.label,type:"text",placeholder:"输入节点名称",onInput:a},null,40,n2)]),e.createElementVNode("div",i2,[p[2]||(p[2]=e.createElementVNode("label",null,"节点类型",-1)),e.createElementVNode("input",{value:u.selectedCell.nodeType,type:"text",readonly:"",disabled:""},null,8,s2)]),i.value?(e.openBlock(),e.createElementBlock("div",a2)):e.createCommentVNode("",!0),i.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(i.value),{key:1,modelValue:o.value,"onUpdate:modelValue":[p[0]||(p[0]=m=>o.value=m),s]},null,8,["modelValue"])):e.createCommentVNode("",!0)])):(e.openBlock(),e.createElementBlock("div",l2,[...p[3]||(p[3]=[e.createElementVNode("div",{class:"empty-text"},"选择节点以配置属性",-1)])]))]))}}),[["__scopeId","data-v-8304acbc"]]),d2={class:"toolbar"},u2={class:"toolbar-right"},f2=Me(e.defineComponent({__name:"WorkflowToolbar",props:{showClose:{type:Boolean}},emits:["clear","validate","save","close"],setup(u){return(r,t)=>(e.openBlock(),e.createElementBlock("div",d2,[t[5]||(t[5]=e.createElementVNode("div",{class:"toolbar-left"},[e.createElementVNode("h2",null,"流程编排")],-1)),e.createElementVNode("div",u2,[e.createElementVNode("button",{class:"btn-secondary",onClick:t[0]||(t[0]=l=>r.$emit("clear"))},"清空"),e.createElementVNode("button",{class:"btn-secondary",onClick:t[1]||(t[1]=l=>r.$emit("validate"))},"验证"),e.createElementVNode("button",{class:"btn-primary",onClick:t[2]||(t[2]=l=>r.$emit("save"))},"保存"),u.showClose?(e.openBlock(),e.createElementBlock("button",{key:0,class:"btn-close",onClick:t[3]||(t[3]=l=>r.$emit("close")),title:"关闭"},[...t[4]||(t[4]=[e.createElementVNode("span",{class:"close-icon"},"×",-1)])])):e.createCommentVNode("",!0)])]))}}),[["__scopeId","data-v-b3e0a4fc"]]),p2={class:"menu-header"},h2={class:"menu-list"},m2=["onClick"],g2={class:"menu-item-info"},y2={class:"menu-item-name"},b2={class:"menu-item-desc"},w2=Me(e.defineComponent({__name:"AddNodeMenu",props:{visible:{type:Boolean},position:{},nodeTypes:{}},emits:["close","select"],setup(u,{emit:r}){const t=u,l=r,n=e.computed(()=>t.nodeTypes.filter(i=>i.type!=="start"&&i.type!=="end")),o=i=>{l("select",i)};return(i,a)=>(e.openBlock(),e.createElementBlock("div",null,[u.visible?(e.openBlock(),e.createElementBlock("div",{key:0,class:"menu-overlay",onClick:a[0]||(a[0]=s=>i.$emit("close"))})):e.createCommentVNode("",!0),u.visible?(e.openBlock(),e.createElementBlock("div",{key:1,class:"add-node-menu",style:e.normalizeStyle({left:u.position.x+"px",top:u.position.y+"px"})},[e.createElementVNode("div",p2,[a[2]||(a[2]=e.createElementVNode("span",null,"选择节点类型",-1)),e.createElementVNode("button",{class:"btn-close",onClick:a[1]||(a[1]=s=>i.$emit("close"))},"×")]),e.createElementVNode("div",h2,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,s=>(e.openBlock(),e.createElementBlock("div",{key:s.type,class:"menu-item",onClick:c=>o(s)},[e.createElementVNode("div",{class:e.normalizeClass(["menu-item-icon",`node-icon-${s.type}`])},e.toDisplayString(s.icon),3),e.createElementVNode("div",g2,[e.createElementVNode("div",y2,e.toDisplayString(s.name),1),e.createElementVNode("div",b2,e.toDisplayString(s.description),1)])],8,m2))),128))])],4)):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-aa6fccf8"]]);class E2{constructor(){Se(this,"graph",null)}setGraph(r){this.graph=r}getElements(){return this.graph?this.graph.getNodes().map(t=>{const l=t.getData()||{},n=l.type||t.shape,o=er.getComponent(n),i=this.getElementProperties(t,o);return{id:t.id,name:l.componentName||t.getAttrByPath("label/text")||`图元_${t.id.slice(0,8)}`,type:(o==null?void 0:o.metadata.name)||n,icon:(o==null?void 0:o.metadata.icon)||"📦",properties:i}}):(console.warn("画布实例未初始化"),[])}getElementProperties(r,t){const l=[],n=new Set;return t!=null&&t.props&&t.props.forEach(o=>{const i=o.path.split("."),a=i[i.length-1];a&&!n.has(a)&&(l.push({key:a,label:o.label||a}),n.add(a))}),l}getElementById(r){return this.getElements().find(l=>l.id===r)||null}searchElements(r){const t=this.getElements(),l=r.toLowerCase();return t.filter(n=>n.name.toLowerCase().includes(l)||n.id.toLowerCase().includes(l)||n.type.toLowerCase().includes(l))}}const nc=new E2,v2={class:"workflow-editor"},k2={class:"editor-main"},_2={class:"canvas-area"},N2=Me(e.defineComponent({__name:"WorkflowEditor",props:{scadaGraph:{default:null},showClose:{type:Boolean,default:!1}},emits:["close"],setup(u){const r=u,t=e.ref([{type:"start",name:"开始",icon:"▶",description:"流程起点",color:"#52c41a"},{type:"end",name:"结束",icon:"⏹",description:"流程终点",color:"#ff4d4f"},{type:"getProperty",name:"获取图元属性",icon:"📥",description:"获取图元的属性值",color:"#1890ff"},{type:"setProperty",name:"设置图元属性",icon:"📤",description:"设置图元的属性值",color:"#13c2c2"},{type:"condition",name:"条件节点",icon:"◆",description:"条件分支判断",color:"#faad14"},{type:"httpRequest",name:"http请求",icon:"🌐",description:"HTTP网络请求",color:"#722ed1"},{type:"customCode",name:"自定义代码",icon:"💻",description:"执行自定义JavaScript代码",color:"#eb2f96"},{type:"timer",name:"定时器节点",icon:"⏰",description:"设置定时执行",color:"#52c41a"},{type:"clearTimer",name:"清除定时器",icon:"🗑",description:"清除定时器",color:"#ff4d4f"}]),l=e.ref();let n=null;r.scadaGraph&&nc.setGraph(r.scadaGraph),e.provide("canvasElementService",nc);const o=e.ref(null),i=e.ref(!1),a=e.ref({x:0,y:0});let s=null;const c=()=>{t.value.forEach(_=>{const k={inherit:"rect",width:150,height:60,markup:[{tagName:"rect",selector:"body"},{tagName:"text",selector:"icon"},{tagName:"text",selector:"label"}],attrs:{body:{strokeWidth:1,stroke:_.color,fill:"#ffffff",rx:6,ry:6},icon:{text:_.icon,fontSize:24,fill:_.color,refX:20,refY:"50%",textAnchor:"middle",textVerticalAnchor:"middle"},label:{text:_.name,fontSize:14,fill:"#333333",refX:75,refY:"50%",textAnchor:"middle",textVerticalAnchor:"middle"}},ports:{groups:{in:{position:"left",attrs:{circle:{r:5,magnet:!0,stroke:"#10b981",strokeWidth:2,fill:"#1e293b"}}},out:{position:{name:"right"},attrs:{circle:{r:5,magnet:!0,stroke:"#10b981",strokeWidth:2,fill:"#1e293b"},portLabel:{fontSize:10,fill:"#94a3b8"}},markup:[{tagName:"circle",selector:"circle"},{tagName:"text",selector:"portLabel"}],label:{position:{name:"right",args:{x:10,y:0}}}}},items:[]},data:{nodeType:_.type}};_.type==="start"?k.ports.items=[{id:"port-out",group:"out"}]:_.type==="end"?k.ports.items=[{id:"port-in",group:"in"}]:_.type==="condition"?k.ports.items=[{id:"port-in",group:"in"},{id:"port-out-0",group:"out",args:{text:"True"}},{id:"port-out-1",group:"out",args:{text:"False"}}]:k.ports.items=[{id:"port-in",group:"in"},{id:"port-out",group:"out"}],Le.Graph.registerNode(_.type,k,!0)})},d=()=>{if(!l.value)return;c(),n=new Le.Graph({container:l.value,width:l.value.clientWidth,height:l.value.clientHeight,grid:{size:10,visible:!0,type:"dot",args:{color:"#333",thickness:1}},panning:{enabled:!0,modifiers:"shift"},mousewheel:{enabled:!0,modifiers:["ctrl","meta"]},connecting:{router:"manhattan",connector:{name:"rounded",args:{radius:8}},anchor:"center",connectionPoint:"anchor",snap:{radius:20},allowBlank:!1,allowLoop:!1,allowNode:!1,createEdge(){return new Le.Shape.Edge({attrs:{line:{stroke:"#64748b",strokeWidth:3,targetMarker:{name:"block",width:12,height:8,fill:"#64748b"}}},zIndex:0})},validateConnection({targetMagnet:k}){return!!k}},highlighting:{magnetAvailable:{name:"stroke",args:{attrs:{fill:"#34d399",stroke:"#34d399"}}}}}),n.use(new zt.Selection({enabled:!0,rubberband:!1,showNodeSelectionBox:!0,showEdgeSelectionBox:!0,multiple:!0,movable:!0,strict:!1}));const _=k=>{var E;if(console.log("键盘事件触发:",k.key,"selectedCell存在:",!!o.value),k.key==="Delete"||k.key==="Backspace"){if(!n){console.log("graph不存在,无法删除");return}if((E=o.value)!=null&&E.cell){k.preventDefault();const x=o.value.cell;console.log("删除选中的节点:",o.value.label);const V=n.getIncomingEdges(x),$=n.getOutgoingEdges(x);V&&V.length>0&&$&&$.length>0&&V.forEach(C=>{const P=C.getSourceCell(),A=C.getSourcePortId();$.forEach(U=>{const Y=U.getTargetCell(),z=U.getTargetPortId();P&&Y&&n&&(n.addEdge({source:{cell:P,port:A},target:{cell:Y,port:z}}),console.log("已连接前后节点"))})}),n.removeCells([x]),o.value=null,console.log("已删除节点");return}const I=n.getSelectedCells();console.log("选中的cells数量:",I.length,I),I.length?(k.preventDefault(),n.removeCells(I),console.log("已删除cells")):console.log("没有选中的cells")}};document.addEventListener("keydown",_),n.on("node:click",({node:k})=>{var x;const E=k.getAttrByPath("label/text")||"",I=((x=k.getData())==null?void 0:x.nodeType)||k.shape||"";o.value={label:E,nodeType:I,cell:k},console.log("节点已点击,保存到selectedCell:",E)}),n.on("blank:click",()=>{o.value=null,n&&n.cleanSelection()}),n.on("edge:mouseenter",({edge:k})=>{k.setAttrs({line:{stroke:"#10b981",strokeWidth:4}}),k.addTools([{name:"button",args:{markup:[{tagName:"circle",selector:"button",attrs:{r:12,stroke:"#10b981",strokeWidth:2,fill:"#1e293b",cursor:"pointer"}},{tagName:"path",selector:"icon",attrs:{d:"M -5 0 L 5 0 M 0 -5 L 0 5",stroke:"#10b981",strokeWidth:2,fill:"none",pointerEvents:"none"}}],distance:.5,onClick:({e:E,view:I})=>{s=I.cell,i.value=!0,a.value={x:E.clientX,y:E.clientY}}}},{name:"vertices"}])}),n.on("edge:mouseleave",({edge:k})=>{k.setAttrs({line:{stroke:"#64748b",strokeWidth:3}}),k.removeTools()}),n.on("edge:connected",({isNew:k,edge:E})=>{k&&E.setAttrs({line:{stroke:"#64748b",strokeWidth:3}})}),n.on("node:selected",({node:k})=>{k.toFront()}),n.on("edge:selected",({edge:k})=>{k.toFront()}),p()},p=()=>{if(!n)return;const _=n.addNode({shape:"start",x:100,y:200,label:"开始",data:{nodeType:"start"}}),k=n.addNode({shape:"end",x:500,y:200,label:"结束",data:{nodeType:"end"}});n.addEdge({source:{cell:_,port:"port-out"},target:{cell:k,port:"port-in"}})},m=_=>{var k;(k=o.value)!=null&&k.cell&&(o.value.label=_,o.value.cell.setAttrByPath("label/text",_))},h=_=>{if(!n||!s)return;const k=s.getSourceCell(),E=s.getTargetCell();if(!k||!E)return;const I=k.position(),x=E.position(),V=(I.x+x.x)/2,$=(I.y+x.y)/2,C=n.addNode({shape:_.type,x:V,y:$,label:_.name,data:{nodeType:_.type}});s.remove(),n.addEdge({source:{cell:k,port:"port-out"},target:{cell:C,port:"port-in"}}),_.type==="condition"?(n.addEdge({source:{cell:C,port:"port-out-0"},target:{cell:E,port:"port-in"},labels:[{attrs:{label:{text:"True",fill:"#e2e8f0",fontSize:12},rect:{fill:"#334155",stroke:"#64748b",strokeWidth:1,rx:4,ry:4}},position:.5}]}),n.addEdge({source:{cell:C,port:"port-out-1"},target:{cell:E,port:"port-in"},labels:[{attrs:{label:{text:"False",fill:"#e2e8f0",fontSize:12},rect:{fill:"#334155",stroke:"#64748b",strokeWidth:1,rx:4,ry:4}},position:.5}]})):n.addEdge({source:{cell:C,port:"port-out"},target:{cell:E,port:"port-in"}}),i.value=!1,s=null},f=()=>{n&&n.clearCells()},w=()=>{if(!n)return console.log("画布不存在"),{errors:["画布不存在"],warnings:[]};const _=[],k=[],E=n.getNodes(),I=E.filter(V=>{var $;return(($=V.getData())==null?void 0:$.nodeType)==="start"});return I.length===0?_.push("流程中缺少开始节点"):I.length>1&&k.push("流程中有多个开始节点"),E.filter(V=>{var $;return(($=V.getData())==null?void 0:$.nodeType)==="end"}).length===0&&k.push("流程中缺少结束节点"),E.forEach(V=>{const $=V.getData(),C=$==null?void 0:$.nodeType,P=($==null?void 0:$.config)||{},A=V.getAttrByPath("label/text")||"未命名节点";(C==="getProperty"||C==="setProperty")&&(P.elementId||_.push(`节点「${A}」未配置图元`),P.propertyName||_.push(`节点「${A}」未配置属性`),C==="setProperty"&&!P.value&&k.push(`节点「${A}」未配置属性值`)),C==="httpRequest"&&(P.url||_.push(`节点「${A}」未配置请求URL`)),C==="condition"&&(!P.branches||P.branches.length===0)&&_.push(`节点「${A}」未配置条件分支`),C==="timer"&&(!P.interval||P.interval<=0)&&_.push(`节点「${A}」未配置有效的时间间隔`),C==="clearTimer"&&(P.timerId||_.push(`节点「${A}」未选择定时器`)),C==="customCode"&&(P.code||k.push(`节点「${A}」未编写代码`))}),E.forEach(V=>{var P;const $=(P=V.getData())==null?void 0:P.nodeType,C=V.getAttrByPath("label/text")||"未命名节点";if($==="start"&&n){const A=n.getOutgoingEdges(V);(!A||A.length===0)&&_.push(`开始节点「${C}」没有连接到下一个节点`)}if($==="end"&&n){const A=n.getOutgoingEdges(V);A&&A.length>0&&k.push(`结束节点「${C}」不应该有输出连线`)}if($!=="start"&&$!=="end"&&n){const A=n.getIncomingEdges(V),U=n.getOutgoingEdges(V);(!A||A.length===0)&&k.push(`节点「${C}」没有输入连线`),$!=="clearTimer"&&(!U||U.length===0)&&k.push(`节点「${C}」没有输出连线`)}}),n&&E.forEach(V=>{var U;const $=n.getIncomingEdges(V),C=n.getOutgoingEdges(V),P=(U=V.getData())==null?void 0:U.nodeType,A=V.getAttrByPath("label/text")||"未命名节点";P!=="start"&&(!$||$.length===0)&&(!C||C.length===0)&&k.push(`节点「${A}」是孤立节点`)}),{errors:_,warnings:k}},v=()=>{const{errors:_,warnings:k}=w();if(_.length===0&&k.length===0)alert("✓ 流程验证通过!"),console.log("流程验证通过");else{let E="";_.length>0&&(E+=`错误:
44
- `+_.map(I=>" • "+I).join(`
45
- `)),k.length>0&&(E&&(E+=`
43
+ }`,class:"code-textarea code-textarea-full"},null,40,uE)]),e.createElementVNode("div",fE,[e.createElementVNode("div",pE,[d[7]||(d[7]=e.createElementVNode("label",null,"组件预览",-1)),e.createElementVNode("div",hE,[(h=n.value)!=null&&h.success?(e.openBlock(),e.createElementBlock("span",mE,"✓ 执行成功")):(m=n.value)!=null&&m.error?(e.openBlock(),e.createElementBlock("span",gE,"✗ 执行失败")):e.createCommentVNode("",!0)])]),e.createElementVNode("div",yE,[n.value?n.value.error?(e.openBlock(),e.createElementBlock("div",wE,[d[8]||(d[8]=e.createElementVNode("div",{class:"error-title"},"错误信息:",-1)),e.createElementVNode("div",EE,e.toDisplayString(n.value.error),1)])):(e.openBlock(),e.createElementBlock("div",vE,[e.createElementVNode("div",{ref_key:"previewContainer",ref:a,class:"node-preview"},null,512),n.value.logs.length>0?(e.openBlock(),e.createElementBlock("div",kE,[d[9]||(d[9]=e.createElementVNode("div",{class:"console-title"},"控制台输出:",-1)),e.createElementVNode("div",_E,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value.logs,(p,f)=>(e.openBlock(),e.createElementBlock("div",{key:f,class:"log-item"},e.toDisplayString(p),1))),128))])])):e.createCommentVNode("",!0)])):(e.openBlock(),e.createElementBlock("div",bE,' 点击"测试执行"按钮查看组件预览效果 '))])])]),e.createElementVNode("div",NE,[e.createElementVNode("button",{class:"btn-cancel",onClick:d[2]||(d[2]=p=>c.$emit("close"))},"取消"),e.createElementVNode("button",{class:"btn-confirm",onClick:d[3]||(d[3]=p=>c.$emit("save"))},"确定")])])])}}}),[["__scopeId","data-v-add3567b"]]),xE={class:"dialog-container"},VE={class:"dialog-header"},CE={class:"dialog-body"},IE={key:0,class:"empty-state"},AE={key:1,class:"workflow-list"},TE=["onClick"],$E={class:"workflow-info"},BE={class:"workflow-name"},DE={class:"workflow-meta"},PE={class:"workflow-id"},OE={class:"workflow-date"},ME={class:"workflow-actions"},RE=["onClick"],jE={class:"dialog-footer"},LE=["disabled"],UE=Me(e.defineComponent({__name:"WorkflowSelectorDialog",emits:["close","select"],setup(u,{emit:t}){const r=t,a=e.ref([]),n=e.ref(null),o=()=>{try{const d=localStorage.getItem("saved-workflows");d&&(a.value=JSON.parse(d))}catch(d){console.error("加载流程列表失败:",d)}},i=d=>{n.value=d},l=d=>{console.log("预览流程:",d)},s=()=>{n.value&&r("select",n.value)},c=d=>new Date(d).toLocaleString("zh-CN",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"});return e.onMounted(()=>{o()}),(d,h)=>(e.openBlock(),e.createElementBlock("div",{class:"dialog-overlay",onClick:h[2]||(h[2]=e.withModifiers(m=>d.$emit("close"),["self"]))},[e.createElementVNode("div",xE,[e.createElementVNode("div",VE,[h[3]||(h[3]=e.createElementVNode("h3",null,"选择流程",-1)),e.createElementVNode("button",{class:"btn-close",onClick:h[0]||(h[0]=m=>d.$emit("close"))},"×")]),e.createElementVNode("div",CE,[a.value.length===0?(e.openBlock(),e.createElementBlock("div",IE,[...h[4]||(h[4]=[e.createElementVNode("p",null,"暂无已保存的流程",-1),e.createElementVNode("p",{class:"hint"},"请先在流程编辑器中创建并保存流程",-1)])])):(e.openBlock(),e.createElementBlock("div",AE,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value,m=>{var p;return e.openBlock(),e.createElementBlock("div",{key:m.id,class:e.normalizeClass(["workflow-item",{selected:((p=n.value)==null?void 0:p.id)===m.id}]),onClick:f=>i(m)},[e.createElementVNode("div",$E,[e.createElementVNode("div",BE,e.toDisplayString(m.name),1),e.createElementVNode("div",DE,[e.createElementVNode("span",PE,"ID: "+e.toDisplayString(m.id),1),e.createElementVNode("span",OE,e.toDisplayString(c(m.createdAt)),1)])]),e.createElementVNode("div",ME,[e.createElementVNode("button",{class:"btn-icon",onClick:e.withModifiers(f=>l(m),["stop"]),title:"预览"}," 👁️ ",8,RE)])],10,TE)}),128))]))]),e.createElementVNode("div",jE,[e.createElementVNode("button",{class:"btn-secondary",onClick:h[1]||(h[1]=m=>d.$emit("close"))},"取消"),e.createElementVNode("button",{class:"btn-primary",disabled:!n.value,onClick:s}," 确定 ",8,LE)])])]))}}),[["__scopeId","data-v-c9a88e33"]]),FE=(u,t)=>{const r=t.split(".");let a=u;for(const n of r)if(a&&typeof a=="object"&&n in a)a=a[n];else return;return a},zE=(u,t,r)=>{const a=t.split(".");let n=u;for(let o=0;o<a.length-1;o++)n[a[o]]||(n[a[o]]={}),n=n[a[o]];n[a[a.length-1]]=r},WE=(u,t)=>{var o;const r=u.getData(),a=(o=r==null?void 0:r.props)==null?void 0:o.find(i=>i.key===t);if(!a||!a.path)return;const n=a.path.split(".");if(n[0]==="attrs"){const i=n.slice(1).join("/");return u.attr(i)}else if(n[0]==="data"){const i=n.slice(1).join(".");return FE(u.getData(),i)}},qE=(u,t,r)=>{var i;const a=u.getData(),n=(i=a==null?void 0:a.props)==null?void 0:i.find(l=>l.key===t);if(!n||!n.path)return console.warn(`未找到属性配置: ${t}`),!1;const o=n.path.split(".");if(o[0]==="attrs"){const l=o.slice(1).join("/");return u.setAttrByPath(l,r),console.log(`属性已更改: ${t} (${l}) = ${r}`),!0}else if(o[0]==="data"){const l=o.slice(1).join("."),s=u.getData()||{};return zE(s,l,r),u.setData(s),console.log(`数据已更改: ${t} (${l}) = ${r}`),!0}else return console.warn(`未知的属性路径类型: ${n.path}`),!1},Li=(u,t)=>{if(t.conditionType==="always")return!0;if(t.condition&&t.condition.attribute){const r=WE(u,t.condition.attribute),a=r===t.condition.value;return console.log(`条件检查: ${t.condition.attribute} = ${r}, 期望: ${t.condition.value}, 结果: ${a}`),a}return!1},GE=(u,t)=>{t!=null&&t.attributeGroups&&t.attributeGroups.forEach(r=>{const a=r.target==="current"?u:null;a&&qE(a,r.property,r.value)})},HE=(u,t,r)=>{if(r!=null&&r.code)try{new Function("node","event",r.code)(u,t)}catch(a){console.error("自定义代码执行失败:",a)}},KE=(u,t,r)=>{if(!(r!=null&&r.processId)||!(r!=null&&r.processData)){console.error("流程配置不完整:",r);return}try{console.log("开始执行流程:",r.processName||r.processId);let a={};if(r.processParams)try{a=JSON.parse(r.processParams)}catch(o){console.error("流程参数解析失败:",o)}console.log("流程数据:",r.processData),console.log("传入参数:",a);const n=new CustomEvent("workflow-execute",{detail:{processId:r.processId,processName:r.processName,processData:r.processData,params:a,triggerNode:u}});window.dispatchEvent(n)}catch(a){console.error("流程执行失败:",a)}},Ui=(u,t)=>{if(t.action)switch(console.log("执行事件动作:",t.action,t.params),t.action){case"attributeChange":GE(u,t.params);break;case"customCode":HE(u,t,t.params);break;case"callProcess":KE(u,t,t.params);break;default:console.warn("未知的事件动作:",t.action)}},YE=(u,t)=>{const r=t.getData();!(r!=null&&r.events)||!Array.isArray(r.events)||r.events.forEach(a=>{const n=a.type;switch(n){case"click":case"dblclick":case"mouseenter":case"mouseleave":u.on(`node:${n}`,({node:o})=>{o.id===t.id&&(console.log(`触发 ${n} 事件:`,a),Li(o,a)&&Ui(o,a))});break;case"change":u.on("node:change:attrs",({node:o})=>{o.id===t.id&&(console.log("检查 change 事件:",a),Li(o,a)&&(console.log("条件满足,触发 change 事件:",a),Ui(o,a)))});break;case"input":u.on("node:change:data",({node:o})=>{o.id===t.id&&(console.log("触发 input 事件:",a),Li(o,a)&&Ui(o,a))});break;case"focus":case"blur":console.warn(`事件类型 ${n} 在预览模式下不支持`);break;default:console.warn(`未知的事件类型: ${n}`)}})},pt={SCADA_EDITOR_DATA:"scada_editor_data"},cr=(u,t)=>{try{const r=JSON.stringify(t);return localStorage.setItem(u,r),!0}catch(r){return console.error(`保存到 localStorage 失败 [${u}]:`,r),!1}},Fi=u=>{try{const t=localStorage.getItem(u);return t?JSON.parse(t):null}catch(t){return console.error(`从 localStorage 读取失败 [${u}]:`,t),null}},lo=u=>{try{localStorage.removeItem(u)}catch(t){console.error(`从 localStorage 删除失败 [${u}]:`,t)}},QE=(u,t)=>{try{const r=JSON.stringify(u,null,2),a=new Blob([r],{type:"application/json;charset=utf-8"}),n=URL.createObjectURL(a),o=document.createElement("a");return o.href=n,o.download=`${t}.json`,o.click(),URL.revokeObjectURL(n),!0}catch(r){return console.error("导出 JSON 文件失败:",r),!1}},zi=(u="")=>{const t=Date.now(),r=Math.random().toString(36).substring(2,11);return u?`${u}_${t}_${r}`:`${t}_${r}`},Xl=()=>zi("evt"),JE=()=>zi("node"),co=(u,t="YYYY-MM-DD HH:mm:ss")=>{const r=new Date(u),a=r.getFullYear(),n=String(r.getMonth()+1).padStart(2,"0"),o=String(r.getDate()).padStart(2,"0"),i=String(r.getHours()).padStart(2,"0"),l=String(r.getMinutes()).padStart(2,"0"),s=String(r.getSeconds()).padStart(2,"0");return t.replace("YYYY",String(a)).replace("MM",n).replace("DD",o).replace("HH",i).replace("mm",l).replace("ss",s)},uo=()=>Date.now(),Zl=(u=50,t=50,r=400,a=300)=>({x:Math.random()*r+u,y:Math.random()*a+t}),Je=(u,t="info",r=3e3)=>{const a=document.createElement("div");a.className=`scada-toast scada-toast-${t}`,a.textContent=u,Object.assign(a.style,{position:"fixed",top:"20px",left:"50%",transform:"translateX(-50%)",padding:"12px 24px",borderRadius:"6px",fontSize:"14px",fontWeight:"500",zIndex:"10000",boxShadow:"0 4px 12px rgba(0, 0, 0, 0.15)",maxWidth:"80%",wordBreak:"break-word",opacity:"0",transition:"opacity 0.3s ease, transform 0.3s ease"});const o={success:{bg:"#10b981",text:"#fff"},error:{bg:"#ef4444",text:"#fff"},warning:{bg:"#f59e0b",text:"#fff"},info:{bg:"#3b82f6",text:"#fff"}}[t];a.style.backgroundColor=o.bg,a.style.color=o.text,document.body.appendChild(a),requestAnimationFrame(()=>{a.style.opacity="1"}),setTimeout(()=>{a.style.opacity="0",setTimeout(()=>{a.parentNode&&document.body.removeChild(a)},300)},r)};class XE{constructor(){ve(this,"graph",null)}setGraph(t){this.graph=t}getGraph(){return this.graph}zoomIn(){if(!this.graph)return;const t=je.getConfig().zoom.scale,r=Math.min(5,t+.1);je.setZoom(r)}zoomOut(){if(!this.graph)return;const t=je.getConfig().zoom.scale,r=Math.max(.1,t-.1);je.setZoom(r)}setZoom(t){if(!this.graph)return;const r=Math.max(.1,Math.min(5,t));je.setZoom(r)}clearAll(t){this.graph&&confirm("确定要清空画布吗?")&&(this.graph.clearCells(),t==null||t(),Je("画布已清空","success"))}getSelectedNodes(){return this.graph?this.graph.getSelectedCells().filter(t=>t.isNode()):[]}validateSelection(t,r){const a=this.getSelectedNodes();return a.length<t?(Je(r,"warning"),null):a}alignLeft(){const t=this.validateSelection(2,"请选择至少两个节点");if(!t)return;const r=Math.min(...t.map(a=>a.getPosition().x));t.forEach(a=>{a.setPosition({x:r,y:a.getPosition().y})})}alignCenter(){const t=this.validateSelection(2,"请选择至少两个节点");if(!t)return;const r=t.map(n=>n.getPosition().x+n.getSize().width/2),a=r.reduce((n,o)=>n+o,0)/r.length;t.forEach(n=>{const o=a-n.getSize().width/2;n.setPosition({x:o,y:n.getPosition().y})})}alignRight(){const t=this.validateSelection(2,"请选择至少两个节点");if(!t)return;const r=Math.max(...t.map(a=>a.getPosition().x+a.getSize().width));t.forEach(a=>{const n=r-a.getSize().width;a.setPosition({x:n,y:a.getPosition().y})})}alignTop(){const t=this.validateSelection(2,"请选择至少两个节点");if(!t)return;const r=Math.min(...t.map(a=>a.getPosition().y));t.forEach(a=>{a.setPosition({x:a.getPosition().x,y:r})})}alignMiddle(){const t=this.validateSelection(2,"请选择至少两个节点");if(!t)return;const r=t.map(n=>n.getPosition().y+n.getSize().height/2),a=r.reduce((n,o)=>n+o,0)/r.length;t.forEach(n=>{const o=a-n.getSize().height/2;n.setPosition({x:n.getPosition().x,y:o})})}alignBottom(){const t=this.validateSelection(2,"请选择至少两个节点");if(!t)return;const r=Math.max(...t.map(a=>a.getPosition().y+a.getSize().height));t.forEach(a=>{const n=r-a.getSize().height;a.setPosition({x:a.getPosition().x,y:n})})}distributeHorizontal(){const t=this.validateSelection(3,"请选择至少三个节点");if(!t)return;const r=t.sort((l,s)=>l.getPosition().x-s.getPosition().x),a=r[0],i=(r[r.length-1].getPosition().x-a.getPosition().x)/(r.length-1);r.forEach((l,s)=>{if(s===0||s===r.length-1)return;const c=a.getPosition().x+i*s;l.setPosition({x:c,y:l.getPosition().y})})}distributeVertical(){const t=this.validateSelection(3,"请选择至少三个节点");if(!t)return;const r=t.sort((l,s)=>l.getPosition().y-s.getPosition().y),a=r[0],i=(r[r.length-1].getPosition().y-a.getPosition().y)/(r.length-1);r.forEach((l,s)=>{if(s===0||s===r.length-1)return;const c=a.getPosition().y+i*s;l.setPosition({x:l.getPosition().x,y:c})})}selectAll(){this.graph&&this.graph.select(this.graph.getNodes())}clearSelection(){this.graph&&this.graph.unselect(this.graph.getSelectedCells())}calculateFitScale(t,r){const a=je.getConfig(),n=a.size.width,o=a.size.height,i=40,l=t-i,s=r-i,c=l/n,d=s/o;return Math.min(c,d,1)}}const ht=new XE;class ZE{constructor(){ve(this,"animations",new Map)}startAnimation(t,r){if(!t||r.type==="none")return;this.stopAnimation(t.id);const a=t.id;let n=null;switch(r.type){case"blink":n=this.createBlinkAnimation(t,r);break;case"scale":n=this.createScaleAnimation(t,r);break;case"rotate":n=this.createRotateAnimation(t,r);break;case"float":n=this.createFloatAnimation(t,r);break;case"pulse":n=this.createPulseAnimation(t,r);break}n&&this.animations.set(a,n)}stopAnimation(t){const r=this.animations.get(t);r&&(r.stop&&r.stop(),r.intervalId&&clearInterval(r.intervalId),this.animations.delete(t))}createBlinkAnimation(t,r){const a=t.getAttrByPath("body/opacity")||1;let n=!0;const o=setInterval(()=>{n=!n,t.setAttrByPath("body/opacity",n?a:.2),r.loop||(clearInterval(o),t.setAttrByPath("body/opacity",a))},r.duration/2);return{intervalId:o,stop:()=>{clearInterval(o),t.setAttrByPath("body/opacity",a)}}}createScaleAnimation(t,r){const a=t.getSize();let n=!0;const o=.05;let i=1;const l=setInterval(()=>{n?(i+=o,i>=1.2&&(n=!1)):(i-=o,i<=.8&&(n=!0)),t.resize(a.width*i,a.height*i),!r.loop&&i>=.99&&i<=1.01&&(clearInterval(l),t.resize(a.width,a.height))},r.duration/20);return{intervalId:l,stop:()=>{clearInterval(l),t.resize(a.width,a.height)}}}createRotateAnimation(t,r){let a=0;const n=360/(r.duration/50),o=setInterval(()=>{a=(a+n)%360,t.rotate(a,{absolute:!0}),!r.loop&&a>=360&&(clearInterval(o),t.rotate(0,{absolute:!0}))},50);return{intervalId:o,stop:()=>{clearInterval(o),t.rotate(0,{absolute:!0})}}}createFloatAnimation(t,r){const a=t.position();let n=!0;const o=2;let i=a.y;const l=setInterval(()=>{n?(i-=o,i<=a.y-10&&(n=!1)):(i+=o,i>=a.y+10&&(n=!0)),t.position(a.x,i),!r.loop&&Math.abs(i-a.y)<1&&(clearInterval(l),t.position(a.x,a.y))},r.duration/40);return{intervalId:l,stop:()=>{clearInterval(l),t.position(a.x,a.y)}}}createPulseAnimation(t,r){const a=t.getAttrByPath("body/fill"),n=t.getAttrByPath("body/stroke");let o=0,i=!0;const l=setInterval(()=>{i?(o+=.1,o>=1&&(i=!1)):(o-=.1,o<=0&&(i=!0)),t.setAttrByPath("body/opacity",.5+o*.5),!r.loop&&o<=.05&&(clearInterval(l),t.setAttrByPath("body/fill",a),t.setAttrByPath("body/stroke",n),t.setAttrByPath("body/opacity",1))},r.duration/20);return{intervalId:l,stop:()=>{clearInterval(l),t.setAttrByPath("body/fill",a),t.setAttrByPath("body/stroke",n),t.setAttrByPath("body/opacity",1)}}}clearAll(){this.animations.forEach((t,r)=>{this.stopAnimation(r)}),this.animations.clear()}}const Lt=new ZE;class ev{constructor(){ve(this,"graph",null);ve(this,"componentCounters",{})}setGraph(t){this.graph=t}generateComponentName(t,r){return this.componentCounters[t]||(this.componentCounters[t]=0),this.componentCounters[t]++,`${r}_${this.componentCounters[t]}`}addNode(t,r){var c,d,h,m;if(!this.graph)return null;const a=$t.getComponent(t);if(!a)return console.error(`未找到组件配置: ${t}`),null;const n=this.generateComponentName(t,a.metadata.name),o={enabled:!1,type:"none",duration:1e3,loop:!0},i=r||Zl(50,50,400,300),l={x:i.x,y:i.y,shape:a.shape,width:a.width,height:a.height,label:a.label,attrs:a.attrs,ports:a.ports,data:{...a.data,componentType:t,componentName:n,props:a.props,animation:o,originalStroke:((d=(c=a.attrs)==null?void 0:c.body)==null?void 0:d.stroke)||"#2563eb",originalStrokeWidth:((m=(h=a.attrs)==null?void 0:h.body)==null?void 0:m.strokeWidth)||2}},s=this.graph.addNode(l);return console.log("[Node] 添加节点:",a.shape,s.id,l),s}updateNode(t,r){if(t&&(r.attrs&&Object.keys(r.attrs).forEach(a=>{const n=r.attrs[a];typeof n=="object"?Object.keys(n).forEach(o=>{t.attr(`${a}/${o}`,n[o])}):t.attr(a,n)}),r.position&&(typeof r.position.x=="number"&&typeof r.position.y=="number"?t.setPosition(r.position):console.error("position 数据格式错误:",r.position)),r.size&&(typeof r.size.width=="number"&&typeof r.size.height=="number"?t.setSize(r.size):console.error("size 数据格式错误:",r.size)),r.data)){const a={...r.data};delete a.position,delete a.size,t.setData(a)}}deleteNode(t){if(!this.graph)return!1;Lt.stopAnimation(t);try{return this.graph.removeNode(t),!0}catch(r){return console.error("删除节点失败:",r),!1}}selectNode(t){if(!this.graph)return!1;const r=this.graph.getCellById(t);return r?(this.graph.select(r),!0):!1}getNodeById(t){if(!this.graph)return null;const r=this.graph.getCellById(t);return!r||!r.isNode()?null:r}getAllNodes(){return this.graph?this.graph.getNodes().map(t=>({id:t.id,type:t.shape,position:t.getPosition(),size:t.getSize(),label:t.attr("label/text"),data:t.getData()})):[]}cloneNode(t,r={x:20,y:20}){if(!this.graph)return null;try{const a=t.clone();return a.translate(r.x,r.y),this.graph.addNode(a),a}catch(a){return console.error("复制节点失败:",a),null}}deleteNodes(t){if(!this.graph)return 0;let r=0;return t.forEach(a=>{this.deleteNode(a)&&r++}),r}bringToFront(t){const r=this.getNodeById(t);r&&r.toFront()}sendToBack(t){const r=this.getNodeById(t);r&&r.toBack()}}const dr=new ev;class tv{constructor(){ve(this,"graph",null)}setGraph(t){this.graph=t}applyEdgeAnimation(t,r){if(!t||typeof t.attr!="function"){console.warn("applyEdgeAnimation: edge 对象无效",t);return}if(!r||!r.enabled){t.attr("line/strokeDasharray",void 0),t.attr("circle",void 0),typeof t.stopTransition=="function"&&t.stopTransition("attrs/circle/atConnectionRatio");return}const a=r.duration||2e3;t.attr("circle",{r:4,atConnectionRatio:0,fill:{type:"radialGradient",stops:[{offset:"0%",color:"#FFF"},{offset:"100%",color:t.attr("line/stroke")||"#10b981"}]},stroke:t.attr("line/stroke")||"#10b981",strokeWidth:1});const n=()=>{t.attr("circle/atConnectionRatio",0,{silent:!0}),t.transition("attrs/circle/atConnectionRatio",1,{delay:0,duration:a,timing:"linear",complete:()=>{n()}})};n()}updateEdge(t,r){if(t){if(r.attrs){Object.keys(r.attrs).forEach(o=>{const i=r.attrs[o];typeof i=="object"?Object.keys(i).forEach(l=>{var s,c;t.attr(`${o}/${l}`,i[l]),(c=(s=t.data)==null?void 0:s.originalAttrs)!=null&&c[o]&&(t.data.originalAttrs[o][l]=i[l])}):t.attr(o,i)});const a=t.getAttrs(),n=Object.assign({},t.data,{originalAttrs:a});t.setData(n),t.attr("line/stroke","#3b82f6")}r.router&&t.setRouter(r.router),r.connector&&t.setConnector(r.connector),r.animation&&this.applyEdgeAnimation(t,r.animation),r.data&&t.setData(Object.assign({},t.data,r.data))}}deleteEdge(t){if(!this.graph)return!1;try{return this.graph.removeEdge(t),!0}catch(r){return console.error("删除边失败:",r),!1}}getEdgeById(t){if(!this.graph)return null;const r=this.graph.getCellById(t);return!r||!r.isEdge()?null:r}getAllEdges(){return this.graph?this.graph.getEdges().map(t=>({id:t.id,source:t.getSourceCellId(),target:t.getTargetCellId(),data:t.getData()})):[]}applySelectedStyle(t){if(!t)return;const r=t.getAttrs();t.data={...t.data,originalAttrs:r},t.attr("line/stroke","#3b82f6")}restoreOriginalStyle(t){var a,n;if(!t||!((a=t.data)!=null&&a.originalAttrs))return;const r=t.data.originalAttrs;t.attr("line/stroke",((n=r.line)==null?void 0:n.stroke)||"#10b981")}restoreAllEdgeAnimations(){this.graph&&this.graph.getEdges().forEach(t=>{var a;const r=t.getData();(a=r==null?void 0:r.animation)!=null&&a.enabled&&this.applyEdgeAnimation(t,r.animation)})}}const vr=new tv;class rv{constructor(){ve(this,"graph",null)}setGraph(t){this.graph=t}saveToLocal(){if(!this.graph)return!1;try{const t={cells:this.graph.toJSON().cells,dataSources:He.getAllDataSources().map(r=>({id:r.id,name:r.name,type:r.type,enabled:r.enabled,config:r.config}))};return cr(pt.SCADA_EDITOR_DATA,t),!0}catch(t){return console.error("保存画布数据失败:",t),!1}}loadFromLocal(t){var r;if(!this.graph)return!1;try{const a=Fi(pt.SCADA_EDITOR_DATA);if(!((r=a==null?void 0:a.cells)!=null&&r.length))return!1;const n=this.cleanCellsData(a.cells);return this.graph.fromJSON({cells:n}),t&&this.graph.getEdges().forEach(o=>{var l;const i=o.getData();(l=i==null?void 0:i.animation)!=null&&l.enabled&&t(o)}),!0}catch(a){return console.error("恢复画布数据失败,清空缓存:",a),lo(pt.SCADA_EDITOR_DATA),!1}}cleanCellsData(t){return t.map(r=>{var a;return r.position&&typeof r.position=="object"&&(typeof r.position.x!="number"||typeof r.position.y!="number")&&(r.position={x:100,y:100}),(r.shape==="edge"||r.shape==="animated-edge")&&(r.router==="manhattan"||((a=r.router)==null?void 0:a.name)==="manhattan")&&(r.router={name:"orth",args:{padding:10}}),r})}exportData(){if(!this.graph)return null;try{const t={version:"1.0.0",timestamp:co(uo()),config:{size:je.getConfig().size,background:je.getConfig().background,grid:je.getConfig().grid,guides:je.getConfig().guides,magnetism:je.getConfig().magnetism,zoom:je.getConfig().zoom},cells:this.graph.toJSON().cells,nodes:this.graph.getNodes().map(r=>({id:r.id,type:r.shape,position:r.getPosition(),size:r.getSize(),label:r.attr("label/text"),data:r.getData()})),edges:this.graph.getEdges().map(r=>({id:r.id,source:r.getSourceCellId(),target:r.getTargetCellId()})),dataSources:He.getAllDataSources().map(r=>({id:r.id,name:r.name,type:r.type,enabled:r.enabled,config:r.config})),workflows:[]};return t.workflows=this.collectReferencedWorkflows(),t}catch(t){return console.error("导出数据失败:",t),null}}collectReferencedWorkflows(){if(!this.graph)return[];const t=new Set;if(this.graph.getNodes().forEach(r=>{const a=r.getData();a!=null&&a.events&&Array.isArray(a.events)&&a.events.forEach(n=>{var o;n.action==="callProcess"&&((o=n.params)!=null&&o.processId)&&t.add(n.params.processId)})}),t.size===0)return[];try{const r=localStorage.getItem("saved-workflows");if(r)return JSON.parse(r).filter(n=>t.has(n.id))}catch(r){console.error("加载流程数据失败:",r)}return[]}importData(t,r){if(!this.graph)return!1;try{if(!t.cells)return Je("无效的JSON文件格式","error"),!1;if(!confirm("导入将清空当前画布,是否继续?"))return!1;this.graph.clearCells(),this.graph.fromJSON({cells:t.cells}),r&&this.graph.getEdges().forEach(n=>{var i;const o=n.getData();(i=o==null?void 0:o.animation)!=null&&i.enabled&&r(n)}),t.config&&je.updateConfig(t.config),this.importDataSources(t.dataSources);const a=this.importWorkflows(t.workflows);return a.imported>0||a.updated>0?Je(`导入成功 画布已加载,流程: 新增${a.imported}个,更新${a.updated}个`,"success"):Je("导入成功","success"),!0}catch(a){return console.error("导入失败",a),Je("导入失败,JSON格式错误","error"),!1}}importDataSources(t){!t||!Array.isArray(t)||(He.disconnectAll(),He.getAllDataSources().forEach(r=>{He.removeDataSource(r.id)}),t.forEach(r=>{const a={id:r.id,name:r.name,type:r.type,enabled:r.enabled,config:r.config,devices:[],status:{connected:!1}};He.addDataSource(a)}),console.log(`[CanvasDataHandler] 已导入 ${t.length} 个数据源`))}importWorkflows(t){if(!t||!Array.isArray(t)||t.length===0)return{imported:0,updated:0};try{const r=localStorage.getItem("saved-workflows"),a=r?JSON.parse(r):[];let n=0,o=0;return t.forEach(i=>{const l=a.findIndex(s=>s.id===i.id);l>=0?(a[l]={...i,updatedAt:Date.now()},o++):(a.push(i),n++)}),localStorage.setItem("saved-workflows",JSON.stringify(a)),{imported:n,updated:o}}catch(r){return console.error("导入流程数据失败:",r),Je("画布导入成功, 但流程数据导入失败","warning"),{imported:0,updated:0}}}exportToFile(t){const r=this.exportData();if(!r)return null;try{const a=new Blob([JSON.stringify(r,null,2)],{type:"application/json"}),n=URL.createObjectURL(a),o=document.createElement("a"),i=t||`scada-export-${Date.now()}.json`;return o.href=n,o.download=i,o.click(),URL.revokeObjectURL(n),i}catch(a){return console.error("导出文件失败:",a),null}}clearCache(){lo(pt.SCADA_EDITOR_DATA)}getCanvasData(){return this.graph?{version:"1.0.0",timestamp:co(uo()),config:je.getConfig(),cells:this.graph.toJSON().cells,nodes:this.graph.getNodes().map(t=>({id:t.id,type:t.shape,position:t.getPosition(),size:t.getSize(),label:t.attr("label/text"),data:t.getData()})),edges:this.graph.getEdges().map(t=>({id:t.id,source:t.getSourceCellId(),target:t.getTargetCellId()}))}:null}}const At=new rv;class ov{constructor(){ve(this,"graph",null);ve(this,"dataCallbackRegistered",!1)}setGraph(t){this.graph=t,t&&!this.dataCallbackRegistered&&this.initDataBinding()}initDataBinding(){this.dataCallbackRegistered||(console.log("[DataBindingService] 初始化数据绑定监听"),He.onData((t,r)=>{this.handleDataUpdate(t,r)}),this.dataCallbackRegistered=!0)}handleDataUpdate(t,r){if(!this.graph){console.warn("[DataBindingService] Graph 未初始化");return}this.graph.getNodes().forEach(n=>{this.updateNodeData(n,t,r)})}updateNodeData(t,r,a){const n=t.getData();if(!(n!=null&&n.dataBinding)||n.dataBinding.dataSourceId!==r||!n.bindings||!Array.isArray(n.bindings)||n.bindings.length===0)return!1;let o=!1;const i={};return n.bindings.forEach(l=>{if(!(!l.enabled&&l.enabled!==void 0)&&!(!l.devicePointId||!l.targetProperty))try{const s=this.extractPointValue(a,l.devicePointId);if(s==null)return;const c=this.applyValueMapping(s,l.mapping);i[l.targetProperty]=c,o=!0}catch(s){console.error("[DataBindingService] 绑定处理错误:",s,l)}}),o?(this.applyUpdatesToNode(t,i),!0):!1}extractPointValue(t,r){if(!(!r||!t)){if(Array.isArray(t)){const a=t.find(n=>n.id===r);if(a&&a.value!==void 0)return a.value}if(t[r]!==void 0)return t[r];if(t.devices&&Array.isArray(t.devices)){for(const a of t.devices)if(a.points&&Array.isArray(a.points)){for(const n of a.points)if(n.id===r)return n.value}}}}applyValueMapping(t,r){if(!r||r.type===ft.DIRECT)return t;try{switch(r.type){case ft.BOOLEAN:return this.applyBooleanMapping(t,r);case ft.RANGE:return this.applyRangeMapping(t,r);case ft.ENUM:return this.applyEnumMapping(t,r);default:return console.warn(`[DataBindingService] 未知的映射类型: ${r.type}`),t}}catch(a){return console.error("[DataBindingService] 值映射错误:",a,{value:t,mapping:r}),t}}applyBooleanMapping(t,r){return!!t?r.trueValue:r.falseValue}applyRangeMapping(t,r){const a=Number(t);if(isNaN(a))return t;if(r.rangeRules&&Array.isArray(r.rangeRules))for(const n of r.rangeRules){const o=n.min!==void 0?Number(n.min):-1/0,i=n.max!==void 0?Number(n.max):1/0;if(a>=o&&a<=i)return n.value}return t}applyEnumMapping(t,r){if(!r.enumMappings)return t;const a=String(t);return r.enumMappings[a]!==void 0?r.enumMappings[a]:t}applyUpdatesToNode(t,r){const a=t.getData(),n={...a,...r};t.setData(n,{overwrite:!0}),t.trigger("change:data",{current:n,previous:a})}getNodeBindings(t){if(!this.graph)return[];const r=this.graph.getCellById(t);if(!r||!r.isNode())return[];const a=r.getData();return(a==null?void 0:a.bindings)||[]}updateNodeBindings(t,r){if(!this.graph)return!1;const a=this.graph.getCellById(t);if(!a||!a.isNode())return!1;const n=a.getData();return a.setData({...n,bindings:r}),console.log(`[DataBindingService] 更新节点 ${t} 的绑定配置:`,r),!0}destroy(){this.graph=null,this.dataCallbackRegistered=!1,console.log("[DataBindingService] 服务已销毁")}}const nv=new ov;class iv{getNodeMenuItems(){return[{key:"delete",label:"删除",icon:"❌",hotkey:"Delete"},{key:"copy",label:"复制",icon:"📋",hotkey:"Ctrl+C"},{key:"divider1",divider:!0},{key:"to-front",label:"置于顶层",icon:"⬆️"},{key:"to-back",label:"置于底层",icon:"⬇️"}]}getEdgeMenuItems(){return[{key:"delete",label:"删除",icon:"❌",hotkey:"Delete"},{key:"divider1",divider:!0},{key:"to-front",label:"置于顶层",icon:"⬆️"},{key:"to-back",label:"置于底层",icon:"⬇️"}]}getCanvasMenuItems(){return[{key:"paste",label:"粘贴",icon:"📋",hotkey:"Ctrl+V",disabled:!0},{key:"divider1",divider:!0},{key:"select-all",label:"全选",icon:"✅",hotkey:"Ctrl+A"},{key:"clear-all",label:"清空画布",icon:"🗑️"}]}getMenuItems(t){switch(t){case"node":return this.getNodeMenuItems();case"edge":return this.getEdgeMenuItems();case"canvas":return this.getCanvasMenuItems();default:return[]}}}const Wi=new iv;class av{constructor(){ve(this,"graph",null);ve(this,"config",null);ve(this,"keydownHandler",null)}initialize(t,r){this.graph=t,this.config=r,this.registerSelectionEvents(),this.registerClickEvents(),this.registerChangeEvents(),this.registerContextMenuEvents(),this.registerKeyboardEvents()}registerSelectionEvents(){if(!this.graph||!this.config)return;const{selectedNode:t,selectedEdge:r,selectedNodesCount:a}=this.config;this.graph.on("selection:changed",({selected:n})=>{var i,l;const o=n?n.filter(s=>s.isNode()):[];if(a.value=o.length,n&&n.length>0){const s=n[0];if(s.isNode())t.value=s,r.value=null;else if(s.isEdge()){r.value=s,t.value=null;const c=s.getAttrs();s.data={...s.data,originalAttrs:c},s.attr("line/stroke","#3b82f6")}}else{if(r.value&&((i=r.value.data)!=null&&i.originalAttrs)){const s=r.value.data.originalAttrs;r.value.attr("line/stroke",((l=s.line)==null?void 0:l.stroke)||"#10b981")}t.value=null,r.value=null}})}registerClickEvents(){if(!this.graph||!this.config)return;const{selectedNode:t,selectedEdge:r}=this.config;this.graph.on("edge:click",({edge:a})=>{this.graph.select(a)}),this.graph.on("blank:click",()=>{r.value=null,t.value=null})}registerChangeEvents(){!this.graph||!this.config||(this.graph.on("node:change:position",()=>{}),this.graph.on("node:change:size",()=>{}),this.graph.on("node:change:data",({node:t})=>{const r=t.getData();if(r.animation)if(r.animation.enabled===!0){const a={type:r.animation.type||"none",duration:r.animation.duration||1e3,loop:r.animation.loop!==!1};Lt.startAnimation(t,a)}else Lt.stopAnimation(t.id)}),this.graph.on("edge:change:data",({edge:t})=>{var a;const r=t.getData();r!=null&&r.animation&&((a=this.config)!=null&&a.applyEdgeAnimation)&&this.config.applyEdgeAnimation(t,r.animation)}))}registerContextMenuEvents(){if(!this.graph||!this.config)return;const{contextMenu:t}=this.config;this.graph.on("cell:contextmenu",({e:r,cell:a})=>{r.preventDefault(),t.value.targetCell=a,t.value.position={x:r.clientX,y:r.clientY},a.isNode()?t.value.items=Wi.getNodeMenuItems():a.isEdge()&&(t.value.items=Wi.getEdgeMenuItems()),t.value.visible=!0}),this.graph.on("blank:contextmenu",({e:r})=>{r.preventDefault(),t.value.targetCell=null,t.value.position={x:r.clientX,y:r.clientY},t.value.items=Wi.getCanvasMenuItems(),t.value.visible=!0})}registerKeyboardEvents(){if(!this.graph||!this.config)return;const{selectedNode:t,selectedEdge:r}=this.config,a=this.graph;this.keydownHandler=n=>{if(n.key==="Delete"&&a){if(t.value){const o=t.value.id;Lt.stopAnimation(o),a.removeNode(o),t.value=null}else if(r.value){const o=r.value.id;a.removeEdge(o),r.value=null}}},document.addEventListener("keydown",this.keydownHandler)}destroy(){this.keydownHandler&&(document.removeEventListener("keydown",this.keydownHandler),this.keydownHandler=null),this.graph=null,this.config=null}}const ec=new av;class sv{constructor(){ve(this,"graph",null);ve(this,"containerRef",null);ve(this,"calculateFitScale",null);ve(this,"updateContainerSizeFn",null)}initialize(t,r,a,n){this.graph=t,this.containerRef=r,this.calculateFitScale=a,this.updateContainerSizeFn=n||null}applyConfigChanges(){if(!this.graph)return;const t=je.getConfig();this.updateBackground(t.background),this.updateSizeAndScale(t.size,t.zoom.scale),this.updateGrid(t.grid),this.graph.translate(t.offset.x,t.offset.y)}updateBackground(t){this.graph&&(t.image?this.graph.drawBackground({color:t.color||"#1e293b",image:t.image,size:t.size||"cover",repeat:t.repeat||"no-repeat",position:"center"}):this.graph.drawBackground({color:t.color||"#1e293b"}))}updateSizeAndScale(t,r){var n;if(!this.graph||!this.containerRef)return;const a=(n=this.containerRef.value)==null?void 0:n.containerRef;if(a){if(this.graph.resize(t.width,t.height),this.updateContainerSizeFn)this.updateContainerSizeFn();else if(a.style.width=`${t.width}px`,a.style.height=`${t.height}px`,this.calculateFitScale){const o=this.calculateFitScale(),i=r>o?r:o;this.graph.scale(i,i),this.graph.centerContent()}console.log("🔄 [Config Watcher] 更新尺寸和X6缩放",{size:t,zoomScale:r,containerTransform:a.style.transform||"none",graphScale:this.graph.scale()})}}updateGrid(t){this.graph&&(t.enabled?(this.graph.drawGrid({type:t.type||"dot",args:{color:t.color||"#475569",thickness:1}}),this.graph.showGrid(),t.size&&this.graph.setGridSize(t.size)):this.graph.hideGrid())}destroy(){this.graph=null,this.containerRef=null,this.calculateFitScale=null,this.updateContainerSizeFn=null}}const tc=new sv,lv=["title"],cv={key:1,class:"properties"},dv={key:2,class:"properties"},uv={class:"tabs"},fv={class:"tab-content"},pv={class:"tab-pane"},hv={class:"property-section"},mv={key:0,class:"empty-hint"},gv={key:1,class:"binding-table"},yv={class:"binding-table-body"},bv={class:"tab-pane"},wv={class:"property-section"},Ev={key:0,class:"empty-hint"},vv={class:"event-list"},qi=Me(e.defineComponent({__name:"PropertyPanel",props:{selectedNode:{},selectedEdge:{},deviceData:{},isCollapsed:{type:Boolean,default:!1}},emits:["updateNode","deleteNode","updateEdge","deleteEdge","update:collapsed"],setup(u,{emit:t}){const r=u,a=t,n=()=>{a("update:collapsed",!r.isCollapsed)},o=e.ref("basic"),i=e.ref([]),l=e.ref(new Set),s=e.ref([]),c=e.ref(new Set),d=e.computed(()=>{if(!r.selectedNode)return[];const P=r.selectedNode.shape;if(!P)return[];const j=$t.getComponentByShape(P);return!j||!j.points?[]:j.points});e.watch(()=>r.selectedNode,P=>{var j,M;if((j=P==null?void 0:P.data)!=null&&j.events){const z=JSON.parse(JSON.stringify(P.data.events));z.forEach(ke=>{ke.id||(ke.id=U())}),i.value=z}else i.value=[];l.value.clear(),(M=P==null?void 0:P.data)!=null&&M.bindings?s.value=JSON.parse(JSON.stringify(P.data.bindings)):s.value=[],c.value.clear()},{immediate:!0});const h=e.ref(0),m=e.ref(0);let p=null,f={x:0,y:0},w={width:0,height:0};e.watch(()=>r.selectedNode,P=>{if(p&&(clearInterval(p),p=null),P){const j=P.getPosition(),M=P.getSize();j&&typeof j.x=="number"&&typeof j.y=="number"?f=j:(f={x:0,y:0},console.warn("节点位置数据异常:",j)),M&&typeof M.width=="number"&&typeof M.height=="number"?w=M:(w={width:0,height:0},console.warn("节点尺寸数据异常:",M)),p=setInterval(()=>{if(r.selectedNode){const z=r.selectedNode.getPosition(),ke=r.selectedNode.getSize();z&&typeof z.x=="number"&&typeof z.y=="number"&&(z.x!==f.x||z.y!==f.y)&&(f=z,h.value++),ke&&typeof ke.width=="number"&&typeof ke.height=="number"&&(ke.width!==w.width||ke.height!==w.height)&&(w=ke,m.value++)}},50)}}),e.onUnmounted(()=>{p&&clearInterval(p)});const N=e.computed(()=>{var j;return h.value,((j=r.selectedNode)==null?void 0:j.getPosition())||{x:0,y:0}}),S=e.computed(()=>{var j;return m.value,((j=r.selectedNode)==null?void 0:j.getSize())||{width:0,height:0}}),b=e.computed(()=>{var j;return((j=r.selectedNode)==null?void 0:j.getAttrs())||{}}),E=(P,j)=>{const M=Number(j.target.value),z=r.selectedNode.getPosition(),ke=P==="x"?{x:M,y:z.y}:{x:z.x,y:M};a("updateNode",{position:ke})},k=(P,j)=>{const M=Number(j.target.value),z=r.selectedNode.getSize(),ke=P==="width"?{width:M,height:z.height}:{width:z.width,height:M};a("updateNode",{size:ke})},v=P=>{const j=P.target.value;a("updateNode",{attrs:{text:{text:j},label:{text:j}}})},V=P=>{const j=P.target.value;a("updateNode",{attrs:{body:{fill:j}}})},T=P=>{const j=P.target.value;a("updateNode",{attrs:{body:{stroke:j}}})},C=P=>{const j=Number(P.target.value);a("updateNode",{attrs:{body:{strokeWidth:j}}})},A=P=>{const j=Number(P.target.value);a("updateNode",{attrs:{body:{opacity:j}}})},I=P=>{const j=P.target.value,M={...r.selectedNode.data,componentName:j};a("updateNode",{data:M})},$=(P,j)=>{if(!r.selectedNode)return;const M=P.split(".");if(M[0]==="attrs"){const z=M.slice(1).join("/");a("updateNode",{attrs:{[z]:j}})}else if(M[0]==="data"){const z=JSON.parse(JSON.stringify(r.selectedNode.data||{}));let ke=z;for(let Ce=1;Ce<M.length-1;Ce++){const Te=M[Ce];ke[Te]||(ke[Te]={}),ke=ke[Te]}ke[M[M.length-1]]=j,console.log("[PropertyPanel] 更新属性:",P,"=",j),console.log("[PropertyPanel] 节点类型:",r.selectedNode.shape),P==="data.presetId"&&r.selectedNode.shape==="echarts-vue"&&console.log("[PropertyPanel] 检测到预设切换,只更新 presetId"),a("updateNode",{data:z})}},x=P=>{if(!r.selectedNode)return;const j={...r.selectedNode.data,dataBinding:P};a("updateNode",{data:j})},U=Xl,Q=()=>{const P={id:U(),name:"",type:"click",conditionType:"always",action:"attributeChange",params:{}};i.value.push(P),de()},W=P=>{i.value.splice(P,1),de()},pe=(P,j,M)=>{const z=M.target.value;i.value[P][j]=z,de()},ne=(P,j,M)=>{const ke=M.target.value;i.value[P].condition||(i.value[P].condition={}),i.value[P].condition[j]=ke,de()},re=(P,j,M)=>{const ke=M.target.value;i.value[P].params||(i.value[P].params={}),i.value[P].params[j]=ke,de()},de=()=>{i.value.forEach(j=>{j.id||(j.id=U())});const P={...r.selectedNode.data,events:i.value};a("updateNode",{data:P})},Z=P=>{l.value.has(P)?l.value.delete(P):l.value.add(P)},se=P=>l.value.has(P),R=()=>{const P={devicePointId:"",targetProperty:"",enabled:!0};s.value.push(P),Y()},ee=P=>{s.value.splice(P,1),Y()},he=(P,j,M)=>{const ke=M.target.value;s.value[P][j]=ke,Y()},Y=()=>{const P={...r.selectedNode.data,bindings:s.value};a("updateNode",{data:P})},Se=P=>{c.value.has(P)?c.value.delete(P):c.value.add(P)},te=P=>c.value.has(P),q=e.ref(!1),le=e.ref(-1),J=e.ref([]),oe=P=>{var M;le.value=P;const j=i.value[P];(M=j.params)!=null&&M.attributeGroups&&Array.isArray(j.params.attributeGroups)?J.value=JSON.parse(JSON.stringify(j.params.attributeGroups)):J.value=[{target:"current",property:"",value:""}],q.value=!0},ie=()=>{q.value=!1},Ee=()=>{J.value.push({target:"current",property:"",value:""})},K=P=>{J.value.splice(P,1)},D=(P,j,M)=>{J.value[P][j]=M},F=()=>{for(const P of J.value)if(!P.property){alert("请为每组配置选择目标属性");return}i.value[le.value].params||(i.value[le.value].params={}),i.value[le.value].params.attributeGroups=JSON.parse(JSON.stringify(J.value)),de(),ie()},ae=e.ref(!1),ue=e.ref(""),fe=e.ref(-1),ge=P=>{var M;fe.value=P;const j=i.value[P];ue.value=((M=j.params)==null?void 0:M.code)||"",ae.value=!0},X=()=>{ae.value=!1},me=()=>{i.value[fe.value].params||(i.value[fe.value].params={}),i.value[fe.value].params.code=ue.value,de(),X()},Ne=e.ref(!1),ce=e.ref(-1),Ve=P=>{ce.value=P,Ne.value=!0},g=()=>{Ne.value=!1},y=P=>{i.value[ce.value].params||(i.value[ce.value].params={});const j=i.value[ce.value].params;j.processId=P.id,j.processName=P.name,j.processData=P.data,de(),g()},_=()=>{var j;if(!r.selectedNode)return[];const P=[];return(j=r.selectedNode.data)!=null&&j.props&&Array.isArray(r.selectedNode.data.props)&&r.selectedNode.data.props.forEach(M=>{M.bindable!==!1&&P.push({key:M.key,label:M.label,type:M.type||"text"})}),P},B=P=>{a("updateEdge",P)},L=()=>{a("deleteEdge")};return(P,j)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",{class:e.normalizeClass(["property-panel",{collapsed:u.isCollapsed}])},[e.createElementVNode("button",{class:"collapse-btn",onClick:n,title:u.isCollapsed?"展开属性面板":"折叠属性面板"},[...j[4]||(j[4]=[e.createElementVNode("span",{class:"collapse-icon"},"▶",-1)])],8,lv),!u.selectedNode&&!u.selectedEdge?(e.openBlock(),e.createBlock(vo,{key:0})):u.selectedEdge?(e.openBlock(),e.createElementBlock("div",cv,[j[5]||(j[5]=e.createElementVNode("h3",{class:"panel-title"},"连线属性",-1)),e.createVNode(a1,{"selected-edge":u.selectedEdge,onUpdateEdge:B,onDeleteEdge:L},null,8,["selected-edge"])])):u.selectedNode?(e.openBlock(),e.createElementBlock("div",dv,[j[12]||(j[12]=e.createElementVNode("h3",{class:"panel-title"},"节点属性",-1)),e.createElementVNode("div",uv,[e.createElementVNode("button",{class:e.normalizeClass(["tab-btn",{active:o.value==="basic"}]),onClick:j[0]||(j[0]=M=>o.value="basic")}," 基础 ",2),e.createElementVNode("button",{class:e.normalizeClass(["tab-btn",{active:o.value==="binding"}]),onClick:j[1]||(j[1]=M=>o.value="binding")}," 数据绑定 ",2),e.createElementVNode("button",{class:e.normalizeClass(["tab-btn",{active:o.value==="event"}]),onClick:j[2]||(j[2]=M=>o.value="event")}," 事件 ",2)]),e.createElementVNode("div",fv,[e.withDirectives(e.createVNode(ko,{"selected-node":u.selectedNode,"node-position":N.value,"node-size":S.value,"node-attrs":b.value,onUpdatePosition:E,onUpdateSize:k,onUpdateLabel:v,onUpdateFill:V,onUpdateStroke:T,onUpdateStrokeWidth:C,onUpdateOpacity:A,onUpdateComponentName:I,onUpdateDynamicProp:$},null,8,["selected-node","node-position","node-size","node-attrs"]),[[e.vShow,o.value==="basic"]]),e.withDirectives(e.createElementVNode("div",pv,[e.createVNode(Ib,{"selected-node":u.selectedNode,onUpdateDataSource:x},null,8,["selected-node"]),j[9]||(j[9]=e.createElementVNode("div",{class:"divider"},null,-1)),e.createElementVNode("div",hv,[e.createElementVNode("div",{class:"section-header"},[j[6]||(j[6]=e.createElementVNode("h4",null,"点位映射",-1)),e.createElementVNode("button",{class:"btn-add",onClick:R},"+ 添加映射")]),s.value.length===0?(e.openBlock(),e.createElementBlock("div",mv,[...j[7]||(j[7]=[e.createElementVNode("span",null,"暂无点位映射,请先选择设备后点击上方按钮添加",-1)])])):(e.openBlock(),e.createElementBlock("div",gv,[j[8]||(j[8]=e.createStaticVNode('<div class="binding-table-header" data-v-d49d2451><div class="binding-col-point" data-v-d49d2451>组件点位</div><div class="binding-col-property" data-v-d49d2451>目标属性</div><div class="binding-col-mapping" data-v-d49d2451>值映射</div><div class="binding-col-actions" data-v-d49d2451>操作</div></div>',1)),e.createElementVNode("div",yv,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,(M,z)=>(e.openBlock(),e.createBlock(Mi,{key:z,binding:M,index:z,"is-collapsed":te(z),"node-properties":_(),"component-points":d.value,onToggleCollapse:ke=>Se(z),onRemove:ke=>ee(z),onUpdateField:(ke,Ce)=>he(z,ke,Ce)},null,8,["binding","index","is-collapsed","node-properties","component-points","onToggleCollapse","onRemove","onUpdateField"]))),128))])]))])],512),[[e.vShow,o.value==="binding"]]),e.withDirectives(e.createElementVNode("div",bv,[e.createElementVNode("div",wv,[e.createElementVNode("div",{class:"section-header"},[j[10]||(j[10]=e.createElementVNode("h4",null,"节点事件",-1)),e.createElementVNode("button",{class:"btn-add",onClick:Q},"+ 添加事件")]),i.value.length===0?(e.openBlock(),e.createElementBlock("div",Ev,[...j[11]||(j[11]=[e.createElementVNode("span",null,"暂无事件,点击上方按钮添加",-1)])])):e.createCommentVNode("",!0),e.createElementVNode("div",vv,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,(M,z)=>(e.openBlock(),e.createBlock(Oi,{key:z,event:M,index:z,"is-collapsed":se(z),"node-properties":_(),onToggleCollapse:ke=>Z(z),onRemove:ke=>W(z),onUpdateField:(ke,Ce)=>pe(z,ke,Ce),onUpdateCondition:(ke,Ce)=>ne(z,ke,Ce),onUpdateParams:(ke,Ce)=>re(z,ke,Ce),onOpenAttributeConfig:ke=>oe(z),onOpenCustomCode:ke=>ge(z),onOpenWorkflowSelector:ke=>Ve(z)},null,8,["event","index","is-collapsed","node-properties","onToggleCollapse","onRemove","onUpdateField","onUpdateCondition","onUpdateParams","onOpenAttributeConfig","onOpenCustomCode","onOpenWorkflowSelector"]))),128))])])],512),[[e.vShow,o.value==="event"]])])])):e.createCommentVNode("",!0)],2),q.value?(e.openBlock(),e.createBlock(Ri,{key:0,"attribute-groups":J.value,"node-properties":_(),onClose:ie,onSave:F,onAddGroup:Ee,onRemoveGroup:K,onUpdateGroup:D},null,8,["attribute-groups","node-properties"])):e.createCommentVNode("",!0),ae.value?(e.openBlock(),e.createBlock(ji,{key:1,code:ue.value,"onUpdate:code":j[3]||(j[3]=M=>ue.value=M),"selected-node":u.selectedNode,onClose:X,onSave:me},null,8,["code","selected-node"])):e.createCommentVNode("",!0),Ne.value?(e.openBlock(),e.createBlock(UE,{key:2,onClose:g,onSelect:y})):e.createCommentVNode("",!0)],64))}}),[["__scopeId","data-v-d49d2451"]]);function Gi(u){const t=u.replace(/-/g,"+").replace(/_/g,"/"),r=t.length%4?"=".repeat(4-t.length%4):"",a=t+r,n=(typeof atob<"u"?atob:i=>Buffer.from(i,"base64").toString("binary"))(a),o=new Uint8Array(n.length);for(let i=0;i<n.length;i++)o[i]=n.charCodeAt(i);return o}function rc(u){const t=new ArrayBuffer(u.byteLength);return new Uint8Array(t).set(u),t}function kv(u){const t=u.replace("-----BEGIN PUBLIC KEY-----","").replace("-----END PUBLIC KEY-----","").replace(/\s+/g,""),r=(typeof atob<"u"?atob:n=>Buffer.from(n,"base64").toString("binary"))(t),a=new Uint8Array(r.length);for(let n=0;n<r.length;n++)a[n]=r.charCodeAt(n);return a.buffer}async function _v(u){const t=kv(u);return await crypto.subtle.importKey("spki",t,{name:"ECDSA",namedCurve:"P-256"},!1,["verify"])}async function Nv(u,t){try{const[r,a]=u.split(".");if(!r||!a)return!1;const n=await _v(t),o=Gi(r),i=Gi(a),l=rc(o),s=rc(i);return await crypto.subtle.verify({name:"ECDSA",hash:{name:"SHA-256"}},n,s,l)}catch{return!1}}async function Sv(u,t){const r=await Nv(u,t);if(!r)return null;const a=u.split(".")[0],n=Gi(a),o=new TextDecoder().decode(n),i=JSON.parse(o),l=i.expiryDate?new Date().getTime()<=new Date(i.expiryDate).getTime():!0;return{company:i.company||"未知",expiryDate:i.expiryDate,isValid:!!(r&&l)}}const xv={key:0,class:"scada-footer"},Vv={key:1,class:"scada-footer"},Cv={class:"footer-content"},Iv={class:"footer-left"},Av={class:"copyright",style:{color:"#94a3b8 !important"}},Tv={key:0,class:"divider",style:{color:"#475569 !important"}},$v={key:1,class:"license",style:{color:"#94a3b8 !important"}},Bv={key:0,class:"footer-right"},Dv={class:"text",style:{color:"#94a3b8 !important"}},Pv={key:2,class:"scada-footer"},Ov={class:"footer-content"},Mv={class:"footer-left"},Rv={class:"authorized-text",style:{color:"#10b981 !important"}},jv={class:"footer-right"},Lv={key:0,class:"expiry-text",style:{color:"#94a3b8 !important"}},Uv={key:1,class:"expiry-text",style:{color:"#94a3b8 !important"}},Fv=Me(e.defineComponent({__name:"Footer",props:{authCode:{default:""},publicKeyPem:{default:void 0},customFooter:{default:void 0}},setup(u){const t=u,r=e.ref(null),a=e.ref(!1);e.watch(()=>[t.authCode,t.publicKeyPem],async()=>{if(!t.authCode||!t.publicKeyPem){a.value=!1,r.value=null;return}const o=await Sv(t.authCode,t.publicKeyPem);a.value=!!(o!=null&&o.isValid),r.value=o||null},{immediate:!0});const n=e.computed(()=>a.value);return(o,i)=>{var l,s;return n.value?u.customFooter?(e.openBlock(),e.createElementBlock("footer",Vv,[e.createElementVNode("div",Cv,[e.createElementVNode("div",Iv,[e.createElementVNode("span",Av,e.toDisplayString(u.customFooter.copyright),1),u.customFooter.license?(e.openBlock(),e.createElementBlock("span",Tv,"|")):e.createCommentVNode("",!0),u.customFooter.license?(e.openBlock(),e.createElementBlock("span",$v,e.toDisplayString(u.customFooter.license),1)):e.createCommentVNode("",!0)]),u.customFooter.contact?(e.openBlock(),e.createElementBlock("div",Bv,[e.createElementVNode("span",Dv,e.toDisplayString(u.customFooter.contact),1)])):e.createCommentVNode("",!0)])])):(e.openBlock(),e.createElementBlock("footer",Pv,[e.createElementVNode("div",Ov,[e.createElementVNode("div",Mv,[i[1]||(i[1]=e.createElementVNode("span",{class:"authorized-icon"},"✅",-1)),e.createElementVNode("span",Rv,"已授权: "+e.toDisplayString(((l=r.value)==null?void 0:l.company)||"未知"),1)]),e.createElementVNode("div",jv,[(s=r.value)!=null&&s.expiryDate?(e.openBlock(),e.createElementBlock("span",Lv," 📅 有效期至: "+e.toDisplayString(r.value.expiryDate),1)):(e.openBlock(),e.createElementBlock("span",Uv," ∞ 永久授权 "))])])])):(e.openBlock(),e.createElementBlock("footer",xv,[...i[0]||(i[0]=[e.createStaticVNode('<div class="footer-content" data-v-7fd5ce26><div class="footer-left" data-v-7fd5ce26><span class="copyright" style="color:#94a3b8 !important;" data-v-7fd5ce26>© 2025 leoncheng</span><span class="divider" style="color:#475569 !important;" data-v-7fd5ce26>|</span><span class="license" style="color:#94a3b8 !important;" data-v-7fd5ce26>仅供学习研究使用,禁止商业用途</span></div><div class="footer-right" data-v-7fd5ce26><div class="contact-item" data-v-7fd5ce26><span class="icon" data-v-7fd5ce26>📧</span><span class="text" style="color:#94a3b8 !important;" data-v-7fd5ce26>nywqs@outlook.com</span></div><span class="divider" style="color:#475569 !important;" data-v-7fd5ce26>|</span><div class="contact-item" data-v-7fd5ce26><span class="icon" data-v-7fd5ce26>📱</span><span class="text" style="color:#94a3b8 !important;" data-v-7fd5ce26>18637762001</span></div></div></div>',1)])]))}}}),[["__scopeId","data-v-7fd5ce26"]]);var Ut=(u=>(u.START="start",u.END="end",u.GET_PROPERTY="getProperty",u.SET_PROPERTY="setProperty",u.CONDITION="condition",u.HTTP_REQUEST="httpRequest",u.CUSTOM_CODE="customCode",u.TIMER="timer",u.CLEAR_TIMER="clearTimer",u))(Ut||{});const zv={class:"dialog-body"},Wv={class:"search-box"},qv={class:"element-list"},Gv=["onClick"],Hv={class:"element-icon"},Kv={class:"element-info"},Yv={class:"element-name"},Qv={class:"element-type"},Jv={key:0,class:"element-check"},Xv={key:0,class:"empty-state"},Zv={class:"dialog-footer"},ek=["disabled"],oc=Me(e.defineComponent({__name:"ElementSelector",props:{visible:{type:Boolean},elements:{default:()=>[]}},emits:["close","select"],setup(u,{emit:t}){const r=u,a=t,n=e.ref(""),o=e.ref(null),i=e.computed(()=>{if(!n.value)return r.elements;const d=n.value.toLowerCase();return r.elements.filter(h=>h.name.toLowerCase().includes(d)||h.id.toLowerCase().includes(d)||h.type.toLowerCase().includes(d))}),l=d=>{o.value=d},s=()=>{n.value="",o.value=null,a("close")},c=()=>{o.value&&(a("select",o.value),s())};return(d,h)=>u.visible?(e.openBlock(),e.createElementBlock("div",{key:0,class:"element-selector-overlay",onClick:s},[e.createElementVNode("div",{class:"element-selector-dialog",onClick:h[1]||(h[1]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",{class:"dialog-header"},[h[2]||(h[2]=e.createElementVNode("h3",null,"选择图元",-1)),e.createElementVNode("button",{class:"btn-close",onClick:s},"×")]),e.createElementVNode("div",zv,[e.createElementVNode("div",Wv,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":h[0]||(h[0]=m=>n.value=m),type:"text",placeholder:"搜索图元名称或ID..."},null,512),[[e.vModelText,n.value]])]),e.createElementVNode("div",qv,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,m=>{var p,f;return e.openBlock(),e.createElementBlock("div",{key:m.id,class:e.normalizeClass(["element-item",{active:((p=o.value)==null?void 0:p.id)===m.id}]),onClick:w=>l(m)},[e.createElementVNode("div",Hv,e.toDisplayString(m.icon),1),e.createElementVNode("div",Kv,[e.createElementVNode("div",Yv,e.toDisplayString(m.name),1),e.createElementVNode("div",Qv,e.toDisplayString(m.type),1)]),((f=o.value)==null?void 0:f.id)===m.id?(e.openBlock(),e.createElementBlock("div",Jv," ✓ ")):e.createCommentVNode("",!0)],10,Gv)}),128)),i.value.length===0?(e.openBlock(),e.createElementBlock("div",Xv,[...h[3]||(h[3]=[e.createElementVNode("p",null,"未找到图元",-1),e.createElementVNode("p",{class:"empty-hint"},"请尝试其他搜索关键词",-1)])])):e.createCommentVNode("",!0)])]),e.createElementVNode("div",Zv,[e.createElementVNode("button",{class:"btn-secondary",onClick:s},"取消"),e.createElementVNode("button",{class:"btn-primary",disabled:!o.value,onClick:c}," 确定 ",8,ek)])])])):e.createCommentVNode("",!0)}}),[["__scopeId","data-v-882704dd"]]),tk={class:"node-config"},rk={class:"config-group"},ok={class:"element-selector"},nk={class:"config-group"},ik=["disabled"],ak=["value"],sk=Me(e.defineComponent({__name:"GetPropertyConfig",props:{modelValue:{}},emits:["update:modelValue"],setup(u,{emit:t}){const r=u,a=t,n=e.reactive({elementId:r.modelValue.elementId||"",propertyName:r.modelValue.propertyName||""}),o=e.ref(""),i=e.ref(!1),l=e.ref([]),s=e.inject("canvasElementService"),c=e.computed(()=>{if(!n.elementId)return[];const p=l.value.find(f=>f.id===n.elementId);return(p==null?void 0:p.properties)||[]}),d=()=>{a("update:modelValue",{...n})},h=()=>{s&&(l.value=s.getElements()),i.value=!0},m=p=>{n.elementId=p.id,o.value=p.name,n.propertyName="",d()};return e.onMounted(()=>{if(s&&(l.value=s.getElements()),n.elementId){const p=l.value.find(f=>f.id===n.elementId);p&&(o.value=p.name)}}),(p,f)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",tk,[e.createElementVNode("div",rk,[f[3]||(f[3]=e.createElementVNode("label",null,"图元选择",-1)),e.createElementVNode("div",ok,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":f[0]||(f[0]=w=>o.value=w),type:"text",placeholder:"点击选择按钮从画布中选择图元",readonly:""},null,512),[[e.vModelText,o.value]]),e.createElementVNode("button",{class:"btn-select",onClick:h}," 选择图元 ")])]),e.createElementVNode("div",nk,[f[5]||(f[5]=e.createElementVNode("label",null,"属性选择",-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":f[1]||(f[1]=w=>n.propertyName=w),onChange:d,disabled:!n.elementId},[f[4]||(f[4]=e.createElementVNode("option",{value:""},"请先选择图元",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,w=>(e.openBlock(),e.createElementBlock("option",{key:w.key,value:w.key},e.toDisplayString(w.label),9,ak))),128))],40,ik),[[e.vModelSelect,n.propertyName]])])]),e.createVNode(oc,{visible:i.value,elements:l.value,onClose:f[2]||(f[2]=w=>i.value=!1),onSelect:m},null,8,["visible","elements"])],64))}}),[["__scopeId","data-v-fa65eb56"]]),lk={class:"node-config"},ck={class:"config-group"},dk={class:"element-selector"},uk={class:"config-group"},fk=["disabled"],pk=["value"],hk={class:"config-group"},mk=Me(e.defineComponent({__name:"SetPropertyConfig",props:{modelValue:{}},emits:["update:modelValue"],setup(u,{emit:t}){const r=u,a=t,n=e.reactive({elementId:r.modelValue.elementId||"",propertyName:r.modelValue.propertyName||"",value:r.modelValue.value||""}),o=e.ref(""),i=e.ref(!1),l=e.ref([]),s=e.inject("canvasElementService"),c=e.computed(()=>{if(!n.elementId)return[];const p=l.value.find(f=>f.id===n.elementId);return(p==null?void 0:p.properties)||[]}),d=()=>{a("update:modelValue",{...n})},h=()=>{s&&(l.value=s.getElements()),i.value=!0},m=p=>{n.elementId=p.id,o.value=p.name,n.propertyName="",d()};return e.onMounted(()=>{if(s&&(l.value=s.getElements()),n.elementId){const p=l.value.find(f=>f.id===n.elementId);p&&(o.value=p.name)}}),(p,f)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",lk,[e.createElementVNode("div",ck,[f[4]||(f[4]=e.createElementVNode("label",null,"图元选择",-1)),e.createElementVNode("div",dk,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":f[0]||(f[0]=w=>o.value=w),type:"text",placeholder:"点击选择按钮从画布中选择图元",readonly:""},null,512),[[e.vModelText,o.value]]),e.createElementVNode("button",{class:"btn-select",onClick:h}," 选择图元 ")])]),e.createElementVNode("div",uk,[f[6]||(f[6]=e.createElementVNode("label",null,"属性选择",-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":f[1]||(f[1]=w=>n.propertyName=w),onChange:d,disabled:!n.elementId},[f[5]||(f[5]=e.createElementVNode("option",{value:""},"请先选择图元",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,w=>(e.openBlock(),e.createElementBlock("option",{key:w.key,value:w.key},e.toDisplayString(w.label),9,pk))),128))],40,fk),[[e.vModelSelect,n.propertyName]])]),e.createElementVNode("div",hk,[f[7]||(f[7]=e.createElementVNode("label",null,"属性值",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":f[2]||(f[2]=w=>n.value=w),type:"text",placeholder:"请输入属性值",onInput:d},null,544),[[e.vModelText,n.value]])])]),e.createVNode(oc,{visible:i.value,elements:l.value,onClose:f[3]||(f[3]=w=>i.value=!1),onSelect:m},null,8,["visible","elements"])],64))}}),[["__scopeId","data-v-42e029d4"]]),gk={class:"node-config"},yk={class:"config-group"},bk={class:"config-group"},wk={class:"branches-section"},Ek={class:"branch-list"},vk={class:"branch-header"},kk={class:"branch-number"},_k=["onClick"],Nk={key:0,class:"branch-config"},Sk={class:"config-row"},xk=["onUpdate:modelValue"],Vk={key:0,class:"config-row"},Ck=["onUpdate:modelValue"],Ik={key:1,class:"config-row"},Ak=["onUpdate:modelValue","type"],Tk={key:1,class:"default-branch-label"},$k=Me(e.defineComponent({__name:"ConditionConfig",props:{modelValue:{}},emits:["update:modelValue"],setup(u,{emit:t}){const r=u,a=t,n=()=>`branch_${Date.now()}_${Math.random().toString(36).substr(2,9)}`,o=()=>r.modelValue.branches&&r.modelValue.branches.length>0?r.modelValue.branches:(r.modelValue.dataType||"boolean")==="boolean"?[{id:n(),label:"True",value:!0},{id:n(),label:"False",value:!1,isDefault:!0}]:[{id:n(),label:"分支1",operator:"eq",value:""},{id:n(),label:"默认",isDefault:!0}],i=e.reactive({sourceNodeId:r.modelValue.sourceNodeId||"prev",dataType:r.modelValue.dataType||"boolean",branches:o()}),l=()=>{a("update:modelValue",{...i})},s=()=>{i.dataType==="boolean"?i.branches=[{id:n(),label:"True",value:!0},{id:n(),label:"False",value:!1,isDefault:!0}]:i.branches=[{id:n(),label:"分支1",operator:"eq",value:""},{id:n(),label:"默认",isDefault:!0}],l()},c=()=>{const h={id:n(),label:`分支${i.branches.length}`,operator:"eq",value:""},m=i.branches.findIndex(p=>p.isDefault);m>-1?i.branches.splice(m,0,h):i.branches.push(h),l()},d=h=>{i.branches.length>2&&(i.branches.splice(h,1),l())};return(h,m)=>(e.openBlock(),e.createElementBlock("div",gk,[e.createElementVNode("div",yk,[m[3]||(m[3]=e.createElementVNode("label",null,"数据来源节点",-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":m[0]||(m[0]=p=>i.sourceNodeId=p),onChange:l},[...m[2]||(m[2]=[e.createElementVNode("option",{value:""},"请选择数据来源节点",-1),e.createElementVNode("option",{value:"prev"},"上一个节点",-1)])],544),[[e.vModelSelect,i.sourceNodeId]])]),e.createElementVNode("div",bk,[m[5]||(m[5]=e.createElementVNode("label",null,"数据类型",-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":m[1]||(m[1]=p=>i.dataType=p),onChange:s},[...m[4]||(m[4]=[e.createElementVNode("option",{value:"boolean"},"布尔类型",-1),e.createElementVNode("option",{value:"number"},"数字类型",-1),e.createElementVNode("option",{value:"string"},"字符串类型",-1),e.createElementVNode("option",{value:"any"},"自定义",-1)])],544),[[e.vModelSelect,i.dataType]])]),e.createElementVNode("div",wk,[e.createElementVNode("div",{class:"section-header"},[m[6]||(m[6]=e.createElementVNode("label",null,"条件分支",-1)),e.createElementVNode("button",{class:"btn-add",onClick:c},"添加分支")]),e.createElementVNode("div",Ek,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.branches,(p,f)=>(e.openBlock(),e.createElementBlock("div",{key:p.id,class:"branch-item"},[e.createElementVNode("div",vk,[e.createElementVNode("span",kk,"分支 "+e.toDisplayString(f+1),1),!p.isDefault&&i.branches&&i.branches.length>1?(e.openBlock(),e.createElementBlock("button",{key:0,class:"btn-remove",onClick:w=>d(f)},"×",8,_k)):e.createCommentVNode("",!0)]),p.isDefault?(e.openBlock(),e.createElementBlock("div",Tk," 默认分支(其他情况) ")):(e.openBlock(),e.createElementBlock("div",Nk,[e.createElementVNode("div",Sk,[m[7]||(m[7]=e.createElementVNode("label",null,"分支标签",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":w=>p.label=w,type:"text",placeholder:"如: >10, =A, True",onInput:l},null,40,xk),[[e.vModelText,p.label]])]),i.dataType!=="boolean"?(e.openBlock(),e.createElementBlock("div",Vk,[m[9]||(m[9]=e.createElementVNode("label",null,"运算符",-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":w=>p.operator=w,onChange:l},[...m[8]||(m[8]=[e.createStaticVNode('<option value="eq" data-v-15975920>等于 (==)</option><option value="ne" data-v-15975920>不等于 (!=)</option><option value="gt" data-v-15975920>大于 (&gt;)</option><option value="gte" data-v-15975920>大于等于 (&gt;=)</option><option value="lt" data-v-15975920>小于 (&lt;)</option><option value="lte" data-v-15975920>小于等于 (&lt;=)</option><option value="contains" data-v-15975920>包含</option><option value="notContains" data-v-15975920>不包含</option>',8)])],40,Ck),[[e.vModelSelect,p.operator]])])):e.createCommentVNode("",!0),i.dataType!=="boolean"?(e.openBlock(),e.createElementBlock("div",Ik,[m[10]||(m[10]=e.createElementVNode("label",null,"比较值",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":w=>p.value=w,type:i.dataType==="number"?"number":"text",placeholder:"请输入比较值",onInput:l},null,40,Ak),[[e.vModelDynamic,p.value]])])):e.createCommentVNode("",!0)]))]))),128))])])]))}}),[["__scopeId","data-v-15975920"]]),Bk={class:"node-config"},Dk={class:"config-group"},Pk={class:"config-group"},Ok={class:"config-group"},Mk={class:"config-group"},Rk={class:"config-group"},jk=Me(e.defineComponent({__name:"HttpRequestConfig",props:{modelValue:{}},emits:["update:modelValue"],setup(u,{emit:t}){const r=u,a=t,n=e.reactive({url:r.modelValue.url||"",method:r.modelValue.method||"GET",headers:r.modelValue.headers||{},body:r.modelValue.body||"",outputVariable:r.modelValue.outputVariable||""}),o=e.ref(JSON.stringify(n.headers,null,2)),i=()=>{a("update:modelValue",{...n})},l=()=>{try{n.headers=JSON.parse(o.value),i()}catch{}};return e.watch(()=>r.modelValue.headers,s=>{s&&(o.value=JSON.stringify(s,null,2))}),(s,c)=>(e.openBlock(),e.createElementBlock("div",Bk,[e.createElementVNode("div",Dk,[c[5]||(c[5]=e.createElementVNode("label",null,"请求URL",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":c[0]||(c[0]=d=>n.url=d),type:"text",placeholder:"请输入请求URL",onInput:i},null,544),[[e.vModelText,n.url]])]),e.createElementVNode("div",Pk,[c[7]||(c[7]=e.createElementVNode("label",null,"请求方法",-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":c[1]||(c[1]=d=>n.method=d),onChange:i},[...c[6]||(c[6]=[e.createElementVNode("option",{value:"GET"},"GET",-1),e.createElementVNode("option",{value:"POST"},"POST",-1),e.createElementVNode("option",{value:"PUT"},"PUT",-1),e.createElementVNode("option",{value:"DELETE"},"DELETE",-1)])],544),[[e.vModelSelect,n.method]])]),e.createElementVNode("div",Ok,[c[8]||(c[8]=e.createElementVNode("label",null,"请求头 (JSON格式)",-1)),e.withDirectives(e.createElementVNode("textarea",{"onUpdate:modelValue":c[2]||(c[2]=d=>o.value=d),rows:"3",placeholder:'{"Content-Type": "application/json"}',onInput:l},null,544),[[e.vModelText,o.value]])]),e.createElementVNode("div",Mk,[c[9]||(c[9]=e.createElementVNode("label",null,"请求体",-1)),e.withDirectives(e.createElementVNode("textarea",{"onUpdate:modelValue":c[3]||(c[3]=d=>n.body=d),rows:"4",placeholder:"请输入请求体内容",onInput:i},null,544),[[e.vModelText,n.body]])]),e.createElementVNode("div",Rk,[c[10]||(c[10]=e.createElementVNode("label",null,"输出变量",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":c[4]||(c[4]=d=>n.outputVariable=d),type:"text",placeholder:"请输入输出变量名",onInput:i},null,544),[[e.vModelText,n.outputVariable]])])]))}}),[["__scopeId","data-v-4c312eea"]]),Lk={class:"node-config"},Uk={class:"config-group"},Fk=Me(e.defineComponent({__name:"CustomCodeConfig",props:{modelValue:{}},emits:["update:modelValue"],setup(u,{emit:t}){const r=u,a=t,n=e.reactive({code:r.modelValue.code||""}),o=()=>{a("update:modelValue",{...n})};return(i,l)=>(e.openBlock(),e.createElementBlock("div",Lk,[e.createElementVNode("div",Uk,[l[1]||(l[1]=e.createElementVNode("label",null,"JavaScript代码",-1)),e.withDirectives(e.createElementVNode("textarea",{"onUpdate:modelValue":l[0]||(l[0]=s=>n.code=s),rows:"10",placeholder:"请输入JavaScript代码",onInput:o},null,544),[[e.vModelText,n.code]])]),l[2]||(l[2]=e.createElementVNode("div",{class:"code-hint"},[e.createElementVNode("p",null,"提示:"),e.createElementVNode("ul",null,[e.createElementVNode("li",null,"可以使用 context 对象访问上下文变量"),e.createElementVNode("li",null,"使用 return 返回结果")])],-1))]))}}),[["__scopeId","data-v-f7115383"]]),zk={class:"node-config"},Wk={class:"config-group"},qk={class:"config-group"},Gk=Me(e.defineComponent({__name:"TimerConfig",props:{modelValue:{}},emits:["update:modelValue"],setup(u,{emit:t}){const r=u,a=t,n=e.reactive({interval:r.modelValue.interval||1e3,unit:r.modelValue.unit||"ms"}),o=()=>{a("update:modelValue",{...n})};return(i,l)=>(e.openBlock(),e.createElementBlock("div",zk,[e.createElementVNode("div",Wk,[l[2]||(l[2]=e.createElementVNode("label",null,"时间间隔",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":l[0]||(l[0]=s=>n.interval=s),type:"number",min:"1",placeholder:"请输入时间间隔",onInput:o},null,544),[[e.vModelText,n.interval,void 0,{number:!0}]])]),e.createElementVNode("div",qk,[l[4]||(l[4]=e.createElementVNode("label",null,"时间单位",-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":l[1]||(l[1]=s=>n.unit=s),onChange:o},[...l[3]||(l[3]=[e.createElementVNode("option",{value:"ms"},"毫秒 (ms)",-1),e.createElementVNode("option",{value:"s"},"秒 (s)",-1),e.createElementVNode("option",{value:"m"},"分钟 (m)",-1),e.createElementVNode("option",{value:"h"},"小时 (h)",-1)])],544),[[e.vModelSelect,n.unit]])])]))}}),[["__scopeId","data-v-323381bc"]]),Hk={class:"node-config"},Kk={class:"config-group"},Yk=["value"],Qk={key:0,class:"timer-hint warning"},Jk={key:1,class:"timer-hint"},Xk=Me(e.defineComponent({__name:"ClearTimerConfig",props:{modelValue:{}},emits:["update:modelValue"],setup(u,{emit:t}){const r=u,a=t,n=e.reactive({timerId:r.modelValue.timerId||""}),o=e.ref([]),i=e.inject("getGraph"),l=()=>{if(!i)return[];const c=i();if(!c)return[];const d=c.getNodes(),h=[];return d.forEach(m=>{const p=m.getData();if((p==null?void 0:p.nodeType)==="timer"){const f=m.getAttrByPath("label/text")||"定时器";h.push({id:m.id,label:f})}}),h};e.onMounted(()=>{o.value=l()}),e.watch(()=>r.modelValue,()=>{o.value=l()},{deep:!0});const s=()=>{a("update:modelValue",{...n})};return(c,d)=>(e.openBlock(),e.createElementBlock("div",Hk,[e.createElementVNode("div",Kk,[d[2]||(d[2]=e.createElementVNode("label",null,"选择定时器节点",-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":d[0]||(d[0]=h=>n.timerId=h),onChange:s},[d[1]||(d[1]=e.createElementVNode("option",{value:""},"请选择要清除的定时器",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,h=>(e.openBlock(),e.createElementBlock("option",{key:h.id,value:h.id},e.toDisplayString(h.label),9,Yk))),128))],544),[[e.vModelSelect,n.timerId]])]),o.value.length===0?(e.openBlock(),e.createElementBlock("div",Qk,[...d[3]||(d[3]=[e.createElementVNode("p",null,"提示:当前流程中没有定时器节点",-1)])])):(e.openBlock(),e.createElementBlock("div",Jk,[...d[4]||(d[4]=[e.createElementVNode("p",null,"提示:选择要清除的定时器节点",-1)])]))]))}}),[["__scopeId","data-v-d102fb63"]]),Zk={[Ut.GET_PROPERTY]:sk,[Ut.SET_PROPERTY]:mk,[Ut.CONDITION]:$k,[Ut.HTTP_REQUEST]:jk,[Ut.CUSTOM_CODE]:Fk,[Ut.TIMER]:Gk,[Ut.CLEAR_TIMER]:Xk};function e2(u){return Zk[u]||null}const t2={class:"property-panel"},r2={key:0,class:"property-content"},o2={class:"property-group"},n2=["value"],i2={class:"property-group"},a2=["value"],s2={key:0,class:"divider"},l2={key:1,class:"property-empty"},c2=Me(e.defineComponent({__name:"PropertyPanel",props:{selectedCell:{}},emits:["update:label","update:config"],setup(u,{emit:t}){const r=u,a=t,n=()=>{var d,h,m;return((m=(h=(d=r.selectedCell)==null?void 0:d.cell)==null?void 0:h.model)==null?void 0:m.graph)||null};e.provide("getGraph",n);const o=e.ref({}),i=e.computed(()=>r.selectedCell?e2(r.selectedCell.nodeType):null);e.watch(()=>r.selectedCell,d=>{if(d!=null&&d.cell){const h=d.cell.getData();o.value=(h==null?void 0:h.config)||{}}else o.value={}},{immediate:!0});const l=d=>{const h=d.target;a("update:label",h.value)},s=d=>{var h;if(o.value=d,(h=r.selectedCell)!=null&&h.cell){const m=r.selectedCell.cell.getData()||{};r.selectedCell.cell.setData({...m,config:d}),r.selectedCell.nodeType==="condition"&&d.branches&&c(d.branches)}a("update:config",d)},c=d=>{var A,I;if(!((A=r.selectedCell)!=null&&A.cell))return;const h=r.selectedCell.cell,m=(I=h.model)==null?void 0:I.graph;if(!m)return;const p=[];m.getConnectedEdges(h,{outgoing:!0}).forEach($=>{const x=$.getSourcePortId(),U=$.getTargetCell(),Q=$.getTargetPortId();x&&U&&p.push({sourcePortId:x,targetCell:U,targetPortId:Q})});const w=p.length>0?p[0].targetCell:null,N=p.length>0?p[0].targetPortId:"port-in";h.getPorts().forEach($=>{$.group==="out"&&h.removePort($.id)});const b=30,E=60,k=Math.max(d.length,1),v=Math.max(E,k*b),V=h.size(),T=h.position(),C=v-V.height;C!==0&&h.position(T.x,T.y-C/2),h.resize(V.width,v),d.forEach(($,x)=>{h.addPort({id:`port-out-${x}`,group:"out",attrs:{circle:{r:5,magnet:!0,stroke:"#34d399",strokeWidth:2,fill:"#1e293b"},portLabel:{text:$.label||`分支${x+1}`,fontSize:10,fill:"#94a3b8"}}})}),setTimeout(()=>{w&&d.forEach(($,x)=>{m.addEdge({source:{cell:h,port:`port-out-${x}`},target:{cell:w,port:N},labels:[{attrs:{label:{text:$.label||`分支${x+1}`,fill:"#e2e8f0",fontSize:12},rect:{fill:"#334155",stroke:"#34d399",strokeWidth:1,rx:4,ry:4}},position:.5}]})})},100)};return(d,h)=>(e.openBlock(),e.createElementBlock("div",t2,[h[4]||(h[4]=e.createElementVNode("h3",null,"属性配置",-1)),u.selectedCell?(e.openBlock(),e.createElementBlock("div",r2,[e.createElementVNode("div",o2,[h[1]||(h[1]=e.createElementVNode("label",null,"节点名称",-1)),e.createElementVNode("input",{value:u.selectedCell.label,type:"text",placeholder:"输入节点名称",onInput:l},null,40,n2)]),e.createElementVNode("div",i2,[h[2]||(h[2]=e.createElementVNode("label",null,"节点类型",-1)),e.createElementVNode("input",{value:u.selectedCell.nodeType,type:"text",readonly:"",disabled:""},null,8,a2)]),i.value?(e.openBlock(),e.createElementBlock("div",s2)):e.createCommentVNode("",!0),i.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(i.value),{key:1,modelValue:o.value,"onUpdate:modelValue":[h[0]||(h[0]=m=>o.value=m),s]},null,8,["modelValue"])):e.createCommentVNode("",!0)])):(e.openBlock(),e.createElementBlock("div",l2,[...h[3]||(h[3]=[e.createElementVNode("div",{class:"empty-text"},"选择节点以配置属性",-1)])]))]))}}),[["__scopeId","data-v-8304acbc"]]),d2={class:"toolbar"},u2={class:"toolbar-right"},f2=Me(e.defineComponent({__name:"WorkflowToolbar",props:{showClose:{type:Boolean}},emits:["clear","validate","save","close"],setup(u){return(t,r)=>(e.openBlock(),e.createElementBlock("div",d2,[r[5]||(r[5]=e.createElementVNode("div",{class:"toolbar-left"},[e.createElementVNode("h2",null,"流程编排")],-1)),e.createElementVNode("div",u2,[e.createElementVNode("button",{class:"btn-secondary",onClick:r[0]||(r[0]=a=>t.$emit("clear"))},"清空"),e.createElementVNode("button",{class:"btn-secondary",onClick:r[1]||(r[1]=a=>t.$emit("validate"))},"验证"),e.createElementVNode("button",{class:"btn-primary",onClick:r[2]||(r[2]=a=>t.$emit("save"))},"保存"),u.showClose?(e.openBlock(),e.createElementBlock("button",{key:0,class:"btn-close",onClick:r[3]||(r[3]=a=>t.$emit("close")),title:"关闭"},[...r[4]||(r[4]=[e.createElementVNode("span",{class:"close-icon"},"×",-1)])])):e.createCommentVNode("",!0)])]))}}),[["__scopeId","data-v-b3e0a4fc"]]),p2={class:"menu-header"},h2={class:"menu-list"},m2=["onClick"],g2={class:"menu-item-info"},y2={class:"menu-item-name"},b2={class:"menu-item-desc"},w2=Me(e.defineComponent({__name:"AddNodeMenu",props:{visible:{type:Boolean},position:{},nodeTypes:{}},emits:["close","select"],setup(u,{emit:t}){const r=u,a=t,n=e.computed(()=>r.nodeTypes.filter(i=>i.type!=="start"&&i.type!=="end")),o=i=>{a("select",i)};return(i,l)=>(e.openBlock(),e.createElementBlock("div",null,[u.visible?(e.openBlock(),e.createElementBlock("div",{key:0,class:"menu-overlay",onClick:l[0]||(l[0]=s=>i.$emit("close"))})):e.createCommentVNode("",!0),u.visible?(e.openBlock(),e.createElementBlock("div",{key:1,class:"add-node-menu",style:e.normalizeStyle({left:u.position.x+"px",top:u.position.y+"px"})},[e.createElementVNode("div",p2,[l[2]||(l[2]=e.createElementVNode("span",null,"选择节点类型",-1)),e.createElementVNode("button",{class:"btn-close",onClick:l[1]||(l[1]=s=>i.$emit("close"))},"×")]),e.createElementVNode("div",h2,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,s=>(e.openBlock(),e.createElementBlock("div",{key:s.type,class:"menu-item",onClick:c=>o(s)},[e.createElementVNode("div",{class:e.normalizeClass(["menu-item-icon",`node-icon-${s.type}`])},e.toDisplayString(s.icon),3),e.createElementVNode("div",g2,[e.createElementVNode("div",y2,e.toDisplayString(s.name),1),e.createElementVNode("div",b2,e.toDisplayString(s.description),1)])],8,m2))),128))])],4)):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-aa6fccf8"]]);class E2{constructor(){ve(this,"graph",null)}setGraph(t){this.graph=t}getElements(){return this.graph?this.graph.getNodes().map(r=>{const a=r.getData()||{},n=a.type||r.shape,o=$t.getComponent(n),i=this.getElementProperties(r,o);return{id:r.id,name:a.componentName||r.getAttrByPath("label/text")||`图元_${r.id.slice(0,8)}`,type:(o==null?void 0:o.metadata.name)||n,icon:(o==null?void 0:o.metadata.icon)||"📦",properties:i}}):(console.warn("画布实例未初始化"),[])}getElementProperties(t,r){const a=[],n=new Set;return r!=null&&r.props&&r.props.forEach(o=>{const i=o.path.split("."),l=i[i.length-1];l&&!n.has(l)&&(a.push({key:l,label:o.label||l}),n.add(l))}),a}getElementById(t){return this.getElements().find(a=>a.id===t)||null}searchElements(t){const r=this.getElements(),a=t.toLowerCase();return r.filter(n=>n.name.toLowerCase().includes(a)||n.id.toLowerCase().includes(a)||n.type.toLowerCase().includes(a))}}const nc=new E2,v2={class:"workflow-editor"},k2={class:"editor-main"},_2={class:"canvas-area"},N2=Me(e.defineComponent({__name:"WorkflowEditor",props:{scadaGraph:{default:null},showClose:{type:Boolean,default:!1}},emits:["close"],setup(u){const t=u,r=e.ref([{type:"start",name:"开始",icon:"▶",description:"流程起点",color:"#52c41a"},{type:"end",name:"结束",icon:"⏹",description:"流程终点",color:"#ff4d4f"},{type:"getProperty",name:"获取图元属性",icon:"📥",description:"获取图元的属性值",color:"#1890ff"},{type:"setProperty",name:"设置图元属性",icon:"📤",description:"设置图元的属性值",color:"#13c2c2"},{type:"condition",name:"条件节点",icon:"◆",description:"条件分支判断",color:"#faad14"},{type:"httpRequest",name:"http请求",icon:"🌐",description:"HTTP网络请求",color:"#722ed1"},{type:"customCode",name:"自定义代码",icon:"💻",description:"执行自定义JavaScript代码",color:"#eb2f96"},{type:"timer",name:"定时器节点",icon:"⏰",description:"设置定时执行",color:"#52c41a"},{type:"clearTimer",name:"清除定时器",icon:"🗑",description:"清除定时器",color:"#ff4d4f"}]),a=e.ref();let n=null;t.scadaGraph&&nc.setGraph(t.scadaGraph),e.provide("canvasElementService",nc);const o=e.ref(null),i=e.ref(!1),l=e.ref({x:0,y:0});let s=null;const c=()=>{r.value.forEach(E=>{const k={inherit:"rect",width:150,height:60,markup:[{tagName:"rect",selector:"body"},{tagName:"text",selector:"icon"},{tagName:"text",selector:"label"}],attrs:{body:{strokeWidth:1,stroke:E.color,fill:"#ffffff",rx:6,ry:6},icon:{text:E.icon,fontSize:24,fill:E.color,refX:20,refY:"50%",textAnchor:"middle",textVerticalAnchor:"middle"},label:{text:E.name,fontSize:14,fill:"#333333",refX:75,refY:"50%",textAnchor:"middle",textVerticalAnchor:"middle"}},ports:{groups:{in:{position:"left",attrs:{circle:{r:5,magnet:!0,stroke:"#10b981",strokeWidth:2,fill:"#1e293b"}}},out:{position:{name:"right"},attrs:{circle:{r:5,magnet:!0,stroke:"#10b981",strokeWidth:2,fill:"#1e293b"},portLabel:{fontSize:10,fill:"#94a3b8"}},markup:[{tagName:"circle",selector:"circle"},{tagName:"text",selector:"portLabel"}],label:{position:{name:"right",args:{x:10,y:0}}}}},items:[]},data:{nodeType:E.type}};E.type==="start"?k.ports.items=[{id:"port-out",group:"out"}]:E.type==="end"?k.ports.items=[{id:"port-in",group:"in"}]:E.type==="condition"?k.ports.items=[{id:"port-in",group:"in"},{id:"port-out-0",group:"out",args:{text:"True"}},{id:"port-out-1",group:"out",args:{text:"False"}}]:k.ports.items=[{id:"port-in",group:"in"},{id:"port-out",group:"out"}],Le.Graph.registerNode(E.type,k,!0)})},d=()=>{if(!a.value)return;c(),n=new Le.Graph({container:a.value,width:a.value.clientWidth,height:a.value.clientHeight,grid:{size:10,visible:!0,type:"dot",args:{color:"#333",thickness:1}},panning:{enabled:!0,modifiers:"shift"},mousewheel:{enabled:!0,modifiers:["ctrl","meta"]},connecting:{router:"manhattan",connector:{name:"rounded",args:{radius:8}},anchor:"center",connectionPoint:"anchor",snap:{radius:20},allowBlank:!1,allowLoop:!1,allowNode:!1,createEdge(){return new Le.Shape.Edge({attrs:{line:{stroke:"#64748b",strokeWidth:3,targetMarker:{name:"block",width:12,height:8,fill:"#64748b"}}},zIndex:0})},validateConnection({targetMagnet:k}){return!!k}},highlighting:{magnetAvailable:{name:"stroke",args:{attrs:{fill:"#34d399",stroke:"#34d399"}}}}}),n.use(new Gt.Selection({enabled:!0,rubberband:!1,showNodeSelectionBox:!0,showEdgeSelectionBox:!0,multiple:!0,movable:!0,strict:!1}));const E=k=>{var v;if(console.log("键盘事件触发:",k.key,"selectedCell存在:",!!o.value),k.key==="Delete"||k.key==="Backspace"){if(!n){console.log("graph不存在,无法删除");return}if((v=o.value)!=null&&v.cell){k.preventDefault();const T=o.value.cell;console.log("删除选中的节点:",o.value.label);const C=n.getIncomingEdges(T),A=n.getOutgoingEdges(T);C&&C.length>0&&A&&A.length>0&&C.forEach(I=>{const $=I.getSourceCell(),x=I.getSourcePortId();A.forEach(U=>{const Q=U.getTargetCell(),W=U.getTargetPortId();$&&Q&&n&&(n.addEdge({source:{cell:$,port:x},target:{cell:Q,port:W}}),console.log("已连接前后节点"))})}),n.removeCells([T]),o.value=null,console.log("已删除节点");return}const V=n.getSelectedCells();console.log("选中的cells数量:",V.length,V),V.length?(k.preventDefault(),n.removeCells(V),console.log("已删除cells")):console.log("没有选中的cells")}};document.addEventListener("keydown",E),n.on("node:click",({node:k})=>{var T;const v=k.getAttrByPath("label/text")||"",V=((T=k.getData())==null?void 0:T.nodeType)||k.shape||"";o.value={label:v,nodeType:V,cell:k},console.log("节点已点击,保存到selectedCell:",v)}),n.on("blank:click",()=>{o.value=null,n&&n.cleanSelection()}),n.on("edge:mouseenter",({edge:k})=>{k.setAttrs({line:{stroke:"#10b981",strokeWidth:4}}),k.addTools([{name:"button",args:{markup:[{tagName:"circle",selector:"button",attrs:{r:12,stroke:"#10b981",strokeWidth:2,fill:"#1e293b",cursor:"pointer"}},{tagName:"path",selector:"icon",attrs:{d:"M -5 0 L 5 0 M 0 -5 L 0 5",stroke:"#10b981",strokeWidth:2,fill:"none",pointerEvents:"none"}}],distance:.5,onClick:({e:v,view:V})=>{s=V.cell,i.value=!0,l.value={x:v.clientX,y:v.clientY}}}},{name:"vertices"}])}),n.on("edge:mouseleave",({edge:k})=>{k.setAttrs({line:{stroke:"#64748b",strokeWidth:3}}),k.removeTools()}),n.on("edge:connected",({isNew:k,edge:v})=>{k&&v.setAttrs({line:{stroke:"#64748b",strokeWidth:3}})}),n.on("node:selected",({node:k})=>{k.toFront()}),n.on("edge:selected",({edge:k})=>{k.toFront()}),h()},h=()=>{if(!n)return;const E=n.addNode({shape:"start",x:100,y:200,label:"开始",data:{nodeType:"start"}}),k=n.addNode({shape:"end",x:500,y:200,label:"结束",data:{nodeType:"end"}});n.addEdge({source:{cell:E,port:"port-out"},target:{cell:k,port:"port-in"}})},m=E=>{var k;(k=o.value)!=null&&k.cell&&(o.value.label=E,o.value.cell.setAttrByPath("label/text",E))},p=E=>{if(!n||!s)return;const k=s.getSourceCell(),v=s.getTargetCell();if(!k||!v)return;const V=k.position(),T=v.position(),C=(V.x+T.x)/2,A=(V.y+T.y)/2,I=n.addNode({shape:E.type,x:C,y:A,label:E.name,data:{nodeType:E.type}});s.remove(),n.addEdge({source:{cell:k,port:"port-out"},target:{cell:I,port:"port-in"}}),E.type==="condition"?(n.addEdge({source:{cell:I,port:"port-out-0"},target:{cell:v,port:"port-in"},labels:[{attrs:{label:{text:"True",fill:"#e2e8f0",fontSize:12},rect:{fill:"#334155",stroke:"#64748b",strokeWidth:1,rx:4,ry:4}},position:.5}]}),n.addEdge({source:{cell:I,port:"port-out-1"},target:{cell:v,port:"port-in"},labels:[{attrs:{label:{text:"False",fill:"#e2e8f0",fontSize:12},rect:{fill:"#334155",stroke:"#64748b",strokeWidth:1,rx:4,ry:4}},position:.5}]})):n.addEdge({source:{cell:I,port:"port-out"},target:{cell:v,port:"port-in"}}),i.value=!1,s=null},f=()=>{n&&n.clearCells()},w=()=>{if(!n)return console.log("画布不存在"),{errors:["画布不存在"],warnings:[]};const E=[],k=[],v=n.getNodes(),V=v.filter(C=>{var A;return((A=C.getData())==null?void 0:A.nodeType)==="start"});return V.length===0?E.push("流程中缺少开始节点"):V.length>1&&k.push("流程中有多个开始节点"),v.filter(C=>{var A;return((A=C.getData())==null?void 0:A.nodeType)==="end"}).length===0&&k.push("流程中缺少结束节点"),v.forEach(C=>{const A=C.getData(),I=A==null?void 0:A.nodeType,$=(A==null?void 0:A.config)||{},x=C.getAttrByPath("label/text")||"未命名节点";(I==="getProperty"||I==="setProperty")&&($.elementId||E.push(`节点「${x}」未配置图元`),$.propertyName||E.push(`节点「${x}」未配置属性`),I==="setProperty"&&!$.value&&k.push(`节点「${x}」未配置属性值`)),I==="httpRequest"&&($.url||E.push(`节点「${x}」未配置请求URL`)),I==="condition"&&(!$.branches||$.branches.length===0)&&E.push(`节点「${x}」未配置条件分支`),I==="timer"&&(!$.interval||$.interval<=0)&&E.push(`节点「${x}」未配置有效的时间间隔`),I==="clearTimer"&&($.timerId||E.push(`节点「${x}」未选择定时器`)),I==="customCode"&&($.code||k.push(`节点「${x}」未编写代码`))}),v.forEach(C=>{var $;const A=($=C.getData())==null?void 0:$.nodeType,I=C.getAttrByPath("label/text")||"未命名节点";if(A==="start"&&n){const x=n.getOutgoingEdges(C);(!x||x.length===0)&&E.push(`开始节点「${I}」没有连接到下一个节点`)}if(A==="end"&&n){const x=n.getOutgoingEdges(C);x&&x.length>0&&k.push(`结束节点「${I}」不应该有输出连线`)}if(A!=="start"&&A!=="end"&&n){const x=n.getIncomingEdges(C),U=n.getOutgoingEdges(C);(!x||x.length===0)&&k.push(`节点「${I}」没有输入连线`),A!=="clearTimer"&&(!U||U.length===0)&&k.push(`节点「${I}」没有输出连线`)}}),n&&v.forEach(C=>{var U;const A=n.getIncomingEdges(C),I=n.getOutgoingEdges(C),$=(U=C.getData())==null?void 0:U.nodeType,x=C.getAttrByPath("label/text")||"未命名节点";$!=="start"&&(!A||A.length===0)&&(!I||I.length===0)&&k.push(`节点「${x}」是孤立节点`)}),{errors:E,warnings:k}},N=()=>{const{errors:E,warnings:k}=w();if(E.length===0&&k.length===0)alert("✓ 流程验证通过!"),console.log("流程验证通过");else{let v="";E.length>0&&(v+=`错误:
44
+ `+E.map(V=>" • "+V).join(`
45
+ `)),k.length>0&&(v&&(v+=`
46
46
 
47
- `),E+=`警告:
48
- `+k.map(I=>" • "+I).join(`
49
- `)),alert(E),console.log("验证结果:",{errors:_,warnings:k})}},S=()=>{if(!n)return;const{errors:_,warnings:k}=w();if(_.length>0){let P=`流程验证失败,无法保存!
47
+ `),v+=`警告:
48
+ `+k.map(V=>" • "+V).join(`
49
+ `)),alert(v),console.log("验证结果:",{errors:E,warnings:k})}},S=()=>{if(!n)return;const{errors:E,warnings:k}=w();if(E.length>0){let $=`流程验证失败,无法保存!
50
50
 
51
- `;P+=`错误:
52
- `+_.map(A=>" • "+A).join(`
53
- `),k.length>0&&(P+=`
51
+ `;$+=`错误:
52
+ `+E.map(x=>" • "+x).join(`
53
+ `),k.length>0&&($+=`
54
54
 
55
55
  警告:
56
- `+k.map(A=>" • "+A).join(`
57
- `)),alert(P);return}if(k.length>0){let P=`流程存在以下警告:
56
+ `+k.map(x=>" • "+x).join(`
57
+ `)),alert($);return}if(k.length>0){let $=`流程存在以下警告:
58
58
 
59
- `;if(P+=k.map(A=>" • "+A).join(`
60
- `),P+=`
59
+ `;if($+=k.map(x=>" • "+x).join(`
60
+ `),$+=`
61
61
 
62
- 是否继续保存?`,!confirm(P))return}const E=prompt("请输入流程名称:","未命名流程");if(!E||!E.trim())return;const I=n.toJSON(),x=n.getNodes().map(P=>({id:P.id,shape:P.shape,position:P.getPosition(),size:P.getSize(),attrs:P.getAttrs(),data:P.getData()})),V=n.getEdges().map(P=>({id:P.id,source:P.getSourceCellId(),target:P.getTargetCellId(),attrs:P.getAttrs(),data:P.getData()})),C={id:"workflow_"+Date.now(),name:E.trim(),data:{...I,nodes:x,edges:V},createdAt:Date.now(),updatedAt:Date.now()};try{const P=localStorage.getItem("saved-workflows"),A=P?JSON.parse(P):[];A.push(C),localStorage.setItem("saved-workflows",JSON.stringify(A)),alert("✓ 流程保存成功!"),console.log("流程已保存:",C)}catch(P){console.error("保存流程失败:",P),alert("保存失败,请重试")}};e.onMounted(()=>{d(),window.addEventListener("resize",b)});const b=()=>{!n||!l.value||n.resize(l.value.clientWidth,l.value.clientHeight)};return e.onBeforeUnmount(()=>{window.removeEventListener("resize",b);const _=k=>{if(k.key==="Delete"||k.key==="Backspace"){if(!n)return;const E=n.getSelectedCells();E.length&&(k.preventDefault(),n.removeCells(E),o.value&&E.includes(o.value.cell)&&(o.value=null))}};document.removeEventListener("keydown",_),n&&n.dispose()}),(_,k)=>(e.openBlock(),e.createElementBlock("div",v2,[e.createVNode(f2,{"show-close":u.showClose,onClear:f,onValidate:v,onSave:S,onClose:k[0]||(k[0]=E=>_.$emit("close"))},null,8,["show-close"]),e.createElementVNode("div",k2,[e.createElementVNode("div",_2,[e.createElementVNode("div",{id:"workflow-container",ref_key:"containerRef",ref:l},null,512)]),e.createVNode(c2,{"selected-cell":o.value,"onUpdate:label":m},null,8,["selected-cell"])]),e.createVNode(w2,{visible:i.value,position:a.value,"node-types":t.value,onClose:k[1]||(k[1]=E=>i.value=!1),onSelect:h},null,8,["visible","position","node-types"])]))}}),[["__scopeId","data-v-649349a2"]]),x2={key:0,class:"workflow-dialog-overlay"},S2={class:"workflow-dialog"},V2=Me(e.defineComponent({__name:"WorkflowDialog",props:{visible:{type:Boolean},scadaGraph:{default:null}},emits:["update:visible","close"],setup(u,{emit:r}){const t=u,l=r;e.watch(()=>t.visible,i=>{i?document.body.style.overflow="hidden":document.body.style.overflow=""});const n=()=>{l("update:visible",!1),l("close")},o=i=>{i.key==="Escape"&&t.visible&&n()};return typeof window<"u"&&window.addEventListener("keydown",o),(i,a)=>u.visible?(e.openBlock(),e.createElementBlock("div",x2,[e.createElementVNode("div",S2,[e.createVNode(N2,{"scada-graph":u.scadaGraph,"show-close":!0,onClose:n},null,8,["scada-graph"])])])):e.createCommentVNode("",!0)}}),[["__scopeId","data-v-4e7f6ab7"]]),C2={class:"dialog-container"},I2={class:"dialog-body"},A2={class:"datasource-list-panel"},$2={class:"datasource-list"},T2={key:0,class:"empty-hint"},B2=["onClick"],D2={class:"datasource-header"},P2={class:"datasource-info"},O2={class:"datasource-name"},M2={class:"datasource-type"},R2=["title"],j2={class:"datasource-meta"},L2={class:"device-count"},U2={class:"datasource-detail-panel"},F2={key:0,class:"empty-state"},z2={key:1,class:"detail-content"},W2={class:"detail-header"},q2={class:"detail-actions"},G2={class:"detail-form"},H2={class:"form-section"},K2={class:"form-item"},Y2={class:"form-item"},Q2=["disabled"],J2={class:"form-item"},X2={class:"switch"},Z2={key:0,class:"form-section"},e_={class:"form-item"},t_={class:"form-item"},r_={class:"form-item"},o_={class:"form-item"},n_={class:"form-item"},i_={key:1,class:"form-section"},s_={class:"form-item"},a_={key:2,class:"form-section"},l_={class:"form-item"},c_={class:"form-item"},d_={class:"form-item"},u_={key:3,class:"form-section"},f_={class:"form-item"},p_={class:"form-item"},h_={key:4,class:"form-section"},m_={class:"device-list"},g_={class:"device-info"},y_={class:"device-name"},b_={class:"device-id"},w_={class:"point-count"},E_={key:5,class:"form-section"},v_={class:"status-info"},k_={class:"status-row"},__={key:0,class:"status-row"},N_={class:"status-value"},x_={key:1,class:"status-row error"},S_={class:"status-value"},V_=Me(e.defineComponent({__name:"DataSourceDialog",props:{dataSources:{}},emits:["close","save","delete","add"],setup(u,{emit:r}){const t=r,l=e.ref(null),n=e.ref(!1),o=e.ref({name:"",type:"MQTT",enabled:!0,config:{broker:"",topic:"",clientId:"",username:"",password:"",wsUrl:"",url:"",method:"GET",pollInterval:5e3,sseUrl:"",eventType:""}}),i=m=>{l.value=m,n.value=!1,o.value={name:m.name,type:m.type,enabled:m.enabled,config:{...m.config}}},a=()=>{l.value=null,n.value=!0,o.value={name:"",type:"MQTT",enabled:!0,config:{broker:"mqtt://broker.emqx.io",topic:"/devices/+/data",clientId:"scada_"+Date.now(),username:"",password:""}}},s=()=>{if(!o.value.name){alert("请输入数据源名称");return}n.value?(t("add",{name:o.value.name,type:o.value.type,enabled:o.value.enabled,config:o.value.config}),n.value=!1):l.value&&t("save",{...l.value,name:o.value.name,type:o.value.type,enabled:o.value.enabled,config:o.value.config})},c=()=>{l.value&&confirm(`确定要删除数据源"${l.value.name}"吗?`)&&(t("delete",l.value.id),l.value=null,n.value=!1)},d=()=>{t("close")},p=m=>new Date(m).toLocaleString("zh-CN");return(m,h)=>{var f;return e.openBlock(),e.createElementBlock("div",{class:"dialog-overlay",onClick:e.withModifiers(d,["self"])},[e.createElementVNode("div",C2,[e.createElementVNode("div",{class:"dialog-header"},[h[14]||(h[14]=e.createElementVNode("h3",null,"数据源管理",-1)),e.createElementVNode("button",{class:"btn-close",onClick:d},"✕")]),e.createElementVNode("div",I2,[e.createElementVNode("div",A2,[e.createElementVNode("div",{class:"panel-header"},[h[15]||(h[15]=e.createElementVNode("span",null,"数据源列表",-1)),e.createElementVNode("button",{class:"btn-add",onClick:a},"+ 添加")]),e.createElementVNode("div",$2,[u.dataSources.length===0?(e.openBlock(),e.createElementBlock("div",T2," 暂无数据源 ")):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.dataSources,w=>{var v,S,b;return e.openBlock(),e.createElementBlock("div",{key:w.id,class:e.normalizeClass(["datasource-item",{active:((v=l.value)==null?void 0:v.id)===w.id}]),onClick:_=>i(w)},[e.createElementVNode("div",D2,[e.createElementVNode("div",P2,[e.createElementVNode("span",O2,e.toDisplayString(w.name),1),e.createElementVNode("span",M2,e.toDisplayString(w.type),1)]),e.createElementVNode("span",{class:e.normalizeClass(["status-dot",(S=w.status)!=null&&S.connected?"connected":"disconnected"]),title:(b=w.status)!=null&&b.connected?"已连接":"未连接"},null,10,R2)]),e.createElementVNode("div",j2,[e.createElementVNode("span",L2,e.toDisplayString(w.devices.length)+" 个设备",1)])],10,B2)}),128))])]),e.createElementVNode("div",U2,[!l.value&&!n.value?(e.openBlock(),e.createElementBlock("div",F2,[...h[16]||(h[16]=[e.createElementVNode("p",null,"请选择左侧数据源查看详情",-1)])])):(e.openBlock(),e.createElementBlock("div",z2,[e.createElementVNode("div",W2,[e.createElementVNode("h4",null,e.toDisplayString(n.value?"新建数据源":"数据源详情"),1),e.createElementVNode("div",q2,[n.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("button",{key:0,class:"btn-secondary",onClick:c}," 删除 ")),e.createElementVNode("button",{class:"btn-primary",onClick:s},e.toDisplayString(n.value?"创建":"保存"),1)])]),e.createElementVNode("div",G2,[e.createElementVNode("div",H2,[h[22]||(h[22]=e.createElementVNode("h5",null,"基本信息",-1)),e.createElementVNode("div",K2,[h[17]||(h[17]=e.createElementVNode("label",null,"名称",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":h[0]||(h[0]=w=>o.value.name=w),type:"text",placeholder:"例如:主机房 MQTT"},null,512),[[e.vModelText,o.value.name]])]),e.createElementVNode("div",Y2,[h[19]||(h[19]=e.createElementVNode("label",null,"类型",-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":h[1]||(h[1]=w=>o.value.type=w),disabled:!n.value},[...h[18]||(h[18]=[e.createElementVNode("option",{value:"MQTT"},"MQTT",-1),e.createElementVNode("option",{value:"WebSocket"},"WebSocket",-1),e.createElementVNode("option",{value:"HTTP"},"HTTP",-1),e.createElementVNode("option",{value:"SSE"},"SSE",-1)])],8,Q2),[[e.vModelSelect,o.value.type]])]),e.createElementVNode("div",J2,[h[21]||(h[21]=e.createElementVNode("label",null,"启用",-1)),e.createElementVNode("label",X2,[e.withDirectives(e.createElementVNode("input",{type:"checkbox","onUpdate:modelValue":h[2]||(h[2]=w=>o.value.enabled=w)},null,512),[[e.vModelCheckbox,o.value.enabled]]),h[20]||(h[20]=e.createElementVNode("span",{class:"slider"},null,-1))])])]),o.value.type==="MQTT"?(e.openBlock(),e.createElementBlock("div",Z2,[h[29]||(h[29]=e.createElementVNode("h5",null,"MQTT 配置",-1)),e.createElementVNode("div",e_,[h[23]||(h[23]=e.createElementVNode("label",null,"Broker 地址",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":h[3]||(h[3]=w=>o.value.config.broker=w),type:"text",placeholder:"mqtt://broker.emqx.io 或 ws://broker.emqx.io:8083/mqtt"},null,512),[[e.vModelText,o.value.config.broker]]),h[24]||(h[24]=e.createElementVNode("span",{class:"form-hint"},"💡 浏览器会自动转换为 WebSocket,EMQX 公共服务器使用 8083 端口",-1))]),e.createElementVNode("div",t_,[h[25]||(h[25]=e.createElementVNode("label",null,"订阅主题",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":h[4]||(h[4]=w=>o.value.config.topic=w),type:"text",placeholder:"/devices/+/data"},null,512),[[e.vModelText,o.value.config.topic]])]),e.createElementVNode("div",r_,[h[26]||(h[26]=e.createElementVNode("label",null,"客户端 ID",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":h[5]||(h[5]=w=>o.value.config.clientId=w),type:"text",placeholder:"自动生成"},null,512),[[e.vModelText,o.value.config.clientId]])]),e.createElementVNode("div",o_,[h[27]||(h[27]=e.createElementVNode("label",null,"用户名",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":h[6]||(h[6]=w=>o.value.config.username=w),type:"text",placeholder:"可选"},null,512),[[e.vModelText,o.value.config.username]])]),e.createElementVNode("div",n_,[h[28]||(h[28]=e.createElementVNode("label",null,"密码",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":h[7]||(h[7]=w=>o.value.config.password=w),type:"password",placeholder:"可选"},null,512),[[e.vModelText,o.value.config.password]])])])):e.createCommentVNode("",!0),o.value.type==="WebSocket"?(e.openBlock(),e.createElementBlock("div",i_,[h[31]||(h[31]=e.createElementVNode("h5",null,"WebSocket 配置",-1)),e.createElementVNode("div",s_,[h[30]||(h[30]=e.createElementVNode("label",null,"服务地址",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":h[8]||(h[8]=w=>o.value.config.wsUrl=w),type:"text",placeholder:"ws://localhost:8080"},null,512),[[e.vModelText,o.value.config.wsUrl]])])])):e.createCommentVNode("",!0),o.value.type==="HTTP"?(e.openBlock(),e.createElementBlock("div",a_,[h[36]||(h[36]=e.createElementVNode("h5",null,"HTTP 配置",-1)),e.createElementVNode("div",l_,[h[32]||(h[32]=e.createElementVNode("label",null,"接口地址",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":h[9]||(h[9]=w=>o.value.config.url=w),type:"text",placeholder:"https://api.example.com/data"},null,512),[[e.vModelText,o.value.config.url]])]),e.createElementVNode("div",c_,[h[34]||(h[34]=e.createElementVNode("label",null,"请求方法",-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":h[10]||(h[10]=w=>o.value.config.method=w)},[...h[33]||(h[33]=[e.createElementVNode("option",{value:"GET"},"GET",-1),e.createElementVNode("option",{value:"POST"},"POST",-1)])],512),[[e.vModelSelect,o.value.config.method]])]),e.createElementVNode("div",d_,[h[35]||(h[35]=e.createElementVNode("label",null,"轮询间隔 (ms)",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":h[11]||(h[11]=w=>o.value.config.pollInterval=w),type:"number",min:"1000",step:"1000"},null,512),[[e.vModelText,o.value.config.pollInterval,void 0,{number:!0}]])])])):e.createCommentVNode("",!0),o.value.type==="SSE"?(e.openBlock(),e.createElementBlock("div",u_,[h[39]||(h[39]=e.createElementVNode("h5",null,"SSE 配置",-1)),e.createElementVNode("div",f_,[h[37]||(h[37]=e.createElementVNode("label",null,"服务地址",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":h[12]||(h[12]=w=>o.value.config.sseUrl=w),type:"text",placeholder:"https://api.example.com/events"},null,512),[[e.vModelText,o.value.config.sseUrl]])]),e.createElementVNode("div",p_,[h[38]||(h[38]=e.createElementVNode("label",null,"事件类型",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":h[13]||(h[13]=w=>o.value.config.eventType=w),type:"text",placeholder:"留空表示所有事件"},null,512),[[e.vModelText,o.value.config.eventType]])])])):e.createCommentVNode("",!0),l.value&&l.value.devices.length>0?(e.openBlock(),e.createElementBlock("div",h_,[h[40]||(h[40]=e.createElementVNode("h5",null,"已接收设备",-1)),e.createElementVNode("div",m_,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value.devices,w=>(e.openBlock(),e.createElementBlock("div",{key:w.id,class:"device-item"},[e.createElementVNode("div",g_,[e.createElementVNode("span",y_,e.toDisplayString(w.name),1),e.createElementVNode("span",b_,e.toDisplayString(w.id),1)]),e.createElementVNode("span",w_,e.toDisplayString(w.points.length)+" 个点位",1)]))),128))])])):e.createCommentVNode("",!0),(f=l.value)!=null&&f.status?(e.openBlock(),e.createElementBlock("div",E_,[h[44]||(h[44]=e.createElementVNode("h5",null,"连接状态",-1)),e.createElementVNode("div",v_,[e.createElementVNode("div",k_,[h[41]||(h[41]=e.createElementVNode("span",null,"状态:",-1)),e.createElementVNode("span",{class:e.normalizeClass(["status-badge",l.value.status.connected?"connected":"disconnected"])},e.toDisplayString(l.value.status.connected?"已连接":"未连接"),3)]),l.value.status.lastUpdate?(e.openBlock(),e.createElementBlock("div",__,[h[42]||(h[42]=e.createElementVNode("span",null,"最后更新:",-1)),e.createElementVNode("span",N_,e.toDisplayString(p(l.value.status.lastUpdate)),1)])):e.createCommentVNode("",!0),l.value.status.error?(e.openBlock(),e.createElementBlock("div",x_,[h[43]||(h[43]=e.createElementVNode("span",null,"错误:",-1)),e.createElementVNode("span",S_,e.toDisplayString(l.value.status.error),1)])):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0)])]))])])])])}}}),[["__scopeId","data-v-b12950a1"]]),C_=["onClick"],I_={key:0,class:"scada-menu-icon"},A_={class:"scada-menu-text"},$_={key:1,class:"scada-menu-hotkey"},T_=e.defineComponent({__name:"ContextMenu",props:{visible:{type:Boolean,default:!1},position:{default:()=>({x:0,y:0})},menuItems:{default:()=>[]}},emits:["update:visible","menu-click"],setup(u,{emit:r}){const t=u,l=r,n=e.ref(),o=e.computed(()=>({position:"fixed",left:t.position.x+"px",top:t.position.y+"px",zIndex:99999,background:"#1f1f1f",border:"1px solid #3c3c3c",borderRadius:"4px",boxShadow:"0 4px 12px rgba(0, 0, 0, 0.5)",minWidth:"180px",padding:"6px 0",userSelect:"none",pointerEvents:"auto",margin:"0",boxSizing:"border-box",color:"#fff",fontSize:"13px"})),i=d=>d.divider?{height:"1px",margin:"4px 8px",padding:"0",backgroundColor:"#3c3c3c",border:"none"}:{display:"flex",alignItems:"center",padding:"6px 12px",fontSize:"13px",color:d.disabled?"#666666":"#fff",cursor:d.disabled?"not-allowed":"pointer",margin:"0",border:"none",lineHeight:"1.2",minHeight:"28px",backgroundColor:"transparent"},a=d=>{var p;d.disabled||d.divider||(l("menu-click",d.key),(p=d.onClick)==null||p.call(d),l("update:visible",!1))},s=d=>{n.value&&!n.value.contains(d.target)&&l("update:visible",!1)},c=()=>{};return e.watch(()=>t.visible,d=>{d?(setTimeout(c,0),setTimeout(()=>{document.addEventListener("click",s,!0),document.addEventListener("contextmenu",s,!0)},50)):(document.removeEventListener("click",s,!0),document.removeEventListener("contextmenu",s,!0))}),e.onUnmounted(()=>{document.removeEventListener("click",s,!0),document.removeEventListener("contextmenu",s,!0)}),(d,p)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[u.visible?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"menuRef",ref:n,class:"scada-context-menu",style:e.normalizeStyle(o.value),onClick:p[0]||(p[0]=e.withModifiers(()=>{},["stop"])),onContextmenu:p[1]||(p[1]=e.withModifiers(()=>{},["prevent"]))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.menuItems,m=>(e.openBlock(),e.createElementBlock("div",{key:m.key,class:e.normalizeClass(["scada-context-menu-item",{disabled:m.disabled,divider:m.divider}]),style:e.normalizeStyle(i(m)),onClick:h=>a(m)},[m.divider?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[m.icon?(e.openBlock(),e.createElementBlock("span",I_,e.toDisplayString(m.icon),1)):e.createCommentVNode("",!0),e.createElementVNode("span",A_,e.toDisplayString(m.label),1),m.hotkey?(e.openBlock(),e.createElementBlock("span",$_,e.toDisplayString(m.hotkey),1)):e.createCommentVNode("",!0)],64))],14,C_))),128))],36)):e.createCommentVNode("",!0)]))}}),B_={class:"scada-layout","data-scada-theme":"dark"},D_={class:"scada-canvas-container"},ic=Me(e.defineComponent({name:"ScadaCanvas",inheritAttrs:!0,__name:"ScadaCanvas",props:{authCode:{default:""},customFooter:{default:void 0},previewMode:{type:Boolean,default:!1},onSave:{type:Function,default:void 0},deviceData:{default:()=>({})},dataSource:{default:()=>({})}},emits:["preview"],setup(u,{expose:r,emit:t}){const l=u,n=t,o=e.ref(null),i=e.ref(null),a=e.ref(null),s=e.ref(0),c=e.ref(null),d=e.ref(!1),p=e.ref(!1),m=e.ref(!1),h=e.ref(!1);let f=null;const w=e.ref({visible:!1,position:{x:0,y:0},items:[],targetCell:null}),v=e.ref([]),S=e.computed(()=>l.deviceData&&Object.keys(l.deviceData).length>0?l.deviceData:{devices:Ke.getAllDevices().map(B=>({...B.device,_dataSourceId:B.dataSourceId,_dataSourceName:B.dataSourceName}))}),b=()=>{var N,T;const F=(T=(N=o.value)==null?void 0:N.containerRef)==null?void 0:T.parentElement;if(!F)return 1;const B=je.getConfig(),j=B.size.width,ie=B.size.height,de=F.clientWidth,pe=F.clientHeight,ye=40,K=de-ye,me=pe-ye,Ne=j/ie,ce=K/me;let Ie,g;Ne>ce?(Ie=K/j,g="width"):(Ie=me/ie,g="height");const y=Math.min(Ie,1);return console.log("📏 [Calculate Scale]",{canvasSize:{width:j,height:ie},canvasRatio:Ne.toFixed(2),areaSize:{width:de,height:pe},availableSize:{width:K,height:me},availableRatio:ce.toFixed(2),autoScale:Ie.toFixed(3),finalScale:y.toFixed(3),scaleBy:g,analysis:`画布${Ne>ce?"更宽":"更高"},以${g==="width"?"宽度":"高度"}为基准缩放`}),y},_=()=>{var y;if(!((y=o.value)!=null&&y.containerRef))return null;const F=je.getConfig(),B=F.size.width,j=F.size.height,ie=B/j,de=o.value.containerRef.parentElement;if(!de)return null;const pe=de.clientWidth,ye=de.clientHeight,K=40,me=pe-K,Ne=ye-K,ce=me/Ne;let Ie,g;return ie>ce?(Ie=me,g=me/ie):(g=Ne,Ie=Ne*ie),Ie=Math.min(Ie,B),g=Math.min(g,j),console.log("🎨 [Container Size]",{logicSize:{width:B,height:j},availableSize:{width:me,height:Ne},displaySize:{width:Math.round(Ie),height:Math.round(g)},canvasRatio:ie.toFixed(2),availableRatio:ce.toFixed(2),scaleBy:ie>ce?"width":"height",padding:K}),{width:Ie,height:g,canvasWidth:B,canvasHeight:j}},k=()=>{var ye;if(!f||!((ye=o.value)!=null&&ye.containerRef))return;const F=o.value.containerRef,B=_();if(!B)return;const{width:j,height:ie,canvasWidth:de,canvasHeight:pe}=B;if(F.style.width=`${j}px`,F.style.height=`${ie}px`,f){const K=j/de;f.scale(K,K),f.centerContent(),je.updateByPath("zoom.scale",Number(K.toFixed(2)))}console.log("📐 [Canvas Scale]",{logicSize:{width:de,height:pe},displaySize:{width:j,height:ie},x6Scale:f?(j/de).toFixed(3):"not created",containerStyle:{width:F.style.width,height:F.style.height},containerActual:{clientWidth:F.clientWidth,clientHeight:F.clientHeight,offsetWidth:F.offsetWidth,offsetHeight:F.offsetHeight},graphScale:f?f.scale():"not created yet",graphSize:f?{width:f.options.width,height:f.options.height}:"not created"})};e.onMounted(()=>{var me,Ne,ce;if(!((me=o.value)!=null&&me.containerRef))return;const F=je.getConfig(),B=()=>{const Ie=window.innerWidth;Ie<1024?(m.value=!0,h.value=!0):Ie<1440&&(m.value=!0,h.value=!1)};B(),window.addEventListener("resize",B),Le.Graph.registerEdge("animated-edge",{inherit:"edge",markup:[{tagName:"path",selector:"line",attrs:{fill:"none"}},{tagName:"path",selector:"wrap",attrs:{fill:"none",stroke:"rgba(0,0,0,0)",strokeWidth:20}},{tagName:"circle",selector:"circle"}],attrs:{line:{connection:!0,stroke:"#10b981",strokeWidth:2,targetMarker:{name:"block",width:8,height:6}},wrap:{connection:!0,strokeLinecap:"round",strokeLinejoin:"round"}}},!0);const j=er.getAllComponents();Object.values(j).forEach(Ie=>{Ie.component&&xc({shape:Ie.shape,width:Ie.width,height:Ie.height,component:Ie.component,ports:Ie.ports})});const ie=o.value.containerRef,de=F.size.width,pe=F.size.height,ye=b();console.log("🎬 [Canvas Init] 初始化画布",{initialScale:ye,canvasSize:{width:de,height:pe},containerElement:(Ne=o.value)==null?void 0:Ne.containerRef});const K=()=>{k()};if(window.addEventListener("resize",K),f=new Le.Graph({container:ie,width:de,height:pe,background:F.background.image?{color:F.background.color||"#1e293b",image:F.background.image,size:F.background.size||"cover",repeat:F.background.repeat||"no-repeat",position:"center"}:{color:F.background.color||"#1e293b"},grid:F.grid.enabled?{size:F.grid.size,visible:!0,type:F.grid.type||"dot",args:{color:F.grid.color||"#475569",thickness:1}}:!1,interacting:{nodeMovable:!l.previewMode},panning:{enabled:!0,modifiers:"shift"},mousewheel:{enabled:!0,modifiers:["ctrl","meta"]},connecting:{router:{name:"orth",args:{padding:10}},connector:{name:"rounded",args:{radius:8}},snap:F.magnetism.enabled?{radius:F.magnetism.threshold||10}:!1,allowBlank:!1,allowLoop:!1,allowNode:!1,allowEdge:!1,highlight:!0,createEdge(){return f.createEdge({shape:"animated-edge",zIndex:0})},validateConnection({targetMagnet:Ie}){return!!Ie}}}),!l.previewMode){console.log("🎯 [Selection Plugin] 初始化框选插件"),f.use(new zt.Selection({enabled:!0,movable:!0,rubberband:!0,showNodeSelectionBox:!1,showEdgeSelectionBox:!1,multiple:!0,pointerEvents:"none"})),f.on("selection:changed",({selected:g})=>{console.log("✅ [Selection] 选中变化:",g.length,"个元素")});let Ie=!1;f.on("blank:mousedown",g=>{Ie=!0;const{e:y,x:N,y:T}=g;console.log("🖱️ [Rubberband Start]",{clientX:y.clientX,clientY:y.clientY,graphX:N,graphY:T,containerTransform:ie.style.transform,containerRect:ie.getBoundingClientRect()})}),f.on("blank:mousemove",g=>{if(Ie){const{e:y,x:N,y:T}=g;console.log("🖱️ [Rubberband Move]",{clientX:y.clientX,clientY:y.clientY,graphX:N,graphY:T})}}),f.on("blank:mouseup",()=>{Ie&&(Ie=!1,console.log("🖱️ [Rubberband End]"))})}if(F.guides.enabled&&f.use(new mo.Snapline({enabled:!0,sharp:!0,clean:!0})),Promise.resolve().then(()=>{setTimeout(()=>{k()},100)}),pt.setGraph(f),cr.setGraph(f),Er.setGraph(f),It.setGraph(f),Zl.setGraph(f),Zl.initDataBinding(),tc.initialize(f,o,b,()=>{k()}),!l.previewMode){const Ie=Ui(ft.SCADA_EDITOR_DATA);if(((ce=Ie==null?void 0:Ie.cells)==null?void 0:ce.length)>0)try{const g=Ie.cells.map(y=>{var N;return y.position&&typeof y.position=="object"&&(typeof y.position.x!="number"||typeof y.position.y!="number")&&(y.position={x:100,y:100}),(y.shape==="edge"||y.shape==="animated-edge")&&(y.router==="manhattan"||((N=y.router)==null?void 0:N.name)==="manhattan")&&(y.router={name:"orth",args:{padding:10}}),y});f.fromJSON({cells:g}),f.getEdges().forEach(y=>{var T;const N=y.getData();(T=N==null?void 0:N.animation)!=null&&T.enabled&&P(y,N.animation)})}catch(g){console.error("恢复画布数据失败,清空缓存:",g),ao(ft.SCADA_EDITOR_DATA)}try{const g=localStorage.getItem("scada-data-sources");if(g){const y=JSON.parse(g);Array.isArray(y)&&y.length>0&&(y.forEach(N=>{const T={id:N.id,name:N.name,type:N.type,enabled:N.enabled,config:N.config,devices:[],status:{connected:!1}};Ke.addDataSource(T)}),setTimeout(()=>{v.value=Ke.getAllDataSources()},1500))}}catch(g){console.error("恢复数据源失败:",g)}}ec.initialize(f,{selectedNode:i,selectedEdge:a,selectedNodesCount:s,contextMenu:w,applyEdgeAnimation:P}),e.onUnmounted(()=>{ec.destroy(),window.removeEventListener("resize",K),window.removeEventListener("resize",B)})}),e.onUnmounted(()=>{if(Ke.disconnectAll(),f){Mt.clearAll();const F={cells:f.toJSON().cells,dataSources:Ke.getAllDataSources().map(B=>({id:B.id,name:B.name,type:B.type,enabled:B.enabled,config:B.config}))};lr(ft.SCADA_EDITOR_DATA,F),f.dispose()}}),e.watch(()=>je.getConfig(),()=>tc.applyConfigChanges(),{deep:!0}),e.watch([m,h],()=>{setTimeout(()=>{f&&k()},350)});const E=F=>{const B=cr.addNode(F);B&&f&&(f.cleanSelection(),f.select(B),lr(ft.SCADA_EDITOR_DATA,f.toJSON()))},I=F=>{i.value&&(cr.updateNode(i.value,F),f&&lr(ft.SCADA_EDITOR_DATA,f.toJSON()))},x=()=>{if(!i.value||!f)return;const F=i.value.id;cr.deleteNode(F),i.value=null,lr(ft.SCADA_EDITOR_DATA,f.toJSON())},V=F=>{a.value&&Er.updateEdge(a.value,F)},$=()=>{a.value&&(Er.deleteEdge(a.value.id),a.value=null)},C=F=>{var j,ie;if(!f)return;const B=w.value.targetCell;switch(F){case"delete":B&&(B.isNode()?(cr.deleteNode(B.id),((j=i.value)==null?void 0:j.id)===B.id&&(i.value=null)):B.isEdge()&&(Er.deleteEdge(B.id),((ie=a.value)==null?void 0:ie.id)===B.id&&(a.value=null)),It.saveToLocal());break;case"copy":if(B!=null&&B.isNode()){const de=cr.cloneNode(B);de&&f&&(f.cleanSelection(),f.select(de),It.saveToLocal())}break;case"to-front":B&&(B.toFront(),It.saveToLocal());break;case"to-back":B&&(B.toBack(),It.saveToLocal());break;case"select-all":f.select(f.getNodes());break;case"clear-all":A();break}},P=(F,B)=>{Er.applyEdgeAnimation(F,B)},A=()=>{f&&confirm("确定要清空画布吗?")&&(Mt.clearAll(),f.clearCells(),i.value=null,It.clearCache(),Xe("画布已清空","success"))},U=()=>pt.zoomIn(),Y=()=>pt.zoomOut(),z=()=>pt.alignLeft(),ue=()=>pt.alignCenter(),oe=()=>pt.alignRight(),re=()=>pt.alignTop(),fe=()=>pt.alignMiddle(),J=()=>pt.alignBottom(),se=()=>pt.distributeHorizontal(),R=()=>pt.distributeVertical(),Z=async()=>{if(!f){Xe("画布未初始化","error");return}try{if(console.log("[ScadaCanvas] handleSave 被调用"),console.log("[ScadaCanvas] props.onSave:",l.onSave),l.onSave){console.log("[ScadaCanvas] 调用自定义 onSave 回调");const B=l.onSave();B instanceof Promise&&await B,console.log("[ScadaCanvas] 自定义 onSave 回调执行完成");return}console.log("[ScadaCanvas] 没有自定义回调,执行默认下载"),It.exportToFile(`scada-canvas-${new Date().getTime()}.json`)?Xe("保存成功","success"):Xe("保存失败","error")}catch(F){console.error("保存失败",F),Xe("保存失败,请查看控制台","error")}},ge=()=>{c.value&&c.value.click()},H=F=>{var de;const j=(de=F.target.files)==null?void 0:de[0];if(!j){Xe("请选择文件","error");return}const ie=new FileReader;ie.onload=pe=>{var ye;try{const K=JSON.parse((ye=pe.target)==null?void 0:ye.result);It.importData(K,Ne=>{var Ie;const ce=Ne.getData();(Ie=ce==null?void 0:ce.animation)!=null&&Ie.enabled&&P(Ne,ce.animation)})&&(v.value=Ke.getAllDataSources()),c.value&&(c.value.value="")}catch(K){console.error("导入失败",K),Xe("导入失败,JSON格式错误","error"),c.value&&(c.value.value="")}},ie.readAsText(j)},Ve=()=>{if(!f){Xe("画布未初始化","error");return}n("preview")},ee=()=>{d.value=!0},G=()=>{p.value=!0,v.value=Ke.getAllDataSources();const F=setInterval(()=>{if(!p.value){clearInterval(F);return}v.value=Ke.getAllDataSources()},1e3)},le=()=>{try{const F=Ke.getAllDataSources().map(B=>({id:B.id,name:B.name,type:B.type,enabled:B.enabled,config:B.config}));localStorage.setItem("scada-data-sources",JSON.stringify(F)),console.log("[ScadaCanvas] 数据源配置已保存到 localStorage")}catch(F){console.error("保存数据源失败:",F)}},X=F=>{const B={id:"ds_"+Date.now(),...F,devices:[],status:{connected:!1}};console.log("[ScadaCanvas] 添加数据源:",B),Ke.addDataSource(B),setTimeout(()=>{v.value=Ke.getAllDataSources(),console.log("[ScadaCanvas] 数据源列表已更新:",v.value),le()},1e3),Xe(`数据源 "${B.name}" 创建成功`,"success")},te=F=>{Ke.updateDataSource(F.id,F),v.value=Ke.getAllDataSources(),le(),Xe(`数据源 "${F.name}" 更新成功`,"success")},ne=F=>{const B=Ke.getDataSource(F);Ke.removeDataSource(F),v.value=Ke.getAllDataSources(),le(),Xe(`数据源 "${B==null?void 0:B.name}" 已删除`,"success")},ve=()=>{if(!f){Xe("画布未初始化","error");return}try{const F=It.exportToFile("scada-export.json");F?Xe(`已导出为 ${F}`,"success"):Xe("导出失败","error")}catch(F){console.error("导出失败",F),Xe("导出失败,请查看控制台","error")}};return r({save:Z,importFile:ge,exportFile:ve,preview:Ve,workflow:ee,zoomIn:U,zoomOut:Y,clearAll:A,alignLeft:z,alignCenter:ue,alignRight:oe,alignTop:re,alignMiddle:fe,alignBottom:J,distributeHorizontal:se,distributeVertical:R,addNode:E,updateNode:I,deleteNode:x,getSelectedNode:()=>i.value,selectNode:F=>{if(!f)return!1;const B=f.getCellById(F);return B?(f.select(B),!0):!1},clearSelection:()=>{f&&(f.unselect(f.getSelectedCells()),i.value=null)},getGraph:()=>f,getCanvasData:()=>f?{version:"1.0.0",timestamp:lo(co()),config:je.getConfig(),cells:f.toJSON().cells,nodes:f.getNodes().map(F=>({id:F.id,type:F.shape,position:F.getPosition(),size:F.getSize(),label:F.attr("label/text"),data:F.getData()})),edges:f.getEdges().map(F=>({id:F.id,source:F.getSourceCellId(),target:F.getTargetCellId()}))}:null,loadCanvasData:F=>{if(!f)return!1;try{return f.clearCells(),f.fromJSON({cells:F.cells}),F.config&&je.updateConfig(F.config),f.getEdges().forEach(B=>{var ie;const j=B.getData();(ie=j==null?void 0:j.animation)!=null&&ie.enabled&&P(B,j.animation)}),!0}catch(B){return console.error("加载画布数据失败:",B),!1}},getAllNodes:()=>f?f.getNodes().map(F=>({id:F.id,type:F.shape,position:F.getPosition(),size:F.getSize(),label:F.attr("label/text"),data:F.getData()})):[],getNodeById:F=>{if(!f)return null;const B=f.getCellById(F);if(!B||!B.isNode())return null;const j=B;return{id:j.id,type:j.shape,position:j.getPosition(),size:j.getSize(),label:j.attr("label/text"),data:j.getData()}},getConfigManager:()=>je,updateCanvasConfig:F=>{je.updateConfig(F)},setZoom:F=>{je.setZoom(F)},setCanvasSize:(F,B)=>{je.updateSize({width:F,height:B})},setBackgroundColor:F=>{je.updateBackground({color:F})},updateDeviceData:F=>{f&&(F!=null&&F.devices)&&F.devices.forEach(B=>{var j;(j=B.points)==null||j.forEach(ie=>{f&&f.getNodes().forEach(de=>{const pe=de.getData();pe!=null&&pe.bindings&&Object.entries(pe.bindings).forEach(([ye,K])=>{if(K.deviceId===B.id&&K.dataPoint===ie.id){const me=ie.value;if(ye==="attrs/text/text")de.attr("text/text",me);else if(ye==="attrs/body/fill")de.attr("body/fill",me);else{const Ne=ye.split(".");let ce=de;for(let g=0;g<Ne.length-1;g++)ce=ce[Ne[g]];const Ie=Ne[Ne.length-1];ce&&Ie&&(ce[Ie]=me)}}})})})})},getAnimationEngine:()=>Mt}),(F,B)=>(e.openBlock(),e.createElementBlock("div",B_,[l.previewMode?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(go,{key:0,"selected-nodes-count":s.value,onSave:Z,onImport:ge,onWorkflow:ee,onDataSource:G,onPreview:Ve,onExport:ve,onZoomIn:U,onZoomOut:Y,onClearAll:A,onAlignLeft:z,onAlignCenter:ue,onAlignRight:oe,onAlignTop:re,onAlignMiddle:fe,onAlignBottom:J,onDistributeHorizontal:se,onDistributeVertical:R},null,8,["selected-nodes-count"])),l.previewMode?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("input",{key:1,ref_key:"fileInputRef",ref:c,type:"file",accept:".json",style:{display:"none"},onChange:H},null,544)),e.createElementVNode("div",D_,[l.previewMode?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(wo,{key:0,"is-collapsed":m.value,"onUpdate:collapsed":B[0]||(B[0]=j=>m.value=j),onAddComponent:E},null,8,["is-collapsed"])),e.createVNode(Em,{ref_key:"canvasAreaRef",ref:o},null,512),l.previewMode?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(Wi,{key:1,ref:"propertyPanelRef","selected-node":i.value,"selected-edge":a.value,"device-data":S.value,"is-collapsed":h.value,"onUpdate:collapsed":B[1]||(B[1]=j=>h.value=j),onUpdateNode:I,onDeleteNode:x,onUpdateEdge:V,onDeleteEdge:$},null,8,["selected-node","selected-edge","device-data","is-collapsed"]))]),e.createVNode(Fv,{"auth-code":u.authCode,"custom-footer":u.customFooter},null,8,["auth-code","custom-footer"]),l.previewMode?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(V2,{key:2,visible:d.value,"onUpdate:visible":B[2]||(B[2]=j=>d.value=j),"scada-graph":e.unref(f),onClose:B[3]||(B[3]=j=>d.value=!1)},null,8,["visible","scada-graph"])),p.value&&!l.previewMode?(e.openBlock(),e.createBlock(V_,{key:3,"data-sources":v.value,onClose:B[4]||(B[4]=j=>p.value=!1),onAdd:X,onSave:te,onDelete:ne},null,8,["data-sources"])):e.createCommentVNode("",!0),l.previewMode?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(T_,{key:4,visible:w.value.visible,"onUpdate:visible":B[5]||(B[5]=j=>w.value.visible=j),position:w.value.position,"menu-items":w.value.items,onMenuClick:C},null,8,["visible","position","menu-items"]))]))}}),[["__scopeId","data-v-876a84a6"]]);var sc=(u=>(u.BOOLEAN="boolean",u.NUMBER="number",u.STRING="string",u))(sc||{}),ac=(u=>(u.READ="read",u.WRITE="write",u.READ_WRITE="readWrite",u))(ac||{}),lc=(u=>(u.ONLINE="online",u.OFFLINE="offline",u.ERROR="error",u.MAINTENANCE="maintenance",u))(lc||{}),cc=(u=>(u.PLC="plc",u.SENSOR="sensor",u.ACTUATOR="actuator",u.METER="meter",u.CAMERA="camera",u.OTHER="other",u))(cc||{});const P_={ScadaCanvas:ic,PropertyPanel:Wi,Header:go,ComponentLibrary:wo,CanvasConfigPanel:Eo,BindingCard:Oi,EventCard:Pi,BasicPropertiesTab:vo,AttributeConfigDialog:Mi,CustomCodeDialog:Ri},dc=u=>{Object.entries(P_).forEach(([r,t])=>{u.component(r,t)})},O_={install:dc,version:"1.0.0"};$e.AttributeConfigDialog=Mi,$e.BasicComponents=td,$e.BasicPropertiesTab=vo,$e.BindingCard=Oi,$e.CanvasConfigPanel=Eo,$e.ComponentLibrary=wo,$e.CustomCodeDialog=Ri,$e.DeviceStatus=lc,$e.DeviceType=cc,$e.EventCard=Pi,$e.Header=go,$e.IoTComponents=om,$e.PointAccessMode=ac,$e.PointDataType=sc,$e.PropertyPanel=Wi,$e.STORAGE_KEYS=ft,$e.ScadaCanvas=ic,$e.animationEngine=Mt,$e.canvasConfigItems=im,$e.canvasConfigManager=je,$e.componentRegistry=er,$e.default=O_,$e.defaultCanvasConfig=bo,$e.exportToJSON=XE,$e.formatTimestamp=lo,$e.generateEventId=Jl,$e.generateNodeId=ZE,$e.generateUniqueId=Fi,$e.getCurrentTimestamp=co,$e.install=dc,$e.loadFromLocal=Ui,$e.randomPosition=Xl,$e.registerNodeEvents=JE,$e.removeFromLocal=ao,$e.saveToLocal=lr,$e.showMessage=Xe,$e.sizePresetMap=dr,Object.defineProperties($e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
62
+ 是否继续保存?`,!confirm($))return}const v=prompt("请输入流程名称:","未命名流程");if(!v||!v.trim())return;const V=n.toJSON(),T=n.getNodes().map($=>({id:$.id,shape:$.shape,position:$.getPosition(),size:$.getSize(),attrs:$.getAttrs(),data:$.getData()})),C=n.getEdges().map($=>({id:$.id,source:$.getSourceCellId(),target:$.getTargetCellId(),attrs:$.getAttrs(),data:$.getData()})),I={id:"workflow_"+Date.now(),name:v.trim(),data:{...V,nodes:T,edges:C},createdAt:Date.now(),updatedAt:Date.now()};try{const $=localStorage.getItem("saved-workflows"),x=$?JSON.parse($):[];x.push(I),localStorage.setItem("saved-workflows",JSON.stringify(x)),alert("✓ 流程保存成功!"),console.log("流程已保存:",I)}catch($){console.error("保存流程失败:",$),alert("保存失败,请重试")}};e.onMounted(()=>{d(),window.addEventListener("resize",b)});const b=()=>{!n||!a.value||n.resize(a.value.clientWidth,a.value.clientHeight)};return e.onBeforeUnmount(()=>{window.removeEventListener("resize",b);const E=k=>{if(k.key==="Delete"||k.key==="Backspace"){if(!n)return;const v=n.getSelectedCells();v.length&&(k.preventDefault(),n.removeCells(v),o.value&&v.includes(o.value.cell)&&(o.value=null))}};document.removeEventListener("keydown",E),n&&n.dispose()}),(E,k)=>(e.openBlock(),e.createElementBlock("div",v2,[e.createVNode(f2,{"show-close":u.showClose,onClear:f,onValidate:N,onSave:S,onClose:k[0]||(k[0]=v=>E.$emit("close"))},null,8,["show-close"]),e.createElementVNode("div",k2,[e.createElementVNode("div",_2,[e.createElementVNode("div",{id:"workflow-container",ref_key:"containerRef",ref:a},null,512)]),e.createVNode(c2,{"selected-cell":o.value,"onUpdate:label":m},null,8,["selected-cell"])]),e.createVNode(w2,{visible:i.value,position:l.value,"node-types":r.value,onClose:k[1]||(k[1]=v=>i.value=!1),onSelect:p},null,8,["visible","position","node-types"])]))}}),[["__scopeId","data-v-649349a2"]]),S2={key:0,class:"workflow-dialog-overlay"},x2={class:"workflow-dialog"},V2=Me(e.defineComponent({__name:"WorkflowDialog",props:{visible:{type:Boolean},scadaGraph:{default:null}},emits:["update:visible","close"],setup(u,{emit:t}){const r=u,a=t;e.watch(()=>r.visible,i=>{i?document.body.style.overflow="hidden":document.body.style.overflow=""});const n=()=>{a("update:visible",!1),a("close")},o=i=>{i.key==="Escape"&&r.visible&&n()};return typeof window<"u"&&window.addEventListener("keydown",o),(i,l)=>u.visible?(e.openBlock(),e.createElementBlock("div",S2,[e.createElementVNode("div",x2,[e.createVNode(N2,{"scada-graph":u.scadaGraph,"show-close":!0,onClose:n},null,8,["scada-graph"])])])):e.createCommentVNode("",!0)}}),[["__scopeId","data-v-4e7f6ab7"]]),C2={class:"dialog-container"},I2={class:"dialog-body"},A2={class:"datasource-list-panel"},T2={class:"datasource-list"},$2={key:0,class:"empty-hint"},B2=["onClick"],D2={class:"datasource-header"},P2={class:"datasource-info"},O2={class:"datasource-name"},M2={class:"datasource-type"},R2=["title"],j2={class:"datasource-meta"},L2={class:"device-count"},U2={class:"datasource-detail-panel"},F2={key:0,class:"empty-state"},z2={key:1,class:"detail-content"},W2={class:"detail-header"},q2={class:"detail-actions"},G2={class:"detail-form"},H2={class:"form-section"},K2={class:"form-item"},Y2={class:"form-item"},Q2=["disabled"],J2={class:"form-item"},X2={class:"switch"},Z2={key:0,class:"form-section"},e_={class:"form-item"},t_={class:"form-item"},r_={class:"form-item"},o_={class:"form-item"},n_={class:"form-item"},i_={key:1,class:"form-section"},a_={class:"form-item"},s_={key:2,class:"form-section"},l_={class:"form-item"},c_={class:"form-item"},d_={class:"form-item"},u_={key:3,class:"form-section"},f_={class:"form-item"},p_={class:"form-item"},h_={key:4,class:"form-section"},m_={class:"device-list"},g_={class:"device-info"},y_={class:"device-name"},b_={class:"device-id"},w_={class:"point-count"},E_={key:5,class:"form-section"},v_={class:"status-info"},k_={class:"status-row"},__={key:0,class:"status-row"},N_={class:"status-value"},S_={key:1,class:"status-row error"},x_={class:"status-value"},V_=Me(e.defineComponent({__name:"DataSourceDialog",props:{dataSources:{}},emits:["close","save","delete","add"],setup(u,{emit:t}){const r=t,a=e.ref(null),n=e.ref(!1),o=e.ref({name:"",type:"MQTT",enabled:!0,config:{broker:"",topic:"",clientId:"",username:"",password:"",wsUrl:"",url:"",method:"GET",pollInterval:5e3,sseUrl:"",eventType:""}}),i=m=>{a.value=m,n.value=!1,o.value={name:m.name,type:m.type,enabled:m.enabled,config:{...m.config}}},l=()=>{a.value=null,n.value=!0,o.value={name:"",type:"MQTT",enabled:!0,config:{broker:"mqtt://broker.emqx.io",topic:"/devices/+/data",clientId:"scada_"+Date.now(),username:"",password:""}}},s=()=>{if(!o.value.name){alert("请输入数据源名称");return}n.value?(r("add",{name:o.value.name,type:o.value.type,enabled:o.value.enabled,config:o.value.config}),n.value=!1):a.value&&r("save",{...a.value,name:o.value.name,type:o.value.type,enabled:o.value.enabled,config:o.value.config})},c=()=>{a.value&&confirm(`确定要删除数据源"${a.value.name}"吗?`)&&(r("delete",a.value.id),a.value=null,n.value=!1)},d=()=>{r("close")},h=m=>new Date(m).toLocaleString("zh-CN");return(m,p)=>{var f;return e.openBlock(),e.createElementBlock("div",{class:"dialog-overlay",onClick:e.withModifiers(d,["self"])},[e.createElementVNode("div",C2,[e.createElementVNode("div",{class:"dialog-header"},[p[14]||(p[14]=e.createElementVNode("h3",null,"数据源管理",-1)),e.createElementVNode("button",{class:"btn-close",onClick:d},"✕")]),e.createElementVNode("div",I2,[e.createElementVNode("div",A2,[e.createElementVNode("div",{class:"panel-header"},[p[15]||(p[15]=e.createElementVNode("span",null,"数据源列表",-1)),e.createElementVNode("button",{class:"btn-add",onClick:l},"+ 添加")]),e.createElementVNode("div",T2,[u.dataSources.length===0?(e.openBlock(),e.createElementBlock("div",$2," 暂无数据源 ")):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.dataSources,w=>{var N,S,b;return e.openBlock(),e.createElementBlock("div",{key:w.id,class:e.normalizeClass(["datasource-item",{active:((N=a.value)==null?void 0:N.id)===w.id}]),onClick:E=>i(w)},[e.createElementVNode("div",D2,[e.createElementVNode("div",P2,[e.createElementVNode("span",O2,e.toDisplayString(w.name),1),e.createElementVNode("span",M2,e.toDisplayString(w.type),1)]),e.createElementVNode("span",{class:e.normalizeClass(["status-dot",(S=w.status)!=null&&S.connected?"connected":"disconnected"]),title:(b=w.status)!=null&&b.connected?"已连接":"未连接"},null,10,R2)]),e.createElementVNode("div",j2,[e.createElementVNode("span",L2,e.toDisplayString(w.devices.length)+" 个设备",1)])],10,B2)}),128))])]),e.createElementVNode("div",U2,[!a.value&&!n.value?(e.openBlock(),e.createElementBlock("div",F2,[...p[16]||(p[16]=[e.createElementVNode("p",null,"请选择左侧数据源查看详情",-1)])])):(e.openBlock(),e.createElementBlock("div",z2,[e.createElementVNode("div",W2,[e.createElementVNode("h4",null,e.toDisplayString(n.value?"新建数据源":"数据源详情"),1),e.createElementVNode("div",q2,[n.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("button",{key:0,class:"btn-secondary",onClick:c}," 删除 ")),e.createElementVNode("button",{class:"btn-primary",onClick:s},e.toDisplayString(n.value?"创建":"保存"),1)])]),e.createElementVNode("div",G2,[e.createElementVNode("div",H2,[p[22]||(p[22]=e.createElementVNode("h5",null,"基本信息",-1)),e.createElementVNode("div",K2,[p[17]||(p[17]=e.createElementVNode("label",null,"名称",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":p[0]||(p[0]=w=>o.value.name=w),type:"text",placeholder:"例如:主机房 MQTT"},null,512),[[e.vModelText,o.value.name]])]),e.createElementVNode("div",Y2,[p[19]||(p[19]=e.createElementVNode("label",null,"类型",-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":p[1]||(p[1]=w=>o.value.type=w),disabled:!n.value},[...p[18]||(p[18]=[e.createElementVNode("option",{value:"MQTT"},"MQTT",-1),e.createElementVNode("option",{value:"WebSocket"},"WebSocket",-1),e.createElementVNode("option",{value:"HTTP"},"HTTP",-1),e.createElementVNode("option",{value:"SSE"},"SSE",-1)])],8,Q2),[[e.vModelSelect,o.value.type]])]),e.createElementVNode("div",J2,[p[21]||(p[21]=e.createElementVNode("label",null,"启用",-1)),e.createElementVNode("label",X2,[e.withDirectives(e.createElementVNode("input",{type:"checkbox","onUpdate:modelValue":p[2]||(p[2]=w=>o.value.enabled=w)},null,512),[[e.vModelCheckbox,o.value.enabled]]),p[20]||(p[20]=e.createElementVNode("span",{class:"slider"},null,-1))])])]),o.value.type==="MQTT"?(e.openBlock(),e.createElementBlock("div",Z2,[p[29]||(p[29]=e.createElementVNode("h5",null,"MQTT 配置",-1)),e.createElementVNode("div",e_,[p[23]||(p[23]=e.createElementVNode("label",null,"Broker 地址",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":p[3]||(p[3]=w=>o.value.config.broker=w),type:"text",placeholder:"mqtt://broker.emqx.io 或 ws://broker.emqx.io:8083/mqtt"},null,512),[[e.vModelText,o.value.config.broker]]),p[24]||(p[24]=e.createElementVNode("span",{class:"form-hint"},"💡 浏览器会自动转换为 WebSocket,EMQX 公共服务器使用 8083 端口",-1))]),e.createElementVNode("div",t_,[p[25]||(p[25]=e.createElementVNode("label",null,"订阅主题",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":p[4]||(p[4]=w=>o.value.config.topic=w),type:"text",placeholder:"/devices/+/data"},null,512),[[e.vModelText,o.value.config.topic]])]),e.createElementVNode("div",r_,[p[26]||(p[26]=e.createElementVNode("label",null,"客户端 ID",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":p[5]||(p[5]=w=>o.value.config.clientId=w),type:"text",placeholder:"自动生成"},null,512),[[e.vModelText,o.value.config.clientId]])]),e.createElementVNode("div",o_,[p[27]||(p[27]=e.createElementVNode("label",null,"用户名",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":p[6]||(p[6]=w=>o.value.config.username=w),type:"text",placeholder:"可选"},null,512),[[e.vModelText,o.value.config.username]])]),e.createElementVNode("div",n_,[p[28]||(p[28]=e.createElementVNode("label",null,"密码",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":p[7]||(p[7]=w=>o.value.config.password=w),type:"password",placeholder:"可选"},null,512),[[e.vModelText,o.value.config.password]])])])):e.createCommentVNode("",!0),o.value.type==="WebSocket"?(e.openBlock(),e.createElementBlock("div",i_,[p[31]||(p[31]=e.createElementVNode("h5",null,"WebSocket 配置",-1)),e.createElementVNode("div",a_,[p[30]||(p[30]=e.createElementVNode("label",null,"服务地址",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":p[8]||(p[8]=w=>o.value.config.wsUrl=w),type:"text",placeholder:"ws://localhost:8080"},null,512),[[e.vModelText,o.value.config.wsUrl]])])])):e.createCommentVNode("",!0),o.value.type==="HTTP"?(e.openBlock(),e.createElementBlock("div",s_,[p[36]||(p[36]=e.createElementVNode("h5",null,"HTTP 配置",-1)),e.createElementVNode("div",l_,[p[32]||(p[32]=e.createElementVNode("label",null,"接口地址",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":p[9]||(p[9]=w=>o.value.config.url=w),type:"text",placeholder:"https://api.example.com/data"},null,512),[[e.vModelText,o.value.config.url]])]),e.createElementVNode("div",c_,[p[34]||(p[34]=e.createElementVNode("label",null,"请求方法",-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":p[10]||(p[10]=w=>o.value.config.method=w)},[...p[33]||(p[33]=[e.createElementVNode("option",{value:"GET"},"GET",-1),e.createElementVNode("option",{value:"POST"},"POST",-1)])],512),[[e.vModelSelect,o.value.config.method]])]),e.createElementVNode("div",d_,[p[35]||(p[35]=e.createElementVNode("label",null,"轮询间隔 (ms)",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":p[11]||(p[11]=w=>o.value.config.pollInterval=w),type:"number",min:"1000",step:"1000"},null,512),[[e.vModelText,o.value.config.pollInterval,void 0,{number:!0}]])])])):e.createCommentVNode("",!0),o.value.type==="SSE"?(e.openBlock(),e.createElementBlock("div",u_,[p[39]||(p[39]=e.createElementVNode("h5",null,"SSE 配置",-1)),e.createElementVNode("div",f_,[p[37]||(p[37]=e.createElementVNode("label",null,"服务地址",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":p[12]||(p[12]=w=>o.value.config.sseUrl=w),type:"text",placeholder:"https://api.example.com/events"},null,512),[[e.vModelText,o.value.config.sseUrl]])]),e.createElementVNode("div",p_,[p[38]||(p[38]=e.createElementVNode("label",null,"事件类型",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":p[13]||(p[13]=w=>o.value.config.eventType=w),type:"text",placeholder:"留空表示所有事件"},null,512),[[e.vModelText,o.value.config.eventType]])])])):e.createCommentVNode("",!0),a.value&&a.value.devices.length>0?(e.openBlock(),e.createElementBlock("div",h_,[p[40]||(p[40]=e.createElementVNode("h5",null,"已接收设备",-1)),e.createElementVNode("div",m_,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value.devices,w=>(e.openBlock(),e.createElementBlock("div",{key:w.id,class:"device-item"},[e.createElementVNode("div",g_,[e.createElementVNode("span",y_,e.toDisplayString(w.name),1),e.createElementVNode("span",b_,e.toDisplayString(w.id),1)]),e.createElementVNode("span",w_,e.toDisplayString(w.points.length)+" 个点位",1)]))),128))])])):e.createCommentVNode("",!0),(f=a.value)!=null&&f.status?(e.openBlock(),e.createElementBlock("div",E_,[p[44]||(p[44]=e.createElementVNode("h5",null,"连接状态",-1)),e.createElementVNode("div",v_,[e.createElementVNode("div",k_,[p[41]||(p[41]=e.createElementVNode("span",null,"状态:",-1)),e.createElementVNode("span",{class:e.normalizeClass(["status-badge",a.value.status.connected?"connected":"disconnected"])},e.toDisplayString(a.value.status.connected?"已连接":"未连接"),3)]),a.value.status.lastUpdate?(e.openBlock(),e.createElementBlock("div",__,[p[42]||(p[42]=e.createElementVNode("span",null,"最后更新:",-1)),e.createElementVNode("span",N_,e.toDisplayString(h(a.value.status.lastUpdate)),1)])):e.createCommentVNode("",!0),a.value.status.error?(e.openBlock(),e.createElementBlock("div",S_,[p[43]||(p[43]=e.createElementVNode("span",null,"错误:",-1)),e.createElementVNode("span",x_,e.toDisplayString(a.value.status.error),1)])):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0)])]))])])])])}}}),[["__scopeId","data-v-b12950a1"]]),C_=["onClick"],I_={key:0,class:"scada-menu-icon"},A_={class:"scada-menu-text"},T_={key:1,class:"scada-menu-hotkey"},$_=e.defineComponent({__name:"ContextMenu",props:{visible:{type:Boolean,default:!1},position:{default:()=>({x:0,y:0})},menuItems:{default:()=>[]}},emits:["update:visible","menu-click"],setup(u,{emit:t}){const r=u,a=t,n=e.ref(),o=e.computed(()=>({position:"fixed",left:r.position.x+"px",top:r.position.y+"px",zIndex:99999,background:"#1f1f1f",border:"1px solid #3c3c3c",borderRadius:"4px",boxShadow:"0 4px 12px rgba(0, 0, 0, 0.5)",minWidth:"180px",padding:"6px 0",userSelect:"none",pointerEvents:"auto",margin:"0",boxSizing:"border-box",color:"#fff",fontSize:"13px"})),i=d=>d.divider?{height:"1px",margin:"4px 8px",padding:"0",backgroundColor:"#3c3c3c",border:"none"}:{display:"flex",alignItems:"center",padding:"6px 12px",fontSize:"13px",color:d.disabled?"#666666":"#fff",cursor:d.disabled?"not-allowed":"pointer",margin:"0",border:"none",lineHeight:"1.2",minHeight:"28px",backgroundColor:"transparent"},l=d=>{var h;d.disabled||d.divider||(a("menu-click",d.key),(h=d.onClick)==null||h.call(d),a("update:visible",!1))},s=d=>{n.value&&!n.value.contains(d.target)&&a("update:visible",!1)},c=()=>{};return e.watch(()=>r.visible,d=>{d?(setTimeout(c,0),setTimeout(()=>{document.addEventListener("click",s,!0),document.addEventListener("contextmenu",s,!0)},50)):(document.removeEventListener("click",s,!0),document.removeEventListener("contextmenu",s,!0))}),e.onUnmounted(()=>{document.removeEventListener("click",s,!0),document.removeEventListener("contextmenu",s,!0)}),(d,h)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[u.visible?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"menuRef",ref:n,class:"scada-context-menu",style:e.normalizeStyle(o.value),onClick:h[0]||(h[0]=e.withModifiers(()=>{},["stop"])),onContextmenu:h[1]||(h[1]=e.withModifiers(()=>{},["prevent"]))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.menuItems,m=>(e.openBlock(),e.createElementBlock("div",{key:m.key,class:e.normalizeClass(["scada-context-menu-item",{disabled:m.disabled,divider:m.divider}]),style:e.normalizeStyle(i(m)),onClick:p=>l(m)},[m.divider?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[m.icon?(e.openBlock(),e.createElementBlock("span",I_,e.toDisplayString(m.icon),1)):e.createCommentVNode("",!0),e.createElementVNode("span",A_,e.toDisplayString(m.label),1),m.hotkey?(e.openBlock(),e.createElementBlock("span",T_,e.toDisplayString(m.hotkey),1)):e.createCommentVNode("",!0)],64))],14,C_))),128))],36)):e.createCommentVNode("",!0)]))}}),B_={class:"scada-layout","data-scada-theme":"dark"},D_={class:"scada-canvas-container"},ic=Me(e.defineComponent({name:"ScadaCanvas",inheritAttrs:!0,__name:"ScadaCanvas",props:{authCode:{default:""},customFooter:{default:void 0},previewMode:{type:Boolean,default:!1},onSave:{type:Function,default:void 0},deviceData:{default:()=>({})},dataSource:{default:()=>({})}},emits:["preview"],setup(u,{expose:t,emit:r}){const a=u,n=r,o=e.ref(null),i=e.ref(null),l=e.ref(null),s=e.ref(0),c=e.ref(null),d=e.ref(!1),h=e.ref(!1),m=e.ref(!1),p=e.ref(!1);let f=null;const w=e.ref({visible:!1,position:{x:0,y:0},items:[],targetCell:null}),N=e.ref([]),S=e.computed(()=>a.deviceData&&Object.keys(a.deviceData).length>0?a.deviceData:{devices:He.getAllDevices().map(D=>({...D.device,_dataSourceId:D.dataSourceId,_dataSourceName:D.dataSourceName}))}),b=()=>{var y,_;const K=(_=(y=o.value)==null?void 0:y.containerRef)==null?void 0:_.parentElement;if(!K)return 1;const D=je.getConfig(),F=D.size.width,ae=D.size.height,ue=K.clientWidth,fe=K.clientHeight,ge=40,X=ue-ge,me=fe-ge,Ne=F/ae,ce=X/me;let Ve;return Ne>ce?Ve=X/F:Ve=me/ae,Math.min(Ve,1)},E=()=>{var y;if(!((y=o.value)!=null&&y.containerRef))return null;const K=je.getConfig(),D=K.size.width,F=K.size.height,ae=D/F,ue=o.value.containerRef.parentElement;if(!ue)return null;const fe=ue.clientWidth,ge=ue.clientHeight,X=40,me=fe-X,Ne=ge-X,ce=me/Ne;let Ve,g;return ae>ce?(Ve=me,g=me/ae):(g=Ne,Ve=Ne*ae),Ve=Math.min(Ve,D),g=Math.min(g,F),{width:Ve,height:g,canvasWidth:D,canvasHeight:F}},k=()=>{var fe;if(!f||!((fe=o.value)!=null&&fe.containerRef))return;const K=o.value.containerRef,D=E();if(!D)return;const{width:F,height:ae,canvasWidth:ue}=D;if(K.style.width=`${F}px`,K.style.height=`${ae}px`,f){const ge=F/ue;f.scale(ge,ge),f.centerContent(),je.updateByPath("zoom.scale",Number(ge.toFixed(2)))}};e.onMounted(()=>{var me,Ne,ce;if(!((me=o.value)!=null&&me.containerRef))return;const K=je.getConfig(),D=()=>{const Ve=window.innerWidth;Ve<1024?(m.value=!0,p.value=!0):Ve<1440&&(m.value=!0,p.value=!1)};D(),window.addEventListener("resize",D),Le.Graph.registerEdge("animated-edge",{inherit:"edge",markup:[{tagName:"path",selector:"line",attrs:{fill:"none"}},{tagName:"path",selector:"wrap",attrs:{fill:"none",stroke:"rgba(0,0,0,0)",strokeWidth:20}},{tagName:"circle",selector:"circle"}],attrs:{line:{connection:!0,stroke:"#10b981",strokeWidth:2,targetMarker:{name:"block",width:8,height:6}},wrap:{connection:!0,strokeLinecap:"round",strokeLinejoin:"round"}}},!0);const F=$t.getAllComponents();Object.values(F).forEach(Ve=>{Ve.component&&Sc({shape:Ve.shape,width:Ve.width,height:Ve.height,component:Ve.component,ports:Ve.ports})});const ae=o.value.containerRef,ue=K.size.width,fe=K.size.height,ge=b();console.log("🎬 [Canvas Init] 初始化画布",{initialScale:ge,canvasSize:{width:ue,height:fe},containerElement:(Ne=o.value)==null?void 0:Ne.containerRef});const X=()=>{k()};if(window.addEventListener("resize",X),f=new Le.Graph({container:ae,width:ue,height:fe,background:K.background.image?{color:K.background.color||"#1e293b",image:K.background.image,size:K.background.size||"cover",repeat:K.background.repeat||"no-repeat",position:"center"}:{color:K.background.color||"#1e293b"},grid:K.grid.enabled?{size:K.grid.size,visible:!0,type:K.grid.type||"dot",args:{color:K.grid.color||"#475569",thickness:1}}:!1,interacting:{nodeMovable:!a.previewMode},panning:{enabled:!0,modifiers:"shift"},mousewheel:{enabled:!0,modifiers:["ctrl","meta"]},connecting:{router:{name:"orth",args:{padding:10}},connector:{name:"rounded",args:{radius:8}},snap:K.magnetism.enabled?{radius:K.magnetism.threshold||10}:!1,allowBlank:!1,allowLoop:!1,allowNode:!1,allowEdge:!1,highlight:!0,createEdge(){return f.createEdge({shape:"animated-edge",zIndex:0})},validateConnection({targetMagnet:Ve}){return!!Ve}}}),!a.previewMode){console.log("🎯 [Selection Plugin] 初始化框选插件"),f.use(new Gt.Selection({enabled:!0,movable:!0,rubberband:!0,showNodeSelectionBox:!1,showEdgeSelectionBox:!1,multiple:!0,pointerEvents:"none"})),f.on("selection:changed",({selected:g})=>{console.log("✅ [Selection] 选中变化:",g.length,"个元素")});let Ve=!1;f.on("blank:mousedown",g=>{Ve=!0;const{e:y,x:_,y:B}=g;console.log("🖱️ [Rubberband Start]",{clientX:y.clientX,clientY:y.clientY,graphX:_,graphY:B,containerTransform:ae.style.transform,containerRect:ae.getBoundingClientRect()})}),f.on("blank:mousemove",g=>{if(Ve){const{e:y,x:_,y:B}=g;console.log("🖱️ [Rubberband Move]",{clientX:y.clientX,clientY:y.clientY,graphX:_,graphY:B})}}),f.on("blank:mouseup",()=>{Ve&&(Ve=!1,console.log("🖱️ [Rubberband End]"))})}if(K.guides.enabled&&f.use(new go.Snapline({enabled:!0,sharp:!0,clean:!0})),Promise.resolve().then(()=>{setTimeout(()=>{k()},100)}),ht.setGraph(f),dr.setGraph(f),vr.setGraph(f),At.setGraph(f),nv.setGraph(f),tc.initialize(f,o,b,()=>{k()}),!a.previewMode){const Ve=Fi(pt.SCADA_EDITOR_DATA);if(((ce=Ve==null?void 0:Ve.cells)==null?void 0:ce.length)>0)try{const g=Ve.cells.map(y=>{var _;return y.position&&typeof y.position=="object"&&(typeof y.position.x!="number"||typeof y.position.y!="number")&&(y.position={x:100,y:100}),(y.shape==="edge"||y.shape==="animated-edge")&&(y.router==="manhattan"||((_=y.router)==null?void 0:_.name)==="manhattan")&&(y.router={name:"orth",args:{padding:10}}),y});f.fromJSON({cells:g}),f.getEdges().forEach(y=>{var B;const _=y.getData();(B=_==null?void 0:_.animation)!=null&&B.enabled&&$(y,_.animation)})}catch(g){console.error("恢复画布数据失败,清空缓存:",g),lo(pt.SCADA_EDITOR_DATA)}try{const g=localStorage.getItem("scada-data-sources");if(g){const y=JSON.parse(g);Array.isArray(y)&&y.length>0&&(y.forEach(_=>{const B={id:_.id,name:_.name,type:_.type,enabled:_.enabled!==!1,config:_.config,devices:[],status:{connected:!1}};He.addDataSource(B)}),N.value=He.getAllDataSources())}}catch(g){console.error("[恢复数据源失败:",g)}}ec.initialize(f,{selectedNode:i,selectedEdge:l,selectedNodesCount:s,contextMenu:w,applyEdgeAnimation:$}),e.onUnmounted(()=>{ec.destroy(),window.removeEventListener("resize",X),window.removeEventListener("resize",D)})}),e.onUnmounted(()=>{if(He.disconnectAll(),f){Lt.clearAll();const K={cells:f.toJSON().cells,dataSources:He.getAllDataSources().map(D=>({id:D.id,name:D.name,type:D.type,enabled:D.enabled,config:D.config}))};cr(pt.SCADA_EDITOR_DATA,K),f.dispose()}}),e.watch(()=>je.getConfig(),()=>tc.applyConfigChanges(),{deep:!0}),e.watch([m,p],()=>{setTimeout(()=>{f&&k()},350)});const v=K=>{const D=dr.addNode(K);D&&f&&(f.cleanSelection(),f.select(D),cr(pt.SCADA_EDITOR_DATA,f.toJSON()))},V=K=>{i.value&&(dr.updateNode(i.value,K),f&&cr(pt.SCADA_EDITOR_DATA,f.toJSON()))},T=()=>{if(!i.value||!f)return;const K=i.value.id;dr.deleteNode(K),i.value=null,cr(pt.SCADA_EDITOR_DATA,f.toJSON())},C=K=>{l.value&&vr.updateEdge(l.value,K)},A=()=>{l.value&&(vr.deleteEdge(l.value.id),l.value=null)},I=K=>{var F,ae;if(!f)return;const D=w.value.targetCell;switch(K){case"delete":D&&(D.isNode()?(dr.deleteNode(D.id),((F=i.value)==null?void 0:F.id)===D.id&&(i.value=null)):D.isEdge()&&(vr.deleteEdge(D.id),((ae=l.value)==null?void 0:ae.id)===D.id&&(l.value=null)),At.saveToLocal());break;case"copy":if(D!=null&&D.isNode()){const ue=dr.cloneNode(D);ue&&f&&(f.cleanSelection(),f.select(ue),At.saveToLocal())}break;case"to-front":D&&(D.toFront(),At.saveToLocal());break;case"to-back":D&&(D.toBack(),At.saveToLocal());break;case"select-all":f.select(f.getNodes());break;case"clear-all":x();break}},$=(K,D)=>{vr.applyEdgeAnimation(K,D)},x=()=>{f&&confirm("确定要清空画布吗?")&&(Lt.clearAll(),f.clearCells(),i.value=null,At.clearCache(),Je("画布已清空","success"))},U=()=>ht.zoomIn(),Q=()=>ht.zoomOut(),W=()=>ht.alignLeft(),pe=()=>ht.alignCenter(),ne=()=>ht.alignRight(),re=()=>ht.alignTop(),de=()=>ht.alignMiddle(),Z=()=>ht.alignBottom(),se=()=>ht.distributeHorizontal(),R=()=>ht.distributeVertical(),ee=async()=>{if(!f){Je("画布未初始化","error");return}try{if(a.onSave){const D=a.onSave();D instanceof Promise&&await D;return}At.exportToFile(`scada-canvas-${new Date().getTime()}.json`)?Je("保存成功","success"):Je("保存失败","error")}catch(K){console.error("保存失败",K),Je("保存失败,请查看控制台","error")}},he=()=>{c.value&&c.value.click()},Y=K=>{var ue;const F=(ue=K.target.files)==null?void 0:ue[0];if(!F){Je("请选择文件","error");return}const ae=new FileReader;ae.onload=fe=>{var ge;try{const X=JSON.parse((ge=fe.target)==null?void 0:ge.result);At.importData(X,Ne=>{var Ve;const ce=Ne.getData();(Ve=ce==null?void 0:ce.animation)!=null&&Ve.enabled&&$(Ne,ce.animation)})&&(N.value=He.getAllDataSources()),c.value&&(c.value.value="")}catch(X){console.error("导入失败",X),Je("导入失败,JSON格式错误","error"),c.value&&(c.value.value="")}},ae.readAsText(F)},Se=()=>{if(!f){Je("画布未初始化","error");return}n("preview")},te=()=>{d.value=!0},q=()=>{h.value=!0,N.value=He.getAllDataSources();const K=setInterval(()=>{if(!h.value){clearInterval(K);return}N.value=He.getAllDataSources()},1e3)},le=()=>{try{const K=He.getAllDataSources().map(D=>({id:D.id,name:D.name,type:D.type,enabled:D.enabled,config:D.config}));localStorage.setItem("scada-data-sources",JSON.stringify(K))}catch(K){console.error("保存数据源失败:",K)}},J=K=>{const D={id:"ds_"+Date.now(),...K,devices:[],status:{connected:!1}};He.addDataSource(D),setTimeout(()=>{N.value=He.getAllDataSources(),le()},1e3),Je(`数据源 "${D.name}" 创建成功`,"success")},oe=K=>{He.updateDataSource(K.id,K),N.value=He.getAllDataSources(),le(),Je(`数据源 "${K.name}" 更新成功`,"success")},ie=K=>{const D=He.getDataSource(K);He.removeDataSource(K),N.value=He.getAllDataSources(),le(),Je(`数据源 "${D==null?void 0:D.name}" 已删除`,"success")},Ee=()=>{if(!f){Je("画布未初始化","error");return}try{const K=At.exportToFile("scada-export.json");K?Je(`已导出为 ${K}`,"success"):Je("导出失败","error")}catch(K){console.error("导出失败",K),Je("导出失败,请查看控制台","error")}};return t({save:ee,importFile:he,exportFile:Ee,preview:Se,workflow:te,zoomIn:U,zoomOut:Q,clearAll:x,alignLeft:W,alignCenter:pe,alignRight:ne,alignTop:re,alignMiddle:de,alignBottom:Z,distributeHorizontal:se,distributeVertical:R,addNode:v,updateNode:V,deleteNode:T,getSelectedNode:()=>i.value,selectNode:K=>{if(!f)return!1;const D=f.getCellById(K);return D?(f.select(D),!0):!1},clearSelection:()=>{f&&(f.unselect(f.getSelectedCells()),i.value=null)},getGraph:()=>f,getCanvasData:()=>f?{version:"1.0.0",timestamp:co(uo()),config:je.getConfig(),cells:f.toJSON().cells,nodes:f.getNodes().map(K=>({id:K.id,type:K.shape,position:K.getPosition(),size:K.getSize(),label:K.attr("label/text"),data:K.getData()})),edges:f.getEdges().map(K=>({id:K.id,source:K.getSourceCellId(),target:K.getTargetCellId()}))}:null,loadCanvasData:K=>{if(!f)return!1;try{return f.clearCells(),f.fromJSON({cells:K.cells}),K.config&&je.updateConfig(K.config),f.getEdges().forEach(D=>{var ae;const F=D.getData();(ae=F==null?void 0:F.animation)!=null&&ae.enabled&&$(D,F.animation)}),!0}catch(D){return console.error("加载画布数据失败:",D),!1}},getAllNodes:()=>f?f.getNodes().map(K=>({id:K.id,type:K.shape,position:K.getPosition(),size:K.getSize(),label:K.attr("label/text"),data:K.getData()})):[],getNodeById:K=>{if(!f)return null;const D=f.getCellById(K);if(!D||!D.isNode())return null;const F=D;return{id:F.id,type:F.shape,position:F.getPosition(),size:F.getSize(),label:F.attr("label/text"),data:F.getData()}},getConfigManager:()=>je,updateCanvasConfig:K=>{je.updateConfig(K)},setZoom:K=>{je.setZoom(K)},setCanvasSize:(K,D)=>{je.updateSize({width:K,height:D})},setBackgroundColor:K=>{je.updateBackground({color:K})},updateDeviceData:K=>{f&&(K!=null&&K.devices)&&K.devices.forEach(D=>{var F;(F=D.points)==null||F.forEach(ae=>{f&&f.getNodes().forEach(ue=>{const fe=ue.getData();fe!=null&&fe.bindings&&Object.entries(fe.bindings).forEach(([ge,X])=>{if(X.deviceId===D.id&&X.dataPoint===ae.id){const me=ae.value;if(ge==="attrs/text/text")ue.attr("text/text",me);else if(ge==="attrs/body/fill")ue.attr("body/fill",me);else{const Ne=ge.split(".");let ce=ue;for(let g=0;g<Ne.length-1;g++)ce=ce[Ne[g]];const Ve=Ne[Ne.length-1];ce&&Ve&&(ce[Ve]=me)}}})})})})},getAnimationEngine:()=>Lt}),(K,D)=>(e.openBlock(),e.createElementBlock("div",B_,[a.previewMode?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(yo,{key:0,"selected-nodes-count":s.value,onSave:ee,onImport:he,onWorkflow:te,onDataSource:q,onPreview:Se,onExport:Ee,onZoomIn:U,onZoomOut:Q,onClearAll:x,onAlignLeft:W,onAlignCenter:pe,onAlignRight:ne,onAlignTop:re,onAlignMiddle:de,onAlignBottom:Z,onDistributeHorizontal:se,onDistributeVertical:R},null,8,["selected-nodes-count"])),a.previewMode?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("input",{key:1,ref_key:"fileInputRef",ref:c,type:"file",accept:".json",style:{display:"none"},onChange:Y},null,544)),e.createElementVNode("div",D_,[a.previewMode?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(Eo,{key:0,"is-collapsed":m.value,"onUpdate:collapsed":D[0]||(D[0]=F=>m.value=F),onAddComponent:v},null,8,["is-collapsed"])),e.createVNode(Em,{ref_key:"canvasAreaRef",ref:o},null,512),a.previewMode?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(qi,{key:1,ref:"propertyPanelRef","selected-node":i.value,"selected-edge":l.value,"device-data":S.value,"is-collapsed":p.value,"onUpdate:collapsed":D[1]||(D[1]=F=>p.value=F),onUpdateNode:V,onDeleteNode:T,onUpdateEdge:C,onDeleteEdge:A},null,8,["selected-node","selected-edge","device-data","is-collapsed"]))]),e.createVNode(Fv,{"auth-code":u.authCode,"custom-footer":u.customFooter},null,8,["auth-code","custom-footer"]),a.previewMode?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(V2,{key:2,visible:d.value,"onUpdate:visible":D[2]||(D[2]=F=>d.value=F),"scada-graph":e.unref(f),onClose:D[3]||(D[3]=F=>d.value=!1)},null,8,["visible","scada-graph"])),h.value&&!a.previewMode?(e.openBlock(),e.createBlock(V_,{key:3,"data-sources":N.value,onClose:D[4]||(D[4]=F=>h.value=!1),onAdd:J,onSave:oe,onDelete:ie},null,8,["data-sources"])):e.createCommentVNode("",!0),a.previewMode?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock($_,{key:4,visible:w.value.visible,"onUpdate:visible":D[5]||(D[5]=F=>w.value.visible=F),position:w.value.position,"menu-items":w.value.items,onMenuClick:I},null,8,["visible","position","menu-items"]))]))}}),[["__scopeId","data-v-8b9db2e8"]]);var ac=(u=>(u.BOOLEAN="boolean",u.NUMBER="number",u.STRING="string",u))(ac||{}),sc=(u=>(u.READ="read",u.WRITE="write",u.READ_WRITE="readWrite",u))(sc||{}),lc=(u=>(u.ONLINE="online",u.OFFLINE="offline",u.ERROR="error",u.MAINTENANCE="maintenance",u))(lc||{}),cc=(u=>(u.PLC="plc",u.SENSOR="sensor",u.ACTUATOR="actuator",u.METER="meter",u.CAMERA="camera",u.OTHER="other",u))(cc||{});const P_={ScadaCanvas:ic,PropertyPanel:qi,Header:yo,ComponentLibrary:Eo,CanvasConfigPanel:vo,BindingCard:Mi,EventCard:Oi,BasicPropertiesTab:ko,AttributeConfigDialog:Ri,CustomCodeDialog:ji},dc=u=>{Object.entries(P_).forEach(([t,r])=>{u.component(t,r)})},O_={install:dc,version:"1.0.0"};Ae.AttributeConfigDialog=Ri,Ae.BasicComponents=td,Ae.BasicPropertiesTab=ko,Ae.BindingCard=Mi,Ae.CanvasConfigPanel=vo,Ae.ComponentLibrary=Eo,Ae.CustomCodeDialog=ji,Ae.DeviceStatus=lc,Ae.DeviceType=cc,Ae.EventCard=Oi,Ae.Header=yo,Ae.IoTComponents=om,Ae.PointAccessMode=sc,Ae.PointDataType=ac,Ae.PropertyPanel=qi,Ae.STORAGE_KEYS=pt,Ae.ScadaCanvas=ic,Ae.animationEngine=Lt,Ae.canvasConfigItems=im,Ae.canvasConfigManager=je,Ae.componentRegistry=$t,Ae.default=O_,Ae.defaultCanvasConfig=wo,Ae.exportToJSON=QE,Ae.formatTimestamp=co,Ae.generateEventId=Xl,Ae.generateNodeId=JE,Ae.generateUniqueId=zi,Ae.getCurrentTimestamp=uo,Ae.install=dc,Ae.loadFromLocal=Fi,Ae.randomPosition=Zl,Ae.registerNodeEvents=YE,Ae.removeFromLocal=lo,Ae.saveToLocal=cr,Ae.showMessage=Je,Ae.sizePresetMap=ur,Object.defineProperties(Ae,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});